KDE Anwendungs Tutorials: Der KDE Anwendungs-Tutorial Leitfaden für die Integrierte Entwicklungsumgebung KDevelop
Zurück | Kapitel 12. Verwendung von KImageIO mit KScribble | Vor

# 12.3. Bilddateien öffnen

Jetzt, da wir `KImageIO` verwenden können, werden wir die erste Änderung in der wichtigsten Methode von `KScribbleApp` vornehmen: `openDocumentFile()`. Diese Methode öffnet uns bis jetzt jedes Dokument nur Anhand des Dateinamens. Sie läßt einfach die Erweiterung weg, da das Format normalerweise nicht von der Dokumentklasse benötigt wird. Aber da wir dies geändert haben, brauchen wir jetzt das Format und müssen den Aufruf für `KScribbleDoc::openDocument()` in der Methode `openDocumentFile()` adaptieren:

       1 kscribble.cpp:
       2
       3   void KScribbleApp::openDocumentFile(const char* file)
       4   {
       5   	...........
       6
       7   	else
       8     {
       9 ->    QString format=KImageIO::type(file);
      10 ->	  if(!doc->openDocument(file,format))
      11     		KMessageBox::error (this,i18n("Could not open document !"), i18n("Error !"));
      12   		addRecentFile(file);
      13   	}
      14     ............
      15   }

Es funktioniert natürlich genauso wie die Verwendung von `QString format=QImageIO::imageFormat(file);`. Hier liefert uns `KImageIO` das Format des Bildes und wir können dem Dokument mitteilen, die Datei mit dem Dateinamen und dem Format zu öffnen ( eine weitere Möglichkeit wäre, das Format in der Dokumentklasse zu ermitteln).

Zurück | Anfang | Vor
Registrierung von Dateiformaten | Hoch | Setzen von Dateifiltern mit KImageIO