[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: [krita] libs: Directly connect toolmanager to mainwindow for the tool options widgets
From: Sven Langkamp <sven.langkamp () gmail ! com>
Date: 2016-06-21 19:18:43
Message-ID: E1bFRC7-0005uu-O5 () code ! kde ! org
[Download RAW message or body]
Git commit 9318485a49543d06835d914b244e8a6983d52052 by Sven Langkamp.
Committed on 21/06/2016 at 19:18.
Pushed by langkamp into branch 'master'.
Directly connect toolmanager to mainwindow for the tool options widgets
Fixes the initialisation of the option widget docker/popup
BUG:364022
M +0 -5 libs/flake/KoCanvasControllerWidget.cpp
M +0 -7 libs/flake/KoCanvasControllerWidget.h
M +2 -8 libs/flake/KoToolManager.cpp
M +4 -0 libs/flake/KoToolManager.h
M +1 -0 libs/ui/KisMainWindow.cpp
M +0 -1 libs/ui/KisViewManager.cpp
http://commits.kde.org/krita/9318485a49543d06835d914b244e8a6983d52052
diff --git a/libs/flake/KoCanvasControllerWidget.cpp \
b/libs/flake/KoCanvasControllerWidget.cpp index 14bc141..b94cd53 100644
--- a/libs/flake/KoCanvasControllerWidget.cpp
+++ b/libs/flake/KoCanvasControllerWidget.cpp
@@ -445,11 +445,6 @@ void KoCanvasControllerWidget::zoomTo(const QRect &viewRect)
zoomBy(viewRect.center(), scale);
}
-void KoCanvasControllerWidget::setToolOptionWidgets(const QList<QPointer<QWidget> \
>&widgetMap)
-{
- emit toolOptionWidgetsChanged(widgetMap);
-}
-
void KoCanvasControllerWidget::updateDocumentSize(const QSize &sz, bool \
recalculateCenter) {
// Don't update if the document-size didn't changed to prevent infinite loops \
and unneeded updates.
diff --git a/libs/flake/KoCanvasControllerWidget.h \
b/libs/flake/KoCanvasControllerWidget.h index b503421..ac716a3 100644
--- a/libs/flake/KoCanvasControllerWidget.h
+++ b/libs/flake/KoCanvasControllerWidget.h
@@ -145,13 +145,6 @@ public:
class Private;
KoCanvasControllerWidget::Private *priv();
-Q_SIGNALS:
-
- /**
- * Emit the new tool option widgets to be used with this canvas.
- */
- void toolOptionWidgetsChanged(const QList<QPointer<QWidget> > &widgets);
-
private Q_SLOTS:
/// Called by the horizontal scrollbar when its value changes
diff --git a/libs/flake/KoToolManager.cpp b/libs/flake/KoToolManager.cpp
index c52d84a..4094941 100644
--- a/libs/flake/KoToolManager.cpp
+++ b/libs/flake/KoToolManager.cpp
@@ -744,10 +744,7 @@ void KoToolManager::Private::postSwitchTool(bool temporary)
emit q->changedTool(canvasData->canvas, \
uniqueToolIds.value(canvasData->activeTool));
- KoCanvasControllerWidget *canvasControllerWidget = \
dynamic_cast<KoCanvasControllerWidget*>(canvasData->canvas);
- if (canvasControllerWidget) {
- canvasControllerWidget->setToolOptionWidgets(optionWidgetList);
- }
+ emit q->toolOptionWidgetsChanged(optionWidgetList);
}
@@ -821,10 +818,7 @@ void KoToolManager::Private::detachCanvas(KoCanvasController \
*controller) if (newCanvas) {
switchCanvasData(canvasses.value(newCanvas).first());
} else {
- KoCanvasControllerWidget *canvasControllerWidget = \
dynamic_cast<KoCanvasControllerWidget*>(canvasData->canvas);
- if (canvasControllerWidget) {
- canvasControllerWidget->setToolOptionWidgets(QList<QPointer<QWidget> \
>());
- }
+ emit q->toolOptionWidgetsChanged(QList<QPointer<QWidget> >());
// as a last resort just set a blank one
canvasData = 0;
}
diff --git a/libs/flake/KoToolManager.h b/libs/flake/KoToolManager.h
index d1fe74d..24b8e0c 100644
--- a/libs/flake/KoToolManager.h
+++ b/libs/flake/KoToolManager.h
@@ -324,6 +324,10 @@ Q_SIGNALS:
*/
void addedTool(KoToolAction *toolAction, KoCanvasController *canvas);
+ /**
+ * Emit the new tool option widgets to be used with this canvas.
+ */
+ void toolOptionWidgetsChanged(const QList<QPointer<QWidget> > &widgets);
private:
KoToolManager(const KoToolManager&);
KoToolManager operator=(const KoToolManager&);
diff --git a/libs/ui/KisMainWindow.cpp b/libs/ui/KisMainWindow.cpp
index 6281c17..f196cbb 100644
--- a/libs/ui/KisMainWindow.cpp
+++ b/libs/ui/KisMainWindow.cpp
@@ -351,6 +351,7 @@ KisMainWindow::KisMainWindow()
if (d->toolOptionsDocker) {
dockwidgetActions[d->toolOptionsDocker->toggleViewAction()->text()] = \
d->toolOptionsDocker->toggleViewAction(); }
+ connect(KoToolManager::instance(), \
SIGNAL(toolOptionWidgetsChanged(QList<QPointer<QWidget> >)), this, \
SLOT(newOptionWidgets(QList<QPointer<QWidget> >)));
Q_FOREACH (QString title, dockwidgetActions.keys()) {
d->dockWidgetMenu->addAction(dockwidgetActions[title]);
diff --git a/libs/ui/KisViewManager.cpp b/libs/ui/KisViewManager.cpp
index 6a96841..991ba24 100644
--- a/libs/ui/KisViewManager.cpp
+++ b/libs/ui/KisViewManager.cpp
@@ -377,7 +377,6 @@ void KisViewManager::setCurrentView(KisView *view)
d->viewConnections.addUniqueConnection(d->levelOfDetailAction, \
SIGNAL(toggled(bool)), canvasController, \
SLOT(slotToggleLevelOfDetailMode(bool)));
d->levelOfDetailAction->setChecked(canvasController->levelOfDetailMode());
- d->viewConnections.addUniqueConnection(d->currentImageView->canvasController(), \
SIGNAL(toolOptionWidgetsChanged(QList<QPointer<QWidget> >)), mainWindow(), \
SLOT(newOptionWidgets(QList<QPointer<QWidget> >))); \
d->viewConnections.addUniqueConnection(d->currentImageView->image(), \
SIGNAL(sigColorSpaceChanged(const KoColorSpace*)), d->controlFrame.paintopBox(), \
SLOT(slotColorSpaceChanged(const KoColorSpace*)));
d->viewConnections.addUniqueConnection(d->showRulersAction, \
SIGNAL(toggled(bool)), imageView->zoomManager(), \
SLOT(setShowRulers(bool)));
d->viewConnections.addUniqueConnection(d->rulersTrackMouseAction, \
SIGNAL(toggled(bool)), imageView->zoomManager(), SLOT(setRulersTrackMouse(bool)));
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic