• Skip to content
  • Skip to link menu
KDE 4.6 API Reference
  • KDE API Reference
  • kdelibs
  • KDE Home
  • Contact Us
 

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 }

KDEUI

Skip menu "KDEUI"
  • Main Page
  • Modules
  • Namespace List
  • Class Hierarchy
  • Alphabetical List
  • Class List
  • File List
  • Namespace Members
  • Class Members
  • Related Pages

kdelibs

Skip menu "kdelibs"
  • DNSSD
  • Interfaces
  •   KHexEdit
  •   KMediaPlayer
  •   KSpeech
  •   KTextEditor
  • Kate
  • kconf_update
  • KDE3Support
  •   KUnitTest
  • KDECore
  • KDED
  • KDEsu
  • KDEUI
  • KDEWebKit
  • KDocTools
  • KFile
  • KHTML
  • KImgIO
  • KInit
  • kio
  • KIOSlave
  • KJS
  •   KJS-API
  •   WTF
  • kjsembed
  • KNewStuff
  • KParts
  • KPty
  • Kross
  • KUnitConversion
  • KUtils
  • Nepomuk
  • Plasma
  • Solid
  • Sonnet
  • ThreadWeaver
Generated for kdelibs by doxygen 1.7.3
This website is maintained by Adriaan de Groot and Allen Winter.
KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal