Fix #128772, 解决音乐右键删除多个歌曲重复弹出删除窗口问题

This commit is contained in:
yushuoqi 2022-07-16 19:18:48 +08:00
parent d3054a71f7
commit e3a24d4252
5 changed files with 283 additions and 141 deletions

View File

@ -4,6 +4,7 @@
#include <ukui-log4qt.h> #include <ukui-log4qt.h>
#include "tableone.h" #include "tableone.h"
#include "UI/mainwidget.h" #include "UI/mainwidget.h"
#include "UI/base/widgetstyle.h"
#define PT_18 18 #define PT_18 18
@ -366,8 +367,8 @@ void TableOne::isDeleteSongs()
//确认将选中的歌曲从歌单中删除? //确认将选中的歌曲从歌单中删除?
QMessageBox *warn = new QMessageBox(QMessageBox::Warning,tr("Prompt information"),tr("Confirm that the selected song will be deleted from the song list?"),QMessageBox::Yes | QMessageBox::No); QMessageBox *warn = new QMessageBox(QMessageBox::Warning,tr("Prompt information"),tr("Confirm that the selected song will be deleted from the song list?"),QMessageBox::Yes | QMessageBox::No);
warn->setWindowTitle(tr("kylin-music")); warn->setWindowTitle(tr("kylin-music"));
// warn->button(QMessageBox::Yes)->setText("确定"); warn->button(QMessageBox::Yes)->setText(tr("Yes"));
// warn->button(QMessageBox::No)->setText("取消"); warn->button(QMessageBox::No)->setText(tr("No"));
int result = warn->exec(); int result = warn->exec();
if(result == QMessageBox::Yes) if(result == QMessageBox::Yes)
{ {
@ -383,21 +384,26 @@ void TableOne::isDeleteSongs()
void TableOne::isDeleteLocalSongs() void TableOne::isDeleteLocalSongs()
{ {
//歌曲从本地删除后不可恢复,是否确定删除?
// QMessageBox *warn = new QMessageBox(QMessageBox::Warning,tr("Prompt information"),tr("After the song is deleted from the local, it cannot be resumed. Is it sure to delete?"),QMessageBox::Yes | QMessageBox::No); if (! WidgetStyle::isWayland) {
//// warn->button(QMessageBox::Yes)->setText("确定");
//// warn->button(QMessageBox::No)->setText("取消");
// int result = warn->exec();
// if(result == QMessageBox::Yes)
// {
deleteLocalSongs(); deleteLocalSongs();
// qDebug() << "QMessageBox::Yes";
// } return;
// else }
// {
// qDebug() << "QMessageBox::No"; //歌曲从本地删除后不可恢复,是否确定删除?
// return; QMessageBox *warn = new QMessageBox(QMessageBox::Warning,tr("Prompt information"),tr("After the song is deleted from the local, it cannot be resumed. Is it sure to delete?"),QMessageBox::Yes | QMessageBox::No);
// } warn->button(QMessageBox::Yes)->setText(tr("Yes"));
warn->button(QMessageBox::No)->setText(tr("No"));
int result = warn->exec();
if(result == QMessageBox::Yes) {
deleteLocalSongsWayland();
qDebug() << "QMessageBox::Yes";
} else {
qDebug() << "QMessageBox::No";
return;
}
} }
void TableOne::deleteSongs() void TableOne::deleteSongs()
@ -450,8 +456,20 @@ void TableOne::deleteSongs()
void TableOne::deleteLocalSongs() void TableOne::deleteLocalSongs()
{ {
m_map = getSelectedTaskIdList(); m_map = getSelectedTaskIdList();
QStringList trashFilenames;
for (int key: m_map.keys()) {
QString value = m_map.value(key);
QString urlFile = "file://" + value;
qDebug() << "filename: " << urlFile;
trashFilenames << urlFile;
}
qDebug() << "trashFilenames: " << trashFilenames;
for (int key : m_map.keys()) { for (int key : m_map.keys()) {
QString value = m_map.value(key); QString value = m_map.value(key);
QFile file(value); QFile file(value);
if(file.exists()) if(file.exists())
{ {
@ -502,43 +520,37 @@ void TableOne::deleteLocalSongs()
} else { } else {
QMessageBox *warn = new QMessageBox(QMessageBox::Warning,tr("Prompt information"),tr("After the song is deleted from the local, it cannot be resumed. Is it sure to delete?"),QMessageBox::Yes | QMessageBox::No); QMessageBox *warn = new QMessageBox(QMessageBox::Warning,tr("Prompt information"),tr("After the song is deleted from the local, it cannot be resumed. Is it sure to delete?"),QMessageBox::Yes | QMessageBox::No);
warn->setWindowTitle(tr("kylin-music")); warn->setWindowTitle(tr("kylin-music"));
warn->button(QMessageBox::Yes)->setText(tr("Yes"));
warn->button(QMessageBox::No)->setText(tr("No"));
int result = warn->exec(); int result = warn->exec();
if(result == QMessageBox::Yes) if(result == QMessageBox::Yes)
{ {
int ret; int ret;
int index = -1; int index = -1;
if(nowListName != nowPlayListName && nowListName == ALLMUSIC) if(nowListName != nowPlayListName && nowListName == ALLMUSIC) {
{
index = MusicFileInformation::getInstance().findIndexFromPlayList(nowPlayListName,value); index = MusicFileInformation::getInstance().findIndexFromPlayList(nowPlayListName,value);
} }
if(nowListName != ALLMUSIC)
{ if(nowListName != ALLMUSIC) {
ret = g_db->delMusicFromPlayList(value,nowListName); ret = g_db->delMusicFromPlayList(value,nowListName);
} } else {
else
{
ret = g_db->delSongFromEveryWhere(value); ret = g_db->delSongFromEveryWhere(value);
} }
if(ret == 0)
{ if(ret == 0) {
if((nowListName != nowPlayListName) && nowListName == ALLMUSIC && index != -1) if((nowListName != nowPlayListName) && nowListName == ALLMUSIC && index != -1)
{ {
playController::getInstance().removeSongFromCurList(nowPlayListName,index); playController::getInstance().removeSongFromCurList(nowPlayListName,index);
} } else {
else
{
playController::getInstance().removeSongFromCurList(nowListName,key); playController::getInstance().removeSongFromCurList(nowListName,key);
} }
if(nowListName == FAV) if(nowListName == FAV) {
{
Q_EMIT removeILoveFilepathSignal(value); Q_EMIT removeILoveFilepathSignal(value);
} }
m_map.remove(key); m_map.remove(key);
} } else {
else
{
qDebug() << "delete failed" << value; qDebug() << "delete failed" << value;
} }
selectListChanged(nowListName); selectListChanged(nowListName);
@ -551,6 +563,105 @@ void TableOne::deleteLocalSongs()
} }
/**
* @brief TableOne::deleteLocalSongsWayland
*/
void TableOne::deleteLocalSongsWayland()
{
m_map = getSelectedTaskIdList();
QStringList trashFilenames;
for (int key: m_map.keys()) {
QString value = m_map.value(key);
QString urlFile = "file://" + value;
qDebug() << "filename: " << urlFile;
trashFilenames << urlFile;
}
qDebug() << "trashFilenames: " << trashFilenames;
for (int key : m_map.keys()) {
QString value = m_map.value(key);
QFile file(value);
if(file.exists()) {
file.remove();
int ret;
int index = -1;
if(nowListName != nowPlayListName && nowListName == ALLMUSIC) {
index = MusicFileInformation::getInstance().findIndexFromPlayList(nowPlayListName,value);
}
if(nowListName != ALLMUSIC) {
ret = g_db->delMusicFromPlayList(value,nowListName);
} else {
ret = g_db->delSongFromEveryWhere(value);
}
if(ret == 0) {
if((nowListName != nowPlayListName) && nowListName == ALLMUSIC && index != -1)
{
playController::getInstance().removeSongFromCurList(nowPlayListName,index);
} else {
playController::getInstance().removeSongFromCurList(nowListName,key);
}
if(nowListName == FAV) {
Q_EMIT removeILoveFilepathSignal(value);
}
m_map.remove(key);
} else {
qDebug() << "delete failed" << value;
}
selectListChanged(nowListName);
Q_EMIT refreshHistoryListSignal();
} else {
QMessageBox *warn = new QMessageBox(QMessageBox::Warning,tr("Prompt information"),tr("After the song is deleted from the local, it cannot be resumed. Is it sure to delete?"),QMessageBox::Yes | QMessageBox::No);
warn->setWindowTitle(tr("kylin-music"));
warn->button(QMessageBox::Yes)->setText(tr("Yes"));
warn->button(QMessageBox::No)->setText(tr("No"));
int result = warn->exec();
if(result == QMessageBox::Yes) {
int ret;
int index = -1;
if(nowListName != nowPlayListName && nowListName == ALLMUSIC) {
index = MusicFileInformation::getInstance().findIndexFromPlayList(nowPlayListName,value);
}
if(nowListName != ALLMUSIC) {
ret = g_db->delMusicFromPlayList(value,nowListName);
} else {
ret = g_db->delSongFromEveryWhere(value);
}
if(ret == 0) {
if((nowListName != nowPlayListName) && nowListName == ALLMUSIC && index != -1) {
playController::getInstance().removeSongFromCurList(nowPlayListName,index);
} else {
playController::getInstance().removeSongFromCurList(nowListName,key);
}
if(nowListName == FAV) {
Q_EMIT removeILoveFilepathSignal(value);
}
m_map.remove(key);
} else {
qDebug() << "delete failed" << value;
}
selectListChanged(nowListName);
Q_EMIT refreshHistoryListSignal();
} else {
return;
}
}
}
}
void TableOne::playSongs() void TableOne::playSongs()
{ {
int index = tableView->currentIndex().row(); int index = tableView->currentIndex().row();
@ -817,7 +928,8 @@ void TableOne::importFinished(int successCount, int m_failCount, int allCount)
} }
QMessageBox *warn = new QMessageBox(QMessageBox::Warning,tr("Prompt information"),tr("Success add %1 songs").arg(successCount),QMessageBox::Yes,Widget::mutual); QMessageBox *warn = new QMessageBox(QMessageBox::Warning,tr("Prompt information"),tr("Success add %1 songs").arg(successCount),QMessageBox::Yes,Widget::mutual);
warn->setWindowTitle(tr("kylin-music")); warn->setWindowTitle(tr("kylin-music"));
warn->button(QMessageBox::Yes)->setText("确定"); warn->button(QMessageBox::Yes)->setText(tr("Yes"));
// warn->button(QMessageBox::No)->setText(tr("No")); // Add this will segment error
warn->exec(); warn->exec();
} }
else else
@ -829,7 +941,7 @@ void TableOne::importFinished(int successCount, int m_failCount, int allCount)
} }
QMessageBox *warn = new QMessageBox(QMessageBox::Warning,tr("Prompt information"),tr("Add failed"),QMessageBox::Yes,Widget::mutual); QMessageBox *warn = new QMessageBox(QMessageBox::Warning,tr("Prompt information"),tr("Add failed"),QMessageBox::Yes,Widget::mutual);
warn->setWindowTitle(tr("kylin-music")); warn->setWindowTitle(tr("kylin-music"));
warn->button(QMessageBox::Yes)->setText("确定"); warn->button(QMessageBox::Yes)->setText(tr("Yes"));
warn->exec(); warn->exec();
} }
} }
@ -840,7 +952,7 @@ void TableOne::importFailed(int successCount, int m_failCount, int allCount)
{ {
QMessageBox *warn = new QMessageBox(QMessageBox::Warning,tr("Prompt information"),tr("Success add %1 songs").arg(successCount),QMessageBox::Yes,Widget::mutual); QMessageBox *warn = new QMessageBox(QMessageBox::Warning,tr("Prompt information"),tr("Success add %1 songs").arg(successCount),QMessageBox::Yes,Widget::mutual);
warn->setWindowTitle(tr("kylin-music")); warn->setWindowTitle(tr("kylin-music"));
warn->button(QMessageBox::Yes)->setText("确定"); warn->button(QMessageBox::Yes)->setText(tr("Yes"));
warn->exec(); warn->exec();
} }
else else
@ -848,7 +960,7 @@ void TableOne::importFailed(int successCount, int m_failCount, int allCount)
if (m_failCount > 0) { if (m_failCount > 0) {
QMessageBox *warn = new QMessageBox(QMessageBox::Warning,tr("Prompt information"),tr("Repeat add"),QMessageBox::Yes,Widget::mutual); QMessageBox *warn = new QMessageBox(QMessageBox::Warning,tr("Prompt information"),tr("Repeat add"),QMessageBox::Yes,Widget::mutual);
warn->setWindowTitle(tr("kylin-music")); warn->setWindowTitle(tr("kylin-music"));
warn->button(QMessageBox::Yes)->setText("确定"); warn->button(QMessageBox::Yes)->setText(tr("Yes"));
warn->exec(); warn->exec();
} }
} }

