Port to QDialog

This commit is contained in:
Montel Laurent 2014-10-15 19:51:06 +02:00
parent 9c6c0089c9
commit dfd3232496
3 changed files with 25 additions and 10 deletions

View file

@ -38,9 +38,12 @@
#include <QEvent> #include <QEvent>
#include <QFormLayout> #include <QFormLayout>
#include <QVBoxLayout> #include <QVBoxLayout>
#include <KConfigGroup>
#include <QDialogButtonBox>
#include <QPushButton>
PlacesItemEditDialog::PlacesItemEditDialog(QWidget* parent) : PlacesItemEditDialog::PlacesItemEditDialog(QWidget* parent) :
KDialog(parent), QDialog(parent),
m_icon(), m_icon(),
m_text(), m_text(),
m_url(), m_url(),
@ -50,9 +53,6 @@ PlacesItemEditDialog::PlacesItemEditDialog(QWidget* parent) :
m_iconButton(0), m_iconButton(0),
m_appLocal(0) m_appLocal(0)
{ {
setButtons( Ok | Cancel );
setModal(true);
setDefaultButton(Ok);
} }
void PlacesItemEditDialog::setIcon(const QString& icon) void PlacesItemEditDialog::setIcon(const QString& icon)
@ -110,7 +110,7 @@ bool PlacesItemEditDialog::event(QEvent* event)
void PlacesItemEditDialog::slotUrlChanged(const QString& text) void PlacesItemEditDialog::slotUrlChanged(const QString& text)
{ {
enableButtonOk(!text.isEmpty()); m_okButton->setEnabled(!text.isEmpty());
} }
PlacesItemEditDialog::~PlacesItemEditDialog() PlacesItemEditDialog::~PlacesItemEditDialog()
@ -119,7 +119,21 @@ PlacesItemEditDialog::~PlacesItemEditDialog()
void PlacesItemEditDialog::initialize() void PlacesItemEditDialog::initialize()
{ {
QDialogButtonBox *buttonBox = new QDialogButtonBox(QDialogButtonBox::Ok|QDialogButtonBox::Cancel);
m_okButton = buttonBox->button(QDialogButtonBox::Ok);
m_okButton->setDefault(true);
m_okButton->setShortcut(Qt::CTRL | Qt::Key_Return);
connect(buttonBox, SIGNAL(accepted()), this, SLOT(accept()));
connect(buttonBox, SIGNAL(rejected()), this, SLOT(reject()));
setModal(true);
m_okButton->setDefault(true);
QVBoxLayout *mainLayout = new QVBoxLayout;
setLayout(mainLayout);
QWidget* mainWidget = new QWidget(this); QWidget* mainWidget = new QWidget(this);
mainLayout->addWidget(mainWidget);
mainLayout->addWidget(buttonBox);
QVBoxLayout* vBox = new QVBoxLayout(mainWidget); QVBoxLayout* vBox = new QVBoxLayout(mainWidget);
QFormLayout* formLayout = new QFormLayout(); QFormLayout* formLayout = new QFormLayout();
@ -166,6 +180,5 @@ void PlacesItemEditDialog::initialize()
m_textEdit->setFocus(); m_textEdit->setFocus();
} }
setMainWidget(mainWidget);
} }

View file

@ -24,15 +24,16 @@
#ifndef PLACESITEMEDITDIALOG_H #ifndef PLACESITEMEDITDIALOG_H
#define PLACESITEMEDITDIALOG_H #define PLACESITEMEDITDIALOG_H
#include <KDialog> #include <QDialog>
#include <KUrl> #include <KUrl>
class KIconButton; class KIconButton;
class KLineEdit; class KLineEdit;
class KUrlRequester; class KUrlRequester;
class QCheckBox; class QCheckBox;
class QPushButton;
class PlacesItemEditDialog: public KDialog class PlacesItemEditDialog: public QDialog
{ {
Q_OBJECT Q_OBJECT
@ -71,6 +72,7 @@ private:
KLineEdit* m_textEdit; KLineEdit* m_textEdit;
KIconButton* m_iconButton; KIconButton* m_iconButton;
QCheckBox* m_appLocal; QCheckBox* m_appLocal;
QPushButton *m_okButton;
}; };
#endif #endif

View file

@ -467,7 +467,7 @@ void PlacesPanel::addEntry()
const KUrl url = m_model->data(index).value("url").value<KUrl>(); const KUrl url = m_model->data(index).value("url").value<KUrl>();
QPointer<PlacesItemEditDialog> dialog = new PlacesItemEditDialog(this); QPointer<PlacesItemEditDialog> dialog = new PlacesItemEditDialog(this);
dialog->setCaption(i18nc("@title:window", "Add Places Entry")); dialog->setWindowTitle(i18nc("@title:window", "Add Places Entry"));
dialog->setAllowGlobal(true); dialog->setAllowGlobal(true);
dialog->setUrl(url); dialog->setUrl(url);
if (dialog->exec() == QDialog::Accepted) { if (dialog->exec() == QDialog::Accepted) {
@ -483,7 +483,7 @@ void PlacesPanel::editEntry(int index)
QHash<QByteArray, QVariant> data = m_model->data(index); QHash<QByteArray, QVariant> data = m_model->data(index);
QPointer<PlacesItemEditDialog> dialog = new PlacesItemEditDialog(this); QPointer<PlacesItemEditDialog> dialog = new PlacesItemEditDialog(this);
dialog->setCaption(i18nc("@title:window", "Edit Places Entry")); dialog->setWindowTitle(i18nc("@title:window", "Edit Places Entry"));
dialog->setIcon(data.value("iconName").toString()); dialog->setIcon(data.value("iconName").toString());
dialog->setText(data.value("text").toString()); dialog->setText(data.value("text").toString());
dialog->setUrl(data.value("url").value<KUrl>()); dialog->setUrl(data.value("url").value<KUrl>());