aboutsummaryrefslogtreecommitdiff
path: root/src/plugins/Ui/skinned
diff options
context:
space:
mode:
authortrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2015-05-30 13:41:50 +0000
committertrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2015-05-30 13:41:50 +0000
commit195d573dfd2a1b20b0e61aa5612aafeee852c352 (patch)
treea3e9e1cb7b576a5d602146560f5f41e77f4caf03 /src/plugins/Ui/skinned
parent08545e3aedf6c46db79e7e513a9d1aaa35254884 (diff)
downloadqmmp-195d573dfd2a1b20b0e61aa5612aafeee852c352.tar.gz
qmmp-195d573dfd2a1b20b0e61aa5612aafeee852c352.tar.bz2
qmmp-195d573dfd2a1b20b0e61aa5612aafeee852c352.zip
prepare for api changes
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@5043 90c681e8-e032-0410-971d-27865f9a5e38
Diffstat (limited to 'src/plugins/Ui/skinned')
-rw-r--r--src/plugins/Ui/skinned/listwidget.cpp6
-rw-r--r--src/plugins/Ui/skinned/listwidgetdrawer.cpp16
-rw-r--r--src/plugins/Ui/skinned/listwidgetdrawer.h2
-rw-r--r--src/plugins/Ui/skinned/playlistheader.cpp35
-rw-r--r--src/plugins/Ui/skinned/playlistheader.h3
5 files changed, 36 insertions, 26 deletions
diff --git a/src/plugins/Ui/skinned/listwidget.cpp b/src/plugins/Ui/skinned/listwidget.cpp
index 64b796456..040f70404 100644
--- a/src/plugins/Ui/skinned/listwidget.cpp
+++ b/src/plugins/Ui/skinned/listwidget.cpp
@@ -32,6 +32,7 @@
#include <qmmpui/playlistmodel.h>
#include <qmmpui/qmmpuisettings.h>
#include <qmmpui/playlistheadermodel.h>
+#include <qmmpui/playlistmanager.h>
#include "listwidget.h"
#include "playlistheader.h"
#include "actionmanager.h"
@@ -48,7 +49,7 @@ ListWidget::ListWidget(QWidget *parent)
m_skin = Skin::instance();
m_ui_settings = QmmpUiSettings::instance();
- PlayListHeaderModel *headerModel = m_ui_settings->headerModel();
+ PlayListHeaderModel *headerModel = PlayListManager::instance()->headerModel();
m_menu = new QMenu(this);
m_timer = new QTimer(this);
m_timer->setInterval(50);
@@ -72,7 +73,7 @@ ListWidget::ListWidget(QWidget *parent)
connect(m_skin, SIGNAL(skinChanged()), SLOT(updateSkin()));
connect(m_ui_settings, SIGNAL(repeatableTrackChanged(bool)), SLOT(updateRepeatIndicator()));
connect(m_timer, SIGNAL(timeout()), SLOT(autoscroll()));
- connect(headerModel, SIGNAL(headerChanged()), SLOT(updateColumns()));
+ //connect(headerModel, SIGNAL(headerChanged()), SLOT(updateColumns()));
SET_ACTION(ActionManager::PL_SHOW_HEADER, this, SLOT(readSettings()));
}
@@ -356,6 +357,7 @@ void ListWidget::updateList(int flags)
row->rect = QRect(5, (m_header->isVisibleTo(this) ? m_header->height() : 0) + i * m_drawer.rowHeight(),
width() - 10, m_drawer.rowHeight() - 1);
row->titles = items[i]->formattedTitles();
+ row->sizes = m_header->sizes();
(m_first + i) == m_model->currentIndex() ? row->flags |= ListWidgetRow::CURRENT :
row->flags &= ~ListWidgetRow::CURRENT;
diff --git a/src/plugins/Ui/skinned/listwidgetdrawer.cpp b/src/plugins/Ui/skinned/listwidgetdrawer.cpp
index db0ff3f1d..4320cff03 100644
--- a/src/plugins/Ui/skinned/listwidgetdrawer.cpp
+++ b/src/plugins/Ui/skinned/listwidgetdrawer.cpp
@@ -22,7 +22,6 @@
#include <QPainter>
#include <QApplication>
#include <qmmp/qmmp.h>
-#include <qmmpui/qmmpuisettings.h>
#include "skin.h"
#include "listwidgetdrawer.h"
@@ -31,7 +30,6 @@
ListWidgetDrawer::ListWidgetDrawer()
{
m_skin = Skin::instance();
- m_header_model = QmmpUiSettings::instance()->headerModel();
m_update = false;
m_show_anchor = false;
m_show_number = false;
@@ -148,7 +146,7 @@ void ListWidgetDrawer::prepareRow(ListWidgetRow *row)
for(int i = 0; i < row->titles.count() && visible_width > 0; ++i)
{
- int size = m_header_model->size(i);
+ int size = row->sizes[i];
if(i == 0 && row->numberColumnWidth)
size -= row->numberColumnWidth;
@@ -248,12 +246,12 @@ void ListWidgetDrawer::drawTrack(QPainter *painter, ListWidgetRow *row, bool rtl
painter->drawLine(sx, row->rect.top(), sx, row->rect.bottom() + 1);
}
- for(int i = 0; i < m_header_model->count(); i++)
+ for(int i = 0; i < row->titles.count(); i++)
{
if(sx - m_padding <= row->rect.x() + row->lengthColumnWidth)
break;
- int size = m_header_model->size(i);
+ int size = row->sizes[i];
if(i == 0 && row->numberColumnWidth)
size -= row->numberColumnWidth;
@@ -261,7 +259,7 @@ void ListWidgetDrawer::drawTrack(QPainter *painter, ListWidgetRow *row, bool rtl
painter->drawText(sx - m_padding - m_metrics->width(row->titles[i]), sy, row->titles[i]);
sx -= size;
- if(m_header_model->count() > 1 && sx > row->rect.x() + row->lengthColumnWidth)
+ if(row->titles.count() > 1 && sx > row->rect.x() + row->lengthColumnWidth)
{
painter->setPen(m_normal);
painter->drawLine(sx, row->rect.top(), sx, row->rect.bottom() + 1);
@@ -296,12 +294,12 @@ void ListWidgetDrawer::drawTrack(QPainter *painter, ListWidgetRow *row, bool rtl
painter->drawLine(sx, row->rect.top(), sx, row->rect.bottom() + 1);
}
- for(int i = 0; i < m_header_model->count(); i++)
+ for(int i = 0; i < row->sizes.count(); i++)
{
if(sx + m_padding >= row->rect.right() - row->lengthColumnWidth)
break;
- int size = m_header_model->size(i);
+ int size = row->sizes[i];
if(i == 0 && row->numberColumnWidth)
size -= row->numberColumnWidth;
@@ -309,7 +307,7 @@ void ListWidgetDrawer::drawTrack(QPainter *painter, ListWidgetRow *row, bool rtl
painter->drawText(sx + m_padding, sy, row->titles[i]);
sx += size;
- if(m_header_model->count() > 1 && sx < row->rect.right() - row->lengthColumnWidth)
+ if(row->titles.count() > 1 && sx < row->rect.right() - row->lengthColumnWidth)
{
painter->setPen(m_normal);
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 118d9e37b..4429fa12b 100644
--- a/src/plugins/Ui/skinned/listwidgetdrawer.h
+++ b/src/plugins/Ui/skinned/listwidgetdrawer.h
@@ -41,6 +41,7 @@ struct ListWidgetRow
lengthColumnWidth = 0;
}
QStringList titles;
+ QList<int> sizes;
QString length;
QString extraString;
int number;
@@ -85,7 +86,6 @@ private:
Skin *m_skin;
QFontMetrics *m_metrics;
QFontMetrics *m_extra_metrics;
- PlayListHeaderModel *m_header_model;
QFont m_font, m_extra_font;
bool m_update;
bool m_show_number;
diff --git a/src/plugins/Ui/skinned/playlistheader.cpp b/src/plugins/Ui/skinned/playlistheader.cpp
index 4134b6607..b566ffe55 100644
--- a/src/plugins/Ui/skinned/playlistheader.cpp
+++ b/src/plugins/Ui/skinned/playlistheader.cpp
@@ -31,7 +31,7 @@
#include <QInputDialog>
#include <QIcon>
#include <qmmp/qmmp.h>
-#include <qmmpui/qmmpuisettings.h>
+#include <qmmpui/playlistmanager.h>
#include <qmmpui/playlistheadermodel.h>
#include <qmmpui/playlistmanager.h>
#include "skin.h"
@@ -69,7 +69,7 @@ PlayListHeader::PlayListHeader(QWidget *parent) :
m_number_width = 0;
m_sorting_column = -1;
m_task = NO_TASK;
- m_model = QmmpUiSettings::instance()->headerModel();
+ m_model = PlayListManager::instance()->headerModel();
m_skin = Skin::instance();
m_menu = new QMenu(this);
m_menu->addAction(QIcon::fromTheme("list-add"), tr("Add Column"), this, SLOT(addColumn()));
@@ -80,6 +80,8 @@ PlayListHeader::PlayListHeader(QWidget *parent) :
m_menu->addSeparator();
m_menu->addAction(QIcon::fromTheme("list-remove"), tr("Remove Column"), this, SLOT(removeColumn()));
+ m_sizes << 50;
+ m_minimal_sizes << 50;
connect(m_skin, SIGNAL(skinChanged()), this, SLOT(updateSkin()));
loadColors();
readSettings();
@@ -120,7 +122,7 @@ void PlayListHeader::setNumberWidth(int width)
if(width != m_number_width)
{
m_number_width = width;
- m_model->setMinimalSize(0, 30 + (m_number_width ? (m_number_width + 2 * m_pl_padding) : 0));
+ m_minimal_sizes[0] = 30 + (m_number_width ? (m_number_width + 2 * m_pl_padding) : 0);
updateColumns();
}
}
@@ -153,7 +155,7 @@ void PlayListHeader::updateColumns()
for(int i = 0; i < m_model->count(); ++i)
{
- int size = m_model->size(i);
+ int size = m_sizes[i];
//add number width to the first column
if(i == 0 && m_number_width)
@@ -184,6 +186,11 @@ int PlayListHeader::requiredHeight() const
return m_metrics->lineSpacing() + 1;
}
+QList<int> PlayListHeader::sizes() const
+{
+ return m_sizes;
+}
+
void PlayListHeader::showSortIndicator(int column, bool reverted)
{
if(m_sorting_column == column && m_reverted == reverted)
@@ -244,7 +251,7 @@ void PlayListHeader::setAutoResize(bool yes)
if(m_pressed_column < 0)
return;
- m_model->setAutoResize(yes ? m_pressed_column : -1);
+ //m_model->setAutoResize(yes ? m_pressed_column : -1);
}
void PlayListHeader::restoreSize()
@@ -252,7 +259,7 @@ void PlayListHeader::restoreSize()
if(m_pressed_column < 0)
return;
- m_model->resize(m_pressed_column, 100);
+ m_sizes[m_pressed_column] = 100;
}
void PlayListHeader::mousePressEvent(QMouseEvent *e)
@@ -271,7 +278,7 @@ void PlayListHeader::mousePressEvent(QMouseEvent *e)
{
if(e->pos().x() < m_rects[m_pressed_column].x() + m_metrics->width("9"))
{
- m_old_size = m_model->size(m_pressed_column);
+ m_old_size = m_sizes[m_pressed_column];
m_task = RESIZE;
}
else
@@ -284,7 +291,7 @@ void PlayListHeader::mousePressEvent(QMouseEvent *e)
{
if(e->pos().x() > m_rects[m_pressed_column].right() - m_metrics->width("9"))
{
- m_old_size = m_model->size(m_pressed_column);
+ m_old_size = m_sizes[m_pressed_column];
m_task = RESIZE;
}
else
@@ -323,9 +330,9 @@ void PlayListHeader::mouseMoveEvent(QMouseEvent *e)
if(m_task == RESIZE && m_model->count() > 1)
{
if(rtl)
- m_model->resize(m_pressed_column, m_old_size - e->pos().x() + m_pressed_pos.x());
+ m_sizes[m_pressed_column] = m_old_size - e->pos().x() + m_pressed_pos.x();
else
- m_model->resize(m_pressed_column, m_old_size + e->pos().x() - m_pressed_pos.x());
+ m_sizes[m_pressed_column] = m_old_size + e->pos().x() - m_pressed_pos.x();
}
else if(m_task == MOVE)
{
@@ -389,7 +396,7 @@ void PlayListHeader::mouseMoveEvent(QMouseEvent *e)
void PlayListHeader::resizeEvent(QResizeEvent *e)
{
- if(m_model->count() == 1)
+ /*if(m_model->count() == 1)
{
updateColumns();
return;
@@ -409,13 +416,13 @@ void PlayListHeader::resizeEvent(QResizeEvent *e)
{
updateColumns();
return;
- }
+ }*/
}
void PlayListHeader::contextMenuEvent(QContextMenuEvent *e)
{
m_pressed_pos = e->pos();
- m_pressed_column = findColumn(e->pos());
+ /*m_pressed_column = findColumn(e->pos());
if(m_pressed_column >= 0)
{
m_autoResize->setChecked(m_model->autoResizeColumn() == m_pressed_column);
@@ -432,7 +439,7 @@ void PlayListHeader::contextMenuEvent(QContextMenuEvent *e)
action->setVisible(false);
}
}
- m_menu->exec(e->globalPos());
+ m_menu->exec(e->globalPos());*/
}
void PlayListHeader::paintEvent(QPaintEvent *)
diff --git a/src/plugins/Ui/skinned/playlistheader.h b/src/plugins/Ui/skinned/playlistheader.h
index 05607831b..b773de749 100644
--- a/src/plugins/Ui/skinned/playlistheader.h
+++ b/src/plugins/Ui/skinned/playlistheader.h
@@ -23,6 +23,7 @@
#include <QWidget>
#include <QPixmap>
+#include <QList>
class QFontMetrics;
class QFont;
@@ -47,6 +48,7 @@ public:
void setNumberWidth(int width);
void updateColumns();
int requiredHeight() const;
+ QList<int> sizes() const;
public slots:
void showSortIndicator(int column, bool reverted);
@@ -82,6 +84,7 @@ private:
PlayListHeaderModel *m_model;
QAction *m_autoResize;
QPixmap m_arrow_up, m_arrow_down;
+ QList<int> m_sizes, m_minimal_sizes;
bool m_reverted;
int m_number_width;
int m_pressed_column;