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

KDEUI

  • kdeui
  • dialogs
klinkdialog.cpp
Go to the documentation of this file.
1
22#include "klinkdialog.h"
23
24#include <klocale.h>
25#include <klineedit.h>
26
27#include <QtGui/QLabel>
28#include <QtGui/QGridLayout>
29
34//@cond PRIVATE
35class KLinkDialogPrivate
36{
37public:
38 QLabel *textLabel;
39 KLineEdit *textLineEdit;
40 QLabel *linkUrlLabel;
41 KLineEdit *linkUrlLineEdit;
42};
43//@endcond
44
45
46KLinkDialog::KLinkDialog(QWidget *parent)
47 : KDialog(parent), d(new KLinkDialogPrivate)
48{
49 setCaption(i18n("Manage Link"));
50 setButtons(Ok | Cancel);
51 setDefaultButton(Ok);
52 setModal(true);
53
54 QWidget *entries = new QWidget(this);
55
56 QGridLayout *layout = new QGridLayout(entries);
57
58 d->textLabel = new QLabel(i18n("Link Text:"), this);
59 d->textLineEdit = new KLineEdit(this);
60 d->textLineEdit->setClearButtonShown(true);
61 d->linkUrlLabel = new QLabel(i18n("Link URL:"), this);
62 d->linkUrlLineEdit = new KLineEdit(this);
63 d->linkUrlLineEdit->setClearButtonShown(true);
64
65 layout->addWidget(d->textLabel, 0, 0);
66 layout->addWidget(d->textLineEdit, 0, 1);
67 layout->addWidget(d->linkUrlLabel, 1, 0);
68 layout->addWidget(d->linkUrlLineEdit, 1, 1);
69
70 setMainWidget(entries);
71
72 KConfigGroup group(KGlobal::config(), "KLinkDialog");
73 restoreDialogSize(group);
74
75 d->textLineEdit->setFocus();
76 enableButtonOk( false );
77 connect(d->textLineEdit, SIGNAL(textChanged(QString)), this, SLOT(slotTextChanged(QString)));
78}
79
80KLinkDialog::~KLinkDialog()
81{
82 KConfigGroup group(KGlobal::config(), "KLinkDialog");
83 saveDialogSize(group);
84 delete d;
85}
86
87void KLinkDialog::slotTextChanged(const QString &text)
88{
89 enableButtonOk( !text.isEmpty());
90}
91
92void KLinkDialog::setLinkText(const QString &linkText)
93{
94 d->textLineEdit->setText(linkText);
95 if (!linkText.trimmed().isEmpty())
96 d->linkUrlLineEdit->setFocus();
97}
98
99void KLinkDialog::setLinkUrl(const QString &linkUrl)
100{
101 d->linkUrlLineEdit->setText(linkUrl);
102}
103
104
105QString KLinkDialog::linkText() const
106{
107 return d->textLineEdit->text().trimmed();
108}
109
110QString KLinkDialog::linkUrl() const
111{
112 return d->linkUrlLineEdit->text();
113}
KConfigGroup
KDialog
A dialog base class with standard buttons and predefined layouts.
Definition: kdialog.h:129
KLineEdit
An enhanced QLineEdit widget for inputting text.
Definition: klineedit.h:150
QLabel
QWidget
klineedit.h
klinkdialog.h
klocale.h
i18n
QString i18n(const char *text)
KGlobal::config
KSharedConfigPtr config()
group
group
This file is part of the KDE documentation.
Documentation copyright © 1996-2023 The KDE developers.
Generated on Mon Feb 20 2023 00:00:00 by doxygen 1.9.6 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

KDEUI

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

kdelibs-4.14.38 API Reference

Skip menu "kdelibs-4.14.38 API Reference"
  • DNSSD
  • Interfaces
  •   KHexEdit
  •   KMediaPlayer
  •   KSpeech
  •   KTextEditor
  • 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
Report problems with this website to our bug tracking system.
Contact the specific authors with questions and comments about the page contents.

KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal