[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    [kipi-plugins/frameworks] common/libkipiplugins/dialogs: plug Help button to KPWizardDialog
From:       Gilles Caulier <caulier.gilles () gmail ! com>
Date:       2015-10-06 8:43:00
Message-ID: E1ZjNps-0007XE-NU () scm ! kde ! org
[Download RAW message or body]

Git commit ad4439038c1a1fd1e59bafcc518b80c3c710a7db by Gilles Caulier.
Committed on 06/10/2015 at 08:42.
Pushed by cgilles into branch 'frameworks'.

plug Help button to KPWizardDialog
fix memory leak

M  +17   -1    common/libkipiplugins/dialogs/kptooldialog.cpp
M  +6    -0    common/libkipiplugins/dialogs/kptooldialog.h

http://commits.kde.org/kipi-plugins/ad4439038c1a1fd1e59bafcc518b80c3c710a7db

diff --git a/common/libkipiplugins/dialogs/kptooldialog.cpp \
b/common/libkipiplugins/dialogs/kptooldialog.cpp index e5d73eb..ae3338b 100644
--- a/common/libkipiplugins/dialogs/kptooldialog.cpp
+++ b/common/libkipiplugins/dialogs/kptooldialog.cpp
@@ -117,7 +117,16 @@ QPushButton* KPDialogBase::getHelpButton() const
         }
     }
 
-    return nullptr;
+    {
+        KPWizardDialog* const dlg = dynamic_cast<KPWizardDialog*>(d->dialog);
+
+        if (dlg)
+        {
+            return dlg->helpButton();
+        }
+    }
+
+    return 0;
 }
 
 void KPDialogBase::setAboutData(KPAboutData* const data, QPushButton* help)
@@ -180,6 +189,7 @@ KPToolDialog::KPToolDialog(QWidget* const parent)
 
 KPToolDialog::~KPToolDialog()
 {
+    delete d;
 }
 
 void KPToolDialog::setMainWidget(QWidget* const widget)
@@ -258,10 +268,16 @@ KPWizardDialog::KPWizardDialog(QWidget* const parent)
     : QWizard(parent),
       KPDialogBase(this)
 {
+    setOption(QWizard::HaveHelpButton, true);
 }
 
 KPWizardDialog::~KPWizardDialog()
 {
 }
 
+QPushButton* KPWizardDialog::helpButton() const
+{
+    return dynamic_cast<QPushButton*>(button(QWizard::HelpButton));
+}
+
 } // namespace KIPIPlugins
diff --git a/common/libkipiplugins/dialogs/kptooldialog.h \
b/common/libkipiplugins/dialogs/kptooldialog.h index 77bc78c..c569b32 100644
--- a/common/libkipiplugins/dialogs/kptooldialog.h
+++ b/common/libkipiplugins/dialogs/kptooldialog.h
@@ -116,6 +116,12 @@ public:
 
     KPWizardDialog(QWidget* const parent=0);
     virtual ~KPWizardDialog();
+
+private:
+    
+    QPushButton* helpButton() const;
+    
+    friend class KPDialogBase;
 };
 
 } // namespace KIPIPlugins


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic