KDE Anwendungs Tutorials: Der KDE Anwendungs-Tutorial Leitfaden für die Integrierte Entwicklungsumgebung KDevelop | ||
---|---|---|
Zurück | Kapitel 12. Verwendung von KImageIO mit KScribble | Vor |
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).