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

List:       kde-commits
Subject:    [kdesvn/frameworks] src/svnfrontend: Port from KDialog to KSvnSimpleOkDialog
From:       Christian Ehrlicher <Ch.Ehrlicher () gmx ! de>
Date:       2016-03-31 19:21:07
Message-ID: E1ali9T-0005rB-6P () scm ! kde ! org
[Download RAW message or body]

Git commit 72fcd86cba73fbc142878996c9d77a0caaa921d5 by Christian Ehrlicher.
Committed on 27/03/2016 at 16:20.
Pushed by chehrlic into branch 'frameworks'.

Port from KDialog to KSvnSimpleOkDialog

M  +49   -52   src/svnfrontend/maintreewidget.cpp
M  +94   -93   src/svnfrontend/svnactions.cpp

http://commits.kde.org/kdesvn/72fcd86cba73fbc142878996c9d77a0caaa921d5

diff --git a/src/svnfrontend/maintreewidget.cpp b/src/svnfrontend/maintreewidget.cpp
index 9ee22d7..1ba07b4 100644
--- a/src/svnfrontend/maintreewidget.cpp
+++ b/src/svnfrontend/maintreewidget.cpp
@@ -32,7 +32,6 @@
 #include "importdir_logmsg.h"
 #include "settings/kdesvnsettings.h"
 #include "helpers/sshagent.h"
-#include "helpers/windowgeometryhelper.h"
 #include "svnqt/url.h"
 #include "svnqt/svnqttypes.h"
 #include "fronthelpers/createdlg.h"
@@ -1286,9 +1285,10 @@ void MainTreeWidget::slotLock()
         KMessageBox::error(this, i18n("Nothing selected for unlock"));
         return;
     }
-    Commitmsg_impl *ptr = 0;
-    QPointer<KDialog> dlg = createOkDialog(&ptr, i18n("Lock message"), true);
-    WindowGeometryHelper wgh(dlg, QLatin1String("locking_log_msg"));
+    QPointer<KSvnSimpleOkDialog> dlg(new \
KSvnSimpleOkDialog(QLatin1String("locking_log_msg"))); +    \
dlg->setWindowTitle(i18n("Lock message")); +    dlg->setWithCancelButton();
+    Commitmsg_impl *ptr(new Commitmsg_impl(dlg));
     ptr->initHistory();
     ptr->hideDepth(true);
     ptr->keepsLocks(false);
@@ -1296,14 +1296,13 @@ void MainTreeWidget::slotLock()
     QCheckBox *_stealLock = new QCheckBox(i18n("Steal lock?"));
     ptr->addItemWidget(_stealLock);
 
+    dlg->addWidget(ptr);
     if (dlg->exec() != QDialog::Accepted) {
         if (dlg)
             ptr->saveHistory(true);
-        wgh.save();
         delete dlg;
         return;
     }
-    wgh.save();
 
     QString logMessage = ptr->getMessage();
     bool steal = _stealLock->isChecked();
@@ -1641,7 +1640,7 @@ void MainTreeWidget::makeDelete(const SvnItemList &lst)
     QPointer<DeleteForm> dlg(new DeleteForm(displist, \
QApplication::activeModalWidget()));  dlg->showExtraButtons(isWorkingCopy() && \
!items.isEmpty());  
-    if (dlg->exec() == KDialog::Yes) {
+    if (dlg->exec() == QDialog::Accepted) {
         bool force = dlg->force_delete();
         bool keep = dlg->keep_local();
         WidgetBlockStack st(this);
@@ -1915,13 +1914,15 @@ void MainTreeWidget::slotMerge()
         target = m_Data->merge_Target;
     }
     src2 = m_Data->merge_Src2;
-    MergeDlg_impl *ptr = 0;
-    QPointer<KDialog> dlg = createOkDialog(&ptr, i18n("Merge"), true, true);
-    WindowGeometryHelper wgh(dlg, QLatin1String("merge_dialog"));
-    dlg->setHelp("merging-items", "kdesvn");
+    QPointer<KSvnSimpleOkDialog> dlg(new \
KSvnSimpleOkDialog(QLatin1String("merge_dialog"))); +    \
dlg->setWindowTitle(i18n("Merge")); +    dlg->setWithCancelButton();
+    dlg->setHelp(QLatin1String("merging-items"));
+    MergeDlg_impl *ptr(new MergeDlg_impl(dlg));
     ptr->setDest(target);
     ptr->setSrc1(src1);
     ptr->setSrc2(src1);
+    dlg->addWidget(ptr);
     if (dlg->exec() == QDialog::Accepted) {
         src1 = ptr->Src1();
         src2 = ptr->Src2();
@@ -1956,7 +1957,6 @@ void MainTreeWidget::slotMerge()
             refreshCurrentTree();
         }
     }
