Code

Move files from the src/dialogs/ directory to the places where they
[inkscape.git] / src / widgets / desktop-widget.cpp
index a64d53bb61e7c21719f0adb44793efec267d5a2e..356a09418de9439c8661762afcec391cfb44d1d4 100644 (file)
 #include <gtkmm/paned.h>
 #include <gtk/gtk.h>
 
-#include "macros.h"
-#include "inkscape-private.h"
-#include "desktop-handles.h"
+#include "box3d-context.h"
+#include "color-profile-fns.h"
+#include "conn-avoid-ref.h"
 #include "desktop-events.h"
-#include "document.h"
+#include "desktop-handles.h"
 #include "desktop-widget.h"
-#include "sp-namedview.h"
-#include "interface.h"
-#include "toolbox.h"
-#include "preferences.h"
-#include "file.h"
 #include "display/canvas-arena.h"
 #include "display/nr-arena.h"
+#include "document.h"
+#include "ege-color-prof-tracker.h"
+#include "ege-select-one-action.h"
 #include <extension/db.h>
+#include "file.h"
 #include "helper/units.h"
+#include "inkscape-private.h"
+#include "interface.h"
+#include "macros.h"
+#include "preferences.h"
+#include "sp-image.h"
+#include "sp-item.h"
+#include "sp-namedview.h"
+#include "toolbox.h"
+#include "ui/dialog/dialog-manager.h"
+#include "ui/dialog/swatches.h"
+#include "ui/widget/dock.h"
+#include "ui/widget/layer-selector.h"
+#include "ui/widget/selected-style.h"
 #include "widgets/button.h"
 #include "widgets/ruler.h"
-#include "widgets/widget-sizes.h"
-#include "widgets/spw-utilities.h"
 #include "widgets/spinbutton-events.h"
-#include "widgets/layer-selector.h"
+#include "widgets/spw-utilities.h"
 #include "widgets/toolbox.h"
-#include "ui/dialog/dialog-manager.h"
-#include "ui/widget/dock.h"
-#include "ui/widget/selected-style.h"
-#include "sp-item.h"
-#include "dialogs/swatches.h"
-#include "conn-avoid-ref.h"
-#include "ege-select-one-action.h"
-#include "ege-color-prof-tracker.h"
-#include "color-profile-fns.h"
-#include "box3d-context.h"
-#include "sp-image.h"
+#include "widgets/widget-sizes.h"
 
 #if defined (SOLARIS) && (SOLARIS == 8)
 #include "round.h"
@@ -1069,9 +1069,10 @@ SPDesktopWidget::setWindowSize (gint w, gint h)
 void
 SPDesktopWidget::setWindowTransient (void *p, int transient_policy)
 {
-    GtkWindow *w =GTK_WINDOW(gtk_widget_get_toplevel(GTK_WIDGET(this)));
-    if (w)
+    Gtk::Window *window = (Gtk::Window*)gtk_object_get_data (GTK_OBJECT(this), "window");
+    if (window)
     {
+        GtkWindow *w = (GtkWindow *) window->gobj();
         gtk_window_set_transient_for (GTK_WINDOW(p), w);
 
         /*
@@ -1082,7 +1083,6 @@ SPDesktopWidget::setWindowTransient (void *p, int transient_policy)
          * (so that its transients also could raise)
          */
         if (transient_policy == 2)
-
             // without this, a transient window not always emerges on top
             gtk_window_present (w);
     }
@@ -1202,11 +1202,13 @@ sp_desktop_widget_layout (SPDesktopWidget *dtw)
            pref_root = "/window/";
     }
 
+#ifndef GDK_WINDOWING_QUARTZ
     if (!prefs->getBool(pref_root + "menu/state", true)) {
         gtk_widget_hide_all (dtw->menubar);
     } else {
         gtk_widget_show_all (dtw->menubar);
     }
+#endif
 
     if (!prefs->getBool(pref_root + "commands/state", true)) {
         gtk_widget_hide_all (dtw->commands_toolbox);
@@ -1318,7 +1320,7 @@ SPDesktopWidget::isToolboxButtonActive (const gchar* id)
 SPViewWidget *
 sp_desktop_widget_new (SPNamedView *namedview)
 {
-    SPDesktopWidget *dtw = (SPDesktopWidget*)gtk_type_new (SP_TYPE_DESKTOP_WIDGET);
+    SPDesktopWidget *dtw = (SPDesktopWidget*)g_object_new(SP_TYPE_DESKTOP_WIDGET, NULL);
 
     dtw->dt2r = 1.0 / namedview->doc_units->unittobase;
 
@@ -1347,8 +1349,10 @@ sp_desktop_widget_new (SPNamedView *namedview)
     dtw->layer_selector->setDesktop(dtw->desktop);
 
     dtw->menubar = sp_ui_main_menubar (dtw->desktop);
+#ifndef GDK_WINDOWING_QUARTZ
     gtk_widget_show_all (dtw->menubar);
     gtk_box_pack_start (GTK_BOX (dtw->vbox), dtw->menubar, FALSE, FALSE, 0);
+#endif
 
     sp_desktop_widget_layout (dtw);