From 8ca2498de114c2caf172cc9058068b06dd30dd90 Mon Sep 17 00:00:00 2001 From: Simone Gaiarin Date: Tue, 6 Jul 2021 08:44:36 +0200 Subject: [PATCH] Make annotation toolbar visibility changed connection unique --- part/annotationactionhandler.cpp | 20 +++++++++----------- part/annotationactionhandler.h | 3 +++ 2 files changed, 12 insertions(+), 11 deletions(-) diff --git a/part/annotationactionhandler.cpp b/part/annotationactionhandler.cpp index b3cfc35a7..8b8315e54 100644 --- a/part/annotationactionhandler.cpp +++ b/part/annotationactionhandler.cpp @@ -99,7 +99,6 @@ public: void slotQuickToolSelected(int favToolId); void slotSetColor(AnnotationColor colorType, const QColor &color = QColor()); void slotSelectAnnotationFont(); - void slotAnnotationToolBarVisibilityChanged(bool visible); bool isQuickToolAction(QAction *aTool); bool isQuickToolStamp(int toolId); void assertToolBarExists(KParts::MainWindow *mw, const QString &toolBarName); @@ -515,14 +514,6 @@ void AnnotationActionHandlerPrivate::slotSelectAnnotationFont() } } -void AnnotationActionHandlerPrivate::slotAnnotationToolBarVisibilityChanged(bool visible) -{ - aShowToolBar->setEnabled(!visible); - if (!visible && !isQuickToolAction(agTools->checkedAction())) { - q->deselectAllAnnotationActions(); - } -} - bool AnnotationActionHandlerPrivate::isQuickToolAction(QAction *aTool) { return quickTools.contains(aTool); @@ -800,8 +791,7 @@ void AnnotationActionHandler::setupAnnotationToolBarVisibilityAction() d->assertToolBarExists(mw, QStringLiteral("quickAnnotationToolBar")); KToolBar *annotationToolBar = mw->toolBar(QStringLiteral("annotationToolBar")); - connect( - annotationToolBar, &QToolBar::visibilityChanged, this, [this](bool visible) { d->slotAnnotationToolBarVisibilityChanged(visible); }, Qt::UniqueConnection); + connect(annotationToolBar, &QToolBar::visibilityChanged, this, &AnnotationActionHandler::slotAnnotationToolBarVisibilityChanged, Qt::UniqueConnection); // show action connect(d->aShowToolBar, &QAction::triggered, annotationToolBar, &KToolBar::show, Qt::UniqueConnection); // hide action @@ -860,4 +850,12 @@ void AnnotationActionHandler::deselectAllAnnotationActions() } } +void AnnotationActionHandler::slotAnnotationToolBarVisibilityChanged(bool visible) +{ + d->aShowToolBar->setEnabled(!visible); + if (!visible && !d->isQuickToolAction(d->agTools->checkedAction())) { + deselectAllAnnotationActions(); + } +} + #include "moc_annotationactionhandler.cpp" diff --git a/part/annotationactionhandler.h b/part/annotationactionhandler.h index b92d04852..9ab575c41 100644 --- a/part/annotationactionhandler.h +++ b/part/annotationactionhandler.h @@ -45,6 +45,9 @@ public: signals: void ephemeralStampWarning(); +private slots: + void slotAnnotationToolBarVisibilityChanged(bool visible); + private: class AnnotationActionHandlerPrivate *d; };