Code

Merge from trunk
[inkscape.git] / src / ui / uxmanager.cpp
index d5fa90406fbb437c3cf9083e2a4ee9a1907be7b6..3c6f85b915ad9b30ef142626768108159fb1740f 100644 (file)
@@ -19,6 +19,7 @@
 #include "util/ege-tags.h"
 #include "widgets/toolbox.h"
 #include "widgets/desktop-widget.h"
+#include "preferences.h"
 
 #ifdef GDK_WINDOWING_X11
 #include <gdk/gdkx.h>
@@ -61,7 +62,7 @@ UXManager::UXManager() :
     tags.addTag(ege::Tag("General"));
     tags.addTag(ege::Tag("Icons"));
 
-#ifdef GDK_WINDOWING_X11
+#if defined(GDK_WINDOWING_X11)
     char const* wmName = gdk_x11_screen_get_window_manager_name( gdk_screen_get_default() );
     //g_message("Window manager is [%s]", wmName);
 
@@ -69,7 +70,7 @@ UXManager::UXManager() :
     if (g_ascii_strcasecmp( wmName, KDE_WINDOW_MANAGER_NAME ) == 0) {
         floatwindowIssues = true;
     }
-#elif GDK_WINDOWING_WIN32
+#elif defined(GDK_WINDOWING_WIN32)
     floatwindowIssues = true;
 #endif // GDK_WINDOWING_WIN32
 }
@@ -88,26 +89,35 @@ void UXManager::setTask(SPDesktop* dt, gint val)
 {
     for (vector<SPDesktopWidget*>::iterator it = dtws.begin(); it != dtws.end(); ++it) {
         SPDesktopWidget* dtw = *it;
+
+        gboolean notDone = Inkscape::Preferences::get()->getBool("/options/workarounds/dynamicnotdone", false);
+
         if (dtw->desktop == dt) {
             switch (val) {
                 default:
                 case 0:
                     dtw->setToolboxPosition("ToolToolbar", GTK_POS_LEFT);
                     dtw->setToolboxPosition("CommandsToolbar", GTK_POS_TOP);
-                    //dtw->setToolboxPosition("AuxToolbar", GTK_POS_TOP);
+                    if (notDone) {
+                        dtw->setToolboxPosition("AuxToolbar", GTK_POS_TOP);
+                    }
                     dtw->setToolboxPosition("SnapToolbar", GTK_POS_TOP);
                     break;
                 case 1:
                     dtw->setToolboxPosition("ToolToolbar", GTK_POS_TOP);
                     dtw->setToolboxPosition("CommandsToolbar", GTK_POS_LEFT);
-                    //dtw->setToolboxPosition("AuxToolbar", GTK_POS_TOP);
+                    if (notDone) {
+                        dtw->setToolboxPosition("AuxToolbar", GTK_POS_TOP);
+                    }
                     dtw->setToolboxPosition("SnapToolbar", GTK_POS_RIGHT);
                     break;
                 case 2:
                     dtw->setToolboxPosition("ToolToolbar", GTK_POS_LEFT);
                     dtw->setToolboxPosition("CommandsToolbar", GTK_POS_RIGHT);
                     dtw->setToolboxPosition("SnapToolbar", GTK_POS_RIGHT);
-                    //dtw->setToolboxPosition("AuxToolbar", GTK_POS_RIGHT);
+                    if (notDone) {
+                        dtw->setToolboxPosition("AuxToolbar", GTK_POS_RIGHT);
+                    }
             }
         }
     }