26 #include <QFormLayout>
29 class KNameAndUrlInputDialogPrivate
34 void _k_slotNameTextChanged(
const QString&);
35 void _k_slotURLTextChanged(
const QString&);
48 bool m_fileNameEdited;
53 :
KDialog(parent), d(new KNameAndUrlInputDialogPrivate(this))
60 QFormLayout* topLayout =
new QFormLayout(plainPage);
61 topLayout->setMargin(0);
65 d->m_leName->setMinimumWidth(d->m_leName->sizeHint().width() * 3);
66 d->m_leName->setSelection(0, d->m_leName->text().length());
67 connect(d->m_leName, SIGNAL(textChanged(
QString)),
68 SLOT(_k_slotNameTextChanged(
QString)));
69 topLayout->addRow(nameLabel, d->m_leName);
73 d->m_urlRequester->setStartDir(startDir);
76 d->m_urlRequester->setMinimumWidth(d->m_urlRequester->sizeHint().width() * 3);
77 connect(d->m_urlRequester->lineEdit(), SIGNAL(textChanged(
QString)),
78 SLOT(_k_slotURLTextChanged(
QString)));
79 topLayout->addRow(urlLabel, d->m_urlRequester);
81 d->m_fileNameEdited =
false;
82 enableButtonOk(!d->m_leName->text().isEmpty() && !d->m_urlRequester->url().isEmpty());
83 d->m_leName->setFocus();
93 if (result() == QDialog::Accepted) {
94 return d->m_urlRequester->url();
102 if (result() == QDialog::Accepted)
103 return d->m_leName->text();
108 void KNameAndUrlInputDialogPrivate::_k_slotNameTextChanged(
const QString&)
110 m_fileNameEdited =
true;
111 q->enableButtonOk(!m_leName->text().isEmpty() && !m_urlRequester->url().isEmpty());
114 void KNameAndUrlInputDialogPrivate::_k_slotURLTextChanged(
const QString&)
116 if (!m_fileNameEdited) {
120 KUrl url(m_urlRequester->url());
122 m_leName->setText(url.fileName());
124 m_leName->setText(url.url());
125 m_fileNameEdited =
false;
127 q->enableButtonOk(!m_leName->text().isEmpty() && !m_urlRequester->url().isEmpty());
132 d->m_leName->setText(name);
133 d->m_urlRequester->setFocus();
138 d->m_urlRequester->setUrl(url);
141 #include "knameandurlinputdialog.moc"