aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/plugins/Ui/qsui/forms/qsuisettings.ui208
-rw-r--r--src/plugins/Ui/qsui/listwidgetdrawer.cpp38
-rw-r--r--src/plugins/Ui/qsui/listwidgetdrawer.h3
-rw-r--r--src/plugins/Ui/qsui/qsuisettings.cpp4
4 files changed, 163 insertions, 90 deletions
diff --git a/src/plugins/Ui/qsui/forms/qsuisettings.ui b/src/plugins/Ui/qsui/forms/qsuisettings.ui
index 17f5ad10b..b9d90c6aa 100644
--- a/src/plugins/Ui/qsui/forms/qsuisettings.ui
+++ b/src/plugins/Ui/qsui/forms/qsuisettings.ui
@@ -89,6 +89,13 @@
</widget>
</item>
<item>
+ <widget class="QCheckBox" name="showSplittersCheckBox">
+ <property name="text">
+ <string>Show splitters</string>
+ </property>
+ </widget>
+ </item>
+ <item>
<widget class="QCheckBox" name="popupCheckBox">
<property name="text">
<string>Show popup information</string>
@@ -417,15 +424,8 @@
<property name="margin">
<number>0</number>
</property>
- <item row="0" column="0">
- <widget class="QLabel" name="label_7">
- <property name="text">
- <string>Background #1:</string>
- </property>
- </widget>
- </item>
- <item row="0" column="1">
- <widget class="ColorWidget" name="plBg1Color">
+ <item row="3" column="1">
+ <widget class="ColorWidget" name="plGrBgColor">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
@@ -438,26 +438,16 @@
<height>20</height>
</size>
</property>
- <property name="maximumSize">
- <size>
- <width>20</width>
- <height>20</height>
- </size>
- </property>
<property name="frameShape">
<enum>QFrame::Box</enum>
</property>
- </widget>
- </item>
- <item row="0" column="3">
- <widget class="QLabel" name="label_10">
- <property name="text">
- <string>Normal text:</string>
+ <property name="frameShadow">
+ <enum>QFrame::Plain</enum>
</property>
</widget>
</item>
- <item row="0" column="4">
- <widget class="ColorWidget" name="plTextNormalColor">
+ <item row="2" column="1">
+ <widget class="ColorWidget" name="plHlColor">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
@@ -481,10 +471,17 @@
</property>
</widget>
</item>
- <item row="1" column="0">
- <widget class="QLabel" name="label_8">
+ <item row="0" column="0">
+ <widget class="QLabel" name="label_7">
<property name="text">
- <string>Background #2:</string>
+ <string>Background #1:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="3">
+ <widget class="QLabel" name="label_12">
+ <property name="text">
+ <string>Highlighted text:</string>
</property>
</widget>
</item>
@@ -513,15 +510,36 @@
</property>
</widget>
</item>
- <item row="1" column="3">
- <widget class="QLabel" name="label_11">
+ <item row="3" column="0">
+ <widget class="QLabel" name="label_14">
<property name="text">
- <string>Current text:</string>
+ <string>Group background:</string>
</property>
</widget>
</item>
- <item row="1" column="4">
- <widget class="ColorWidget" name="plTextCurrentColor">
+ <item row="3" column="3">
+ <widget class="QLabel" name="label_15">
+ <property name="text">
+ <string>Group text:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="0">
+ <widget class="QLabel" name="label_9">
+ <property name="text">
+ <string>Highlighted background:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="3">
+ <widget class="QLabel" name="label_10">
+ <property name="text">
+ <string>Normal text:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="4">
+ <widget class="ColorWidget" name="plTextNormalColor">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
@@ -545,15 +563,8 @@
</property>
</widget>
</item>
- <item row="2" column="0">
- <widget class="QLabel" name="label_9">
- <property name="text">
- <string>Highlighted background:</string>
- </property>
- </widget>
- </item>
- <item row="2" column="1">
- <widget class="ColorWidget" name="plHlColor">
+ <item row="0" column="1">
+ <widget class="ColorWidget" name="plBg1Color">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
@@ -577,15 +588,21 @@
</property>
</widget>
</item>
- <item row="2" column="3">
- <widget class="QLabel" name="label_12">
- <property name="text">
- <string>Highlighted text:</string>
+ <item row="0" column="5" rowspan="4">
+ <spacer name="horizontalSpacer_6">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
</property>
- </widget>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>66</width>
+ <height>68</height>
+ </size>
+ </property>
+ </spacer>
</item>
- <item row="2" column="4">
- <widget class="ColorWidget" name="plTextHlCurrentColor">
+ <item row="1" column="4">
+ <widget class="ColorWidget" name="plTextCurrentColor">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
@@ -607,20 +624,37 @@
<property name="frameShape">
<enum>QFrame::Box</enum>
</property>
- <property name="frameShadow">
- <enum>QFrame::Plain</enum>
+ </widget>
+ </item>
+ <item row="0" column="2" rowspan="4">
+ <spacer name="horizontalSpacer_5">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>40</width>
+ <height>43</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item row="1" column="0">
+ <widget class="QLabel" name="label_8">
+ <property name="text">
+ <string>Background #2:</string>
</property>
</widget>
</item>
- <item row="3" column="0">
- <widget class="QLabel" name="label_14">
+ <item row="1" column="3">
+ <widget class="QLabel" name="label_11">
<property name="text">
- <string>Group background:</string>
+ <string>Current text:</string>
</property>
</widget>
</item>
- <item row="3" column="1">
- <widget class="ColorWidget" name="plGrBgColor">
+ <item row="3" column="4">
+ <widget class="ColorWidget" name="plGrTextColor">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
@@ -641,15 +675,8 @@
</property>
</widget>
</item>
- <item row="3" column="3">
- <widget class="QLabel" name="label_15">
- <property name="text">
- <string>Group text:</string>
- </property>
- </widget>
- </item>
- <item row="3" column="4">
- <widget class="ColorWidget" name="plGrTextColor">
+ <item row="2" column="4">
+ <widget class="ColorWidget" name="plTextHlCurrentColor">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
@@ -662,6 +689,12 @@
<height>20</height>
</size>
</property>
+ <property name="maximumSize">
+ <size>
+ <width>20</width>
+ <height>20</height>
+ </size>
+ </property>
<property name="frameShape">
<enum>QFrame::Box</enum>
</property>
@@ -670,31 +703,46 @@
</property>
</widget>
</item>
- <item row="0" column="5" rowspan="4">
- <spacer name="horizontalSpacer_6">
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
+ <item row="4" column="0">
+ <widget class="QLabel" name="label_19">
+ <property name="text">
+ <string>Splitter:</string>
</property>
- <property name="sizeHint" stdset="0">
+ </widget>
+ </item>
+ <item row="4" column="1">
+ <widget class="ColorWidget" name="plSplitterColor">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
<size>
- <width>66</width>
- <height>68</height>
+ <width>20</width>
+ <height>20</height>
</size>
</property>
- </spacer>
- </item>
- <item row="0" column="2" rowspan="4">
- <spacer name="horizontalSpacer_5">
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
+ <property name="maximumSize">
+ <size>
+ <width>20</width>
+ <height>20</height>
+ </size>
</property>
- <property name="sizeHint" stdset="0">
+ <property name="baseSize">
<size>
- <width>40</width>
- <height>43</height>
+ <width>20</width>
+ <height>20</height>
</size>
</property>
- </spacer>
+ <property name="frameShape">
+ <enum>QFrame::Box</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>QFrame::Plain</enum>
+ </property>
+ </widget>
</item>
</layout>
</widget>
diff --git a/src/plugins/Ui/qsui/listwidgetdrawer.cpp b/src/plugins/Ui/qsui/listwidgetdrawer.cpp
index 24c28c2bf..a11f8b757 100644
--- a/src/plugins/Ui/qsui/listwidgetdrawer.cpp
+++ b/src/plugins/Ui/qsui/listwidgetdrawer.cpp
@@ -37,6 +37,7 @@ ListWidgetDrawer::ListWidgetDrawer()
m_show_lengths = false;
m_use_system_colors = false;
m_single_column = true;
+ m_show_splitters = true;
m_row_height = 0;
m_number_width = 0;
m_padding = 0;
@@ -61,9 +62,10 @@ void ListWidgetDrawer::readSettings()
QSettings settings(Qmmp::configFile(), QSettings::IniFormat);
settings.beginGroup("Simple");
m_show_anchor = settings.value("pl_show_anchor", false).toBool();
- m_show_number = settings.value ("pl_show_numbers", true).toBool();
- m_show_lengths = settings.value ("pl_show_lengths", true).toBool();
- m_align_numbres = settings.value ("pl_align_numbers", false).toBool();
+ m_show_number = settings.value("pl_show_numbers", true).toBool();
+ m_show_lengths = settings.value("pl_show_lengths", true).toBool();
+ m_align_numbres = settings.value("pl_align_numbers", false).toBool();
+ m_show_splitters = settings.value("pl_show_splitters", true).toBool();
m_font = qApp->font("QAbstractItemView");
if(!settings.value("use_system_fonts", true).toBool())
@@ -83,6 +85,7 @@ void ListWidgetDrawer::readSettings()
m_current.setNamedColor(settings.value("pl_current_text_color",m_current.name()).toString());
m_highlighted.setNamedColor(settings.value("pl_hl_text_color",m_highlighted.name()).toString());
m_group_bg.setNamedColor(settings.value("pl_group_bg", m_group_bg.name()).toString());
+ m_splitter.setNamedColor(settings.value("pl_splitter_color", m_splitter).toString());
m_group_alt_bg = m_group_bg;
m_group_text.setNamedColor(settings.value("pl_group_text", m_group_text.name()).toString());
}
@@ -111,6 +114,7 @@ void ListWidgetDrawer::loadSystemColors()
m_highlighted = qApp->palette().color(QPalette::HighlightedText);
m_normal_bg = qApp->palette().color(QPalette::Base);
m_selected_bg = qApp->palette().color(QPalette::Highlight);
+ m_splitter = m_normal;
m_group_bg = m_normal_bg;
m_group_alt_bg = m_alternate,
m_group_text = m_normal;
@@ -278,8 +282,9 @@ void ListWidgetDrawer::drawSeparator(QPainter *painter, ListWidgetRow *row, bool
painter->drawLine(row->rect.x() + 5, sy, sx - 5, sy);
painter->drawLine(sx + m_metrics->width(row->titles[0]) + 5, sy,
row->rect.right() - row->numberColumnWidth - m_padding, sy);
- if(row->numberColumnWidth)
+ if(m_show_splitters && row->numberColumnWidth)
{
+ painter->setPen(row->flags & ListWidgetRow::SELECTED ? m_highlighted : m_splitter);
painter->drawLine(row->rect.right() - row->numberColumnWidth, row->rect.top(),
row->rect.right() - row->numberColumnWidth, row->rect.bottom() + 1);
}
@@ -289,8 +294,9 @@ void ListWidgetDrawer::drawSeparator(QPainter *painter, ListWidgetRow *row, bool
painter->drawLine(sx - 45, sy, sx - 5, sy);
painter->drawLine(sx + m_metrics->width(row->titles[0]) + 5, sy,
row->rect.width(), sy);
- if(row->numberColumnWidth)
+ if(m_show_splitters && row->numberColumnWidth)
{
+ painter->setPen(row->flags & ListWidgetRow::SELECTED ? m_highlighted : m_splitter);
painter->drawLine(row->rect.left() + row->numberColumnWidth, row->rect.top(),
row->rect.left() + row->numberColumnWidth, row->rect.bottom() + 1);
}
@@ -327,7 +333,12 @@ void ListWidgetDrawer::drawTrack(QPainter *painter, ListWidgetRow *row, bool rtl
sx -= row->numberColumnWidth;
QString number = QString("%1").arg(row->number);
painter->drawText(sx + m_padding, sy, number);
- painter->drawLine(sx, row->rect.top(), sx, row->rect.bottom() + 1);
+ if(m_show_splitters)
+ {
+ painter->setPen(row->flags & ListWidgetRow::SELECTED ? m_highlighted : m_splitter);
+ painter->drawLine(sx, row->rect.top(), sx, row->rect.bottom() + 1);
+ painter->setPen(row->flags & ListWidgetRow::SELECTED ? m_highlighted : m_normal);
+ }
}
sx -= metrics->width(row->titles[0]);
@@ -351,6 +362,7 @@ void ListWidgetDrawer::drawTrack(QPainter *painter, ListWidgetRow *row, bool rtl
{
for(int i = 0; i < row->sizes.count(); i++)
{
+ painter->setPen(row->flags & ListWidgetRow::SELECTED ? m_highlighted : m_normal);
draw_extra = (i == row->trackStateColumn && !row->extraString.isEmpty());
if(row->alignment[i] == ListWidgetRow::ALIGN_LEFT)
@@ -382,8 +394,9 @@ void ListWidgetDrawer::drawTrack(QPainter *painter, ListWidgetRow *row, bool rtl
sx -= row->sizes[i];
- if(!row->autoResize || i < row->sizes.count() - 1) //do not draw last vertical line
+ if(m_show_splitters && (!row->autoResize || i < row->sizes.count() - 1)) //do not draw last vertical line
{
+ painter->setPen(row->flags & ListWidgetRow::SELECTED ? m_highlighted : m_splitter);
painter->drawLine(sx - 1, row->rect.top(), sx - 1, row->rect.bottom() + 1);
}
}
@@ -399,7 +412,12 @@ void ListWidgetDrawer::drawTrack(QPainter *painter, ListWidgetRow *row, bool rtl
sx += row->numberColumnWidth;
QString number = QString("%1").arg(row->number);
painter->drawText(sx - m_padding - metrics->width(number), sy, number);
- painter->drawLine(sx, row->rect.top(), sx, row->rect.bottom() + 1);
+ if(m_show_splitters)
+ {
+ painter->setPen(row->flags & ListWidgetRow::SELECTED ? m_highlighted : m_splitter);
+ painter->drawLine(sx, row->rect.top(), sx, row->rect.bottom() + 1);
+ painter->setPen(row->flags & ListWidgetRow::SELECTED ? m_highlighted : m_normal);
+ }
}
painter->drawText(sx + m_padding, sy, row->titles[0]);
@@ -423,6 +441,7 @@ void ListWidgetDrawer::drawTrack(QPainter *painter, ListWidgetRow *row, bool rtl
{
for(int i = 0; i < row->sizes.count(); i++)
{
+ painter->setPen(row->flags & ListWidgetRow::SELECTED ? m_highlighted : m_normal);
draw_extra = (i == row->trackStateColumn && !row->extraString.isEmpty());
if(row->alignment[i] == ListWidgetRow::ALIGN_LEFT)
@@ -454,8 +473,9 @@ void ListWidgetDrawer::drawTrack(QPainter *painter, ListWidgetRow *row, bool rtl
sx += row->sizes[i];
- if(!row->autoResize || i < row->sizes.count() - 1) //do not draw last vertical line
+ if(m_show_splitters && (!row->autoResize || i < row->sizes.count() - 1)) //do not draw last vertical line
{
+ painter->setPen(row->flags & ListWidgetRow::SELECTED ? m_highlighted : m_splitter);
painter->drawLine(sx - 1, row->rect.top(), sx - 1, row->rect.bottom() + 1);
}
}
diff --git a/src/plugins/Ui/qsui/listwidgetdrawer.h b/src/plugins/Ui/qsui/listwidgetdrawer.h
index 269640456..0071528f1 100644
--- a/src/plugins/Ui/qsui/listwidgetdrawer.h
+++ b/src/plugins/Ui/qsui/listwidgetdrawer.h
@@ -95,7 +95,7 @@ public:
void drawDropLine(QPainter *painter, int row_number, int width, int header_height);
private:
- QColor m_normal, m_current, m_normal_bg, m_selected_bg, m_alternate, m_highlighted;
+ QColor m_normal, m_current, m_normal_bg, m_selected_bg, m_alternate, m_highlighted, m_splitter;
QColor m_group_bg, m_group_alt_bg, m_group_text;
QFontMetrics *m_metrics;
QFontMetrics *m_extra_metrics;
@@ -109,6 +109,7 @@ private:
bool m_show_lengths;
bool m_use_system_colors;
bool m_single_column;
+ bool m_show_splitters;
int m_padding;
int m_number_width;
int m_row_height;
diff --git a/src/plugins/Ui/qsui/qsuisettings.cpp b/src/plugins/Ui/qsui/qsuisettings.cpp
index 312b26b21..1b0523f58 100644
--- a/src/plugins/Ui/qsui/qsuisettings.cpp
+++ b/src/plugins/Ui/qsui/qsuisettings.cpp
@@ -161,6 +161,7 @@ void QSUISettings::readSettings()
m_ui.lengthsCheckBox->setChecked(settings.value("pl_show_lengths", true).toBool());
m_ui.alignCheckBox->setChecked(settings.value("pl_align_numbers", false).toBool());
m_ui.anchorCheckBox->setChecked(settings.value("pl_show_anchor", false).toBool());
+ m_ui.showSplittersCheckBox->setChecked(settings.value("pl_show_splitters", true).toBool());
m_ui.popupCheckBox->setChecked(settings.value("pl_show_popup", false).toBool());
//tabs
m_ui.tabsClosableCheckBox->setChecked(settings.value("pl_tabs_closable", false).toBool());
@@ -193,6 +194,7 @@ void QSUISettings::readSettings()
m_ui.plTextCurrentColor->setColor(settings.value("pl_current_text_color", current).toString());
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.plSplitterColor->setColor(settings.value("pl_splitter_color", normal).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());
@@ -209,6 +211,7 @@ void QSUISettings::writeSettings()
settings.setValue("pl_show_lengths", m_ui.lengthsCheckBox->isChecked());
settings.setValue("pl_align_numbers", m_ui.alignCheckBox->isChecked());
settings.setValue("pl_show_anchor", m_ui.anchorCheckBox->isChecked());
+ settings.setValue("pl_show_splitters", m_ui.showSplittersCheckBox->isChecked());
settings.setValue("pl_show_popup", m_ui.popupCheckBox->isChecked());
settings.setValue("pl_tabs_closable", m_ui.tabsClosableCheckBox->isChecked());
settings.setValue("pl_show_new_pl_button", m_ui.showNewPLCheckBox->isChecked());
@@ -229,6 +232,7 @@ void QSUISettings::writeSettings()
settings.setValue("pl_current_text_color", m_ui.plTextCurrentColor->colorName());
settings.setValue("pl_hl_text_color", m_ui.plTextHlCurrentColor->colorName());
settings.setValue("pl_group_bg", m_ui.plGrBgColor->colorName());
+ settings.setValue("pl_splitter_color", m_ui.plSplitterColor->colorName());
settings.setValue("pl_group_text", m_ui.plGrTextColor->colorName());
settings.setValue("pl_font", m_ui.plFontLabel->font().toString());
settings.setValue("pl_tabs_font", m_ui.tabsFontLabel->font().toString());