From 6ab39cf9ef8c41efa9e563a95f29bbc2386a0c0a Mon Sep 17 00:00:00 2001 From: trialuser02 Date: Sun, 16 Jul 2017 20:45:58 +0000 Subject: qsui: added feature to change toolbar icon size git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@7310 90c681e8-e032-0410-971d-27865f9a5e38 --- src/plugins/Ui/qsui/actionmanager.cpp | 10 +++++-- src/plugins/Ui/qsui/actionmanager.h | 3 ++- src/plugins/Ui/qsui/forms/qsuisettings.ui | 43 +++++++++++++++++++++++++++++++ src/plugins/Ui/qsui/qsuisettings.cpp | 38 ++++++++++++++++++++------- src/plugins/Ui/qsui/qsuisettings.h | 1 + 5 files changed, 83 insertions(+), 12 deletions(-) (limited to 'src/plugins/Ui') diff --git a/src/plugins/Ui/qsui/actionmanager.cpp b/src/plugins/Ui/qsui/actionmanager.cpp index 36f450154..fd095ed5f 100644 --- a/src/plugins/Ui/qsui/actionmanager.cpp +++ b/src/plugins/Ui/qsui/actionmanager.cpp @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2010-2016 by Ilya Kotov * + * Copyright (C) 2010-2017 by Ilya Kotov * * forkotov02@hotmail.ru * * * * This program is free software; you can redistribute it and/or modify * @@ -23,6 +23,7 @@ #include #include #include +#include #include #include #include "actionmanager.h" @@ -237,7 +238,7 @@ QToolBar *ActionManager::createToolBar(ActionManager::ToolBarInfo info, QWidget QToolBar *toolBar = new QToolBar(info.title, parent); updateToolBar(toolBar, info); toolBar->setProperty("uid", info.uid); - toolBar->setIconSize(QSize(16,16)); + toolBar->setIconSize(info.iconSize); toolBar->setObjectName("Toolbar" + info.uid); return toolBar; } @@ -245,6 +246,7 @@ QToolBar *ActionManager::createToolBar(ActionManager::ToolBarInfo info, QWidget void ActionManager::updateToolBar(QToolBar *toolBar, ActionManager::ToolBarInfo info) { toolBar->clear(); + toolBar->setIconSize(info.iconSize); foreach (QString name, info.actionNames) { if(name == "separator") @@ -284,6 +286,9 @@ QList ActionManager::readToolBarSettings() const { QList list; QSettings settings(Qmmp::configFile(), QSettings::IniFormat); + int iconSize = settings.value("Simple/toolbar_icon_size", -1).toInt(); + if(iconSize <= 0) + iconSize = qApp->style()->pixelMetric(QStyle::PM_ToolBarIconSize); int size = settings.beginReadArray("SimpleUiToolbars"); for(int i = 0; i < size; ++i) { @@ -292,6 +297,7 @@ QList ActionManager::readToolBarSettings() const info.title = settings.value("title").toString(); info.actionNames = settings.value("actions").toStringList(); info.uid = settings.value("uid").toString(); + info.iconSize = QSize(iconSize, iconSize); list.append(info); } settings.endArray(); diff --git a/src/plugins/Ui/qsui/actionmanager.h b/src/plugins/Ui/qsui/actionmanager.h index b14de3470..e68c525e8 100644 --- a/src/plugins/Ui/qsui/actionmanager.h +++ b/src/plugins/Ui/qsui/actionmanager.h @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2010-2016 by Ilya Kotov * + * Copyright (C) 2010-2017 by Ilya Kotov * * forkotov02@hotmail.ru * * * * This program is free software; you can redistribute it and/or modify * @@ -117,6 +117,7 @@ public: QString title; QString uid; QStringList actionNames; + QSize iconSize; }; QAction *action(int type); diff --git a/src/plugins/Ui/qsui/forms/qsuisettings.ui b/src/plugins/Ui/qsui/forms/qsuisettings.ui index d24255bcd..17f5ad10b 100644 --- a/src/plugins/Ui/qsui/forms/qsuisettings.ui +++ b/src/plugins/Ui/qsui/forms/qsuisettings.ui @@ -941,6 +941,49 @@ + + + + Toolbars + + + + + + + + Icon size: + + + + + + + + + + + + Qt::Horizontal + + + + 125 + 20 + + + + + + + + Customize... + + + + + + diff --git a/src/plugins/Ui/qsui/qsuisettings.cpp b/src/plugins/Ui/qsui/qsuisettings.cpp index dc175e914..4f32123bf 100644 --- a/src/plugins/Ui/qsui/qsuisettings.cpp +++ b/src/plugins/Ui/qsui/qsuisettings.cpp @@ -29,6 +29,7 @@ #include "shortcutitem.h" #include "shortcutdialog.h" #include "popupsettings.h" +#include "toolbareditor.h" #include "qsuisettings.h" QSUISettings::QSUISettings(QWidget *parent) : QWidget(parent) @@ -36,6 +37,14 @@ QSUISettings::QSUISettings(QWidget *parent) : QWidget(parent) m_ui.setupUi(this); //setup icons m_ui.popupTemplateButton->setIcon(QIcon::fromTheme("configure")); + m_ui.customizeToolBarButton->setIcon(QIcon::fromTheme("configure")); + //icon sizes + m_ui.toolBarIconSizeComboBox->addItem(tr("Default"), -1); + m_ui.toolBarIconSizeComboBox->addItem(tr("16x16"), 16); + m_ui.toolBarIconSizeComboBox->addItem(tr("22x22"), 22); + m_ui.toolBarIconSizeComboBox->addItem(tr("32x32"), 32); + m_ui.toolBarIconSizeComboBox->addItem(tr("48x48"), 48); + m_ui.toolBarIconSizeComboBox->addItem(tr("64x64"), 64); //load settings readSettings(); loadFonts(); @@ -127,6 +136,21 @@ void QSUISettings::on_popupTemplateButton_clicked() p->deleteLater(); } +void QSUISettings::on_customizeToolBarButton_clicked() +{ + ToolBarEditor editor(this); + editor.exec(); +} + +void QSUISettings::on_resetFontsButton_clicked() +{ + QSettings settings (Qmmp::configFile(), QSettings::IniFormat); + settings.remove("Simple/pl_font"); + settings.remove("Simple/pl_tabs_font"); + settings.remove("Simple/pl_header_font"); + loadFonts(); +} + void QSUISettings::readSettings() { QSettings settings (Qmmp::configFile(), QSettings::IniFormat); @@ -170,6 +194,9 @@ void QSUISettings::readSettings() m_ui.plTextHlCurrentColor->setColor(settings.value("pl_hl_text_color", highlighted).toString()); m_ui.plGrBgColor->setColor(settings.value("pl_group_bg", group_bg).toString()); m_ui.plGrTextColor->setColor(settings.value("pl_group_text", group_text).toString()); + //toolbar + int index = m_ui.toolBarIconSizeComboBox->findData(settings.value("toolbar_icon_size", -1).toInt()); + m_ui.toolBarIconSizeComboBox->setCurrentIndex(index > 0 ? index : 0); settings.endGroup(); } @@ -207,18 +234,11 @@ void QSUISettings::writeSettings() settings.setValue("pl_tabs_font", m_ui.tabsFontLabel->font().toString()); settings.setValue("pl_header_font", m_ui.columnFontLabel->font().toString()); settings.setValue("use_system_fonts", m_ui.systemFontsCheckBox->isChecked()); + int index = m_ui.toolBarIconSizeComboBox->currentIndex(); + settings.setValue("toolbar_icon_size", m_ui.toolBarIconSizeComboBox->itemData(index)); settings.endGroup(); } -void QSUISettings::on_resetFontsButton_clicked() -{ - QSettings settings (Qmmp::configFile(), QSettings::IniFormat); - settings.remove("Simple/pl_font"); - settings.remove("Simple/pl_tabs_font"); - settings.remove("Simple/pl_header_font"); - loadFonts(); -} - void QSUISettings::addWindowTitleString(const QString &str) { if (m_ui.windowTitleLineEdit->cursorPosition () < 1) diff --git a/src/plugins/Ui/qsui/qsuisettings.h b/src/plugins/Ui/qsui/qsuisettings.h index ea052aab1..e94a72de5 100644 --- a/src/plugins/Ui/qsui/qsuisettings.h +++ b/src/plugins/Ui/qsui/qsuisettings.h @@ -42,6 +42,7 @@ private slots: void on_columnFontButton_clicked(); void on_tabsFontButton_clicked(); void on_popupTemplateButton_clicked(); + void on_customizeToolBarButton_clicked(); void on_resetFontsButton_clicked(); void addWindowTitleString(const QString &str); -- cgit v1.2.3-13-gbd6f