SearchPanel* searchPanel = qobject_cast<SearchPanel*>(searchDock->widget());
if (searchPanel) {
- searchPanel->setSearchMode(SearchSettings::location() == QLatin1String("FromHere")
- ? SearchPanel::FromCurrentDir
- : SearchPanel::Everywhere);
+ searchPanel->setSearchLocation(SearchSettings::location() == QLatin1String("FromHere")
+ ? SearchPanel::FromCurrentDir
+ : SearchPanel::Everywhere);
}
}
}
SearchPanel* searchPanel = qobject_cast<SearchPanel*>(searchDock->widget());
- if (searchPanel) {
- // Per default any search-operation triggered by the Search Panel is done
- // "Everywhere".
- SearchPanel::SearchMode searchMode = SearchPanel::Everywhere;
-
- if (enabled && (SearchSettings::location() == QLatin1String("FromHere"))) {
- // Only if the search-mode is enabled it is visible for the user whether
- // a searching is done "Everywhere" or "From Here" (= current directory).
- searchMode = SearchPanel::FromCurrentDir;
+ if (!searchPanel) {
+ return;
+ }
+
+ if (enabled) {
+ SearchPanel::SearchLocation searchLocation = SearchPanel::Everywhere;
+ const KUrl url = m_activeViewContainer->url();
+ const bool isSearchUrl = (url.protocol() == QLatin1String("nepomuksearch"));
+ if ((SearchSettings::location() == QLatin1String("FromHere") && !isSearchUrl)) {
+ searchLocation = SearchPanel::FromCurrentDir;
}
- searchPanel->setSearchMode(searchMode);
+ searchPanel->setSearchLocation(searchLocation);
+ } else {
+ searchPanel->setSearchLocation(SearchPanel::Everywhere);
}
#else
Q_UNUSED(enabled);
SearchPanel::SearchPanel(QWidget* parent) :
Panel(parent),
m_initialized(false),
- m_searchMode(Everywhere),
+ m_searchLocation(Everywhere),
m_lastSetUrlStatJob(0),
m_startedFromDir(),
m_facetWidget(0),
{
}
-void SearchPanel::setSearchMode(SearchMode mode)
+void SearchPanel::setSearchLocation(SearchLocation location)
{
- m_searchMode = mode;
+ m_searchLocation = location;
if (isVisible()) {
setEnabled(isFilteringPossible());
}
}
-SearchPanel::SearchMode SearchPanel::searchMode() const
+SearchPanel::SearchLocation SearchPanel::searchLocation() const
{
- return m_searchMode;
+ return m_searchLocation;
}
bool SearchPanel::urlChanged()
{
if (term.isValid()) {
// Default case: A facet has been changed by the user to restrict the query.
- if ((m_searchMode == FromCurrentDir) && !m_unfacetedRestQuery.isValid()) {
+ if ((m_searchLocation == FromCurrentDir) && !m_unfacetedRestQuery.isValid()) {
// Adjust the query to respect the FromCurrentDir setting
Nepomuk::Query::ComparisonTerm compTerm(
Nepomuk::Vocabulary::NFO::fileName(),
{
const DolphinSearchInformation& searchInfo = DolphinSearchInformation::instance();
return searchInfo.isIndexingEnabled()
- && ((m_searchMode == Everywhere) || searchInfo.isPathIndexed(m_startedFromDir));
+ && ((m_searchLocation == Everywhere) || searchInfo.isPathIndexed(m_startedFromDir));
}
Q_OBJECT
public:
- enum SearchMode
+ enum SearchLocation
{
Everywhere,
FromCurrentDir
* or from the current directory (= FromCurrentDir). The current directory
* is automatically determined when setUrl() has been called.
*/
- void setSearchMode(SearchMode mode);
- SearchMode searchMode() const;
+ void setSearchLocation(SearchLocation location);
+ SearchLocation searchLocation() const;
signals:
void urlActivated(const KUrl& url);
* @return True if the facets can be applied to the given URL
* and hence a filtering of the content is possible.
* False is returned if the search-mode is set to
- * SearchMode::FromCurrentDir and this directory is
+ * SearchLocation::FromCurrentDir and this directory is
* not indexed at all. Also if indexing is disabled
* false will be returned.
*/
private:
bool m_initialized;
- SearchMode m_searchMode;
+ SearchLocation m_searchLocation;
KJob* m_lastSetUrlStatJob;
KUrl m_startedFromDir;