mirror of
https://invent.kde.org/system/dolphin
synced 2024-08-22 01:40:02 +00:00
Get rid of search "More Options" toggle button
Summary: With the new compact search filters (type/date/rating) it makes sense to show these options whenever available, and save some horizontal space on the main bar (specially for verbose languages). These options will be hidden nevertheless if the search is non-indexed or Baloo is disabled. For some nicer aesthetics D25029 should be also applied. CCBUG: 386754 Test Plan: Current: {F7681182} After: {F7687380} Along with D25029: {F7687385} Reviewers: elvisangelaccio, ngraham, #dolphin, #vdg Reviewed By: ngraham, #vdg Subscribers: kfm-devel Tags: #dolphin Differential Revision: https://phabricator.kde.org/D25057
This commit is contained in:
parent
5338054145
commit
54bd267eb9
|
@ -14,9 +14,5 @@
|
|||
<label>What</label>
|
||||
<default>FileName</default>
|
||||
</entry>
|
||||
<entry name="ShowFacetsWidget" type="Bool">
|
||||
<label>Show facets widget</label>
|
||||
<default>false</default>
|
||||
</entry>
|
||||
</group>
|
||||
</kcfg>
|
||||
|
|
|
@ -57,7 +57,6 @@ DolphinSearchBox::DolphinSearchBox(QWidget* parent) :
|
|||
m_separator(nullptr),
|
||||
m_fromHereButton(nullptr),
|
||||
m_everywhereButton(nullptr),
|
||||
m_facetsToggleButton(nullptr),
|
||||
m_facetsWidget(nullptr),
|
||||
m_searchPath(),
|
||||
m_startSearchTimer(nullptr)
|
||||
|
@ -158,7 +157,7 @@ void DolphinSearchBox::fromSearchUrl(const QUrl& url)
|
|||
setSearchPath(url);
|
||||
}
|
||||
|
||||
setFacetsVisible(SearchSettings::showFacetsWidget());
|
||||
updateFacetsVisible();
|
||||
}
|
||||
|
||||
void DolphinSearchBox::selectAll()
|
||||
|
@ -196,7 +195,6 @@ void DolphinSearchBox::showEvent(QShowEvent* event)
|
|||
m_searchInput->setFocus();
|
||||
m_startedSearching = false;
|
||||
}
|
||||
updateFacetsToggleButton();
|
||||
}
|
||||
|
||||
void DolphinSearchBox::hideEvent(QHideEvent* event)
|
||||
|
@ -283,11 +281,6 @@ void DolphinSearchBox::slotReturnPressed()
|
|||
emit returnPressed();
|
||||
}
|
||||
|
||||
void DolphinSearchBox::slotFacetsButtonToggled()
|
||||
{
|
||||
setFacetsVisible(m_facetsToggleButton->isChecked());
|
||||
}
|
||||
|
||||
void DolphinSearchBox::slotFacetChanged()
|
||||
{
|
||||
m_startedSearching = true;
|
||||
|
@ -330,16 +323,13 @@ void DolphinSearchBox::loadSettings()
|
|||
m_fileNameButton->setChecked(true);
|
||||
}
|
||||
|
||||
setFacetsVisible(SearchSettings::showFacetsWidget());
|
||||
updateFacetsVisible();
|
||||
}
|
||||
|
||||
void DolphinSearchBox::saveSettings()
|
||||
{
|
||||
SearchSettings::setLocation(m_fromHereButton->isChecked() ? QStringLiteral("FromHere") : QStringLiteral("Everywhere"));
|
||||
SearchSettings::setWhat(m_fileNameButton->isChecked() ? QStringLiteral("FileName") : QStringLiteral("Content"));
|
||||
if (isIndexingEnabled()) {
|
||||
SearchSettings::setShowFacetsWidget(m_facetsToggleButton->isChecked());
|
||||
}
|
||||
SearchSettings::self()->save();
|
||||
}
|
||||
|
||||
|
@ -423,12 +413,7 @@ void DolphinSearchBox::init()
|
|||
m_menuFactory->fillMenuFromGroupingNames(moreSearchToolsButton->menu(), { "files-find" }, this->m_searchPath);
|
||||
} );
|
||||
|
||||
// Create "Facets" widgets
|
||||
m_facetsToggleButton = new QToolButton(this);
|
||||
m_facetsToggleButton->setToolButtonStyle(Qt::ToolButtonTextBesideIcon);
|
||||
initButton(m_facetsToggleButton);
|
||||
connect(m_facetsToggleButton, &QToolButton::clicked, this, &DolphinSearchBox::slotFacetsButtonToggled);
|
||||
|
||||
// Create "Facets" widget
|
||||
m_facetsWidget = new DolphinFacetsWidget(this);
|
||||
m_facetsWidget->installEventFilter(this);
|
||||
m_facetsWidget->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Maximum);
|
||||
|
@ -443,7 +428,6 @@ void DolphinSearchBox::init()
|
|||
optionsLayout->addWidget(m_fromHereButton);
|
||||
optionsLayout->addWidget(m_everywhereButton);
|
||||
optionsLayout->addWidget(new KSeparator(Qt::Vertical, this));
|
||||
optionsLayout->addWidget(m_facetsToggleButton);
|
||||
optionsLayout->addWidget(moreSearchToolsButton);
|
||||
optionsLayout->addStretch(1);
|
||||
|
||||
|
@ -552,44 +536,11 @@ void DolphinSearchBox::fromBalooSearchUrl(const QUrl& url)
|
|||
#endif
|
||||
}
|
||||
|
||||
void DolphinSearchBox::setFacetsVisible(bool visible)
|
||||
void DolphinSearchBox::updateFacetsVisible()
|
||||
{
|
||||
const bool indexingEnabled = isIndexingEnabled();
|
||||
m_facetsWidget->setEnabled(indexingEnabled);
|
||||
m_facetsWidget->setVisible(indexingEnabled && visible);
|
||||
updateFacetsToggleButton();
|
||||
}
|
||||
|
||||
void DolphinSearchBox::updateFacetsToggleButton()
|
||||
{
|
||||
const bool facetsEnabled = m_facetsWidget->isEnabled();
|
||||
const bool facetsVisible = m_facetsWidget->isVisible();
|
||||
|
||||
m_facetsToggleButton->setEnabled(facetsEnabled);
|
||||
m_facetsToggleButton->setChecked(facetsVisible);
|
||||
|
||||
m_facetsToggleButton->setIcon(QIcon::fromTheme(
|
||||
facetsVisible ? QStringLiteral("arrow-up-double") :
|
||||
QStringLiteral("arrow-down-double")));
|
||||
|
||||
m_facetsToggleButton->setText(
|
||||
facetsVisible ? i18nc("@action:button", "Fewer Options") :
|
||||
i18nc("@action:button", "More Options"));
|
||||
|
||||
if (facetsEnabled) {
|
||||
m_facetsToggleButton->setToolTip(QString());
|
||||
} else {
|
||||
#ifdef HAVE_BALOO
|
||||
const Baloo::IndexerConfig searchInfo;
|
||||
if (!searchInfo.fileIndexingEnabled()) {
|
||||
m_facetsToggleButton->setToolTip(i18nc("@info:tooltip", "Advanced search options are not available because the file indexing service is disabled."));
|
||||
} else {
|
||||
m_facetsToggleButton->setToolTip(i18nc("@info:tooltip", "Advanced search options are not available because this location is not indexed."));
|
||||
}
|
||||
#else
|
||||
m_facetsToggleButton->setToolTip(i18nc("@info:tooltip", "Advanced search options are not available because this version of Dolphin does not support the Baloo file indexer."));
|
||||
#endif
|
||||
}
|
||||
m_facetsWidget->setVisible(indexingEnabled);
|
||||
}
|
||||
|
||||
bool DolphinSearchBox::isIndexingEnabled() const
|
||||
|
|
|
@ -137,7 +137,6 @@ private slots:
|
|||
void slotConfigurationChanged();
|
||||
void slotSearchTextChanged(const QString& text);
|
||||
void slotReturnPressed();
|
||||
void slotFacetsButtonToggled();
|
||||
void slotFacetChanged();
|
||||
void slotSearchSaved();
|
||||
|
||||
|
@ -158,8 +157,7 @@ private:
|
|||
*/
|
||||
void fromBalooSearchUrl(const QUrl& url);
|
||||
|
||||
void setFacetsVisible(bool visible);
|
||||
void updateFacetsToggleButton();
|
||||
void updateFacetsVisible();
|
||||
|
||||
bool isIndexingEnabled() const;
|
||||
|
||||
|
@ -177,7 +175,6 @@ private:
|
|||
KSeparator* m_separator;
|
||||
QToolButton* m_fromHereButton;
|
||||
QToolButton* m_everywhereButton;
|
||||
QToolButton* m_facetsToggleButton;
|
||||
DolphinFacetsWidget* m_facetsWidget;
|
||||
|
||||
QUrl m_searchPath;
|
||||
|
|
Loading…
Reference in a new issue