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 | |
| 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
| -rw-r--r-- | src/plugins/Ui/skinned/listwidgetdrawer.cpp | 59 | ||||
| -rw-r--r-- | src/plugins/Ui/skinned/listwidgetdrawer.h | 30 |
2 files changed, 34 insertions, 55 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; 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 <QRect> #include <QFontMetrics> - 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 |
