aboutsummaryrefslogtreecommitdiff
path: root/src/plugins/Ui/skinned/playlistheader.cpp
diff options
context:
space:
mode:
authortrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2015-06-28 13:37:01 +0000
committertrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2015-06-28 13:37:01 +0000
commite985da53de9c3fd3a15e562bf9cbb11269860930 (patch)
tree9288d21198e6783ac747fe02710125dd23dd382b /src/plugins/Ui/skinned/playlistheader.cpp
parentb7d298e255c8dd22e3e6e5544603ace50800aced (diff)
downloadqmmp-e985da53de9c3fd3a15e562bf9cbb11269860930.tar.gz
qmmp-e985da53de9c3fd3a15e562bf9cbb11269860930.tar.bz2
qmmp-e985da53de9c3fd3a15e562bf9cbb11269860930.zip
skinned: changed playlist behaviour
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@5186 90c681e8-e032-0410-971d-27865f9a5e38
Diffstat (limited to 'src/plugins/Ui/skinned/playlistheader.cpp')
-rw-r--r--src/plugins/Ui/skinned/playlistheader.cpp67
1 files changed, 18 insertions, 49 deletions
diff --git a/src/plugins/Ui/skinned/playlistheader.cpp b/src/plugins/Ui/skinned/playlistheader.cpp
index a1449e0a7..aed217e26 100644
--- a/src/plugins/Ui/skinned/playlistheader.cpp
+++ b/src/plugins/Ui/skinned/playlistheader.cpp
@@ -39,7 +39,7 @@
#include "playlistheader.h"
#define INITAL_SIZE 150
-#define INITAL_MIN_SIZE 30
+#define MIN_SIZE 30
static const char * const skinned_arrow_down_xpm[] = {
"11 6 2 1",
@@ -88,7 +88,7 @@ PlayListHeader::PlayListHeader(QWidget *parent) :
connect(m_skin, SIGNAL(skinChanged()), this, SLOT(updateSkin()));
connect(m_model, SIGNAL(columnAdded(int)), SLOT(onColumnAdded(int)));
connect(m_model, SIGNAL(columnRemoved(int)), SLOT(updateColumns()));
- connect(m_model, SIGNAL(columnMoved(int,int)), SLOT(onColumnMoved(int,int)));
+ connect(m_model, SIGNAL(columnMoved(int,int)), SLOT(updateColumns()));
connect(m_model, SIGNAL(columnChanged(int)), SLOT(updateColumns()));
loadColors();
readSettings();
@@ -129,7 +129,6 @@ void PlayListHeader::readSettings()
for(int i = 0; i < m_model->count(); ++i)
{
m_model->setData(i, SIZE, INITAL_SIZE);
- m_model->setData(i, MIN_SIZE, INITAL_MIN_SIZE);
if(i < sizes.count())
m_model->setData(i, SIZE, sizes.at(i).toInt());
@@ -145,17 +144,11 @@ void PlayListHeader::readSettings()
void PlayListHeader::setNumberWidth(int width)
{
- m_model->setData(0, MIN_SIZE, INITAL_MIN_SIZE + (width ? (width + 2 * m_pl_padding) : 0));
- int s = qMax(size(0), minSize(0));
-
- for(int i = 1; i < m_model->count(); ++i) //restore mimimal size for other columns
- m_model->setData(i, MIN_SIZE, 30);
-
- if(width != m_number_width || s != size(0))
+ if(width != m_number_width)
{
m_number_width = width;
- m_model->setData(0, SIZE, s);
- updateColumns();
+ if(m_model->count() == 1)
+ updateColumns();
}
}
@@ -164,11 +157,13 @@ void PlayListHeader::updateColumns()
bool rtl = (layoutDirection() == Qt::RightToLeft);
int sx = 5;
- if(m_number_width)
- sx += m_number_width + 2 * m_pl_padding;
+
if(m_model->count() == 1)
{
+ if(m_number_width)
+ sx += m_number_width + 2 * m_pl_padding;
+
m_model->setData(0, RECT, rtl ? QRect(5, 0, width() - sx - 5, height()) : QRect(sx, 0, width() - sx - 5, height()));
QRect rect = m_model->data(0, RECT).toRect();
if(m_sorting_column == 0)
@@ -188,10 +183,6 @@ void PlayListHeader::updateColumns()
{
int size = m_model->data(i, SIZE).toInt();
- //add number width to the first column
- if(i == 0 && m_number_width)
- size -= m_number_width + 2 * m_pl_padding;
-
if(rtl)
m_model->setData(i, RECT, QRect(width() - sx - size, 0, size, height()));
else
@@ -314,23 +305,6 @@ void PlayListHeader::restoreSize()
void PlayListHeader::onColumnAdded(int index)
{
m_model->setData(index, SIZE, INITAL_SIZE);
- m_model->setData(index, MIN_SIZE, INITAL_MIN_SIZE);
- updateColumns();
-}
-
-void PlayListHeader::onColumnMoved(int from, int to)
-{
- //correct geometry
- if(from == 0 && m_number_width)
- {
- setSize(from, size(from) + (m_number_width + 2 * m_pl_padding));
- setSize(to, size(to) - (m_number_width + 2 * m_pl_padding));
- }
- else if(to == 0 && m_number_width)
- {
- setSize(from, size(from) - (m_number_width + 2 * m_pl_padding));
- setSize(to, size(to) + (m_number_width + 2 * m_pl_padding));
- }
updateColumns();
}
@@ -405,7 +379,7 @@ void PlayListHeader::mouseMoveEvent(QMouseEvent *e)
setSize(m_pressed_column, m_old_size - e->pos().x() + m_pressed_pos.x());
else
setSize(m_pressed_column, m_old_size + e->pos().x() - m_pressed_pos.x());
- setSize(m_pressed_column, qMax(size(m_pressed_column), minSize(m_pressed_column)));
+ setSize(m_pressed_column, qMax(size(m_pressed_column), MIN_SIZE));
updateColumns();
emit resizeColumnRequest();
}
@@ -492,7 +466,7 @@ void PlayListHeader::resizeEvent(QResizeEvent *e)
if(index >= 0 && e->oldSize().width() > 10)
{
- setSize(index, qMax(minSize(index), size(index) + delta));
+ setSize(index, qMax(MIN_SIZE, size(index) + delta));
updateColumns();
return;
}
@@ -542,7 +516,7 @@ void PlayListHeader::paintEvent(QPaintEvent *)
if(rtl)
{
- QRect rect = m_model->data(0, RECT).toRect();
+ /*QRect rect = m_model->data(0, RECT).toRect();
if(m_number_width)
{
@@ -600,19 +574,19 @@ void PlayListHeader::paintEvent(QPaintEvent *)
m_model->data(m_pressed_column, RECT).toRect().width() - m_padding -
m_metrics->width(m_model->data(m_pressed_column, NAME).toString()),
m_metrics->ascent(), m_model->data(m_pressed_column, NAME).toString());
- }
+ }*/
}
else
{
QRect rect = m_model->data(0, RECT).toRect();
- if(m_number_width)
- {
- painter.drawLine(rect.x(), 0, rect.x(), height());
- }
-
if(m_model->count() == 1)
{
+ if(m_number_width)
+ {
+ painter.drawLine(rect.x(), 0, rect.x(), height());
+ }
+
painter.drawText(rect.x() + m_padding, m_metrics->ascent(), name(0));
if(m_sorting_column == 0)
{
@@ -698,11 +672,6 @@ void PlayListHeader::setSize(int index, int size)
m_model->setData(index, SIZE, size);
}
-int PlayListHeader::minSize(int index) const
-{
- return m_model->data(index, MIN_SIZE).toInt();
-}
-
const QString PlayListHeader::name(int index) const
{
return m_model->data(index, NAME).toString();