-    wgh.save();
     delete dlg;
     enableActions();
 }
@@ -1975,40 +1975,38 @@ void MainTreeWidget::slotRelocate()
     path = k->fullName();
     // CE TODO - Url() will return a QUrl later on
     const QUrl fromUrl = QUrl(k->Url());
-    CheckoutInfo_impl *ptr = 0;
-    QPointer<KDialog> dlg = createOkDialog(&ptr, i18n("Relocate path %1", path), \
                true);
-    if (dlg) {
-        ptr->setStartUrl(fromUrl);
-        ptr->disableAppend(true);
-        ptr->disableTargetDir(true);
-        ptr->disableRange(true);
-        ptr->disableOpen(true);
+    QPointer<KSvnSimpleOkDialog> dlg(new \
KSvnSimpleOkDialog(QLatin1String("relocate_dlg"))); +    \
dlg->setWindowTitle(i18n("Relocate path %1", path)); +    dlg->setWithCancelButton();
+    CheckoutInfo_impl *ptr(new CheckoutInfo_impl(dlg));
+    ptr->setStartUrl(fromUrl);
+    ptr->disableAppend(true);
+    ptr->disableTargetDir(true);
+    ptr->disableRange(true);
+    ptr->disableOpen(true);
 #if SVN_API_VERSION >= SVN_VERSION_CHECK(1,7,0)
-        ptr->hideDepth(true);
-        ptr->hideOverwrite(true);
+    ptr->hideDepth(true);
+    ptr->hideOverwrite(true);
 #else
-        ptr->hideDepth(true);
-        ptr->overwriteAsRecursive();
-        ptr->disableExternals(true);
+    ptr->hideDepth(true);
+    ptr->overwriteAsRecursive();
+    ptr->disableExternals(true);
 #endif
-        bool done = false;
-        WindowGeometryHelper wgh(dlg, QLatin1String("relocate_dlg"));
-        if (dlg->exec() == QDialog::Accepted) {
-            if (!ptr->reposURL().isValid()) {
-                KMessageBox::error(QApplication::activeModalWidget(), tr("Invalid \
                url given!"),
-                                   i18n("Relocate path %1", path));
-                delete dlg;
-                return;
-            }
-            done = m_Data->m_Model->svnWrapper()->makeRelocate(fromUrl, \
                ptr->reposURL(), path, ptr->overwrite(), ptr->ignoreExternals());
-        }
-        wgh.save();
-        delete dlg;
-        if (!done) {
+    dlg->addWidget(ptr);
+    bool done = false;
+    if (dlg->exec() == QDialog::Accepted) {
+        if (!ptr->reposURL().isValid()) {
+            KMessageBox::error(QApplication::activeModalWidget(), tr("Invalid url \
given!"), +                               i18n("Relocate path %1", path));
+            delete dlg;
             return;
         }
+        done = m_Data->m_Model->svnWrapper()->makeRelocate(fromUrl, ptr->reposURL(), \
path, ptr->overwrite(), ptr->ignoreExternals()); +    }
+    delete dlg;
+    if (done) {
+        refreshItem(k->sItem());
     }
-    refreshItem(k->sItem());
 }
 
 void MainTreeWidget::slotImportDirsIntoCurrent()
@@ -2059,28 +2057,27 @@ void MainTreeWidget::slotImportIntoDir(const QString &source, \
const QUrl &_targe  }
     QUrl targetUri(_targetUri);
 
-    Commitmsg_impl *ptr = 0;
-    Importdir_logmsg *ptr2 = 0;
-    QPointer<KDialog> dlg;
+    QPointer<KSvnSimpleOkDialog> dlg(new \
KSvnSimpleOkDialog(QLatin1String("import_log_msg"))); +    \
dlg->setWindowTitle(i18n("Import log")); +    dlg->setWithCancelButton();
+    Commitmsg_impl *ptr = nullptr;
+    Importdir_logmsg *ptr2 = nullptr;
     if (dirs) {
-        dlg = createOkDialog(&ptr2, i18n("Import log"), true);
-        ptr = ptr2;
+        ptr2 = new Importdir_logmsg(dlg);
         ptr2->createDirboxDir(QLatin1Char('"') + QFileInfo(sourceUri).fileName() + \
QLatin1Char('"')); +        ptr = ptr2;
     } else {
-        dlg = createOkDialog(&ptr, i18n("Import log"), true);
+        ptr = new Commitmsg_impl(dlg);
     }
-    WindowGeometryHelper wgh(dlg, QLatin1String("import_log_msg"));
-
     ptr->initHistory();
+    dlg->addWidget(ptr);
     if (dlg->exec() != QDialog::Accepted) {
         if (dlg) {
-          wgh.save();
-          ptr->saveHistory(true);
-          delete dlg;
+            ptr->saveHistory(true);
+            delete dlg;
         }
         return;
     }
-    wgh.save();
 
     QString logMessage = ptr->getMessage();
     svn::Depth rec = ptr->getDepth();
diff --git a/src/svnfrontend/svnactions.cpp b/src/svnfrontend/svnactions.cpp
index 0adcea5..90878d7 100644
--- a/src/svnfrontend/svnactions.cpp
+++ b/src/svnfrontend/svnactions.cpp
@@ -135,7 +135,6 @@ public:
     void cleanDialogs()
     {
         if (m_DiffDialog) {
-            WindowGeometryHelper::save(m_DiffDialog, QLatin1String("diff_display"));
             delete m_DiffDialog;
             m_DiffDialog = 0;
         }
@@ -178,7 +177,7 @@ public:
     helpers::itemCache<QVariant> m_MergeInfoCache;
 
     QPointer<DiffBrowser> m_DiffBrowserPtr;
-    QPointer<KDialog> m_DiffDialog;
+    QPointer<KSvnSimpleOkDialog> m_DiffDialog;
     QPointer<SvnLogDlgImp> m_LogDialog;
 
     QMap<QString, QString> m_contextData;
@@ -1364,13 +1363,13 @@ void SvnActions::dispDiff(const QByteArray &ex)
 {
     QString what = Kdesvnsettings::external_diff_display();
 
-    if (Kdesvnsettings::use_external_diff() && (what.indexOf("%1") == -1 || \
                what.indexOf("%2") == -1)) {
-        QStringList wlist = what.split(' ');
+    if (Kdesvnsettings::use_external_diff() && (what.indexOf(QLatin1String("%1")) == \
-1 || what.indexOf(QLatin1String("%2")) == -1)) { +        const QStringList wlist = \
what.split(QLatin1Char(' '));  WatchedProcess *proc = new WatchedProcess(this);
         bool fname_used = false;
 
-        for (QStringList::Iterator it = wlist.begin(); it != wlist.end(); ++it) {
-            if (*it == "%f") {
+        for (QStringList::ConstIterator it = wlist.begin(); it != wlist.end(); ++it) \
{ +            if (*it == QLatin1String("%f")) {
                 QTemporaryFile tfile;
                 tfile.setAutoRemove(false);
                 tfile.open();
@@ -1407,34 +1406,39 @@ void SvnActions::dispDiff(const QByteArray &ex)
     }
     bool need_modal = m_Data->runblocked || QApplication::activeModalWidget() != 0;
     if (need_modal || !m_Data->m_DiffBrowserPtr || !m_Data->m_DiffDialog) {
-        DiffBrowser *ptr = 0;
 
         if (!need_modal && m_Data->m_DiffBrowserPtr) {
             delete m_Data->m_DiffBrowserPtr;
         }
-        QPointer<KDialog> dlg = createOkDialog(&ptr, i18n("Diff display"), false,
-                                               false, need_modal,
-                                               KStandardGuiItem::saveAs());
-        if (dlg) {
-            WindowGeometryHelper wgh(dlg, QLatin1String("diff_display"));
-            QWidget *wd = dlg->mainWidget();
-            if (wd) {
-                EncodingSelector_impl *ls = new EncodingSelector_impl(wd);
-                QObject::connect(ls, SIGNAL(TextCodecChanged(QString)),
-                                 ptr, SLOT(slotTextCodecChanged(QString)));
-            }
-            QObject::connect(dlg, SIGNAL(user1Clicked()), ptr, SLOT(saveDiff()));
-            ptr->setText(ex);
-            if (need_modal) {
-                ptr->setFocus();
-                dlg->exec();
-                wgh.save();
-                delete dlg;
-                return;
-            } else {
-                m_Data->m_DiffBrowserPtr = ptr;
-                m_Data->m_DiffDialog = dlg;
-            }
+        QPointer<KSvnSimpleOkDialog> dlg(new \
KSvnSimpleOkDialog(QLatin1String("diff_display"))); +        if (!need_modal) {
+            dlg->setParent(nullptr);
+        }
+        dlg->setWindowTitle(i18n("Diff display"));
+        DiffBrowser *ptr(new DiffBrowser(dlg));
+        ptr->setText(ex);
+        dlg->addWidget(ptr);
+        EncodingSelector_impl *enc(new EncodingSelector_impl(dlg));
+        dlg->addWidget(enc);
+        connect(enc, SIGNAL(TextCodecChanged(QString)),
+                ptr, SLOT(slotTextCodecChanged(QString)));
+        enc->setCurrentEncoding(Kdesvnsettings::locale_for_diff());
+        // saveAs
+        QPushButton *pbSaveAs = new QPushButton(dlg->buttonBox());
+        KStandardGuiItem::assign(pbSaveAs, KStandardGuiItem::SaveAs);
+        dlg->buttonBox()->addButton(pbSaveAs, QDialogButtonBox::ActionRole);
+        connect(pbSaveAs, SIGNAL(clicked(bool)), ptr, SLOT(saveDiff()));
+
+        dlg->buttonBox()->setStandardButtons(QDialogButtonBox::Close);
+        dlg->addButtonBox();
+        if (need_modal) {
+            ptr->setFocus();
+            dlg->exec();
+            delete dlg;
+            return;
+        } else {
+            m_Data->m_DiffBrowserPtr = ptr;
+            m_Data->m_DiffDialog = dlg;
         }
     } else {
         m_Data->m_DiffBrowserPtr->setText(ex);
@@ -1631,46 +1635,44 @@ void SvnActions::slotExportCurrent()
 
 void SvnActions::CheckoutExport(const QUrl &what, bool _exp, bool urlisTarget)
 {
-    CheckoutInfo_impl *ptr = 0;
-    QPointer<KDialog> dlg = createOkDialog(&ptr, _exp ? i18n("Export a repository") \
                : i18n("Checkout a repository"),
-                                           true);
-    if (dlg) {
-        WindowGeometryHelper wgh(dlg, QLatin1String("checkout_export_dialog"));
-        if (!what.isEmpty()) {
-            if (!urlisTarget) {
-                ptr->setStartUrl(what);
-            } else {
-                ptr->setTargetUrl(what);
-            }
+    QPointer<KSvnSimpleOkDialog> dlg(new \
KSvnSimpleOkDialog(QLatin1String("checkout_export_dialog"))); +    CheckoutInfo_impl \
*ptr(new CheckoutInfo_impl(dlg)); +    dlg->setWindowTitle(_exp ? i18n("Export a \
repository") : i18n("Checkout a repository")); +    dlg->setWithCancelButton();
+
+    if (!what.isEmpty()) {
+        if (!urlisTarget) {
+            ptr->setStartUrl(what);
+        } else {
+            ptr->setTargetUrl(what);
         }
-        ptr->hideIgnoreKeywords(!_exp);
-        ptr->hideOverwrite(!_exp);
-        if (dlg->exec() == QDialog::Accepted) {
-            svn::Revision r = ptr->toRevision();
-            bool openit = ptr->openAfterJob();
-            bool ignoreExternal = ptr->ignoreExternals();
-            if (!ptr->reposURL().isValid()) {
-                KMessageBox::error(QApplication::activeModalWidget(), tr("Invalid \
                url given!"),
-                                   _exp ? i18n("Export repository") : i18n("Checkout \
                a repository"));
-                wgh.save();
-                delete dlg;
-                return;
-            }
-            // svn::Path should not take a QString but a QByteArray ...
-            const QString rUrl(QString::fromUtf8(ptr->reposURL().toEncoded()));
-            makeCheckout(rUrl,
-                         ptr->targetDir(), r, r,
-                         ptr->getDepth(),
-                         _exp,
-                         openit,
-                         ignoreExternal,
-                         ptr->overwrite(),
-                         ptr->ignoreKeywords(),
-                         0);
-        }
-        wgh.save();
-        delete dlg;
     }
+    ptr->hideIgnoreKeywords(!_exp);
+    ptr->hideOverwrite(!_exp);
+    dlg->addWidget(ptr);
+    if (dlg->exec() == QDialog::Accepted) {
+        svn::Revision r = ptr->toRevision();
+        bool openit = ptr->openAfterJob();
+        bool ignoreExternal = ptr->ignoreExternals();
+        if (!ptr->reposURL().isValid()) {
+            KMessageBox::error(QApplication::activeModalWidget(), tr("Invalid url \
given!"), +                               _exp ? i18n("Export repository") : \
i18n("Checkout a repository")); +            delete dlg;
+            return;
+        }
+        // svn::Path should not take a QString but a QByteArray ...
+        const QString rUrl(QString::fromUtf8(ptr->reposURL().toEncoded()));
+        makeCheckout(rUrl,
+                     ptr->targetDir(), r, r,
+                     ptr->getDepth(),
+                     _exp,
+                     openit,
+                     ignoreExternal,
+                     ptr->overwrite(),
+                     ptr->ignoreKeywords(),
+                     0);
+    }
+    delete dlg;
 }
 
 void SvnActions::CheckoutExportCurrent(bool _exp)
@@ -1886,29 +1888,27 @@ void SvnActions::slotSwitch()
 
 bool SvnActions::makeSwitch(const QString &path, const QUrl &what)
 {
-    CheckoutInfo_impl *ptr;
-    QPointer<KDialog> dlg = createOkDialog(&ptr, i18n("Switch URL"), true);
+    QPointer<KSvnSimpleOkDialog> dlg(new \
KSvnSimpleOkDialog(QLatin1String("switch_url_dlg"))); +    CheckoutInfo_impl *ptr(new \
CheckoutInfo_impl(dlg)); +    dlg->setWindowTitle(i18n("Switch URL"));
+    dlg->setWithCancelButton();
+    ptr->setStartUrl(what);
+    ptr->disableAppend(true);
+    ptr->disableTargetDir(true);
+    ptr->disableOpen(true);
+    dlg->addWidget(ptr);
     bool done = false;
-    if (dlg) {
-        WindowGeometryHelper wgh(dlg, QLatin1String("switch_url_dlg"));
-        ptr->setStartUrl(what);
-        ptr->disableAppend(true);
-        ptr->disableTargetDir(true);
-        ptr->disableOpen(true);
-        if (dlg->exec() == QDialog::Accepted) {
-            if (!ptr->reposURL().isValid()) {
-                KMessageBox::error(QApplication::activeModalWidget(), tr("Invalid \
                url given!"),
-                                   i18n("Switch URL"));
-                wgh.save();
-                delete dlg;
-                return false;
-            }
-            svn::Revision r = ptr->toRevision();
-            done = makeSwitch(ptr->reposURL(), path, r, ptr->getDepth(), r, true, \
ptr->ignoreExternals(), ptr->overwrite()); +    if (dlg->exec() == QDialog::Accepted) \
{ +        if (!ptr->reposURL().isValid()) {
+            KMessageBox::error(QApplication::activeModalWidget(), tr("Invalid url \
given!"), +                               i18n("Switch URL"));
+            delete dlg;
+            return false;
         }
-        wgh.save();
-        delete dlg;
+        svn::Revision r = ptr->toRevision();
+        done = makeSwitch(ptr->reposURL(), path, r, ptr->getDepth(), r, true, \
ptr->ignoreExternals(), ptr->overwrite());  }
+    delete dlg;
     return done;
 }
 
@@ -2414,16 +2414,18 @@ void SvnActions::checkAddItems(const QString &path, bool \
                print_error_box)
             KMessageBox::error(m_Data->m_ParentList->realWidget(), i18n("No \
unversioned items found."));  }
     } else {
-        QTreeWidget *ptr = 0;
-        QPointer<KDialog> dlg = createOkDialog(&ptr, i18n("Add unversioned items"), \
                true);
-        WindowGeometryHelper wgh(dlg, QLatin1String("add_items_dlg"));
+        QPointer<KSvnSimpleOkDialog> dlg(new \
KSvnSimpleOkDialog(QLatin1String("add_items_dlg"))); +        \
dlg->setWindowTitle(i18n("Add unversioned items")); +        \
dlg->setWithCancelButton(); +        QTreeWidget *ptr(new QTreeWidget(dlg));
         ptr->headerItem()->setText(0, "Item");
-        for (long j = 0; j < displist.size(); ++j) {
+        for (int j = 0; j < displist.size(); ++j) {
             QTreeWidgetItem *n = new QTreeWidgetItem(ptr);
             n->setText(0, displist[j]);
             n->setCheckState(0, Qt::Checked);
         }
         ptr->resizeColumnToContents(0);
+        dlg->addWidget(ptr);
         if (dlg->exec() == QDialog::Accepted) {
             QTreeWidgetItemIterator it(ptr);
             displist.clear();
@@ -2438,7 +2440,6 @@ void SvnActions::checkAddItems(const QString &path, bool \
                print_error_box)
                 addItems(helpers::sub2qt::fromStringList(displist).targets(), \
svn::DepthEmpty);  }
         }
-        wgh.save();
         delete dlg;
     }
 }


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

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