From 767150cfe9403eb432ea82377664abda214d6e04 Mon Sep 17 00:00:00 2001 From: trialuser02 Date: Sat, 2 Oct 2010 08:51:36 +0000 Subject: added tabs move function git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@1926 90c681e8-e032-0410-971d-27865f9a5e38 --- src/qmmpui/playlistmanager.cpp | 27 +++++++++++++++++++++------ src/qmmpui/playlistmanager.h | 24 ++++++++++++++++++------ src/qmmpui/translations/libqmmpui_cs.ts | 4 ++-- src/qmmpui/translations/libqmmpui_de.ts | 4 ++-- src/qmmpui/translations/libqmmpui_es.ts | 4 ++-- src/qmmpui/translations/libqmmpui_it.ts | 4 ++-- src/qmmpui/translations/libqmmpui_ja.ts | 4 ++-- src/qmmpui/translations/libqmmpui_lt.ts | 4 ++-- src/qmmpui/translations/libqmmpui_nl.ts | 4 ++-- src/qmmpui/translations/libqmmpui_pl.ts | 4 ++-- src/qmmpui/translations/libqmmpui_pt_BR.ts | 4 ++-- src/qmmpui/translations/libqmmpui_ru.ts | 4 ++-- src/qmmpui/translations/libqmmpui_tr.ts | 4 ++-- src/qmmpui/translations/libqmmpui_uk_UA.ts | 4 ++-- src/qmmpui/translations/libqmmpui_zh_CN.ts | 4 ++-- src/qmmpui/translations/libqmmpui_zh_TW.ts | 4 ++-- src/ui/forms/playlistbrowser.ui | 9 +++++++++ src/ui/playlistbrowser.cpp | 22 ++++++++++++++++------ src/ui/playlistbrowser.h | 1 + src/ui/playlistselector.cpp | 23 +++++++++++++++++++++++ src/ui/playlistselector.h | 1 + src/ui/translations/qmmp_cs.ts | 2 +- src/ui/translations/qmmp_de.ts | 2 +- src/ui/translations/qmmp_es.ts | 2 +- src/ui/translations/qmmp_hu.ts | 2 +- src/ui/translations/qmmp_it.ts | 2 +- src/ui/translations/qmmp_ja.ts | 2 +- src/ui/translations/qmmp_lt.ts | 2 +- src/ui/translations/qmmp_nl.ts | 2 +- src/ui/translations/qmmp_pl_PL.ts | 2 +- src/ui/translations/qmmp_pt_BR.ts | 2 +- src/ui/translations/qmmp_ru.ts | 2 +- src/ui/translations/qmmp_tr.ts | 2 +- src/ui/translations/qmmp_uk_UA.ts | 2 +- src/ui/translations/qmmp_zh_CN.ts | 2 +- src/ui/translations/qmmp_zh_TW.ts | 2 +- 36 files changed, 132 insertions(+), 61 deletions(-) (limited to 'src') diff --git a/src/qmmpui/playlistmanager.cpp b/src/qmmpui/playlistmanager.cpp index ba92777c5..784536b6c 100644 --- a/src/qmmpui/playlistmanager.cpp +++ b/src/qmmpui/playlistmanager.cpp @@ -52,6 +52,16 @@ PlayListModel *PlayListManager::currentPlayList() const return m_current; } +int PlayListManager::selectedPlayListIndex() const +{ + return indexOf(m_selected); +} + +int PlayListManager::currentPlayListIndex() const +{ + return indexOf(m_current); +} + QList PlayListManager::playLists() const { return m_models; @@ -110,6 +120,11 @@ void PlayListManager::activatePlayList(PlayListModel *model) } } +void PlayListManager::activatePlayList(int index) +{ + activatePlayList(playListAt(index)); +} + PlayListModel *PlayListManager::createPlayList(const QString &name) { PlayListModel *model = new PlayListModel (name.isEmpty() ? tr("Playlist") : name, this); @@ -193,34 +208,34 @@ void PlayListManager::setShuffle(bool s) emit shuffleChanged(s); } -int PlayListManager::count() +int PlayListManager::count() const { return m_models.count(); } -int PlayListManager::indexOf(PlayListModel *model) +int PlayListManager::indexOf(PlayListModel *model) const { return m_models.indexOf(model); } -PlayListModel *PlayListManager::playListAt(int i) +PlayListModel *PlayListManager::playListAt(int i) const { if(i >= 0 || i < m_models.count()) return m_models.at(i); return 0; } -bool PlayListManager::convertUnderscore() +bool PlayListManager::convertUnderscore() const { return PlaylistSettings::instance()->convertUnderscore(); } -bool PlayListManager::convertTwenty() +bool PlayListManager::convertTwenty() const { return PlaylistSettings::instance()->convertTwenty(); } -bool PlayListManager::useMetadata() +bool PlayListManager::useMetadata() const { return PlaylistSettings::instance()->useMetadata(); } diff --git a/src/qmmpui/playlistmanager.h b/src/qmmpui/playlistmanager.h index 6fde5864a..c1adb2378 100644 --- a/src/qmmpui/playlistmanager.h +++ b/src/qmmpui/playlistmanager.h @@ -55,31 +55,39 @@ public: * Returns active playlist. */ PlayListModel *currentPlayList() const; + /*! + * Returns selected playlist index. + */ + int selectedPlayListIndex() const; + /*! + * Returns active playlist index. + */ + int currentPlayListIndex() const; /*! * Returns a number of playlists. */ - int count(); + int count() const; /*! * Returns the index position of the playlist \b model. */ - int indexOf(PlayListModel *model); + int indexOf(PlayListModel *model) const; /*! * Returns the playlist at index position \b i in the list. * \b i must be a valid index position in the list (i.e., 0 <= i < count()). */ - PlayListModel *playListAt(int i); + PlayListModel *playListAt(int i) const; /*! * Returns state of the "Convert underscores to blanks" option (\b true - enabled, \b false - disabled). */ - bool convertUnderscore(); + bool convertUnderscore() const; /*! * Returns state of the "Convert %20 to blanks" option (\b true - enabled, \b false - disabled). */ - bool convertTwenty(); + bool convertTwenty() const; /*! * Returns the state of metadata usage (\b true - use, \b false - not use). */ - bool useMetadata(); + bool useMetadata() const; /*! * Returns title format string. */ @@ -178,6 +186,10 @@ public slots: * Sets current playlist to \b model. */ void activatePlayList(PlayListModel *model); + /*! + * Sets current playlist by \b index. + */ + void activatePlayList(int index); /*! * Creates new playlist with the given name \b name. */ diff --git a/src/qmmpui/translations/libqmmpui_cs.ts b/src/qmmpui/translations/libqmmpui_cs.ts index 8411c47e2..07fd33f2c 100644 --- a/src/qmmpui/translations/libqmmpui_cs.ts +++ b/src/qmmpui/translations/libqmmpui_cs.ts @@ -75,8 +75,8 @@ p, li { white-space: pre-wrap; } PlayListManager - - + + Playlist Seznam skladeb diff --git a/src/qmmpui/translations/libqmmpui_de.ts b/src/qmmpui/translations/libqmmpui_de.ts index 1171a557b..bf5d9274a 100644 --- a/src/qmmpui/translations/libqmmpui_de.ts +++ b/src/qmmpui/translations/libqmmpui_de.ts @@ -75,8 +75,8 @@ p, li { white-space: pre-wrap; } PlayListManager - - + + Playlist Wiedergabeliste diff --git a/src/qmmpui/translations/libqmmpui_es.ts b/src/qmmpui/translations/libqmmpui_es.ts index e2f03118d..8541c3baf 100644 --- a/src/qmmpui/translations/libqmmpui_es.ts +++ b/src/qmmpui/translations/libqmmpui_es.ts @@ -75,8 +75,8 @@ p, li { white-space: pre-wrap; } PlayListManager - - + + Playlist Lista de reproducción diff --git a/src/qmmpui/translations/libqmmpui_it.ts b/src/qmmpui/translations/libqmmpui_it.ts index 02a3f2758..be3f22bc7 100644 --- a/src/qmmpui/translations/libqmmpui_it.ts +++ b/src/qmmpui/translations/libqmmpui_it.ts @@ -75,8 +75,8 @@ p, li { white-space: pre-wrap; } PlayListManager - - + + Playlist Lista esecuzione diff --git a/src/qmmpui/translations/libqmmpui_ja.ts b/src/qmmpui/translations/libqmmpui_ja.ts index 29970adbd..41b76f1f4 100644 --- a/src/qmmpui/translations/libqmmpui_ja.ts +++ b/src/qmmpui/translations/libqmmpui_ja.ts @@ -75,8 +75,8 @@ p, li { white-space: pre-wrap; } PlayListManager - - + + Playlist プレイリスト diff --git a/src/qmmpui/translations/libqmmpui_lt.ts b/src/qmmpui/translations/libqmmpui_lt.ts index e6a3494a7..4080bf130 100644 --- a/src/qmmpui/translations/libqmmpui_lt.ts +++ b/src/qmmpui/translations/libqmmpui_lt.ts @@ -75,8 +75,8 @@ p, li { white-space: pre-wrap; } PlayListManager - - + + Playlist Grojaraštis diff --git a/src/qmmpui/translations/libqmmpui_nl.ts b/src/qmmpui/translations/libqmmpui_nl.ts index 7dee95c37..3f0604c04 100644 --- a/src/qmmpui/translations/libqmmpui_nl.ts +++ b/src/qmmpui/translations/libqmmpui_nl.ts @@ -75,8 +75,8 @@ p, li { white-space: pre-wrap; } PlayListManager - - + + Playlist Afspeellijst diff --git a/src/qmmpui/translations/libqmmpui_pl.ts b/src/qmmpui/translations/libqmmpui_pl.ts index 663982508..56e5f3d21 100644 --- a/src/qmmpui/translations/libqmmpui_pl.ts +++ b/src/qmmpui/translations/libqmmpui_pl.ts @@ -71,8 +71,8 @@ p, li { white-space: pre-wrap; } PlayListManager - - + + Playlist Lista odtwarzania diff --git a/src/qmmpui/translations/libqmmpui_pt_BR.ts b/src/qmmpui/translations/libqmmpui_pt_BR.ts index d8dea4fff..7e28cc10f 100644 --- a/src/qmmpui/translations/libqmmpui_pt_BR.ts +++ b/src/qmmpui/translations/libqmmpui_pt_BR.ts @@ -71,8 +71,8 @@ p, li { white-space: pre-wrap; } PlayListManager - - + + Playlist diff --git a/src/qmmpui/translations/libqmmpui_ru.ts b/src/qmmpui/translations/libqmmpui_ru.ts index 58fe5b825..57048a403 100644 --- a/src/qmmpui/translations/libqmmpui_ru.ts +++ b/src/qmmpui/translations/libqmmpui_ru.ts @@ -71,8 +71,8 @@ p, li { white-space: pre-wrap; } PlayListManager - - + + Playlist Список diff --git a/src/qmmpui/translations/libqmmpui_tr.ts b/src/qmmpui/translations/libqmmpui_tr.ts index d98513575..191cb0dca 100644 --- a/src/qmmpui/translations/libqmmpui_tr.ts +++ b/src/qmmpui/translations/libqmmpui_tr.ts @@ -71,8 +71,8 @@ p, li { white-space: pre-wrap; } PlayListManager - - + + Playlist diff --git a/src/qmmpui/translations/libqmmpui_uk_UA.ts b/src/qmmpui/translations/libqmmpui_uk_UA.ts index 38f173092..6ed7602f4 100644 --- a/src/qmmpui/translations/libqmmpui_uk_UA.ts +++ b/src/qmmpui/translations/libqmmpui_uk_UA.ts @@ -71,8 +71,8 @@ p, li { white-space: pre-wrap; } PlayListManager - - + + Playlist Список diff --git a/src/qmmpui/translations/libqmmpui_zh_CN.ts b/src/qmmpui/translations/libqmmpui_zh_CN.ts index ff6fae476..e48f6ca01 100644 --- a/src/qmmpui/translations/libqmmpui_zh_CN.ts +++ b/src/qmmpui/translations/libqmmpui_zh_CN.ts @@ -71,8 +71,8 @@ p, li { white-space: pre-wrap; } PlayListManager - - + + Playlist diff --git a/src/qmmpui/translations/libqmmpui_zh_TW.ts b/src/qmmpui/translations/libqmmpui_zh_TW.ts index 2ee4180a6..34f27399f 100644 --- a/src/qmmpui/translations/libqmmpui_zh_TW.ts +++ b/src/qmmpui/translations/libqmmpui_zh_TW.ts @@ -71,8 +71,8 @@ p, li { white-space: pre-wrap; } PlayListManager - - + + Playlist diff --git a/src/ui/forms/playlistbrowser.ui b/src/ui/forms/playlistbrowser.ui index 200a6d935..0f9280905 100644 --- a/src/ui/forms/playlistbrowser.ui +++ b/src/ui/forms/playlistbrowser.ui @@ -68,6 +68,9 @@ ... + + true + @@ -75,6 +78,12 @@ ... + + Qt::ToolButtonIconOnly + + + true + diff --git a/src/ui/playlistbrowser.cpp b/src/ui/playlistbrowser.cpp index a2ccaec64..d7e630c43 100644 --- a/src/ui/playlistbrowser.cpp +++ b/src/ui/playlistbrowser.cpp @@ -56,16 +56,21 @@ void PlayListBrowser::updateList() ui.listWidget->clear(); foreach(PlayListModel *model, m_pl_manager->playLists()) ui.listWidget->addItem(model->name()); - int c = m_pl_manager->indexOf(m_pl_manager->selectedPlayList()); - ui.listWidget->setCurrentRow (c); - QFont font = ui.listWidget->currentItem()->font(); - font.setBold(true); - ui.listWidget->currentItem()->setFont(font); + ui.listWidget->setCurrentRow (m_pl_manager->selectedPlayListIndex()); + //mark current playlist + int current = m_pl_manager->currentPlayListIndex(); + QListWidgetItem *item = ui.listWidget->item(current); + if(item) + { + QFont font = item->font(); + font.setBold(true); + item->setFont(font); + } } void PlayListBrowser::on_listWidget_itemDoubleClicked(QListWidgetItem *item) { - m_pl_manager->selectPlayList(ui.listWidget->row(item)); + m_pl_manager->activatePlayList(ui.listWidget->row(item)); } void PlayListBrowser::on_listWidget_itemChanged(QListWidgetItem *item) @@ -73,6 +78,11 @@ void PlayListBrowser::on_listWidget_itemChanged(QListWidgetItem *item) m_pl_manager->playListAt(ui.listWidget->row(item))->setName(item->text()); } +void PlayListBrowser::on_listWidget_itemPressed (QListWidgetItem *item) +{ + m_pl_manager->selectPlayList(ui.listWidget->row(item)); +} + void PlayListBrowser::rename() { QListWidgetItem *item = ui.listWidget->currentItem(); diff --git a/src/ui/playlistbrowser.h b/src/ui/playlistbrowser.h index c3eee00ec..563b527a5 100644 --- a/src/ui/playlistbrowser.h +++ b/src/ui/playlistbrowser.h @@ -40,6 +40,7 @@ private slots: void updateList(); void on_listWidget_itemDoubleClicked(QListWidgetItem *item); void on_listWidget_itemChanged(QListWidgetItem *item); + void on_listWidget_itemPressed (QListWidgetItem *item); void rename(); void on_deleteButton_clicked(); void on_downButton_clicked(); diff --git a/src/ui/playlistselector.cpp b/src/ui/playlistselector.cpp index 22cc967ce..eaa75b82e 100644 --- a/src/ui/playlistselector.cpp +++ b/src/ui/playlistselector.cpp @@ -185,6 +185,8 @@ void PlayListSelector::mousePressEvent (QMouseEvent *e) update(); if(e->button() == Qt::RightButton) m_menu->exec(e->globalPos()); + else + QWidget::mousePressEvent(e); } void PlayListSelector::mouseReleaseEvent (QMouseEvent *e) @@ -204,6 +206,27 @@ void PlayListSelector::mouseDoubleClickEvent (QMouseEvent *e) QWidget::mouseDoubleClickEvent(e); } +void PlayListSelector::mouseMoveEvent(QMouseEvent *e) +{ + QPoint mp = e->pos(); + mp.rx() += m_offset; + int dest = -1; + for(int i = 0; i < m_rects.count(); ++i) + { + if(m_rects.at(i).contains(mp)) + { + dest = i; + break; + } + } + if(dest == -1 || dest == m_pl_manager->selectedPlayListIndex()) + { + QWidget::mouseMoveEvent(e); + return; + } + m_pl_manager->move(m_pl_manager->selectedPlayListIndex(), dest); +} + void PlayListSelector::resizeEvent (QResizeEvent *) { updateScrollers(); diff --git a/src/ui/playlistselector.h b/src/ui/playlistselector.h index 538c156e1..67e281f75 100644 --- a/src/ui/playlistselector.h +++ b/src/ui/playlistselector.h @@ -53,6 +53,7 @@ private: void mousePressEvent (QMouseEvent *e); void mouseReleaseEvent (QMouseEvent *e); void mouseDoubleClickEvent (QMouseEvent *e); + void mouseMoveEvent(QMouseEvent *e); void resizeEvent (QResizeEvent *); void updateOffsets(); void loadColors(); diff --git a/src/ui/translations/qmmp_cs.ts b/src/ui/translations/qmmp_cs.ts index b98645441..6deb51520 100644 --- a/src/ui/translations/qmmp_cs.ts +++ b/src/ui/translations/qmmp_cs.ts @@ -1390,7 +1390,7 @@ - + ... ... diff --git a/src/ui/translations/qmmp_de.ts b/src/ui/translations/qmmp_de.ts index b86755f9e..9091c0f85 100644 --- a/src/ui/translations/qmmp_de.ts +++ b/src/ui/translations/qmmp_de.ts @@ -1390,7 +1390,7 @@ - + ... diff --git a/src/ui/translations/qmmp_es.ts b/src/ui/translations/qmmp_es.ts index d859d8863..2a125aa7a 100644 --- a/src/ui/translations/qmmp_es.ts +++ b/src/ui/translations/qmmp_es.ts @@ -1390,7 +1390,7 @@ - + ... ... diff --git a/src/ui/translations/qmmp_hu.ts b/src/ui/translations/qmmp_hu.ts index 2b1a7d1da..e4911384c 100644 --- a/src/ui/translations/qmmp_hu.ts +++ b/src/ui/translations/qmmp_hu.ts @@ -1390,7 +1390,7 @@ - + ... ... diff --git a/src/ui/translations/qmmp_it.ts b/src/ui/translations/qmmp_it.ts index 28eac3eb7..0b01872fc 100644 --- a/src/ui/translations/qmmp_it.ts +++ b/src/ui/translations/qmmp_it.ts @@ -1390,7 +1390,7 @@ - + ... ... diff --git a/src/ui/translations/qmmp_ja.ts b/src/ui/translations/qmmp_ja.ts index 644774bee..e2d2a6d0d 100644 --- a/src/ui/translations/qmmp_ja.ts +++ b/src/ui/translations/qmmp_ja.ts @@ -1390,7 +1390,7 @@ - + ... ... diff --git a/src/ui/translations/qmmp_lt.ts b/src/ui/translations/qmmp_lt.ts index b65b7d543..3c1d7b23a 100644 --- a/src/ui/translations/qmmp_lt.ts +++ b/src/ui/translations/qmmp_lt.ts @@ -1391,7 +1391,7 @@ - + ... ... diff --git a/src/ui/translations/qmmp_nl.ts b/src/ui/translations/qmmp_nl.ts index 6c15f30b1..24e346a02 100644 --- a/src/ui/translations/qmmp_nl.ts +++ b/src/ui/translations/qmmp_nl.ts @@ -1390,7 +1390,7 @@ - + ... ... diff --git a/src/ui/translations/qmmp_pl_PL.ts b/src/ui/translations/qmmp_pl_PL.ts index 5d775e442..93faaf72a 100644 --- a/src/ui/translations/qmmp_pl_PL.ts +++ b/src/ui/translations/qmmp_pl_PL.ts @@ -1390,7 +1390,7 @@ - + ... ... diff --git a/src/ui/translations/qmmp_pt_BR.ts b/src/ui/translations/qmmp_pt_BR.ts index 114cace98..4cf754a5e 100644 --- a/src/ui/translations/qmmp_pt_BR.ts +++ b/src/ui/translations/qmmp_pt_BR.ts @@ -1390,7 +1390,7 @@ - + ... ... diff --git a/src/ui/translations/qmmp_ru.ts b/src/ui/translations/qmmp_ru.ts index b954931c3..5305c907f 100644 --- a/src/ui/translations/qmmp_ru.ts +++ b/src/ui/translations/qmmp_ru.ts @@ -1390,7 +1390,7 @@ - + ... ... diff --git a/src/ui/translations/qmmp_tr.ts b/src/ui/translations/qmmp_tr.ts index ff5949392..0a7c81aaa 100644 --- a/src/ui/translations/qmmp_tr.ts +++ b/src/ui/translations/qmmp_tr.ts @@ -1390,7 +1390,7 @@ - + ... ... diff --git a/src/ui/translations/qmmp_uk_UA.ts b/src/ui/translations/qmmp_uk_UA.ts index e00fc2842..2afd73b29 100644 --- a/src/ui/translations/qmmp_uk_UA.ts +++ b/src/ui/translations/qmmp_uk_UA.ts @@ -1390,7 +1390,7 @@ - + ... ... diff --git a/src/ui/translations/qmmp_zh_CN.ts b/src/ui/translations/qmmp_zh_CN.ts index d994926d3..025c5f1fb 100644 --- a/src/ui/translations/qmmp_zh_CN.ts +++ b/src/ui/translations/qmmp_zh_CN.ts @@ -1390,7 +1390,7 @@ - + ... ... diff --git a/src/ui/translations/qmmp_zh_TW.ts b/src/ui/translations/qmmp_zh_TW.ts index 80991af19..bbbc44eb2 100644 --- a/src/ui/translations/qmmp_zh_TW.ts +++ b/src/ui/translations/qmmp_zh_TW.ts @@ -1390,7 +1390,7 @@ - + ... ... -- cgit v1.2.3-13-gbd6f