diff options
| author | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2020-08-02 19:44:28 +0000 |
|---|---|---|
| committer | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2020-08-02 19:44:28 +0000 |
| commit | f90557b42a0704a949e33b88647146612d32f6da (patch) | |
| tree | 0fe97bf14c1e3b3b0cc80629f7ca2c62087333e3 /src/plugins/Ui/skinned | |
| parent | f9e340bec72f62cb8a775d9f1c43b71895295197 (diff) | |
| download | qmmp-f90557b42a0704a949e33b88647146612d32f6da.tar.gz qmmp-f90557b42a0704a949e33b88647146612d32f6da.tar.bz2 qmmp-f90557b42a0704a949e33b88647146612d32f6da.zip | |
skinned: apply custom colors to header and playlist selector
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@9458 90c681e8-e032-0410-971d-27865f9a5e38
Diffstat (limited to 'src/plugins/Ui/skinned')
| -rw-r--r-- | src/plugins/Ui/skinned/listwidget.cpp | 1 | ||||
| -rw-r--r-- | src/plugins/Ui/skinned/listwidgetdrawer.cpp | 25 | ||||
| -rw-r--r-- | src/plugins/Ui/skinned/listwidgetdrawer.h | 3 | ||||
| -rw-r--r-- | src/plugins/Ui/skinned/playlist.cpp | 2 | ||||
| -rw-r--r-- | src/plugins/Ui/skinned/playlistheader.cpp | 59 | ||||
| -rw-r--r-- | src/plugins/Ui/skinned/playlistheader.h | 34 | ||||
| -rw-r--r-- | src/plugins/Ui/skinned/playlistselector.cpp | 101 | ||||
| -rw-r--r-- | src/plugins/Ui/skinned/playlistselector.h | 37 |
8 files changed, 134 insertions, 128 deletions
diff --git a/src/plugins/Ui/skinned/listwidget.cpp b/src/plugins/Ui/skinned/listwidget.cpp index a8b3fcbfd..bb5fff5f7 100644 --- a/src/plugins/Ui/skinned/listwidget.cpp +++ b/src/plugins/Ui/skinned/listwidget.cpp @@ -496,6 +496,7 @@ void ListWidget::setViewPosition(int sc) void ListWidget::updateSkin() { m_drawer.readSettings(); + m_header->readSettings(); update(); } diff --git a/src/plugins/Ui/skinned/listwidgetdrawer.cpp b/src/plugins/Ui/skinned/listwidgetdrawer.cpp index af7c181a3..301bf7b61 100644 --- a/src/plugins/Ui/skinned/listwidgetdrawer.cpp +++ b/src/plugins/Ui/skinned/listwidgetdrawer.cpp @@ -56,9 +56,8 @@ void ListWidgetDrawer::readSettings() 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(); - if(m_use_skin_colors) + if(settings.value("pl_use_skin_colors", true).toBool()) { Skin *skin = Skin::instance(); bool alternate_splitter_color = settings.value("pl_alt_splitter_color", false).toBool(); @@ -67,7 +66,7 @@ void ListWidgetDrawer::readSettings() 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_selected_text = m_normal; m_splitter = alternate_splitter_color ? m_current : m_normal; m_group_bg = m_normal_bg; m_group_alt_bg = m_normal_bg; @@ -81,8 +80,8 @@ void ListWidgetDrawer::readSettings() m_alternate_bg.setNamedColor(settings.value("pl_bg2_color", m_alternate_bg.name()).toString()); m_selected_bg.setNamedColor(settings.value("pl_highlight_color", m_selected_bg.name()).toString()); m_normal.setNamedColor(settings.value("pl_normal_text_color", m_normal.name()).toString()); - m_current.setNamedColor(settings.value("pl_current_text_color",m_current.name()).toString()); - m_highlighted.setNamedColor(settings.value("pl_hl_text_color",m_highlighted.name()).toString()); + m_current.setNamedColor(settings.value("pl_current_text_color", m_current.name()).toString()); + m_selected_text.setNamedColor(settings.value("pl_hl_text_color", m_selected_text.name()).toString()); m_splitter.setNamedColor(settings.value("pl_splitter_color", m_splitter).toString()); m_group_text.setNamedColor(settings.value("pl_group_text", m_group_text.name()).toString()); if(settings.value("pl_override_group_bg", false).toBool()) @@ -278,7 +277,7 @@ void ListWidgetDrawer::drawSeparator(QPainter *painter, ListWidgetRow *row, bool int sy = row->rect.y() + m_metrics->overlinePos() - 1; painter->setFont(m_font); - painter->setPen(row->flags & ListWidgetRow::SELECTED ? m_highlighted : m_group_text); + painter->setPen(row->flags & ListWidgetRow::SELECTED ? m_selected_text : m_group_text); if(rtl) sx = row->rect.right() - sx - m_metrics->horizontalAdvance(row->titles[0]); @@ -324,7 +323,11 @@ void ListWidgetDrawer::drawTrack(QPainter *painter, ListWidgetRow *row, bool rtl bool draw_extra = false; painter->setFont(m_font); - QColor textColor = row->flags & ListWidgetRow::CURRENT ? m_current : m_normal; + QColor textColor = m_normal; + if(row->flags & ListWidgetRow::CURRENT) + textColor = m_current; + else if(row->flags & ListWidgetRow::SELECTED) + textColor = m_selected_text; painter->setPen(textColor); @@ -340,7 +343,7 @@ void ListWidgetDrawer::drawTrack(QPainter *painter, ListWidgetRow *row, bool rtl painter->drawText(sx + m_padding, sy, number); if(m_show_splitters) { - painter->setPen(row->flags & ListWidgetRow::SELECTED ? m_highlighted : m_splitter); + painter->setPen(row->flags & ListWidgetRow::SELECTED ? m_selected_text : m_splitter); painter->drawLine(sx, row->rect.top(), sx, row->rect.bottom() + 1); painter->setPen(textColor); } @@ -402,7 +405,7 @@ void ListWidgetDrawer::drawTrack(QPainter *painter, ListWidgetRow *row, bool rtl if(m_show_splitters && (!row->autoResize || i < row->sizes.count() - 1)) //do not draw last vertical line { - painter->setPen(row->flags & ListWidgetRow::SELECTED ? m_highlighted : m_splitter); + painter->setPen(row->flags & ListWidgetRow::SELECTED ? m_selected_text : m_splitter); painter->drawLine(sx, row->rect.top(), sx, row->rect.bottom() + 1); } } @@ -421,7 +424,7 @@ void ListWidgetDrawer::drawTrack(QPainter *painter, ListWidgetRow *row, bool rtl painter->drawText(sx - m_padding - m_metrics->horizontalAdvance(number), sy, number); if(m_show_splitters) { - painter->setPen(row->flags & ListWidgetRow::SELECTED ? m_highlighted : m_splitter); + painter->setPen(row->flags & ListWidgetRow::SELECTED ? m_selected_text : m_splitter); painter->drawLine(sx, row->rect.top(), sx, row->rect.bottom() + 1); painter->setPen(textColor); } @@ -483,7 +486,7 @@ void ListWidgetDrawer::drawTrack(QPainter *painter, ListWidgetRow *row, bool rtl if(m_show_splitters && (!row->autoResize || i < row->sizes.count() - 1)) //do not draw last vertical line { - painter->setPen(row->flags & ListWidgetRow::SELECTED ? m_highlighted : m_splitter); + painter->setPen(row->flags & ListWidgetRow::SELECTED ? m_selected_text : m_splitter); 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 a46c50bbb..769ce334e 100644 --- a/src/plugins/Ui/skinned/listwidgetdrawer.h +++ b/src/plugins/Ui/skinned/listwidgetdrawer.h @@ -93,7 +93,7 @@ public: void drawDropLine(QPainter *painter, int row_number, int width, int header_height); private: - QColor m_normal, m_current, m_normal_bg, m_selected_bg, m_alternate_bg, m_highlighted, m_splitter; + QColor m_normal, m_current, m_normal_bg, m_selected_bg, m_alternate_bg, m_selected_text, m_splitter; QColor m_group_bg, m_group_alt_bg, m_group_text, m_current_bg, m_current_alt_bg; QFontMetrics *m_metrics = nullptr; QFontMetrics *m_extra_metrics = nullptr; @@ -102,7 +102,6 @@ private: 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; diff --git a/src/plugins/Ui/skinned/playlist.cpp b/src/plugins/Ui/skinned/playlist.cpp index 3d4e9bab8..bcedd034e 100644 --- a/src/plugins/Ui/skinned/playlist.cpp +++ b/src/plugins/Ui/skinned/playlist.cpp @@ -577,6 +577,8 @@ void PlayList::keyPressEvent (QKeyEvent *ke) void PlayList::updateSkin() { + if(m_pl_selector) + m_pl_selector->readSettings(); setCursor(m_skin->getCursor(Skin::CUR_PNORMAL)); // TODO shaded m_resizeWidget->setCursor(m_skin->getCursor (Skin::CUR_PSIZE)); m_ratio = m_skin->ratio(); diff --git a/src/plugins/Ui/skinned/playlistheader.cpp b/src/plugins/Ui/skinned/playlistheader.cpp index 22ee0e023..0c858e0a7 100644 --- a/src/plugins/Ui/skinned/playlistheader.cpp +++ b/src/plugins/Ui/skinned/playlistheader.cpp @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2015-2016 by Ilya Kotov * + * Copyright (C) 2015-2020 by Ilya Kotov * * forkotov02@ya.ru * * * * This program is free software; you can redistribute it and/or modify * @@ -73,17 +73,7 @@ PlayListHeader::PlayListHeader(QWidget *parent) : QWidget(parent) { setMouseTracking(true); - m_metrics = nullptr; - m_padding = 0; - m_pl_padding = 0; - m_number_width = 0; - m_offset = 0; - m_sorting_column = -1; - m_reverted = false; - m_auto_resize = false; - m_task = NO_TASK; m_model = PlayListManager::instance()->headerModel(); - m_skin = Skin::instance(); //menus m_menu = new QMenu(this); @@ -109,12 +99,10 @@ PlayListHeader::PlayListHeader(QWidget *parent) : m_menu->addSeparator(); m_menu->addAction(QIcon::fromTheme("list-remove"), tr("Remove Column"), this, SLOT(removeColumn())); - connect(m_skin, SIGNAL(skinChanged()), this, SLOT(updateSkin())); connect(m_model, SIGNAL(columnAdded(int)), SLOT(onColumnAdded(int))); connect(m_model, SIGNAL(columnRemoved(int)), SLOT(onColumnRemoved())); connect(m_model, SIGNAL(columnMoved(int,int)), SLOT(updateColumns())); connect(m_model, SIGNAL(columnChanged(int)), SLOT(updateColumns())); - loadColors(); readSettings(); } @@ -172,6 +160,29 @@ void PlayListHeader::readSettings() } } + if(settings.value("pl_use_skin_colors", true).toBool()) + { + Skin *skin = Skin::instance(); + m_normal.setNamedColor(skin->getPLValue("normal")); + m_current.setNamedColor(skin->getPLValue("current")); + m_normal_bg.setNamedColor(skin->getPLValue("normalbg")); + } + else + { + m_normal_bg.setNamedColor(settings.value("pl_bg1_color", m_normal_bg.name()).toString()); + m_normal.setNamedColor(settings.value("pl_normal_text_color", m_normal.name()).toString()); + m_current.setNamedColor(settings.value("pl_current_text_color",m_current.name()).toString()); + } + + QPixmap px1(skinned_arrow_up_xpm); + QPixmap px2(skinned_arrow_down_xpm); + m_arrow_up = px1; + m_arrow_down = px2; + m_arrow_up.fill(m_normal_bg); + m_arrow_down.fill(m_normal_bg); + m_arrow_up.setMask(px1.createMaskFromColor(Qt::transparent)); + m_arrow_down.setMask(px2.createMaskFromColor(Qt::transparent)); + settings.endGroup(); updateColumns(); @@ -318,12 +329,6 @@ void PlayListHeader::hideSortIndicator() } } -void PlayListHeader::updateSkin() -{ - loadColors(); - update(); -} - void PlayListHeader::addColumn() { int column = findColumn(m_pressed_pos); @@ -804,22 +809,6 @@ void PlayListHeader::paintEvent(QPaintEvent *) } } -void PlayListHeader::loadColors() -{ - m_normal.setNamedColor(m_skin->getPLValue("normal")); - m_normal_bg.setNamedColor(m_skin->getPLValue("normalbg")); - m_current.setNamedColor(m_skin->getPLValue("current")); - - QPixmap px1(skinned_arrow_up_xpm); - QPixmap px2(skinned_arrow_down_xpm); - m_arrow_up = px1; - m_arrow_down = px2; - m_arrow_up.fill(m_normal_bg); - m_arrow_down.fill(m_normal_bg); - m_arrow_up.setMask(px1.createMaskFromColor(Qt::transparent)); - m_arrow_down.setMask(px2.createMaskFromColor(Qt::transparent)); -} - void PlayListHeader::adjustColumn(int index) { int w = 0; diff --git a/src/plugins/Ui/skinned/playlistheader.h b/src/plugins/Ui/skinned/playlistheader.h index ce0d8564c..572b47174 100644 --- a/src/plugins/Ui/skinned/playlistheader.h +++ b/src/plugins/Ui/skinned/playlistheader.h @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2015-2016 by Ilya Kotov * + * Copyright (C) 2015-2020 by Ilya Kotov * * forkotov02@ya.ru * * * * This program is free software; you can redistribute it and/or modify * @@ -31,7 +31,6 @@ class QMouseEvent; class QContextMenuEvent; class QMenu; class QAction; -class Skin; class PlayListHeaderModel; /** @@ -61,7 +60,6 @@ public slots: void hideSortIndicator(); private slots: - void updateSkin(); void addColumn(); void editColumn(); void removeColumn(); @@ -78,7 +76,6 @@ private: void resizeEvent(QResizeEvent *e) override; void contextMenuEvent(QContextMenuEvent *e) override; void paintEvent(QPaintEvent *) override; - void loadColors(); void adjustColumn(int index); int autoResizeColumn() const; int findColumn(QPoint pos); @@ -98,27 +95,26 @@ private: ALIGNMENT }; - Skin *m_skin; - QFontMetrics *m_metrics; + QFontMetrics *m_metrics = nullptr; QMenu *m_menu, *m_alignmentMenu; QFont m_font; QColor m_normal, m_normal_bg, m_current; QPoint m_pressed_pos; QPoint m_mouse_pos; PlayListHeaderModel *m_model; - QAction *m_trackStateAction; - QAction *m_autoResizeAction; + QAction *m_trackStateAction = nullptr; + QAction *m_autoResizeAction = nullptr; QPixmap m_arrow_up, m_arrow_down; - bool m_reverted; - bool m_auto_resize; - int m_number_width; - int m_pressed_column; - int m_old_size; - int m_press_offset; - int m_padding; - int m_pl_padding; - int m_sorting_column; - int m_offset; + bool m_reverted = false; + bool m_auto_resize = false; + int m_number_width = 0; + int m_pressed_column = -1; + int m_old_size = 0; + int m_press_offset = 0; + int m_padding = 0; + int m_pl_padding = 0; + int m_sorting_column = -1; + int m_offset = 0; enum @@ -127,7 +123,7 @@ private: RESIZE, MOVE, SORT - } m_task; + } m_task = NO_TASK; }; diff --git a/src/plugins/Ui/skinned/playlistselector.cpp b/src/plugins/Ui/skinned/playlistselector.cpp index b820aaac0..3715104ed 100644 --- a/src/plugins/Ui/skinned/playlistselector.cpp +++ b/src/plugins/Ui/skinned/playlistselector.cpp @@ -40,17 +40,8 @@ PlayListSelector::PlayListSelector(PlayListManager *manager, QWidget *parent) : QWidget(parent) { - m_scrollable = false; - m_moving = false; - m_offset = 0; - m_offset_max = 0; - m_metrics = nullptr; - m_pressed_button = BUTTON_UNKNOWN; - m_skin = Skin::instance(); m_pl_manager = manager; connect(m_pl_manager, SIGNAL(playListsChanged()), SLOT(updateTabs())); - connect(m_skin, SIGNAL(skinChanged()), this, SLOT(updateSkin())); - loadColors(); readSettings(); m_menu = new QMenu(this); m_menu->addAction(ACTION(ActionManager::PL_LOAD)); @@ -70,18 +61,49 @@ PlayListSelector::~PlayListSelector() void PlayListSelector::readSettings() { QSettings settings(Qmmp::configFile(), QSettings::IniFormat); - m_font.fromString(settings.value("Skinned/pl_font", QApplication::font().toString()).toString()); + settings.beginGroup("Skinned"); + m_font.fromString(settings.value("pl_font", QApplication::font().toString()).toString()); if (m_metrics) { delete m_metrics; m_metrics = nullptr; } m_metrics = new QFontMetrics(m_font); - m_pl_separator = settings.value("Skinned/pl_separator", "::").toString(); - m_show_new_pl_button = settings.value("Skinned/pl_show_create_button", false).toBool(); + m_pl_separator = settings.value("pl_separator", "::").toString(); + m_show_new_pl_button = settings.value("pl_show_create_button", false).toBool(); + + if(settings.value("pl_use_skin_colors", true).toBool()) + { + Skin *skin = Skin::instance(); + 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_selected_text = m_normal; + m_current_bg = m_normal_bg; + } + else + { + m_normal_bg.setNamedColor(settings.value("pl_bg1_color", m_normal_bg.name()).toString()); + m_selected_bg.setNamedColor(settings.value("pl_highlight_color", m_selected_bg.name()).toString()); + m_normal.setNamedColor(settings.value("pl_normal_text_color", m_normal.name()).toString()); + m_current.setNamedColor(settings.value("pl_current_text_color",m_current.name()).toString()); + m_selected_text.setNamedColor(settings.value("pl_hl_text_color",m_selected_text.name()).toString()); + if(settings.value("pl_override_current_bg", false).toBool()) + { + m_current_bg.setNamedColor(settings.value("pl_current_bg_color", m_normal_bg.name()).toString()); + } + else + { + m_current_bg = m_normal_bg; + } + } + + settings.endGroup(); m_pl_button = "[+]"; m_pl_separator.append(" "); m_pl_separator.prepend(" "); + resize(width(), m_metrics->height () +1); drawButtons(); updateTabs(); @@ -117,52 +139,55 @@ void PlayListSelector::updateTabs() update(); } -void PlayListSelector::updateSkin() -{ - loadColors(); - drawButtons(); - updateTabs(); -} - void PlayListSelector::paintEvent(QPaintEvent *) { QPainter painter(this); - painter.setFont(m_font); - painter.setBrush(QBrush(m_normal_bg)); - painter.drawRect(-1,-1,width()+1,height()+1); QStringList names = m_pl_manager->playListNames(); int current = m_pl_manager->indexOf(m_pl_manager->currentPlayList()); int selected = m_pl_manager->indexOf(m_pl_manager->selectedPlayList()); + painter.setFont(m_font); + painter.setBrush(QBrush(m_normal_bg)); + painter.drawRect(-1,-1,width()+1,height()+1); + if(m_moving) { painter.setBrush(QBrush(m_normal_bg)); painter.setPen(m_current); - painter.drawRect(m_rects.at(selected).x() - 2 - m_offset, 0, - m_rects.at(selected).width() + 3, height()-1); + painter.drawRect(m_rects.at(selected).x() - 2 - m_offset, 0, m_rects.at(selected).width() + 3, height()-1); } else { painter.setBrush(QBrush(m_selected_bg)); painter.setPen(m_selected_bg); - painter.drawRect(m_rects.at(selected).x() - 2 - m_offset, 0, - m_rects.at(selected).width() + 3, height()-1); + painter.drawRect(m_rects.at(selected).x() - 2 - m_offset, 0, m_rects.at(selected).width() + 3, height()-1); } for (int i = 0; i < m_rects.size(); ++i) { - if(i == current) - painter.setPen(m_current); - else - painter.setPen(m_normal); - if(!m_moving || i != selected) + { + if(i == current && i != selected) //draw current playlist background + { + painter.setBrush(QBrush(m_current_bg)); + painter.setPen(m_current_bg); + painter.drawRect(m_rects.at(i).x() - 2 - m_offset, 0, m_rects.at(i).width() + 3, height() - 1); + } + + if(i == current) + painter.setPen(m_current); + else if(i == selected) + painter.setPen(m_selected_text); + else + painter.setPen(m_normal); + painter.drawText(m_rects[i].x() - m_offset, m_metrics->ascent(), names.at(i)); + } + if(i < m_rects.size() - 1) { painter.setPen(m_normal); - painter.drawText(m_rects[i].x() + m_rects[i].width() - m_offset, m_metrics->ascent(), - m_pl_separator); + painter.drawText(m_rects[i].x() + m_rects[i].width() - m_offset, m_metrics->ascent(), m_pl_separator); } } @@ -181,7 +206,7 @@ void PlayListSelector::paintEvent(QPaintEvent *) painter.drawRect(m_mouse_pos.x() - m_press_offset - 2, 0, m_rects.at(selected).width() + 3, height()); - painter.setPen(selected == current ? m_current : m_normal); + painter.setPen(selected == current ? m_current : m_selected_text); painter.drawText(m_mouse_pos.x() - m_press_offset, m_metrics->ascent(), names.at(selected)); } @@ -316,14 +341,6 @@ void PlayListSelector::resizeEvent (QResizeEvent *) updateScrollers(); } -void PlayListSelector::loadColors() -{ - 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")); -} - void PlayListSelector::drawButtons() { m_pixmap = QPixmap(40, height()); diff --git a/src/plugins/Ui/skinned/playlistselector.h b/src/plugins/Ui/skinned/playlistselector.h index 7b140759a..be3082c9d 100644 --- a/src/plugins/Ui/skinned/playlistselector.h +++ b/src/plugins/Ui/skinned/playlistselector.h @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2009-2015 by Ilya Kotov * + * Copyright (C) 2009-2020 by Ilya Kotov * * forkotov02@ya.ru * * * * This program is free software; you can redistribute it and/or modify * @@ -31,7 +31,6 @@ class QMouseEvent; class QMenu; class PlayListManager; class PlayList; -class Skin; /** @author Ilya Kotov <forkotov02@ya.ru> @@ -46,9 +45,16 @@ public: private slots: void updateTabs(); - void updateSkin(); private: + enum BUTTON + { + BUTTON_UNKNOWN = -1, + BUTTON_NEW_PL, + BUTTON_LEFT, + BUTTON_RIGHT + }; + void paintEvent(QPaintEvent *) override; void mousePressEvent (QMouseEvent *e) override; void mouseReleaseEvent (QMouseEvent *e) override; @@ -56,38 +62,31 @@ private: void mouseMoveEvent(QMouseEvent *e) override; void resizeEvent (QResizeEvent *) override; void updateOffsets(); - void loadColors(); void drawButtons(); void updateScrollers(); QRect firstVisible(); QRect lastVisible(); int findPlayList(QPoint pos); int findButton(QPoint pos); - PlayListManager *m_pl_manager; - QFontMetrics *m_metrics; + + PlayListManager *m_pl_manager = nullptr; + QFontMetrics *m_metrics = nullptr; QFont m_font; QMenu *m_menu; - bool m_scrollable; + bool m_scrollable = false; QList <QRect> m_rects; QList <QRect> m_extra_rects; - Skin *m_skin; - QColor m_normal, m_current, m_normal_bg, m_selected_bg; + QColor m_normal, m_current, m_normal_bg, m_selected_bg, m_selected_text, m_current_bg; QPixmap m_pixmap; bool m_show_new_pl_button; - int m_offset, m_offset_max, m_press_offset; - bool m_moving; + int m_offset = 0, m_offset_max = 0, m_press_offset = -1; + bool m_moving = false; QPoint m_mouse_pos; QString m_pl_separator; QString m_pl_button; - int m_pressed_button; + int m_pressed_button = BUTTON_UNKNOWN; + - enum BUTTON - { - BUTTON_UNKNOWN = -1, - BUTTON_NEW_PL, - BUTTON_LEFT, - BUTTON_RIGHT - }; }; #endif // PLAYLISTSELECTOR_H |
