panels/folders/folderspanel.cpp
panels/folders/paneltreeview.cpp
search/dolphinsearchbox.cpp
+ search/searchoptiondialogbox.cpp
settings/behaviorsettingspage.cpp
settings/columnviewsettingspage.cpp
settings/contextmenusettingspage.cpp
#include <kseparator.h>
#include "searchcriterionselector.h"
+#include "searchoptiondialogbox.h"
#include <QButtonGroup>
#include <QHBoxLayout>
void DolphinSearchOptionsConfigurator::saveQuery()
{
- // TODO: provide a custom dialog class for KDE 4.5, which
- // enables/disables the OK button depend on whether a text
- // has been entered.
- QPointer<KDialog> dialog = new KDialog(0, Qt::Dialog);
-
- QWidget* container = new QWidget(dialog);
-
- QLabel* label = new QLabel(i18nc("@label", "Name:"), container);
- KLineEdit* lineEdit = new KLineEdit(container);
- lineEdit->setMinimumWidth(250);
-
- QHBoxLayout* layout = new QHBoxLayout(container);
- layout->addWidget(label, Qt::AlignRight);
- layout->addWidget(lineEdit);
-
- dialog->setMainWidget(container);
- dialog->setCaption(i18nc("@title:window", "Save Search Options"));
- dialog->setButtons(KDialog::Ok | KDialog::Cancel);
- dialog->setDefaultButton(KDialog::Ok);
- dialog->setButtonText(KDialog::Ok, i18nc("@action:button", "Save"));
-
- KConfigGroup dialogConfig(KSharedConfig::openConfig("dolphinrc"),
- "SaveSearchOptionsDialog");
- dialog->restoreDialogSize(dialogConfig);
- if ((dialog->exec() == QDialog::Accepted) && !lineEdit->text().isEmpty()) {
+ QPointer<SearchOptionDialogBox> dialog = new SearchOptionDialogBox( 0 );
+
+ if (dialog->exec() == QDialog::Accepted) {
KFilePlacesModel* model = DolphinSettings::instance().placesModel();
- model->addPlace(lineEdit->text(), nepomukSearchUrl());
+ model->addPlace(dialog->text(), nepomukSearchUrl());
}
delete dialog;
}
--- /dev/null
+/*****************************************************************************
+ * Copyright (C) 2010 by Laurent Montel <montel@kde.org> *
+ * *
+ * This library is free software; you can redistribute it and/or *
+ * modify it under the terms of the GNU Library General Public *
+ * License version 2 as published by the Free Software Foundation. *
+ * *
+ * This library is distributed in the hope that it will be useful, *
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
+ * Library General Public License for more details. *
+ * *
+ * You should have received a copy of the GNU Library General Public License *
+ * along with this library; see the file COPYING.LIB. If not, write to *
+ * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, *
+ * Boston, MA 02110-1301, USA. *
+ *****************************************************************************/
+#include "searchoptiondialogbox.h"
+
+#include <KConfigGroup>
+#include <KLineEdit>
+#include <KLocale>
+#include <QLabel>
+#include <QHBoxLayout>
+
+SearchOptionDialogBox::SearchOptionDialogBox( QWidget *parent )
+ :KDialog( parent, Qt::Dialog )
+{
+ QWidget* container = new QWidget(this);
+
+ QLabel* label = new QLabel(i18nc("@label", "Name:"), container);
+ KLineEdit* lineEdit = new KLineEdit(container);
+ lineEdit->setMinimumWidth(250);
+
+ connect( lineEdit, SIGNAL( textChanged ( const QString &) ), SLOT( slotTextChanged( const QString& ) ) );
+ QHBoxLayout* layout = new QHBoxLayout(container);
+ layout->addWidget(label, Qt::AlignRight);
+ layout->addWidget(lineEdit);
+
+ setMainWidget(container);
+ setCaption(i18nc("@title:window", "Save Search Options"));
+ setButtons(KDialog::Ok | KDialog::Cancel);
+ setDefaultButton(KDialog::Ok);
+ setButtonText(KDialog::Ok, i18nc("@action:button", "Save"));
+
+ KConfigGroup dialogConfig(KSharedConfig::openConfig("dolphinrc"),
+ "SaveSearchOptionsDialog");
+ restoreDialogSize(dialogConfig);
+ enableButtonOk( false );
+}
+
+SearchOptionDialogBox::~SearchOptionDialogBox()
+{
+ KConfigGroup dialogConfig(KSharedConfig::openConfig("dolphinrc"),
+ "SaveSearchOptionsDialog");
+ saveDialogSize(dialogConfig);
+}
+
+QString SearchOptionDialogBox::text() const
+{
+ return mLineEdit->text();
+}
+
+void SearchOptionDialogBox::slotTextChanged( const QString & text )
+{
+ enableButtonOk( !text.isEmpty() );
+}
+
+#include "searchoptiondialogbox.moc"
--- /dev/null
+/*****************************************************************************
+ * Copyright (C) 2010 by Laurent Montel <montel@kde.org> *
+ * *
+ * This library is free software; you can redistribute it and/or *
+ * modify it under the terms of the GNU Library General Public *
+ * License version 2 as published by the Free Software Foundation. *
+ * *
+ * This library is distributed in the hope that it will be useful, *
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
+ * Library General Public License for more details. *
+ * *
+ * You should have received a copy of the GNU Library General Public License *
+ * along with this library; see the file COPYING.LIB. If not, write to *
+ * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, *
+ * Boston, MA 02110-1301, USA. *
+ *****************************************************************************/
+
+#ifndef SEARCH_OPTIONDIALOGBOX
+#define SEARCH_OPTIONDIALOGBOX
+
+#include <KDialog>
+
+class KLineEdit;
+
+class SearchOptionDialogBox : public KDialog
+{
+ Q_OBJECT
+public:
+ SearchOptionDialogBox( QWidget *widget);
+ ~SearchOptionDialogBox();
+
+ QString text() const;
+
+protected slots:
+ void slotTextChanged( const QString & );
+private:
+ KLineEdit *mLineEdit;
+};
+#endif