View File

@ -84,6 +84,7 @@ private:
void isDeleteLocalSongs(); //是否从本地删除歌曲 void isDeleteLocalSongs(); //是否从本地删除歌曲
void deleteSongs(); //从歌单中删除歌曲 void deleteSongs(); //从歌单中删除歌曲
void deleteLocalSongs(); //从本地以及歌单中删除歌曲 void deleteLocalSongs(); //从本地以及歌单中删除歌曲
void deleteLocalSongsWayland(); //从本地以及歌单中删除歌曲
void playSongs(); void playSongs();
void showInfo(); void showInfo();

View File

@ -467,6 +467,14 @@
<source>kylin-music</source> <source>kylin-music</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<source>Yes</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>No</source>
<translation type="unfinished"></translation>
</message>
</context> </context>
<context> <context>
<name>TitleBar</name> <name>TitleBar</name>

Binary file not shown.

View File

@ -165,36 +165,36 @@
<context> <context>
<name>MyToolButton</name> <name>MyToolButton</name>
<message> <message>
<location filename="../UI/sidebar/mytoolbutton.cpp" line="125"/> <location filename="../UI/sidebar/mytoolbutton.cpp" line="142"/>
<location filename="../UI/sidebar/mytoolbutton.cpp" line="138"/> <location filename="../UI/sidebar/mytoolbutton.cpp" line="155"/>
<source>Play</source> <source>Play</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../UI/sidebar/mytoolbutton.cpp" line="126"/> <location filename="../UI/sidebar/mytoolbutton.cpp" line="143"/>
<location filename="../UI/sidebar/mytoolbutton.cpp" line="142"/> <location filename="../UI/sidebar/mytoolbutton.cpp" line="159"/>
<source>Pause</source> <source>Pause</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../UI/sidebar/mytoolbutton.cpp" line="127"/> <location filename="../UI/sidebar/mytoolbutton.cpp" line="144"/>
<location filename="../UI/sidebar/mytoolbutton.cpp" line="146"/> <location filename="../UI/sidebar/mytoolbutton.cpp" line="163"/>
<source>Rename</source> <source>Rename</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../UI/sidebar/mytoolbutton.cpp" line="128"/> <location filename="../UI/sidebar/mytoolbutton.cpp" line="145"/>
<location filename="../UI/sidebar/mytoolbutton.cpp" line="150"/> <location filename="../UI/sidebar/mytoolbutton.cpp" line="167"/>
<source>Delete</source> <source>Delete</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../UI/sidebar/mytoolbutton.cpp" line="156"/> <location filename="../UI/sidebar/mytoolbutton.cpp" line="173"/>
<source>Song List</source> <source>Song List</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../UI/sidebar/mytoolbutton.cpp" line="156"/> <location filename="../UI/sidebar/mytoolbutton.cpp" line="173"/>
<source>I Love</source> <source>I Love</source>
<translation></translation> <translation></translation>
</message> </message>
@ -225,64 +225,64 @@
<context> <context>
<name>PlaySongArea</name> <name>PlaySongArea</name>
<message> <message>
<location filename="../UI/player/playsongarea.cpp" line="29"/> <location filename="../UI/player/playsongarea.cpp" line="32"/>
<source>Previous</source> <source>Previous</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../UI/player/playsongarea.cpp" line="41"/> <location filename="../UI/player/playsongarea.cpp" line="44"/>
<source>Next</source> <source>Next</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../UI/player/playsongarea.cpp" line="46"/> <location filename="../UI/player/playsongarea.cpp" line="49"/>
<source>Volume</source> <source>Volume</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../UI/player/playsongarea.cpp" line="102"/> <location filename="../UI/player/playsongarea.cpp" line="110"/>
<source>Favourite</source> <source>Favourite</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../UI/player/playsongarea.cpp" line="130"/> <location filename="../UI/player/playsongarea.cpp" line="138"/>
<location filename="../UI/player/playsongarea.cpp" line="145"/> <location filename="../UI/player/playsongarea.cpp" line="154"/>
<location filename="../UI/player/playsongarea.cpp" line="466"/> <location filename="../UI/player/playsongarea.cpp" line="475"/>
<location filename="../UI/player/playsongarea.cpp" line="512"/> <location filename="../UI/player/playsongarea.cpp" line="521"/>
<source>Loop</source> <source>Loop</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../UI/player/playsongarea.cpp" line="166"/> <location filename="../UI/player/playsongarea.cpp" line="175"/>
<source>Play List</source> <source>Play List</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../UI/player/playsongarea.cpp" line="186"/> <location filename="../UI/player/playsongarea.cpp" line="195"/>
<location filename="../UI/player/playsongarea.cpp" line="538"/> <location filename="../UI/player/playsongarea.cpp" line="547"/>
<location filename="../UI/player/playsongarea.cpp" line="540"/> <location filename="../UI/player/playsongarea.cpp" line="549"/>
<location filename="../UI/player/playsongarea.cpp" line="635"/> <location filename="../UI/player/playsongarea.cpp" line="644"/>
<location filename="../UI/player/playsongarea.cpp" line="861"/> <location filename="../UI/player/playsongarea.cpp" line="886"/>
<location filename="../UI/player/playsongarea.cpp" line="889"/> <location filename="../UI/player/playsongarea.cpp" line="914"/>
<source>Music Player</source> <source>Music Player</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../UI/player/playsongarea.cpp" line="187"/> <location filename="../UI/player/playsongarea.cpp" line="196"/>
<source>00:00/00:00</source> <source>00:00/00:00</source>
<translation>00:00/00:00</translation> <translation>00:00/00:00</translation>
</message> </message>
<message> <message>
<location filename="../UI/player/playsongarea.cpp" line="409"/> <location filename="../UI/player/playsongarea.cpp" line="418"/>
<location filename="../UI/player/playsongarea.cpp" line="426"/> <location filename="../UI/player/playsongarea.cpp" line="435"/>
<source>I Love</source> <source>I Love</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../UI/player/playsongarea.cpp" line="138"/> <location filename="../UI/player/playsongarea.cpp" line="146"/>
<location filename="../UI/player/playsongarea.cpp" line="147"/> <location filename="../UI/player/playsongarea.cpp" line="156"/>
<location filename="../UI/player/playsongarea.cpp" line="475"/> <location filename="../UI/player/playsongarea.cpp" line="484"/>
<location filename="../UI/player/playsongarea.cpp" line="517"/> <location filename="../UI/player/playsongarea.cpp" line="526"/>
<source>Random</source> <source>Random</source>
<translation></translation> <translation></translation>
</message> </message>
@ -291,10 +291,10 @@
<translation type="vanished"></translation> <translation type="vanished"></translation>
</message> </message>
<message> <message>
<location filename="../UI/player/playsongarea.cpp" line="122"/> <location filename="../UI/player/playsongarea.cpp" line="130"/>
<location filename="../UI/player/playsongarea.cpp" line="149"/> <location filename="../UI/player/playsongarea.cpp" line="158"/>
<location filename="../UI/player/playsongarea.cpp" line="492"/> <location filename="../UI/player/playsongarea.cpp" line="501"/>
<location filename="../UI/player/playsongarea.cpp" line="502"/> <location filename="../UI/player/playsongarea.cpp" line="511"/>
<source>CurrentItemInLoop</source> <source>CurrentItemInLoop</source>
<translation></translation> <translation></translation>
</message> </message>
@ -336,17 +336,17 @@
<context> <context>
<name>SideBarWidget</name> <name>SideBarWidget</name>
<message> <message>
<location filename="../UI/sidebar/sidebarwidget.cpp" line="31"/> <location filename="../UI/sidebar/sidebarwidget.cpp" line="32"/>
<source>Music Player</source> <source>Music Player</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../UI/sidebar/sidebarwidget.cpp" line="49"/> <location filename="../UI/sidebar/sidebarwidget.cpp" line="50"/>
<source>Library</source> <source>Library</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../UI/sidebar/sidebarwidget.cpp" line="58"/> <location filename="../UI/sidebar/sidebarwidget.cpp" line="59"/>
<source>Song List</source> <source>Song List</source>
<translation></translation> <translation></translation>
</message> </message>
@ -356,30 +356,30 @@
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../UI/sidebar/sidebarwidget.cpp" line="113"/> <location filename="../UI/sidebar/sidebarwidget.cpp" line="115"/>
<location filename="../UI/sidebar/sidebarwidget.cpp" line="319"/> <location filename="../UI/sidebar/sidebarwidget.cpp" line="321"/>
<source>New Playlist</source> <source>New Playlist</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../UI/sidebar/sidebarwidget.cpp" line="117"/> <location filename="../UI/sidebar/sidebarwidget.cpp" line="119"/>
<source>Rename</source> <source>Rename</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../UI/sidebar/sidebarwidget.cpp" line="227"/> <location filename="../UI/sidebar/sidebarwidget.cpp" line="229"/>
<source>I Love</source> <source>I Love</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../UI/sidebar/sidebarwidget.cpp" line="278"/> <location filename="../UI/sidebar/sidebarwidget.cpp" line="280"/>
<location filename="../UI/sidebar/sidebarwidget.cpp" line="366"/> <location filename="../UI/sidebar/sidebarwidget.cpp" line="368"/>
<source>Prompt information</source> <source>Prompt information</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../UI/sidebar/sidebarwidget.cpp" line="278"/> <location filename="../UI/sidebar/sidebarwidget.cpp" line="280"/>
<location filename="../UI/sidebar/sidebarwidget.cpp" line="366"/> <location filename="../UI/sidebar/sidebarwidget.cpp" line="368"/>
<source>Single song name already exists!!!</source> <source>Single song name already exists!!!</source>
<translation></translation> <translation></translation>
</message> </message>
@ -476,121 +476,141 @@
<translation type="vanished"></translation> <translation type="vanished"></translation>
</message> </message>
<message> <message>
<location filename="../UI/tableview/tableone.cpp" line="258"/> <location filename="../UI/tableview/tableone.cpp" line="259"/>
<location filename="../UI/tableview/tableone.cpp" line="983"/> <location filename="../UI/tableview/tableone.cpp" line="1001"/>
<location filename="../UI/tableview/tableone.cpp" line="1024"/> <location filename="../UI/tableview/tableone.cpp" line="1042"/>
<location filename="../UI/tableview/tableone.cpp" line="1096"/> <location filename="../UI/tableview/tableone.cpp" line="1114"/>
<source>Song List</source> <source>Song List</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../UI/tableview/tableone.cpp" line="190"/> <location filename="../UI/tableview/tableone.cpp" line="191"/>
<source>There are no songs!</source> <source>There are no songs!</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../UI/tableview/tableone.cpp" line="146"/> <location filename="../UI/tableview/tableone.cpp" line="147"/>
<source>Play All</source> <source>Play All</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../UI/tableview/tableone.cpp" line="149"/> <location filename="../UI/tableview/tableone.cpp" line="150"/>
<source>Add Music</source> <source>Add Music</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../UI/tableview/tableone.cpp" line="155"/> <location filename="../UI/tableview/tableone.cpp" line="156"/>
<source>Add local songs</source> <source>Add local songs</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../UI/tableview/tableone.cpp" line="156"/> <location filename="../UI/tableview/tableone.cpp" line="157"/>
<source>Add local folders</source> <source>Add local folders</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../UI/tableview/tableone.cpp" line="192"/> <location filename="../UI/tableview/tableone.cpp" line="193"/>
<source>Add Local Songs</source> <source>Add Local Songs</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../UI/tableview/tableone.cpp" line="193"/> <location filename="../UI/tableview/tableone.cpp" line="194"/>
<source>Add Local Folder</source> <source>Add Local Folder</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../UI/tableview/tableone.cpp" line="260"/> <location filename="../UI/tableview/tableone.cpp" line="261"/>
<location filename="../UI/tableview/tableone.cpp" line="343"/> <location filename="../UI/tableview/tableone.cpp" line="344"/>
<location filename="../UI/tableview/tableone.cpp" line="587"/> <location filename="../UI/tableview/tableone.cpp" line="604"/>
<location filename="../UI/tableview/tableone.cpp" line="985"/> <location filename="../UI/tableview/tableone.cpp" line="1003"/>
<location filename="../UI/tableview/tableone.cpp" line="1026"/> <location filename="../UI/tableview/tableone.cpp" line="1044"/>
<source>I Love</source> <source>I Love</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../UI/tableview/tableone.cpp" line="262"/> <location filename="../UI/tableview/tableone.cpp" line="263"/>
<location filename="../UI/tableview/tableone.cpp" line="987"/> <location filename="../UI/tableview/tableone.cpp" line="1005"/>
<location filename="../UI/tableview/tableone.cpp" line="1028"/> <location filename="../UI/tableview/tableone.cpp" line="1046"/>
<location filename="../UI/tableview/tableone.cpp" line="1073"/> <location filename="../UI/tableview/tableone.cpp" line="1091"/>
<location filename="../UI/tableview/tableone.cpp" line="1122"/> <location filename="../UI/tableview/tableone.cpp" line="1140"/>
<location filename="../UI/tableview/tableone.cpp" line="1151"/> <location filename="../UI/tableview/tableone.cpp" line="1169"/>
<source>Search Result</source> <source>Search Result</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../UI/tableview/tableone.cpp" line="290"/> <location filename="../UI/tableview/tableone.cpp" line="291"/>
<source>Play</source> <source>Play</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../UI/tableview/tableone.cpp" line="291"/> <location filename="../UI/tableview/tableone.cpp" line="292"/>
<source>Delete from list</source> <source>Delete from list</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../UI/tableview/tableone.cpp" line="292"/> <location filename="../UI/tableview/tableone.cpp" line="293"/>
<source>Remove from local</source> <source>Remove from local</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../UI/tableview/tableone.cpp" line="367"/> <location filename="../UI/tableview/tableone.cpp" line="368"/>
<source>Confirm that the selected song will be deleted from the song list?</source> <source>Confirm that the selected song will be deleted from the song list?</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../UI/tableview/tableone.cpp" line="368"/> <location filename="../UI/tableview/tableone.cpp" line="369"/>
<location filename="../UI/tableview/tableone.cpp" line="504"/> <location filename="../UI/tableview/tableone.cpp" line="519"/>
<location filename="../UI/tableview/tableone.cpp" line="617"/> <location filename="../UI/tableview/tableone.cpp" line="634"/>
<location filename="../UI/tableview/tableone.cpp" line="693"/> <location filename="../UI/tableview/tableone.cpp" line="710"/>
<location filename="../UI/tableview/tableone.cpp" line="819"/> <location filename="../UI/tableview/tableone.cpp" line="836"/>
<location filename="../UI/tableview/tableone.cpp" line="831"/> <location filename="../UI/tableview/tableone.cpp" line="849"/>
<location filename="../UI/tableview/tableone.cpp" line="842"/> <location filename="../UI/tableview/tableone.cpp" line="860"/>
<location filename="../UI/tableview/tableone.cpp" line="850"/> <location filename="../UI/tableview/tableone.cpp" line="868"/>
<source>kylin-music</source> <source>kylin-music</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../UI/tableview/tableone.cpp" line="503"/> <location filename="../UI/tableview/tableone.cpp" line="370"/>
<location filename="../UI/tableview/tableone.cpp" line="389"/>
<location filename="../UI/tableview/tableone.cpp" line="520"/>
<location filename="../UI/tableview/tableone.cpp" line="837"/>
<location filename="../UI/tableview/tableone.cpp" line="850"/>
<location filename="../UI/tableview/tableone.cpp" line="861"/>
<location filename="../UI/tableview/tableone.cpp" line="869"/>
<source>Yes</source>
<translation></translation>
</message>
<message>
<location filename="../UI/tableview/tableone.cpp" line="371"/>
<location filename="../UI/tableview/tableone.cpp" line="390"/>
<location filename="../UI/tableview/tableone.cpp" line="521"/>
<location filename="../UI/tableview/tableone.cpp" line="838"/>
<source>No</source>
<translation></translation>
</message>
<message>
<location filename="../UI/tableview/tableone.cpp" line="388"/>
<location filename="../UI/tableview/tableone.cpp" line="518"/>
<source>After the song is deleted from the local, it cannot be resumed. Is it sure to delete?</source> <source>After the song is deleted from the local, it cannot be resumed. Is it sure to delete?</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../UI/tableview/tableone.cpp" line="663"/> <location filename="../UI/tableview/tableone.cpp" line="680"/>
<source>Audio File</source> <source>Audio File</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../UI/tableview/tableone.cpp" line="809"/> <location filename="../UI/tableview/tableone.cpp" line="826"/>
<source>This format file is not supported</source> <source>This format file is not supported</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../UI/tableview/tableone.cpp" line="849"/> <location filename="../UI/tableview/tableone.cpp" line="867"/>
<source>Repeat add</source> <source>Repeat add</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../UI/tableview/tableone.cpp" line="885"/> <location filename="../UI/tableview/tableone.cpp" line="903"/>
<source>path does not exist</source> <source>path does not exist</source>
<translation></translation> <translation></translation>
</message> </message>
@ -599,13 +619,13 @@
<translation type="vanished"></translation> <translation type="vanished"></translation>
</message> </message>
<message> <message>
<location filename="../UI/tableview/tableone.cpp" line="818"/> <location filename="../UI/tableview/tableone.cpp" line="835"/>
<location filename="../UI/tableview/tableone.cpp" line="841"/> <location filename="../UI/tableview/tableone.cpp" line="859"/>
<source>Success add %1 songs</source> <source>Success add %1 songs</source>
<translation>%1</translation> <translation>%1</translation>
</message> </message>
<message> <message>
<location filename="../UI/tableview/tableone.cpp" line="830"/> <location filename="../UI/tableview/tableone.cpp" line="848"/>
<source>Add failed</source> <source>Add failed</source>
<translation></translation> <translation></translation>
</message> </message>
@ -614,22 +634,23 @@
<translation type="vanished"></translation> <translation type="vanished"></translation>
</message> </message>
<message> <message>
<location filename="../UI/tableview/tableone.cpp" line="293"/> <location filename="../UI/tableview/tableone.cpp" line="294"/>
<source>View song information</source> <source>View song information</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../UI/tableview/tableone.cpp" line="294"/> <location filename="../UI/tableview/tableone.cpp" line="295"/>
<source>Add to songlist</source> <source>Add to songlist</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../UI/tableview/tableone.cpp" line="367"/> <location filename="../UI/tableview/tableone.cpp" line="368"/>
<location filename="../UI/tableview/tableone.cpp" line="503"/> <location filename="../UI/tableview/tableone.cpp" line="388"/>
<location filename="../UI/tableview/tableone.cpp" line="818"/> <location filename="../UI/tableview/tableone.cpp" line="518"/>
<location filename="../UI/tableview/tableone.cpp" line="830"/> <location filename="../UI/tableview/tableone.cpp" line="835"/>
<location filename="../UI/tableview/tableone.cpp" line="841"/> <location filename="../UI/tableview/tableone.cpp" line="848"/>
<location filename="../UI/tableview/tableone.cpp" line="849"/> <location filename="../UI/tableview/tableone.cpp" line="859"/>
<location filename="../UI/tableview/tableone.cpp" line="867"/>
<source>Prompt information</source> <source>Prompt information</source>
<translation></translation> <translation></translation>
</message> </message>
@ -646,7 +667,7 @@
<translation type="vanished"> </translation> <translation type="vanished"> </translation>
</message> </message>
<message> <message>
<location filename="../UI/tableview/tableone.cpp" line="921"/> <location filename="../UI/tableview/tableone.cpp" line="939"/>
<source> songs</source> <source> songs</source>
<translation> </translation> <translation> </translation>
</message> </message>
@ -700,7 +721,7 @@
<context> <context>
<name>Widget</name> <name>Widget</name>
<message> <message>
<location filename="../UI/mainwidget.cpp" line="593"/> <location filename="../UI/mainwidget.cpp" line="598"/>
<source>Music Player</source> <source>Music Player</source>
<translation></translation> <translation></translation>
</message> </message>
@ -709,19 +730,19 @@
<translation type="vanished"></translation> <translation type="vanished"></translation>
</message> </message>
<message> <message>
<location filename="../UI/mainwidget.cpp" line="841"/> <location filename="../UI/mainwidget.cpp" line="846"/>
<location filename="../UI/mainwidget.cpp" line="1032"/> <location filename="../UI/mainwidget.cpp" line="1037"/>
<source>reduction</source> <source>reduction</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../UI/mainwidget.cpp" line="847"/> <location filename="../UI/mainwidget.cpp" line="852"/>
<location filename="../UI/mainwidget.cpp" line="1021"/> <location filename="../UI/mainwidget.cpp" line="1026"/>
<source>maximize</source> <source>maximize</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../UI/mainwidget.cpp" line="1157"/> <location filename="../UI/mainwidget.cpp" line="1162"/>
<source>Prompt information</source> <source>Prompt information</source>
<translation></translation> <translation></translation>
</message> </message>