mirror of
https://invent.kde.org/system/dolphin
synced 2024-09-19 00:11:21 +00:00
Added some default search criterions. A lot of fine tuning of the UI has to be made ASAP, but all in all I think it is more efficient to have some default criterions already instead of the need to press the (+) icon for each option.
svn path=/trunk/KDE/kdebase/apps/; revision=1047298
This commit is contained in:
parent
d9e3139e50
commit
0d448fc6f3
|
@ -92,8 +92,17 @@ DolphinSearchOptionsConfigurator::DolphinSearchOptionsConfigurator(QWidget* pare
|
|||
hBoxLayout->addWidget(closeButton);
|
||||
hBoxLayout->addWidget(m_addSelectorButton);
|
||||
|
||||
// add default search criterions
|
||||
SearchCriterionSelector* dateCriterion = new SearchCriterionSelector(SearchCriterionSelector::Date, this);
|
||||
connect(dateCriterion, SIGNAL(removeCriterion()), this, SLOT(removeCriterion()));
|
||||
|
||||
SearchCriterionSelector* fileSizeCriterion = new SearchCriterionSelector(SearchCriterionSelector::FileSize, this);
|
||||
connect(fileSizeCriterion, SIGNAL(removeCriterion()), this, SLOT(removeCriterion()));
|
||||
|
||||
m_vBoxLayout->addWidget(new KSeparator(this));
|
||||
m_vBoxLayout->addLayout(hBoxLayout);
|
||||
m_vBoxLayout->addWidget(dateCriterion);
|
||||
m_vBoxLayout->addWidget(fileSizeCriterion);
|
||||
m_vBoxLayout->addWidget(new KSeparator(this));
|
||||
}
|
||||
|
||||
|
@ -103,7 +112,7 @@ DolphinSearchOptionsConfigurator::~DolphinSearchOptionsConfigurator()
|
|||
|
||||
void DolphinSearchOptionsConfigurator::addSelector()
|
||||
{
|
||||
SearchCriterionSelector* selector = new SearchCriterionSelector(this);
|
||||
SearchCriterionSelector* selector = new SearchCriterionSelector(SearchCriterionSelector::Undefined, this);
|
||||
connect(selector, SIGNAL(removeCriterion()), this, SLOT(removeCriterion()));
|
||||
|
||||
// insert the new selector before the KSeparator at the bottom
|
||||
|
|
|
@ -30,7 +30,7 @@
|
|||
#include <kicon.h>
|
||||
#include <klocale.h>
|
||||
|
||||
SearchCriterionSelector::SearchCriterionSelector(QWidget* parent) :
|
||||
SearchCriterionSelector::SearchCriterionSelector(Type type, QWidget* parent) :
|
||||
QWidget(parent),
|
||||
m_layout(0),
|
||||
m_descriptionsBox(0),
|
||||
|
@ -64,6 +64,20 @@ SearchCriterionSelector::SearchCriterionSelector(QWidget* parent) :
|
|||
m_layout->addWidget(m_removeButton);
|
||||
|
||||
setLayout(m_layout);
|
||||
|
||||
// preselect the used criterion dependent on the type
|
||||
switch (type) {
|
||||
case Date:
|
||||
m_descriptionsBox->setCurrentIndex(1);
|
||||
m_comparatorBox->setCurrentIndex(1);
|
||||
break;
|
||||
case FileSize:
|
||||
m_descriptionsBox->setCurrentIndex(2);
|
||||
break;
|
||||
case Undefined:
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
SearchCriterionSelector::~SearchCriterionSelector()
|
||||
|
@ -74,19 +88,27 @@ void SearchCriterionSelector::createDescriptions()
|
|||
{
|
||||
// TODO: maybe this creation should be forwarded to a factory if
|
||||
// the number of items increases in future
|
||||
|
||||
QList<SearchCriterionDescription::Comparator> comparators;
|
||||
comparators.append(SearchCriterionDescription::Comparator(i18nc("@label", "greater than"), ">", "+"));
|
||||
comparators.append(SearchCriterionDescription::Comparator(i18nc("@label", "greater than or equal to"), ">=", "+"));
|
||||
comparators.append(SearchCriterionDescription::Comparator(i18nc("@label", "less than"), "<", "+"));
|
||||
comparators.append(SearchCriterionDescription::Comparator(i18nc("@label", "less than or equal to"), "<=", "+"));
|
||||
QList<SearchCriterionDescription::Comparator> comperators;
|
||||
comperators.append(SearchCriterionDescription::Comparator(i18nc("@label", "Greater Than"), ">", "+"));
|
||||
comperators.append(SearchCriterionDescription::Comparator(i18nc("@label", "Greater Than or Equal to"), ">=", "+"));
|
||||
comperators.append(SearchCriterionDescription::Comparator(i18nc("@label", "Less Than"), "<", "+"));
|
||||
comperators.append(SearchCriterionDescription::Comparator(i18nc("@label", "Less Than or Equal to"), "<=", "+"));
|
||||
|
||||
// add "Date" description
|
||||
QList<SearchCriterionDescription::Comparator> dateComps;
|
||||
dateComps.append(SearchCriterionDescription::Comparator(i18nc("@label", "Anytime"), "", "")); // TODO
|
||||
dateComps.append(SearchCriterionDescription::Comparator(i18nc("@label", "Today"), ">", "+")); // TODO
|
||||
dateComps.append(SearchCriterionDescription::Comparator(i18nc("@label", "This week"), ">", "+")); // TODO
|
||||
dateComps.append(SearchCriterionDescription::Comparator(i18nc("@label", "This month"), ">", "+")); // TODO
|
||||
foreach (const SearchCriterionDescription::Comparator& comp, comperators) {
|
||||
dateComps.append(comp);
|
||||
}
|
||||
|
||||
DateValue* dateValue = new DateValue(this);
|
||||
dateValue->hide();
|
||||
SearchCriterionDescription date(i18nc("@label", "Date Modified"),
|
||||
"sourceModified",
|
||||
comparators,
|
||||
dateComps,
|
||||
dateValue);
|
||||
|
||||
// add "File Size" description
|
||||
|
@ -94,7 +116,7 @@ void SearchCriterionSelector::createDescriptions()
|
|||
fileSizeValue->hide();
|
||||
SearchCriterionDescription size(i18nc("@label", "File Size"),
|
||||
"contentSize",
|
||||
comparators,
|
||||
comperators,
|
||||
fileSizeValue);
|
||||
|
||||
m_descriptions.append(date);
|
||||
|
|
|
@ -45,7 +45,14 @@ class SearchCriterionSelector : public QWidget
|
|||
Q_OBJECT
|
||||
|
||||
public:
|
||||
SearchCriterionSelector(QWidget* parent = 0);
|
||||
enum Type
|
||||
{
|
||||
Undefined,
|
||||
Date,
|
||||
FileSize
|
||||
};
|
||||
|
||||
SearchCriterionSelector(Type type, QWidget* parent = 0);
|
||||
virtual ~SearchCriterionSelector();
|
||||
|
||||
signals:
|
||||
|
|
Loading…
Reference in a new issue