diff --git a/src/views/renamedialog.cpp b/src/views/renamedialog.cpp index 6556cbe228..e9fda4a569 100644 --- a/src/views/renamedialog.cpp +++ b/src/views/renamedialog.cpp @@ -34,9 +34,13 @@ #include #include #include +#include +#include +#include +#include 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); + 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); - setButtonGuiItem(Ok, KGuiItem(i18nc("@action:button", "&Rename"), "dialog-ok-apply")); + 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() diff --git a/src/views/renamedialog.h b/src/views/renamedialog.h index 430c707a3c..045161ae4c 100644 --- a/src/views/renamedialog.h +++ b/src/views/renamedialog.h @@ -22,18 +22,18 @@ #include "libdolphin_export.h" -#include +#include #include class KLineEdit; class KIntSpinBox; - +class QPushButton; #include /** * @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