KDEUI
klinkdialog.cpp
Go to the documentation of this file.
00001 00022 #include "klinkdialog.h" 00023 00024 #include <klocale.h> 00025 #include <klineedit.h> 00026 00027 #include <QtGui/QLabel> 00028 #include <QtGui/QGridLayout> 00029 00034 //@cond PRIVATE 00035 class KLinkDialogPrivate 00036 { 00037 public: 00038 QLabel *textLabel; 00039 KLineEdit *textLineEdit; 00040 QLabel *linkUrlLabel; 00041 KLineEdit *linkUrlLineEdit; 00042 }; 00043 //@endcond 00044 00045 00046 KLinkDialog::KLinkDialog(QWidget *parent) 00047 : KDialog(parent), d(new KLinkDialogPrivate) 00048 { 00049 setCaption(i18n("Manage Link")); 00050 setButtons(Ok | Cancel); 00051 setDefaultButton(Ok); 00052 setModal(true); 00053 00054 QWidget *entries = new QWidget(this); 00055 00056 QGridLayout *layout = new QGridLayout(entries); 00057 00058 d->textLabel = new QLabel(i18n("Link Text:"), this); 00059 d->textLineEdit = new KLineEdit(this); 00060 d->textLineEdit->setClearButtonShown(true); 00061 d->linkUrlLabel = new QLabel(i18n("Link URL:"), this); 00062 d->linkUrlLineEdit = new KLineEdit(this); 00063 d->linkUrlLineEdit->setClearButtonShown(true); 00064 00065 layout->addWidget(d->textLabel, 0, 0); 00066 layout->addWidget(d->textLineEdit, 0, 1); 00067 layout->addWidget(d->linkUrlLabel, 1, 0); 00068 layout->addWidget(d->linkUrlLineEdit, 1, 1); 00069 00070 setMainWidget(entries); 00071 00072 KConfigGroup group(KGlobal::config(), "KLinkDialog"); 00073 restoreDialogSize(group); 00074 00075 d->textLineEdit->setFocus(); 00076 enableButtonOk( false ); 00077 connect(d->textLineEdit, SIGNAL(textChanged(const QString&)), this, SLOT(slotTextChanged(const QString&))); 00078 } 00079 00080 KLinkDialog::~KLinkDialog() 00081 { 00082 KConfigGroup group(KGlobal::config(), "KLinkDialog"); 00083 saveDialogSize(group); 00084 delete d; 00085 } 00086 00087 void KLinkDialog::slotTextChanged(const QString &text) 00088 { 00089 enableButtonOk( !text.isEmpty()); 00090 } 00091 00092 void KLinkDialog::setLinkText(const QString &linkText) 00093 { 00094 d->textLineEdit->setText(linkText); 00095 if (!linkText.trimmed().isEmpty()) 00096 d->linkUrlLineEdit->setFocus(); 00097 } 00098 00099 void KLinkDialog::setLinkUrl(const QString &linkUrl) 00100 { 00101 d->linkUrlLineEdit->setText(linkUrl); 00102 } 00103 00104 00105 QString KLinkDialog::linkText() const 00106 { 00107 return d->textLineEdit->text().trimmed(); 00108 } 00109 00110 QString KLinkDialog::linkUrl() const 00111 { 00112 return d->linkUrlLineEdit->text(); 00113 }
KDE 4.6 API Reference