diff options
| author | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2009-11-12 22:00:02 +0000 |
|---|---|---|
| committer | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2009-11-12 22:00:02 +0000 |
| commit | 90d3aeb642ba4d6445932343010294a39b33efe2 (patch) | |
| tree | ea9380c8aa1c8086b2258a8c21e8bf6486fcc141 /src/ui | |
| parent | e7115704de07fd7a4a474447b36ae2c9cc8a8f25 (diff) | |
| download | qmmp-90d3aeb642ba4d6445932343010294a39b33efe2.tar.gz qmmp-90d3aeb642ba4d6445932343010294a39b33efe2.tar.bz2 qmmp-90d3aeb642ba4d6445932343010294a39b33efe2.zip | |
added multiple playlists support
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@1363 90c681e8-e032-0410-971d-27865f9a5e38
Diffstat (limited to 'src/ui')
| -rw-r--r-- | src/ui/configdialog.cpp | 16 | ||||
| -rw-r--r-- | src/ui/display.cpp | 4 | ||||
| -rw-r--r-- | src/ui/jumptotrackdialog.cpp | 23 | ||||
| -rw-r--r-- | src/ui/jumptotrackdialog.h | 18 | ||||
| -rw-r--r-- | src/ui/keyboardmanager.cpp | 67 | ||||
| -rw-r--r-- | src/ui/keyboardmanager.h | 8 | ||||
| -rw-r--r-- | src/ui/listwidget.cpp | 41 | ||||
| -rw-r--r-- | src/ui/listwidget.h | 18 | ||||
| -rw-r--r-- | src/ui/mainwindow.cpp | 110 | ||||
| -rw-r--r-- | src/ui/mainwindow.h | 16 | ||||
| -rw-r--r-- | src/ui/playlist.cpp | 143 | ||||
| -rw-r--r-- | src/ui/playlist.h | 14 | ||||
| -rw-r--r-- | src/ui/playlisttitlebar.cpp | 7 | ||||
| -rw-r--r-- | src/ui/playlisttitlebar.h | 4 | ||||
| -rw-r--r-- | src/ui/translations/qmmp_cs.ts | 181 | ||||
| -rw-r--r-- | src/ui/translations/qmmp_de.ts | 181 | ||||
| -rw-r--r-- | src/ui/translations/qmmp_it.ts | 181 | ||||
| -rw-r--r-- | src/ui/translations/qmmp_lt.ts | 181 | ||||
| -rw-r--r-- | src/ui/translations/qmmp_pl_PL.ts | 181 | ||||
| -rw-r--r-- | src/ui/translations/qmmp_pt_BR.ts | 181 | ||||
| -rw-r--r-- | src/ui/translations/qmmp_ru.ts | 181 | ||||
| -rw-r--r-- | src/ui/translations/qmmp_tr.ts | 181 | ||||
| -rw-r--r-- | src/ui/translations/qmmp_uk_UA.ts | 181 | ||||
| -rw-r--r-- | src/ui/translations/qmmp_zh_CN.ts | 181 | ||||
| -rw-r--r-- | src/ui/translations/qmmp_zh_TW.ts | 181 |
25 files changed, 1277 insertions, 1203 deletions
diff --git a/src/ui/configdialog.cpp b/src/ui/configdialog.cpp index 068a9010c..a468cd28c 100644 --- a/src/ui/configdialog.cpp +++ b/src/ui/configdialog.cpp @@ -105,10 +105,10 @@ void ConfigDialog::readSettings() QSettings settings (Qmmp::configFile(), QSettings::IniFormat); if (MediaPlayer *player = MediaPlayer::instance()) { - ui.formatLineEdit->setText(player->playListModel()->format()); - ui.metadataCheckBox->setChecked(player->playListModel()->useMetadata()); - ui.underscoresCheckBox->setChecked(player->playListModel()->convertUnderscore()); - ui.per20CheckBox->setChecked(player->playListModel()->convertTwenty()); + ui.formatLineEdit->setText(player->playListManager()->format()); + ui.metadataCheckBox->setChecked(player->playListManager()->useMetadata()); + ui.underscoresCheckBox->setChecked(player->playListManager()->convertUnderscore()); + ui.per20CheckBox->setChecked(player->playListManager()->convertTwenty()); } ui.protocolCheckBox->setChecked(settings.value ("PlayList/show_protocol", FALSE).toBool()); ui.numbersCheckBox->setChecked(settings.value ("PlayList/show_numbers", TRUE).toBool()); @@ -607,10 +607,10 @@ void ConfigDialog::saveSettings() QSettings settings (Qmmp::configFile(), QSettings::IniFormat); if (MediaPlayer *player = MediaPlayer::instance()) { - player->playListModel()->setFormat(ui.formatLineEdit->text().trimmed()); - player->playListModel()->setUseMetadata(ui.metadataCheckBox->isChecked()); - player->playListModel()->setConvertUnderscore(ui.underscoresCheckBox->isChecked()); - player->playListModel()->setConvertTwenty(ui.per20CheckBox->isChecked()); + player->playListManager()->setFormat(ui.formatLineEdit->text().trimmed()); + player->playListManager()->setUseMetadata(ui.metadataCheckBox->isChecked()); + player->playListManager()->setConvertUnderscore(ui.underscoresCheckBox->isChecked()); + player->playListManager()->setConvertTwenty(ui.per20CheckBox->isChecked()); } settings.setValue ("PlayList/show_protocol", ui.protocolCheckBox->isChecked()); settings.setValue ("PlayList/show_numbers", ui.numbersCheckBox->isChecked()); diff --git a/src/ui/display.cpp b/src/ui/display.cpp index 58cb78e7c..fab49fbf9 100644 --- a/src/ui/display.cpp +++ b/src/ui/display.cpp @@ -114,9 +114,9 @@ MainDisplay::MainDisplay (QWidget *parent) connect(m_core, SIGNAL(stateChanged(Qmmp::State)), SLOT(setState(Qmmp::State))); connect(m_core, SIGNAL(volumeChanged(int,int)), SLOT(setVolume(int, int))); connect(m_core, SIGNAL(elapsedChanged(qint64)),m_titlebar, SLOT(setTime(qint64))); - PlayListModel *model = MediaPlayer::instance()->playListModel(); + /*PlayListModel *model = MediaPlayer::instance()->playListModel(); connect(model, SIGNAL(repeatableListChanged(bool)), m_repeatButton, SLOT(setON(bool))); - connect(model, SIGNAL(shuffleChanged(bool)), m_shuffleButton, SLOT(setON(bool))); + connect(model, SIGNAL(shuffleChanged(bool)), m_shuffleButton, SLOT(setON(bool)));*/ updatePositions(); updateMask(); } diff --git a/src/ui/jumptotrackdialog.cpp b/src/ui/jumptotrackdialog.cpp index 6c9343170..0cad6ecfd 100644 --- a/src/ui/jumptotrackdialog.cpp +++ b/src/ui/jumptotrackdialog.cpp @@ -19,19 +19,19 @@ ***************************************************************************/ #include "jumptotrackdialog.h" -#include <qmmpui/playlistmodel.h> +#include <qmmpui/playlistmanager.h> #include <QStringListModel> #include <QSortFilterProxyModel> #include <QShortcut> #include <QKeySequence> -JumpToTrackDialog::JumpToTrackDialog(QWidget* parent, Qt::WFlags fl) - : QDialog( parent, fl ) +JumpToTrackDialog::JumpToTrackDialog(PlayListManager *manager, QWidget* parent) + : QDialog (parent) { setupUi(this); setAttribute(Qt::WA_QuitOnClose, FALSE); - m_playListModel = 0; + m_pl_manager = manager; m_listModel = new QStringListModel(this); m_proxyModel = new QSortFilterProxyModel; @@ -76,8 +76,8 @@ void JumpToTrackDialog::on_queuePushButton_clicked() if (!mi_list.isEmpty()) { int selected = (m_proxyModel->mapToSource(mi_list.at(0))).row(); - m_playListModel->setQueued(m_playListModel->item(selected)); - if (m_playListModel->isQueued(m_playListModel->item(selected))) + m_pl_manager->selectedPlayList()->setQueued(m_pl_manager->selectedPlayList()->item(selected)); + if (m_pl_manager->selectedPlayList()->isQueued(m_pl_manager->selectedPlayList()->item(selected))) queuePushButton->setText(tr("Unqueue")); else queuePushButton->setText(tr("Queue")); @@ -96,16 +96,11 @@ void JumpToTrackDialog::on_jumpToPushButton_clicked() void JumpToTrackDialog::refresh() { filterLineEdit->clear(); - QStringList titles = m_playListModel->getTitles(0,m_playListModel->count()); + QStringList titles = m_pl_manager->selectedPlayList()->getTitles(0, m_pl_manager->selectedPlayList()->count()); m_listModel->setStringList(titles); filterLineEdit->setFocus(); } -void JumpToTrackDialog::setModel(PlayListModel * model) -{ - m_playListModel = model; -} - void JumpToTrackDialog::on_filterLineEdit_textChanged(const QString &str) { m_proxyModel->setFilterFixedString(str); @@ -126,14 +121,14 @@ void JumpToTrackDialog::on_filterLineEdit_returnPressed () void JumpToTrackDialog::jumpTo(const QModelIndex & index) { int selected = (m_proxyModel->mapToSource(index)).row(); - m_playListModel->setCurrent(selected); + m_pl_manager->selectedPlayList()->setCurrent(selected); emit playRequest(); } void JumpToTrackDialog::queueUnqueue(const QModelIndex& curr,const QModelIndex&) { int row = m_proxyModel->mapToSource(curr).row(); - if (m_playListModel->isQueued(m_playListModel->item(row))) + if (m_pl_manager->selectedPlayList()->isQueued(m_pl_manager->selectedPlayList()->item(row))) queuePushButton->setText(tr("Unqueue")); else queuePushButton->setText(tr("Queue")); diff --git a/src/ui/jumptotrackdialog.h b/src/ui/jumptotrackdialog.h index fb4cf301e..56f95a177 100644 --- a/src/ui/jumptotrackdialog.h +++ b/src/ui/jumptotrackdialog.h @@ -24,24 +24,22 @@ #include <QDialog> #include "ui_jumptotrackdialog.h" -/** - @author Vladimir Kuznetsov <vovanec@gmail.com> - */ - class QStringListModel; -class PlayListModel; class QSortFilterProxyModel; +class PlayListManager; - +/** + @author Vladimir Kuznetsov <vovanec@gmail.com> + */ class JumpToTrackDialog : public QDialog, private Ui::JumpToTrackDialog { Q_OBJECT public: - JumpToTrackDialog(QWidget* parent = 0, Qt::WFlags fl = 0 ); + JumpToTrackDialog(PlayListManager *manager, QWidget* parent = 0); ~JumpToTrackDialog(); - void setModel(PlayListModel* model); void refresh(); + protected slots: void on_closePushButton_clicked(); void on_refreshPushButton_clicked(); @@ -51,12 +49,14 @@ protected slots: void on_filterLineEdit_returnPressed (); void jumpTo(const QModelIndex&); void queueUnqueue(const QModelIndex&,const QModelIndex&); + signals: void playRequest(); + private: - PlayListModel* m_playListModel; QStringListModel* m_listModel; QSortFilterProxyModel* m_proxyModel; + PlayListManager *m_pl_manager; }; #endif diff --git a/src/ui/keyboardmanager.cpp b/src/ui/keyboardmanager.cpp index 8a6853b85..024f12bae 100644 --- a/src/ui/keyboardmanager.cpp +++ b/src/ui/keyboardmanager.cpp @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2006 by Ilya Kotov * + * Copyright (C) 2006-2009 by Ilya Kotov * * forkotov02@hotmail.ru * * * * This program is free software; you can redistribute it and/or modify * @@ -20,9 +20,7 @@ #include <QKeyEvent> - #include <qmmpui/playlistmodel.h> - #include "playlist.h" #include "listwidget.h" #include "keyboardmanager.h" @@ -72,14 +70,9 @@ bool KeyboardManager::handleKeyRelease (QKeyEvent*) return FALSE; } -void KeyboardManager::setModel (PlayListModel *m) -{ - m_playListModel = m; -} - void KeyboardManager::keyUp (QKeyEvent * ke) { - QList<int> rows = m_playListModel->getSelectedRows(); + QList<int> rows = m_playlist->listWidget()->model()->getSelectedRows(); ListWidget* list_widget = m_playlist->listWidget(); if (rows.count() > 0) @@ -89,7 +82,7 @@ void KeyboardManager::keyUp (QKeyEvent * ke) if (! (ke->modifiers() & Qt::ShiftModifier || ke->modifiers() & Qt::AltModifier)) { - m_playListModel->clearSelection(); + m_playlist->listWidget()->model()->clearSelection(); list_widget->setAnchorRow(-1); } @@ -109,22 +102,22 @@ void KeyboardManager::keyUp (QKeyEvent * ke) { if (ke->modifiers() == Qt::AltModifier) { - m_playListModel->moveItems (rows[0],rows[0] - 1); + m_playlist->listWidget()->model()->moveItems (rows[0],rows[0] - 1); list_widget->setAnchorRow (list_widget->getAnchorRow() - 1); } else { if (rows.last() > list_widget->getAnchorRow() && ke->modifiers() & Qt::ShiftModifier) { - m_playListModel->setSelected (rows.last(),false); + m_playlist->listWidget()->model()->setSelected (rows.last(),false); } else if (rows[0] > 0) { - m_playListModel->setSelected (rows[0] - 1,true); + m_playlist->listWidget()->model()->setSelected (rows[0] - 1,true); } else { - m_playListModel->setSelected (rows[0],true); + m_playlist->listWidget()->model()->setSelected (rows[0],true); if(list_widget->getAnchorRow() == -1) list_widget->setAnchorRow(rows[0]); } @@ -135,11 +128,11 @@ void KeyboardManager::keyUp (QKeyEvent * ke) } else { - m_playListModel->setSelected (list_widget->firstVisibleRow(),true); + m_playlist->listWidget()->model()->setSelected (list_widget->firstVisibleRow(),true); list_widget->setAnchorRow(list_widget->firstVisibleRow()); } - rows = m_playListModel->getSelectedRows(); + rows = m_playlist->listWidget()->model()->getSelectedRows(); if (rows[0] < list_widget->firstVisibleRow() && list_widget->firstVisibleRow() > 0) { @@ -154,20 +147,20 @@ void KeyboardManager::keyUp (QKeyEvent * ke) { //if(list_widget->getAnchorRow() == -1) list_widget->setAnchorRow(list_widget->firstVisibleRow()); - m_playListModel->setSelected (list_widget->firstVisibleRow(),true); + m_playlist->listWidget()->model()->setSelected (list_widget->firstVisibleRow(),true); } } void KeyboardManager::keyDown (QKeyEvent * ke) { - QList<int> rows = m_playListModel->getSelectedRows(); + QList<int> rows = m_playlist->listWidget()->model()->getSelectedRows(); ListWidget* list_widget = m_playlist->listWidget(); //qWarning("count: %d",rows.count()); if (rows.count() > 0) { if (! (ke->modifiers() & Qt::ShiftModifier || ke->modifiers() & Qt::AltModifier)) { - m_playListModel->clearSelection(); + m_playlist->listWidget()->model()->clearSelection(); list_widget->setAnchorRow(-1); } @@ -187,37 +180,37 @@ void KeyboardManager::keyDown (QKeyEvent * ke) { if (ke->modifiers() == Qt::AltModifier) { - m_playListModel->moveItems (rows.last(),rows.last() + 1); + m_playlist->listWidget()->model()->moveItems (rows.last(),rows.last() + 1); list_widget->setAnchorRow (list_widget->getAnchorRow() + 1); } else { //qWarning("list_widget %d",list_widget->getAnchorRow()); - //qWarning("model count: %d rows.last(): %d",m_playListModel->count(),rows.last()); + //qWarning("model count: %d rows.last(): %d",m_playlist->listWidget()->model()->count(),rows.last()); if (rows[0] < list_widget->getAnchorRow() && ke->modifiers() & Qt::ShiftModifier) - m_playListModel->setSelected (rows[0],false); - else if (rows.last() < m_playListModel->count() - 1) + m_playlist->listWidget()->model()->setSelected (rows[0],false); + else if (rows.last() < m_playlist->listWidget()->model()->count() - 1) { - m_playListModel->setSelected (rows.last() + 1,true); + m_playlist->listWidget()->model()->setSelected (rows.last() + 1,true); } else { - m_playListModel->setSelected (rows.last(),true); + m_playlist->listWidget()->model()->setSelected (rows.last(),true); if(list_widget->getAnchorRow() == -1) list_widget->setAnchorRow(rows.last()); } - if (! (ke->modifiers() & Qt::ShiftModifier) && rows.last() < m_playListModel->count() - 1) + if (! (ke->modifiers() & Qt::ShiftModifier) && rows.last() < m_playlist->listWidget()->model()->count() - 1) list_widget->setAnchorRow (rows.last() + 1); } } else { - m_playListModel->setSelected (list_widget->firstVisibleRow(),true); + m_playlist->listWidget()->model()->setSelected (list_widget->firstVisibleRow(),true); list_widget->setAnchorRow(list_widget->firstVisibleRow()); } - rows = m_playListModel->getSelectedRows(); + rows = m_playlist->listWidget()->model()->getSelectedRows(); if (!rows.isEmpty() && rows.last() >= list_widget->visibleRows() + list_widget->firstVisibleRow()) { @@ -231,7 +224,7 @@ void KeyboardManager::keyDown (QKeyEvent * ke) } else { - m_playListModel->setSelected (list_widget->firstVisibleRow(),true); + m_playlist->listWidget()->model()->setSelected (list_widget->firstVisibleRow(),true); //if(list_widget->getAnchorRow() == -1) list_widget->setAnchorRow(list_widget->firstVisibleRow()); } @@ -249,18 +242,18 @@ void KeyboardManager::keyPgDown (QKeyEvent *) { ListWidget* list_widget = m_playlist->listWidget(); int page_size = list_widget->visibleRows(); - int offset = (list_widget->firstVisibleRow() +page_size < m_playListModel->count()) ? - list_widget->firstVisibleRow() +page_size:m_playListModel->count() - 1; + int offset = (list_widget->firstVisibleRow() +page_size < m_playlist->listWidget()->model()->count()) ? + list_widget->firstVisibleRow() +page_size:m_playlist->listWidget()->model()->count() - 1; list_widget->scroll (offset); } void KeyboardManager::keyEnter (QKeyEvent *) { - QList<int> rows = m_playListModel->getSelectedRows(); + QList<int> rows = m_playlist->listWidget()->model()->getSelectedRows(); MainWindow* mw = qobject_cast<MainWindow*> (m_playlist->parentWidget()); if (mw && rows.count() > 0) { - m_playListModel->setCurrent (rows[0]); + m_playlist->listWidget()->model()->setCurrent (rows[0]); mw->replay(); } } @@ -271,17 +264,17 @@ void KeyboardManager::keyHome(QKeyEvent *ke) m_playlist->listWidget()->scroll (0); if(ke->modifiers() & Qt::ShiftModifier) for(int i = 0; i <= list_widget->getAnchorRow(); ++i) - m_playListModel->setSelected (i,true); + m_playlist->listWidget()->model()->setSelected (i,true); } void KeyboardManager::keyEnd(QKeyEvent *ke) { ListWidget* list_widget = m_playlist->listWidget(); int page_size = list_widget->visibleRows(); - int scroll_to = m_playListModel->count() - page_size; + int scroll_to = m_playlist->listWidget()->model()->count() - page_size; if(scroll_to >= 0) list_widget->scroll(scroll_to); if(ke->modifiers() & Qt::ShiftModifier) - for(int i = list_widget->getAnchorRow(); i < m_playListModel->count(); ++i) - m_playListModel->setSelected (i,true); + for(int i = list_widget->getAnchorRow(); i < m_playlist->listWidget()->model()->count(); ++i) + m_playlist->listWidget()->model()->setSelected (i,true); } diff --git a/src/ui/keyboardmanager.h b/src/ui/keyboardmanager.h index 791a93334..73fa1bd53 100644 --- a/src/ui/keyboardmanager.h +++ b/src/ui/keyboardmanager.h @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2006 by Ilya Kotov * + * Copyright (C) 2006-2009 by Ilya Kotov * * forkotov02@hotmail.ru * * * * This program is free software; you can redistribute it and/or modify * @@ -23,7 +23,6 @@ #define _KEYBOARDMANAGER_H class PlayList; -class PlayListModel; class QKeyEvent; @@ -52,10 +51,6 @@ class KeyboardManager */ bool handleKeyRelease (QKeyEvent*); - /*! - * Inits the \b KeyboardManager object with data model. - */ - void setModel (PlayListModel*); protected: void keyUp (QKeyEvent* ke); void keyDown (QKeyEvent* ke); @@ -66,7 +61,6 @@ class KeyboardManager void keyEnd(QKeyEvent* ke); private: PlayList* m_playlist; - PlayListModel* m_playListModel; }; #endif diff --git a/src/ui/listwidget.cpp b/src/ui/listwidget.cpp index 6a56d4218..2a80fb421 100644 --- a/src/ui/listwidget.cpp +++ b/src/ui/listwidget.cpp @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2006-2008 by Ilya Kotov * + * Copyright (C) 2006-2009 by Ilya Kotov * * forkotov02@hotmail.ru * * * * This program is free software; you can redistribute it and/or modify * @@ -27,11 +27,9 @@ #include <QUrl> #include <QApplication> #include <QHelpEvent> - #include <qmmpui/playlistitem.h> #include <qmmpui/playlistmodel.h> #include <qmmpui/mediaplayer.h> - #include "textscroller.h" #include "listwidget.h" #include "skin.h" @@ -71,7 +69,6 @@ void ListWidget::readSettings() m_show_protocol = settings.value ("PlayList/show_protocol", FALSE).toBool(); m_show_number = settings.value ("PlayList/show_numbers", TRUE).toBool(); - if (m_update) { delete m_metrics; @@ -179,19 +176,11 @@ void ListWidget::mousePressEvent(QMouseEvent *e) if (m_pressed_row > m_anchor_row) { - //int upper_selected = m_model->firstSelectedUpper(m_anchor_row); - //if (INVALID_ROW != upper_selected) - //{ - /*for (int j = upper_selected;j < m_anchor_row;j++) - { - m_model->setSelected(j, false); - }*/ m_model->clearSelection(); for (int j = m_anchor_row;j <= m_pressed_row;j++) { m_model->setSelected(j, true); } - //} } else { @@ -201,27 +190,6 @@ void ListWidget::mousePressEvent(QMouseEvent *e) m_model->setSelected(j, true); } } - - /* - int upper_selected = m_model->firstSelectedUpper(row); - int lower_selected = m_model->firstSelectedLower(row); - if (INVALID_ROW != upper_selected) - { - for (int j = upper_selected;j <= row;j++) - { - m_model->setSelected(j, true); - } - } - else if (INVALID_ROW != lower_selected) - { - for (int j = row;j <= lower_selected;j++) - { - m_model->setSelected(j, true); - } - } - else - m_model->setSelected(row, true); - */ } else { @@ -324,9 +292,11 @@ void ListWidget::updateList() update(); } -void ListWidget::setModel(PlayListModel *model) +void ListWidget::setModel(PlayListModel *selected, PlayListModel *previous) { - m_model = model; + if(previous) + disconnect(previous, 0, this, 0); //disconnect previous model + m_model = selected; connect (m_model, SIGNAL(listChanged()), SLOT(updateList())); connect (m_model, SIGNAL(currentChanged()), SLOT(recenterCurrent())); updateList(); @@ -464,7 +434,6 @@ int ListWidget::rowAt(int y) const return INVALID_ROW; } - void ListWidget::contextMenuEvent(QContextMenuEvent * event) { if (menu()) diff --git a/src/ui/listwidget.h b/src/ui/listwidget.h index df3889593..15e657c62 100644 --- a/src/ui/listwidget.h +++ b/src/ui/listwidget.h @@ -46,7 +46,6 @@ public: ~ListWidget(); - void setModel(PlayListModel *); void readSettings(); /*! * Returns count of currently visible rows. @@ -74,15 +73,24 @@ public: m_anchor_row = r; } + QMenu *menu() + { + return m_menu; + } + + PlayListModel *model() + { + Q_ASSERT(!m_model); + return m_model; + } + + public slots: void updateList(); void scroll(int); //0-99 void recenterCurrent(); + void setModel(PlayListModel *selected, PlayListModel *previous = 0); - QMenu *menu() - { - return m_menu; - } signals: void selectionChanged(); diff --git a/src/ui/mainwindow.cpp b/src/ui/mainwindow.cpp index ae23f58b0..4f021d725 100644 --- a/src/ui/mainwindow.cpp +++ b/src/ui/mainwindow.cpp @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2006-2009 by Ilya Kotov m * + * Copyright (C) 2006-2009 by Ilya Kotov * * forkotov02@hotmail.ru * * * * This program is free software; you can redistribute it and/or modify * @@ -22,6 +22,7 @@ #include <QDir> #include <QAction> #include <QMenu> +#include <QLibrary> #include <math.h> @@ -35,6 +36,7 @@ #include <qmmpui/commandlinemanager.h> #include <qmmpui/filedialog.h> #include <qmmpui/playlistmodel.h> +#include <qmmpui/playlistmanager.h> #include <qmmpui/mediaplayer.h> #include "textscroller.h" @@ -58,10 +60,8 @@ MainWindow::MainWindow(const QStringList& args, BuiltinCommandLineOption* option : QMainWindow(parent) { m_vis = 0; - seeking = FALSE; m_update = FALSE; m_paused = FALSE; - m_playlistName = tr("Default"); m_option_manager = option_manager; setWindowIcon(QIcon(":/32x32/qmmp.png")); #if QT_VERSION >= 0x040500 @@ -69,14 +69,13 @@ MainWindow::MainWindow(const QStringList& args, BuiltinCommandLineOption* option #else setWindowFlags(Qt::Window | Qt::FramelessWindowHint | Qt::WindowSystemMenuHint); #endif - //setFixedSize (275,116); setWindowTitle("Qmmp"); //prepare libqmmp and libqmmpui libraries for playing m_player = new MediaPlayer(this); m_core = new SoundCore(this); - m_playListModel = new PlayListModel(this); - m_player->initialize(m_core, m_playListModel); + m_pl_manager = new PlayListManager(this); + m_player->initialize(m_core, m_pl_manager); //additional featuries new PlaylistParser(this); m_generalHandler = new GeneralHandler(this); @@ -90,15 +89,13 @@ MainWindow::MainWindow(const QStringList& args, BuiltinCommandLineOption* option setCentralWidget(m_display); m_display->setFocus (); - m_playlist = new PlayList(this); - m_playlist->setModel(m_playListModel); + m_playlist = new PlayList(m_pl_manager, this); dock->addWidget(m_playlist); m_equalizer = new EqWidget(this); dock->addWidget(m_equalizer); - m_jumpDialog = new JumpToTrackDialog(this); - m_jumpDialog->setModel(m_playListModel); + m_jumpDialog = new JumpToTrackDialog(m_pl_manager, this); m_jumpDialog->hide(); createActions(); @@ -113,22 +110,19 @@ MainWindow::MainWindow(const QStringList& args, BuiltinCommandLineOption* option connect (m_playlist,SIGNAL(pause()), m_core ,SLOT(pause())); connect (m_playlist,SIGNAL(stop()),SLOT(stop())); connect (m_playlist,SIGNAL(eject()),SLOT(addFile())); - connect (m_playlist,SIGNAL(newPlaylist()),SLOT(newPlaylist())); connect (m_playlist,SIGNAL(loadPlaylist()),SLOT(loadPlaylist())); connect (m_playlist,SIGNAL(savePlaylist()),SLOT(savePlaylist())); - connect(m_display,SIGNAL(shuffleToggled(bool)),m_playListModel,SLOT(prepareForShufflePlaying(bool))); - connect(m_display,SIGNAL(repeatableToggled(bool)),m_playListModel,SLOT(prepareForRepeatablePlaying(bool))); + connect(m_display,SIGNAL(shuffleToggled(bool)),m_pl_manager,SLOT(setShuffle(bool))); + connect(m_display,SIGNAL(repeatableToggled(bool)),m_pl_manager,SLOT(setRepeatableList(bool))); connect(m_equalizer, SIGNAL(valueChanged()), SLOT(updateEQ())); - connect(m_jumpDialog,SIGNAL(playRequest()),this,SLOT(play())); + connect(m_jumpDialog,SIGNAL(playRequest()), SLOT(replay())); connect(m_core, SIGNAL(stateChanged(Qmmp::State)), SLOT(showState(Qmmp::State))); connect(m_core, SIGNAL(elapsedChanged(qint64)),m_playlist, SLOT(setTime(qint64))); connect(m_core, SIGNAL(metaDataChanged()),SLOT(showMetaData())); - connect(m_core, SIGNAL(bufferingProgress(int)), TextScroller::getPointer(), - SLOT(setProgress(int))); - + connect(m_core, SIGNAL(bufferingProgress(int)), TextScroller::getPointer(), SLOT(setProgress(int))); connect(m_generalHandler, SIGNAL(toggleVisibilityCalled()), SLOT(toggleVisibility())); connect(m_generalHandler, SIGNAL(exitCalled()), SLOT(close())); @@ -136,7 +130,7 @@ MainWindow::MainWindow(const QStringList& args, BuiltinCommandLineOption* option m_display->setEQ(m_equalizer); m_display->setPL(m_playlist); dock->updateDock(); - m_playListModel->doCurrentVisibleRequest(); + m_pl_manager->currentPlayList()->doCurrentVisibleRequest(); updateEQ(); #ifndef Q_OS_WIN32 QString cwd = QDir::currentPath(); @@ -148,9 +142,7 @@ MainWindow::MainWindow(const QStringList& args, BuiltinCommandLineOption* option MainWindow::~MainWindow() -{ - //stop(); -} +{} void MainWindow::play() { @@ -160,16 +152,15 @@ void MainWindow::play() void MainWindow::replay() { stop(); + m_pl_manager->activatePlayList(m_pl_manager->selectedPlayList()); play(); } void MainWindow::seek(qint64 pos) { - if (!seeking) - m_core->seek(pos); + m_core->seek(pos); } - void MainWindow::forward() { seek(m_core->elapsed() + KEY_OFFSET); @@ -217,12 +208,12 @@ void MainWindow::updateEQ() void MainWindow::showState(Qmmp::State state) { - disconnect(m_playListModel, SIGNAL(firstAdded()), this, SLOT(play())); + //disconnect(m_playListModel, SIGNAL(firstAdded()), this, SLOT(play())); switch ((int) state) { case Qmmp::Playing: - if (m_playListModel->currentItem()) - m_equalizer->loadPreset(m_playListModel->currentItem()->url().section("/",-1)); + if (m_pl_manager->currentPlayList()->currentItem()) + m_equalizer->loadPreset(m_pl_manager->currentPlayList()->currentItem()->url().section("/",-1)); if (m_playlist->listWidget()) m_playlist->listWidget()->updateList(); //removes progress message from TextScroller break; @@ -237,6 +228,7 @@ void MainWindow::showState(Qmmp::State state) break; } } + void MainWindow::showMetaData() { qDebug("===== metadata ======"); @@ -270,7 +262,7 @@ void MainWindow::closeEvent (QCloseEvent *) void MainWindow::addDir() { FileDialog::popup(this, FileDialog::AddDirs, &m_lastDir, - m_playListModel, SLOT(addFileList(const QStringList&)), + m_pl_manager->selectedPlayList(), SLOT(addFileList(const QStringList&)), tr("Choose a directory")); } @@ -281,25 +273,10 @@ void MainWindow::addFile() MetaDataManager::instance()->nameFilters().join (" ") +")"; filters << MetaDataManager::instance()->filters(); FileDialog::popup(this, FileDialog::AddDirsFiles, &m_lastDir, - m_playListModel, SLOT(addFileList(const QStringList&)), + m_pl_manager->selectedPlayList(), SLOT(addFileList(const QStringList&)), tr("Select one or more files to open"), filters.join(";;")); } -void MainWindow::clear() -{ - m_playListModel->clear(); -} - -void MainWindow::startSeek() -{ - seeking = TRUE; -} - -void MainWindow::endSeek() -{ - seeking = FALSE; -} - void MainWindow::changeEvent (QEvent * event) { if (event->type() == QEvent::ActivationChange) @@ -328,14 +305,11 @@ void MainWindow::readSettings() bool val = settings.value("Playlist/repeatable",FALSE).toBool(); // Repeat/Shuffle - m_playListModel->prepareForRepeatablePlaying(val); + m_pl_manager->setRepeatableList(val); m_display->setIsRepeatable(val); val = settings.value("Playlist/shuffle",FALSE).toBool(); m_display->setIsShuffle(val); - m_playListModel->prepareForShufflePlaying(val); - - // Playlist name - m_playlistName = settings.value("Playlist/playlist_name","Default").toString(); + m_pl_manager->setShuffle(val); m_update = TRUE; } @@ -363,8 +337,6 @@ void MainWindow::writeSettings() settings.setValue("repeatable",m_display->isRepeatable()); settings.setValue("shuffle",m_display->isShuffle()); - // Playlist name - settings.setValue("playlist_name",m_playlistName); settings.endGroup(); } @@ -376,7 +348,6 @@ void MainWindow::showSettings() readSettings(); m_playlist->readSettings(); TextScroller::getPointer()->readSettings(); - //m_core->updateConfig(); m_visMenu->updateActions(); m_skin->reloadSkin(); Dock::instance()->updateDock(); @@ -433,12 +404,12 @@ void MainWindow::createActions() repeateAllAction->setShortcut(tr("R")) ; repeateTrackAction->setShortcut(tr("Ctrl+R")) ; shuffleAction->setShortcut(tr("S")) ; - connect(repeateAllAction, SIGNAL(triggered (bool)), m_playListModel, SLOT(prepareForRepeatablePlaying(bool))); + connect(repeateAllAction, SIGNAL(triggered (bool)), m_pl_manager, SLOT(setRepeatableList(bool))); connect(repeateTrackAction, SIGNAL(triggered (bool)), m_player, SLOT(setRepeatable(bool))); - connect(shuffleAction, SIGNAL(triggered (bool)), m_playListModel, SLOT(prepareForShufflePlaying(bool))); - connect(m_playListModel, SIGNAL(repeatableListChanged(bool)), repeateAllAction, SLOT(setChecked(bool))); + connect(shuffleAction, SIGNAL(triggered (bool)), m_pl_manager, SLOT(setShuffle(bool))); + connect(m_pl_manager, SIGNAL(repeatableListChanged(bool)), repeateAllAction, SLOT(setChecked(bool))); connect(m_player, SIGNAL (repeatableChanged(bool)), repeateTrackAction, SLOT(setChecked(bool))); - connect(m_playListModel, SIGNAL(shuffleChanged(bool)), shuffleAction, SLOT(setChecked(bool))); + connect(m_pl_manager, SIGNAL(shuffleChanged(bool)), shuffleAction, SLOT(setChecked(bool))); m_mainMenu->addSeparator(); m_mainMenu->addAction(tr("&Jump To File"),this, SLOT(jumpToFile()), tr("J")); m_mainMenu->addSeparator(); @@ -477,12 +448,6 @@ QMenu* MainWindow::menu() return m_mainMenu; } -void MainWindow::newPlaylist() -{ - m_playListModel->clear(); - m_playlistName = tr("Default"); -} - void MainWindow::loadPlaylist() { QStringList l; @@ -497,9 +462,9 @@ void MainWindow::loadPlaylist() QString f_name = FileDialog::getOpenFileName(this,tr("Open Playlist"),m_lastDir,mask); if (!f_name.isEmpty()) { - m_playListModel->clear(); - m_playListModel->loadPlaylist(f_name); - m_playlistName = QFileInfo(f_name).baseName(); + m_pl_manager->selectedPlayList()->clear(); + m_pl_manager->selectedPlayList()->loadPlaylist(f_name); + m_pl_manager->selectedPlayList()->setName(QFileInfo(f_name).baseName()); m_lastDir = QFileInfo(f_name).absoluteDir().path(); } } @@ -520,12 +485,11 @@ void MainWindow::savePlaylist() QString mask = tr("Playlist Files")+" (" + l.join(" *.").prepend("*.") + ")"; QString f_name = FileDialog::getSaveFileName(this, tr("Save Playlist"),m_lastDir + "/" + - m_playlistName + "." + l[0],mask); + m_pl_manager->selectedPlayList()->name() + "." + l[0],mask); if (!f_name.isEmpty()) { - m_playListModel->savePlaylist(f_name); - m_playlistName = QFileInfo(f_name).baseName(); + m_pl_manager->selectedPlayList()->savePlaylist(f_name); m_lastDir = QFileInfo(f_name).absoluteDir().path(); } } @@ -538,12 +502,12 @@ void MainWindow::setFileList(const QStringList & l) if (m_core->state() == Qmmp::Playing || m_core->state() == Qmmp::Paused) stop(); qApp->processEvents(); //receive stop signal - connect(m_playListModel, SIGNAL(firstAdded()), this, SLOT(play())); - if (!m_playListModel->setFileList(l)) + //connect(m_playListModel, SIGNAL(firstAdded()), this, SLOT(play())); + /*if (!m_playListModel->setFileList(l)) { disconnect(m_playListModel, SIGNAL(firstAdded()), this, SLOT(play())); addFile(); - } + }*/ } void MainWindow::playPause() @@ -572,7 +536,7 @@ bool MainWindow::processCommandArgs(const QStringList &slist,const QString& cwd) else full_path_list << cwd + "/" + slist.at(i); } - m_playListModel->addFileList(full_path_list); //TODO url support + m_pl_manager->currentPlayList()->addFileList(full_path_list); //TODO url support } else if (str.startsWith("-")) // is it a command? { @@ -618,7 +582,7 @@ void MainWindow::handleCloseRequest() void MainWindow::addUrl() { - AddUrlDialog::popup(this,m_playListModel); + AddUrlDialog::popup(this, m_pl_manager->currentPlayList()); } SoundCore * MainWindow::soundCore() const diff --git a/src/ui/mainwindow.h b/src/ui/mainwindow.h index bb6c49001..42d3d7d77 100644 --- a/src/ui/mainwindow.h +++ b/src/ui/mainwindow.h @@ -34,7 +34,7 @@ @author Ilya Kotov <forkotov02@hotmail.ru> */ class PlayList; -class PlayListModel; +class PlayListManager; class ConfigDialog; class EqWidget; class MainVisual; @@ -82,23 +82,19 @@ public slots: void addFile(); void addUrl(); - void newPlaylist(); void loadPlaylist(); void savePlaylist(); void setFileList(const QStringList&); protected: - virtual void closeEvent ( QCloseEvent *); - virtual void changeEvent ( QEvent * event ); - virtual void keyPressEvent ( QKeyEvent* ); + virtual void closeEvent (QCloseEvent *); + virtual void changeEvent (QEvent *event); + virtual void keyPressEvent (QKeyEvent* ); private slots: void showState(Qmmp::State state); void showMetaData(); - void clear(); - void startSeek(); - void endSeek(); void showSettings(); void updateEQ(); void forward(); @@ -110,12 +106,11 @@ private: void readSettings(); void writeSettings(); void createActions(); - bool seeking; SoundCore *m_core; QMenu *m_mainMenu; MainDisplay *m_display; PlayList *m_playlist; - PlayListModel *m_playListModel; + PlayListManager *m_pl_manager; ConfigDialog *m_confDialog; int m_preamp; EqWidget *m_equalizer; @@ -127,7 +122,6 @@ private: bool m_paused; bool m_showToolTip; Skin *m_skin; - QString m_playlistName; JumpToTrackDialog* m_jumpDialog; bool m_hideOnClose, m_startHidden; VisualMenu *m_visMenu; diff --git a/src/ui/playlist.cpp b/src/ui/playlist.cpp index 6471bf6ed..296d26d5e 100644 --- a/src/ui/playlist.cpp +++ b/src/ui/playlist.cpp @@ -41,18 +41,19 @@ #include <qmmpui/playlistitem.h> #include <qmmpui/playlistmodel.h> +#include <qmmpui/playlistmanager.h> #include <qmmpui/fileloader.h> #include <qmmpui/generalhandler.h> #include <qmmp/soundcore.h> -PlayList::PlayList (QWidget *parent) +PlayList::PlayList (PlayListManager *manager, QWidget *parent) : QWidget (parent) { + m_pl_manager = manager; m_update = FALSE; m_resize = FALSE; m_skin = Skin::instance(); m_ratio = m_skin->ratio(); - createMenus(); m_shaded = FALSE; resize (275*m_ratio, 116*m_ratio); @@ -76,6 +77,7 @@ PlayList::PlayList (QWidget *parent) m_current_time = new SymbolDisplay (this,6); m_keyboardManager = new KeyboardManager (this); + m_pl_actions = new QActionGroup (this); connect (m_listWidget, SIGNAL (selectionChanged()), parent, SLOT (replay())); @@ -95,16 +97,29 @@ PlayList::PlayList (QWidget *parent) connect (m_pl_control, SIGNAL (pauseClicked()), SIGNAL (pause())); connect (m_pl_control, SIGNAL (stopClicked()), SIGNAL (stop())); connect (m_pl_control, SIGNAL (ejectClicked()), SIGNAL (eject())); + + connect (m_pl_manager, SIGNAL (selectedPlayListChanged(PlayListModel *, PlayListModel *)), + m_listWidget, SLOT(setModel(PlayListModel*))); + m_listWidget->setModel(m_pl_manager->selectedPlayList()); + m_titleBar = new PlayListTitleBar (this); m_titleBar->move (0,0); + connect (m_pl_manager, SIGNAL (currentPlayListChanged(PlayListModel *, PlayListModel *)), + m_titleBar, SLOT(setModel(PlayListModel*))); + m_titleBar->setModel(m_pl_manager->currentPlayList()); + + createMenus(); + createActions(); + readSettings(); setCursor(m_skin->getCursor(Skin::CUR_PNORMAL)); updatePositions(); } - PlayList::~PlayList() -{} +{ + delete m_keyboardManager; +} void PlayList::updatePositions() { @@ -168,29 +183,27 @@ void PlayList::createActions() QAction *remSelAct = new QAction (tr ("&Remove Selected"),this); remSelAct->setShortcut (tr ("Del")); m_subMenu->addAction (remSelAct); - connect (remSelAct, SIGNAL (triggered()), - m_playListModel, SLOT (removeSelected ())); - this->addAction (remSelAct); + connect (remSelAct, SIGNAL (triggered()), m_pl_manager, SLOT (removeSelected ())); + addAction (remSelAct); QAction *remAllAct = new QAction (tr ("&Remove All"),this); //remAllAct->setShortcut(tr("D")); FIXME: add correct shortcat m_subMenu->addAction (remAllAct); - connect (remAllAct, SIGNAL (triggered()), m_playListModel, SLOT (clear ())); + connect (remAllAct, SIGNAL (triggered()), m_pl_manager, SLOT (clear ())); m_actions << remAllAct; QAction *remUnselAct = new QAction (tr ("&Remove Unselected"),this); m_subMenu->addAction (remUnselAct); - connect (remUnselAct, SIGNAL (triggered()), - m_playListModel, SLOT (removeUnselected ())); + connect (remUnselAct, SIGNAL (triggered()), m_pl_manager, SLOT (removeUnselected ())); m_subMenu->addSeparator(); - m_subMenu->addAction (tr("Remove unavailable files"), m_playListModel, SLOT(clearInvalidItems())); + m_subMenu->addAction (tr("Remove unavailable files"), m_pl_manager, SLOT(clearInvalidItems())); //listwidget menu QAction *detailsAct = new QAction (tr ("&View Track Details"),this); detailsAct->setShortcut (tr ("Alt+I")); m_listWidget->menu()->addAction (detailsAct); - connect (detailsAct, SIGNAL (triggered()), m_playListModel, SLOT (showDetails ())); + connect (detailsAct, SIGNAL (triggered()), m_pl_manager, SLOT (showDetails ())); // sort menu m_sortMenu->addAction (detailsAct); @@ -227,8 +240,7 @@ void PlayList::createActions() connect (trackAct, SIGNAL (triggered (bool)), signalMapper, SLOT (map())); signalMapper->setMapping (trackAct, PlayListModel::TRACK); - connect (signalMapper, SIGNAL (mapped (int)), - m_playListModel, SLOT (sort (int))); + connect (signalMapper, SIGNAL (mapped (int)), m_pl_manager, SLOT (sort (int))); m_sortMenu->addMenu (sort_mode_menu); @@ -262,14 +274,13 @@ void PlayList::createActions() connect (trackAct, SIGNAL (triggered (bool)), signalMapper, SLOT (map())); signalMapper->setMapping (trackAct, PlayListModel::TRACK); - connect (signalMapper, SIGNAL (mapped (int)), - m_playListModel, SLOT (sortSelection (int))); + connect (signalMapper, SIGNAL (mapped (int)), m_pl_manager, SLOT (sortSelection (int))); m_sortMenu->addMenu (sort_mode_menu); m_sortMenu->addSeparator(); - m_sortMenu->addAction (tr ("Randomize List"),m_playListModel,SLOT (randomizeList())); - m_sortMenu->addAction (tr ("Reverse List"),m_playListModel,SLOT (reverseList())); + m_sortMenu->addAction (tr ("Randomize List"),m_pl_manager,SLOT (randomizeList())); + m_sortMenu->addAction (tr ("Reverse List"),m_pl_manager,SLOT (reverseList())); m_listWidget->menu()->addSeparator(); m_listWidget->menu()->addActions (m_subMenu->actions().mid(0,3)); //use 3 first actions @@ -277,38 +288,39 @@ void PlayList::createActions() tr("Actions"), this)); m_listWidget->menu()->addSeparator(); - m_listWidget->menu()->addAction(tr("&Queue"),m_playListModel, SLOT(addToQueue()), tr("Q")); + m_listWidget->menu()->addAction(tr("&Queue"),m_pl_manager, SLOT(addToQueue()), tr("Q")); m_actions << m_listWidget->menu()->actions(); //select menu QAction *invSelAct = new QAction (tr ("Invert Selection"),this); m_selectMenu->addAction (invSelAct); - connect (invSelAct, SIGNAL (triggered()), - m_playListModel, SLOT (invertSelection ())); + connect (invSelAct, SIGNAL (triggered()), m_pl_manager, SLOT (invertSelection ())); m_selectMenu->addSeparator(); QAction *selNoneAct = new QAction (tr ("&Select None"),this); - //selNoneAct->setShortcut(tr("Ctrl+Shift+A")); + selNoneAct->setShortcut(tr("Shift+A")); m_selectMenu->addAction (selNoneAct); - connect (selNoneAct, SIGNAL (triggered()), - m_playListModel, SLOT (clearSelection ())); + connect (selNoneAct, SIGNAL (triggered()), m_pl_manager, SLOT (clearSelection ())); this->addAction (selNoneAct); QAction *selAllAct = new QAction (tr ("&Select All"),this); selAllAct->setShortcut (tr ("Ctrl+A")); m_actions << selAllAct; m_selectMenu->addAction (selAllAct); - connect (selAllAct, SIGNAL (triggered()), - m_playListModel, SLOT (selectAll ())); - //this->addAction (selAllAct); + connect (selAllAct, SIGNAL (triggered()), m_pl_manager, SLOT (selectAll ())); -// Playlist Menu + // Playlist Menu QAction *newListAct = new QAction (tr ("&New List"),this); newListAct->setShortcut (tr ("Shift+N")); m_actions << newListAct; m_playlistMenu->addAction (newListAct); - connect (newListAct, SIGNAL (triggered()), this, SIGNAL (newPlaylist())); + connect (newListAct, SIGNAL (triggered()), m_pl_manager, SLOT (createPlayList())); + QAction *deleteListAct = new QAction (tr ("&Delete List"),this); + deleteListAct->setShortcut (tr ("Shift+D")); + m_actions << deleteListAct; + m_playlistMenu->addAction (deleteListAct); + connect (deleteListAct, SIGNAL (triggered()), SLOT (deletePlaylist())); m_playlistMenu->addSeparator(); QAction *loadListAct = new QAction (tr ("&Load List"),this); @@ -322,8 +334,19 @@ void PlayList::createActions() m_actions << saveListAct; m_playlistMenu->addAction (saveListAct); connect (saveListAct, SIGNAL (triggered()), this, SIGNAL (savePlaylist())); - //this->addActions (m_playlistMenu->actions()); - + //plalists + m_playlistMenu->addSeparator(); + foreach(QString name, m_pl_manager->playListNames()) + { + QAction *pl = new QAction(name, this); + pl->setCheckable(TRUE); + m_playlistMenu->addAction (pl); + m_pl_actions->addAction(pl); + } + m_pl_actions->actions().at(m_pl_manager->indexOf(m_pl_manager->currentPlayList()))->setChecked(TRUE); + connect(m_pl_actions, SIGNAL(triggered(QAction*)), SLOT(select(QAction*))); + connect(m_pl_manager, SIGNAL(playListAdded(int)), SLOT(addModel(int))); + connect(m_pl_manager, SIGNAL(playListRemoved(int)), SLOT(removeModel(int))); Dock::instance()->addActions (m_actions); } @@ -375,6 +398,7 @@ void PlayList::mousePressEvent (QMouseEvent *e) else m_resize = FALSE; } + void PlayList::mouseMoveEvent (QMouseEvent *e) { if (m_resize) @@ -396,6 +420,7 @@ void PlayList::mouseMoveEvent (QMouseEvent *e) #endif } } + void PlayList::mouseReleaseEvent (QMouseEvent *) { setCursor (m_skin->getCursor (Skin::CUR_PNORMAL)); @@ -404,14 +429,6 @@ void PlayList::mouseReleaseEvent (QMouseEvent *) m_resize = FALSE; Dock::instance()->updateDock(); } -void PlayList::setModel (PlayListModel *model) -{ - m_playListModel = model; - m_listWidget->setModel (model); - m_keyboardManager->setModel (model); - m_titleBar->setModel (model); - createActions(); -} void PlayList::changeEvent (QEvent * event) { @@ -442,7 +459,6 @@ void PlayList::readSettings() settings.endGroup(); m_update = TRUE; } - } void PlayList::writeSettings() @@ -496,14 +512,12 @@ void PlayList::setTime(qint64 time) m_current_time->display (formatTime (time/1000)); m_current_time->update(); - if (m_playListModel && SoundCore::instance()) + if (SoundCore::instance()) { - m_playListModel->totalLength(); - QString str_length = formatTime (m_playListModel->totalLength()) + + QString str_length = formatTime (m_pl_manager->currentPlayList()->totalLength()) + "/" + formatTime (SoundCore::instance()->totalTime()/1000); m_length_totalLength->display (str_length); m_length_totalLength->update(); - } } @@ -515,7 +529,7 @@ void PlayList::updateList() PlayListItem *PlayList::currentItem() { - return m_playListModel ? m_playListModel->currentItem() : 0; + return m_pl_manager->currentPlayList()->currentItem(); } void PlayList::showPlaylistMenu() @@ -537,6 +551,45 @@ void PlayList::updateSkin() setMinimalMode(m_shaded); } +void PlayList::select(QAction *a) +{ + int i = m_pl_actions->actions().indexOf(a); + m_pl_manager->selectPlayList(i); +} + +void PlayList::addModel(int i) +{ + QList <QAction *> actions = m_pl_actions->actions(); + foreach(QAction *a, actions) //clear action group + { + m_pl_actions->removeAction(a); + m_playlistMenu->removeAction (a); + } + QAction *new_action = new QAction(m_pl_manager->playListNames().at(i), this); + new_action->setCheckable(TRUE); + actions.insert(i, new_action); + foreach(QAction *a, actions) + { + m_pl_actions->addAction(a); + m_playlistMenu->addAction (a); + } + m_pl_actions->actions().at(m_pl_manager->indexOf(m_pl_manager->currentPlayList()))->setChecked(TRUE); +} + +void PlayList::removeModel(int i) +{ + QAction *a = m_pl_actions->actions().at(i); + m_pl_actions->removeAction(a); + m_playlistMenu->removeAction (a); + a->deleteLater(); + m_pl_actions->actions().at(m_pl_manager->indexOf(m_pl_manager->currentPlayList()))->setChecked(TRUE); +} + +void PlayList::deletePlaylist() +{ + m_pl_manager->removePlayList(m_pl_manager->selectedPlayList()); +} + void PlayList::setMinimalMode(bool b) { if(!m_shaded) diff --git a/src/ui/playlist.h b/src/ui/playlist.h index 2d17a59d4..4b58b0048 100644 --- a/src/ui/playlist.h +++ b/src/ui/playlist.h @@ -23,6 +23,7 @@ #include <QWidget> class QMenu; +class QActionGroup; class Skin; class ListWidget; class PlayListItem; @@ -36,6 +37,7 @@ class OutputState; class PixmapWidget; class PlaylistControl; class KeyboardManager; +class PlayListManager; /** @@ -45,11 +47,10 @@ class PlayList : public QWidget { Q_OBJECT public: - PlayList (QWidget *parent = 0); + PlayList (PlayListManager *manager, QWidget *parent = 0); ~PlayList(); void load (PlayListItem *); - void setModel (PlayListModel *); void readSettings(); PlayListItem *currentItem(); ListWidget* listWidget() const @@ -67,7 +68,6 @@ class PlayList : public QWidget void eject(); void loadPlaylist(); void savePlaylist(); - void newPlaylist(); void closed(); public slots: @@ -81,7 +81,10 @@ class PlayList : public QWidget void showSortMenu(); void showPlaylistMenu(); void updateSkin(); - + void select(QAction *a); //selects playlist with action + void addModel(int i); + void removeModel(int i); + void deletePlaylist(); private: void updatePositions(); @@ -108,7 +111,6 @@ class PlayList : public QWidget Skin *m_skin; ListWidget *m_listWidget; - PlayListModel *m_playListModel; PlayListTitleBar *m_titleBar; PlayListSlider *m_plslider; QList <QAction *> m_actions; @@ -118,7 +120,9 @@ class PlayList : public QWidget int m_ratio; int m_height; bool m_shaded; + PlayListManager *m_pl_manager; KeyboardManager* m_keyboardManager; + QActionGroup *m_pl_actions; protected: virtual void paintEvent (QPaintEvent *); diff --git a/src/ui/playlisttitlebar.cpp b/src/ui/playlisttitlebar.cpp index 6104ff0e6..8646f1192 100644 --- a/src/ui/playlisttitlebar.cpp +++ b/src/ui/playlisttitlebar.cpp @@ -194,10 +194,13 @@ void PlayListTitleBar::setActive(bool a) } -void PlayListTitleBar::setModel(PlayListModel *model) +void PlayListTitleBar::setModel(PlayListModel *selected, PlayListModel *previous) { - m_model = model; + if(previous) + disconnect(previous, 0, this, 0); //disconnect previous model + m_model = selected; connect (m_model, SIGNAL(listChanged()), SLOT(showCurrent())); + showCurrent(); } void PlayListTitleBar::readSettings() diff --git a/src/ui/playlisttitlebar.h b/src/ui/playlisttitlebar.h index cde01c3c6..745aab446 100644 --- a/src/ui/playlisttitlebar.h +++ b/src/ui/playlisttitlebar.h @@ -37,15 +37,13 @@ class PlayListTitleBar : public PixmapWidget Q_OBJECT public: PlayListTitleBar(QWidget *parent = 0); - ~PlayListTitleBar(); - void setActive(bool); - void setModel(PlayListModel *model); void readSettings(); public slots: void showCurrent(); + void setModel(PlayListModel *selected, PlayListModel *previous = 0); private slots: void updateSkin(); diff --git a/src/ui/translations/qmmp_cs.ts b/src/ui/translations/qmmp_cs.ts index dd4aa1171..4c73fe409 100644 --- a/src/ui/translations/qmmp_cs.ts +++ b/src/ui/translations/qmmp_cs.ts @@ -615,14 +615,14 @@ <name>JumpToTrackDialog</name> <message> <location filename="../jumptotrackdialog.cpp" line="81"/> - <location filename="../jumptotrackdialog.cpp" line="137"/> + <location filename="../jumptotrackdialog.cpp" line="132"/> <source>Unqueue</source> <translation>Vyřadit</translation> </message> <message> <location filename="../forms/jumptotrackdialog.ui" line="79"/> <location filename="../jumptotrackdialog.cpp" line="83"/> - <location filename="../jumptotrackdialog.cpp" line="139"/> + <location filename="../jumptotrackdialog.cpp" line="134"/> <source>Queue</source> <translation>Zařadit</translation> </message> @@ -851,174 +851,168 @@ <context> <name>MainWindow</name> <message> - <location filename="../mainwindow.cpp" line="64"/> - <location filename="../mainwindow.cpp" line="483"/> - <source>Default</source> - <translation>Seznam</translation> - </message> - <message> - <location filename="../mainwindow.cpp" line="274"/> + <location filename="../mainwindow.cpp" line="266"/> <source>Choose a directory</source> <translation>Výběr adresáře</translation> </message> <message> - <location filename="../mainwindow.cpp" line="285"/> + <location filename="../mainwindow.cpp" line="277"/> <source>Select one or more files to open</source> <translation>Vyberte jeden či více souborů k otevření</translation> </message> <message> - <location filename="../mainwindow.cpp" line="420"/> + <location filename="../mainwindow.cpp" line="391"/> <source>&Play</source> <translation>Pře&hrát</translation> </message> <message> - <location filename="../mainwindow.cpp" line="420"/> + <location filename="../mainwindow.cpp" line="391"/> <source>X</source> <translation>X</translation> </message> <message> - <location filename="../mainwindow.cpp" line="421"/> + <location filename="../mainwindow.cpp" line="392"/> <source>&Pause</source> <translation>Pau&za</translation> </message> <message> - <location filename="../mainwindow.cpp" line="421"/> + <location filename="../mainwindow.cpp" line="392"/> <source>C</source> <translation>C</translation> </message> <message> - <location filename="../mainwindow.cpp" line="422"/> + <location filename="../mainwindow.cpp" line="393"/> <source>&Stop</source> <translation>&Stop</translation> </message> <message> - <location filename="../mainwindow.cpp" line="422"/> + <location filename="../mainwindow.cpp" line="393"/> <source>V</source> <translation>V</translation> </message> <message> - <location filename="../mainwindow.cpp" line="423"/> + <location filename="../mainwindow.cpp" line="394"/> <source>&Previous</source> <translation>&Předchozí</translation> </message> <message> - <location filename="../mainwindow.cpp" line="423"/> + <location filename="../mainwindow.cpp" line="394"/> <source>Z</source> <translation>Z</translation> </message> <message> - <location filename="../mainwindow.cpp" line="424"/> + <location filename="../mainwindow.cpp" line="395"/> <source>&Next</source> <translation>&Další</translation> </message> <message> - <location filename="../mainwindow.cpp" line="424"/> + <location filename="../mainwindow.cpp" line="395"/> <source>B</source> <translation>B</translation> </message> <message> - <location filename="../mainwindow.cpp" line="443"/> + <location filename="../mainwindow.cpp" line="414"/> <source>&Jump To File</source> <translation>Přeskočit na soubo&r</translation> </message> <message> - <location filename="../mainwindow.cpp" line="443"/> + <location filename="../mainwindow.cpp" line="414"/> <source>J</source> <translation>J</translation> </message> <message> - <location filename="../mainwindow.cpp" line="449"/> + <location filename="../mainwindow.cpp" line="420"/> <source>&Settings</source> <translation>&Nastavení</translation> </message> <message> - <location filename="../mainwindow.cpp" line="449"/> + <location filename="../mainwindow.cpp" line="420"/> <source>Ctrl+P</source> <translation>Ctrl+P</translation> </message> <message> - <location filename="../mainwindow.cpp" line="451"/> + <location filename="../mainwindow.cpp" line="422"/> <source>&About</source> <translation>O &aplikaci</translation> </message> <message> - <location filename="../mainwindow.cpp" line="455"/> + <location filename="../mainwindow.cpp" line="426"/> <source>&Exit</source> <translation>U&končit</translation> </message> <message> - <location filename="../mainwindow.cpp" line="455"/> + <location filename="../mainwindow.cpp" line="426"/> <source>Ctrl+Q</source> <translation>Ctrl+Q</translation> </message> <message> - <location filename="../mainwindow.cpp" line="495"/> - <location filename="../mainwindow.cpp" line="521"/> + <location filename="../mainwindow.cpp" line="460"/> + <location filename="../mainwindow.cpp" line="486"/> <source>Playlist Files</source> <translation>Seznamy skladeb</translation> </message> <message> - <location filename="../mainwindow.cpp" line="497"/> + <location filename="../mainwindow.cpp" line="462"/> <source>Open Playlist</source> <translation>Načíst seznam skladeb</translation> </message> <message> - <location filename="../mainwindow.cpp" line="522"/> + <location filename="../mainwindow.cpp" line="487"/> <source>Save Playlist</source> <translation>Uložit seznam skladeb</translation> </message> <message> - <location filename="../mainwindow.cpp" line="425"/> + <location filename="../mainwindow.cpp" line="396"/> <source>Space</source> <translation>Mezerník</translation> </message> <message> - <location filename="../mainwindow.cpp" line="452"/> + <location filename="../mainwindow.cpp" line="423"/> <source>&About Qt</source> <translation>O knihovně &Qt</translation> </message> <message> - <location filename="../mainwindow.cpp" line="425"/> + <location filename="../mainwindow.cpp" line="396"/> <source>&Play/Pause</source> <translation>&Přehrát/Pauza</translation> </message> <message> - <location filename="../mainwindow.cpp" line="280"/> + <location filename="../mainwindow.cpp" line="272"/> <source>All Supported Bitstreams</source> <translation>Všechny podporované formáty</translation> </message> <message> - <location filename="../mainwindow.cpp" line="428"/> + <location filename="../mainwindow.cpp" line="399"/> <source>&Repeat Track</source> <translation>&Opakovat stopu</translation> </message> <message> - <location filename="../mainwindow.cpp" line="429"/> + <location filename="../mainwindow.cpp" line="400"/> <source>&Shuffle</source> <translation>Za&míchat</translation> </message> <message> - <location filename="../mainwindow.cpp" line="433"/> + <location filename="../mainwindow.cpp" line="404"/> <source>R</source> <translation>O</translation> </message> <message> - <location filename="../mainwindow.cpp" line="434"/> + <location filename="../mainwindow.cpp" line="405"/> <source>Ctrl+R</source> <translation>Ctrl+R</translation> </message> <message> - <location filename="../mainwindow.cpp" line="435"/> + <location filename="../mainwindow.cpp" line="406"/> <source>S</source> <translation>M</translation> </message> <message> - <location filename="../mainwindow.cpp" line="427"/> + <location filename="../mainwindow.cpp" line="398"/> <source>&Repeat Playlist</source> <translation>&Opakovat seznam skladeb</translation> </message> <message> - <location filename="../mainwindow.cpp" line="447"/> + <location filename="../mainwindow.cpp" line="418"/> <source>Tools</source> <translation>Nástroje</translation> </message> @@ -1026,194 +1020,209 @@ <context> <name>PlayList</name> <message> - <location filename="../playlist.cpp" line="149"/> + <location filename="../playlist.cpp" line="164"/> <source>&Add File</source> <translation>Přidat &soubor</translation> </message> <message> - <location filename="../playlist.cpp" line="150"/> + <location filename="../playlist.cpp" line="165"/> <source>F</source> <translation>F</translation> </message> <message> - <location filename="../playlist.cpp" line="155"/> + <location filename="../playlist.cpp" line="170"/> <source>&Add Directory</source> <translation>Přidat &adresář</translation> </message> <message> - <location filename="../playlist.cpp" line="156"/> + <location filename="../playlist.cpp" line="171"/> <source>D</source> <translation>D</translation> </message> <message> - <location filename="../playlist.cpp" line="168"/> + <location filename="../playlist.cpp" line="183"/> <source>&Remove Selected</source> <translation>&Odstranit vybrané</translation> </message> <message> - <location filename="../playlist.cpp" line="169"/> + <location filename="../playlist.cpp" line="184"/> <source>Del</source> <translation>Del</translation> </message> <message> - <location filename="../playlist.cpp" line="175"/> + <location filename="../playlist.cpp" line="189"/> <source>&Remove All</source> <translation>Odstranit &vše</translation> </message> <message> - <location filename="../playlist.cpp" line="181"/> + <location filename="../playlist.cpp" line="195"/> <source>&Remove Unselected</source> <translation>Odstranit &nevybrané</translation> </message> <message> - <location filename="../playlist.cpp" line="187"/> + <location filename="../playlist.cpp" line="200"/> <source>Remove unavailable files</source> <translation>Odstranit nedostupné soubory</translation> </message> <message> - <location filename="../playlist.cpp" line="190"/> + <location filename="../playlist.cpp" line="203"/> <source>&View Track Details</source> <translation>Zobrazit &informace o skladbě</translation> </message> <message> - <location filename="../playlist.cpp" line="191"/> + <location filename="../playlist.cpp" line="204"/> <source>Alt+I</source> <translation>Alt+I</translation> </message> <message> - <location filename="../playlist.cpp" line="199"/> + <location filename="../playlist.cpp" line="212"/> <source>Sort List</source> <translation>Seřadit seznam</translation> </message> <message> - <location filename="../playlist.cpp" line="202"/> - <location filename="../playlist.cpp" line="237"/> + <location filename="../playlist.cpp" line="215"/> + <location filename="../playlist.cpp" line="249"/> <source>By Title</source> <translation>Podle názvu skladby</translation> </message> <message> - <location filename="../playlist.cpp" line="206"/> - <location filename="../playlist.cpp" line="241"/> + <location filename="../playlist.cpp" line="219"/> + <location filename="../playlist.cpp" line="253"/> <source>By Album</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../playlist.cpp" line="210"/> - <location filename="../playlist.cpp" line="245"/> + <location filename="../playlist.cpp" line="223"/> + <location filename="../playlist.cpp" line="257"/> <source>By Artist</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../playlist.cpp" line="214"/> - <location filename="../playlist.cpp" line="249"/> + <location filename="../playlist.cpp" line="227"/> + <location filename="../playlist.cpp" line="261"/> <source>By Filename</source> <translation>Podle názvu souboru</translation> </message> <message> - <location filename="../playlist.cpp" line="218"/> - <location filename="../playlist.cpp" line="253"/> + <location filename="../playlist.cpp" line="231"/> + <location filename="../playlist.cpp" line="265"/> <source>By Path + Filename</source> <translation>Podle cesty a názvu souboru</translation> </message> <message> - <location filename="../playlist.cpp" line="222"/> - <location filename="../playlist.cpp" line="257"/> + <location filename="../playlist.cpp" line="235"/> + <location filename="../playlist.cpp" line="269"/> <source>By Date</source> <translation>Podle data</translation> </message> <message> - <location filename="../playlist.cpp" line="235"/> + <location filename="../playlist.cpp" line="247"/> <source>Sort Selection</source> <translation>Seřadit výběr</translation> </message> <message> - <location filename="../playlist.cpp" line="271"/> + <location filename="../playlist.cpp" line="282"/> <source>Randomize List</source> <translation>Zamíchat seznam</translation> </message> <message> - <location filename="../playlist.cpp" line="272"/> + <location filename="../playlist.cpp" line="283"/> <source>Reverse List</source> <translation>Obrátit pořadí seznamu</translation> </message> <message> - <location filename="../playlist.cpp" line="284"/> + <location filename="../playlist.cpp" line="295"/> <source>Invert Selection</source> <translation>Invertovat výběr</translation> </message> <message> - <location filename="../playlist.cpp" line="291"/> + <location filename="../playlist.cpp" line="301"/> <source>&Select None</source> <translation>&Zrušit výběr</translation> </message> <message> - <location filename="../playlist.cpp" line="298"/> + <location filename="../playlist.cpp" line="302"/> + <source>Shift+A</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../playlist.cpp" line="307"/> <source>&Select All</source> <translation>&Vybrat vše</translation> </message> <message> - <location filename="../playlist.cpp" line="299"/> + <location filename="../playlist.cpp" line="308"/> <source>Ctrl+A</source> <translation>Ctrl+A</translation> </message> <message> - <location filename="../playlist.cpp" line="307"/> + <location filename="../playlist.cpp" line="314"/> <source>&New List</source> <translation>&Nový seznam</translation> </message> <message> - <location filename="../playlist.cpp" line="308"/> + <location filename="../playlist.cpp" line="315"/> <source>Shift+N</source> <translation>Shift+N</translation> </message> <message> - <location filename="../playlist.cpp" line="314"/> + <location filename="../playlist.cpp" line="319"/> + <source>&Delete List</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../playlist.cpp" line="320"/> + <source>Shift+D</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../playlist.cpp" line="326"/> <source>&Load List</source> <translation>Načíst &seznam</translation> </message> <message> - <location filename="../playlist.cpp" line="315"/> + <location filename="../playlist.cpp" line="327"/> <source>O</source> <translation>O</translation> </message> <message> - <location filename="../playlist.cpp" line="320"/> + <location filename="../playlist.cpp" line="332"/> <source>&Save List</source> <translation>&Uložit seznam</translation> </message> <message> - <location filename="../playlist.cpp" line="321"/> + <location filename="../playlist.cpp" line="333"/> <source>Shift+S</source> <translation>Shift+S</translation> </message> <message> - <location filename="../playlist.cpp" line="161"/> + <location filename="../playlist.cpp" line="176"/> <source>&Add Url</source> <translation>Přidat &URL</translation> </message> <message> - <location filename="../playlist.cpp" line="162"/> + <location filename="../playlist.cpp" line="177"/> <source>U</source> <translation>U</translation> </message> <message> - <location filename="../playlist.cpp" line="226"/> - <location filename="../playlist.cpp" line="261"/> + <location filename="../playlist.cpp" line="239"/> + <location filename="../playlist.cpp" line="273"/> <source>By Track Number</source> <translation>Podle čísla skladby</translation> </message> <message> - <location filename="../playlist.cpp" line="280"/> + <location filename="../playlist.cpp" line="291"/> <source>&Queue</source> <translation>&Fronta</translation> </message> <message> - <location filename="../playlist.cpp" line="280"/> + <location filename="../playlist.cpp" line="291"/> <source>Q</source> <translation>Q</translation> </message> <message> - <location filename="../playlist.cpp" line="277"/> + <location filename="../playlist.cpp" line="288"/> <source>Actions</source> <translation>Činnosti</translation> </message> diff --git a/src/ui/translations/qmmp_de.ts b/src/ui/translations/qmmp_de.ts index 625da29b6..5824c12c6 100644 --- a/src/ui/translations/qmmp_de.ts +++ b/src/ui/translations/qmmp_de.ts @@ -615,14 +615,14 @@ <name>JumpToTrackDialog</name> <message> <location filename="../jumptotrackdialog.cpp" line="81"/> - <location filename="../jumptotrackdialog.cpp" line="137"/> + <location filename="../jumptotrackdialog.cpp" line="132"/> <source>Unqueue</source> <translation>Aus Warteschlange entfernen</translation> </message> <message> <location filename="../forms/jumptotrackdialog.ui" line="79"/> <location filename="../jumptotrackdialog.cpp" line="83"/> - <location filename="../jumptotrackdialog.cpp" line="139"/> + <location filename="../jumptotrackdialog.cpp" line="134"/> <source>Queue</source> <translation>In Warteschlange</translation> </message> @@ -851,174 +851,168 @@ <context> <name>MainWindow</name> <message> - <location filename="../mainwindow.cpp" line="64"/> - <location filename="../mainwindow.cpp" line="483"/> - <source>Default</source> - <translation>Standard</translation> - </message> - <message> - <location filename="../mainwindow.cpp" line="274"/> + <location filename="../mainwindow.cpp" line="266"/> <source>Choose a directory</source> <translation>Verzeichnis wählen</translation> </message> <message> - <location filename="../mainwindow.cpp" line="285"/> + <location filename="../mainwindow.cpp" line="277"/> <source>Select one or more files to open</source> <translation>Dateien hinzufügen</translation> </message> <message> - <location filename="../mainwindow.cpp" line="420"/> + <location filename="../mainwindow.cpp" line="391"/> <source>&Play</source> <translation>&Wiedergabe</translation> </message> <message> - <location filename="../mainwindow.cpp" line="420"/> + <location filename="../mainwindow.cpp" line="391"/> <source>X</source> <translation>X</translation> </message> <message> - <location filename="../mainwindow.cpp" line="421"/> + <location filename="../mainwindow.cpp" line="392"/> <source>&Pause</source> <translation>&Pause</translation> </message> <message> - <location filename="../mainwindow.cpp" line="421"/> + <location filename="../mainwindow.cpp" line="392"/> <source>C</source> <translation>C</translation> </message> <message> - <location filename="../mainwindow.cpp" line="422"/> + <location filename="../mainwindow.cpp" line="393"/> <source>&Stop</source> <translation>&Stopp</translation> </message> <message> - <location filename="../mainwindow.cpp" line="422"/> + <location filename="../mainwindow.cpp" line="393"/> <source>V</source> <translation>V</translation> </message> <message> - <location filename="../mainwindow.cpp" line="423"/> + <location filename="../mainwindow.cpp" line="394"/> <source>&Previous</source> <translation>&Vorheriger Titel</translation> </message> <message> - <location filename="../mainwindow.cpp" line="423"/> + <location filename="../mainwindow.cpp" line="394"/> <source>Z</source> <translation>Z</translation> </message> <message> - <location filename="../mainwindow.cpp" line="424"/> + <location filename="../mainwindow.cpp" line="395"/> <source>&Next</source> <translation>&Nächster Titel</translation> </message> <message> - <location filename="../mainwindow.cpp" line="424"/> + <location filename="../mainwindow.cpp" line="395"/> <source>B</source> <translation>B</translation> </message> <message> - <location filename="../mainwindow.cpp" line="443"/> + <location filename="../mainwindow.cpp" line="414"/> <source>&Jump To File</source> <translation>Springe zu &Titel</translation> </message> <message> - <location filename="../mainwindow.cpp" line="443"/> + <location filename="../mainwindow.cpp" line="414"/> <source>J</source> <translation>J</translation> </message> <message> - <location filename="../mainwindow.cpp" line="449"/> + <location filename="../mainwindow.cpp" line="420"/> <source>&Settings</source> <translation>&Einstellungen</translation> </message> <message> - <location filename="../mainwindow.cpp" line="449"/> + <location filename="../mainwindow.cpp" line="420"/> <source>Ctrl+P</source> <translation>Strg+P</translation> </message> <message> - <location filename="../mainwindow.cpp" line="451"/> + <location filename="../mainwindow.cpp" line="422"/> <source>&About</source> <translation>Ü&ber</translation> </message> <message> - <location filename="../mainwindow.cpp" line="455"/> + <location filename="../mainwindow.cpp" line="426"/> <source>&Exit</source> <translation>Be&enden</translation> </message> <message> - <location filename="../mainwindow.cpp" line="455"/> + <location filename="../mainwindow.cpp" line="426"/> <source>Ctrl+Q</source> <translation>Strg+Q</translation> </message> <message> - <location filename="../mainwindow.cpp" line="495"/> - <location filename="../mainwindow.cpp" line="521"/> + <location filename="../mainwindow.cpp" line="460"/> + <location filename="../mainwindow.cpp" line="486"/> <source>Playlist Files</source> <translation>Wiedergabelisten</translation> </message> <message> - <location filename="../mainwindow.cpp" line="497"/> + <location filename="../mainwindow.cpp" line="462"/> <source>Open Playlist</source> <translation>Wiedergabeliste öffnen</translation> </message> <message> - <location filename="../mainwindow.cpp" line="522"/> + <location filename="../mainwindow.cpp" line="487"/> <source>Save Playlist</source> <translation>Wiedergabeliste speichern</translation> </message> <message> - <location filename="../mainwindow.cpp" line="425"/> + <location filename="../mainwindow.cpp" line="396"/> <source>Space</source> <translation>Leertaste</translation> </message> <message> - <location filename="../mainwindow.cpp" line="452"/> + <location filename="../mainwindow.cpp" line="423"/> <source>&About Qt</source> <translation>Übe&r Qt</translation> </message> <message> - <location filename="../mainwindow.cpp" line="425"/> + <location filename="../mainwindow.cpp" line="396"/> <source>&Play/Pause</source> <translation>Wieder&gabe/Pause</translation> </message> <message> - <location filename="../mainwindow.cpp" line="280"/> + <location filename="../mainwindow.cpp" line="272"/> <source>All Supported Bitstreams</source> <translation>Alle unterstützten Formate</translation> </message> <message> - <location filename="../mainwindow.cpp" line="428"/> + <location filename="../mainwindow.cpp" line="399"/> <source>&Repeat Track</source> <translation>Tite&l wiederholen</translation> </message> <message> - <location filename="../mainwindow.cpp" line="429"/> + <location filename="../mainwindow.cpp" line="400"/> <source>&Shuffle</source> <translation>&Zufallswiedergabe</translation> </message> <message> - <location filename="../mainwindow.cpp" line="433"/> + <location filename="../mainwindow.cpp" line="404"/> <source>R</source> <translation>R</translation> </message> <message> - <location filename="../mainwindow.cpp" line="434"/> + <location filename="../mainwindow.cpp" line="405"/> <source>Ctrl+R</source> <translation>Strg+R</translation> </message> <message> - <location filename="../mainwindow.cpp" line="435"/> + <location filename="../mainwindow.cpp" line="406"/> <source>S</source> <translation>S</translation> </message> <message> - <location filename="../mainwindow.cpp" line="427"/> + <location filename="../mainwindow.cpp" line="398"/> <source>&Repeat Playlist</source> <translation>W&iedergabeliste wiederholen</translation> </message> <message> - <location filename="../mainwindow.cpp" line="447"/> + <location filename="../mainwindow.cpp" line="418"/> <source>Tools</source> <translation>Werkzeuge</translation> </message> @@ -1026,194 +1020,209 @@ <context> <name>PlayList</name> <message> - <location filename="../playlist.cpp" line="149"/> + <location filename="../playlist.cpp" line="164"/> <source>&Add File</source> <translation>&Datei hinzufügen</translation> </message> <message> - <location filename="../playlist.cpp" line="150"/> + <location filename="../playlist.cpp" line="165"/> <source>F</source> <translation>F</translation> </message> <message> - <location filename="../playlist.cpp" line="155"/> + <location filename="../playlist.cpp" line="170"/> <source>&Add Directory</source> <translation>&Verzeichnis hinzufügen</translation> </message> <message> - <location filename="../playlist.cpp" line="156"/> + <location filename="../playlist.cpp" line="171"/> <source>D</source> <translation>D</translation> </message> <message> - <location filename="../playlist.cpp" line="168"/> + <location filename="../playlist.cpp" line="183"/> <source>&Remove Selected</source> <translation>&Ausgewählte entfernen</translation> </message> <message> - <location filename="../playlist.cpp" line="169"/> + <location filename="../playlist.cpp" line="184"/> <source>Del</source> <translation>Entf</translation> </message> <message> - <location filename="../playlist.cpp" line="175"/> + <location filename="../playlist.cpp" line="189"/> <source>&Remove All</source> <translation>Alle &entfernen</translation> </message> <message> - <location filename="../playlist.cpp" line="181"/> + <location filename="../playlist.cpp" line="195"/> <source>&Remove Unselected</source> <translation>&Nicht ausgewählte entfernen</translation> </message> <message> - <location filename="../playlist.cpp" line="187"/> + <location filename="../playlist.cpp" line="200"/> <source>Remove unavailable files</source> <translation>Nichtverfügbare Dateien entfernen</translation> </message> <message> - <location filename="../playlist.cpp" line="190"/> + <location filename="../playlist.cpp" line="203"/> <source>&View Track Details</source> <translation>&Titeldetails anzeigen</translation> </message> <message> - <location filename="../playlist.cpp" line="191"/> + <location filename="../playlist.cpp" line="204"/> <source>Alt+I</source> <translation>Alt+I</translation> </message> <message> - <location filename="../playlist.cpp" line="199"/> + <location filename="../playlist.cpp" line="212"/> <source>Sort List</source> <translation>Wiedergabeliste sortieren</translation> </message> <message> - <location filename="../playlist.cpp" line="202"/> - <location filename="../playlist.cpp" line="237"/> + <location filename="../playlist.cpp" line="215"/> + <location filename="../playlist.cpp" line="249"/> <source>By Title</source> <translation>Nach Titel</translation> </message> <message> - <location filename="../playlist.cpp" line="206"/> - <location filename="../playlist.cpp" line="241"/> + <location filename="../playlist.cpp" line="219"/> + <location filename="../playlist.cpp" line="253"/> <source>By Album</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../playlist.cpp" line="210"/> - <location filename="../playlist.cpp" line="245"/> + <location filename="../playlist.cpp" line="223"/> + <location filename="../playlist.cpp" line="257"/> <source>By Artist</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../playlist.cpp" line="214"/> - <location filename="../playlist.cpp" line="249"/> + <location filename="../playlist.cpp" line="227"/> + <location filename="../playlist.cpp" line="261"/> <source>By Filename</source> <translation>Nach Dateinamen</translation> </message> <message> - <location filename="../playlist.cpp" line="218"/> - <location filename="../playlist.cpp" line="253"/> + <location filename="../playlist.cpp" line="231"/> + <location filename="../playlist.cpp" line="265"/> <source>By Path + Filename</source> <translation>Nach Pfad + Dateinamen</translation> </message> <message> - <location filename="../playlist.cpp" line="222"/> - <location filename="../playlist.cpp" line="257"/> + <location filename="../playlist.cpp" line="235"/> + <location filename="../playlist.cpp" line="269"/> <source>By Date</source> <translation>Nach Datum</translation> </message> <message> - <location filename="../playlist.cpp" line="235"/> + <location filename="../playlist.cpp" line="247"/> <source>Sort Selection</source> <translation>Auswahl sortieren</translation> </message> <message> - <location filename="../playlist.cpp" line="271"/> + <location filename="../playlist.cpp" line="282"/> <source>Randomize List</source> <translation>Wiedergabeliste mischen</translation> </message> <message> - <location filename="../playlist.cpp" line="272"/> + <location filename="../playlist.cpp" line="283"/> <source>Reverse List</source> <translation>Wiedergabeliste umkehren</translation> </message> <message> - <location filename="../playlist.cpp" line="284"/> + <location filename="../playlist.cpp" line="295"/> <source>Invert Selection</source> <translation>Auswahl umkehren</translation> </message> <message> - <location filename="../playlist.cpp" line="291"/> + <location filename="../playlist.cpp" line="301"/> <source>&Select None</source> <translation>&Auswahl aufheben</translation> </message> <message> - <location filename="../playlist.cpp" line="298"/> + <location filename="../playlist.cpp" line="302"/> + <source>Shift+A</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../playlist.cpp" line="307"/> <source>&Select All</source> <translation>Alle aus&wählen</translation> </message> <message> - <location filename="../playlist.cpp" line="299"/> + <location filename="../playlist.cpp" line="308"/> <source>Ctrl+A</source> <translation>Strg+A</translation> </message> <message> - <location filename="../playlist.cpp" line="307"/> + <location filename="../playlist.cpp" line="314"/> <source>&New List</source> <translation>&Neue Wiedergabeliste</translation> </message> <message> - <location filename="../playlist.cpp" line="308"/> + <location filename="../playlist.cpp" line="315"/> <source>Shift+N</source> <translation>Umschalt+N</translation> </message> <message> - <location filename="../playlist.cpp" line="314"/> + <location filename="../playlist.cpp" line="319"/> + <source>&Delete List</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../playlist.cpp" line="320"/> + <source>Shift+D</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../playlist.cpp" line="326"/> <source>&Load List</source> <translation>Wiedergabeliste &laden</translation> </message> <message> - <location filename="../playlist.cpp" line="315"/> + <location filename="../playlist.cpp" line="327"/> <source>O</source> <translation>O</translation> </message> <message> - <location filename="../playlist.cpp" line="320"/> + <location filename="../playlist.cpp" line="332"/> <source>&Save List</source> <translation>Wiedergabeliste &speichern</translation> </message> <message> - <location filename="../playlist.cpp" line="321"/> + <location filename="../playlist.cpp" line="333"/> <source>Shift+S</source> <translation>Umschalt+S</translation> </message> <message> - <location filename="../playlist.cpp" line="161"/> + <location filename="../playlist.cpp" line="176"/> <source>&Add Url</source> <translation>&URL hinzufügen</translation> </message> <message> - <location filename="../playlist.cpp" line="162"/> + <location filename="../playlist.cpp" line="177"/> <source>U</source> <translation>U</translation> </message> <message> - <location filename="../playlist.cpp" line="226"/> - <location filename="../playlist.cpp" line="261"/> + <location filename="../playlist.cpp" line="239"/> + <location filename="../playlist.cpp" line="273"/> <source>By Track Number</source> <translation>Nach Titelnummer</translation> </message> <message> - <location filename="../playlist.cpp" line="280"/> + <location filename="../playlist.cpp" line="291"/> <source>&Queue</source> <translation>&Warteschlange</translation> </message> <message> - <location filename="../playlist.cpp" line="280"/> + <location filename="../playlist.cpp" line="291"/> <source>Q</source> <translation>Q</translation> </message> <message> - <location filename="../playlist.cpp" line="277"/> + <location filename="../playlist.cpp" line="288"/> <source>Actions</source> <translation>Aktionen</translation> </message> diff --git a/src/ui/translations/qmmp_it.ts b/src/ui/translations/qmmp_it.ts index de478172c..2448f7930 100644 --- a/src/ui/translations/qmmp_it.ts +++ b/src/ui/translations/qmmp_it.ts @@ -615,14 +615,14 @@ <name>JumpToTrackDialog</name> <message> <location filename="../jumptotrackdialog.cpp" line="81"/> - <location filename="../jumptotrackdialog.cpp" line="137"/> + <location filename="../jumptotrackdialog.cpp" line="132"/> <source>Unqueue</source> <translation>Elimna dalla coda</translation> </message> <message> <location filename="../forms/jumptotrackdialog.ui" line="79"/> <location filename="../jumptotrackdialog.cpp" line="83"/> - <location filename="../jumptotrackdialog.cpp" line="139"/> + <location filename="../jumptotrackdialog.cpp" line="134"/> <source>Queue</source> <translation>Metti in coda</translation> </message> @@ -851,174 +851,168 @@ <context> <name>MainWindow</name> <message> - <location filename="../mainwindow.cpp" line="64"/> - <location filename="../mainwindow.cpp" line="483"/> - <source>Default</source> - <translation>Défault</translation> - </message> - <message> - <location filename="../mainwindow.cpp" line="274"/> + <location filename="../mainwindow.cpp" line="266"/> <source>Choose a directory</source> <translation>Scegliere una cartella</translation> </message> <message> - <location filename="../mainwindow.cpp" line="285"/> + <location filename="../mainwindow.cpp" line="277"/> <source>Select one or more files to open</source> <translation>Seleziona uno o più brani da aprire</translation> </message> <message> - <location filename="../mainwindow.cpp" line="420"/> + <location filename="../mainwindow.cpp" line="391"/> <source>&Play</source> <translation>&Esegui</translation> </message> <message> - <location filename="../mainwindow.cpp" line="420"/> + <location filename="../mainwindow.cpp" line="391"/> <source>X</source> <translation>X</translation> </message> <message> - <location filename="../mainwindow.cpp" line="421"/> + <location filename="../mainwindow.cpp" line="392"/> <source>&Pause</source> <translation>&Pausa</translation> </message> <message> - <location filename="../mainwindow.cpp" line="421"/> + <location filename="../mainwindow.cpp" line="392"/> <source>C</source> <translation>C</translation> </message> <message> - <location filename="../mainwindow.cpp" line="422"/> + <location filename="../mainwindow.cpp" line="393"/> <source>&Stop</source> <translation>&Arresta</translation> </message> <message> - <location filename="../mainwindow.cpp" line="422"/> + <location filename="../mainwindow.cpp" line="393"/> <source>V</source> <translation>V</translation> </message> <message> - <location filename="../mainwindow.cpp" line="423"/> + <location filename="../mainwindow.cpp" line="394"/> <source>&Previous</source> <translation>&Precedente</translation> </message> <message> - <location filename="../mainwindow.cpp" line="423"/> + <location filename="../mainwindow.cpp" line="394"/> <source>Z</source> <translation>Z</translation> </message> <message> - <location filename="../mainwindow.cpp" line="424"/> + <location filename="../mainwindow.cpp" line="395"/> <source>&Next</source> <translation>&Successivo</translation> </message> <message> - <location filename="../mainwindow.cpp" line="424"/> + <location filename="../mainwindow.cpp" line="395"/> <source>B</source> <translation>B</translation> </message> <message> - <location filename="../mainwindow.cpp" line="443"/> + <location filename="../mainwindow.cpp" line="414"/> <source>&Jump To File</source> <translation>&Vai al brano</translation> </message> <message> - <location filename="../mainwindow.cpp" line="443"/> + <location filename="../mainwindow.cpp" line="414"/> <source>J</source> <translation>J</translation> </message> <message> - <location filename="../mainwindow.cpp" line="449"/> + <location filename="../mainwindow.cpp" line="420"/> <source>&Settings</source> <translation>&Configurazione</translation> </message> <message> - <location filename="../mainwindow.cpp" line="449"/> + <location filename="../mainwindow.cpp" line="420"/> <source>Ctrl+P</source> <translation>Ctrl+P</translation> </message> <message> - <location filename="../mainwindow.cpp" line="455"/> + <location filename="../mainwindow.cpp" line="426"/> <source>&Exit</source> <translation>&Esci</translation> </message> <message> - <location filename="../mainwindow.cpp" line="455"/> + <location filename="../mainwindow.cpp" line="426"/> <source>Ctrl+Q</source> <translation>Ctrl+Q</translation> </message> <message> - <location filename="../mainwindow.cpp" line="497"/> + <location filename="../mainwindow.cpp" line="462"/> <source>Open Playlist</source> <translation>Apri lista di brani</translation> </message> <message> - <location filename="../mainwindow.cpp" line="522"/> + <location filename="../mainwindow.cpp" line="487"/> <source>Save Playlist</source> <translation>Salva lista di brani</translation> </message> <message> - <location filename="../mainwindow.cpp" line="451"/> + <location filename="../mainwindow.cpp" line="422"/> <source>&About</source> <translation>&Informazioni</translation> </message> <message> - <location filename="../mainwindow.cpp" line="495"/> - <location filename="../mainwindow.cpp" line="521"/> + <location filename="../mainwindow.cpp" line="460"/> + <location filename="../mainwindow.cpp" line="486"/> <source>Playlist Files</source> <translation>Brani della lista</translation> </message> <message> - <location filename="../mainwindow.cpp" line="425"/> + <location filename="../mainwindow.cpp" line="396"/> <source>Space</source> <translation>Spazio</translation> </message> <message> - <location filename="../mainwindow.cpp" line="452"/> + <location filename="../mainwindow.cpp" line="423"/> <source>&About Qt</source> <translation>&Informazioni su Qt</translation> </message> <message> - <location filename="../mainwindow.cpp" line="425"/> + <location filename="../mainwindow.cpp" line="396"/> <source>&Play/Pause</source> <translation>&Esegui / Pausa</translation> </message> <message> - <location filename="../mainwindow.cpp" line="280"/> + <location filename="../mainwindow.cpp" line="272"/> <source>All Supported Bitstreams</source> <translation>Elenco di tutti i tipi di flusso accettati</translation> </message> <message> - <location filename="../mainwindow.cpp" line="428"/> + <location filename="../mainwindow.cpp" line="399"/> <source>&Repeat Track</source> <translation>&Ripeti brano</translation> </message> <message> - <location filename="../mainwindow.cpp" line="429"/> + <location filename="../mainwindow.cpp" line="400"/> <source>&Shuffle</source> <translation>&Ordine casuale</translation> </message> <message> - <location filename="../mainwindow.cpp" line="433"/> + <location filename="../mainwindow.cpp" line="404"/> <source>R</source> <translation>R</translation> </message> <message> - <location filename="../mainwindow.cpp" line="434"/> + <location filename="../mainwindow.cpp" line="405"/> <source>Ctrl+R</source> <translation>Ctrl+R</translation> </message> <message> - <location filename="../mainwindow.cpp" line="435"/> + <location filename="../mainwindow.cpp" line="406"/> <source>S</source> <translation>S</translation> </message> <message> - <location filename="../mainwindow.cpp" line="427"/> + <location filename="../mainwindow.cpp" line="398"/> <source>&Repeat Playlist</source> <translation>&Ripeti lista brani</translation> </message> <message> - <location filename="../mainwindow.cpp" line="447"/> + <location filename="../mainwindow.cpp" line="418"/> <source>Tools</source> <translation>Strumenti</translation> </message> @@ -1026,194 +1020,209 @@ <context> <name>PlayList</name> <message> - <location filename="../playlist.cpp" line="150"/> + <location filename="../playlist.cpp" line="165"/> <source>F</source> <translation>F</translation> </message> <message> - <location filename="../playlist.cpp" line="156"/> + <location filename="../playlist.cpp" line="171"/> <source>D</source> <translation>D</translation> </message> <message> - <location filename="../playlist.cpp" line="191"/> + <location filename="../playlist.cpp" line="204"/> <source>Alt+I</source> <translation>Alt+I</translation> </message> <message> - <location filename="../playlist.cpp" line="299"/> + <location filename="../playlist.cpp" line="308"/> <source>Ctrl+A</source> <translation>Ctrl+A</translation> </message> <message> - <location filename="../playlist.cpp" line="315"/> + <location filename="../playlist.cpp" line="327"/> <source>O</source> <translation>O</translation> </message> <message> - <location filename="../playlist.cpp" line="149"/> + <location filename="../playlist.cpp" line="164"/> <source>&Add File</source> <translation>&Aggiungi brani</translation> </message> <message> - <location filename="../playlist.cpp" line="155"/> + <location filename="../playlist.cpp" line="170"/> <source>&Add Directory</source> <translation>&Aggiungi cartelle</translation> </message> <message> - <location filename="../playlist.cpp" line="168"/> + <location filename="../playlist.cpp" line="183"/> <source>&Remove Selected</source> <translation>&Elimina la selezione</translation> </message> <message> - <location filename="../playlist.cpp" line="175"/> + <location filename="../playlist.cpp" line="189"/> <source>&Remove All</source> <translation>&Elimina tutto</translation> </message> <message> - <location filename="../playlist.cpp" line="181"/> + <location filename="../playlist.cpp" line="195"/> <source>&Remove Unselected</source> <translation>&Elimina i non selezionati</translation> </message> <message> - <location filename="../playlist.cpp" line="187"/> + <location filename="../playlist.cpp" line="200"/> <source>Remove unavailable files</source> <translation>Rimuovi files non disponibili</translation> </message> <message> - <location filename="../playlist.cpp" line="190"/> + <location filename="../playlist.cpp" line="203"/> <source>&View Track Details</source> <translation>&Dettagli della traccia</translation> </message> <message> - <location filename="../playlist.cpp" line="199"/> + <location filename="../playlist.cpp" line="212"/> <source>Sort List</source> <translation>Riordina la lista</translation> </message> <message> - <location filename="../playlist.cpp" line="202"/> - <location filename="../playlist.cpp" line="237"/> + <location filename="../playlist.cpp" line="215"/> + <location filename="../playlist.cpp" line="249"/> <source>By Title</source> <translation>Per titolo</translation> </message> <message> - <location filename="../playlist.cpp" line="206"/> - <location filename="../playlist.cpp" line="241"/> + <location filename="../playlist.cpp" line="219"/> + <location filename="../playlist.cpp" line="253"/> <source>By Album</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../playlist.cpp" line="210"/> - <location filename="../playlist.cpp" line="245"/> + <location filename="../playlist.cpp" line="223"/> + <location filename="../playlist.cpp" line="257"/> <source>By Artist</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../playlist.cpp" line="214"/> - <location filename="../playlist.cpp" line="249"/> + <location filename="../playlist.cpp" line="227"/> + <location filename="../playlist.cpp" line="261"/> <source>By Filename</source> <translation>Per titolo del brano</translation> </message> <message> - <location filename="../playlist.cpp" line="218"/> - <location filename="../playlist.cpp" line="253"/> + <location filename="../playlist.cpp" line="231"/> + <location filename="../playlist.cpp" line="265"/> <source>By Path + Filename</source> <translation>per percorso più titolo del brano</translation> </message> <message> - <location filename="../playlist.cpp" line="222"/> - <location filename="../playlist.cpp" line="257"/> + <location filename="../playlist.cpp" line="235"/> + <location filename="../playlist.cpp" line="269"/> <source>By Date</source> <translation>Per data</translation> </message> <message> - <location filename="../playlist.cpp" line="235"/> + <location filename="../playlist.cpp" line="247"/> <source>Sort Selection</source> <translation>Riordina la selezione</translation> </message> <message> - <location filename="../playlist.cpp" line="271"/> + <location filename="../playlist.cpp" line="282"/> <source>Randomize List</source> <translation>Mescola i brnai della lista</translation> </message> <message> - <location filename="../playlist.cpp" line="272"/> + <location filename="../playlist.cpp" line="283"/> <source>Reverse List</source> <translation>Inverti la lista</translation> </message> <message> - <location filename="../playlist.cpp" line="284"/> + <location filename="../playlist.cpp" line="295"/> <source>Invert Selection</source> <translation>Inverti la selezione</translation> </message> <message> - <location filename="../playlist.cpp" line="291"/> + <location filename="../playlist.cpp" line="301"/> <source>&Select None</source> <translation>&Non scegliere alcun brano</translation> </message> <message> - <location filename="../playlist.cpp" line="298"/> + <location filename="../playlist.cpp" line="302"/> + <source>Shift+A</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../playlist.cpp" line="307"/> <source>&Select All</source> <translation>&Seleziona tutto</translation> </message> <message> - <location filename="../playlist.cpp" line="307"/> + <location filename="../playlist.cpp" line="314"/> <source>&New List</source> <translation>&Nuova lista</translation> </message> <message> - <location filename="../playlist.cpp" line="308"/> + <location filename="../playlist.cpp" line="315"/> <source>Shift+N</source> <translation>Shift+N</translation> </message> <message> - <location filename="../playlist.cpp" line="314"/> + <location filename="../playlist.cpp" line="319"/> + <source>&Delete List</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../playlist.cpp" line="320"/> + <source>Shift+D</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../playlist.cpp" line="326"/> <source>&Load List</source> <translation>&Carica lista</translation> </message> <message> - <location filename="../playlist.cpp" line="320"/> + <location filename="../playlist.cpp" line="332"/> <source>&Save List</source> <translation>&Salva lista</translation> </message> <message> - <location filename="../playlist.cpp" line="321"/> + <location filename="../playlist.cpp" line="333"/> <source>Shift+S</source> <translation>Shift+S</translation> </message> <message> - <location filename="../playlist.cpp" line="169"/> + <location filename="../playlist.cpp" line="184"/> <source>Del</source> <translation>Canc</translation> </message> <message> - <location filename="../playlist.cpp" line="161"/> + <location filename="../playlist.cpp" line="176"/> <source>&Add Url</source> <translation>&Aggiungi URL</translation> </message> <message> - <location filename="../playlist.cpp" line="162"/> + <location filename="../playlist.cpp" line="177"/> <source>U</source> <translation>U</translation> </message> <message> - <location filename="../playlist.cpp" line="226"/> - <location filename="../playlist.cpp" line="261"/> + <location filename="../playlist.cpp" line="239"/> + <location filename="../playlist.cpp" line="273"/> <source>By Track Number</source> <translation>Per numero di traccia</translation> </message> <message> - <location filename="../playlist.cpp" line="280"/> + <location filename="../playlist.cpp" line="291"/> <source>&Queue</source> <translation>&Metti in coda</translation> </message> <message> - <location filename="../playlist.cpp" line="280"/> + <location filename="../playlist.cpp" line="291"/> <source>Q</source> <translation>Q</translation> </message> <message> - <location filename="../playlist.cpp" line="277"/> + <location filename="../playlist.cpp" line="288"/> <source>Actions</source> <translation>Azioni</translation> </message> diff --git a/src/ui/translations/qmmp_lt.ts b/src/ui/translations/qmmp_lt.ts index fcdf4bf90..7414278b4 100644 --- a/src/ui/translations/qmmp_lt.ts +++ b/src/ui/translations/qmmp_lt.ts @@ -615,14 +615,14 @@ <name>JumpToTrackDialog</name> <message> <location filename="../jumptotrackdialog.cpp" line="81"/> - <location filename="../jumptotrackdialog.cpp" line="137"/> + <location filename="../jumptotrackdialog.cpp" line="132"/> <source>Unqueue</source> <translation>Pašalinti iš eilės</translation> </message> <message> <location filename="../forms/jumptotrackdialog.ui" line="79"/> <location filename="../jumptotrackdialog.cpp" line="83"/> - <location filename="../jumptotrackdialog.cpp" line="139"/> + <location filename="../jumptotrackdialog.cpp" line="134"/> <source>Queue</source> <translation>Į eilę</translation> </message> @@ -851,174 +851,168 @@ <context> <name>MainWindow</name> <message> - <location filename="../mainwindow.cpp" line="64"/> - <location filename="../mainwindow.cpp" line="483"/> - <source>Default</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../mainwindow.cpp" line="274"/> + <location filename="../mainwindow.cpp" line="266"/> <source>Choose a directory</source> <translation>Pasirinkite aplanką</translation> </message> <message> - <location filename="../mainwindow.cpp" line="285"/> + <location filename="../mainwindow.cpp" line="277"/> <source>Select one or more files to open</source> <translation>Pasirinkite vieną ar kelias bylas atvėrimui</translation> </message> <message> - <location filename="../mainwindow.cpp" line="420"/> + <location filename="../mainwindow.cpp" line="391"/> <source>&Play</source> <translation>&Groti</translation> </message> <message> - <location filename="../mainwindow.cpp" line="420"/> + <location filename="../mainwindow.cpp" line="391"/> <source>X</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../mainwindow.cpp" line="421"/> + <location filename="../mainwindow.cpp" line="392"/> <source>&Pause</source> <translation>&Pristabdyti</translation> </message> <message> - <location filename="../mainwindow.cpp" line="421"/> + <location filename="../mainwindow.cpp" line="392"/> <source>C</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../mainwindow.cpp" line="422"/> + <location filename="../mainwindow.cpp" line="393"/> <source>&Stop</source> <translation>&Sustabdyti</translation> </message> <message> - <location filename="../mainwindow.cpp" line="422"/> + <location filename="../mainwindow.cpp" line="393"/> <source>V</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../mainwindow.cpp" line="423"/> + <location filename="../mainwindow.cpp" line="394"/> <source>&Previous</source> <translation>&Ankstesnis</translation> </message> <message> - <location filename="../mainwindow.cpp" line="423"/> + <location filename="../mainwindow.cpp" line="394"/> <source>Z</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../mainwindow.cpp" line="424"/> + <location filename="../mainwindow.cpp" line="395"/> <source>&Next</source> <translation>&Sekantis</translation> </message> <message> - <location filename="../mainwindow.cpp" line="424"/> + <location filename="../mainwindow.cpp" line="395"/> <source>B</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../mainwindow.cpp" line="443"/> + <location filename="../mainwindow.cpp" line="414"/> <source>&Jump To File</source> <translation>&Pereiti prie bylos</translation> </message> <message> - <location filename="../mainwindow.cpp" line="443"/> + <location filename="../mainwindow.cpp" line="414"/> <source>J</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../mainwindow.cpp" line="449"/> + <location filename="../mainwindow.cpp" line="420"/> <source>&Settings</source> <translation>&Nustatymai</translation> </message> <message> - <location filename="../mainwindow.cpp" line="449"/> + <location filename="../mainwindow.cpp" line="420"/> <source>Ctrl+P</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../mainwindow.cpp" line="455"/> + <location filename="../mainwindow.cpp" line="426"/> <source>&Exit</source> <translation>&Išeiti</translation> </message> <message> - <location filename="../mainwindow.cpp" line="455"/> + <location filename="../mainwindow.cpp" line="426"/> <source>Ctrl+Q</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../mainwindow.cpp" line="497"/> + <location filename="../mainwindow.cpp" line="462"/> <source>Open Playlist</source> <translation>Atverti grojaraštį</translation> </message> <message> - <location filename="../mainwindow.cpp" line="522"/> + <location filename="../mainwindow.cpp" line="487"/> <source>Save Playlist</source> <translation>Išsaugoti grojaraštį</translation> </message> <message> - <location filename="../mainwindow.cpp" line="451"/> + <location filename="../mainwindow.cpp" line="422"/> <source>&About</source> <translation>&Apie</translation> </message> <message> - <location filename="../mainwindow.cpp" line="495"/> - <location filename="../mainwindow.cpp" line="521"/> + <location filename="../mainwindow.cpp" line="460"/> + <location filename="../mainwindow.cpp" line="486"/> <source>Playlist Files</source> <translation>Grojaraščio bylos</translation> </message> <message> - <location filename="../mainwindow.cpp" line="425"/> + <location filename="../mainwindow.cpp" line="396"/> <source>Space</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../mainwindow.cpp" line="452"/> + <location filename="../mainwindow.cpp" line="423"/> <source>&About Qt</source> <translation>&Apie Qt</translation> </message> <message> - <location filename="../mainwindow.cpp" line="425"/> + <location filename="../mainwindow.cpp" line="396"/> <source>&Play/Pause</source> <translation>&Groti/Pristabdyti</translation> </message> <message> - <location filename="../mainwindow.cpp" line="280"/> + <location filename="../mainwindow.cpp" line="272"/> <source>All Supported Bitstreams</source> <translation>Palaikomi bylų tipai</translation> </message> <message> - <location filename="../mainwindow.cpp" line="428"/> + <location filename="../mainwindow.cpp" line="399"/> <source>&Repeat Track</source> <translation>&Kartoti takelį</translation> </message> <message> - <location filename="../mainwindow.cpp" line="429"/> + <location filename="../mainwindow.cpp" line="400"/> <source>&Shuffle</source> <translation>&Atsitiktine tvarka</translation> </message> <message> - <location filename="../mainwindow.cpp" line="433"/> + <location filename="../mainwindow.cpp" line="404"/> <source>R</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../mainwindow.cpp" line="434"/> + <location filename="../mainwindow.cpp" line="405"/> <source>Ctrl+R</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../mainwindow.cpp" line="435"/> + <location filename="../mainwindow.cpp" line="406"/> <source>S</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../mainwindow.cpp" line="427"/> + <location filename="../mainwindow.cpp" line="398"/> <source>&Repeat Playlist</source> <translation>&Kartoti grojaraštį</translation> </message> <message> - <location filename="../mainwindow.cpp" line="447"/> + <location filename="../mainwindow.cpp" line="418"/> <source>Tools</source> <translation>Įrankiai</translation> </message> @@ -1026,194 +1020,209 @@ <context> <name>PlayList</name> <message> - <location filename="../playlist.cpp" line="150"/> + <location filename="../playlist.cpp" line="165"/> <source>F</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../playlist.cpp" line="156"/> + <location filename="../playlist.cpp" line="171"/> <source>D</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../playlist.cpp" line="191"/> + <location filename="../playlist.cpp" line="204"/> <source>Alt+I</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../playlist.cpp" line="299"/> + <location filename="../playlist.cpp" line="308"/> <source>Ctrl+A</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../playlist.cpp" line="315"/> + <location filename="../playlist.cpp" line="327"/> <source>O</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../playlist.cpp" line="149"/> + <location filename="../playlist.cpp" line="164"/> <source>&Add File</source> <translation>&Pridėti bylą</translation> </message> <message> - <location filename="../playlist.cpp" line="155"/> + <location filename="../playlist.cpp" line="170"/> <source>&Add Directory</source> <translation>&Pridėti aplanką</translation> </message> <message> - <location filename="../playlist.cpp" line="168"/> + <location filename="../playlist.cpp" line="183"/> <source>&Remove Selected</source> <translation>&Pašalinti pasirinktus</translation> </message> <message> - <location filename="../playlist.cpp" line="175"/> + <location filename="../playlist.cpp" line="189"/> <source>&Remove All</source> <translation>&Pašalinti visus</translation> </message> <message> - <location filename="../playlist.cpp" line="181"/> + <location filename="../playlist.cpp" line="195"/> <source>&Remove Unselected</source> <translation>&Pašalinti NEpasirinktus</translation> </message> <message> - <location filename="../playlist.cpp" line="187"/> + <location filename="../playlist.cpp" line="200"/> <source>Remove unavailable files</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../playlist.cpp" line="190"/> + <location filename="../playlist.cpp" line="203"/> <source>&View Track Details</source> <translation>&Takelio informacija</translation> </message> <message> - <location filename="../playlist.cpp" line="199"/> + <location filename="../playlist.cpp" line="212"/> <source>Sort List</source> <translation>Rūšiuoti</translation> </message> <message> - <location filename="../playlist.cpp" line="202"/> - <location filename="../playlist.cpp" line="237"/> + <location filename="../playlist.cpp" line="215"/> + <location filename="../playlist.cpp" line="249"/> <source>By Title</source> <translation>Pagal dainos pavadinimą</translation> </message> <message> - <location filename="../playlist.cpp" line="206"/> - <location filename="../playlist.cpp" line="241"/> + <location filename="../playlist.cpp" line="219"/> + <location filename="../playlist.cpp" line="253"/> <source>By Album</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../playlist.cpp" line="210"/> - <location filename="../playlist.cpp" line="245"/> + <location filename="../playlist.cpp" line="223"/> + <location filename="../playlist.cpp" line="257"/> <source>By Artist</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../playlist.cpp" line="214"/> - <location filename="../playlist.cpp" line="249"/> + <location filename="../playlist.cpp" line="227"/> + <location filename="../playlist.cpp" line="261"/> <source>By Filename</source> <translation>Pagal bylos pavadinimą</translation> </message> <message> - <location filename="../playlist.cpp" line="218"/> - <location filename="../playlist.cpp" line="253"/> + <location filename="../playlist.cpp" line="231"/> + <location filename="../playlist.cpp" line="265"/> <source>By Path + Filename</source> <translation>Pagal kelią iki bylos</translation> </message> <message> - <location filename="../playlist.cpp" line="222"/> - <location filename="../playlist.cpp" line="257"/> + <location filename="../playlist.cpp" line="235"/> + <location filename="../playlist.cpp" line="269"/> <source>By Date</source> <translation>Pagal datą</translation> </message> <message> - <location filename="../playlist.cpp" line="235"/> + <location filename="../playlist.cpp" line="247"/> <source>Sort Selection</source> <translation>Rūšiuoti pasirinktus</translation> </message> <message> - <location filename="../playlist.cpp" line="271"/> + <location filename="../playlist.cpp" line="282"/> <source>Randomize List</source> <translation>Sumaišyti sąrašą</translation> </message> <message> - <location filename="../playlist.cpp" line="272"/> + <location filename="../playlist.cpp" line="283"/> <source>Reverse List</source> <translation>Apversti</translation> </message> <message> - <location filename="../playlist.cpp" line="284"/> + <location filename="../playlist.cpp" line="295"/> <source>Invert Selection</source> <translation type="unfinished">Atšaukti pasirinkimą</translation> </message> <message> - <location filename="../playlist.cpp" line="291"/> + <location filename="../playlist.cpp" line="301"/> <source>&Select None</source> <translation>&Nepasirinkti nei vieno</translation> </message> <message> - <location filename="../playlist.cpp" line="298"/> + <location filename="../playlist.cpp" line="302"/> + <source>Shift+A</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../playlist.cpp" line="307"/> <source>&Select All</source> <translation>&Pasirinkti visus</translation> </message> <message> - <location filename="../playlist.cpp" line="307"/> + <location filename="../playlist.cpp" line="314"/> <source>&New List</source> <translation>&Naujas sąrašas</translation> </message> <message> - <location filename="../playlist.cpp" line="308"/> + <location filename="../playlist.cpp" line="315"/> <source>Shift+N</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../playlist.cpp" line="314"/> + <location filename="../playlist.cpp" line="319"/> + <source>&Delete List</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../playlist.cpp" line="320"/> + <source>Shift+D</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../playlist.cpp" line="326"/> <source>&Load List</source> <translation type="unfinished">&Įkelti sąrašą</translation> </message> <message> - <location filename="../playlist.cpp" line="320"/> + <location filename="../playlist.cpp" line="332"/> <source>&Save List</source> <translation>&Išsaugoti sąrašą</translation> </message> <message> - <location filename="../playlist.cpp" line="321"/> + <location filename="../playlist.cpp" line="333"/> <source>Shift+S</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../playlist.cpp" line="169"/> + <location filename="../playlist.cpp" line="184"/> <source>Del</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../playlist.cpp" line="161"/> + <location filename="../playlist.cpp" line="176"/> <source>&Add Url</source> <translation>&Pridėti interneto adresą</translation> </message> <message> - <location filename="../playlist.cpp" line="162"/> + <location filename="../playlist.cpp" line="177"/> <source>U</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../playlist.cpp" line="226"/> - <location filename="../playlist.cpp" line="261"/> + <location filename="../playlist.cpp" line="239"/> + <location filename="../playlist.cpp" line="273"/> <source>By Track Number</source> <translation>Pagal takelio numerį</translation> </message> <message> - <location filename="../playlist.cpp" line="280"/> + <location filename="../playlist.cpp" line="291"/> <source>&Queue</source> <translation>&Į eilę</translation> </message> <message> - <location filename="../playlist.cpp" line="280"/> + <location filename="../playlist.cpp" line="291"/> <source>Q</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../playlist.cpp" line="277"/> + <location filename="../playlist.cpp" line="288"/> <source>Actions</source> <translation>Veiksmai</translation> </message> diff --git a/src/ui/translations/qmmp_pl_PL.ts b/src/ui/translations/qmmp_pl_PL.ts index e859f72e2..a8c1791b8 100644 --- a/src/ui/translations/qmmp_pl_PL.ts +++ b/src/ui/translations/qmmp_pl_PL.ts @@ -615,14 +615,14 @@ <name>JumpToTrackDialog</name> <message> <location filename="../jumptotrackdialog.cpp" line="81"/> - <location filename="../jumptotrackdialog.cpp" line="137"/> + <location filename="../jumptotrackdialog.cpp" line="132"/> <source>Unqueue</source> <translation>Wykolejkuj</translation> </message> <message> <location filename="../forms/jumptotrackdialog.ui" line="79"/> <location filename="../jumptotrackdialog.cpp" line="83"/> - <location filename="../jumptotrackdialog.cpp" line="139"/> + <location filename="../jumptotrackdialog.cpp" line="134"/> <source>Queue</source> <translation>Kolejkuj</translation> </message> @@ -851,174 +851,168 @@ <context> <name>MainWindow</name> <message> - <location filename="../mainwindow.cpp" line="64"/> - <location filename="../mainwindow.cpp" line="483"/> - <source>Default</source> - <translation>Domyślne</translation> - </message> - <message> - <location filename="../mainwindow.cpp" line="274"/> + <location filename="../mainwindow.cpp" line="266"/> <source>Choose a directory</source> <translation>Wybierz katalog</translation> </message> <message> - <location filename="../mainwindow.cpp" line="285"/> + <location filename="../mainwindow.cpp" line="277"/> <source>Select one or more files to open</source> <translation>Wybierz jeden lub więcej plików do otwarcia</translation> </message> <message> - <location filename="../mainwindow.cpp" line="420"/> + <location filename="../mainwindow.cpp" line="391"/> <source>&Play</source> <translation>&Odtwarzaj</translation> </message> <message> - <location filename="../mainwindow.cpp" line="420"/> + <location filename="../mainwindow.cpp" line="391"/> <source>X</source> <translation>X</translation> </message> <message> - <location filename="../mainwindow.cpp" line="421"/> + <location filename="../mainwindow.cpp" line="392"/> <source>&Pause</source> <translation>&Wstrzymaj</translation> </message> <message> - <location filename="../mainwindow.cpp" line="421"/> + <location filename="../mainwindow.cpp" line="392"/> <source>C</source> <translation>C</translation> </message> <message> - <location filename="../mainwindow.cpp" line="422"/> + <location filename="../mainwindow.cpp" line="393"/> <source>&Stop</source> <translation>&Zatrzymaj</translation> </message> <message> - <location filename="../mainwindow.cpp" line="422"/> + <location filename="../mainwindow.cpp" line="393"/> <source>V</source> <translation>V</translation> </message> <message> - <location filename="../mainwindow.cpp" line="423"/> + <location filename="../mainwindow.cpp" line="394"/> <source>&Previous</source> <translation>&Poprzedni</translation> </message> <message> - <location filename="../mainwindow.cpp" line="423"/> + <location filename="../mainwindow.cpp" line="394"/> <source>Z</source> <translation>Z</translation> </message> <message> - <location filename="../mainwindow.cpp" line="424"/> + <location filename="../mainwindow.cpp" line="395"/> <source>&Next</source> <translation>&Następny</translation> </message> <message> - <location filename="../mainwindow.cpp" line="424"/> + <location filename="../mainwindow.cpp" line="395"/> <source>B</source> <translation>B</translation> </message> <message> - <location filename="../mainwindow.cpp" line="443"/> + <location filename="../mainwindow.cpp" line="414"/> <source>&Jump To File</source> <translation>&Skocz do pliku</translation> </message> <message> - <location filename="../mainwindow.cpp" line="443"/> + <location filename="../mainwindow.cpp" line="414"/> <source>J</source> <translation>J</translation> </message> <message> - <location filename="../mainwindow.cpp" line="449"/> + <location filename="../mainwindow.cpp" line="420"/> <source>&Settings</source> <translation>&Ustawienia</translation> </message> <message> - <location filename="../mainwindow.cpp" line="449"/> + <location filename="../mainwindow.cpp" line="420"/> <source>Ctrl+P</source> <translation>Ctrl+P</translation> </message> <message> - <location filename="../mainwindow.cpp" line="455"/> + <location filename="../mainwindow.cpp" line="426"/> <source>&Exit</source> <translation>&Wyjście</translation> </message> <message> - <location filename="../mainwindow.cpp" line="455"/> + <location filename="../mainwindow.cpp" line="426"/> <source>Ctrl+Q</source> <translation>Ctrl+Q</translation> </message> <message> - <location filename="../mainwindow.cpp" line="497"/> + <location filename="../mainwindow.cpp" line="462"/> <source>Open Playlist</source> <translation>Otwórz listę odtwarzania</translation> </message> <message> - <location filename="../mainwindow.cpp" line="522"/> + <location filename="../mainwindow.cpp" line="487"/> <source>Save Playlist</source> <translation>Zapisz listę odtwarzania</translation> </message> <message> - <location filename="../mainwindow.cpp" line="451"/> + <location filename="../mainwindow.cpp" line="422"/> <source>&About</source> <translation>&O programie</translation> </message> <message> - <location filename="../mainwindow.cpp" line="495"/> - <location filename="../mainwindow.cpp" line="521"/> + <location filename="../mainwindow.cpp" line="460"/> + <location filename="../mainwindow.cpp" line="486"/> <source>Playlist Files</source> <translation>Pliki listy odtwarzania</translation> </message> <message> - <location filename="../mainwindow.cpp" line="425"/> + <location filename="../mainwindow.cpp" line="396"/> <source>Space</source> <translation></translation> </message> <message> - <location filename="../mainwindow.cpp" line="452"/> + <location filename="../mainwindow.cpp" line="423"/> <source>&About Qt</source> <translation>&O Qt</translation> </message> <message> - <location filename="../mainwindow.cpp" line="425"/> + <location filename="../mainwindow.cpp" line="396"/> <source>&Play/Pause</source> <translation>&Odtwarzaj/Wstrzymaj</translation> </message> <message> - <location filename="../mainwindow.cpp" line="280"/> + <location filename="../mainwindow.cpp" line="272"/> <source>All Supported Bitstreams</source> <translation>Wszystkie wspierane formaty</translation> </message> <message> - <location filename="../mainwindow.cpp" line="428"/> + <location filename="../mainwindow.cpp" line="399"/> <source>&Repeat Track</source> <translation>&Powtórz utwór</translation> </message> <message> - <location filename="../mainwindow.cpp" line="429"/> + <location filename="../mainwindow.cpp" line="400"/> <source>&Shuffle</source> <translation>&Losowo</translation> </message> <message> - <location filename="../mainwindow.cpp" line="433"/> + <location filename="../mainwindow.cpp" line="404"/> <source>R</source> <translation></translation> </message> <message> - <location filename="../mainwindow.cpp" line="434"/> + <location filename="../mainwindow.cpp" line="405"/> <source>Ctrl+R</source> <translation></translation> </message> <message> - <location filename="../mainwindow.cpp" line="435"/> + <location filename="../mainwindow.cpp" line="406"/> <source>S</source> <translation></translation> </message> <message> - <location filename="../mainwindow.cpp" line="427"/> + <location filename="../mainwindow.cpp" line="398"/> <source>&Repeat Playlist</source> <translation>Powtó&rz listę odtwarzania</translation> </message> <message> - <location filename="../mainwindow.cpp" line="447"/> + <location filename="../mainwindow.cpp" line="418"/> <source>Tools</source> <translation>Narzędzia</translation> </message> @@ -1026,194 +1020,209 @@ <context> <name>PlayList</name> <message> - <location filename="../playlist.cpp" line="150"/> + <location filename="../playlist.cpp" line="165"/> <source>F</source> <translation>F</translation> </message> <message> - <location filename="../playlist.cpp" line="156"/> + <location filename="../playlist.cpp" line="171"/> <source>D</source> <translation>D</translation> </message> <message> - <location filename="../playlist.cpp" line="191"/> + <location filename="../playlist.cpp" line="204"/> <source>Alt+I</source> <translation>Alt+I</translation> </message> <message> - <location filename="../playlist.cpp" line="299"/> + <location filename="../playlist.cpp" line="308"/> <source>Ctrl+A</source> <translation>Ctrl+A</translation> </message> <message> - <location filename="../playlist.cpp" line="315"/> + <location filename="../playlist.cpp" line="327"/> <source>O</source> <translation>O</translation> </message> <message> - <location filename="../playlist.cpp" line="149"/> + <location filename="../playlist.cpp" line="164"/> <source>&Add File</source> <translation>&Dodaj plik</translation> </message> <message> - <location filename="../playlist.cpp" line="155"/> + <location filename="../playlist.cpp" line="170"/> <source>&Add Directory</source> <translation>Dodaj &katalog</translation> </message> <message> - <location filename="../playlist.cpp" line="168"/> + <location filename="../playlist.cpp" line="183"/> <source>&Remove Selected</source> <translation>&Usuń zaznaczone</translation> </message> <message> - <location filename="../playlist.cpp" line="175"/> + <location filename="../playlist.cpp" line="189"/> <source>&Remove All</source> <translation>Usuń &wszystkie</translation> </message> <message> - <location filename="../playlist.cpp" line="181"/> + <location filename="../playlist.cpp" line="195"/> <source>&Remove Unselected</source> <translation>Usuń &niezaznaczone</translation> </message> <message> - <location filename="../playlist.cpp" line="187"/> + <location filename="../playlist.cpp" line="200"/> <source>Remove unavailable files</source> <translation>Usuń niedostępne pliki</translation> </message> <message> - <location filename="../playlist.cpp" line="190"/> + <location filename="../playlist.cpp" line="203"/> <source>&View Track Details</source> <translation>&Pokaż informacje o pliku</translation> </message> <message> - <location filename="../playlist.cpp" line="199"/> + <location filename="../playlist.cpp" line="212"/> <source>Sort List</source> <translation>Sortuj listę</translation> </message> <message> - <location filename="../playlist.cpp" line="202"/> - <location filename="../playlist.cpp" line="237"/> + <location filename="../playlist.cpp" line="215"/> + <location filename="../playlist.cpp" line="249"/> <source>By Title</source> <translation>Według nazwy</translation> </message> <message> - <location filename="../playlist.cpp" line="206"/> - <location filename="../playlist.cpp" line="241"/> + <location filename="../playlist.cpp" line="219"/> + <location filename="../playlist.cpp" line="253"/> <source>By Album</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../playlist.cpp" line="210"/> - <location filename="../playlist.cpp" line="245"/> + <location filename="../playlist.cpp" line="223"/> + <location filename="../playlist.cpp" line="257"/> <source>By Artist</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../playlist.cpp" line="214"/> - <location filename="../playlist.cpp" line="249"/> + <location filename="../playlist.cpp" line="227"/> + <location filename="../playlist.cpp" line="261"/> <source>By Filename</source> <translation>Według nazwy pliku</translation> </message> <message> - <location filename="../playlist.cpp" line="218"/> - <location filename="../playlist.cpp" line="253"/> + <location filename="../playlist.cpp" line="231"/> + <location filename="../playlist.cpp" line="265"/> <source>By Path + Filename</source> <translation>Według Ścieżki + Nazwy pliku</translation> </message> <message> - <location filename="../playlist.cpp" line="222"/> - <location filename="../playlist.cpp" line="257"/> + <location filename="../playlist.cpp" line="235"/> + <location filename="../playlist.cpp" line="269"/> <source>By Date</source> <translation>Wg Daty</translation> </message> <message> - <location filename="../playlist.cpp" line="235"/> + <location filename="../playlist.cpp" line="247"/> <source>Sort Selection</source> <translation>Sortuj zaznaczone</translation> </message> <message> - <location filename="../playlist.cpp" line="271"/> + <location filename="../playlist.cpp" line="282"/> <source>Randomize List</source> <translation>Tasuj listę</translation> </message> <message> - <location filename="../playlist.cpp" line="272"/> + <location filename="../playlist.cpp" line="283"/> <source>Reverse List</source> <translation>Odwróć listę</translation> </message> <message> - <location filename="../playlist.cpp" line="284"/> + <location filename="../playlist.cpp" line="295"/> <source>Invert Selection</source> <translation>Odwróć zaznaczenie</translation> </message> <message> - <location filename="../playlist.cpp" line="291"/> + <location filename="../playlist.cpp" line="301"/> <source>&Select None</source> <translation>&Odznacz wszystkie</translation> </message> <message> - <location filename="../playlist.cpp" line="298"/> + <location filename="../playlist.cpp" line="302"/> + <source>Shift+A</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../playlist.cpp" line="307"/> <source>&Select All</source> <translation>&Zaznacz wszystkie</translation> </message> <message> - <location filename="../playlist.cpp" line="307"/> + <location filename="../playlist.cpp" line="314"/> <source>&New List</source> <translation>&Nowa lista</translation> </message> <message> - <location filename="../playlist.cpp" line="308"/> + <location filename="../playlist.cpp" line="315"/> <source>Shift+N</source> <translation>Shift+N</translation> </message> <message> - <location filename="../playlist.cpp" line="314"/> + <location filename="../playlist.cpp" line="319"/> + <source>&Delete List</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../playlist.cpp" line="320"/> + <source>Shift+D</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../playlist.cpp" line="326"/> <source>&Load List</source> <translation>&Ładuj listę</translation> </message> <message> - <location filename="../playlist.cpp" line="320"/> + <location filename="../playlist.cpp" line="332"/> <source>&Save List</source> <translation>&Zapisz listę</translation> </message> <message> - <location filename="../playlist.cpp" line="321"/> + <location filename="../playlist.cpp" line="333"/> <source>Shift+S</source> <translation>Shift+S</translation> </message> <message> - <location filename="../playlist.cpp" line="169"/> + <location filename="../playlist.cpp" line="184"/> <source>Del</source> <translation>Del</translation> </message> <message> - <location filename="../playlist.cpp" line="161"/> + <location filename="../playlist.cpp" line="176"/> <source>&Add Url</source> <translation>Dod&aj Url</translation> </message> <message> - <location filename="../playlist.cpp" line="162"/> + <location filename="../playlist.cpp" line="177"/> <source>U</source> <translation>U</translation> </message> <message> - <location filename="../playlist.cpp" line="226"/> - <location filename="../playlist.cpp" line="261"/> + <location filename="../playlist.cpp" line="239"/> + <location filename="../playlist.cpp" line="273"/> <source>By Track Number</source> <translation>Wg numeru utworu</translation> </message> <message> - <location filename="../playlist.cpp" line="280"/> + <location filename="../playlist.cpp" line="291"/> <source>&Queue</source> <translation>&Kolejkuj</translation> </message> <message> - <location filename="../playlist.cpp" line="280"/> + <location filename="../playlist.cpp" line="291"/> <source>Q</source> <translation>Q</translation> </message> <message> - <location filename="../playlist.cpp" line="277"/> + <location filename="../playlist.cpp" line="288"/> <source>Actions</source> <translation>Akcje</translation> </message> diff --git a/src/ui/translations/qmmp_pt_BR.ts b/src/ui/translations/qmmp_pt_BR.ts index 165dea5c2..b0585a8ce 100644 --- a/src/ui/translations/qmmp_pt_BR.ts +++ b/src/ui/translations/qmmp_pt_BR.ts @@ -615,14 +615,14 @@ <name>JumpToTrackDialog</name> <message> <location filename="../jumptotrackdialog.cpp" line="81"/> - <location filename="../jumptotrackdialog.cpp" line="137"/> + <location filename="../jumptotrackdialog.cpp" line="132"/> <source>Unqueue</source> <translation type="unfinished">Sem Faixa na Fila</translation> </message> <message> <location filename="../forms/jumptotrackdialog.ui" line="79"/> <location filename="../jumptotrackdialog.cpp" line="83"/> - <location filename="../jumptotrackdialog.cpp" line="139"/> + <location filename="../jumptotrackdialog.cpp" line="134"/> <source>Queue</source> <translation type="unfinished">Faixa na Fila</translation> </message> @@ -851,174 +851,168 @@ <context> <name>MainWindow</name> <message> - <location filename="../mainwindow.cpp" line="64"/> - <location filename="../mainwindow.cpp" line="483"/> - <source>Default</source> - <translation type="unfinished">Padrão</translation> - </message> - <message> - <location filename="../mainwindow.cpp" line="274"/> + <location filename="../mainwindow.cpp" line="266"/> <source>Choose a directory</source> <translation type="unfinished">Escolher o diretorio</translation> </message> <message> - <location filename="../mainwindow.cpp" line="285"/> + <location filename="../mainwindow.cpp" line="277"/> <source>Select one or more files to open</source> <translation type="unfinished">Selecionar um ou mais arquivos</translation> </message> <message> - <location filename="../mainwindow.cpp" line="420"/> + <location filename="../mainwindow.cpp" line="391"/> <source>&Play</source> <translation type="unfinished">Tocar</translation> </message> <message> - <location filename="../mainwindow.cpp" line="420"/> + <location filename="../mainwindow.cpp" line="391"/> <source>X</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../mainwindow.cpp" line="421"/> + <location filename="../mainwindow.cpp" line="392"/> <source>&Pause</source> <translation type="unfinished">Pausar</translation> </message> <message> - <location filename="../mainwindow.cpp" line="421"/> + <location filename="../mainwindow.cpp" line="392"/> <source>C</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../mainwindow.cpp" line="422"/> + <location filename="../mainwindow.cpp" line="393"/> <source>&Stop</source> <translation type="unfinished">Parar</translation> </message> <message> - <location filename="../mainwindow.cpp" line="422"/> + <location filename="../mainwindow.cpp" line="393"/> <source>V</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../mainwindow.cpp" line="423"/> + <location filename="../mainwindow.cpp" line="394"/> <source>&Previous</source> <translation type="unfinished">Anterior</translation> </message> <message> - <location filename="../mainwindow.cpp" line="423"/> + <location filename="../mainwindow.cpp" line="394"/> <source>Z</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../mainwindow.cpp" line="424"/> + <location filename="../mainwindow.cpp" line="395"/> <source>&Next</source> <translation type="unfinished">Próximo</translation> </message> <message> - <location filename="../mainwindow.cpp" line="424"/> + <location filename="../mainwindow.cpp" line="395"/> <source>B</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../mainwindow.cpp" line="443"/> + <location filename="../mainwindow.cpp" line="414"/> <source>&Jump To File</source> <translation type="unfinished">Pular para arquivo</translation> </message> <message> - <location filename="../mainwindow.cpp" line="443"/> + <location filename="../mainwindow.cpp" line="414"/> <source>J</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../mainwindow.cpp" line="449"/> + <location filename="../mainwindow.cpp" line="420"/> <source>&Settings</source> <translation type="unfinished">Configurações</translation> </message> <message> - <location filename="../mainwindow.cpp" line="449"/> + <location filename="../mainwindow.cpp" line="420"/> <source>Ctrl+P</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../mainwindow.cpp" line="455"/> + <location filename="../mainwindow.cpp" line="426"/> <source>&Exit</source> <translation type="unfinished">Sair</translation> </message> <message> - <location filename="../mainwindow.cpp" line="455"/> + <location filename="../mainwindow.cpp" line="426"/> <source>Ctrl+Q</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../mainwindow.cpp" line="497"/> + <location filename="../mainwindow.cpp" line="462"/> <source>Open Playlist</source> <translation type="unfinished">Abrir Playlist</translation> </message> <message> - <location filename="../mainwindow.cpp" line="522"/> + <location filename="../mainwindow.cpp" line="487"/> <source>Save Playlist</source> <translation type="unfinished">Salvar Playlist</translation> </message> <message> - <location filename="../mainwindow.cpp" line="451"/> + <location filename="../mainwindow.cpp" line="422"/> <source>&About</source> <translation type="unfinished">&Sobre</translation> </message> <message> - <location filename="../mainwindow.cpp" line="495"/> - <location filename="../mainwindow.cpp" line="521"/> + <location filename="../mainwindow.cpp" line="460"/> + <location filename="../mainwindow.cpp" line="486"/> <source>Playlist Files</source> <translation type="unfinished">ФArquivos de lista de músicas</translation> </message> <message> - <location filename="../mainwindow.cpp" line="425"/> + <location filename="../mainwindow.cpp" line="396"/> <source>Space</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../mainwindow.cpp" line="452"/> + <location filename="../mainwindow.cpp" line="423"/> <source>&About Qt</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../mainwindow.cpp" line="425"/> + <location filename="../mainwindow.cpp" line="396"/> <source>&Play/Pause</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../mainwindow.cpp" line="280"/> + <location filename="../mainwindow.cpp" line="272"/> <source>All Supported Bitstreams</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../mainwindow.cpp" line="428"/> + <location filename="../mainwindow.cpp" line="399"/> <source>&Repeat Track</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../mainwindow.cpp" line="429"/> + <location filename="../mainwindow.cpp" line="400"/> <source>&Shuffle</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../mainwindow.cpp" line="433"/> + <location filename="../mainwindow.cpp" line="404"/> <source>R</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../mainwindow.cpp" line="434"/> + <location filename="../mainwindow.cpp" line="405"/> <source>Ctrl+R</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../mainwindow.cpp" line="435"/> + <location filename="../mainwindow.cpp" line="406"/> <source>S</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../mainwindow.cpp" line="427"/> + <location filename="../mainwindow.cpp" line="398"/> <source>&Repeat Playlist</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../mainwindow.cpp" line="447"/> + <location filename="../mainwindow.cpp" line="418"/> <source>Tools</source> <translation type="unfinished"></translation> </message> @@ -1026,194 +1020,209 @@ <context> <name>PlayList</name> <message> - <location filename="../playlist.cpp" line="150"/> + <location filename="../playlist.cpp" line="165"/> <source>F</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../playlist.cpp" line="156"/> + <location filename="../playlist.cpp" line="171"/> <source>D</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../playlist.cpp" line="191"/> + <location filename="../playlist.cpp" line="204"/> <source>Alt+I</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../playlist.cpp" line="299"/> + <location filename="../playlist.cpp" line="308"/> <source>Ctrl+A</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../playlist.cpp" line="315"/> + <location filename="../playlist.cpp" line="327"/> <source>O</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../playlist.cpp" line="149"/> + <location filename="../playlist.cpp" line="164"/> <source>&Add File</source> <translation type="unfinished">&Adicionar arquivo</translation> </message> <message> - <location filename="../playlist.cpp" line="155"/> + <location filename="../playlist.cpp" line="170"/> <source>&Add Directory</source> <translation type="unfinished">&Adicionar Diretorio</translation> </message> <message> - <location filename="../playlist.cpp" line="168"/> + <location filename="../playlist.cpp" line="183"/> <source>&Remove Selected</source> <translation type="unfinished">&Remover selecionadas</translation> </message> <message> - <location filename="../playlist.cpp" line="175"/> + <location filename="../playlist.cpp" line="189"/> <source>&Remove All</source> <translation type="unfinished">&Remover tudo</translation> </message> <message> - <location filename="../playlist.cpp" line="181"/> + <location filename="../playlist.cpp" line="195"/> <source>&Remove Unselected</source> <translation type="unfinished">&Remover não selecionadas</translation> </message> <message> - <location filename="../playlist.cpp" line="187"/> + <location filename="../playlist.cpp" line="200"/> <source>Remove unavailable files</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../playlist.cpp" line="190"/> + <location filename="../playlist.cpp" line="203"/> <source>&View Track Details</source> <translation type="unfinished">&Ver detalhes da Faixa</translation> </message> <message> - <location filename="../playlist.cpp" line="199"/> + <location filename="../playlist.cpp" line="212"/> <source>Sort List</source> <translation type="unfinished">Classificar lista</translation> </message> <message> - <location filename="../playlist.cpp" line="202"/> - <location filename="../playlist.cpp" line="237"/> + <location filename="../playlist.cpp" line="215"/> + <location filename="../playlist.cpp" line="249"/> <source>By Title</source> <translation type="unfinished">Por Título</translation> </message> <message> - <location filename="../playlist.cpp" line="206"/> - <location filename="../playlist.cpp" line="241"/> + <location filename="../playlist.cpp" line="219"/> + <location filename="../playlist.cpp" line="253"/> <source>By Album</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../playlist.cpp" line="210"/> - <location filename="../playlist.cpp" line="245"/> + <location filename="../playlist.cpp" line="223"/> + <location filename="../playlist.cpp" line="257"/> <source>By Artist</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../playlist.cpp" line="214"/> - <location filename="../playlist.cpp" line="249"/> + <location filename="../playlist.cpp" line="227"/> + <location filename="../playlist.cpp" line="261"/> <source>By Filename</source> <translation type="unfinished">Por Nome</translation> </message> <message> - <location filename="../playlist.cpp" line="218"/> - <location filename="../playlist.cpp" line="253"/> + <location filename="../playlist.cpp" line="231"/> + <location filename="../playlist.cpp" line="265"/> <source>By Path + Filename</source> <translation type="unfinished">Por Dirertório + Nome</translation> </message> <message> - <location filename="../playlist.cpp" line="222"/> - <location filename="../playlist.cpp" line="257"/> + <location filename="../playlist.cpp" line="235"/> + <location filename="../playlist.cpp" line="269"/> <source>By Date</source> <translation type="unfinished">Por Data</translation> </message> <message> - <location filename="../playlist.cpp" line="235"/> + <location filename="../playlist.cpp" line="247"/> <source>Sort Selection</source> <translation type="unfinished">Classificar por Seleção</translation> </message> <message> - <location filename="../playlist.cpp" line="271"/> + <location filename="../playlist.cpp" line="282"/> <source>Randomize List</source> <translation type="unfinished">Lista Eleatória</translation> </message> <message> - <location filename="../playlist.cpp" line="272"/> + <location filename="../playlist.cpp" line="283"/> <source>Reverse List</source> <translation type="unfinished">Lista Revertida</translation> </message> <message> - <location filename="../playlist.cpp" line="284"/> + <location filename="../playlist.cpp" line="295"/> <source>Invert Selection</source> <translation type="unfinished">Inverter Seleção</translation> </message> <message> - <location filename="../playlist.cpp" line="291"/> + <location filename="../playlist.cpp" line="301"/> <source>&Select None</source> <translation type="unfinished">&Nenhum selecionado</translation> </message> <message> - <location filename="../playlist.cpp" line="298"/> + <location filename="../playlist.cpp" line="302"/> + <source>Shift+A</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../playlist.cpp" line="307"/> <source>&Select All</source> <translation type="unfinished">&Selecionar tudo</translation> </message> <message> - <location filename="../playlist.cpp" line="307"/> + <location filename="../playlist.cpp" line="314"/> <source>&New List</source> <translation type="unfinished">&Nova lista</translation> </message> <message> - <location filename="../playlist.cpp" line="308"/> + <location filename="../playlist.cpp" line="315"/> <source>Shift+N</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../playlist.cpp" line="314"/> + <location filename="../playlist.cpp" line="319"/> + <source>&Delete List</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../playlist.cpp" line="320"/> + <source>Shift+D</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../playlist.cpp" line="326"/> <source>&Load List</source> <translation type="unfinished">&Carregar lista</translation> </message> <message> - <location filename="../playlist.cpp" line="320"/> + <location filename="../playlist.cpp" line="332"/> <source>&Save List</source> <translation type="unfinished">&Salvar lista</translation> </message> <message> - <location filename="../playlist.cpp" line="321"/> + <location filename="../playlist.cpp" line="333"/> <source>Shift+S</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../playlist.cpp" line="169"/> + <location filename="../playlist.cpp" line="184"/> <source>Del</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../playlist.cpp" line="161"/> + <location filename="../playlist.cpp" line="176"/> <source>&Add Url</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../playlist.cpp" line="162"/> + <location filename="../playlist.cpp" line="177"/> <source>U</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../playlist.cpp" line="226"/> - <location filename="../playlist.cpp" line="261"/> + <location filename="../playlist.cpp" line="239"/> + <location filename="../playlist.cpp" line="273"/> <source>By Track Number</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../playlist.cpp" line="280"/> + <location filename="../playlist.cpp" line="291"/> <source>&Queue</source> <translation type="unfinished">Na fila</translation> </message> <message> - <location filename="../playlist.cpp" line="280"/> + <location filename="../playlist.cpp" line="291"/> <source>Q</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../playlist.cpp" line="277"/> + <location filename="../playlist.cpp" line="288"/> <source>Actions</source> <translation type="unfinished"></translation> </message> diff --git a/src/ui/translations/qmmp_ru.ts b/src/ui/translations/qmmp_ru.ts index 85e48dc4e..ac3bcbd2f 100644 --- a/src/ui/translations/qmmp_ru.ts +++ b/src/ui/translations/qmmp_ru.ts @@ -615,14 +615,14 @@ <name>JumpToTrackDialog</name> <message> <location filename="../jumptotrackdialog.cpp" line="81"/> - <location filename="../jumptotrackdialog.cpp" line="137"/> + <location filename="../jumptotrackdialog.cpp" line="132"/> <source>Unqueue</source> <translation>Снять с очереди</translation> </message> <message> <location filename="../forms/jumptotrackdialog.ui" line="79"/> <location filename="../jumptotrackdialog.cpp" line="83"/> - <location filename="../jumptotrackdialog.cpp" line="139"/> + <location filename="../jumptotrackdialog.cpp" line="134"/> <source>Queue</source> <translation>В очередь</translation> </message> @@ -851,174 +851,168 @@ <context> <name>MainWindow</name> <message> - <location filename="../mainwindow.cpp" line="64"/> - <location filename="../mainwindow.cpp" line="483"/> - <source>Default</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../mainwindow.cpp" line="274"/> + <location filename="../mainwindow.cpp" line="266"/> <source>Choose a directory</source> <translation>Выберите директорию</translation> </message> <message> - <location filename="../mainwindow.cpp" line="285"/> + <location filename="../mainwindow.cpp" line="277"/> <source>Select one or more files to open</source> <translation>Выберите один или несколько файлов</translation> </message> <message> - <location filename="../mainwindow.cpp" line="420"/> + <location filename="../mainwindow.cpp" line="391"/> <source>&Play</source> <translation>&Воспроизвести</translation> </message> <message> - <location filename="../mainwindow.cpp" line="420"/> + <location filename="../mainwindow.cpp" line="391"/> <source>X</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../mainwindow.cpp" line="421"/> + <location filename="../mainwindow.cpp" line="392"/> <source>&Pause</source> <translation>&Приостановить</translation> </message> <message> - <location filename="../mainwindow.cpp" line="421"/> + <location filename="../mainwindow.cpp" line="392"/> <source>C</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../mainwindow.cpp" line="422"/> + <location filename="../mainwindow.cpp" line="393"/> <source>&Stop</source> <translation>&Стоп</translation> </message> <message> - <location filename="../mainwindow.cpp" line="422"/> + <location filename="../mainwindow.cpp" line="393"/> <source>V</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../mainwindow.cpp" line="423"/> + <location filename="../mainwindow.cpp" line="394"/> <source>&Previous</source> <translation>&Предыдущий фрагмент</translation> </message> <message> - <location filename="../mainwindow.cpp" line="423"/> + <location filename="../mainwindow.cpp" line="394"/> <source>Z</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../mainwindow.cpp" line="424"/> + <location filename="../mainwindow.cpp" line="395"/> <source>&Next</source> <translation>&Следующий фрагмент</translation> </message> <message> - <location filename="../mainwindow.cpp" line="424"/> + <location filename="../mainwindow.cpp" line="395"/> <source>B</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../mainwindow.cpp" line="443"/> + <location filename="../mainwindow.cpp" line="414"/> <source>&Jump To File</source> <translation>&Перейти к файлу</translation> </message> <message> - <location filename="../mainwindow.cpp" line="443"/> + <location filename="../mainwindow.cpp" line="414"/> <source>J</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../mainwindow.cpp" line="449"/> + <location filename="../mainwindow.cpp" line="420"/> <source>&Settings</source> <translation>&Настройки</translation> </message> <message> - <location filename="../mainwindow.cpp" line="449"/> + <location filename="../mainwindow.cpp" line="420"/> <source>Ctrl+P</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../mainwindow.cpp" line="455"/> + <location filename="../mainwindow.cpp" line="426"/> <source>&Exit</source> <translation>&Выход</translation> </message> <message> - <location filename="../mainwindow.cpp" line="455"/> + <location filename="../mainwindow.cpp" line="426"/> <source>Ctrl+Q</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../mainwindow.cpp" line="497"/> + <location filename="../mainwindow.cpp" line="462"/> <source>Open Playlist</source> <translation>Открыть список</translation> </message> <message> - <location filename="../mainwindow.cpp" line="522"/> + <location filename="../mainwindow.cpp" line="487"/> <source>Save Playlist</source> <translation>Сохранить список</translation> </message> <message> - <location filename="../mainwindow.cpp" line="451"/> + <location filename="../mainwindow.cpp" line="422"/> <source>&About</source> <translation>&О программе</translation> </message> <message> - <location filename="../mainwindow.cpp" line="495"/> - <location filename="../mainwindow.cpp" line="521"/> + <location filename="../mainwindow.cpp" line="460"/> + <location filename="../mainwindow.cpp" line="486"/> <source>Playlist Files</source> <translation>Файлы списков</translation> </message> <message> - <location filename="../mainwindow.cpp" line="425"/> + <location filename="../mainwindow.cpp" line="396"/> <source>Space</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../mainwindow.cpp" line="452"/> + <location filename="../mainwindow.cpp" line="423"/> <source>&About Qt</source> <translation>&О библиотеке Qt</translation> </message> <message> - <location filename="../mainwindow.cpp" line="425"/> + <location filename="../mainwindow.cpp" line="396"/> <source>&Play/Pause</source> <translation>&Воспр/приост</translation> </message> <message> - <location filename="../mainwindow.cpp" line="280"/> + <location filename="../mainwindow.cpp" line="272"/> <source>All Supported Bitstreams</source> <translation>Все форматы</translation> </message> <message> - <location filename="../mainwindow.cpp" line="428"/> + <location filename="../mainwindow.cpp" line="399"/> <source>&Repeat Track</source> <translation>&Повторять трек</translation> </message> <message> - <location filename="../mainwindow.cpp" line="429"/> + <location filename="../mainwindow.cpp" line="400"/> <source>&Shuffle</source> <translation>&В случайном порядке</translation> </message> <message> - <location filename="../mainwindow.cpp" line="433"/> + <location filename="../mainwindow.cpp" line="404"/> <source>R</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../mainwindow.cpp" line="434"/> + <location filename="../mainwindow.cpp" line="405"/> <source>Ctrl+R</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../mainwindow.cpp" line="435"/> + <location filename="../mainwindow.cpp" line="406"/> <source>S</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../mainwindow.cpp" line="427"/> + <location filename="../mainwindow.cpp" line="398"/> <source>&Repeat Playlist</source> <translation>&Повторять список</translation> </message> <message> - <location filename="../mainwindow.cpp" line="447"/> + <location filename="../mainwindow.cpp" line="418"/> <source>Tools</source> <translation>Сервис</translation> </message> @@ -1026,194 +1020,209 @@ <context> <name>PlayList</name> <message> - <location filename="../playlist.cpp" line="150"/> + <location filename="../playlist.cpp" line="165"/> <source>F</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../playlist.cpp" line="156"/> + <location filename="../playlist.cpp" line="171"/> <source>D</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../playlist.cpp" line="191"/> + <location filename="../playlist.cpp" line="204"/> <source>Alt+I</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../playlist.cpp" line="299"/> + <location filename="../playlist.cpp" line="308"/> <source>Ctrl+A</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../playlist.cpp" line="315"/> + <location filename="../playlist.cpp" line="327"/> <source>O</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../playlist.cpp" line="149"/> + <location filename="../playlist.cpp" line="164"/> <source>&Add File</source> <translation>&Добавить файл</translation> </message> <message> - <location filename="../playlist.cpp" line="155"/> + <location filename="../playlist.cpp" line="170"/> <source>&Add Directory</source> <translation>&Добавить директорию</translation> </message> <message> - <location filename="../playlist.cpp" line="168"/> + <location filename="../playlist.cpp" line="183"/> <source>&Remove Selected</source> <translation>&Удалить выделенное</translation> </message> <message> - <location filename="../playlist.cpp" line="175"/> + <location filename="../playlist.cpp" line="189"/> <source>&Remove All</source> <translation>&Удалить всё</translation> </message> <message> - <location filename="../playlist.cpp" line="181"/> + <location filename="../playlist.cpp" line="195"/> <source>&Remove Unselected</source> <translation>&Удалить невыделенное</translation> </message> <message> - <location filename="../playlist.cpp" line="187"/> + <location filename="../playlist.cpp" line="200"/> <source>Remove unavailable files</source> <translation>Удалить недоступные файлы</translation> </message> <message> - <location filename="../playlist.cpp" line="190"/> + <location filename="../playlist.cpp" line="203"/> <source>&View Track Details</source> <translation>&Информация</translation> </message> <message> - <location filename="../playlist.cpp" line="199"/> + <location filename="../playlist.cpp" line="212"/> <source>Sort List</source> <translation>Сортировать</translation> </message> <message> - <location filename="../playlist.cpp" line="202"/> - <location filename="../playlist.cpp" line="237"/> + <location filename="../playlist.cpp" line="215"/> + <location filename="../playlist.cpp" line="249"/> <source>By Title</source> <translation>По названию</translation> </message> <message> - <location filename="../playlist.cpp" line="206"/> - <location filename="../playlist.cpp" line="241"/> + <location filename="../playlist.cpp" line="219"/> + <location filename="../playlist.cpp" line="253"/> <source>By Album</source> <translation>По альбому</translation> </message> <message> - <location filename="../playlist.cpp" line="210"/> - <location filename="../playlist.cpp" line="245"/> + <location filename="../playlist.cpp" line="223"/> + <location filename="../playlist.cpp" line="257"/> <source>By Artist</source> <translation>По исполнителю</translation> </message> <message> - <location filename="../playlist.cpp" line="214"/> - <location filename="../playlist.cpp" line="249"/> + <location filename="../playlist.cpp" line="227"/> + <location filename="../playlist.cpp" line="261"/> <source>By Filename</source> <translation>По имени файла</translation> </message> <message> - <location filename="../playlist.cpp" line="218"/> - <location filename="../playlist.cpp" line="253"/> + <location filename="../playlist.cpp" line="231"/> + <location filename="../playlist.cpp" line="265"/> <source>By Path + Filename</source> <translation>По пути и файлу</translation> </message> <message> - <location filename="../playlist.cpp" line="222"/> - <location filename="../playlist.cpp" line="257"/> + <location filename="../playlist.cpp" line="235"/> + <location filename="../playlist.cpp" line="269"/> <source>By Date</source> <translation>По дате</translation> </message> <message> - <location filename="../playlist.cpp" line="235"/> + <location filename="../playlist.cpp" line="247"/> <source>Sort Selection</source> <translation>Сортировать выделенное</translation> </message> <message> - <location filename="../playlist.cpp" line="271"/> + <location filename="../playlist.cpp" line="282"/> <source>Randomize List</source> <translation>Перемешать</translation> </message> <message> - <location filename="../playlist.cpp" line="272"/> + <location filename="../playlist.cpp" line="283"/> <source>Reverse List</source> <translation>Перевернуть</translation> </message> <message> - <location filename="../playlist.cpp" line="284"/> + <location filename="../playlist.cpp" line="295"/> <source>Invert Selection</source> <translation>Инвертировать выделение</translation> </message> <message> - <location filename="../playlist.cpp" line="291"/> + <location filename="../playlist.cpp" line="301"/> <source>&Select None</source> <translation>&Снять выделение</translation> </message> <message> - <location filename="../playlist.cpp" line="298"/> + <location filename="../playlist.cpp" line="302"/> + <source>Shift+A</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../playlist.cpp" line="307"/> <source>&Select All</source> <translation>&Выделить всё</translation> </message> <message> - <location filename="../playlist.cpp" line="307"/> + <location filename="../playlist.cpp" line="314"/> <source>&New List</source> <translation>&Новый лист</translation> </message> <message> - <location filename="../playlist.cpp" line="308"/> + <location filename="../playlist.cpp" line="315"/> <source>Shift+N</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../playlist.cpp" line="314"/> + <location filename="../playlist.cpp" line="319"/> + <source>&Delete List</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../playlist.cpp" line="320"/> + <source>Shift+D</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../playlist.cpp" line="326"/> <source>&Load List</source> <translation>&Загрузить лист</translation> </message> <message> - <location filename="../playlist.cpp" line="320"/> + <location filename="../playlist.cpp" line="332"/> <source>&Save List</source> <translation>&Сохранить лист</translation> </message> <message> - <location filename="../playlist.cpp" line="321"/> + <location filename="../playlist.cpp" line="333"/> <source>Shift+S</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../playlist.cpp" line="169"/> + <location filename="../playlist.cpp" line="184"/> <source>Del</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../playlist.cpp" line="161"/> + <location filename="../playlist.cpp" line="176"/> <source>&Add Url</source> <translation>&Добавить URL</translation> </message> <message> - <location filename="../playlist.cpp" line="162"/> + <location filename="../playlist.cpp" line="177"/> <source>U</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../playlist.cpp" line="226"/> - <location filename="../playlist.cpp" line="261"/> + <location filename="../playlist.cpp" line="239"/> + <location filename="../playlist.cpp" line="273"/> <source>By Track Number</source> <translation>По номеру трека</translation> </message> <message> - <location filename="../playlist.cpp" line="280"/> + <location filename="../playlist.cpp" line="291"/> <source>&Queue</source> <translation>&В очередь</translation> </message> <message> - <location filename="../playlist.cpp" line="280"/> + <location filename="../playlist.cpp" line="291"/> <source>Q</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../playlist.cpp" line="277"/> + <location filename="../playlist.cpp" line="288"/> <source>Actions</source> <translation>Действия</translation> </message> diff --git a/src/ui/translations/qmmp_tr.ts b/src/ui/translations/qmmp_tr.ts index 2e6d04b6c..58cfdc258 100644 --- a/src/ui/translations/qmmp_tr.ts +++ b/src/ui/translations/qmmp_tr.ts @@ -615,14 +615,14 @@ <name>JumpToTrackDialog</name> <message> <location filename="../jumptotrackdialog.cpp" line="81"/> - <location filename="../jumptotrackdialog.cpp" line="137"/> + <location filename="../jumptotrackdialog.cpp" line="132"/> <source>Unqueue</source> <translation>Kuyrukta Değil</translation> </message> <message> <location filename="../forms/jumptotrackdialog.ui" line="79"/> <location filename="../jumptotrackdialog.cpp" line="83"/> - <location filename="../jumptotrackdialog.cpp" line="139"/> + <location filename="../jumptotrackdialog.cpp" line="134"/> <source>Queue</source> <translation>Kuyruk</translation> </message> @@ -851,174 +851,168 @@ <context> <name>MainWindow</name> <message> - <location filename="../mainwindow.cpp" line="64"/> - <location filename="../mainwindow.cpp" line="483"/> - <source>Default</source> - <translation>Öntanımlı</translation> - </message> - <message> - <location filename="../mainwindow.cpp" line="274"/> + <location filename="../mainwindow.cpp" line="266"/> <source>Choose a directory</source> <translation>Bir dizin seçin</translation> </message> <message> - <location filename="../mainwindow.cpp" line="285"/> + <location filename="../mainwindow.cpp" line="277"/> <source>Select one or more files to open</source> <translation>Açmak için bir yada daha çok dosya seçin</translation> </message> <message> - <location filename="../mainwindow.cpp" line="420"/> + <location filename="../mainwindow.cpp" line="391"/> <source>&Play</source> <translation>&Çal</translation> </message> <message> - <location filename="../mainwindow.cpp" line="420"/> + <location filename="../mainwindow.cpp" line="391"/> <source>X</source> <translation>X</translation> </message> <message> - <location filename="../mainwindow.cpp" line="421"/> + <location filename="../mainwindow.cpp" line="392"/> <source>&Pause</source> <translation>&Duraklat</translation> </message> <message> - <location filename="../mainwindow.cpp" line="421"/> + <location filename="../mainwindow.cpp" line="392"/> <source>C</source> <translation>C</translation> </message> <message> - <location filename="../mainwindow.cpp" line="422"/> + <location filename="../mainwindow.cpp" line="393"/> <source>&Stop</source> <translation>&Durdur</translation> </message> <message> - <location filename="../mainwindow.cpp" line="422"/> + <location filename="../mainwindow.cpp" line="393"/> <source>V</source> <translation>V</translation> </message> <message> - <location filename="../mainwindow.cpp" line="423"/> + <location filename="../mainwindow.cpp" line="394"/> <source>&Previous</source> <translation>&Önceki</translation> </message> <message> - <location filename="../mainwindow.cpp" line="423"/> + <location filename="../mainwindow.cpp" line="394"/> <source>Z</source> <translation>Z</translation> </message> <message> - <location filename="../mainwindow.cpp" line="424"/> + <location filename="../mainwindow.cpp" line="395"/> <source>&Next</source> <translation>&Sonraki</translation> </message> <message> - <location filename="../mainwindow.cpp" line="424"/> + <location filename="../mainwindow.cpp" line="395"/> <source>B</source> <translation>B</translation> </message> <message> - <location filename="../mainwindow.cpp" line="443"/> + <location filename="../mainwindow.cpp" line="414"/> <source>&Jump To File</source> <translation>&Parçaya Git</translation> </message> <message> - <location filename="../mainwindow.cpp" line="443"/> + <location filename="../mainwindow.cpp" line="414"/> <source>J</source> <translation>J</translation> </message> <message> - <location filename="../mainwindow.cpp" line="449"/> + <location filename="../mainwindow.cpp" line="420"/> <source>&Settings</source> <translation>&Ayarlar</translation> </message> <message> - <location filename="../mainwindow.cpp" line="449"/> + <location filename="../mainwindow.cpp" line="420"/> <source>Ctrl+P</source> <translation>Ctrl+P</translation> </message> <message> - <location filename="../mainwindow.cpp" line="455"/> + <location filename="../mainwindow.cpp" line="426"/> <source>&Exit</source> <translation>&Çıkış</translation> </message> <message> - <location filename="../mainwindow.cpp" line="455"/> + <location filename="../mainwindow.cpp" line="426"/> <source>Ctrl+Q</source> <translation>Ctrl+Q</translation> </message> <message> - <location filename="../mainwindow.cpp" line="497"/> + <location filename="../mainwindow.cpp" line="462"/> <source>Open Playlist</source> <translation>Çalma Listesini Aç</translation> </message> <message> - <location filename="../mainwindow.cpp" line="522"/> + <location filename="../mainwindow.cpp" line="487"/> <source>Save Playlist</source> <translation>Çalma Listesini Kaydet</translation> </message> <message> - <location filename="../mainwindow.cpp" line="451"/> + <location filename="../mainwindow.cpp" line="422"/> <source>&About</source> <translation>&Hakkında</translation> </message> <message> - <location filename="../mainwindow.cpp" line="495"/> - <location filename="../mainwindow.cpp" line="521"/> + <location filename="../mainwindow.cpp" line="460"/> + <location filename="../mainwindow.cpp" line="486"/> <source>Playlist Files</source> <translation>Çalma Listesi Dosyaları</translation> </message> <message> - <location filename="../mainwindow.cpp" line="425"/> + <location filename="../mainwindow.cpp" line="396"/> <source>Space</source> <translation>Boşluk</translation> </message> <message> - <location filename="../mainwindow.cpp" line="452"/> + <location filename="../mainwindow.cpp" line="423"/> <source>&About Qt</source> <translation>&Qt Hakkında</translation> </message> <message> - <location filename="../mainwindow.cpp" line="425"/> + <location filename="../mainwindow.cpp" line="396"/> <source>&Play/Pause</source> <translation>&Oynat/Duraklat</translation> </message> <message> - <location filename="../mainwindow.cpp" line="280"/> + <location filename="../mainwindow.cpp" line="272"/> <source>All Supported Bitstreams</source> <translation>Tüm Desteklenen Bitstreamler</translation> </message> <message> - <location filename="../mainwindow.cpp" line="428"/> + <location filename="../mainwindow.cpp" line="399"/> <source>&Repeat Track</source> <translation>&Parçayı Yinele</translation> </message> <message> - <location filename="../mainwindow.cpp" line="429"/> + <location filename="../mainwindow.cpp" line="400"/> <source>&Shuffle</source> <translation>&Rastgele</translation> </message> <message> - <location filename="../mainwindow.cpp" line="433"/> + <location filename="../mainwindow.cpp" line="404"/> <source>R</source> <translation>R</translation> </message> <message> - <location filename="../mainwindow.cpp" line="434"/> + <location filename="../mainwindow.cpp" line="405"/> <source>Ctrl+R</source> <translation>Ctrl+R</translation> </message> <message> - <location filename="../mainwindow.cpp" line="435"/> + <location filename="../mainwindow.cpp" line="406"/> <source>S</source> <translation>S</translation> </message> <message> - <location filename="../mainwindow.cpp" line="427"/> + <location filename="../mainwindow.cpp" line="398"/> <source>&Repeat Playlist</source> <translation>&Çalma Listesini Yinele</translation> </message> <message> - <location filename="../mainwindow.cpp" line="447"/> + <location filename="../mainwindow.cpp" line="418"/> <source>Tools</source> <translation>Araçlar</translation> </message> @@ -1026,194 +1020,209 @@ <context> <name>PlayList</name> <message> - <location filename="../playlist.cpp" line="150"/> + <location filename="../playlist.cpp" line="165"/> <source>F</source> <translation>F</translation> </message> <message> - <location filename="../playlist.cpp" line="156"/> + <location filename="../playlist.cpp" line="171"/> <source>D</source> <translation>D</translation> </message> <message> - <location filename="../playlist.cpp" line="191"/> + <location filename="../playlist.cpp" line="204"/> <source>Alt+I</source> <translation>Alt+I</translation> </message> <message> - <location filename="../playlist.cpp" line="299"/> + <location filename="../playlist.cpp" line="308"/> <source>Ctrl+A</source> <translation>Ctrl+A</translation> </message> <message> - <location filename="../playlist.cpp" line="315"/> + <location filename="../playlist.cpp" line="327"/> <source>O</source> <translation>O</translation> </message> <message> - <location filename="../playlist.cpp" line="149"/> + <location filename="../playlist.cpp" line="164"/> <source>&Add File</source> <translation>&Dosya Ekle</translation> </message> <message> - <location filename="../playlist.cpp" line="155"/> + <location filename="../playlist.cpp" line="170"/> <source>&Add Directory</source> <translation>&Dizin Ekle</translation> </message> <message> - <location filename="../playlist.cpp" line="168"/> + <location filename="../playlist.cpp" line="183"/> <source>&Remove Selected</source> <translation>&Seçileni Kaldır</translation> </message> <message> - <location filename="../playlist.cpp" line="175"/> + <location filename="../playlist.cpp" line="189"/> <source>&Remove All</source> <translation>&Hepsini Kaldır</translation> </message> <message> - <location filename="../playlist.cpp" line="181"/> + <location filename="../playlist.cpp" line="195"/> <source>&Remove Unselected</source> <translation>&Seçilmemişleri Kaldır</translation> </message> <message> - <location filename="../playlist.cpp" line="187"/> + <location filename="../playlist.cpp" line="200"/> <source>Remove unavailable files</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../playlist.cpp" line="190"/> + <location filename="../playlist.cpp" line="203"/> <source>&View Track Details</source> <translation>&Parça Detaylarını Göster</translation> </message> <message> - <location filename="../playlist.cpp" line="199"/> + <location filename="../playlist.cpp" line="212"/> <source>Sort List</source> <translation>Listeyi Sınıflandır</translation> </message> <message> - <location filename="../playlist.cpp" line="202"/> - <location filename="../playlist.cpp" line="237"/> + <location filename="../playlist.cpp" line="215"/> + <location filename="../playlist.cpp" line="249"/> <source>By Title</source> <translation>Başlığa Göre</translation> </message> <message> - <location filename="../playlist.cpp" line="206"/> - <location filename="../playlist.cpp" line="241"/> + <location filename="../playlist.cpp" line="219"/> + <location filename="../playlist.cpp" line="253"/> <source>By Album</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../playlist.cpp" line="210"/> - <location filename="../playlist.cpp" line="245"/> + <location filename="../playlist.cpp" line="223"/> + <location filename="../playlist.cpp" line="257"/> <source>By Artist</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../playlist.cpp" line="214"/> - <location filename="../playlist.cpp" line="249"/> + <location filename="../playlist.cpp" line="227"/> + <location filename="../playlist.cpp" line="261"/> <source>By Filename</source> <translation>Dosya Adına Göre</translation> </message> <message> - <location filename="../playlist.cpp" line="218"/> - <location filename="../playlist.cpp" line="253"/> + <location filename="../playlist.cpp" line="231"/> + <location filename="../playlist.cpp" line="265"/> <source>By Path + Filename</source> <translation>Dosya Yolu + Dosya Adına Göre</translation> </message> <message> - <location filename="../playlist.cpp" line="222"/> - <location filename="../playlist.cpp" line="257"/> + <location filename="../playlist.cpp" line="235"/> + <location filename="../playlist.cpp" line="269"/> <source>By Date</source> <translation>Tarihe Göre</translation> </message> <message> - <location filename="../playlist.cpp" line="235"/> + <location filename="../playlist.cpp" line="247"/> <source>Sort Selection</source> <translation>Seçilenleri Sınıflandır</translation> </message> <message> - <location filename="../playlist.cpp" line="271"/> + <location filename="../playlist.cpp" line="282"/> <source>Randomize List</source> <translation>Rastgele Listele</translation> </message> <message> - <location filename="../playlist.cpp" line="272"/> + <location filename="../playlist.cpp" line="283"/> <source>Reverse List</source> <translation>Listeyi Ters Çevir</translation> </message> <message> - <location filename="../playlist.cpp" line="284"/> + <location filename="../playlist.cpp" line="295"/> <source>Invert Selection</source> <translation>Seçimi Tersine Çevir</translation> </message> <message> - <location filename="../playlist.cpp" line="291"/> + <location filename="../playlist.cpp" line="301"/> <source>&Select None</source> <translation>&Hiçbirini Seçme</translation> </message> <message> - <location filename="../playlist.cpp" line="298"/> + <location filename="../playlist.cpp" line="302"/> + <source>Shift+A</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../playlist.cpp" line="307"/> <source>&Select All</source> <translation>&Tümünü Seç</translation> </message> <message> - <location filename="../playlist.cpp" line="307"/> + <location filename="../playlist.cpp" line="314"/> <source>&New List</source> <translation>&Yeni Liste</translation> </message> <message> - <location filename="../playlist.cpp" line="308"/> + <location filename="../playlist.cpp" line="315"/> <source>Shift+N</source> <translation>Shift+N</translation> </message> <message> - <location filename="../playlist.cpp" line="314"/> + <location filename="../playlist.cpp" line="319"/> + <source>&Delete List</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../playlist.cpp" line="320"/> + <source>Shift+D</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../playlist.cpp" line="326"/> <source>&Load List</source> <translation>&Liste Yükle</translation> </message> <message> - <location filename="../playlist.cpp" line="320"/> + <location filename="../playlist.cpp" line="332"/> <source>&Save List</source> <translation>&Listeyi Kaydet</translation> </message> <message> - <location filename="../playlist.cpp" line="321"/> + <location filename="../playlist.cpp" line="333"/> <source>Shift+S</source> <translation>Shift+S</translation> </message> <message> - <location filename="../playlist.cpp" line="169"/> + <location filename="../playlist.cpp" line="184"/> <source>Del</source> <translation>Del</translation> </message> <message> - <location filename="../playlist.cpp" line="161"/> + <location filename="../playlist.cpp" line="176"/> <source>&Add Url</source> <translation>&Url Ekle</translation> </message> <message> - <location filename="../playlist.cpp" line="162"/> + <location filename="../playlist.cpp" line="177"/> <source>U</source> <translation>U</translation> </message> <message> - <location filename="../playlist.cpp" line="226"/> - <location filename="../playlist.cpp" line="261"/> + <location filename="../playlist.cpp" line="239"/> + <location filename="../playlist.cpp" line="273"/> <source>By Track Number</source> <translation>Parça Numarasına Göre</translation> </message> <message> - <location filename="../playlist.cpp" line="280"/> + <location filename="../playlist.cpp" line="291"/> <source>&Queue</source> <translation>&Kuyruğa ekle</translation> </message> <message> - <location filename="../playlist.cpp" line="280"/> + <location filename="../playlist.cpp" line="291"/> <source>Q</source> <translation>Q</translation> </message> <message> - <location filename="../playlist.cpp" line="277"/> + <location filename="../playlist.cpp" line="288"/> <source>Actions</source> <translation>Eylemler</translation> </message> diff --git a/src/ui/translations/qmmp_uk_UA.ts b/src/ui/translations/qmmp_uk_UA.ts index 395908d87..fbc46944e 100644 --- a/src/ui/translations/qmmp_uk_UA.ts +++ b/src/ui/translations/qmmp_uk_UA.ts @@ -615,14 +615,14 @@ <name>JumpToTrackDialog</name> <message> <location filename="../jumptotrackdialog.cpp" line="81"/> - <location filename="../jumptotrackdialog.cpp" line="137"/> + <location filename="../jumptotrackdialog.cpp" line="132"/> <source>Unqueue</source> <translation>Зняти з черги</translation> </message> <message> <location filename="../forms/jumptotrackdialog.ui" line="79"/> <location filename="../jumptotrackdialog.cpp" line="83"/> - <location filename="../jumptotrackdialog.cpp" line="139"/> + <location filename="../jumptotrackdialog.cpp" line="134"/> <source>Queue</source> <translation>В чергу</translation> </message> @@ -851,174 +851,168 @@ <context> <name>MainWindow</name> <message> - <location filename="../mainwindow.cpp" line="64"/> - <location filename="../mainwindow.cpp" line="483"/> - <source>Default</source> - <translation>За умовчанням</translation> - </message> - <message> - <location filename="../mainwindow.cpp" line="274"/> + <location filename="../mainwindow.cpp" line="266"/> <source>Choose a directory</source> <translation>Виберіть теку</translation> </message> <message> - <location filename="../mainwindow.cpp" line="285"/> + <location filename="../mainwindow.cpp" line="277"/> <source>Select one or more files to open</source> <translation>Виберіть один чи кілька файлів</translation> </message> <message> - <location filename="../mainwindow.cpp" line="420"/> + <location filename="../mainwindow.cpp" line="391"/> <source>&Play</source> <translation>&Відтворити</translation> </message> <message> - <location filename="../mainwindow.cpp" line="420"/> + <location filename="../mainwindow.cpp" line="391"/> <source>X</source> <translation></translation> </message> <message> - <location filename="../mainwindow.cpp" line="421"/> + <location filename="../mainwindow.cpp" line="392"/> <source>&Pause</source> <translation>&Пауза</translation> </message> <message> - <location filename="../mainwindow.cpp" line="421"/> + <location filename="../mainwindow.cpp" line="392"/> <source>C</source> <translation></translation> </message> <message> - <location filename="../mainwindow.cpp" line="422"/> + <location filename="../mainwindow.cpp" line="393"/> <source>&Stop</source> <translation>&Стоп</translation> </message> <message> - <location filename="../mainwindow.cpp" line="422"/> + <location filename="../mainwindow.cpp" line="393"/> <source>V</source> <translation></translation> </message> <message> - <location filename="../mainwindow.cpp" line="423"/> + <location filename="../mainwindow.cpp" line="394"/> <source>&Previous</source> <translation>&Назад</translation> </message> <message> - <location filename="../mainwindow.cpp" line="423"/> + <location filename="../mainwindow.cpp" line="394"/> <source>Z</source> <translation></translation> </message> <message> - <location filename="../mainwindow.cpp" line="424"/> + <location filename="../mainwindow.cpp" line="395"/> <source>&Next</source> <translation>&Вперед</translation> </message> <message> - <location filename="../mainwindow.cpp" line="424"/> + <location filename="../mainwindow.cpp" line="395"/> <source>B</source> <translation></translation> </message> <message> - <location filename="../mainwindow.cpp" line="443"/> + <location filename="../mainwindow.cpp" line="414"/> <source>&Jump To File</source> <translation>&Перейти до файлу</translation> </message> <message> - <location filename="../mainwindow.cpp" line="443"/> + <location filename="../mainwindow.cpp" line="414"/> <source>J</source> <translation></translation> </message> <message> - <location filename="../mainwindow.cpp" line="449"/> + <location filename="../mainwindow.cpp" line="420"/> <source>&Settings</source> <translation>&Налаштування</translation> </message> <message> - <location filename="../mainwindow.cpp" line="449"/> + <location filename="../mainwindow.cpp" line="420"/> <source>Ctrl+P</source> <translation></translation> </message> <message> - <location filename="../mainwindow.cpp" line="455"/> + <location filename="../mainwindow.cpp" line="426"/> <source>&Exit</source> <translation>&Вихід</translation> </message> <message> - <location filename="../mainwindow.cpp" line="455"/> + <location filename="../mainwindow.cpp" line="426"/> <source>Ctrl+Q</source> <translation></translation> </message> <message> - <location filename="../mainwindow.cpp" line="497"/> + <location filename="../mainwindow.cpp" line="462"/> <source>Open Playlist</source> <translation>Відкрити список</translation> </message> <message> - <location filename="../mainwindow.cpp" line="522"/> + <location filename="../mainwindow.cpp" line="487"/> <source>Save Playlist</source> <translation>Зберегти список</translation> </message> <message> - <location filename="../mainwindow.cpp" line="451"/> + <location filename="../mainwindow.cpp" line="422"/> <source>&About</source> <translation>&Про програму</translation> </message> <message> - <location filename="../mainwindow.cpp" line="495"/> - <location filename="../mainwindow.cpp" line="521"/> + <location filename="../mainwindow.cpp" line="460"/> + <location filename="../mainwindow.cpp" line="486"/> <source>Playlist Files</source> <translation>Файли списків</translation> </message> <message> - <location filename="../mainwindow.cpp" line="425"/> + <location filename="../mainwindow.cpp" line="396"/> <source>Space</source> <translation></translation> </message> <message> - <location filename="../mainwindow.cpp" line="452"/> + <location filename="../mainwindow.cpp" line="423"/> <source>&About Qt</source> <translation>&Про Qt</translation> </message> <message> - <location filename="../mainwindow.cpp" line="425"/> + <location filename="../mainwindow.cpp" line="396"/> <source>&Play/Pause</source> <translation>&Грати/Пауза</translation> </message> <message> - <location filename="../mainwindow.cpp" line="280"/> + <location filename="../mainwindow.cpp" line="272"/> <source>All Supported Bitstreams</source> <translation>Усі формати</translation> </message> <message> - <location filename="../mainwindow.cpp" line="428"/> + <location filename="../mainwindow.cpp" line="399"/> <source>&Repeat Track</source> <translation>&Повторити трек</translation> </message> <message> - <location filename="../mainwindow.cpp" line="429"/> + <location filename="../mainwindow.cpp" line="400"/> <source>&Shuffle</source> <translation>&Перемішати</translation> </message> <message> - <location filename="../mainwindow.cpp" line="433"/> + <location filename="../mainwindow.cpp" line="404"/> <source>R</source> <translation></translation> </message> <message> - <location filename="../mainwindow.cpp" line="434"/> + <location filename="../mainwindow.cpp" line="405"/> <source>Ctrl+R</source> <translation></translation> </message> <message> - <location filename="../mainwindow.cpp" line="435"/> + <location filename="../mainwindow.cpp" line="406"/> <source>S</source> <translation></translation> </message> <message> - <location filename="../mainwindow.cpp" line="427"/> + <location filename="../mainwindow.cpp" line="398"/> <source>&Repeat Playlist</source> <translation>&Повторити список</translation> </message> <message> - <location filename="../mainwindow.cpp" line="447"/> + <location filename="../mainwindow.cpp" line="418"/> <source>Tools</source> <translation>Утиліти</translation> </message> @@ -1026,194 +1020,209 @@ <context> <name>PlayList</name> <message> - <location filename="../playlist.cpp" line="150"/> + <location filename="../playlist.cpp" line="165"/> <source>F</source> <translation></translation> </message> <message> - <location filename="../playlist.cpp" line="156"/> + <location filename="../playlist.cpp" line="171"/> <source>D</source> <translation></translation> </message> <message> - <location filename="../playlist.cpp" line="191"/> + <location filename="../playlist.cpp" line="204"/> <source>Alt+I</source> <translation></translation> </message> <message> - <location filename="../playlist.cpp" line="299"/> + <location filename="../playlist.cpp" line="308"/> <source>Ctrl+A</source> <translation></translation> </message> <message> - <location filename="../playlist.cpp" line="315"/> + <location filename="../playlist.cpp" line="327"/> <source>O</source> <translation></translation> </message> <message> - <location filename="../playlist.cpp" line="149"/> + <location filename="../playlist.cpp" line="164"/> <source>&Add File</source> <translation>&Додати файл</translation> </message> <message> - <location filename="../playlist.cpp" line="155"/> + <location filename="../playlist.cpp" line="170"/> <source>&Add Directory</source> <translation>&Додати теку</translation> </message> <message> - <location filename="../playlist.cpp" line="168"/> + <location filename="../playlist.cpp" line="183"/> <source>&Remove Selected</source> <translation>&Видалити вибране</translation> </message> <message> - <location filename="../playlist.cpp" line="175"/> + <location filename="../playlist.cpp" line="189"/> <source>&Remove All</source> <translation>&Видалити все</translation> </message> <message> - <location filename="../playlist.cpp" line="181"/> + <location filename="../playlist.cpp" line="195"/> <source>&Remove Unselected</source> <translation>&Видалити не вибране</translation> </message> <message> - <location filename="../playlist.cpp" line="187"/> + <location filename="../playlist.cpp" line="200"/> <source>Remove unavailable files</source> <translation>Видалити недоступні файли</translation> </message> <message> - <location filename="../playlist.cpp" line="190"/> + <location filename="../playlist.cpp" line="203"/> <source>&View Track Details</source> <translation>&Інформація</translation> </message> <message> - <location filename="../playlist.cpp" line="199"/> + <location filename="../playlist.cpp" line="212"/> <source>Sort List</source> <translation>Сортувати</translation> </message> <message> - <location filename="../playlist.cpp" line="202"/> - <location filename="../playlist.cpp" line="237"/> + <location filename="../playlist.cpp" line="215"/> + <location filename="../playlist.cpp" line="249"/> <source>By Title</source> <translation>За назвою</translation> </message> <message> - <location filename="../playlist.cpp" line="206"/> - <location filename="../playlist.cpp" line="241"/> + <location filename="../playlist.cpp" line="219"/> + <location filename="../playlist.cpp" line="253"/> <source>By Album</source> <translation>За альбомом</translation> </message> <message> - <location filename="../playlist.cpp" line="210"/> - <location filename="../playlist.cpp" line="245"/> + <location filename="../playlist.cpp" line="223"/> + <location filename="../playlist.cpp" line="257"/> <source>By Artist</source> <translation>За артистом</translation> </message> <message> - <location filename="../playlist.cpp" line="214"/> - <location filename="../playlist.cpp" line="249"/> + <location filename="../playlist.cpp" line="227"/> + <location filename="../playlist.cpp" line="261"/> <source>By Filename</source> <translation>За ім'ям файлу</translation> </message> <message> - <location filename="../playlist.cpp" line="218"/> - <location filename="../playlist.cpp" line="253"/> + <location filename="../playlist.cpp" line="231"/> + <location filename="../playlist.cpp" line="265"/> <source>By Path + Filename</source> <translation>За шляхом та файлом</translation> </message> <message> - <location filename="../playlist.cpp" line="222"/> - <location filename="../playlist.cpp" line="257"/> + <location filename="../playlist.cpp" line="235"/> + <location filename="../playlist.cpp" line="269"/> <source>By Date</source> <translation>За датою</translation> </message> <message> - <location filename="../playlist.cpp" line="235"/> + <location filename="../playlist.cpp" line="247"/> <source>Sort Selection</source> <translation>Сортувати вибране</translation> </message> <message> - <location filename="../playlist.cpp" line="271"/> + <location filename="../playlist.cpp" line="282"/> <source>Randomize List</source> <translation>Перемішати</translation> </message> <message> - <location filename="../playlist.cpp" line="272"/> + <location filename="../playlist.cpp" line="283"/> <source>Reverse List</source> <translation>Перевернути</translation> </message> <message> - <location filename="../playlist.cpp" line="284"/> + <location filename="../playlist.cpp" line="295"/> <source>Invert Selection</source> <translation>Інвертувати вибране</translation> </message> <message> - <location filename="../playlist.cpp" line="291"/> + <location filename="../playlist.cpp" line="301"/> <source>&Select None</source> <translation>&Зняти виділення</translation> </message> <message> - <location filename="../playlist.cpp" line="298"/> + <location filename="../playlist.cpp" line="302"/> + <source>Shift+A</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../playlist.cpp" line="307"/> <source>&Select All</source> <translation>&Вибрати все</translation> </message> <message> - <location filename="../playlist.cpp" line="307"/> + <location filename="../playlist.cpp" line="314"/> <source>&New List</source> <translation>&Новий список</translation> </message> <message> - <location filename="../playlist.cpp" line="308"/> + <location filename="../playlist.cpp" line="315"/> <source>Shift+N</source> <translation></translation> </message> <message> - <location filename="../playlist.cpp" line="314"/> + <location filename="../playlist.cpp" line="319"/> + <source>&Delete List</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../playlist.cpp" line="320"/> + <source>Shift+D</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../playlist.cpp" line="326"/> <source>&Load List</source> <translation>&Завантажити список</translation> </message> <message> - <location filename="../playlist.cpp" line="320"/> + <location filename="../playlist.cpp" line="332"/> <source>&Save List</source> <translation>&Зберегти список</translation> </message> <message> - <location filename="../playlist.cpp" line="321"/> + <location filename="../playlist.cpp" line="333"/> <source>Shift+S</source> <translation></translation> </message> <message> - <location filename="../playlist.cpp" line="169"/> + <location filename="../playlist.cpp" line="184"/> <source>Del</source> <translation></translation> </message> <message> - <location filename="../playlist.cpp" line="161"/> + <location filename="../playlist.cpp" line="176"/> <source>&Add Url</source> <translation>&Додати адресу</translation> </message> <message> - <location filename="../playlist.cpp" line="162"/> + <location filename="../playlist.cpp" line="177"/> <source>U</source> <translation></translation> </message> <message> - <location filename="../playlist.cpp" line="226"/> - <location filename="../playlist.cpp" line="261"/> + <location filename="../playlist.cpp" line="239"/> + <location filename="../playlist.cpp" line="273"/> <source>By Track Number</source> <translation></translation> </message> <message> - <location filename="../playlist.cpp" line="280"/> + <location filename="../playlist.cpp" line="291"/> <source>&Queue</source> <translation>&В чергу</translation> </message> <message> - <location filename="../playlist.cpp" line="280"/> + <location filename="../playlist.cpp" line="291"/> <source>Q</source> <translation></translation> </message> <message> - <location filename="../playlist.cpp" line="277"/> + <location filename="../playlist.cpp" line="288"/> <source>Actions</source> <translation>Дії</translation> </message> diff --git a/src/ui/translations/qmmp_zh_CN.ts b/src/ui/translations/qmmp_zh_CN.ts index 370b6a017..44fd0082a 100644 --- a/src/ui/translations/qmmp_zh_CN.ts +++ b/src/ui/translations/qmmp_zh_CN.ts @@ -615,14 +615,14 @@ <name>JumpToTrackDialog</name> <message> <location filename="../jumptotrackdialog.cpp" line="81"/> - <location filename="../jumptotrackdialog.cpp" line="137"/> + <location filename="../jumptotrackdialog.cpp" line="132"/> <source>Unqueue</source> <translation>移出队列</translation> </message> <message> <location filename="../forms/jumptotrackdialog.ui" line="79"/> <location filename="../jumptotrackdialog.cpp" line="83"/> - <location filename="../jumptotrackdialog.cpp" line="139"/> + <location filename="../jumptotrackdialog.cpp" line="134"/> <source>Queue</source> <translation>加入队列</translation> </message> @@ -851,174 +851,168 @@ <context> <name>MainWindow</name> <message> - <location filename="../mainwindow.cpp" line="64"/> - <location filename="../mainwindow.cpp" line="483"/> - <source>Default</source> - <translation>默认</translation> - </message> - <message> - <location filename="../mainwindow.cpp" line="274"/> + <location filename="../mainwindow.cpp" line="266"/> <source>Choose a directory</source> <translation>选择一个目录</translation> </message> <message> - <location filename="../mainwindow.cpp" line="285"/> + <location filename="../mainwindow.cpp" line="277"/> <source>Select one or more files to open</source> <translation>选择打开一个或更多文件</translation> </message> <message> - <location filename="../mainwindow.cpp" line="420"/> + <location filename="../mainwindow.cpp" line="391"/> <source>&Play</source> <translation>播放(&P)</translation> </message> <message> - <location filename="../mainwindow.cpp" line="420"/> + <location filename="../mainwindow.cpp" line="391"/> <source>X</source> <translation>X</translation> </message> <message> - <location filename="../mainwindow.cpp" line="421"/> + <location filename="../mainwindow.cpp" line="392"/> <source>&Pause</source> <translation>暂停(&P)</translation> </message> <message> - <location filename="../mainwindow.cpp" line="421"/> + <location filename="../mainwindow.cpp" line="392"/> <source>C</source> <translation>C</translation> </message> <message> - <location filename="../mainwindow.cpp" line="422"/> + <location filename="../mainwindow.cpp" line="393"/> <source>&Stop</source> <translation>停止(&S)</translation> </message> <message> - <location filename="../mainwindow.cpp" line="422"/> + <location filename="../mainwindow.cpp" line="393"/> <source>V</source> <translation>V</translation> </message> <message> - <location filename="../mainwindow.cpp" line="423"/> + <location filename="../mainwindow.cpp" line="394"/> <source>&Previous</source> <translation>上一曲(&P)</translation> </message> <message> - <location filename="../mainwindow.cpp" line="423"/> + <location filename="../mainwindow.cpp" line="394"/> <source>Z</source> <translation>Z</translation> </message> <message> - <location filename="../mainwindow.cpp" line="424"/> + <location filename="../mainwindow.cpp" line="395"/> <source>&Next</source> <translation>下一曲(&N)</translation> </message> <message> - <location filename="../mainwindow.cpp" line="424"/> + <location filename="../mainwindow.cpp" line="395"/> <source>B</source> <translation>B</translation> </message> <message> - <location filename="../mainwindow.cpp" line="443"/> + <location filename="../mainwindow.cpp" line="414"/> <source>&Jump To File</source> <translation>跳到文件(&J)</translation> </message> <message> - <location filename="../mainwindow.cpp" line="443"/> + <location filename="../mainwindow.cpp" line="414"/> <source>J</source> <translation>J</translation> </message> <message> - <location filename="../mainwindow.cpp" line="449"/> + <location filename="../mainwindow.cpp" line="420"/> <source>&Settings</source> <translation>设置(&S)</translation> </message> <message> - <location filename="../mainwindow.cpp" line="449"/> + <location filename="../mainwindow.cpp" line="420"/> <source>Ctrl+P</source> <translation>Ctrl+P</translation> </message> <message> - <location filename="../mainwindow.cpp" line="455"/> + <location filename="../mainwindow.cpp" line="426"/> <source>&Exit</source> <translation>退出(&E)</translation> </message> <message> - <location filename="../mainwindow.cpp" line="455"/> + <location filename="../mainwindow.cpp" line="426"/> <source>Ctrl+Q</source> <translation>Ctrl+Q</translation> </message> <message> - <location filename="../mainwindow.cpp" line="497"/> + <location filename="../mainwindow.cpp" line="462"/> <source>Open Playlist</source> <translation>打开播放列表</translation> </message> <message> - <location filename="../mainwindow.cpp" line="522"/> + <location filename="../mainwindow.cpp" line="487"/> <source>Save Playlist</source> <translation>保存播放列表</translation> </message> <message> - <location filename="../mainwindow.cpp" line="451"/> + <location filename="../mainwindow.cpp" line="422"/> <source>&About</source> <translation>关于(&A)</translation> </message> <message> - <location filename="../mainwindow.cpp" line="495"/> - <location filename="../mainwindow.cpp" line="521"/> + <location filename="../mainwindow.cpp" line="460"/> + <location filename="../mainwindow.cpp" line="486"/> <source>Playlist Files</source> <translation>播放列表文件</translation> </message> <message> - <location filename="../mainwindow.cpp" line="425"/> + <location filename="../mainwindow.cpp" line="396"/> <source>Space</source> <translation>空格</translation> </message> <message> - <location filename="../mainwindow.cpp" line="452"/> + <location filename="../mainwindow.cpp" line="423"/> <source>&About Qt</source> <translation>关于 Qt (&A)</translation> </message> <message> - <location filename="../mainwindow.cpp" line="425"/> + <location filename="../mainwindow.cpp" line="396"/> <source>&Play/Pause</source> <translation>播放/暂停(&P)</translation> </message> <message> - <location filename="../mainwindow.cpp" line="280"/> + <location filename="../mainwindow.cpp" line="272"/> <source>All Supported Bitstreams</source> <translation>支持的全部文件</translation> </message> <message> - <location filename="../mainwindow.cpp" line="428"/> + <location filename="../mainwindow.cpp" line="399"/> <source>&Repeat Track</source> <translation>重复音轨(&R)</translation> </message> <message> - <location filename="../mainwindow.cpp" line="429"/> + <location filename="../mainwindow.cpp" line="400"/> <source>&Shuffle</source> <translation>乱序(&S)</translation> </message> <message> - <location filename="../mainwindow.cpp" line="433"/> + <location filename="../mainwindow.cpp" line="404"/> <source>R</source> <translation>R</translation> </message> <message> - <location filename="../mainwindow.cpp" line="434"/> + <location filename="../mainwindow.cpp" line="405"/> <source>Ctrl+R</source> <translation>Ctrl+R</translation> </message> <message> - <location filename="../mainwindow.cpp" line="435"/> + <location filename="../mainwindow.cpp" line="406"/> <source>S</source> <translation>S</translation> </message> <message> - <location filename="../mainwindow.cpp" line="427"/> + <location filename="../mainwindow.cpp" line="398"/> <source>&Repeat Playlist</source> <translation>重复播放列表(&R)</translation> </message> <message> - <location filename="../mainwindow.cpp" line="447"/> + <location filename="../mainwindow.cpp" line="418"/> <source>Tools</source> <translation>工具</translation> </message> @@ -1026,194 +1020,209 @@ <context> <name>PlayList</name> <message> - <location filename="../playlist.cpp" line="150"/> + <location filename="../playlist.cpp" line="165"/> <source>F</source> <translation>F</translation> </message> <message> - <location filename="../playlist.cpp" line="156"/> + <location filename="../playlist.cpp" line="171"/> <source>D</source> <translation>D</translation> </message> <message> - <location filename="../playlist.cpp" line="191"/> + <location filename="../playlist.cpp" line="204"/> <source>Alt+I</source> <translation>Alt+I</translation> </message> <message> - <location filename="../playlist.cpp" line="299"/> + <location filename="../playlist.cpp" line="308"/> <source>Ctrl+A</source> <translation>Ctrl+A</translation> </message> <message> - <location filename="../playlist.cpp" line="315"/> + <location filename="../playlist.cpp" line="327"/> <source>O</source> <translation>O</translation> </message> <message> - <location filename="../playlist.cpp" line="149"/> + <location filename="../playlist.cpp" line="164"/> <source>&Add File</source> <translation>添加文件(&A)</translation> </message> <message> - <location filename="../playlist.cpp" line="155"/> + <location filename="../playlist.cpp" line="170"/> <source>&Add Directory</source> <translation>添加文件夹(&A)</translation> </message> <message> - <location filename="../playlist.cpp" line="168"/> + <location filename="../playlist.cpp" line="183"/> <source>&Remove Selected</source> <translation>删除所选(&R)</translation> </message> <message> - <location filename="../playlist.cpp" line="175"/> + <location filename="../playlist.cpp" line="189"/> <source>&Remove All</source> <translation>删除全部(&R)</translation> </message> <message> - <location filename="../playlist.cpp" line="181"/> + <location filename="../playlist.cpp" line="195"/> <source>&Remove Unselected</source> <translation>删除未选(&R)</translation> </message> <message> - <location filename="../playlist.cpp" line="187"/> + <location filename="../playlist.cpp" line="200"/> <source>Remove unavailable files</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../playlist.cpp" line="190"/> + <location filename="../playlist.cpp" line="203"/> <source>&View Track Details</source> <translation>查看音轨详细信息(&V)</translation> </message> <message> - <location filename="../playlist.cpp" line="199"/> + <location filename="../playlist.cpp" line="212"/> <source>Sort List</source> <translation>列表排序</translation> </message> <message> - <location filename="../playlist.cpp" line="202"/> - <location filename="../playlist.cpp" line="237"/> + <location filename="../playlist.cpp" line="215"/> + <location filename="../playlist.cpp" line="249"/> <source>By Title</source> <translation>按标题</translation> </message> <message> - <location filename="../playlist.cpp" line="206"/> - <location filename="../playlist.cpp" line="241"/> + <location filename="../playlist.cpp" line="219"/> + <location filename="../playlist.cpp" line="253"/> <source>By Album</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../playlist.cpp" line="210"/> - <location filename="../playlist.cpp" line="245"/> + <location filename="../playlist.cpp" line="223"/> + <location filename="../playlist.cpp" line="257"/> <source>By Artist</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../playlist.cpp" line="214"/> - <location filename="../playlist.cpp" line="249"/> + <location filename="../playlist.cpp" line="227"/> + <location filename="../playlist.cpp" line="261"/> <source>By Filename</source> <translation>按文件名</translation> </message> <message> - <location filename="../playlist.cpp" line="218"/> - <location filename="../playlist.cpp" line="253"/> + <location filename="../playlist.cpp" line="231"/> + <location filename="../playlist.cpp" line="265"/> <source>By Path + Filename</source> <translation>按路径+文件名</translation> </message> <message> - <location filename="../playlist.cpp" line="222"/> - <location filename="../playlist.cpp" line="257"/> + <location filename="../playlist.cpp" line="235"/> + <location filename="../playlist.cpp" line="269"/> <source>By Date</source> <translation>按日期</translation> </message> <message> - <location filename="../playlist.cpp" line="235"/> + <location filename="../playlist.cpp" line="247"/> <source>Sort Selection</source> <translation>选择排序</translation> </message> <message> - <location filename="../playlist.cpp" line="271"/> + <location filename="../playlist.cpp" line="282"/> <source>Randomize List</source> <translation>随机产生列表</translation> </message> <message> - <location filename="../playlist.cpp" line="272"/> + <location filename="../playlist.cpp" line="283"/> <source>Reverse List</source> <translation>逆序列表</translation> </message> <message> - <location filename="../playlist.cpp" line="284"/> + <location filename="../playlist.cpp" line="295"/> <source>Invert Selection</source> <translation>反选</translation> </message> <message> - <location filename="../playlist.cpp" line="291"/> + <location filename="../playlist.cpp" line="301"/> <source>&Select None</source> <translation>无选择(&S)</translation> </message> <message> - <location filename="../playlist.cpp" line="298"/> + <location filename="../playlist.cpp" line="302"/> + <source>Shift+A</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../playlist.cpp" line="307"/> <source>&Select All</source> <translation>选择全部(&S)</translation> </message> <message> - <location filename="../playlist.cpp" line="307"/> + <location filename="../playlist.cpp" line="314"/> <source>&New List</source> <translation>新建列表(&N)</translation> </message> <message> - <location filename="../playlist.cpp" line="308"/> + <location filename="../playlist.cpp" line="315"/> <source>Shift+N</source> <translation>Shift+N</translation> </message> <message> - <location filename="../playlist.cpp" line="314"/> + <location filename="../playlist.cpp" line="319"/> + <source>&Delete List</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../playlist.cpp" line="320"/> + <source>Shift+D</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../playlist.cpp" line="326"/> <source>&Load List</source> <translation>载入列表(&L)</translation> </message> <message> - <location filename="../playlist.cpp" line="320"/> + <location filename="../playlist.cpp" line="332"/> <source>&Save List</source> <translation>保存列表(&S)</translation> </message> <message> - <location filename="../playlist.cpp" line="321"/> + <location filename="../playlist.cpp" line="333"/> <source>Shift+S</source> <translation>Shift+S</translation> </message> <message> - <location filename="../playlist.cpp" line="169"/> + <location filename="../playlist.cpp" line="184"/> <source>Del</source> <translation>Del</translation> </message> <message> - <location filename="../playlist.cpp" line="161"/> + <location filename="../playlist.cpp" line="176"/> <source>&Add Url</source> <translation>添加 URL (&A)</translation> </message> <message> - <location filename="../playlist.cpp" line="162"/> + <location filename="../playlist.cpp" line="177"/> <source>U</source> <translation>U</translation> </message> <message> - <location filename="../playlist.cpp" line="226"/> - <location filename="../playlist.cpp" line="261"/> + <location filename="../playlist.cpp" line="239"/> + <location filename="../playlist.cpp" line="273"/> <source>By Track Number</source> <translation>按音轨</translation> </message> <message> - <location filename="../playlist.cpp" line="280"/> + <location filename="../playlist.cpp" line="291"/> <source>&Queue</source> <translation>队列(&Q)</translation> </message> <message> - <location filename="../playlist.cpp" line="280"/> + <location filename="../playlist.cpp" line="291"/> <source>Q</source> <translation>Q</translation> </message> <message> - <location filename="../playlist.cpp" line="277"/> + <location filename="../playlist.cpp" line="288"/> <source>Actions</source> <translation>动作</translation> </message> diff --git a/src/ui/translations/qmmp_zh_TW.ts b/src/ui/translations/qmmp_zh_TW.ts index 9ea1a9df2..89a1e7abd 100644 --- a/src/ui/translations/qmmp_zh_TW.ts +++ b/src/ui/translations/qmmp_zh_TW.ts @@ -615,14 +615,14 @@ <name>JumpToTrackDialog</name> <message> <location filename="../jumptotrackdialog.cpp" line="81"/> - <location filename="../jumptotrackdialog.cpp" line="137"/> + <location filename="../jumptotrackdialog.cpp" line="132"/> <source>Unqueue</source> <translation>移出佇列</translation> </message> <message> <location filename="../forms/jumptotrackdialog.ui" line="79"/> <location filename="../jumptotrackdialog.cpp" line="83"/> - <location filename="../jumptotrackdialog.cpp" line="139"/> + <location filename="../jumptotrackdialog.cpp" line="134"/> <source>Queue</source> <translation>加入佇列</translation> </message> @@ -851,174 +851,168 @@ <context> <name>MainWindow</name> <message> - <location filename="../mainwindow.cpp" line="64"/> - <location filename="../mainwindow.cpp" line="483"/> - <source>Default</source> - <translation>預設</translation> - </message> - <message> - <location filename="../mainwindow.cpp" line="274"/> + <location filename="../mainwindow.cpp" line="266"/> <source>Choose a directory</source> <translation>選取一個目錄</translation> </message> <message> - <location filename="../mainwindow.cpp" line="285"/> + <location filename="../mainwindow.cpp" line="277"/> <source>Select one or more files to open</source> <translation>選取開啟一個或更多檔案</translation> </message> <message> - <location filename="../mainwindow.cpp" line="420"/> + <location filename="../mainwindow.cpp" line="391"/> <source>&Play</source> <translation>播放(&P)</translation> </message> <message> - <location filename="../mainwindow.cpp" line="420"/> + <location filename="../mainwindow.cpp" line="391"/> <source>X</source> <translation>X</translation> </message> <message> - <location filename="../mainwindow.cpp" line="421"/> + <location filename="../mainwindow.cpp" line="392"/> <source>&Pause</source> <translation>暫停(&P)</translation> </message> <message> - <location filename="../mainwindow.cpp" line="421"/> + <location filename="../mainwindow.cpp" line="392"/> <source>C</source> <translation>C</translation> </message> <message> - <location filename="../mainwindow.cpp" line="422"/> + <location filename="../mainwindow.cpp" line="393"/> <source>&Stop</source> <translation>停止(&S)</translation> </message> <message> - <location filename="../mainwindow.cpp" line="422"/> + <location filename="../mainwindow.cpp" line="393"/> <source>V</source> <translation>V</translation> </message> <message> - <location filename="../mainwindow.cpp" line="423"/> + <location filename="../mainwindow.cpp" line="394"/> <source>&Previous</source> <translation>上一曲(&P)</translation> </message> <message> - <location filename="../mainwindow.cpp" line="423"/> + <location filename="../mainwindow.cpp" line="394"/> <source>Z</source> <translation>Z</translation> </message> <message> - <location filename="../mainwindow.cpp" line="424"/> + <location filename="../mainwindow.cpp" line="395"/> <source>&Next</source> <translation>下一曲(&N)</translation> </message> <message> - <location filename="../mainwindow.cpp" line="424"/> + <location filename="../mainwindow.cpp" line="395"/> <source>B</source> <translation>B</translation> </message> <message> - <location filename="../mainwindow.cpp" line="443"/> + <location filename="../mainwindow.cpp" line="414"/> <source>&Jump To File</source> <translation>跳到檔案(&J)</translation> </message> <message> - <location filename="../mainwindow.cpp" line="443"/> + <location filename="../mainwindow.cpp" line="414"/> <source>J</source> <translation>J</translation> </message> <message> - <location filename="../mainwindow.cpp" line="449"/> + <location filename="../mainwindow.cpp" line="420"/> <source>&Settings</source> <translation>設定(&S)</translation> </message> <message> - <location filename="../mainwindow.cpp" line="449"/> + <location filename="../mainwindow.cpp" line="420"/> <source>Ctrl+P</source> <translation>Ctrl+P</translation> </message> <message> - <location filename="../mainwindow.cpp" line="455"/> + <location filename="../mainwindow.cpp" line="426"/> <source>&Exit</source> <translation>結束(&E)</translation> </message> <message> - <location filename="../mainwindow.cpp" line="455"/> + <location filename="../mainwindow.cpp" line="426"/> <source>Ctrl+Q</source> <translation>Ctrl+Q</translation> </message> <message> - <location filename="../mainwindow.cpp" line="497"/> + <location filename="../mainwindow.cpp" line="462"/> <source>Open Playlist</source> <translation>開啟播放清單</translation> </message> <message> - <location filename="../mainwindow.cpp" line="522"/> + <location filename="../mainwindow.cpp" line="487"/> <source>Save Playlist</source> <translation>儲存播放清單</translation> </message> <message> - <location filename="../mainwindow.cpp" line="451"/> + <location filename="../mainwindow.cpp" line="422"/> <source>&About</source> <translation>關於(&A)</translation> </message> <message> - <location filename="../mainwindow.cpp" line="495"/> - <location filename="../mainwindow.cpp" line="521"/> + <location filename="../mainwindow.cpp" line="460"/> + <location filename="../mainwindow.cpp" line="486"/> <source>Playlist Files</source> <translation>播放清單檔案</translation> </message> <message> - <location filename="../mainwindow.cpp" line="425"/> + <location filename="../mainwindow.cpp" line="396"/> <source>Space</source> <translation>空格</translation> </message> <message> - <location filename="../mainwindow.cpp" line="452"/> + <location filename="../mainwindow.cpp" line="423"/> <source>&About Qt</source> <translation>關於 Qt (&A)</translation> </message> <message> - <location filename="../mainwindow.cpp" line="425"/> + <location filename="../mainwindow.cpp" line="396"/> <source>&Play/Pause</source> <translation>播放/暫停(&P)</translation> </message> <message> - <location filename="../mainwindow.cpp" line="280"/> + <location filename="../mainwindow.cpp" line="272"/> <source>All Supported Bitstreams</source> <translation>支援的全部檔案</translation> </message> <message> - <location filename="../mainwindow.cpp" line="428"/> + <location filename="../mainwindow.cpp" line="399"/> <source>&Repeat Track</source> <translation>重復音軌(&R)</translation> </message> <message> - <location filename="../mainwindow.cpp" line="429"/> + <location filename="../mainwindow.cpp" line="400"/> <source>&Shuffle</source> <translation>亂序(&S)</translation> </message> <message> - <location filename="../mainwindow.cpp" line="433"/> + <location filename="../mainwindow.cpp" line="404"/> <source>R</source> <translation>R</translation> </message> <message> - <location filename="../mainwindow.cpp" line="434"/> + <location filename="../mainwindow.cpp" line="405"/> <source>Ctrl+R</source> <translation>Ctrl+R</translation> </message> <message> - <location filename="../mainwindow.cpp" line="435"/> + <location filename="../mainwindow.cpp" line="406"/> <source>S</source> <translation>S</translation> </message> <message> - <location filename="../mainwindow.cpp" line="427"/> + <location filename="../mainwindow.cpp" line="398"/> <source>&Repeat Playlist</source> <translation>重復播放清單(&R)</translation> </message> <message> - <location filename="../mainwindow.cpp" line="447"/> + <location filename="../mainwindow.cpp" line="418"/> <source>Tools</source> <translation>工具</translation> </message> @@ -1026,194 +1020,209 @@ <context> <name>PlayList</name> <message> - <location filename="../playlist.cpp" line="150"/> + <location filename="../playlist.cpp" line="165"/> <source>F</source> <translation>F</translation> </message> <message> - <location filename="../playlist.cpp" line="156"/> + <location filename="../playlist.cpp" line="171"/> <source>D</source> <translation>D</translation> </message> <message> - <location filename="../playlist.cpp" line="191"/> + <location filename="../playlist.cpp" line="204"/> <source>Alt+I</source> <translation>Alt+I</translation> </message> <message> - <location filename="../playlist.cpp" line="299"/> + <location filename="../playlist.cpp" line="308"/> <source>Ctrl+A</source> <translation>Ctrl+A</translation> </message> <message> - <location filename="../playlist.cpp" line="315"/> + <location filename="../playlist.cpp" line="327"/> <source>O</source> <translation>O</translation> </message> <message> - <location filename="../playlist.cpp" line="149"/> + <location filename="../playlist.cpp" line="164"/> <source>&Add File</source> <translation>添加檔案(&A)</translation> </message> <message> - <location filename="../playlist.cpp" line="155"/> + <location filename="../playlist.cpp" line="170"/> <source>&Add Directory</source> <translation>添加檔案夾(&A)</translation> </message> <message> - <location filename="../playlist.cpp" line="168"/> + <location filename="../playlist.cpp" line="183"/> <source>&Remove Selected</source> <translation>移除所選(&R)</translation> </message> <message> - <location filename="../playlist.cpp" line="175"/> + <location filename="../playlist.cpp" line="189"/> <source>&Remove All</source> <translation>移除全部(&R)</translation> </message> <message> - <location filename="../playlist.cpp" line="181"/> + <location filename="../playlist.cpp" line="195"/> <source>&Remove Unselected</source> <translation>移除未選(&R)</translation> </message> <message> - <location filename="../playlist.cpp" line="187"/> + <location filename="../playlist.cpp" line="200"/> <source>Remove unavailable files</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../playlist.cpp" line="190"/> + <location filename="../playlist.cpp" line="203"/> <source>&View Track Details</source> <translation>檢視音軌詳細資訊(&V)</translation> </message> <message> - <location filename="../playlist.cpp" line="199"/> + <location filename="../playlist.cpp" line="212"/> <source>Sort List</source> <translation>清單排序</translation> </message> <message> - <location filename="../playlist.cpp" line="202"/> - <location filename="../playlist.cpp" line="237"/> + <location filename="../playlist.cpp" line="215"/> + <location filename="../playlist.cpp" line="249"/> <source>By Title</source> <translation>按標題</translation> </message> <message> - <location filename="../playlist.cpp" line="206"/> - <location filename="../playlist.cpp" line="241"/> + <location filename="../playlist.cpp" line="219"/> + <location filename="../playlist.cpp" line="253"/> <source>By Album</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../playlist.cpp" line="210"/> - <location filename="../playlist.cpp" line="245"/> + <location filename="../playlist.cpp" line="223"/> + <location filename="../playlist.cpp" line="257"/> <source>By Artist</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../playlist.cpp" line="214"/> - <location filename="../playlist.cpp" line="249"/> + <location filename="../playlist.cpp" line="227"/> + <location filename="../playlist.cpp" line="261"/> <source>By Filename</source> <translation>按檔名</translation> </message> <message> - <location filename="../playlist.cpp" line="218"/> - <location filename="../playlist.cpp" line="253"/> + <location filename="../playlist.cpp" line="231"/> + <location filename="../playlist.cpp" line="265"/> <source>By Path + Filename</source> <translation>按路徑+檔名</translation> </message> <message> - <location filename="../playlist.cpp" line="222"/> - <location filename="../playlist.cpp" line="257"/> + <location filename="../playlist.cpp" line="235"/> + <location filename="../playlist.cpp" line="269"/> <source>By Date</source> <translation>按日期</translation> </message> <message> - <location filename="../playlist.cpp" line="235"/> + <location filename="../playlist.cpp" line="247"/> <source>Sort Selection</source> <translation>選取排序</translation> </message> <message> - <location filename="../playlist.cpp" line="271"/> + <location filename="../playlist.cpp" line="282"/> <source>Randomize List</source> <translation>隨機產生清單</translation> </message> <message> - <location filename="../playlist.cpp" line="272"/> + <location filename="../playlist.cpp" line="283"/> <source>Reverse List</source> <translation>逆串列表</translation> </message> <message> - <location filename="../playlist.cpp" line="284"/> + <location filename="../playlist.cpp" line="295"/> <source>Invert Selection</source> <translation>反選</translation> </message> <message> - <location filename="../playlist.cpp" line="291"/> + <location filename="../playlist.cpp" line="301"/> <source>&Select None</source> <translation>無選取(&S)</translation> </message> <message> - <location filename="../playlist.cpp" line="298"/> + <location filename="../playlist.cpp" line="302"/> + <source>Shift+A</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../playlist.cpp" line="307"/> <source>&Select All</source> <translation>選取全部(&S)</translation> </message> <message> - <location filename="../playlist.cpp" line="307"/> + <location filename="../playlist.cpp" line="314"/> <source>&New List</source> <translation>新建清單(&N)</translation> </message> <message> - <location filename="../playlist.cpp" line="308"/> + <location filename="../playlist.cpp" line="315"/> <source>Shift+N</source> <translation>Shift+N</translation> </message> <message> - <location filename="../playlist.cpp" line="314"/> + <location filename="../playlist.cpp" line="319"/> + <source>&Delete List</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../playlist.cpp" line="320"/> + <source>Shift+D</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../playlist.cpp" line="326"/> <source>&Load List</source> <translation>載入清單(&L)</translation> </message> <message> - <location filename="../playlist.cpp" line="320"/> + <location filename="../playlist.cpp" line="332"/> <source>&Save List</source> <translation>儲存清單(&S)</translation> </message> <message> - <location filename="../playlist.cpp" line="321"/> + <location filename="../playlist.cpp" line="333"/> <source>Shift+S</source> <translation>Shift+S</translation> </message> <message> - <location filename="../playlist.cpp" line="169"/> + <location filename="../playlist.cpp" line="184"/> <source>Del</source> <translation>Del</translation> </message> <message> - <location filename="../playlist.cpp" line="161"/> + <location filename="../playlist.cpp" line="176"/> <source>&Add Url</source> <translation>添加 URL (&A)</translation> </message> <message> - <location filename="../playlist.cpp" line="162"/> + <location filename="../playlist.cpp" line="177"/> <source>U</source> <translation>U</translation> </message> <message> - <location filename="../playlist.cpp" line="226"/> - <location filename="../playlist.cpp" line="261"/> + <location filename="../playlist.cpp" line="239"/> + <location filename="../playlist.cpp" line="273"/> <source>By Track Number</source> <translation>按音軌</translation> </message> <message> - <location filename="../playlist.cpp" line="280"/> + <location filename="../playlist.cpp" line="291"/> <source>&Queue</source> <translation>佇列(&Q)</translation> </message> <message> - <location filename="../playlist.cpp" line="280"/> + <location filename="../playlist.cpp" line="291"/> <source>Q</source> <translation>Q</translation> </message> <message> - <location filename="../playlist.cpp" line="277"/> + <location filename="../playlist.cpp" line="288"/> <source>Actions</source> <translation>動作</translation> </message> |
