aboutsummaryrefslogtreecommitdiff
path: root/src/qmmpui
diff options
context:
space:
mode:
authortrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2010-10-16 17:42:06 +0000
committertrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2010-10-16 17:42:06 +0000
commit6d121794491610ca09441715bd1fa15d88c31890 (patch)
treef2b5c8d2778621ad3b7fd5dd11601a248fda7154 /src/qmmpui
parent8abc1d73303c4841ff8bbf22d4d6f7994d4ac190 (diff)
downloadqmmp-6d121794491610ca09441715bd1fa15d88c31890.tar.gz
qmmp-6d121794491610ca09441715bd1fa15d88c31890.tar.bz2
qmmp-6d121794491610ca09441715bd1fa15d88c31890.zip
some main menu reorganization
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@1941 90c681e8-e032-0410-971d-27865f9a5e38
Diffstat (limited to 'src/qmmpui')
-rw-r--r--src/qmmpui/mediaplayer.cpp84
-rw-r--r--src/qmmpui/mediaplayer.h21
-rw-r--r--src/qmmpui/playlistmanager.cpp10
-rw-r--r--src/qmmpui/playlistmanager.h8
-rw-r--r--src/qmmpui/playlistmodel.cpp59
-rw-r--r--src/qmmpui/playlistmodel.h27
-rw-r--r--src/qmmpui/translations/libqmmpui_cs.ts2
-rw-r--r--src/qmmpui/translations/libqmmpui_de.ts2
-rw-r--r--src/qmmpui/translations/libqmmpui_es.ts2
-rw-r--r--src/qmmpui/translations/libqmmpui_it.ts2
-rw-r--r--src/qmmpui/translations/libqmmpui_ja.ts2
-rw-r--r--src/qmmpui/translations/libqmmpui_lt.ts2
-rw-r--r--src/qmmpui/translations/libqmmpui_nl.ts2
-rw-r--r--src/qmmpui/translations/libqmmpui_pl.ts2
-rw-r--r--src/qmmpui/translations/libqmmpui_pt_BR.ts2
-rw-r--r--src/qmmpui/translations/libqmmpui_ru.ts2
-rw-r--r--src/qmmpui/translations/libqmmpui_tr.ts2
-rw-r--r--src/qmmpui/translations/libqmmpui_uk_UA.ts2
-rw-r--r--src/qmmpui/translations/libqmmpui_zh_CN.ts2
-rw-r--r--src/qmmpui/translations/libqmmpui_zh_TW.ts2
20 files changed, 155 insertions, 82 deletions
diff --git a/src/qmmpui/mediaplayer.cpp b/src/qmmpui/mediaplayer.cpp
index cf8a41d46..69a3bbd56 100644
--- a/src/qmmpui/mediaplayer.cpp
+++ b/src/qmmpui/mediaplayer.cpp
@@ -37,7 +37,7 @@ MediaPlayer::MediaPlayer(QObject *parent)
m_core = 0;
m_skips = 0;
m_repeat = false;
- m_autoStop = false;
+ m_noPlaylistAdvance = false;
QTranslator *translator = new QTranslator(parent);
QString locale = Qmmp::systemLanguageID();
translator->load(QString(":/libqmmpui_") + locale);
@@ -59,7 +59,7 @@ void MediaPlayer::initialize(SoundCore *core, PlayListManager *pl_manager)
m_core = core;
m_pl_manager = pl_manager;
m_repeat = false;
- m_autoStop = false;
+ m_noPlaylistAdvance = false;
connect(m_core, SIGNAL(nextTrackRequest()), SLOT(updateNextUrl()));
connect(m_core, SIGNAL(finished()), SLOT(playNext()));
}
@@ -74,9 +74,9 @@ bool MediaPlayer::isRepeatable() const
return m_repeat;
}
-bool MediaPlayer::isAutoStopping() const
+bool MediaPlayer::isNoPlaylistAdvance() const
{
- return m_autoStop;
+ return m_noPlaylistAdvance;
}
void MediaPlayer::play(qint64 offset)
@@ -181,82 +181,68 @@ void MediaPlayer::previous()
void MediaPlayer::setRepeatable(bool r)
{
- if (!isAutoStopping())
+ if (r != m_repeat)
{
- if (r != m_repeat && !r)
- {
- disconnect(m_core, SIGNAL(finished()), this, SLOT(play()));
- connect(m_core, SIGNAL(finished()), SLOT(playNext()));
- }
- else if (r != m_repeat && r)
+ if(r)
{
disconnect(m_core, SIGNAL(finished()), this, SLOT(playNext()));
connect(m_core, SIGNAL(finished()), SLOT(play()));
}
+ else
+ {
+ disconnect(m_core, SIGNAL(finished()), this, SLOT(play()));
+ connect(m_core, SIGNAL(finished()), SLOT(playNext()));
+ }
+ m_repeat = r;
+ emit repeatableChanged(r);
}
- m_repeat = r;
- emit repeatableChanged(r);
}
void MediaPlayer::playNext()
{
- if (!m_pl_manager->currentPlayList()->next())
+ if(m_noPlaylistAdvance)
{
stop();
return;
}
- play();
-}
-
-void MediaPlayer::setAutoStop(bool enable)
-{
- if (enable != m_autoStop)
+ if (!m_pl_manager->currentPlayList()->next())
{
- if(enable)
- {
- if (m_repeat)
- disconnect(m_core, SIGNAL(finished()), this, SLOT(play()));
- else
- disconnect(m_core, SIGNAL(finished()), this, SLOT(playNext()));
- connect(m_core, SIGNAL(finished()), SLOT(autoStop()));
- }
- else
- {
- disconnect(m_core, SIGNAL(finished()), this, SLOT(autoStop()));
- if (m_repeat)
- connect(m_core, SIGNAL(finished()), SLOT(play()));
- else
- connect(m_core, SIGNAL(finished()), SLOT(playNext()));
- }
- m_autoStop = enable;
- emit autoStopChanged(enable);
+ stop();
+ return;
}
+ play();
}
-void MediaPlayer::autoStop()
+void MediaPlayer::setNoPlaylistAdvance(bool enabled)
{
- if (!m_repeat && !m_pl_manager->currentPlayList()->isEmptyQueue())
+ if (enabled != m_noPlaylistAdvance)
{
- playNext();
- return;
+ m_noPlaylistAdvance = enabled;
+ emit noPlaylistAdvanceChanged(enabled);
}
- setAutoStop(false);
- stop();
}
void MediaPlayer::updateNextUrl()
{
m_nextUrl.clear();
- if(m_pl_manager->currentPlayList()->nextItem() && !isRepeatable())
+ PlayListItem *item = 0;
+ if(isRepeatable())
+ item = m_pl_manager->currentPlayList()->currentItem();
+ else if(!m_noPlaylistAdvance)
+ item = m_pl_manager->currentPlayList()->nextItem();
+
+ if(item)
{
- qDebug("MediaPlayer: sending next url");
- bool ok = m_core->play(m_pl_manager->currentPlayList()->nextItem()->url(), true);
+ bool ok = m_core->play(item->url(), true);
if(ok)
{
m_nextUrl = m_pl_manager->currentPlayList()->nextItem()->url();
- qDebug("MediaPlayer: sending next url - done");
+ qDebug("MediaPlayer: next track state: received");
}
else
- qDebug("MediaPlayer: sending next url - failed");
+ qDebug("MediaPlayer: next track state: error");
}
+ else
+ qDebug("MediaPlayer: next track state: unknown");
+
}
diff --git a/src/qmmpui/mediaplayer.h b/src/qmmpui/mediaplayer.h
index 3809cdb3c..06c80ec30 100644
--- a/src/qmmpui/mediaplayer.h
+++ b/src/qmmpui/mediaplayer.h
@@ -60,9 +60,9 @@ public:
*/
bool isRepeatable() const;
/*!
- * Returns \b true if "Auto Stop" option is enabled, otherwise returns \b false
+ * Returns \b true if "No playlist advance" option is enabled, otherwise returns \b false
*/
- bool isAutoStopping() const;
+ bool isNoPlaylistAdvance() const;
public slots:
/*!
@@ -87,10 +87,11 @@ public slots:
*/
void setRepeatable(bool enable);
/*!
- * Toggles the AutoStop feature.
- * @param enable the AutoStop state (\b true - automatic stop, \b false - normal play)
+ * When finished playing a song, don't automatically advance to the next
+ * @param enable State of the 'No playlist advance' option
+ * (\b true - enabled, \b false - normal playback)
*/
- void setAutoStop(bool enable);
+ void setNoPlaylistAdvance(bool enable);
signals:
/*!
@@ -98,11 +99,15 @@ signals:
* @param enabled New repeate state of the current track (\b true - enabled, \b false - disabled)
*/
void repeatableChanged(bool enabled);
- void autoStopChanged(bool enabled);
+ /*!
+ * Emitted when state of the "No playlist advance" option changes.
+ * @param enabled New state of this option (\b true - no playlist advance,
+ * \b false - normal playlist behaviour)
+ */
+ void noPlaylistAdvanceChanged(bool enabled);
private slots:
void playNext();
- void autoStop();
void updateNextUrl();
private:
@@ -110,7 +115,7 @@ private:
SoundCore *m_core;
static MediaPlayer* m_instance;
bool m_repeat;
- bool m_autoStop;
+ bool m_noPlaylistAdvance;
int m_skips;
QString m_nextUrl;
};
diff --git a/src/qmmpui/playlistmanager.cpp b/src/qmmpui/playlistmanager.cpp
index 784536b6c..1db91cde0 100644
--- a/src/qmmpui/playlistmanager.cpp
+++ b/src/qmmpui/playlistmanager.cpp
@@ -493,3 +493,13 @@ void PlayListManager::removeDuplicates()
{
m_selected->removeDuplicates();
}
+
+void PlayListManager::clearQueue()
+{
+ m_selected->clearQueue();
+}
+
+void PlayListManager::stopAfterSelected()
+{
+ m_selected->stopAfterSelected();
+}
diff --git a/src/qmmpui/playlistmanager.h b/src/qmmpui/playlistmanager.h
index c1adb2378..de9108055 100644
--- a/src/qmmpui/playlistmanager.h
+++ b/src/qmmpui/playlistmanager.h
@@ -288,6 +288,14 @@ public slots:
* This is a convenience function and is the same as calling \b selectedPlayList()->removeDuplicates()
*/
void removeDuplicates();
+ /*!
+ * This is a convenience function and is the same as calling \b selectedPlayList()->clearQueue()
+ */
+ void clearQueue();
+ /*!
+ * This is a convenience function and is the same as calling \b selectedPlayList()->stopAfterSelected()
+ */
+ void stopAfterSelected();
private:
diff --git a/src/qmmpui/playlistmodel.cpp b/src/qmmpui/playlistmodel.cpp
index 189bcf984..a710073b4 100644
--- a/src/qmmpui/playlistmodel.cpp
+++ b/src/qmmpui/playlistmodel.cpp
@@ -74,6 +74,7 @@ PlayListModel::PlayListModel(const QString &name, QObject *parent)
m_current = 0;
is_repeatable_list = false;
m_play_state = new NormalPlayState(this);
+ m_stop_item = 0;
}
PlayListModel::~PlayListModel()
@@ -146,9 +147,11 @@ PlayListItem* PlayListModel::currentItem()
}
PlayListItem* PlayListModel::nextItem()
-{
+{
if(m_items.isEmpty() || !m_play_state)
return 0;
+ if(m_stop_item && m_stop_item == currentItem())
+ return 0;
if(!isEmptyQueue())
return m_queued_songs.at(0);
int index = m_play_state->nextIndex();
@@ -180,6 +183,12 @@ bool PlayListModel::setCurrent(int c)
bool PlayListModel::next()
{
+ if(m_stop_item == currentItem())
+ {
+ m_stop_item = 0;
+ emit listChanged();
+ return false;
+ }
if (!isEmptyQueue())
{
setCurrentToQueued();
@@ -212,6 +221,7 @@ void PlayListModel::clear()
m_running_loaders.clear();
m_current = 0;
+ m_stop_item = 0;
while (!m_items.isEmpty())
{
PlayListItem* mf = m_items.takeFirst();
@@ -305,6 +315,8 @@ void PlayListModel::removeAt (int i)
if ((i < count()) && (i >= 0))
{
PlayListItem* f = m_items.takeAt(i);
+ if(m_stop_item == f)
+ m_stop_item = 0;
m_total_length -= f->length();
if (m_total_length < 0)
m_total_length = qMin(0, m_total_length);
@@ -345,6 +357,8 @@ void PlayListModel::removeSelection(bool inverted)
if (m_items.at(i)->isSelected() ^ inverted)
{
PlayListItem* f = m_items.takeAt(i);
+ if(f == m_stop_item)
+ m_stop_item = 0;
m_total_length -= f->length();
if (m_total_length < 0)
m_total_length = 0;
@@ -644,6 +658,21 @@ bool PlayListModel::isEmptyQueue() const
return m_queued_songs.isEmpty();
}
+int PlayListModel::queuedIndex(PlayListItem* item) const
+{
+ return m_queued_songs.indexOf(item);
+}
+
+int PlayListModel::queueSize() const
+{
+ return m_queued_songs.size();
+}
+
+bool PlayListModel::isStopAfter(PlayListItem* item) const
+{
+ return m_stop_item == item;
+}
+
void PlayListModel::randomizeList()
{
for (int i = 0;i < m_items.size();i++)
@@ -943,3 +972,31 @@ void PlayListModel::removeDuplicates()
}
}
}
+
+void PlayListModel::clearQueue()
+{
+ m_queued_songs.clear();
+ m_stop_item = 0;
+ emit listChanged();
+}
+
+void PlayListModel::stopAfterSelected()
+{
+ QList<PlayListItem*> selected_items = getSelectedItems();
+ if(!m_queued_songs.isEmpty())
+ {
+ m_stop_item = m_stop_item != m_queued_songs.last() ? m_queued_songs.last() : 0;
+ }
+ else if(selected_items.count() == 1)
+ {
+ m_stop_item = m_stop_item != selected_items.at(0) ? selected_items.at(0) : 0;
+ }
+ else if(selected_items.count() > 1)
+ {
+ addToQueue();
+ m_stop_item = m_queued_songs.last();
+ }
+ else
+ return;
+ emit listChanged();
+}
diff --git a/src/qmmpui/playlistmodel.h b/src/qmmpui/playlistmodel.h
index d6eb3c4f4..ac5668ffa 100644
--- a/src/qmmpui/playlistmodel.h
+++ b/src/qmmpui/playlistmodel.h
@@ -184,11 +184,11 @@ public:
*/
QStringList getTimes(int first,int last);
/*!
- * Moves the item at index position \b from to index position \b to
+ * Moves the item at index position \b from to index position \b to.
*/
void moveItems(int from, int to);
/*!
- * Returns \b true if \b f file is in play queue, else returns \b false
+ * Returns \b true if \b f file is in play queue, otherwise returns \b false.
*/
bool isQueued(PlayListItem* item) const;
/*!
@@ -202,17 +202,15 @@ public:
/*!
* Returns index of \b f file in queue.e
*/
- int queuedIndex(PlayListItem* item) const
- {
- return m_queued_songs.indexOf(item);
- }
+ int queuedIndex(PlayListItem* item) const;
/*!
* Returns the number of items in the queue
*/
- int queueSize() const
- {
- return m_queued_songs.size();
- }
+ int queueSize() const;
+ /*!
+ * Returns \b true if playback stops after \b item, otherwise returns \b false.
+ */
+ bool isStopAfter(PlayListItem* item) const;
/*!
* Returns current selection(playlist can contain a lot of selections,
* this method returns selection which \b row belongs to)
@@ -413,6 +411,14 @@ public slots:
* Removes duplicate items by URL.
*/
void removeDuplicates();
+ /*!
+ * Removes all items from queue.
+ */
+ void clearQueue();
+ /*!
+ * Toggles 'stop after selected' feature.
+ */
+ void stopAfterSelected();
private:
/*!
@@ -448,6 +454,7 @@ private:
QList <PlayListItem*> m_items;
QList <PlayListItem*> m_editing_items;
PlayListItem* m_currentItem;
+ PlayListItem* m_stop_item;
int m_current;
/*!
* This flyweight object represents current selection.
diff --git a/src/qmmpui/translations/libqmmpui_cs.ts b/src/qmmpui/translations/libqmmpui_cs.ts
index 07fd33f2c..9e82d56c7 100644
--- a/src/qmmpui/translations/libqmmpui_cs.ts
+++ b/src/qmmpui/translations/libqmmpui_cs.ts
@@ -84,7 +84,7 @@ p, li { white-space: pre-wrap; }
<context>
<name>QtFileDialogFactory</name>
<message>
- <location filename="../qtfiledialog.cpp" line="33"/>
+ <location filename="../qtfiledialog.cpp" line="34"/>
<source>Qt File Dialog</source>
<translation>Souborový dialog Qt</translation>
</message>
diff --git a/src/qmmpui/translations/libqmmpui_de.ts b/src/qmmpui/translations/libqmmpui_de.ts
index bf5d9274a..5de695ebc 100644
--- a/src/qmmpui/translations/libqmmpui_de.ts
+++ b/src/qmmpui/translations/libqmmpui_de.ts
@@ -84,7 +84,7 @@ p, li { white-space: pre-wrap; }
<context>
<name>QtFileDialogFactory</name>
<message>
- <location filename="../qtfiledialog.cpp" line="33"/>
+ <location filename="../qtfiledialog.cpp" line="34"/>
<source>Qt File Dialog</source>
<translation>Qt Datei-Dialog</translation>
</message>
diff --git a/src/qmmpui/translations/libqmmpui_es.ts b/src/qmmpui/translations/libqmmpui_es.ts
index 8541c3baf..c9aeebbea 100644
--- a/src/qmmpui/translations/libqmmpui_es.ts
+++ b/src/qmmpui/translations/libqmmpui_es.ts
@@ -84,7 +84,7 @@ p, li { white-space: pre-wrap; }
<context>
<name>QtFileDialogFactory</name>
<message>
- <location filename="../qtfiledialog.cpp" line="33"/>
+ <location filename="../qtfiledialog.cpp" line="34"/>
<source>Qt File Dialog</source>
<translation>Diálogo de archivos Qt</translation>
</message>
diff --git a/src/qmmpui/translations/libqmmpui_it.ts b/src/qmmpui/translations/libqmmpui_it.ts
index be3f22bc7..c4c709c9b 100644
--- a/src/qmmpui/translations/libqmmpui_it.ts
+++ b/src/qmmpui/translations/libqmmpui_it.ts
@@ -84,7 +84,7 @@ p, li { white-space: pre-wrap; }
<context>
<name>QtFileDialogFactory</name>
<message>
- <location filename="../qtfiledialog.cpp" line="33"/>
+ <location filename="../qtfiledialog.cpp" line="34"/>
<source>Qt File Dialog</source>
<translation>Menu brani Qt</translation>
</message>
diff --git a/src/qmmpui/translations/libqmmpui_ja.ts b/src/qmmpui/translations/libqmmpui_ja.ts
index 41b76f1f4..1dfe56557 100644
--- a/src/qmmpui/translations/libqmmpui_ja.ts
+++ b/src/qmmpui/translations/libqmmpui_ja.ts
@@ -84,7 +84,7 @@ p, li { white-space: pre-wrap; }
<context>
<name>QtFileDialogFactory</name>
<message>
- <location filename="../qtfiledialog.cpp" line="33"/>
+ <location filename="../qtfiledialog.cpp" line="34"/>
<source>Qt File Dialog</source>
<translation>Qtファイルダイアログ</translation>
</message>
diff --git a/src/qmmpui/translations/libqmmpui_lt.ts b/src/qmmpui/translations/libqmmpui_lt.ts
index 4080bf130..e720b714e 100644
--- a/src/qmmpui/translations/libqmmpui_lt.ts
+++ b/src/qmmpui/translations/libqmmpui_lt.ts
@@ -84,7 +84,7 @@ p, li { white-space: pre-wrap; }
<context>
<name>QtFileDialogFactory</name>
<message>
- <location filename="../qtfiledialog.cpp" line="33"/>
+ <location filename="../qtfiledialog.cpp" line="34"/>
<source>Qt File Dialog</source>
<translation>Qt bylų langas</translation>
</message>
diff --git a/src/qmmpui/translations/libqmmpui_nl.ts b/src/qmmpui/translations/libqmmpui_nl.ts
index 3f0604c04..6beed7e84 100644
--- a/src/qmmpui/translations/libqmmpui_nl.ts
+++ b/src/qmmpui/translations/libqmmpui_nl.ts
@@ -84,7 +84,7 @@ p, li { white-space: pre-wrap; }
<context>
<name>QtFileDialogFactory</name>
<message>
- <location filename="../qtfiledialog.cpp" line="33"/>
+ <location filename="../qtfiledialog.cpp" line="34"/>
<source>Qt File Dialog</source>
<translation>Qt Bestandsdialoog</translation>
</message>
diff --git a/src/qmmpui/translations/libqmmpui_pl.ts b/src/qmmpui/translations/libqmmpui_pl.ts
index 56e5f3d21..2c6513f8a 100644
--- a/src/qmmpui/translations/libqmmpui_pl.ts
+++ b/src/qmmpui/translations/libqmmpui_pl.ts
@@ -80,7 +80,7 @@ p, li { white-space: pre-wrap; }
<context>
<name>QtFileDialogFactory</name>
<message>
- <location filename="../qtfiledialog.cpp" line="33"/>
+ <location filename="../qtfiledialog.cpp" line="34"/>
<source>Qt File Dialog</source>
<translation>Okno dialogowe QT</translation>
</message>
diff --git a/src/qmmpui/translations/libqmmpui_pt_BR.ts b/src/qmmpui/translations/libqmmpui_pt_BR.ts
index 7e28cc10f..4a9786cdc 100644
--- a/src/qmmpui/translations/libqmmpui_pt_BR.ts
+++ b/src/qmmpui/translations/libqmmpui_pt_BR.ts
@@ -80,7 +80,7 @@ p, li { white-space: pre-wrap; }
<context>
<name>QtFileDialogFactory</name>
<message>
- <location filename="../qtfiledialog.cpp" line="33"/>
+ <location filename="../qtfiledialog.cpp" line="34"/>
<source>Qt File Dialog</source>
<translation type="unfinished"></translation>
</message>
diff --git a/src/qmmpui/translations/libqmmpui_ru.ts b/src/qmmpui/translations/libqmmpui_ru.ts
index 57048a403..90caa8f44 100644
--- a/src/qmmpui/translations/libqmmpui_ru.ts
+++ b/src/qmmpui/translations/libqmmpui_ru.ts
@@ -80,7 +80,7 @@ p, li { white-space: pre-wrap; }
<context>
<name>QtFileDialogFactory</name>
<message>
- <location filename="../qtfiledialog.cpp" line="33"/>
+ <location filename="../qtfiledialog.cpp" line="34"/>
<source>Qt File Dialog</source>
<translation>Файловый диалог Qt</translation>
</message>
diff --git a/src/qmmpui/translations/libqmmpui_tr.ts b/src/qmmpui/translations/libqmmpui_tr.ts
index 191cb0dca..fbb11ef3d 100644
--- a/src/qmmpui/translations/libqmmpui_tr.ts
+++ b/src/qmmpui/translations/libqmmpui_tr.ts
@@ -80,7 +80,7 @@ p, li { white-space: pre-wrap; }
<context>
<name>QtFileDialogFactory</name>
<message>
- <location filename="../qtfiledialog.cpp" line="33"/>
+ <location filename="../qtfiledialog.cpp" line="34"/>
<source>Qt File Dialog</source>
<translation>Qt Dosya Diyaloğu</translation>
</message>
diff --git a/src/qmmpui/translations/libqmmpui_uk_UA.ts b/src/qmmpui/translations/libqmmpui_uk_UA.ts
index 6ed7602f4..1bcc2efee 100644
--- a/src/qmmpui/translations/libqmmpui_uk_UA.ts
+++ b/src/qmmpui/translations/libqmmpui_uk_UA.ts
@@ -80,7 +80,7 @@ p, li { white-space: pre-wrap; }
<context>
<name>QtFileDialogFactory</name>
<message>
- <location filename="../qtfiledialog.cpp" line="33"/>
+ <location filename="../qtfiledialog.cpp" line="34"/>
<source>Qt File Dialog</source>
<translation>Файловий діалог Qt</translation>
</message>
diff --git a/src/qmmpui/translations/libqmmpui_zh_CN.ts b/src/qmmpui/translations/libqmmpui_zh_CN.ts
index e48f6ca01..bce778f00 100644
--- a/src/qmmpui/translations/libqmmpui_zh_CN.ts
+++ b/src/qmmpui/translations/libqmmpui_zh_CN.ts
@@ -80,7 +80,7 @@ p, li { white-space: pre-wrap; }
<context>
<name>QtFileDialogFactory</name>
<message>
- <location filename="../qtfiledialog.cpp" line="33"/>
+ <location filename="../qtfiledialog.cpp" line="34"/>
<source>Qt File Dialog</source>
<translation>Qmmp 文件会话</translation>
</message>
diff --git a/src/qmmpui/translations/libqmmpui_zh_TW.ts b/src/qmmpui/translations/libqmmpui_zh_TW.ts
index 34f27399f..52cf309c5 100644
--- a/src/qmmpui/translations/libqmmpui_zh_TW.ts
+++ b/src/qmmpui/translations/libqmmpui_zh_TW.ts
@@ -80,7 +80,7 @@ p, li { white-space: pre-wrap; }
<context>
<name>QtFileDialogFactory</name>
<message>
- <location filename="../qtfiledialog.cpp" line="33"/>
+ <location filename="../qtfiledialog.cpp" line="34"/>
<source>Qt File Dialog</source>
<translation>Qmmp 檔案會話</translation>
</message>