┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src/search/dolphinsearchoptionsconfigurator.cpp
diff options
context:
space:
mode:
authorPeter Penz <[email protected]>2009-11-13 21:03:19 +0000
committerPeter Penz <[email protected]>2009-11-13 21:03:19 +0000
commitbd30bb6ca98374b37db20d14a41542c21acdd5e0 (patch)
tree276188af9fe38b22cd6698a53269fcffac318736 /src/search/dolphinsearchoptionsconfigurator.cpp
parenta87760d22c0213306380322ec6d9e23809ee4c93 (diff)
search finetuning:
* trigger progress information when starting a search * let the information panel hide the meta data for the search string * get the search string from the configurator svn path=/trunk/KDE/kdebase/apps/; revision=1048721
Diffstat (limited to 'src/search/dolphinsearchoptionsconfigurator.cpp')
-rw-r--r--src/search/dolphinsearchoptionsconfigurator.cpp35
1 files changed, 24 insertions, 11 deletions
diff --git a/src/search/dolphinsearchoptionsconfigurator.cpp b/src/search/dolphinsearchoptionsconfigurator.cpp
index d0b7cace2..db51f2c42 100644
--- a/src/search/dolphinsearchoptionsconfigurator.cpp
+++ b/src/search/dolphinsearchoptionsconfigurator.cpp
@@ -35,8 +35,6 @@
#include <QShowEvent>
#include <QVBoxLayout>
-#include <kdebug.h>
-
DolphinSearchOptionsConfigurator::DolphinSearchOptionsConfigurator(QWidget* parent) :
QWidget(parent),
m_initialized(false),
@@ -69,6 +67,7 @@ DolphinSearchOptionsConfigurator::DolphinSearchOptionsConfigurator(QWidget* pare
searchButton->setIcon(KIcon("edit-find"));
searchButton->setText(i18nc("@action:button", "Search"));
searchButton->setToolTip(i18nc("@info", "Start searching"));
+ connect(searchButton, SIGNAL(clicked()), this, SLOT(emitSearchOptionsChanged()));
// add button "Save"
QPushButton* saveButton = new QPushButton(this);
@@ -115,6 +114,21 @@ DolphinSearchOptionsConfigurator::~DolphinSearchOptionsConfigurator()
{
}
+QString DolphinSearchOptionsConfigurator::options() const
+{
+ QString searchOptions;
+ foreach (const SearchCriterionSelector* criterion, m_criterions) {
+ const QString criterionString = criterion->toString();
+ if (!criterionString.isEmpty()) {
+ if (!searchOptions.isEmpty()) {
+ searchOptions += ' ';
+ }
+ searchOptions += criterionString;
+ }
+ }
+ return searchOptions;
+}
+
void DolphinSearchOptionsConfigurator::showEvent(QShowEvent* event)
{
if (!event->spontaneous() && !m_initialized) {
@@ -143,14 +157,9 @@ void DolphinSearchOptionsConfigurator::slotAddSelectorButtonClicked()
addCriterion(selector);
}
-void DolphinSearchOptionsConfigurator::slotCriterionChanged()
+void DolphinSearchOptionsConfigurator::emitSearchOptionsChanged()
{
- QString searchOptions;
- foreach (const SearchCriterionSelector* criterion, m_criterions) {
- searchOptions += criterion->queryString() + ' ';
- }
- kDebug() << "Search option string:" << searchOptions;
- emit searchOptionsChanged(searchOptions);
+ emit searchOptionsChanged(options());
}
void DolphinSearchOptionsConfigurator::removeCriterion()
@@ -201,8 +210,12 @@ void DolphinSearchOptionsConfigurator::saveQuery()
void DolphinSearchOptionsConfigurator::addCriterion(SearchCriterionSelector* criterion)
{
- connect(criterion, SIGNAL(removeCriterion()), this, SLOT(removeCriterion()));
- connect(criterion, SIGNAL(criterionChanged()), this, SLOT(slotCriterionChanged()));
+ connect(criterion, SIGNAL(removeCriterion()), this, SLOT(removeCriterion()));
+ // TODO: It is unclear yet whether changing a criterion should also result in triggering
+ // a searchOptionsChanged() signal. This mainly depends on the performance achievable with
+ // Nepomuk. Currently the searchOptionsChanged() signal is only emitted when the search-button
+ // has been triggered by the user.
+ // connect(criterion, SIGNAL(criterionChanged()), this, SLOT(emitSearchOptionsChanged()));
// insert the new selector before the lastLineLayout and the KSeparator at the bottom
const int index = m_vBoxLayout->count() - 2;