Don't offer the "Search everywhere" option for non-local URLs.

svn path=/trunk/KDE/kdebase/apps/; revision=1200741
This commit is contained in:
Peter Penz 2010-11-25 15:42:15 +00:00
parent cbbadab33a
commit d63a5c26e2
2 changed files with 30 additions and 20 deletions

View file

@ -57,10 +57,11 @@ DolphinSearchBox::DolphinSearchBox(QWidget* parent) :
m_nepomukActivated(false), m_nepomukActivated(false),
m_topLayout(0), m_topLayout(0),
m_searchInput(0), m_searchInput(0),
m_fromHereButton(0),
m_everywhereButton(0),
m_fileNameButton(0), m_fileNameButton(0),
m_contentButton(0), m_contentButton(0),
m_separator(0),
m_fromHereButton(0),
m_everywhereButton(0),
m_searchPath(), m_searchPath(),
m_startSearchTimer(0) m_startSearchTimer(0)
{ {
@ -94,6 +95,11 @@ void DolphinSearchBox::setSearchPath(const KUrl& url)
const QString elidedLocation = metrics.elidedText(location, Qt::ElideMiddle, maxWidth); const QString elidedLocation = metrics.elidedText(location, Qt::ElideMiddle, maxWidth);
m_fromHereButton->setText(i18nc("action:button", "From Here (%1)", elidedLocation)); m_fromHereButton->setText(i18nc("action:button", "From Here (%1)", elidedLocation));
const bool showSearchFromButtons = url.isLocalFile();
m_separator->setVisible(showSearchFromButtons);
m_fromHereButton->setVisible(showSearchFromButtons);
m_everywhereButton->setVisible(showSearchFromButtons);
} }
KUrl DolphinSearchBox::searchPath() const KUrl DolphinSearchBox::searchPath() const
@ -249,19 +255,6 @@ void DolphinSearchBox::init()
searchInputLayout->addWidget(searchLabel); searchInputLayout->addWidget(searchLabel);
searchInputLayout->addWidget(m_searchInput); searchInputLayout->addWidget(m_searchInput);
// Create "From Here" and "Everywhere"button
m_fromHereButton = new QPushButton(this);
m_fromHereButton->setText(i18nc("action:button", "From Here"));
initButton(m_fromHereButton);
m_everywhereButton = new QPushButton(this);
m_everywhereButton->setText(i18nc("action:button", "Everywhere"));
initButton(m_everywhereButton);
QButtonGroup* searchLocationGroup = new QButtonGroup(this);
searchLocationGroup->addButton(m_fromHereButton);
searchLocationGroup->addButton(m_everywhereButton);
// Create "Filename" and "Content" button // Create "Filename" and "Content" button
m_fileNameButton = new QPushButton(this); m_fileNameButton = new QPushButton(this);
m_fileNameButton->setText(i18nc("action:button", "Filename")); m_fileNameButton->setText(i18nc("action:button", "Filename"));
@ -275,14 +268,29 @@ void DolphinSearchBox::init()
searchWhatGroup->addButton(m_fileNameButton); searchWhatGroup->addButton(m_fileNameButton);
searchWhatGroup->addButton(m_contentButton); searchWhatGroup->addButton(m_contentButton);
m_separator = new KSeparator(Qt::Vertical, this);
// Create "From Here" and "Everywhere"button
m_fromHereButton = new QPushButton(this);
m_fromHereButton->setText(i18nc("action:button", "From Here"));
initButton(m_fromHereButton);
m_everywhereButton = new QPushButton(this);
m_everywhereButton->setText(i18nc("action:button", "Everywhere"));
initButton(m_everywhereButton);
QButtonGroup* searchLocationGroup = new QButtonGroup(this);
searchLocationGroup->addButton(m_fromHereButton);
searchLocationGroup->addButton(m_everywhereButton);
// Apply layout for the options // Apply layout for the options
QHBoxLayout* optionsLayout = new QHBoxLayout(); QHBoxLayout* optionsLayout = new QHBoxLayout();
optionsLayout->setMargin(0); optionsLayout->setMargin(0);
optionsLayout->addWidget(m_fromHereButton);
optionsLayout->addWidget(m_everywhereButton);
optionsLayout->addWidget(new KSeparator(Qt::Vertical));
optionsLayout->addWidget(m_fileNameButton); optionsLayout->addWidget(m_fileNameButton);
optionsLayout->addWidget(m_contentButton); optionsLayout->addWidget(m_contentButton);
optionsLayout->addWidget(m_separator);
optionsLayout->addWidget(m_fromHereButton);
optionsLayout->addWidget(m_everywhereButton);
optionsLayout->addStretch(1); optionsLayout->addStretch(1);
m_topLayout = new QVBoxLayout(this); m_topLayout = new QVBoxLayout(this);

View file

@ -26,6 +26,7 @@
class AbstractSearchFilterWidget; class AbstractSearchFilterWidget;
class KLineEdit; class KLineEdit;
class KSeparator;
class QFormLayout; class QFormLayout;
class QPushButton; class QPushButton;
class QVBoxLayout; class QVBoxLayout;
@ -119,10 +120,11 @@ private:
QVBoxLayout* m_topLayout; QVBoxLayout* m_topLayout;
KLineEdit* m_searchInput; KLineEdit* m_searchInput;
QPushButton* m_fromHereButton;
QPushButton* m_everywhereButton;
QPushButton* m_fileNameButton; QPushButton* m_fileNameButton;
QPushButton* m_contentButton; QPushButton* m_contentButton;
KSeparator* m_separator;
QPushButton* m_fromHereButton;
QPushButton* m_everywhereButton;
KUrl m_searchPath; KUrl m_searchPath;