[PATCH] Implement proper Dialog factory instead of implicit link-time dependencies
Yuriy Skalko
yuriy.skalko at gmail.com
Sun Dec 6 18:32:40 UTC 2020
Here is an update for this refactoring.
Yuriy
-------------- next part --------------
From c36594e9ef489b5bb95a54b61576686bf92aaa1e Mon Sep 17 00:00:00 2001
From: Yuriy Skalko <yuriy.skalko at gmail.com>
Date: Sun, 6 Dec 2020 18:01:09 +0200
Subject: [PATCH] Move implementation details to constructors. Amend 78f457796c
---
src/frontends/qt/DialogFactory.cpp | 22 +++++-----------------
src/frontends/qt/FindAndReplace.cpp | 4 ++++
src/frontends/qt/GuiProgressView.h | 2 +-
src/frontends/qt/GuiSpellchecker.cpp | 4 ++++
4 files changed, 14 insertions(+), 18 deletions(-)
diff --git a/src/frontends/qt/DialogFactory.cpp b/src/frontends/qt/DialogFactory.cpp
index e3848417ac..62f6ab8b9d 100644
--- a/src/frontends/qt/DialogFactory.cpp
+++ b/src/frontends/qt/DialogFactory.cpp
@@ -156,14 +156,8 @@ Dialog * createDialog(GuiView & gv, string const & name)
return new GuiShowFile(gv);
if (name == "findreplace")
return new GuiSearch(gv);
- if (name == "findreplaceadv") {
- FindAndReplace * gui = new FindAndReplace(gv, Qt::RightDockWidgetArea);
-#ifdef Q_OS_MAC
- // On Mac show and floating
- gui->setFloating(true);
-#endif
- return gui;
- }
+ if (name == "findreplaceadv")
+ return new FindAndReplace(gv);
if (name == "graphics")
return new GuiGraphics(gv);
if (name == "include")
@@ -194,14 +188,8 @@ Dialog * createDialog(GuiView & gv, string const & name)
return new GuiRef(gv);
if (name == "sendto")
return new GuiSendTo(gv);
- if (name == "spellchecker") {
- GuiSpellchecker * gui = new GuiSpellchecker(gv, Qt::RightDockWidgetArea);
-#ifdef Q_OS_MAC
- // On Mac show and floating
- gui->setFloating(true);
-#endif
- return gui;
- }
+ if (name == "spellchecker")
+ return new GuiSpellchecker(gv);
if (name == "symbols")
return new GuiSymbols(gv);
if (name == "tabularcreate")
@@ -217,7 +205,7 @@ Dialog * createDialog(GuiView & gv, string const & name)
if (name == "wrap")
return new GuiWrap(gv);
if (name == "progress")
- return new GuiProgressView(gv, Qt::BottomDockWidgetArea);
+ return new GuiProgressView(gv);
return nullptr;
}
diff --git a/src/frontends/qt/FindAndReplace.cpp b/src/frontends/qt/FindAndReplace.cpp
index fcfa6bda59..b378f46c9b 100644
--- a/src/frontends/qt/FindAndReplace.cpp
+++ b/src/frontends/qt/FindAndReplace.cpp
@@ -588,6 +588,10 @@ FindAndReplace::FindAndReplace(GuiView & parent,
widget_ = new FindAndReplaceWidget(parent);
setWidget(widget_);
setFocusProxy(widget_);
+#ifdef Q_OS_MAC
+ // On Mac show and floating
+ setFloating(true);
+#endif
connect(this, SIGNAL(dockLocationChanged(Qt::DockWidgetArea)),
widget_, SLOT(dockLocationChanged(Qt::DockWidgetArea)));
diff --git a/src/frontends/qt/GuiProgressView.h b/src/frontends/qt/GuiProgressView.h
index 4ea4efc504..1a722b31b2 100644
--- a/src/frontends/qt/GuiProgressView.h
+++ b/src/frontends/qt/GuiProgressView.h
@@ -46,7 +46,7 @@ class GuiProgressView : public DockView
public:
GuiProgressView(
GuiView & parent, ///< the main window where to dock.
- Qt::DockWidgetArea area, ///< Position of the dock (and also drawer)
+ Qt::DockWidgetArea area = Qt::BottomDockWidgetArea, ///< Position of the dock (and also drawer)
Qt::WindowFlags flags = 0);
~GuiProgressView();
diff --git a/src/frontends/qt/GuiSpellchecker.cpp b/src/frontends/qt/GuiSpellchecker.cpp
index 7fc1155b1f..9fcf20cac2 100644
--- a/src/frontends/qt/GuiSpellchecker.cpp
+++ b/src/frontends/qt/GuiSpellchecker.cpp
@@ -598,6 +598,10 @@ GuiSpellchecker::GuiSpellchecker(GuiView & parent,
widget_ = new SpellcheckerWidget(&parent, this);
setWidget(widget_);
setFocusProxy(widget_);
+#ifdef Q_OS_MAC
+ // On Mac show and floating
+ setFloating(true);
+#endif
}
--
2.28.0.windows.1
More information about the lyx-devel
mailing list