[Uml-devel] branches/work/soc-umbrello/umbrello
Andi Fischer
andi.fischer at hispeed.ch
Sun Aug 16 14:08:00 UTC 2009
SVN commit 1011973 by fischer:
Select directory not a file in exportallviewsdialog, fixing crash in umlviewimageexporter.
M +2 -0 dialogs/exportallviewsdialog.cpp
M +1 -2 umlscene.cpp
M +13 -9 umlviewimageexporter.cpp
M +3 -6 umlviewimageexporter.h
--- branches/work/soc-umbrello/umbrello/dialogs/exportallviewsdialog.cpp #1011972:1011973
@@ -65,6 +65,8 @@
// reload the strings so the m_imageType tooltip is added
languageChange();
+
+ m_kURL->setMode(KFile::Directory | KFile::ExistingOnly);
}
/**
--- branches/work/soc-umbrello/umbrello/umlscene.cpp #1011972:1011973
@@ -132,8 +132,7 @@
m_pIDChangesLog = 0;
m_pMenu = 0;
- // [PORT] Port ImageExporter properly
- m_pImageExporter = new UMLViewImageExporter(this->activeView());
+ m_pImageExporter = new UMLViewImageExporter();
//setup signals
connect(this, SIGNAL(sigRemovePopupMenu()), this, SLOT(slotRemovePopupMenu()));
--- branches/work/soc-umbrello/umbrello/umlviewimageexporter.cpp #1011972:1011973
@@ -33,9 +33,8 @@
/**
* Constructor for UMLViewImageExporter.
*/
-UMLViewImageExporter::UMLViewImageExporter(UMLView* view)
+UMLViewImageExporter::UMLViewImageExporter()
{
- m_view = view;
m_imageMimeType = UMLApp::app()->getImageMimeType();
}
@@ -66,11 +65,11 @@
return;
}
- UMLApp *app = UMLApp::app();
+ UMLApp* app = UMLApp::app();
// export the view
app->getDocument()->writeToStatusBar(i18n("Exporting view..."));
- QString error = UMLViewImageExporterModel().exportView(m_view,
+ QString error = UMLViewImageExporterModel().exportView(app->getCurrentView(),
UMLViewImageExporterModel::mimeTypeToImageType(m_imageMimeType), m_imageURL);
if (!error.isNull()) {
KMessageBox::error(app, i18n("An error happened when exporting the image:\n") + error);
@@ -124,9 +123,11 @@
{
bool success = true;
+ UMLApp *app = UMLApp::app();
+
// configure & show the file dialog
KUrl url;
- QPointer<KFileDialog> dialog = new KFileDialog(url, QString(), m_view);
+ QPointer<KFileDialog> dialog = new KFileDialog(url, QString(), app->getCurrentView());
prepareFileDialog(dialog);
dialog->exec();
@@ -134,11 +135,12 @@
success = false;
}
else {
- m_view->umlScene()->clearSelected(); // Thanks to Peter Soetens for the idea
+ UMLScene* scene = app->getCurrentView()->umlScene();
+ scene->clearSelected(); // Thanks to Peter Soetens for the idea
// update image url and mime type
m_imageMimeType = dialog->currentMimeFilter();
- UMLApp::app()->setImageMimeType(m_imageMimeType);
+ app->setImageMimeType(m_imageMimeType);
m_imageURL = dialog->selectedUrl();
// check if the extension is the extension of the mime type
@@ -173,9 +175,11 @@
KUrl docURL = UMLApp::app()->getDocument()->url();
KUrl directory = docURL;
directory.setPath(docURL.directory());
+ fileDialog->setUrl(directory);
- fileDialog->setUrl(directory);
- fileDialog->setSelection(m_view->umlScene()->getName() + '.' + UMLViewImageExporterModel::mimeTypeToImageType(m_imageMimeType));
+ UMLApp *app = UMLApp::app();
+ QString sceneName = app->getCurrentView()->umlScene()->getName();
+ fileDialog->setSelection(sceneName + '.' + UMLViewImageExporterModel::mimeTypeToImageType(m_imageMimeType));
} else {
fileDialog->setUrl(m_imageURL);
fileDialog->setSelection(m_imageURL.fileName());
--- branches/work/soc-umbrello/umbrello/umlviewimageexporter.h #1011972:1011973
@@ -26,25 +26,22 @@
{
public:
- UMLViewImageExporter(UMLView* view);
+ UMLViewImageExporter();
virtual ~UMLViewImageExporter();
void exportView();
- KUrl getImageURL() const { return m_imageURL; }
-
+ KUrl getImageURL() const { return m_imageURL; }
QString getImageMimeType() const { return m_imageMimeType; }
private:
- UMLView* m_view; ///< The view to export.
KUrl m_imageURL; ///< The URL used to save the image.
QString m_imageMimeType; ///< The mime type used to save the image.
- bool prepareExportView();
-
bool getParametersFromUser();
+ bool prepareExportView();
void prepareFileDialog(KFileDialog *fileDialog);
};
More information about the umbrello-devel
mailing list