X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=src%2Fui%2Fdialog%2Fdialog-manager.cpp;h=e5d326efe9a87e1c051bbc5beb0ab056138ad1d0;hb=e7333a0a54c8d33b7397406dd76938aa430836d5;hp=6b02776102238e9d2c25c2a2bdfc03b26c11df4d;hpb=6e369d7e74c36e07f5fb1e27d37923fbed7dd89c;p=inkscape.git diff --git a/src/ui/dialog/dialog-manager.cpp b/src/ui/dialog/dialog-manager.cpp index 6b0277610..e5d326efe 100644 --- a/src/ui/dialog/dialog-manager.cpp +++ b/src/ui/dialog/dialog-manager.cpp @@ -2,11 +2,12 @@ * \brief Object for managing a set of dialogs, including their signals and * construction/caching/destruction of them. * - * Author: + * Authors: * Bryce W. Harrington * Jon Phillips + * Gustav Broberg * - * Copyright (C) 2004, 2005 Authors + * Copyright (C) 2004--2007 Authors * * Released under GNU GPL. Read the file 'COPYING' for more information. */ @@ -27,6 +28,7 @@ #include "ui/dialog/find.h" #include "ui/dialog/inkscape-preferences.h" #include "ui/dialog/layer-editor.h" +#include "ui/dialog/livepatheffect-editor.h" #include "ui/dialog/memory.h" #include "ui/dialog/messages.h" #include "ui/dialog/scriptdialog.h" @@ -36,7 +38,12 @@ #include "ui/dialog/undo-history.h" #include "ui/dialog/xml-editor.h" +#include "dialogs/layers-panel.h" #include "dialogs/tiledialog.h" +#include "dialogs/iconpreview.h" + +#include "ui/dialog/floating-behavior.h" +#include "ui/dialog/dock-behavior.h" namespace Inkscape { namespace UI { @@ -44,8 +51,8 @@ namespace Dialog { namespace { -template -Dialog *create() { return T::create(); } +template +inline Dialog *create() { return T::create(&B::create); } } @@ -70,25 +77,63 @@ Dialog *create() { return T::create(); } * */ DialogManager::DialogManager() { - registerFactory("AlignAndDistribute", &create); - registerFactory("DocumentMetadata", &create); - registerFactory("DocumentProperties", &create); - registerFactory("Export", &create); - registerFactory("ExtensionEditor", &create); - registerFactory("FillAndStroke", &create); - registerFactory("FilterEffectsDialog", &create); - registerFactory("Find", &create); - registerFactory("InkscapePreferences", &create); - registerFactory("LayerEditor", &create); - registerFactory("Memory", &create); - registerFactory("Messages", &create); - registerFactory("Script", &create); - registerFactory("TextProperties", &create); - registerFactory("TileDialog", &create); - registerFactory("Trace", &create); - registerFactory("Transformation", &create); - registerFactory("UndoHistory", &create); - registerFactory("XmlEditor", &create); + + using namespace Behavior; + using namespace Inkscape::UI::Dialogs; // temporary + + int dialogs_type = prefs_get_int_attribute_limited ("options.dialogtype", "value", DOCK, 0, 1); + + if (dialogs_type == FLOATING) { + + registerFactory("AlignAndDistribute", &create); + registerFactory("DocumentMetadata", &create); + registerFactory("DocumentProperties", &create); + registerFactory("Export", &create); + registerFactory("ExtensionEditor", &create); + registerFactory("FillAndStroke", &create); + registerFactory("FilterEffectsDialog", &create); + registerFactory("Find", &create); + registerFactory("IconPreviewPanel", &create); + registerFactory("InkscapePreferences", &create); + registerFactory("LayerEditor", &create); + registerFactory("LayersPanel", &create); + registerFactory("LivePathEffect", &create); + registerFactory("Memory", &create); + registerFactory("Messages", &create); + registerFactory("Script", &create); + registerFactory("TextProperties", &create); + registerFactory("TileDialog", &create); + registerFactory("Trace", &create); + registerFactory("Transformation", &create); + registerFactory("UndoHistory", &create); + registerFactory("XmlEditor", &create); + + } else { + + registerFactory("AlignAndDistribute", &create); + registerFactory("DocumentMetadata", &create); + registerFactory("DocumentProperties", &create); + registerFactory("Export", &create); + registerFactory("ExtensionEditor", &create); + registerFactory("FillAndStroke", &create); + registerFactory("FilterEffectsDialog", &create); + registerFactory("Find", &create); + registerFactory("IconPreviewPanel", &create); + registerFactory("InkscapePreferences", &create); + registerFactory("LayerEditor", &create); + registerFactory("LayersPanel", &create); + registerFactory("LivePathEffect", &create); + registerFactory("Memory", &create); + registerFactory("Messages", &create); + registerFactory("Script", &create); + registerFactory("TextProperties", &create); + registerFactory("TileDialog", &create); + registerFactory("Trace", &create); + registerFactory("Transformation", &create); + registerFactory("UndoHistory", &create); + registerFactory("XmlEditor", &create); + + } } DialogManager::~DialogManager() { @@ -161,7 +206,6 @@ void DialogManager::showDialog(GQuark name) { Dialog *dialog=getDialog(name); if (dialog) { dialog->present(); - dialog->read_geometry(); } }