X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=src%2Fui%2Fdialog%2Fdialog-manager.cpp;h=e5d326efe9a87e1c051bbc5beb0ab056138ad1d0;hb=e7333a0a54c8d33b7397406dd76938aa430836d5;hp=80fae2c9219d48cd934ff7c055ffd356eb13e313;hpb=6b15695578f07a3f72c4c9475c1a261a3021472a;p=inkscape.git diff --git a/src/ui/dialog/dialog-manager.cpp b/src/ui/dialog/dialog-manager.cpp index 80fae2c92..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. */ @@ -23,26 +24,26 @@ #include "ui/dialog/export.h" #include "ui/dialog/extension-editor.h" #include "ui/dialog/fill-and-stroke.h" +#include "ui/dialog/filter-effects-dialog.h" #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" #include "ui/dialog/text-properties.h" #include "ui/dialog/tracedialog.h" #include "ui/dialog/transformation.h" - -#ifdef WITH_INKBOARD -#include "ui/dialog/whiteboard-sharewithchat.h" -#include "ui/dialog/whiteboard-sharewithuser.h" -#include "ui/dialog/whiteboard-connect.h" -#include "ui/dialog/session-player.h" -#endif - +#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 { @@ -50,8 +51,8 @@ namespace Dialog { namespace { -template -Dialog *create() { return T::create(); } +template +inline Dialog *create() { return T::create(&B::create); } } @@ -76,29 +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("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); -#ifdef WITH_INKBOARD - registerFactory("SessionPlayer", &create); - registerFactory("WhiteboardConnect", &create); - registerFactory("WhiteboardShareWithUser", &create); - registerFactory("WhiteboardShareWithChat", &create); -#endif - 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() { @@ -171,7 +206,6 @@ void DialogManager::showDialog(GQuark name) { Dialog *dialog=getDialog(name); if (dialog) { dialog->present(); - dialog->read_geometry(); } }