From 4d78b30e8c179465ad0ec80580a635f2847d4aeb Mon Sep 17 00:00:00 2001 From: Jonas Kvinge Date: Sun, 28 Jun 2020 18:36:48 +0200 Subject: [PATCH] Make icon sizes configurable, increase default sizes for icons Fixes #250 --- src/collection/collectionfilterwidget.cpp | 13 +++ src/collection/collectionfilterwidget.h | 2 + src/collection/collectionviewcontainer.cpp | 5 +- src/core/mainwindow.cpp | 13 +++ src/core/mainwindow.ui | 20 ++-- src/internet/internetcollectionview.cpp | 6 +- .../internetcollectionviewcontainer.cpp | 5 + .../internetcollectionviewcontainer.h | 3 +- src/internet/internetsearchview.cpp | 6 ++ src/internet/internetsearchview.ui | 8 +- src/internet/internetsongsview.cpp | 7 +- src/internet/internettabsview.cpp | 15 ++- src/playlist/playlistcontainer.cpp | 13 +++ src/playlist/playlistcontainer.ui | 24 ++--- src/playlist/playlistlistcontainer.cpp | 71 ++++++++------ src/playlist/playlistlistcontainer.h | 1 + src/playlist/playlistlistcontainer.ui | 21 +++- src/queue/queueview.cpp | 18 ++++ src/queue/queueview.h | 1 + src/queue/queueview.ui | 18 ++-- src/settings/appearancesettingspage.cpp | 15 +++ src/settings/appearancesettingspage.h | 5 + src/settings/appearancesettingspage.ui | 96 ++++++++++++++++++- src/widgets/fileview.cpp | 18 ++++ src/widgets/fileview.h | 2 + src/widgets/fileview.ui | 16 ++-- 26 files changed, 351 insertions(+), 71 deletions(-) diff --git a/src/collection/collectionfilterwidget.cpp b/src/collection/collectionfilterwidget.cpp index 3b9aa69a5..0a699acda 100644 --- a/src/collection/collectionfilterwidget.cpp +++ b/src/collection/collectionfilterwidget.cpp @@ -50,6 +50,7 @@ #include "groupbydialog.h" #include "ui_collectionfilterwidget.h" #include "widgets/qsearchfield.h" +#include "settings/appearancesettingspage.h" CollectionFilterWidget::CollectionFilterWidget(QWidget *parent) : QWidget(parent), @@ -135,10 +136,22 @@ CollectionFilterWidget::CollectionFilterWidget(QWidget *parent) connect(ui_->filter, SIGNAL(textChanged(QString)), SLOT(FilterTextChanged(QString))); + ReloadSettings(); + } CollectionFilterWidget::~CollectionFilterWidget() { delete ui_; } +void CollectionFilterWidget::ReloadSettings() { + + QSettings s; + s.beginGroup(AppearanceSettingsPage::kSettingsGroup); + int iconsize = s.value(AppearanceSettingsPage::kIconSizeConfigureButtons, 20).toInt(); + s.endGroup(); + ui_->options->setIconSize(QSize(iconsize, iconsize)); + +} + QString CollectionFilterWidget::group_by() { if (settings_prefix_.isEmpty()) { diff --git a/src/collection/collectionfilterwidget.h b/src/collection/collectionfilterwidget.h index fd7b5f73d..0f3564d4f 100644 --- a/src/collection/collectionfilterwidget.h +++ b/src/collection/collectionfilterwidget.h @@ -79,6 +79,8 @@ class CollectionFilterWidget : public QWidget { QString group_by(); QString group_by(const int number); + void ReloadSettings(); + public slots: void SetQueryMode(QueryOptions::QueryMode query_mode); void FocusOnFilter(QKeyEvent *e); diff --git a/src/collection/collectionviewcontainer.cpp b/src/collection/collectionviewcontainer.cpp index 6cf8f7580..411a1ac5b 100644 --- a/src/collection/collectionviewcontainer.cpp +++ b/src/collection/collectionviewcontainer.cpp @@ -45,4 +45,7 @@ CollectionViewContainer::CollectionViewContainer(QWidget *parent) : QWidget(pare CollectionViewContainer::~CollectionViewContainer() { delete ui_; } CollectionView *CollectionViewContainer::view() const { return ui_->view; } CollectionFilterWidget *CollectionViewContainer::filter() const { return ui_->filter; } -void CollectionViewContainer::ReloadSettings() { view()->ReloadSettings(); } +void CollectionViewContainer::ReloadSettings() { + filter()->ReloadSettings(); + view()->ReloadSettings(); +} diff --git a/src/core/mainwindow.cpp b/src/core/mainwindow.cpp index 3e03980ce..5e1b74f52 100644 --- a/src/core/mainwindow.cpp +++ b/src/core/mainwindow.cpp @@ -911,6 +911,16 @@ void MainWindow::ReloadSettings() { menu_playmode_ = BehaviourSettingsPage::PlayBehaviour(s.value("menu_playmode", BehaviourSettingsPage::PlayBehaviour_IfStopped).toInt()); s.endGroup(); + s.beginGroup(AppearanceSettingsPage::kSettingsGroup); + int iconsize = s.value(AppearanceSettingsPage::kIconSizePlayControlButtons, 32).toInt(); + s.endGroup(); + + ui_->back_button->setIconSize(QSize(iconsize, iconsize)); + ui_->pause_play_button->setIconSize(QSize(iconsize, iconsize)); + ui_->stop_button->setIconSize(QSize(iconsize, iconsize)); + ui_->forward_button->setIconSize(QSize(iconsize, iconsize)); + ui_->button_love->setIconSize(QSize(iconsize, iconsize)); + s.beginGroup(BackendSettingsPage::kSettingsGroup); bool volume_control = s.value("volume_control", true).toBool(); s.endGroup(); @@ -968,6 +978,9 @@ void MainWindow::ReloadAllSettings() { album_cover_choice_controller_->ReloadSettings(); if (cover_manager_.get()) cover_manager_->ReloadSettings(); context_view_->ReloadSettings(); + file_view_->ReloadSettings(); + queue_view_->ReloadSettings(); + playlist_list_->ReloadSettings(); app_->cover_providers()->ReloadSettings(); app_->lyrics_providers()->ReloadSettings(); #ifdef HAVE_SUBSONIC diff --git a/src/core/mainwindow.ui b/src/core/mainwindow.ui index 621ff9001..ef0e6d347 100644 --- a/src/core/mainwindow.ui +++ b/src/core/mainwindow.ui @@ -124,8 +124,8 @@ - 22 - 22 + 32 + 32 @@ -137,8 +137,8 @@ - 22 - 22 + 32 + 32 @@ -153,8 +153,8 @@ - 22 - 22 + 32 + 32 @@ -169,8 +169,8 @@ - 22 - 22 + 32 + 32 @@ -207,8 +207,8 @@ - 22 - 22 + 32 + 32 diff --git a/src/internet/internetcollectionview.cpp b/src/internet/internetcollectionview.cpp index 8ab10a4d1..e39921076 100644 --- a/src/internet/internetcollectionview.cpp +++ b/src/internet/internetcollectionview.cpp @@ -102,7 +102,11 @@ void InternetCollectionView::SetFilter(CollectionFilterWidget *filter) { } -void InternetCollectionView::ReloadSettings() {} +void InternetCollectionView::ReloadSettings() { + + if (filter_) filter_->ReloadSettings(); + +} void InternetCollectionView::SaveFocus() { diff --git a/src/internet/internetcollectionviewcontainer.cpp b/src/internet/internetcollectionviewcontainer.cpp index 0c8d0f42d..3e72f8697 100644 --- a/src/internet/internetcollectionviewcontainer.cpp +++ b/src/internet/internetcollectionviewcontainer.cpp @@ -51,4 +51,9 @@ InternetCollectionViewContainer::InternetCollectionViewContainer(QWidget *parent InternetCollectionViewContainer::~InternetCollectionViewContainer() { delete ui_; } +void InternetCollectionViewContainer::ReloadSettings() { + filter()->ReloadSettings(); + view()->ReloadSettings(); +} + void InternetCollectionViewContainer::contextMenuEvent(QContextMenuEvent *e) { Q_UNUSED(e); } diff --git a/src/internet/internetcollectionviewcontainer.h b/src/internet/internetcollectionviewcontainer.h index 7f9a79a5a..c872b46d7 100644 --- a/src/internet/internetcollectionviewcontainer.h +++ b/src/internet/internetcollectionviewcontainer.h @@ -45,6 +45,8 @@ class InternetCollectionViewContainer : public QWidget { explicit InternetCollectionViewContainer(QWidget *parent = nullptr); ~InternetCollectionViewContainer() override; + void ReloadSettings(); + QStackedWidget *stacked() const { return ui_->stacked; } QWidget *help_page() const { return ui_->help_page; } QWidget *internetcollection_page() const { return ui_->internetcollection_page; } @@ -55,7 +57,6 @@ class InternetCollectionViewContainer : public QWidget { QPushButton *button_abort() const { return ui_->abort; } QLabel *status() const { return ui_->status; } QProgressBar *progressbar() const { return ui_->progressbar; } - void ReloadSettings() { view()->ReloadSettings(); } private slots: void contextMenuEvent(QContextMenuEvent *e) override; diff --git a/src/internet/internetsearchview.cpp b/src/internet/internetsearchview.cpp index 22a4c7d1c..495345541 100644 --- a/src/internet/internetsearchview.cpp +++ b/src/internet/internetsearchview.cpp @@ -85,6 +85,7 @@ #include "internetsearchsortmodel.h" #include "internetsearchview.h" #include "ui_internetsearchview.h" +#include "settings/appearancesettingspage.h" using std::placeholders::_1; using std::placeholders::_2; @@ -245,6 +246,11 @@ void InternetSearchView::ReloadSettings() { CollectionModel::GroupBy(s.value("search_group_by3", int(CollectionModel::GroupBy_None)).toInt()))); s.endGroup(); + s.beginGroup(AppearanceSettingsPage::kSettingsGroup); + int iconsize = s.value(AppearanceSettingsPage::kIconSizeConfigureButtons, 20).toInt(); + s.endGroup(); + ui_->settings->setIconSize(QSize(iconsize, iconsize)); + } void InternetSearchView::showEvent(QShowEvent *e) { diff --git a/src/internet/internetsearchview.ui b/src/internet/internetsearchview.ui index 020d7034c..e2a317d55 100644 --- a/src/internet/internetsearchview.ui +++ b/src/internet/internetsearchview.ui @@ -54,6 +54,12 @@ 0 + + + 16 + 16 + + QToolButton::InstantPopup @@ -225,7 +231,7 @@ 0 0 398 - 528 + 527 diff --git a/src/internet/internetsongsview.cpp b/src/internet/internetsongsview.cpp index 12fe44bec..c6c857dac 100644 --- a/src/internet/internetsongsview.cpp +++ b/src/internet/internetsongsview.cpp @@ -85,7 +85,12 @@ InternetSongsView::InternetSongsView(Application *app, InternetService *service, InternetSongsView::~InternetSongsView() { delete ui_; } -void InternetSongsView::ReloadSettings() {} +void InternetSongsView::ReloadSettings() { + + ui_->filter->ReloadSettings(); + ui_->view->ReloadSettings(); + +} void InternetSongsView::OpenSettingsDialog() { app_->OpenSettingsDialogAtPage(service_->settings_page()); diff --git a/src/internet/internettabsview.cpp b/src/internet/internettabsview.cpp index bc8256d04..e0f1d1c83 100644 --- a/src/internet/internettabsview.cpp +++ b/src/internet/internettabsview.cpp @@ -191,7 +191,20 @@ InternetTabsView::~InternetTabsView() { delete ui_; } -void InternetTabsView::ReloadSettings() { ui_->search_view->ReloadSettings(); } +void InternetTabsView::ReloadSettings() { + + if (service_->artists_collection_model()) { + ui_->artists_collection->view()->ReloadSettings(); + } + if (service_->albums_collection_model()) { + ui_->albums_collection->view()->ReloadSettings(); + } + if (service_->songs_collection_model()) { + ui_->songs_collection->view()->ReloadSettings(); + } + ui_->search_view->ReloadSettings(); + +} void InternetTabsView::GetArtists() { diff --git a/src/playlist/playlistcontainer.cpp b/src/playlist/playlistcontainer.cpp index 9aa5add32..d001333e4 100644 --- a/src/playlist/playlistcontainer.cpp +++ b/src/playlist/playlistcontainer.cpp @@ -56,6 +56,7 @@ #include "playlistparsers/playlistparser.h" #include "ui_playlistcontainer.h" #include "widgets/qsearchfield.h" +#include "settings/appearancesettingspage.h" const char *PlaylistContainer::kSettingsGroup = "Playlist"; const int PlaylistContainer::kFilterDelayMs = 100; @@ -231,6 +232,18 @@ void PlaylistContainer::SetViewModel(Playlist *playlist) { void PlaylistContainer::ReloadSettings() { + QSettings s; + s.beginGroup(AppearanceSettingsPage::kSettingsGroup); + int iconsize_playlist_buttons = s.value(AppearanceSettingsPage::kIconSizePlaylistButtons, 20).toInt(); + s.endGroup(); + + ui_->create_new->setIconSize(QSize(iconsize_playlist_buttons, iconsize_playlist_buttons)); + ui_->load->setIconSize(QSize(iconsize_playlist_buttons, iconsize_playlist_buttons)); + ui_->save->setIconSize(QSize(iconsize_playlist_buttons, iconsize_playlist_buttons)); + ui_->clear->setIconSize(QSize(iconsize_playlist_buttons, iconsize_playlist_buttons)); + ui_->undo->setIconSize(QSize(iconsize_playlist_buttons, iconsize_playlist_buttons)); + ui_->redo->setIconSize(QSize(iconsize_playlist_buttons, iconsize_playlist_buttons)); + bool playlist_clear = settings_.value("playlist_clear", true).toBool(); if (playlist_clear) { ui_->clear->show(); diff --git a/src/playlist/playlistcontainer.ui b/src/playlist/playlistcontainer.ui index a8fc3f9e0..e6ee463f1 100644 --- a/src/playlist/playlistcontainer.ui +++ b/src/playlist/playlistcontainer.ui @@ -61,8 +61,8 @@ - 16 - 16 + 20 + 20 @@ -74,8 +74,8 @@ - 16 - 16 + 20 + 20 @@ -87,8 +87,8 @@ - 16 - 16 + 20 + 20 @@ -100,8 +100,8 @@ - 16 - 16 + 20 + 20 @@ -113,8 +113,8 @@ - 16 - 16 + 20 + 20 @@ -126,8 +126,8 @@ - 16 - 16 + 20 + 20 diff --git a/src/playlist/playlistlistcontainer.cpp b/src/playlist/playlistlistcontainer.cpp index 8f64f64ca..06386a79e 100644 --- a/src/playlist/playlistlistcontainer.cpp +++ b/src/playlist/playlistlistcontainer.cpp @@ -36,6 +36,7 @@ #include #include #include +#include #include #include #include @@ -53,6 +54,7 @@ #include "playlistmanager.h" #include "ui_playlistlistcontainer.h" #include "organise/organisedialog.h" +#include "settings/appearancesettingspage.h" #ifndef Q_OS_WIN # include "device/devicemanager.h" # include "device/devicestatefiltermodel.h" @@ -118,10 +120,52 @@ PlaylistListContainer::PlaylistListContainer(QWidget *parent) model_->invisibleRootItem()->setData(PlaylistListModel::Type_Folder, PlaylistListModel::Role_Type); + ReloadSettings(); + } PlaylistListContainer::~PlaylistListContainer() { delete ui_; } +void PlaylistListContainer::SetApplication(Application *app) { + + app_ = app; + PlaylistManager *manager = app_->playlist_manager(); + Player *player = app_->player(); + + connect(manager, SIGNAL(PlaylistAdded(int, QString, bool)), SLOT(AddPlaylist(int, QString, bool))); + connect(manager, SIGNAL(PlaylistFavorited(int, bool)), SLOT(PlaylistFavoriteStateChanged(int, bool))); + connect(manager, SIGNAL(PlaylistRenamed(int, QString)), SLOT(PlaylistRenamed(int, QString))); + connect(manager, SIGNAL(CurrentChanged(Playlist*)), SLOT(CurrentChanged(Playlist*))); + connect(manager, SIGNAL(ActiveChanged(Playlist*)), SLOT(ActiveChanged(Playlist*))); + + connect(model_, SIGNAL(PlaylistRenamed(int, QString)), manager, SLOT(Rename(int, QString))); + + connect(player, SIGNAL(Paused()), SLOT(ActivePaused())); + connect(player, SIGNAL(Playing()), SLOT(ActivePlaying())); + connect(player, SIGNAL(Stopped()), SLOT(ActiveStopped())); + + // Get all playlists, even ones that are hidden in the UI. + for (const PlaylistBackend::Playlist &p : app->playlist_backend()->GetAllFavoritePlaylists()) { + QStandardItem *playlist_item = model_->NewPlaylist(p.name, p.id); + QStandardItem *parent_folder = model_->FolderByPath(p.ui_path); + parent_folder->appendRow(playlist_item); + } + +} + +void PlaylistListContainer::ReloadSettings() { + + QSettings s; + s.beginGroup(AppearanceSettingsPage::kSettingsGroup); + int iconsize = s.value(AppearanceSettingsPage::kIconSizeLeftPanelButtons, 22).toInt(); + s.endGroup(); + + ui_->new_folder->setIconSize(QSize(iconsize, iconsize)); + ui_->remove->setIconSize(QSize(iconsize, iconsize)); + ui_->save_playlist->setIconSize(QSize(iconsize, iconsize)); + +} + void PlaylistListContainer::showEvent(QShowEvent *e) { // Loading icons is expensive so only do it when the view is first opened @@ -163,33 +207,6 @@ void PlaylistListContainer::RecursivelySetIcons(QStandardItem *parent) const { } -void PlaylistListContainer::SetApplication(Application *app) { - - app_ = app; - PlaylistManager *manager = app_->playlist_manager(); - Player *player = app_->player(); - - connect(manager, SIGNAL(PlaylistAdded(int, QString, bool)), SLOT(AddPlaylist(int, QString, bool))); - connect(manager, SIGNAL(PlaylistFavorited(int, bool)), SLOT(PlaylistFavoriteStateChanged(int, bool))); - connect(manager, SIGNAL(PlaylistRenamed(int, QString)), SLOT(PlaylistRenamed(int, QString))); - connect(manager, SIGNAL(CurrentChanged(Playlist*)), SLOT(CurrentChanged(Playlist*))); - connect(manager, SIGNAL(ActiveChanged(Playlist*)), SLOT(ActiveChanged(Playlist*))); - - connect(model_, SIGNAL(PlaylistRenamed(int, QString)), manager, SLOT(Rename(int, QString))); - - connect(player, SIGNAL(Paused()), SLOT(ActivePaused())); - connect(player, SIGNAL(Playing()), SLOT(ActivePlaying())); - connect(player, SIGNAL(Stopped()), SLOT(ActiveStopped())); - - // Get all playlists, even ones that are hidden in the UI. - for (const PlaylistBackend::Playlist &p : app->playlist_backend()->GetAllFavoritePlaylists()) { - QStandardItem *playlist_item = model_->NewPlaylist(p.name, p.id); - QStandardItem *parent_folder = model_->FolderByPath(p.ui_path); - parent_folder->appendRow(playlist_item); - } - -} - void PlaylistListContainer::NewFolderClicked() { QString name = QInputDialog::getText(this, tr("New folder"), tr("Enter the name of the folder")); diff --git a/src/playlist/playlistlistcontainer.h b/src/playlist/playlistlistcontainer.h index bf01027c2..acbb327fc 100644 --- a/src/playlist/playlistlistcontainer.h +++ b/src/playlist/playlistlistcontainer.h @@ -52,6 +52,7 @@ class PlaylistListContainer : public QWidget { ~PlaylistListContainer() override; void SetApplication(Application *app); + void ReloadSettings(); protected: void showEvent(QShowEvent *e) override; diff --git a/src/playlist/playlistlistcontainer.ui b/src/playlist/playlistlistcontainer.ui index 81a7cd1f4..f4a3692ca 100644 --- a/src/playlist/playlistlistcontainer.ui +++ b/src/playlist/playlistlistcontainer.ui @@ -64,6 +64,12 @@ New folder + + + 22 + 22 + + @@ -71,6 +77,12 @@ Delete + + + 22 + 22 + + @@ -81,7 +93,14 @@ - + + + + 22 + 22 + + + diff --git a/src/queue/queueview.cpp b/src/queue/queueview.cpp index 441d061c3..0c0773e1d 100644 --- a/src/queue/queueview.cpp +++ b/src/queue/queueview.cpp @@ -28,6 +28,7 @@ #include #include #include +#include #include #include #include @@ -39,6 +40,7 @@ #include "queue.h" #include "queueview.h" #include "ui_queueview.h" +#include "settings/appearancesettingspage.h" QueueView::QueueView(QWidget *parent) : QWidget(parent), @@ -64,6 +66,8 @@ QueueView::QueueView(QWidget *parent) connect(ui_->remove, SIGNAL(clicked()), SLOT(Remove())); connect(ui_->clear, SIGNAL(clicked()), SLOT(Clear())); + ReloadSettings(); + } QueueView::~QueueView() { @@ -79,6 +83,20 @@ void QueueView::SetPlaylistManager(PlaylistManager *manager) { } +void QueueView::ReloadSettings() { + + QSettings s; + s.beginGroup(AppearanceSettingsPage::kSettingsGroup); + int iconsize = s.value(AppearanceSettingsPage::kIconSizeLeftPanelButtons, 22).toInt(); + s.endGroup(); + + ui_->move_down->setIconSize(QSize(iconsize, iconsize)); + ui_->move_up->setIconSize(QSize(iconsize, iconsize)); + ui_->remove->setIconSize(QSize(iconsize, iconsize)); + ui_->clear->setIconSize(QSize(iconsize, iconsize)); + +} + void QueueView::CurrentPlaylistChanged(Playlist *playlist) { if (current_playlist_) { diff --git a/src/queue/queueview.h b/src/queue/queueview.h index b1610c849..e69a8c1fc 100644 --- a/src/queue/queueview.h +++ b/src/queue/queueview.h @@ -39,6 +39,7 @@ class QueueView : public QWidget { ~QueueView() override; void SetPlaylistManager(PlaylistManager *manager); + void ReloadSettings(); private slots: void CurrentPlaylistChanged(Playlist *playlist); diff --git a/src/queue/queueview.ui b/src/queue/queueview.ui index 95affed18..6f52f83ba 100644 --- a/src/queue/queueview.ui +++ b/src/queue/queueview.ui @@ -50,8 +50,8 @@ - 16 - 16 + 22 + 22 @@ -69,8 +69,8 @@ - 16 - 16 + 22 + 22 @@ -89,6 +89,12 @@ + + + 22 + 22 + + @@ -101,8 +107,8 @@ - 16 - 16 + 22 + 22 diff --git a/src/settings/appearancesettingspage.cpp b/src/settings/appearancesettingspage.cpp index c922ea075..66976f231 100644 --- a/src/settings/appearancesettingspage.cpp +++ b/src/settings/appearancesettingspage.cpp @@ -75,6 +75,11 @@ const char *AppearanceSettingsPage::kTabBarSystemColor= "tab_system_color"; const char *AppearanceSettingsPage::kTabBarGradient = "tab_gradient"; const char *AppearanceSettingsPage::kTabBarColor = "tab_color"; +const char *AppearanceSettingsPage::kIconSizePlayControlButtons = "icon_size_play_control_buttons"; +const char *AppearanceSettingsPage::kIconSizePlaylistButtons = "icon_size_playlist_buttons"; +const char *AppearanceSettingsPage::kIconSizeLeftPanelButtons = "icon_size_left_panel_buttons"; +const char *AppearanceSettingsPage::kIconSizeConfigureButtons = "icon_size_configure_buttons"; + AppearanceSettingsPage::AppearanceSettingsPage(SettingsDialog *dialog) : SettingsPage(dialog), ui_(new Ui_AppearanceSettingsPage), @@ -186,6 +191,11 @@ void AppearanceSettingsPage::Load() { ui_->checkbox_background_image_keep_aspect_ratio->setEnabled(ui_->checkbox_background_image_stretch->isChecked()); ui_->checkbox_background_image_do_not_cut->setEnabled(ui_->checkbox_background_image_stretch->isChecked() && ui_->checkbox_background_image_keep_aspect_ratio->isChecked()); + ui_->spinbox_icon_size_play_control_buttons->setValue(s.value(kIconSizePlayControlButtons, 32).toInt()); + ui_->spinbox_icon_size_playlist_buttons->setValue(s.value(kIconSizePlaylistButtons, 20).toInt()); + ui_->spinbox_icon_size_left_panel_buttons->setValue(s.value(kIconSizeLeftPanelButtons, 22).toInt()); + ui_->spinbox_icon_size_configure_buttons->setValue(s.value(kIconSizeConfigureButtons, 16).toInt()); + s.endGroup(); Init(ui_->layout_appearancesettingspage->parentWidget()); @@ -245,6 +255,11 @@ void AppearanceSettingsPage::Save() { s.setValue(kTabBarGradient, ui_->tabbar_gradient->isChecked()); s.setValue(kTabBarColor, current_tabbar_bg_color_); + s.setValue(kIconSizePlayControlButtons, ui_->spinbox_icon_size_play_control_buttons->value()); + s.setValue(kIconSizePlaylistButtons, ui_->spinbox_icon_size_playlist_buttons->value()); + s.setValue(kIconSizeLeftPanelButtons, ui_->spinbox_icon_size_left_panel_buttons->value()); + s.setValue(kIconSizeConfigureButtons, ui_->spinbox_icon_size_configure_buttons->value()); + s.endGroup(); } diff --git a/src/settings/appearancesettingspage.h b/src/settings/appearancesettingspage.h index 058ffe3f8..b2c57ed4f 100644 --- a/src/settings/appearancesettingspage.h +++ b/src/settings/appearancesettingspage.h @@ -68,6 +68,11 @@ class AppearanceSettingsPage : public SettingsPage { static const char *kTabBarGradient; static const char *kTabBarColor; + static const char *kIconSizePlayControlButtons; + static const char *kIconSizePlaylistButtons; + static const char *kIconSizeLeftPanelButtons; + static const char *kIconSizeConfigureButtons; + enum BackgroundImageType { BackgroundImageType_Default, BackgroundImageType_None, diff --git a/src/settings/appearancesettingspage.ui b/src/settings/appearancesettingspage.ui index b653bc14f..f9b3bd999 100644 --- a/src/settings/appearancesettingspage.ui +++ b/src/settings/appearancesettingspage.ui @@ -7,7 +7,7 @@ 0 0 674 - 755 + 865 @@ -427,6 +427,100 @@ + + + + Icon sizes + + + + + + + + Files, playlists and queue buttons + + + + + + + Playlist buttons + + + + + + + Play control buttons + + + + + + + 16 + + + 64 + + + + + + + 16 + + + 64 + + + + + + + 16 + + + 64 + + + + + + + Configure buttons + + + + + + + 16 + + + 64 + + + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + diff --git a/src/widgets/fileview.cpp b/src/widgets/fileview.cpp index 414616ba9..2c0e5e923 100644 --- a/src/widgets/fileview.cpp +++ b/src/widgets/fileview.cpp @@ -28,6 +28,7 @@ #include #include #include +#include #include #include #include @@ -44,6 +45,7 @@ #ifdef HAVE_GSTREAMER # include "organise/organiseerrordialog.h" #endif +#include "settings/appearancesettingspage.h" const char *FileView::kFileFilter = "*.wav *.flac *.wv *.ogg *.oga *.opus *.spx *.ape *.mpc " @@ -91,12 +93,28 @@ FileView::FileView(QWidget *parent) QString filter(FileView::kFileFilter); filter_list_ << filter.split(" "); + ReloadSettings(); + } FileView::~FileView() { delete ui_; } +void FileView::ReloadSettings() { + + QSettings s; + s.beginGroup(AppearanceSettingsPage::kSettingsGroup); + int iconsize = s.value(AppearanceSettingsPage::kIconSizeLeftPanelButtons, 22).toInt(); + s.endGroup(); + + ui_->back->setIconSize(QSize(iconsize, iconsize)); + ui_->forward->setIconSize(QSize(iconsize, iconsize)); + ui_->home->setIconSize(QSize(iconsize, iconsize)); + ui_->up->setIconSize(QSize(iconsize, iconsize)); + +} + void FileView::SetPath(const QString &path) { if (!model_) lazy_set_path_ = path; diff --git a/src/widgets/fileview.h b/src/widgets/fileview.h index 946f12cc2..4e1d931a8 100644 --- a/src/widgets/fileview.h +++ b/src/widgets/fileview.h @@ -55,6 +55,8 @@ class FileView : public QWidget { static const char *kFileFilter; + void ReloadSettings(); + void SetPath(const QString &path); void SetTaskManager(TaskManager *task_manager); diff --git a/src/widgets/fileview.ui b/src/widgets/fileview.ui index cd1eac8ce..3be6f3ab6 100644 --- a/src/widgets/fileview.ui +++ b/src/widgets/fileview.ui @@ -41,8 +41,8 @@ - 16 - 16 + 22 + 22 @@ -57,8 +57,8 @@ - 16 - 16 + 22 + 22 @@ -70,8 +70,8 @@ - 16 - 16 + 22 + 22 @@ -83,8 +83,8 @@ - 16 - 16 + 22 + 22