aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authortrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2020-08-02 19:44:28 +0000
committertrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2020-08-02 19:44:28 +0000
commitf90557b42a0704a949e33b88647146612d32f6da (patch)
tree0fe97bf14c1e3b3b0cc80629f7ca2c62087333e3 /src
parentf9e340bec72f62cb8a775d9f1c43b71895295197 (diff)
downloadqmmp-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')
-rw-r--r--src/plugins/Ui/skinned/listwidget.cpp1
-rw-r--r--src/plugins/Ui/skinned/listwidgetdrawer.cpp25
-rw-r--r--src/plugins/Ui/skinned/listwidgetdrawer.h3
-rw-r--r--src/plugins/Ui/skinned/playlist.cpp2
-rw-r--r--src/plugins/Ui/skinned/playlistheader.cpp59
-rw-r--r--src/plugins/Ui/skinned/playlistheader.h34
-rw-r--r--src/plugins/Ui/skinned/playlistselector.cpp101
-rw-r--r--src/plugins/Ui/skinned/playlistselector.h37
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