aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/plugins/Ui/qsui/actionmanager.cpp10
-rw-r--r--src/plugins/Ui/qsui/actionmanager.h3
-rw-r--r--src/plugins/Ui/qsui/forms/qsuisettings.ui43
-rw-r--r--src/plugins/Ui/qsui/qsuisettings.cpp38
-rw-r--r--src/plugins/Ui/qsui/qsuisettings.h1
5 files changed, 83 insertions, 12 deletions
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 <QIcon>
#include <QFile>
#include <QApplication>
+#include <QStyle>
#include <QWidgetAction>
#include <qmmp/qmmp.h>
#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::ToolBarInfo> ActionManager::readToolBarSettings() const
{
QList<ToolBarInfo> 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::ToolBarInfo> 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
@@ -942,6 +942,49 @@
</widget>
</item>
<item>
+ <widget class="QGroupBox" name="groupBox_7">
+ <property name="title">
+ <string>Toolbars</string>
+ </property>
+ <layout class="QHBoxLayout" name="horizontalLayout_5">
+ <item>
+ <layout class="QFormLayout" name="formLayout">
+ <item row="0" column="0">
+ <widget class="QLabel" name="label_18">
+ <property name="text">
+ <string>Icon size:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QComboBox" name="toolBarIconSizeComboBox"/>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <spacer name="horizontalSpacer_8">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>125</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item>
+ <widget class="QPushButton" name="customizeToolBarButton">
+ <property name="text">
+ <string>Customize...</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item>
<spacer name="verticalSpacer_2">
<property name="orientation">
<enum>Qt::Vertical</enum>
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);