Implement the options to hide/show the global search box, and to hide/show all other search boxes.
This commit is contained in:
parent
a9e1fe0075
commit
b37f679c36
@ -303,6 +303,14 @@ void GlobalSearch::ReloadSettings() {
|
||||
}
|
||||
}
|
||||
|
||||
bool GlobalSearch::HideOtherSearchBoxes() {
|
||||
QSettings s;
|
||||
s.beginGroup(kSettingsGroup);
|
||||
|
||||
return s.value("show_globalsearch", true).toBool() &&
|
||||
s.value("hide_others", false).toBool();
|
||||
}
|
||||
|
||||
void GlobalSearch::SaveProvidersSettings() {
|
||||
QSettings s;
|
||||
s.beginGroup(kSettingsGroup);
|
||||
|
@ -53,6 +53,8 @@ public:
|
||||
QList<SearchProvider*> providers() const;
|
||||
bool is_provider_enabled(const SearchProvider* provider) const;
|
||||
|
||||
static bool HideOtherSearchBoxes();
|
||||
|
||||
public slots:
|
||||
void ReloadSettings();
|
||||
|
||||
|
@ -180,7 +180,8 @@ void GlobalSearchWidget::paintEvent(QPaintEvent* e) {
|
||||
Utils::StyleHelper::verticalGradient(&p, total_rect, total_rect);
|
||||
|
||||
QRect background_rect = background_scaled_.rect();
|
||||
background_rect.moveLeft(total_rect.right() - background_rect.width());
|
||||
background_rect.moveLeft(ui_->settings->mapTo(this, ui_->settings->rect().center()).x() -
|
||||
background_rect.width());
|
||||
background_rect.moveTop(total_rect.top());
|
||||
|
||||
p.setOpacity(0.5);
|
||||
@ -570,10 +571,12 @@ void GlobalSearchWidget::ReloadSettings() {
|
||||
show_tooltip_ = s.value("tooltip", true).toBool();
|
||||
combine_identical_results_ = s.value("combine_identical_results", true).toBool();
|
||||
provider_order_ = s.value("provider_order", QStringList() << "library").toStringList();
|
||||
setVisible(s.value("show_globalsearch", true).toBool());
|
||||
|
||||
if (tooltip_) {
|
||||
tooltip_->ReloadSettings();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
GlobalSearchWidget::CombineAction GlobalSearchWidget::CanCombineResults(
|
||||
|
@ -30,6 +30,7 @@ const char* IcecastFilterWidget::kSettingsGroup = "Icecast";
|
||||
IcecastFilterWidget::IcecastFilterWidget(QWidget *parent)
|
||||
: QWidget(parent),
|
||||
ui_(new Ui_IcecastFilterWidget),
|
||||
menu_(new QMenu(tr("Display options"), this)),
|
||||
sort_mode_mapper_(new QSignalMapper(this))
|
||||
{
|
||||
ui_->setupUi(this);
|
||||
@ -44,9 +45,9 @@ IcecastFilterWidget::IcecastFilterWidget(QWidget *parent)
|
||||
AddAction(group, ui_->action_sort_station, IcecastModel::SortMode_StationAlphabetical);
|
||||
|
||||
// Options menu
|
||||
QMenu* options_menu = new QMenu(this);
|
||||
options_menu->addActions(group->actions());
|
||||
ui_->options->setMenu(options_menu);
|
||||
menu_->setIcon(ui_->options->icon());
|
||||
menu_->addActions(group->actions());
|
||||
ui_->options->setMenu(menu_);
|
||||
|
||||
connect(sort_mode_mapper_, SIGNAL(mapped(int)), SLOT(SortModeChanged(int)));
|
||||
|
||||
|
@ -26,6 +26,7 @@ class LineEditInterface;
|
||||
class Ui_IcecastFilterWidget;
|
||||
|
||||
class QActionGroup;
|
||||
class QMenu;
|
||||
class QSignalMapper;
|
||||
|
||||
class IcecastFilterWidget : public QWidget {
|
||||
@ -39,6 +40,8 @@ public:
|
||||
|
||||
void SetIcecastModel(IcecastModel* model);
|
||||
|
||||
QMenu* menu() const { return menu_; }
|
||||
|
||||
public slots:
|
||||
void FocusOnFilter(QKeyEvent* e);
|
||||
|
||||
@ -51,6 +54,7 @@ private:
|
||||
private:
|
||||
Ui_IcecastFilterWidget* ui_;
|
||||
IcecastModel* model_;
|
||||
QMenu* menu_;
|
||||
|
||||
QSignalMapper* sort_mode_mapper_;
|
||||
|
||||
|
@ -294,6 +294,9 @@ void IcecastService::EnsureMenuCreated() {
|
||||
context_menu_->addActions(GetPlaylistActions());
|
||||
context_menu_->addAction(IconLoader::Load("download"), tr("Open dir.xiph.org in browser"), this, SLOT(Homepage()));
|
||||
context_menu_->addAction(IconLoader::Load("view-refresh"), tr("Refresh station list"), this, SLOT(LoadDirectory()));
|
||||
|
||||
context_menu_->addSeparator();
|
||||
context_menu_->addMenu(filter_->menu());
|
||||
}
|
||||
|
||||
void IcecastService::Homepage() {
|
||||
|
@ -20,6 +20,7 @@
|
||||
#include "internetservice.h"
|
||||
#include "ui_internetviewcontainer.h"
|
||||
#include "core/mergedproxymodel.h"
|
||||
#include "globalsearch/globalsearch.h"
|
||||
|
||||
#include <QMetaMethod>
|
||||
#include <QTimeLine>
|
||||
@ -106,6 +107,9 @@ void InternetViewContainer::SetHeaderVisible(QWidget* header, bool visible) {
|
||||
if (!header)
|
||||
return;
|
||||
|
||||
if (visible && GlobalSearch::HideOtherSearchBoxes())
|
||||
return;
|
||||
|
||||
HeaderData& d = headers_[header];
|
||||
if (d.visible_ == visible)
|
||||
return;
|
||||
|
@ -411,6 +411,9 @@ void JamendoService::EnsureMenuCreated() {
|
||||
library_filter_->SetLibraryModel(library_model_);
|
||||
library_filter_->SetFilterHint(tr("Search Jamendo"));
|
||||
library_filter_->SetAgeFilterEnabled(false);
|
||||
|
||||
context_menu_->addSeparator();
|
||||
context_menu_->addMenu(library_filter_->menu());
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -270,6 +270,9 @@ void MagnatuneService::EnsureMenuCreated() {
|
||||
library_filter_->SetFilterHint(tr("Search Magnatune"));
|
||||
library_filter_->SetAgeFilterEnabled(false);
|
||||
library_filter_->AddMenuAction(config_action);
|
||||
|
||||
context_menu_->addSeparator();
|
||||
context_menu_->addMenu(library_filter_->menu());
|
||||
}
|
||||
|
||||
void MagnatuneService::ShowContextMenu(const QModelIndex& index, const QPoint& global_pos) {
|
||||
|
@ -106,7 +106,8 @@ LibraryFilterWidget::LibraryFilterWidget(QWidget *parent)
|
||||
connect(group_by_group_, SIGNAL(triggered(QAction*)), SLOT(GroupByClicked(QAction*)));
|
||||
|
||||
// Library config menu
|
||||
library_menu_ = new QMenu(this);
|
||||
library_menu_ = new QMenu(tr("Display options"), this);
|
||||
library_menu_->setIcon(ui_->options->icon());
|
||||
library_menu_->addMenu(filter_age_menu_);
|
||||
library_menu_->addMenu(group_by_menu_);
|
||||
library_menu_->addSeparator();
|
||||
|
@ -56,6 +56,7 @@ class LibraryFilterWidget : public QWidget {
|
||||
void SetAgeFilterEnabled(bool enabled);
|
||||
void SetGroupByEnabled(bool enabled);
|
||||
|
||||
QMenu* menu() const { return library_menu_; }
|
||||
void AddMenuAction(QAction* action);
|
||||
|
||||
void SetSettingsGroup(const QString& group) { settings_group_ = group; }
|
||||
|
@ -16,6 +16,7 @@
|
||||
*/
|
||||
|
||||
#include "librarydirectorymodel.h"
|
||||
#include "libraryfilterwidget.h"
|
||||
#include "librarymodel.h"
|
||||
#include "libraryview.h"
|
||||
#include "libraryitem.h"
|
||||
@ -131,6 +132,9 @@ LibraryView::LibraryView(QWidget* parent)
|
||||
: AutoExpandingTreeView(parent),
|
||||
cover_providers_(NULL),
|
||||
library_(NULL),
|
||||
devices_(NULL),
|
||||
task_manager_(NULL),
|
||||
filter_(NULL),
|
||||
total_song_count_(-1),
|
||||
nomusic_(":nomusic.png"),
|
||||
context_menu_(NULL),
|
||||
@ -144,7 +148,6 @@ LibraryView::LibraryView(QWidget* parent)
|
||||
setDragDropMode(QAbstractItemView::DragOnly);
|
||||
setSelectionMode(QAbstractItemView::ExtendedSelection);
|
||||
|
||||
ReloadSettings();
|
||||
setStyleSheet("QTreeView::item{padding-top:1px;}");
|
||||
}
|
||||
|
||||
@ -179,6 +182,10 @@ void LibraryView::SetDeviceManager(DeviceManager* device_manager) {
|
||||
devices_ = device_manager;
|
||||
}
|
||||
|
||||
void LibraryView::SetFilter(LibraryFilterWidget* filter) {
|
||||
filter_ = filter;
|
||||
}
|
||||
|
||||
void LibraryView::TotalSongCountUpdated(int count) {
|
||||
bool old = total_song_count_;
|
||||
total_song_count_ = count;
|
||||
@ -275,6 +282,8 @@ void LibraryView::contextMenuEvent(QContextMenuEvent *e) {
|
||||
|
||||
context_menu_->addSeparator();
|
||||
|
||||
context_menu_->addMenu(filter_->menu());
|
||||
|
||||
copy_to_device_->setDisabled(devices_->connected_devices_model()->rowCount() == 0);
|
||||
connect(devices_->connected_devices_model(), SIGNAL(IsEmptyChanged(bool)),
|
||||
copy_to_device_, SLOT(setDisabled(bool)));
|
||||
|
@ -27,6 +27,7 @@
|
||||
#include <boost/scoped_ptr.hpp>
|
||||
|
||||
class DeviceManager;
|
||||
class LibraryFilterWidget;
|
||||
class LibraryModel;
|
||||
class OrganiseDialog;
|
||||
class TaskManager;
|
||||
@ -65,6 +66,7 @@ class LibraryView : public AutoExpandingTreeView {
|
||||
void SetTaskManager(TaskManager* task_manager);
|
||||
void SetLibrary(LibraryModel* library);
|
||||
void SetDeviceManager(DeviceManager* device_manager);
|
||||
void SetFilter(LibraryFilterWidget* filter);
|
||||
|
||||
// QTreeView
|
||||
void keyboardSearch(const QString &search);
|
||||
@ -116,6 +118,7 @@ class LibraryView : public AutoExpandingTreeView {
|
||||
LibraryModel* library_;
|
||||
DeviceManager* devices_;
|
||||
TaskManager* task_manager_;
|
||||
LibraryFilterWidget* filter_;
|
||||
|
||||
int total_song_count_;
|
||||
|
||||
|
@ -17,17 +17,21 @@
|
||||
|
||||
#include "libraryviewcontainer.h"
|
||||
#include "ui_libraryviewcontainer.h"
|
||||
#include "globalsearch/globalsearch.h"
|
||||
|
||||
LibraryViewContainer::LibraryViewContainer(QWidget* parent)
|
||||
: QWidget(parent),
|
||||
ui_(new Ui_LibraryViewContainer)
|
||||
{
|
||||
ui_->setupUi(this);
|
||||
view()->SetFilter(filter());
|
||||
|
||||
connect(filter(), SIGNAL(UpPressed()), view(), SLOT(UpAndFocus()));
|
||||
connect(filter(), SIGNAL(DownPressed()), view(), SLOT(DownAndFocus()));
|
||||
connect(filter(), SIGNAL(ReturnPressed()), view(), SLOT(FilterReturnPressed()));
|
||||
connect(view(), SIGNAL(FocusOnFilterSignal(QKeyEvent*)), filter(), SLOT(FocusOnFilter(QKeyEvent*)));
|
||||
|
||||
ReloadSettings();
|
||||
}
|
||||
|
||||
LibraryViewContainer::~LibraryViewContainer() {
|
||||
@ -41,3 +45,8 @@ LibraryView* LibraryViewContainer::view() const {
|
||||
LibraryFilterWidget* LibraryViewContainer::filter() const {
|
||||
return ui_->filter;
|
||||
}
|
||||
|
||||
void LibraryViewContainer::ReloadSettings() {
|
||||
filter()->setVisible(!GlobalSearch::HideOtherSearchBoxes());
|
||||
view()->ReloadSettings();
|
||||
}
|
||||
|
@ -34,6 +34,8 @@ public:
|
||||
LibraryFilterWidget* filter() const;
|
||||
LibraryView* view() const;
|
||||
|
||||
void ReloadSettings();
|
||||
|
||||
private:
|
||||
Ui_LibraryViewContainer* ui_;
|
||||
};
|
||||
|
@ -607,7 +607,7 @@ msgid "Append files/URLs to the playlist"
|
||||
msgstr ""
|
||||
|
||||
#: devices/deviceview.cpp:216 internet/internetservice.cpp:53
|
||||
#: library/libraryview.cpp:236 widgets/fileviewlist.cpp:31
|
||||
#: library/libraryview.cpp:243 widgets/fileviewlist.cpp:31
|
||||
msgid "Append to current playlist"
|
||||
msgstr ""
|
||||
|
||||
@ -924,7 +924,7 @@ msgstr ""
|
||||
msgid "Clementine was unable to find results for this file"
|
||||
msgstr ""
|
||||
|
||||
#: library/libraryview.cpp:218
|
||||
#: library/libraryview.cpp:225
|
||||
msgid "Click here to add some music"
|
||||
msgstr ""
|
||||
|
||||
@ -1036,7 +1036,7 @@ msgstr ""
|
||||
msgid "Convert any music that the device can't play"
|
||||
msgstr ""
|
||||
|
||||
#: library/libraryview.cpp:258 ui/mainwindow.cpp:538
|
||||
#: library/libraryview.cpp:265 ui/mainwindow.cpp:538
|
||||
#: widgets/fileviewlist.cpp:43
|
||||
msgid "Copy to device..."
|
||||
msgstr ""
|
||||
@ -1256,7 +1256,7 @@ msgstr ""
|
||||
msgid "Delete Grooveshark playlist"
|
||||
msgstr ""
|
||||
|
||||
#: devices/deviceview.cpp:393 library/libraryview.cpp:450
|
||||
#: devices/deviceview.cpp:393 library/libraryview.cpp:459
|
||||
#: ui/mainwindow.cpp:1839 widgets/fileview.cpp:185
|
||||
msgid "Delete files"
|
||||
msgstr ""
|
||||
@ -1265,7 +1265,7 @@ msgstr ""
|
||||
msgid "Delete from device..."
|
||||
msgstr ""
|
||||
|
||||
#: library/libraryview.cpp:260 ui/mainwindow.cpp:539
|
||||
#: library/libraryview.cpp:267 ui/mainwindow.cpp:539
|
||||
#: widgets/fileviewlist.cpp:44
|
||||
msgid "Delete from disk..."
|
||||
msgstr ""
|
||||
@ -1274,7 +1274,7 @@ msgstr ""
|
||||
msgid "Delete preset"
|
||||
msgstr ""
|
||||
|
||||
#: library/libraryview.cpp:252
|
||||
#: library/libraryview.cpp:259
|
||||
msgid "Delete smart playlist"
|
||||
msgstr ""
|
||||
|
||||
@ -1368,6 +1368,7 @@ msgstr ""
|
||||
msgid "Discontinuous transmission"
|
||||
msgstr ""
|
||||
|
||||
#: internet/icecastfilterwidget.cpp:33 library/libraryfilterwidget.cpp:109
|
||||
#: ../bin/src/ui_librarysettingspage.h:169
|
||||
msgid "Display options"
|
||||
msgstr ""
|
||||
@ -1392,7 +1393,7 @@ msgstr ""
|
||||
msgid "Don't repeat"
|
||||
msgstr ""
|
||||
|
||||
#: library/libraryview.cpp:274
|
||||
#: library/libraryview.cpp:281
|
||||
msgid "Don't show in various artists"
|
||||
msgstr ""
|
||||
|
||||
@ -1468,7 +1469,7 @@ msgstr ""
|
||||
msgid "Dynamic random mix"
|
||||
msgstr ""
|
||||
|
||||
#: library/libraryview.cpp:250
|
||||
#: library/libraryview.cpp:257
|
||||
msgid "Edit smart playlist..."
|
||||
msgstr ""
|
||||
|
||||
@ -1489,11 +1490,11 @@ msgstr ""
|
||||
msgid "Edit track information"
|
||||
msgstr ""
|
||||
|
||||
#: library/libraryview.cpp:264 ../bin/src/ui_mainwindow.h:650
|
||||
#: library/libraryview.cpp:271 ../bin/src/ui_mainwindow.h:650
|
||||
msgid "Edit track information..."
|
||||
msgstr ""
|
||||
|
||||
#: library/libraryview.cpp:266
|
||||
#: library/libraryview.cpp:273
|
||||
msgid "Edit tracks information..."
|
||||
msgstr ""
|
||||
|
||||
@ -1578,7 +1579,7 @@ msgstr ""
|
||||
msgid "Equivalent to --log-levels *:3"
|
||||
msgstr ""
|
||||
|
||||
#: internet/magnatunedownloaddialog.cpp:225 library/libraryview.cpp:444
|
||||
#: internet/magnatunedownloaddialog.cpp:225 library/libraryview.cpp:453
|
||||
#: ui/edittagdialog.cpp:719 ui/mainwindow.cpp:1807 ui/mainwindow.cpp:1912
|
||||
#: ui/mainwindow.cpp:2130
|
||||
msgid "Error"
|
||||
@ -2625,7 +2626,7 @@ msgstr ""
|
||||
msgid "New playlist"
|
||||
msgstr ""
|
||||
|
||||
#: library/libraryview.cpp:248
|
||||
#: library/libraryview.cpp:255
|
||||
msgid "New smart playlist..."
|
||||
msgstr ""
|
||||
|
||||
@ -2672,7 +2673,7 @@ msgstr ""
|
||||
msgid "None"
|
||||
msgstr ""
|
||||
|
||||
#: library/libraryview.cpp:445 ui/mainwindow.cpp:1808 ui/mainwindow.cpp:1913
|
||||
#: library/libraryview.cpp:454 ui/mainwindow.cpp:1808 ui/mainwindow.cpp:1913
|
||||
msgid "None of the selected songs were suitable for copying to a device"
|
||||
msgstr ""
|
||||
|
||||
@ -2771,7 +2772,7 @@ msgid "Open file..."
|
||||
msgstr ""
|
||||
|
||||
#: devices/deviceview.cpp:220 internet/internetservice.cpp:73
|
||||
#: library/libraryview.cpp:240 widgets/fileviewlist.cpp:35
|
||||
#: library/libraryview.cpp:247 widgets/fileviewlist.cpp:35
|
||||
#: ../bin/src/ui_behavioursettingspage.h:203
|
||||
msgid "Open in new playlist"
|
||||
msgstr ""
|
||||
@ -2813,7 +2814,7 @@ msgstr ""
|
||||
msgid "Organise Files"
|
||||
msgstr ""
|
||||
|
||||
#: library/libraryview.cpp:256 ui/mainwindow.cpp:537
|
||||
#: library/libraryview.cpp:263 ui/mainwindow.cpp:537
|
||||
msgid "Organise files..."
|
||||
msgstr ""
|
||||
|
||||
@ -3094,7 +3095,7 @@ msgstr ""
|
||||
msgid "Queue selected tracks"
|
||||
msgstr ""
|
||||
|
||||
#: globalsearch/globalsearchwidget.cpp:98 library/libraryview.cpp:244
|
||||
#: globalsearch/globalsearchwidget.cpp:98 library/libraryview.cpp:251
|
||||
#: ui/mainwindow.cpp:1352
|
||||
msgid "Queue track"
|
||||
msgstr ""
|
||||
@ -3238,7 +3239,7 @@ msgid "Replace and play now"
|
||||
msgstr ""
|
||||
|
||||
#: devices/deviceview.cpp:218 globalsearch/globalsearchwidget.cpp:99
|
||||
#: internet/internetservice.cpp:63 library/libraryview.cpp:238
|
||||
#: internet/internetservice.cpp:63 library/libraryview.cpp:245
|
||||
#: widgets/fileviewlist.cpp:33
|
||||
msgid "Replace current playlist"
|
||||
msgstr ""
|
||||
@ -3544,11 +3545,11 @@ msgstr ""
|
||||
msgid "Show fullsize..."
|
||||
msgstr ""
|
||||
|
||||
#: library/libraryview.cpp:268 ui/mainwindow.cpp:540
|
||||
#: library/libraryview.cpp:275 ui/mainwindow.cpp:540
|
||||
msgid "Show in file browser..."
|
||||
msgstr ""
|
||||
|
||||
#: library/libraryview.cpp:272
|
||||
#: library/libraryview.cpp:279
|
||||
msgid "Show in various artists"
|
||||
msgstr ""
|
||||
|
||||
@ -3896,7 +3897,7 @@ msgid ""
|
||||
"deleted:"
|
||||
msgstr ""
|
||||
|
||||
#: library/libraryview.cpp:451 ui/mainwindow.cpp:1840 widgets/fileview.cpp:186
|
||||
#: library/libraryview.cpp:460 ui/mainwindow.cpp:1840 widgets/fileview.cpp:186
|
||||
msgid ""
|
||||
"These files will be deleted from disk, are you sure you want to continue?"
|
||||
msgstr ""
|
||||
@ -4450,7 +4451,7 @@ msgid ""
|
||||
"package."
|
||||
msgstr ""
|
||||
|
||||
#: library/libraryview.cpp:212
|
||||
#: library/libraryview.cpp:219
|
||||
msgid "Your library is empty!"
|
||||
msgstr ""
|
||||
|
||||
|
@ -830,7 +830,7 @@ void MainWindow::ReloadAllSettings() {
|
||||
library_->ReloadSettings();
|
||||
player_->ReloadSettings();
|
||||
osd_->ReloadSettings();
|
||||
library_view_->view()->ReloadSettings();
|
||||
library_view_->ReloadSettings();
|
||||
song_info_view_->ReloadSettings();
|
||||
player_->engine()->ReloadSettings();
|
||||
ui_->playlist->view()->ReloadSettings();
|
||||
|
Loading…
x
Reference in New Issue
Block a user