]> cloud.milkyroute.net Git - dolphin.git/commitdiff
Port to QDialog
authorMontel Laurent <montel@kde.org>
Wed, 15 Oct 2014 17:56:52 +0000 (19:56 +0200)
committerMontel Laurent <montel@kde.org>
Wed, 15 Oct 2014 17:56:52 +0000 (19:56 +0200)
src/views/renamedialog.cpp
src/views/renamedialog.h

index 6556cbe2288628e3097b03e95d0644f9ca0a3378..e9fda4a569b71150ca46cdad1a181b01d08a1388 100644 (file)
 #include <QLabel>
 #include <QVBoxLayout>
 #include <QMimeDatabase>
+#include <KConfigGroup>
+#include <QDialogButtonBox>
+#include <QPushButton>
+#include <KGuiItem>
 
 RenameDialog::RenameDialog(QWidget *parent, const KFileItemList& items) :
-    KDialog(parent),
+    QDialog(parent),
     m_renameOneItem(false),
     m_newName(),
     m_lineEdit(0),
@@ -51,16 +55,24 @@ RenameDialog::RenameDialog(QWidget *parent, const KFileItemList& items) :
     Q_ASSERT(itemCount >= 1);
     m_renameOneItem = (itemCount == 1);
 
-    setCaption(m_renameOneItem ?
+    setWindowTitle(m_renameOneItem ?
                i18nc("@title:window", "Rename Item") :
                i18nc("@title:window", "Rename Items"));
-    setButtons(Ok | Cancel);
-    setDefaultButton(Ok);
-
-    setButtonGuiItem(Ok, KGuiItem(i18nc("@action:button", "&Rename"), "dialog-ok-apply"));
+    QDialogButtonBox *buttonBox = new QDialogButtonBox(QDialogButtonBox::Ok|QDialogButtonBox::Cancel);
+    QVBoxLayout *mainLayout = new QVBoxLayout;
+    setLayout(mainLayout);
+    m_okButton = buttonBox->button(QDialogButtonBox::Ok);
+    m_okButton->setDefault(true);
+    m_okButton->setShortcut(Qt::CTRL | Qt::Key_Return);
+    connect(buttonBox, SIGNAL(accepted()), this, SLOT(slotAccepted()));
+    connect(buttonBox, SIGNAL(rejected()), this, SLOT(reject()));
+    m_okButton->setDefault(true);
+
+    KGuiItem::assign(m_okButton, KGuiItem(i18nc("@action:button", "&Rename"), "dialog-ok-apply"));
 
     QWidget* page = new QWidget(this);
-    setMainWidget(page);
+    mainLayout->addWidget(page);
+    mainLayout->addWidget(buttonBox);
 
     QVBoxLayout* topLayout = new QVBoxLayout(page);
 
@@ -79,6 +91,7 @@ RenameDialog::RenameDialog(QWidget *parent, const KFileItemList& items) :
     }
 
     m_lineEdit = new KLineEdit(page);
+    mainLayout->addWidget(m_lineEdit);
     connect(m_lineEdit, &KLineEdit::textChanged, this, &RenameDialog::slotTextChanged);
 
     int selectionLength = m_newName.length();
@@ -119,6 +132,7 @@ RenameDialog::RenameDialog(QWidget *parent, const KFileItemList& items) :
         }
 
         QLabel* infoLabel = new QLabel(i18nc("@info", "# will be replaced by ascending numbers starting with:"), page);
+        mainLayout->addWidget(infoLabel);
         m_spinBox = new KIntSpinBox(0, 10000, 1, 1, page, 10);
 
         QHBoxLayout* horizontalLayout = new QHBoxLayout(page);
@@ -151,20 +165,17 @@ void RenameDialog::renameItem(const KFileItem &item, const QString& newName)
     job->ui()->setAutoErrorHandlingEnabled(true);
 }
 
-void RenameDialog::slotButtonClicked(int button)
+void RenameDialog::slotAccepted()
 {
-    if (button == KDialog::Ok) {
-        m_newName = m_lineEdit->text();
+    m_newName = m_lineEdit->text();
 
-        if (m_renameOneItem) {
-            Q_ASSERT(m_items.count() == 1);
-            renameItem(m_items.first(), m_newName);
-        } else {
-            renameItems();
-        }
+    if (m_renameOneItem) {
+        Q_ASSERT(m_items.count() == 1);
+        renameItem(m_items.first(), m_newName);
+    } else {
+        renameItems();
     }
-
-    KDialog::slotButtonClicked(button);
+    accept();
 }
 
 void RenameDialog::slotTextChanged(const QString& newName)
@@ -182,7 +193,7 @@ void RenameDialog::slotTextChanged(const QString& newName)
             enable = (last - first + 1 == count);
         }
     }
-    enableButtonOk(enable);
+    m_okButton->setEnabled(enable);
 }
 
 void RenameDialog::renameItems()
index 430c707a3c85dbb15a640b37a77a28cf0ca4b8c8..045161ae4c6bee5896dbb91a34539c1b587f052f 100644 (file)
 
 #include "libdolphin_export.h"
 
-#include <KDialog>
+#include <QDialog>
 #include <KFileItem>
 
 class KLineEdit;
 class KIntSpinBox;
-
+class QPushButton;
 #include <QString>
 
 /**
  * @brief Dialog for renaming a variable number of files.
  */
-class LIBDOLPHINPRIVATE_EXPORT RenameDialog : public KDialog
+class LIBDOLPHINPRIVATE_EXPORT RenameDialog : public QDialog
 {
     Q_OBJECT
 
@@ -41,10 +41,8 @@ public:
     explicit RenameDialog(QWidget* parent, const KFileItemList& items);
     virtual ~RenameDialog();
 
-protected slots:
-    virtual void slotButtonClicked(int button);
-
 private slots:
+    void slotAccepted();
     void slotTextChanged(const QString& newName);
 
 private:
@@ -67,6 +65,7 @@ private:
     KFileItemList m_items;
     bool m_allExtensionsDifferent;
     KIntSpinBox* m_spinBox;
+    QPushButton* m_okButton;
 };
 
 #endif