summaryrefslogtreecommitdiffstats
path: root/src/ui
diff options
context:
space:
mode:
authorJoel Holdsworth <joel@airwebreathe.org.uk>2007-07-28 12:32:01 +0000
committerjoelholdsworth <joelholdsworth@users.sourceforge.net>2007-07-28 12:32:01 +0000
commit246fcd5198c0a53e27f309777a8ae23e98221753 (patch)
tree22d7909d4ddc490f4cf408afa1a81e6bec601ee2 /src/ui
parentFilter effects dialog: (diff)
downloadinkscape-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.cpp60
-rw-r--r--src/ui/dialog/filedialog.h9
-rw-r--r--src/ui/view/edit-widget-interface.h5
-rw-r--r--src/ui/view/edit-widget.cpp8
-rw-r--r--src/ui/view/edit-widget.h2
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();