aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2017-12-17 16:44:23 +0000
committertrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2017-12-17 16:44:23 +0000
commit35b039d6d301fc9046c4f322a2d37e241574645a (patch)
tree9b747f402622810eda94144ead364bb49b89d43a
parentd750507053c9fccecef8f9b41c5a34686434e582 (diff)
downloadqmmp-35b039d6d301fc9046c4f322a2d37e241574645a.tar.gz
qmmp-35b039d6d301fc9046c4f322a2d37e241574645a.tar.bz2
qmmp-35b039d6d301fc9046c4f322a2d37e241574645a.zip
skinned: added new options: 'show splitters' and 'alternate splitter
color' git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@7783 90c681e8-e032-0410-971d-27865f9a5e38
-rw-r--r--src/plugins/Ui/skinned/forms/skinnedsettings.ui14
-rw-r--r--src/plugins/Ui/skinned/listwidgetdrawer.cpp29
-rw-r--r--src/plugins/Ui/skinned/listwidgetdrawer.h6
-rw-r--r--src/plugins/Ui/skinned/skinnedsettings.cpp6
4 files changed, 41 insertions, 14 deletions
diff --git a/src/plugins/Ui/skinned/forms/skinnedsettings.ui b/src/plugins/Ui/skinned/forms/skinnedsettings.ui
index 35d412867..89d97e8eb 100644
--- a/src/plugins/Ui/skinned/forms/skinnedsettings.ui
+++ b/src/plugins/Ui/skinned/forms/skinnedsettings.ui
@@ -302,6 +302,20 @@
</widget>
</item>
<item>
+ <widget class="QCheckBox" name="showSplittersCheckBox">
+ <property name="text">
+ <string>Show splitters</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QCheckBox" name="alternateSplitterColorCheckBox">
+ <property name="text">
+ <string>Alternate splitter color</string>
+ </property>
+ </widget>
+ </item>
+ <item>
<widget class="QCheckBox" name="showNewPLCheckBox">
<property name="enabled">
<bool>false</bool>
diff --git a/src/plugins/Ui/skinned/listwidgetdrawer.cpp b/src/plugins/Ui/skinned/listwidgetdrawer.cpp
index 5d24cfe9a..cea4fb1dd 100644
--- a/src/plugins/Ui/skinned/listwidgetdrawer.cpp
+++ b/src/plugins/Ui/skinned/listwidgetdrawer.cpp
@@ -1,5 +1,5 @@
/***************************************************************************
- * Copyright (C) 2015-2016 by Ilya Kotov *
+ * Copyright (C) 2015-2017 by Ilya Kotov *
* forkotov02@ya.ru *
* *
* This program is free software; you can redistribute it and/or modify *
@@ -32,12 +32,14 @@ ListWidgetDrawer::ListWidgetDrawer()
m_skin = Skin::instance();
m_update = false;
m_show_anchor = false;
- m_show_number = false;
+ m_show_numbers = false;
m_align_numbers = false;
m_show_lengths = false;
m_single_column = true;
m_row_height = 0;
m_number_width = 0;
+ m_show_splitters = false;
+ m_alternate_splitter_color = false;
m_padding = 0;
m_metrics = 0;
m_extra_metrics = 0;
@@ -58,7 +60,9 @@ void ListWidgetDrawer::readSettings()
QSettings settings(Qmmp::configFile(), QSettings::IniFormat);
settings.beginGroup("Skinned");
m_show_anchor = settings.value("pl_show_anchor", false).toBool();
- m_show_number = settings.value ("pl_show_numbers", true).toBool();
+ m_show_numbers = settings.value ("pl_show_numbers", true).toBool();
+ m_show_splitters = settings.value("pl_show_splitters", true).toBool();
+ m_alternate_splitter_color = settings.value("pl_alt_splitter_color", false).toBool();
m_show_lengths = settings.value ("pl_show_lengths", true).toBool();
m_align_numbers = settings.value ("pl_align_numbers", false).toBool();
m_font.fromString(settings.value ("pl_font", qApp->font().toString()).toString());
@@ -97,7 +101,7 @@ int ListWidgetDrawer::numberWidth() const
void ListWidgetDrawer::calculateNumberWidth(int count)
{
//song numbers width
- if(m_show_number && m_align_numbers && count)
+ if(m_show_numbers && m_align_numbers && count)
m_number_width = m_metrics->width("9") * QString::number(count).size();
else
m_number_width = 0;
@@ -124,7 +128,7 @@ void ListWidgetDrawer::prepareRow(ListWidgetRow *row)
if(row->titles.count() == 1)
{
- if(m_show_number && !m_align_numbers)
+ if(m_show_numbers && !m_align_numbers)
row->titles[0].prepend(QString("%1").arg(row->number)+". ");
if((m_show_lengths && !row->length.isEmpty()) || !row->extraString.isEmpty())
@@ -214,13 +218,15 @@ void ListWidgetDrawer::drawSeparator(QPainter *painter, ListWidgetRow *row, bool
sy -= (m_metrics->lineSpacing()/2 - 2);
+ painter->setPen(m_normal);
if(rtl)
{
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(m_alternate_splitter_color ? m_current : m_normal);
painter->drawLine(row->rect.right() - row->numberColumnWidth, row->rect.top(),
row->rect.right() - row->numberColumnWidth, row->rect.bottom() + 1);
}
@@ -230,8 +236,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(m_alternate_splitter_color ? m_current : m_normal);
painter->drawLine(row->rect.left() + row->numberColumnWidth, row->rect.top(),
row->rect.left() + row->numberColumnWidth, row->rect.bottom() + 1);
}
@@ -316,9 +323,9 @@ void ListWidgetDrawer::drawTrack(QPainter *painter, ListWidgetRow *row, bool rtl
sx -= row->sizes[i];
- painter->setPen(m_normal);
- 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(m_alternate_splitter_color ? m_current : m_normal);
painter->drawLine(sx, row->rect.top(), sx, row->rect.bottom() + 1);
}
}
@@ -393,9 +400,9 @@ void ListWidgetDrawer::drawTrack(QPainter *painter, ListWidgetRow *row, bool rtl
sx += row->sizes[i];
- painter->setPen(m_normal);
- 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(m_alternate_splitter_color ? m_current : m_normal);
painter->drawLine(sx, row->rect.top(), sx, row->rect.bottom() + 1);
}
}
diff --git a/src/plugins/Ui/skinned/listwidgetdrawer.h b/src/plugins/Ui/skinned/listwidgetdrawer.h
index 8999590c0..4ae907d74 100644
--- a/src/plugins/Ui/skinned/listwidgetdrawer.h
+++ b/src/plugins/Ui/skinned/listwidgetdrawer.h
@@ -1,5 +1,5 @@
/***************************************************************************
- * Copyright (C) 2015-2016 by Ilya Kotov *
+ * Copyright (C) 2015-2017 by Ilya Kotov *
* forkotov02@ya.ru *
* *
* This program is free software; you can redistribute it and/or modify *
@@ -102,11 +102,13 @@ private:
QFontMetrics *m_extra_metrics;
QFont m_font, m_extra_font;
bool m_update;
- bool m_show_number;
+ bool m_show_numbers;
bool m_show_anchor;
bool m_align_numbers;
bool m_show_lengths;
bool m_single_column;
+ bool m_show_splitters;
+ bool m_alternate_splitter_color;
int m_padding;
int m_number_width;
int m_row_height;
diff --git a/src/plugins/Ui/skinned/skinnedsettings.cpp b/src/plugins/Ui/skinned/skinnedsettings.cpp
index 98037f256..a2b75d29d 100644
--- a/src/plugins/Ui/skinned/skinnedsettings.cpp
+++ b/src/plugins/Ui/skinned/skinnedsettings.cpp
@@ -233,7 +233,7 @@ void SkinnedSettings::addWindowTitleString(const QString &str)
if (m_ui.windowTitleLineEdit->cursorPosition () < 1)
m_ui.windowTitleLineEdit->insert(str);
else
- m_ui.windowTitleLineEdit->insert(" - "+str);
+ m_ui.windowTitleLineEdit->insert(" - " + str);
}
void SkinnedSettings::readSettings()
@@ -247,6 +247,8 @@ void SkinnedSettings::readSettings()
m_ui.alignCheckBox->setChecked(settings.value("pl_align_numbers", false).toBool());
m_ui.anchorCheckBox->setChecked(settings.value("pl_show_anchor", false).toBool());
m_ui.playlistsCheckBox->setChecked(settings.value("pl_show_plalists", false).toBool());
+ m_ui.showSplittersCheckBox->setChecked(settings.value("pl_show_splitters", true).toBool());
+ m_ui.alternateSplitterColorCheckBox->setChecked(settings.value("pl_alt_splitter_color", false).toBool());
m_ui.popupCheckBox->setChecked(settings.value("pl_show_popup", false).toBool());
m_ui.plSeplineEdit->setText(settings.value("pl_separator", "::").toString());
m_ui.showNewPLCheckBox->setChecked(settings.value("pl_show_create_button", false).toBool());
@@ -273,6 +275,8 @@ void SkinnedSettings::writeSettings()
settings.setValue ("pl_align_numbers", m_ui.alignCheckBox->isChecked());
settings.setValue ("pl_show_anchor", m_ui.anchorCheckBox->isChecked());
settings.setValue ("pl_show_plalists", m_ui.playlistsCheckBox->isChecked());
+ settings.setValue ("pl_show_splitters", m_ui.showSplittersCheckBox->isChecked());
+ settings.setValue ("pl_alt_splitter_color", m_ui.alternateSplitterColorCheckBox->isChecked());
settings.setValue ("pl_show_popup", m_ui.popupCheckBox->isChecked());
settings.setValue ("pl_separator", m_ui.plSeplineEdit->text());
settings.setValue ("pl_show_create_button", m_ui.showNewPLCheckBox->isChecked());