From f9e340bec72f62cb8a775d9f1c43b71895295197 Mon Sep 17 00:00:00 2001 From: trialuser02 Date: Sun, 2 Aug 2020 16:54:23 +0000 Subject: refactoring git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@9457 90c681e8-e032-0410-971d-27865f9a5e38 --- src/plugins/Ui/skinned/listwidgetdrawer.cpp | 59 +++++++++++------------------ src/plugins/Ui/skinned/listwidgetdrawer.h | 30 ++++++--------- 2 files changed, 34 insertions(+), 55 deletions(-) (limited to 'src') 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; diff --git a/src/plugins/Ui/skinned/listwidgetdrawer.h b/src/plugins/Ui/skinned/listwidgetdrawer.h index ce942a621..a46c50bbb 100644 --- a/src/plugins/Ui/skinned/listwidgetdrawer.h +++ b/src/plugins/Ui/skinned/listwidgetdrawer.h @@ -27,9 +27,7 @@ #include #include - class QPainter; -class Skin; class PlayListHeaderModel; struct ListWidgetRow @@ -83,7 +81,6 @@ public: ~ListWidgetDrawer(); void readSettings(); - void loadSkinColors(); int rowHeight() const; int numberWidth() const; void calculateNumberWidth(int count); @@ -98,22 +95,19 @@ public: private: QColor m_normal, m_current, m_normal_bg, m_selected_bg, m_alternate_bg, m_highlighted, m_splitter; QColor m_group_bg, m_group_alt_bg, m_group_text, m_current_bg, m_current_alt_bg; - Skin *m_skin; - QFontMetrics *m_metrics; - QFontMetrics *m_extra_metrics; + QFontMetrics *m_metrics = nullptr; + QFontMetrics *m_extra_metrics = nullptr; QFont m_font, m_extra_font; - bool m_update; - bool m_show_numbers; - bool m_show_anchor; - bool m_align_numbers; - bool m_show_lengths; - bool m_use_skin_colors; - bool m_single_column; - bool m_show_splitters; - bool m_alternate_splitter_color; - int m_padding; - int m_number_width; - int m_row_height; + bool m_show_numbers = false; + bool m_show_anchor = false; + bool m_align_numbers = false; + bool m_show_lengths = false; + bool m_use_skin_colors = false; + bool m_single_column = false; + bool m_show_splitters = false; + int m_padding = 0; + int m_number_width = 0; + int m_row_height = 0; }; #endif // LISTWIDGETDRAWER_H -- cgit v1.2.3-13-gbd6f