diff options
| author | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2017-12-17 16:44:23 +0000 |
|---|---|---|
| committer | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2017-12-17 16:44:23 +0000 |
| commit | 35b039d6d301fc9046c4f322a2d37e241574645a (patch) | |
| tree | 9b747f402622810eda94144ead364bb49b89d43a /src | |
| parent | d750507053c9fccecef8f9b41c5a34686434e582 (diff) | |
| download | qmmp-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
Diffstat (limited to 'src')
| -rw-r--r-- | src/plugins/Ui/skinned/forms/skinnedsettings.ui | 14 | ||||
| -rw-r--r-- | src/plugins/Ui/skinned/listwidgetdrawer.cpp | 29 | ||||
| -rw-r--r-- | src/plugins/Ui/skinned/listwidgetdrawer.h | 6 | ||||
| -rw-r--r-- | src/plugins/Ui/skinned/skinnedsettings.cpp | 6 |
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()); |
