From 9337b232b89f1221b7e12a25ffd877fec210719a Mon Sep 17 00:00:00 2001 From: Peter Penz Date: Thu, 3 Dec 2009 21:17:47 +0000 Subject: [PATCH] store the search-query in the places model svn path=/trunk/KDE/kdebase/apps/; revision=1058046 --- .../dolphinsearchoptionsconfigurator.cpp | 31 +++++++++++++------ 1 file changed, 21 insertions(+), 10 deletions(-) diff --git a/src/search/dolphinsearchoptionsconfigurator.cpp b/src/search/dolphinsearchoptionsconfigurator.cpp index e7f5e8656..ec1c30a82 100644 --- a/src/search/dolphinsearchoptionsconfigurator.cpp +++ b/src/search/dolphinsearchoptionsconfigurator.cpp @@ -20,19 +20,23 @@ #include "dolphinsearchoptionsconfigurator.h" #include "dolphin_searchsettings.h" -#include "searchcriterionselector.h" +#include +#define DISABLE_NEPOMUK_LEGACY #include #include #include #include #include +#include #include #include #include #include +#include "searchcriterionselector.h" + #include #include #include @@ -275,9 +279,12 @@ void DolphinSearchOptionsConfigurator::updateSelectorButton() void DolphinSearchOptionsConfigurator::saveQuery() { - KDialog dialog(0, Qt::Dialog); + // 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 dialog = new KDialog(0, Qt::Dialog); - QWidget* container = new QWidget(&dialog); + QWidget* container = new QWidget(dialog); QLabel* label = new QLabel(i18nc("@label", "Name:"), container); KLineEdit* lineEdit = new KLineEdit(container); @@ -287,16 +294,20 @@ void DolphinSearchOptionsConfigurator::saveQuery() 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")); + 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); - dialog.exec(); // TODO... + dialog->restoreDialogSize(dialogConfig); + if ((dialog->exec() == QDialog::Accepted) && !lineEdit->text().isEmpty()) { + KFilePlacesModel* model = DolphinSettings::instance().placesModel(); + model->addPlace(lineEdit->text(), nepomukUrl()); + } + delete dialog; } void DolphinSearchOptionsConfigurator::addCriterion(SearchCriterionSelector* criterion) -- 2.47.3