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

List:       kde-commits
Subject:    [kdelibs/frameworks] kdeui/dialogs: Port away from KDialog
From:       Kevin Ottens <ervin+bluesystems () kde ! org>
Date:       2012-12-13 17:14:00
Message-ID: 20121213171400.B4C5AA60CE () git ! kde ! org
[Download RAW message or body]

Git commit 267e7951981cb3cdbce24044f547a967043f15b3 by Kevin Ottens.
Committed on 12/12/2012 at 14:05.
Pushed by ervin into branch 'frameworks'.

Port away from KDialog

M  +21   -13   kdeui/dialogs/klinkdialog.cpp
M  +2    -2    kdeui/dialogs/klinkdialog.h

http://commits.kde.org/kdelibs/267e7951981cb3cdbce24044f547a967043f15b3

diff --git a/kdeui/dialogs/klinkdialog.cpp b/kdeui/dialogs/klinkdialog.cpp
index ca5bdf7..1a6bf67 100644
--- a/kdeui/dialogs/klinkdialog.cpp
+++ b/kdeui/dialogs/klinkdialog.cpp
@@ -25,8 +25,11 @@
 #include <klineedit.h>
 #include <kwindowconfig.h>
 
+#include <QDialogButtonBox>
 #include <QLabel>
 #include <QGridLayout>
+#include <QPushButton>
+#include <QVBoxLayout>
 
 /**
   Private class that helps to provide binary compatibility between releases.
@@ -40,21 +43,20 @@ public:
     KLineEdit *textLineEdit;
     QLabel *linkUrlLabel;
     KLineEdit *linkUrlLineEdit;
+    QDialogButtonBox *buttonBox;
 };
 //@endcond
 
 
 KLinkDialog::KLinkDialog(QWidget *parent)
-        : KDialog(parent), d(new KLinkDialogPrivate)
+        : QDialog(parent), d(new KLinkDialogPrivate)
 {
-    setCaption(i18n("Manage Link"));
-    setButtons(Ok | Cancel);
-    setDefaultButton(Ok);
+    setWindowTitle(i18n("Manage Link"));
     setModal(true);
 
-    QWidget *entries = new QWidget(this);
+    QVBoxLayout *layout = new QVBoxLayout;
 
-    QGridLayout *layout = new QGridLayout(entries);
+    QGridLayout *grid = new QGridLayout;
 
     d->textLabel = new QLabel(i18n("Link Text:"), this);
     d->textLineEdit = new KLineEdit(this);
@@ -63,18 +65,24 @@ KLinkDialog::KLinkDialog(QWidget *parent)
     d->linkUrlLineEdit = new KLineEdit(this);
     d->linkUrlLineEdit->setClearButtonShown(true);
 
-    layout->addWidget(d->textLabel, 0, 0);
-    layout->addWidget(d->textLineEdit, 0, 1);
-    layout->addWidget(d->linkUrlLabel, 1, 0);
-    layout->addWidget(d->linkUrlLineEdit, 1, 1);
+    grid->addWidget(d->textLabel, 0, 0);
+    grid->addWidget(d->textLineEdit, 0, 1);
+    grid->addWidget(d->linkUrlLabel, 1, 0);
+    grid->addWidget(d->linkUrlLineEdit, 1, 1);
 
-    setMainWidget(entries);
+    layout->addLayout(grid);
+
+    d->buttonBox = new QDialogButtonBox(this);
+    d->buttonBox->setStandardButtons(QDialogButtonBox::Ok | QDialogButtonBox::Cancel);
+    connect(d->buttonBox, SIGNAL(accepted()), this, SLOT(accept()));
+    connect(d->buttonBox, SIGNAL(rejected()), this, SLOT(reject()));
+    layout->addWidget(d->buttonBox);
 
     KConfigGroup group(KSharedConfig::openConfig(), "KLinkDialog");
     KWindowConfig::restoreWindowSize(this, group);
 
     d->textLineEdit->setFocus();
-    enableButtonOk( false );
+    d->buttonBox->button(QDialogButtonBox::Ok)->setEnabled(false);
     connect(d->textLineEdit, SIGNAL(textChanged(QString)), this, SLOT(slotTextChanged(QString)));
 }
 
@@ -87,7 +95,7 @@ KLinkDialog::~KLinkDialog()
 
 void KLinkDialog::slotTextChanged(const QString &text)
 {
-    enableButtonOk( !text.isEmpty());
+    d->buttonBox->button(QDialogButtonBox::Ok)->setEnabled(!text.isEmpty());
 }
 
 void KLinkDialog::setLinkText(const QString &linkText)
diff --git a/kdeui/dialogs/klinkdialog.h b/kdeui/dialogs/klinkdialog.h
index b4d89c5..1d98548 100644
--- a/kdeui/dialogs/klinkdialog.h
+++ b/kdeui/dialogs/klinkdialog.h
@@ -24,7 +24,7 @@
 
 //@cond PRIVATE
 
-#include <kdialog.h>
+#include <QDialog>
 
 class KLinkDialogPrivate;
 class QString;
@@ -41,7 +41,7 @@ class QString;
     The size of the dialog is automatically saved to and restored from the
     global KDE config file.
  */
-class KLinkDialog : public KDialog
+class KLinkDialog : public QDialog
 {
     Q_OBJECT
 public:

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

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