diff options
| author | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2020-08-02 16:54:23 +0000 |
|---|---|---|
| committer | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2020-08-02 16:54:23 +0000 |
| commit | f9e340bec72f62cb8a775d9f1c43b71895295197 (patch) | |
| tree | ea8bac23980044d78a2af462b0fa15757cfde3c7 /src/plugins/Ui/skinned/listwidgetdrawer.cpp | |
| parent | a44da4740e336afaf0a645d68659cc5effa5d505 (diff) | |
| download | qmmp-f9e340bec72f62cb8a775d9f1c43b71895295197.tar.gz qmmp-f9e340bec72f62cb8a775d9f1c43b71895295197.tar.bz2 qmmp-f9e340bec72f62cb8a775d9f1c43b71895295197.zip | |
refactoring
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@9457 90c681e8-e032-0410-971d-27865f9a5e38
Diffstat (limited to 'src/plugins/Ui/skinned/listwidgetdrawer.cpp')
| -rw-r--r-- | src/plugins/Ui/skinned/listwidgetdrawer.cpp | 59 |
1 files changed, 22 insertions, 37 deletions
diff --git a/src/plugins/Ui/skinned/listwidgetdrawer.cpp b/src/plugins/Ui/skinned/listwidgetdrawer.cpp index e87387612..af7c181a3 100644 --- a/src/plugins/Ui/skinned/listwidgetdrawer.cpp +++ b/src/plugins/Ui/skinned/listwidgetdrawer.cpp @@ -33,20 +33,6 @@ ListWidgetDrawer::ListWidgetDrawer() { - m_skin = Skin::instance(); - m_update = false; - m_show_anchor = 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 = nullptr; - m_extra_metrics = nullptr; readSettings(); } @@ -65,16 +51,31 @@ void ListWidgetDrawer::readSettings() m_show_anchor = settings.value("pl_show_anchor", false).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()); m_extra_font = m_font; m_extra_font.setPointSize(m_font.pointSize() - 1); m_use_skin_colors = settings.value("pl_use_skin_colors", true).toBool(); - loadSkinColors(); - if(!m_use_skin_colors) + if(m_use_skin_colors) + { + Skin *skin = Skin::instance(); + bool alternate_splitter_color = settings.value("pl_alt_splitter_color", false).toBool(); + m_normal.setNamedColor(skin->getPLValue("normal")); + m_current.setNamedColor(skin->getPLValue("current")); + m_normal_bg.setNamedColor(skin->getPLValue("normalbg")); + m_selected_bg.setNamedColor(skin->getPLValue("selectedbg")); + m_alternate_bg = m_normal_bg; + m_highlighted = m_normal; + m_splitter = alternate_splitter_color ? m_current : m_normal; + m_group_bg = m_normal_bg; + m_group_alt_bg = m_normal_bg; + m_group_text = m_normal; + m_current_bg = m_normal_bg; + m_current_alt_bg = m_normal_bg; + } + else { m_normal_bg.setNamedColor(settings.value("pl_bg1_color", m_normal_bg.name()).toString()); m_alternate_bg.setNamedColor(settings.value("pl_bg2_color", m_alternate_bg.name()).toString()); @@ -108,34 +109,18 @@ void ListWidgetDrawer::readSettings() settings.endGroup(); - if (m_update) - { + if(m_metrics) delete m_metrics; + + if(m_extra_metrics) delete m_extra_metrics; - } - m_update = true; + m_metrics = new QFontMetrics(m_font); m_extra_metrics = new QFontMetrics(m_extra_font); m_padding = m_metrics->horizontalAdvance("9")/2; m_row_height = m_metrics->lineSpacing() + 1; } -void ListWidgetDrawer::loadSkinColors() -{ - m_normal.setNamedColor(m_skin->getPLValue("normal")); - m_current.setNamedColor(m_skin->getPLValue("current")); - m_normal_bg.setNamedColor(m_skin->getPLValue("normalbg")); - m_selected_bg.setNamedColor(m_skin->getPLValue("selectedbg")); - m_alternate_bg = m_normal_bg; - m_highlighted = m_normal; - m_splitter = m_alternate_splitter_color ? m_current : m_normal; - m_group_bg = m_normal_bg; - m_group_alt_bg = m_normal_bg; - m_group_text = m_normal; - m_current_bg = m_normal_bg; - m_current_alt_bg = m_normal_bg; -} - int ListWidgetDrawer::rowHeight() const { return m_row_height; |
