22 #include <QtGui/QLabel>
23 #include <QtGui/QLayout>
32 class KUrlRequesterDialogPrivate
46 void _k_slotTextChanged(
const QString &);
53 :
KDialog(parent), d(new KUrlRequesterDialogPrivate(this))
56 setButtonGuiItem( User1, KStandardGuiItem::clear() );
58 d->initDialog(
i18n(
"Location:"), urlName);
62 :
KDialog(parent), d(new KUrlRequesterDialogPrivate(this))
65 setButtonGuiItem( User1, KStandardGuiItem::clear() );
67 d->initDialog(_text, urlName);
75 void KUrlRequesterDialogPrivate::initDialog(
const QString &text,
const QString &urlName)
77 q->setDefaultButton(KDialog::Ok);
78 QWidget *plainPage = q->mainWidget();
79 QVBoxLayout * topLayout =
new QVBoxLayout( plainPage );
80 topLayout->setMargin( 0 );
83 topLayout->addWidget( label );
86 urlRequester->setMinimumWidth(urlRequester->sizeHint().width() * 3);
87 topLayout->addWidget(urlRequester);
88 urlRequester->setFocus();
89 QObject::connect(urlRequester->lineEdit(), SIGNAL(textChanged(
QString)),
90 q, SLOT(_k_slotTextChanged(
QString)));
91 bool state = !urlName.isEmpty();
92 q->enableButtonOk(state);
93 q->enableButton(KDialog::User1, state);
99 QObject::connect(q, SIGNAL(user1Clicked()), q, SLOT(_k_slotClear()));
102 void KUrlRequesterDialogPrivate::_k_slotTextChanged(
const QString & text)
104 bool state = !text.trimmed().isEmpty();
105 q->enableButtonOk(state);
106 q->enableButton(KDialog::User1, state);
109 void KUrlRequesterDialogPrivate::_k_slotClear()
111 urlRequester->clear();
116 if ( result() == QDialog::Accepted )
117 return d->urlRequester->url();
128 dlg.setCaption(caption.isEmpty() ?
i18n(
"Open") : caption);
141 return d->urlRequester->fileDialog();
146 return d->urlRequester;
149 #include "kurlrequesterdialog.moc"