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

KDEUI

  • sources
  • kde-4.14
  • kdelibs
  • 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
35 class KLinkDialogPrivate
36 {
37 public:
38  QLabel *textLabel;
39  KLineEdit *textLineEdit;
40  QLabel *linkUrlLabel;
41  KLineEdit *linkUrlLineEdit;
42 };
43 //@endcond
44 
45 
46 KLinkDialog::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 
80 KLinkDialog::~KLinkDialog()
81 {
82  KConfigGroup group(KGlobal::config(), "KLinkDialog");
83  saveDialogSize(group);
84  delete d;
85 }
86 
87 void KLinkDialog::slotTextChanged(const QString &text)
88 {
89  enableButtonOk( !text.isEmpty());
90 }
91 
92 void KLinkDialog::setLinkText(const QString &linkText)
93 {
94  d->textLineEdit->setText(linkText);
95  if (!linkText.trimmed().isEmpty())
96  d->linkUrlLineEdit->setFocus();
97 }
98 
99 void KLinkDialog::setLinkUrl(const QString &linkUrl)
100 {
101  d->linkUrlLineEdit->setText(linkUrl);
102 }
103 
104 
105 QString KLinkDialog::linkText() const
106 {
107  return d->textLineEdit->text().trimmed();
108 }
109 
110 QString KLinkDialog::linkUrl() const
111 {
112  return d->linkUrlLineEdit->text();
113 }
QWidget::layout
QLayout * layout() const
i18n
QString i18n(const char *text)
QWidget
QGridLayout::addWidget
void addWidget(QWidget *widget, int row, int column, QFlags< Qt::AlignmentFlag > alignment)
group
QLineEdit::textChanged
void textChanged(const QString &text)
QGridLayout
KDialog
A dialog base class with standard buttons and predefined layouts.
Definition: kdialog.h:128
klinkdialog.h
klocale.h
KGlobal::config
KSharedConfigPtr config()
KStandardGuiItem::Ok
Definition: kstandardguiitem.h:50
QString::isEmpty
bool isEmpty() const
QString::trimmed
QString trimmed() const
QString
KStandardGuiItem::Cancel
Definition: kstandardguiitem.h:50
KConfigGroup
KLineEdit
An enhanced QLineEdit widget for inputting text.
Definition: klineedit.h:149
KLineEdit::KLineEdit
KLineEdit(const QString &string, QWidget *parent=0)
Constructs a KLineEdit object with a default text, a parent, and a name.
Definition: klineedit.cpp:232
QWidget::QWidget
QWidget(QWidget *parent, QFlags< Qt::WindowType > f)
QWidget::setCaption
void setCaption(const QString &c)
klineedit.h
QObject::connect
bool connect(const QObject *sender, const char *signal, const QObject *receiver, const char *method, Qt::ConnectionType type)
QLabel
This file is part of the KDE documentation.
Documentation copyright © 1996-2020 The KDE developers.
Generated on Mon Jun 22 2020 13:23:59 by doxygen 1.8.7 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 API Reference

Skip menu "kdelibs 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

Search



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