aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2013-08-15 11:34:19 +0000
committertrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2013-08-15 11:34:19 +0000
commitafb1f6e6892159852ae6bf76c9d8613857af42f1 (patch)
treeb5cae27fe61113ae8362626bca5114e53727bfc2
parent2a93c2cf305eef4f0409a2dbc28d9ecc20f918c7 (diff)
downloadqmmp-afb1f6e6892159852ae6bf76c9d8613857af42f1.tar.gz
qmmp-afb1f6e6892159852ae6bf76c9d8613857af42f1.tar.bz2
qmmp-afb1f6e6892159852ae6bf76c9d8613857af42f1.zip
fixed "jump to" dialog
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@3604 90c681e8-e032-0410-971d-27865f9a5e38
-rw-r--r--src/qmmpui/jumptotrackdialog.cpp31
-rw-r--r--src/qmmpui/jumptotrackdialog_p.h2
2 files changed, 21 insertions, 12 deletions
diff --git a/src/qmmpui/jumptotrackdialog.cpp b/src/qmmpui/jumptotrackdialog.cpp
index 8ecf84a41..011a61285 100644
--- a/src/qmmpui/jumptotrackdialog.cpp
+++ b/src/qmmpui/jumptotrackdialog.cpp
@@ -81,16 +81,16 @@ void JumpToTrackDialog::on_refreshPushButton_clicked()
void JumpToTrackDialog::on_queuePushButton_clicked()
{
- /*QModelIndexList mi_list = songsListView->selectionModel()->selectedRows();
+ QModelIndexList mi_list = songsListView->selectionModel()->selectedRows();
if (!mi_list.isEmpty())
{
int selected = (m_proxyModel->mapToSource(mi_list.at(0))).row();
- m_model->setQueued(m_model->track(selected));
- if (m_model->isQueued(m_model->track(selected)))
+ m_model->setQueued(m_model->track(m_indexes[selected]));
+ if (m_model->isQueued(m_model->track(m_indexes[selected])))
queuePushButton->setText(tr("Unqueue"));
else
queuePushButton->setText(tr("Queue"));
- }*/
+ }
}
void JumpToTrackDialog::on_jumpToPushButton_clicked()
@@ -104,12 +104,19 @@ void JumpToTrackDialog::on_jumpToPushButton_clicked()
void JumpToTrackDialog::refresh()
{
- /*filterLineEdit->clear();
+ filterLineEdit->clear();
+ m_indexes.clear();
QStringList titles;
- foreach (PlayListTrack *item, m_model->items())
- titles.append(item->formattedTitle());
+ QList<PlayListItem *> items = m_model->items();
+ for(int i = 0; i < items.count(); ++i)
+ {
+ if(items[i]->isGroup())
+ continue;
+ titles.append(items[i]->formattedTitle());
+ m_indexes.append(i);
+ }
m_listModel->setStringList(titles);
- filterLineEdit->setFocus();*/
+ filterLineEdit->setFocus();
}
void JumpToTrackDialog::on_filterLineEdit_textChanged(const QString &str)
@@ -132,7 +139,7 @@ void JumpToTrackDialog::on_filterLineEdit_returnPressed ()
void JumpToTrackDialog::jumpTo(const QModelIndex & index)
{
int selected = (m_proxyModel->mapToSource(index)).row();
- m_model->setCurrent(selected);
+ m_model->setCurrent(m_indexes[selected]);
SoundCore::instance()->stop();
m_pl_manager->activatePlayList(m_model);
MediaPlayer::instance()->play();
@@ -140,9 +147,9 @@ void JumpToTrackDialog::jumpTo(const QModelIndex & index)
void JumpToTrackDialog::queueUnqueue(const QModelIndex& curr,const QModelIndex&)
{
- /*int row = m_proxyModel->mapToSource(curr).row();
- if (m_model->isQueued(m_model->item(row)))
+ int row = m_proxyModel->mapToSource(curr).row();
+ if (m_model->isQueued(m_model->track(m_indexes[row])))
queuePushButton->setText(tr("Unqueue"));
else
- queuePushButton->setText(tr("Queue"));*/
+ queuePushButton->setText(tr("Queue"));
}
diff --git a/src/qmmpui/jumptotrackdialog_p.h b/src/qmmpui/jumptotrackdialog_p.h
index 587a6ac07..915f1197a 100644
--- a/src/qmmpui/jumptotrackdialog_p.h
+++ b/src/qmmpui/jumptotrackdialog_p.h
@@ -22,6 +22,7 @@
#define JUMPTOTRACKDIALOG_P_H
#include <QDialog>
+#include <QList>
#include "ui_jumptotrackdialog.h"
class QStringListModel;
@@ -56,6 +57,7 @@ private:
QSortFilterProxyModel* m_proxyModel;
PlayListManager *m_pl_manager;
PlayListModel *m_model;
+ QList<int> m_indexes;
};
#endif //JUMPTOTRACKDIALOG_P_H