diff options
| author | Joel Holdsworth <joel@airwebreathe.org.uk> | 2007-07-28 12:32:01 +0000 |
|---|---|---|
| committer | joelholdsworth <joelholdsworth@users.sourceforge.net> | 2007-07-28 12:32:01 +0000 |
| commit | 246fcd5198c0a53e27f309777a8ae23e98221753 (patch) | |
| tree | 22d7909d4ddc490f4cf408afa1a81e6bec601ee2 /src/ui | |
| parent | Filter effects dialog: (diff) | |
| download | inkscape-246fcd5198c0a53e27f309777a8ae23e98221753.tar.gz inkscape-246fcd5198c0a53e27f309777a8ae23e98221753.zip | |
Gtkmm-ified the desktop window object, and modified the file dialogs so that they are correctly parented
(bzr r3328)
Diffstat (limited to 'src/ui')
| -rw-r--r-- | src/ui/dialog/filedialog.cpp | 60 | ||||
| -rw-r--r-- | src/ui/dialog/filedialog.h | 9 | ||||
| -rw-r--r-- | src/ui/view/edit-widget-interface.h | 5 | ||||
| -rw-r--r-- | src/ui/view/edit-widget.cpp | 8 | ||||
| -rw-r--r-- | src/ui/view/edit-widget.h | 2 |
5 files changed, 49 insertions, 35 deletions
diff --git a/src/ui/dialog/filedialog.cpp b/src/ui/dialog/filedialog.cpp index 08c0d4116..4336b1f8b 100644 --- a/src/ui/dialog/filedialog.cpp +++ b/src/ui/dialog/filedialog.cpp @@ -715,8 +715,9 @@ public: /** * */ - FileDialogBase(const Glib::ustring &title, FileDialogType type, gchar const* preferenceBase) : - Gtk::FileChooserDialog(title), + FileDialogBase(Gtk::Window& parentWindow, const Glib::ustring &title, + FileDialogType type, gchar const* preferenceBase) : + Gtk::FileChooserDialog(parentWindow, title), preferenceBase(preferenceBase ? preferenceBase : "unknown"), dialogType(type) { @@ -726,9 +727,9 @@ public: /** * */ - FileDialogBase(const Glib::ustring &title, + FileDialogBase(Gtk::Window& parentWindow, const Glib::ustring &title, Gtk::FileChooserAction dialogType, FileDialogType type, gchar const* preferenceBase) : - Gtk::FileChooserDialog(title, dialogType), + Gtk::FileChooserDialog(parentWindow, title, dialogType), preferenceBase(preferenceBase ? preferenceBase : "unknown"), dialogType(type) { @@ -848,7 +849,8 @@ class FileOpenDialogImpl : public FileOpenDialog, public FileDialogBase { public: - FileOpenDialogImpl(const Glib::ustring &dir, + FileOpenDialogImpl(Gtk::Window& parentWindow, + const Glib::ustring &dir, FileDialogType fileTypes, const Glib::ustring &title); @@ -947,10 +949,11 @@ void FileOpenDialogImpl::createFilterMenu() /** * Constructor. Not called directly. Use the factory. */ -FileOpenDialogImpl::FileOpenDialogImpl(const Glib::ustring &dir, +FileOpenDialogImpl::FileOpenDialogImpl(Gtk::Window& parentWindow, + const Glib::ustring &dir, FileDialogType fileTypes, const Glib::ustring &title) : - FileDialogBase(title, fileTypes, "dialogs.open") + FileDialogBase(parentWindow, title, fileTypes, "dialogs.open") { @@ -1003,11 +1006,12 @@ FileOpenDialogImpl::FileOpenDialogImpl(const Glib::ustring &dir, /** * Public factory. Called by file.cpp, among others. */ -FileOpenDialog *FileOpenDialog::create(const Glib::ustring &path, +FileOpenDialog *FileOpenDialog::create(Gtk::Window &parentWindow, + const Glib::ustring &path, FileDialogType fileTypes, const Glib::ustring &title) { - FileOpenDialog *dialog = new FileOpenDialogImpl(path, fileTypes, title); + FileOpenDialog *dialog = new FileOpenDialogImpl(parentWindow, path, fileTypes, title); return dialog; } @@ -1128,7 +1132,8 @@ class FileSaveDialogImpl : public FileSaveDialog, public FileDialogBase { public: - FileSaveDialogImpl(const Glib::ustring &dir, + FileSaveDialogImpl(Gtk::Window &parentWindow, + const Glib::ustring &dir, FileDialogType fileTypes, const Glib::ustring &title, const Glib::ustring &default_key); @@ -1307,11 +1312,12 @@ void FileSaveDialogImpl::createFileTypeMenu() /** * Constructor */ -FileSaveDialogImpl::FileSaveDialogImpl(const Glib::ustring &dir, +FileSaveDialogImpl::FileSaveDialogImpl(Gtk::Window &parentWindow, + const Glib::ustring &dir, FileDialogType fileTypes, const Glib::ustring &title, const Glib::ustring &default_key) : - FileDialogBase(title, Gtk::FILE_CHOOSER_ACTION_SAVE, fileTypes, "dialogs.save_as") + FileDialogBase(parentWindow, title, Gtk::FILE_CHOOSER_ACTION_SAVE, fileTypes, "dialogs.save_as") { /* One file at a time */ set_select_multiple(false); @@ -1402,12 +1408,13 @@ FileSaveDialogImpl::FileSaveDialogImpl(const Glib::ustring &dir, /** * Public factory method. Used in file.cpp */ -FileSaveDialog *FileSaveDialog::create(const Glib::ustring &path, +FileSaveDialog *FileSaveDialog::create(Gtk::Window& parentWindow, + const Glib::ustring &path, FileDialogType fileTypes, const Glib::ustring &title, const Glib::ustring &default_key) { - FileSaveDialog *dialog = new FileSaveDialogImpl(path, fileTypes, title, default_key); + FileSaveDialog *dialog = new FileSaveDialogImpl(parentWindow, path, fileTypes, title, default_key); return dialog; } @@ -1616,10 +1623,11 @@ class FileExportDialogImpl : public FileExportDialog, public FileDialogBase { public: - FileExportDialogImpl(const Glib::ustring &dir, - FileDialogType fileTypes, - const Glib::ustring &title, - const Glib::ustring &default_key); + FileExportDialogImpl(Gtk::Window& parentWindow, + const Glib::ustring &dir, + FileDialogType fileTypes, + const Glib::ustring &title, + const Glib::ustring &default_key); virtual ~FileExportDialogImpl(); @@ -1919,11 +1927,12 @@ void FileExportDialogImpl::createFileTypeMenu() /** * Constructor */ -FileExportDialogImpl::FileExportDialogImpl(const Glib::ustring &dir, +FileExportDialogImpl::FileExportDialogImpl(Gtk::Window& parentWindow, + const Glib::ustring &dir, FileDialogType fileTypes, const Glib::ustring &title, const Glib::ustring &default_key) : - FileDialogBase(title, Gtk::FILE_CHOOSER_ACTION_SAVE, fileTypes, "dialogs.export"), + FileDialogBase(parentWindow, title, Gtk::FILE_CHOOSER_ACTION_SAVE, fileTypes, "dialogs.export"), sourceX0Spinner("X0", _("Left edge of source")), sourceY0Spinner("Y0", _("Top edge of source")), sourceX1Spinner("X1", _("Right edge of source")), @@ -2103,12 +2112,13 @@ FileExportDialogImpl::FileExportDialogImpl(const Glib::ustring &dir, /** * Public factory method. Used in file.cpp */ -FileExportDialog *FileExportDialog::create(const Glib::ustring &path, - FileDialogType fileTypes, - const Glib::ustring &title, - const Glib::ustring &default_key) +FileExportDialog *FileExportDialog::create(Gtk::Window& parentWindow, + const Glib::ustring &path, + FileDialogType fileTypes, + const Glib::ustring &title, + const Glib::ustring &default_key) { - FileExportDialog *dialog = new FileExportDialogImpl(path, fileTypes, title, default_key); + FileExportDialog *dialog = new FileExportDialogImpl(parentWindow, path, fileTypes, title, default_key); return dialog; } diff --git a/src/ui/dialog/filedialog.h b/src/ui/dialog/filedialog.h index c573dbe5d..5499603d3 100644 --- a/src/ui/dialog/filedialog.h +++ b/src/ui/dialog/filedialog.h @@ -79,7 +79,8 @@ public: * @param fileTypes one of FileDialogTypes * @param title the title of the dialog */ - static FileOpenDialog *create(const Glib::ustring &path, + static FileOpenDialog *create(Gtk::Window& parentWindow, + const Glib::ustring &path, FileDialogType fileTypes, const Glib::ustring &title); @@ -139,7 +140,8 @@ public: * @param title the title of the dialog * @param key a list of file types from which the user can select */ - static FileSaveDialog *create(const Glib::ustring &path, + static FileSaveDialog *create(Gtk::Window& parentWindow, + const Glib::ustring &path, FileDialogType fileTypes, const Glib::ustring &title, const Glib::ustring &default_key); @@ -218,7 +220,8 @@ public: * @param title the title of the dialog * @param key a list of file types from which the user can select */ - static FileExportDialog *create(const Glib::ustring &path, + static FileExportDialog *create(Gtk::Window& parentWindow, + const Glib::ustring &path, FileDialogType fileTypes, const Glib::ustring &title, const Glib::ustring &default_key); diff --git a/src/ui/view/edit-widget-interface.h b/src/ui/view/edit-widget-interface.h index 1df0bff45..4c9ad8b02 100644 --- a/src/ui/view/edit-widget-interface.h +++ b/src/ui/view/edit-widget-interface.h @@ -16,10 +16,11 @@ #ifndef INKSCAPE_UI_VIEW_EDIT_WIDGET_IFACE_H #define INKSCAPE_UI_VIEW_EDIT_WIDGET_IFACE_H -#include "gdk/gdktypes.h" #include "libnr/nr-point.h" #include "message.h" +#include <gtkmm/window.h> + namespace Inkscape { namespace UI { namespace View { @@ -30,7 +31,7 @@ struct EditWidgetInterface virtual ~EditWidgetInterface() {} /// Returns pointer to window UI object as void* - virtual void *getWindow() = 0; + virtual Gtk::Window *getWindow() = 0; /// Set the widget's title virtual void setTitle (gchar const*) = 0; diff --git a/src/ui/view/edit-widget.cpp b/src/ui/view/edit-widget.cpp index 8e423c8fb..d5b782865 100644 --- a/src/ui/view/edit-widget.cpp +++ b/src/ui/view/edit-widget.cpp @@ -178,7 +178,7 @@ void EditWidget::onActionFileOpen() { // g_warning("onActionFileOpen called"); - sp_file_open_dialog (NULL, NULL); + sp_file_open_dialog (*this, NULL, NULL); } void @@ -1110,7 +1110,7 @@ EditWidget::initStatusbar() //======================================== //----------implements EditWidgetInterface -void * +Gtk::Window * EditWidget::getWindow() { return this; @@ -1231,7 +1231,7 @@ EditWidget::shutdown() { case Gtk::RESPONSE_YES: sp_document_ref(doc); - if (sp_file_save_document(doc)) { + if (sp_file_save_document(*this, doc)) { sp_document_unref(doc); } else { // save dialog cancelled or save failed sp_document_unref(doc); @@ -1279,7 +1279,7 @@ EditWidget::shutdown() { case Gtk::RESPONSE_YES: sp_document_ref(doc); - if (sp_file_save_document(doc)) { + if (sp_file_save_document(*this, doc)) { sp_document_unref(doc); } else { // save dialog cancelled or save failed sp_document_unref(doc); diff --git a/src/ui/view/edit-widget.h b/src/ui/view/edit-widget.h index bedb94f98..7f68abcf5 100644 --- a/src/ui/view/edit-widget.h +++ b/src/ui/view/edit-widget.h @@ -97,7 +97,7 @@ public: void onUriChanged(); // from EditWidgetInterface - virtual void *getWindow(); + virtual Gtk::Window* getWindow(); virtual void setTitle (gchar const*); virtual void layout(); virtual void present(); |
