aboutsummaryrefslogtreecommitdiff
path: root/src/plugins/Ui/skinned/playlistheader.cpp
diff options
context:
space:
mode:
authortrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2015-07-01 13:10:21 +0000
committertrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2015-07-01 13:10:21 +0000
commitf461a94afb83f773f2e7d676b87c9f99a3f822eb (patch)
tree68b07f795f69c656cd55f41cc4fe24901fcabd1c /src/plugins/Ui/skinned/playlistheader.cpp
parent6a17e3c8a908e7befc3558a53b9f1b89d1004c74 (diff)
downloadqmmp-f461a94afb83f773f2e7d676b87c9f99a3f822eb.tar.gz
qmmp-f461a94afb83f773f2e7d676b87c9f99a3f822eb.tar.bz2
qmmp-f461a94afb83f773f2e7d676b87c9f99a3f822eb.zip
skinned: added feature to show track state
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@5194 90c681e8-e032-0410-971d-27865f9a5e38
Diffstat (limited to 'src/plugins/Ui/skinned/playlistheader.cpp')
-rw-r--r--src/plugins/Ui/skinned/playlistheader.cpp44
1 files changed, 39 insertions, 5 deletions
diff --git a/src/plugins/Ui/skinned/playlistheader.cpp b/src/plugins/Ui/skinned/playlistheader.cpp
index 20fbe108d..04a063710 100644
--- a/src/plugins/Ui/skinned/playlistheader.cpp
+++ b/src/plugins/Ui/skinned/playlistheader.cpp
@@ -80,8 +80,10 @@ PlayListHeader::PlayListHeader(QWidget *parent) :
m_menu = new QMenu(this);
m_menu->addAction(QIcon::fromTheme("list-add"), tr("Add Column"), this, SLOT(addColumn()));
m_menu->addAction(QIcon::fromTheme("configure"), tr("Edit Column"), this, SLOT(editColumn()));
- m_autoResize = m_menu->addAction(tr("Auto-resize"), this, SLOT(setAutoResize(bool)));
- m_autoResize->setCheckable(true);
+ m_trackStateAction = m_menu->addAction(tr("Show Queue/Protocol"), this, SLOT(showTrackState(bool)));
+ m_trackStateAction->setCheckable(true);
+ m_autoResizeAction = m_menu->addAction(tr("Auto-resize"), this, SLOT(setAutoResize(bool)));
+ m_autoResizeAction->setCheckable(true);
m_menu->addAction(tr("Restore Size"), this, SLOT(restoreSize()));
m_menu->addSeparator();
m_menu->addAction(QIcon::fromTheme("list-remove"), tr("Remove Column"), this, SLOT(removeColumn()));
@@ -127,6 +129,7 @@ void PlayListHeader::readSettings()
m_model->restoreSettings(&settings);
QList<QVariant> sizes = settings.value("pl_column_sizes").toList();
int autoResizeColumn = settings.value("pl_autoresize_column", -1).toInt();
+ int trackStateColumn = settings.value("pl_track_state_column", -1).toInt();
for(int i = 0; i < m_model->count(); ++i)
{
m_model->setData(i, SIZE, INITAL_SIZE);
@@ -135,6 +138,8 @@ void PlayListHeader::readSettings()
m_model->setData(i, SIZE, sizes.at(i).toInt());
if(i == autoResizeColumn)
m_model->setData(i, AUTO_RESIZE, true);
+ if(i == trackStateColumn)
+ m_model->setData(i,TRACK_STATE, true);
}
}
@@ -217,6 +222,18 @@ QList<int> PlayListHeader::sizes() const
return sizeList;
}
+int PlayListHeader::trackStateColumn() const
+{
+ for(int i = 0; i < m_model->count(); ++i)
+ {
+ if(m_model->data(i, TRACK_STATE).toBool())
+ {
+ return i;
+ }
+ }
+ return -1;
+}
+
void PlayListHeader::showSortIndicator(int column, bool reverted)
{
if(m_sorting_column == column && m_reverted == reverted)
@@ -293,6 +310,20 @@ void PlayListHeader::setAutoResize(bool yes)
m_model->setData(m_pressed_column, AUTO_RESIZE, yes);
}
+void PlayListHeader::showTrackState(bool yes)
+{
+ if(m_pressed_column < 0)
+ return;
+
+ if(yes)
+ {
+ for(int i = 0; i < m_model->count(); ++i)
+ m_model->setData(i, TRACK_STATE, false);
+ }
+
+ m_model->setData(m_pressed_column, TRACK_STATE, yes);
+}
+
void PlayListHeader::restoreSize()
{
if(m_pressed_column < 0)
@@ -385,7 +416,6 @@ void PlayListHeader::mouseMoveEvent(QMouseEvent *e)
setSize(m_pressed_column, qMax(size(m_pressed_column), MIN_SIZE));
adjustColumns();
-
updateColumns();
emit resizeColumnRequest();
}
@@ -497,8 +527,8 @@ void PlayListHeader::contextMenuEvent(QContextMenuEvent *e)
m_pressed_column = findColumn(e->pos());
if(m_pressed_column >= 0)
{
- m_autoResize->setChecked(m_model->data(m_pressed_column, AUTO_RESIZE).toBool());
- m_autoResize->setEnabled(true);
+ m_trackStateAction->setChecked(m_model->data(m_pressed_column, TRACK_STATE).toBool());
+ m_autoResizeAction->setChecked(m_model->data(m_pressed_column, AUTO_RESIZE).toBool());
foreach (QAction *action, m_menu->actions())
action->setVisible(true);
@@ -721,13 +751,17 @@ void PlayListHeader::writeSettings()
m_model->saveSettings(&settings);
QList<QVariant> sizes;
int autoResizeColumn = -1;
+ int trackStateColumn = -1;
for(int i = 0; i < m_model->count(); ++i)
{
sizes << m_model->data(i, SIZE).toInt();
if(m_model->data(i, AUTO_RESIZE).toBool())
autoResizeColumn = i;
+ if(m_model->data(i, TRACK_STATE).toBool())
+ trackStateColumn = i;
}
settings.setValue("pl_column_sizes", sizes);
settings.setValue("pl_autoresize_column", autoResizeColumn);
+ settings.setValue("pl_track_state_column", trackStateColumn);
settings.endGroup();
}