diff options
author | Chris Xiong <chirs241097@gmail.com> | 2016-09-23 17:35:03 +0800 |
---|---|---|
committer | Chris Xiong <chirs241097@gmail.com> | 2016-09-23 17:35:03 +0800 |
commit | 09bc96b9afda262f7d3ff73be0a17a1e1be91649 (patch) | |
tree | d9ca6d67156cb7269f7c6c7274d7ef23d3ef7154 /qmidiplayer-desktop | |
parent | 41f9cf6fa2718155c8231d579c8af5f24d947b49 (diff) | |
download | QMidiPlayer-09bc96b9afda262f7d3ff73be0a17a1e1be91649.tar.xz |
Add a set of icons for dark themes and a option to change the icon theme.
Diffstat (limited to 'qmidiplayer-desktop')
-rw-r--r-- | qmidiplayer-desktop/qmpmainwindow.cpp | 28 | ||||
-rw-r--r-- | qmidiplayer-desktop/qmpmainwindow.hpp | 5 | ||||
-rw-r--r-- | qmidiplayer-desktop/qmpplistwindow.cpp | 16 | ||||
-rw-r--r-- | qmidiplayer-desktop/qmpsettingswindow.cpp | 15 | ||||
-rw-r--r-- | qmidiplayer-desktop/qmpsettingswindow.ui | 66 | ||||
-rw-r--r-- | qmidiplayer-desktop/resources.qrc | 24 | ||||
-rw-r--r-- | qmidiplayer-desktop/translations/qmp_zh_CN.ts | 172 |
7 files changed, 227 insertions, 99 deletions
diff --git a/qmidiplayer-desktop/qmpmainwindow.cpp b/qmidiplayer-desktop/qmpmainwindow.cpp index 48dd531..1927350 100644 --- a/qmidiplayer-desktop/qmpmainwindow.cpp +++ b/qmidiplayer-desktop/qmpmainwindow.cpp @@ -126,6 +126,15 @@ void qmpMainWindow::init() connect(timer,SIGNAL(timeout()),chnlw,SLOT(channelWindowsUpdate())); connect(timer,SIGNAL(timeout()),infow,SLOT(updateInfo())); if(havemidi)on_pbPlayPause_clicked(); + ui->pbNext->setIcon(QIcon(getThemedIcon(":/img/next.png"))); + ui->pbPrev->setIcon(QIcon(getThemedIcon(":/img/prev.png"))); + ui->pbPlayPause->setIcon(QIcon(getThemedIcon(":/img/play.png"))); + ui->pbStop->setIcon(QIcon(getThemedIcon(":/img/stop.png"))); + ui->pbChannels->setIcon(QIcon(getThemedIcon(":/img/channel.png"))); + ui->pbEfx->setIcon(QIcon(getThemedIcon(":/img/effects.png"))); + ui->pbPList->setIcon(QIcon(getThemedIcon(":/img/list.png"))); + ui->pbVisualization->setIcon(QIcon(getThemedIcon(":/img/visualization.png"))); + ui->pbSettings->setIcon(QIcon(getThemedIcon(":/img/settings.png"))); } int qmpMainWindow::pharseArgs() @@ -243,7 +252,7 @@ void qmpMainWindow::updateWidgets() delete playerTh;playerTh=NULL; if(singleFS)player->playerPanic(true); chnlw->on_pbUnmute_clicked();chnlw->on_pbUnsolo_clicked(); - ui->pbPlayPause->setIcon(QIcon(":/img/play.png")); + ui->pbPlayPause->setIcon(QIcon(getThemedIcon(":/img/play.png"))); ui->hsTimer->setValue(0); ui->lnPolyphone->display("00000-00000"); ui->lbCurTime->setText("00:00"); @@ -419,7 +428,7 @@ void qmpMainWindow::on_pbPlayPause_clicked() player->setTCpaused(!playing); for(int i=0;i<16;++i)if(VIs[i])VIs[i]->pause(); } - ui->pbPlayPause->setIcon(QIcon(playing?":/img/pause.png":":/img/play.png")); + ui->pbPlayPause->setIcon(QIcon(getThemedIcon(playing?":/img/pause.png":":/img/play.png"))); } void qmpMainWindow::on_hsTimer_sliderPressed() @@ -489,7 +498,7 @@ void qmpMainWindow::on_pbStop_clicked() if(singleFS)player->playerPanic(true);chnlw->resetAcitivity(); if(playerTh){playerTh->join();delete playerTh;playerTh=NULL;} chnlw->on_pbUnmute_clicked();chnlw->on_pbUnsolo_clicked(); - ui->pbPlayPause->setIcon(QIcon(":/img/play.png")); + ui->pbPlayPause->setIcon(QIcon(getThemedIcon(":/img/play.png"))); ui->hsTimer->setValue(0); ui->lnPolyphone->display("00000-00000"); ui->lbCurTime->setText("00:00"); @@ -584,7 +593,7 @@ void qmpMainWindow::on_pbNext_clicked() player->setWaitVoice(qmpSettingsWindow::getSettingsIntf()->value("Midi/WaitVoice",1).toInt()); playerTh=new std::thread(&CMidiPlayer::playerThread,player); #ifdef _WIN32 - SetThreadPriority(playerTh->native_handle(),THREAD_PRIORITY_TIME_CRITICAL); + SetThreadPriority(playerTh->native_handle(),THREAD_PRIORITY_TIME_CRITICAL); #endif st=std::chrono::steady_clock::now();offset=0; timer->start(UPDATE_INTERVAL); @@ -593,7 +602,7 @@ void qmpMainWindow::on_pbNext_clicked() void qmpMainWindow::selectionChanged() { stopped=false;playing=true; - ui->pbPlayPause->setIcon(QIcon(":/img/pause.png")); + ui->pbPlayPause->setIcon(QIcon(getThemedIcon(":/img/pause.png"))); timer->stop();player->playerDeinit(); for(int i=0;i<16;++i)if(VIs[i])VIs[i]->stop(); if(playerTh){playerTh->join();delete playerTh;playerTh=NULL;} @@ -671,6 +680,15 @@ void qmpMainWindow::unregisterVisualizationIntf(int handle) VIs[handle]=NULL; } +bool qmpMainWindow::isDarkTheme() +{ + if(!qmpSettingsWindow::getSettingsIntf()->value("Behavior/IconTheme",0).toInt()) + { + return ui->centralWidget->palette().color(QPalette::Background).lightness()<128; + } + else return 2-qmpSettingsWindow::getSettingsIntf()->value("Behavior/IconTheme",0).toInt(); +} + void qmpMainWindow::onfnA1() { infow->show(); diff --git a/qmidiplayer-desktop/qmpmainwindow.hpp b/qmidiplayer-desktop/qmpmainwindow.hpp index 8408409..71161c2 100644 --- a/qmidiplayer-desktop/qmpmainwindow.hpp +++ b/qmidiplayer-desktop/qmpmainwindow.hpp @@ -24,6 +24,8 @@ #include "qmpsettingswindow.hpp" #include "qmphelpwindow.hpp" +#define getThemedIcon(x) (qmpMainWindow::getInstance()->isDarkTheme()?QString(x).insert(QString(x).lastIndexOf('.'),"_i"):QString(x)) + namespace Ui { class qmpMainWindow; } @@ -70,6 +72,7 @@ class qmpMainWindow:public QMainWindow int pharseArgs(); int registerVisualizationIntf(qmpVisualizationIntf* intf); void unregisterVisualizationIntf(int handle); + bool isDarkTheme(); private slots: void on_pbPlayPause_clicked(); @@ -94,7 +97,7 @@ class qmpMainWindow:public QMainWindow void on_pbVisualization_clicked(); - public slots: + public slots: void dialogClosed(); void selectionChanged(); diff --git a/qmidiplayer-desktop/qmpplistwindow.cpp b/qmidiplayer-desktop/qmpplistwindow.cpp index e8fc9d8..00eec59 100644 --- a/qmidiplayer-desktop/qmpplistwindow.cpp +++ b/qmidiplayer-desktop/qmpplistwindow.cpp @@ -37,32 +37,38 @@ qmpPlistWindow::qmpPlistWindow(QWidget *parent) : switch(shuffle) { case 1: - ui->pbShuffle->setIcon(QIcon(":/img/shuffle.png")); + ui->pbShuffle->setIcon(QIcon(getThemedIcon(":/img/shuffle.png"))); ui->pbShuffle->setText("Shuffle On"); break; case 0: default: - ui->pbShuffle->setIcon(QIcon(":/img/shuffle-off.png")); + ui->pbShuffle->setIcon(QIcon(getThemedIcon(":/img/shuffle-off.png"))); ui->pbShuffle->setText("Shuffle Off"); break; } switch(repeat) { case 0: - ui->pbRepeat->setIcon(QIcon(":/img/repeat-non.png")); + ui->pbRepeat->setIcon(QIcon(getThemedIcon(":/img/repeat-non.png"))); ui->pbRepeat->setText("Repeat Off"); break; case 1: - ui->pbRepeat->setIcon(QIcon(":/img/repeat-one.png")); + ui->pbRepeat->setIcon(QIcon(getThemedIcon(":/img/repeat-one.png"))); ui->pbRepeat->setText("Repeat One"); break; case 2: - ui->pbRepeat->setIcon(QIcon(":/img/repeat-all.png")); + ui->pbRepeat->setIcon(QIcon(getThemedIcon(":/img/repeat-all.png"))); ui->pbRepeat->setText("Repeat All"); break; } delete plist; } + ui->pbAdd->setIcon(QIcon(getThemedIcon(":/img/add.png"))); + ui->pbRemove->setIcon(QIcon(getThemedIcon(":/img/remove.png"))); + ui->pbClear->setIcon(QIcon(getThemedIcon(":/img/clear.png"))); + ui->pbAddFolder->setIcon(QIcon(getThemedIcon(":/img/addfolder.png"))); + ui->pbSave->setIcon(QIcon(getThemedIcon(":/img/save.png"))); + ui->pbLoad->setIcon(QIcon(getThemedIcon(":/img/load.png"))); } qmpPlistWindow::~qmpPlistWindow() diff --git a/qmidiplayer-desktop/qmpsettingswindow.cpp b/qmidiplayer-desktop/qmpsettingswindow.cpp index 67bfbb2..72d1cb5 100644 --- a/qmidiplayer-desktop/qmpsettingswindow.cpp +++ b/qmidiplayer-desktop/qmpsettingswindow.cpp @@ -24,6 +24,10 @@ qmpSettingsWindow::qmpSettingsWindow(QWidget *parent) : connect(this,SIGNAL(dialogClosing()),parent,SLOT(dialogClosed())); settings=new QSettings(QDir::homePath()+QString("/.config/qmprc"),QSettings::IniFormat); settingsInit();outwidget=ui->cbOutputDevice; + ui->pbAdd->setIcon(QIcon(getThemedIcon(":/img/add.png"))); + ui->pbRemove->setIcon(QIcon(getThemedIcon(":/img/remove.png"))); + ui->pbDown->setIcon(QIcon(getThemedIcon(":/img/down.png"))); + ui->pbUp->setIcon(QIcon(getThemedIcon(":/img/up.png"))); } qmpSettingsWindow::~qmpSettingsWindow() @@ -181,6 +185,9 @@ void qmpSettingsWindow::settingsInit() settings->setValue("Behavior/SingleInstance",settings->value("Behavior/SingleInstance",0)); ui->cbPersistentfs->setChecked(settings->value("Behavior/SingleInstance",0).toInt()); + settings->setValue("Behavior/IconTheme",settings->value("Behavior/IconTheme",0)); + ui->cbIconTheme->setCurrentIndex(settings->value("Behavior/IconTheme",0).toInt()); + settings->sync(); delete_fluid_settings(fsettings); } @@ -216,6 +223,7 @@ void qmpSettingsWindow::settingsUpdate() settings->setValue("Audio/BankSelect",ui->cbBSMode->currentText()); settings->setValue("SoundFonts/SFCount",ui->twSoundfont->rowCount()); + for(int i=0;i<ui->twSoundfont->rowCount();++i) { settings->setValue("SoundFonts/SF"+QString::number(i+1),ui->twSoundfont->item(i,1)->text()); @@ -227,6 +235,11 @@ void qmpSettingsWindow::settingsUpdate() settings->setValue("Behavior/LoadFolder",ui->cbLoadFolder->isChecked()?1:0); settings->setValue("Behavior/DialogStatus",ui->cbDialogStatus->isChecked()?1:0); + + settings->setValue("Behavior/SingleInstance",ui->cbPersistentfs->isChecked()?1:0); + + settings->setValue("Behavior/IconTheme",ui->cbIconTheme->currentIndex()); + if(!ui->cbDialogStatus->isChecked()) { settings->remove("DialogStatus/MainW"); @@ -256,8 +269,6 @@ void qmpSettingsWindow::settingsUpdate() settings->remove("Effects/ChorusType"); } - settings->setValue("Behavior/SingleInstance",ui->cbPersistentfs->isChecked()?1:0); - for(int i=0;i<ui->twPluginList->rowCount();++i) settings->setValue( QString("PluginSwitch/")+ui->twPluginList->item(i,1)->text(), diff --git a/qmidiplayer-desktop/qmpsettingswindow.ui b/qmidiplayer-desktop/qmpsettingswindow.ui index cc39292..aa96869 100644 --- a/qmidiplayer-desktop/qmpsettingswindow.ui +++ b/qmidiplayer-desktop/qmpsettingswindow.ui @@ -539,6 +539,12 @@ <layout class="QVBoxLayout" name="verticalLayout_3"> <item> <widget class="QCheckBox" name="cbRestorePlaylist"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Minimum" vsizetype="Preferred"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> <property name="text"> <string>Restore last playlist on startup</string> </property> @@ -546,6 +552,12 @@ </item> <item> <widget class="QCheckBox" name="cbLoadFolder"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Minimum" vsizetype="Preferred"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> <property name="text"> <string>Load files in the same folder</string> </property> @@ -553,6 +565,12 @@ </item> <item> <widget class="QCheckBox" name="cbDialogStatus"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Minimum" vsizetype="Preferred"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> <property name="text"> <string>Save dialog status</string> </property> @@ -560,6 +578,12 @@ </item> <item> <widget class="QCheckBox" name="cbSaveEfxParam"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Minimum" vsizetype="Preferred"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> <property name="text"> <string>Save parameters in effects window</string> </property> @@ -567,11 +591,53 @@ </item> <item> <widget class="QCheckBox" name="cbPersistentfs"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Minimum" vsizetype="Preferred"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> <property name="text"> <string>Persistent fluidsynth instance</string> </property> </widget> </item> + <item> + <layout class="QHBoxLayout" name="horizontalLayout_2"> + <item> + <widget class="QLabel" name="label"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Preferred" vsizetype="Preferred"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="text"> + <string>Icon Theme</string> + </property> + </widget> + </item> + <item> + <widget class="QComboBox" name="cbIconTheme"> + <item> + <property name="text"> + <string>Auto</string> + </property> + </item> + <item> + <property name="text"> + <string>Dark</string> + </property> + </item> + <item> + <property name="text"> + <string>Light</string> + </property> + </item> + </widget> + </item> + </layout> + </item> </layout> </widget> <widget class="QWidget" name="tab_5"> diff --git a/qmidiplayer-desktop/resources.qrc b/qmidiplayer-desktop/resources.qrc index b3348f4..044acd8 100644 --- a/qmidiplayer-desktop/resources.qrc +++ b/qmidiplayer-desktop/resources.qrc @@ -25,6 +25,30 @@ <file>../img/stop.png</file> <file>../img/up.png</file> <file>../img/visualization.png</file> + <file>../img/add_i.png</file> + <file>../img/list_i.png</file> + <file>../img/addfolder_i.png</file> + <file>../img/channel_i.png</file> + <file>../img/prev_i.png</file> + <file>../img/remove_i.png</file> + <file>../img/clear_i.png</file> + <file>../img/down_i.png</file> + <file>../img/effects_i.png</file> + <file>../img/repeat-all_i.png</file> + <file>../img/repeat-base_i.png</file> + <file>../img/repeat-non_i.png</file> + <file>../img/load_i.png</file> + <file>../img/next_i.png</file> + <file>../img/repeat-one_i.png</file> + <file>../img/save_i.png</file> + <file>../img/settings_i.png</file> + <file>../img/pause_i.png</file> + <file>../img/play_i.png</file> + <file>../img/shuffle-off_i.png</file> + <file>../img/shuffle_i.png</file> + <file>../img/stop_i.png</file> + <file>../img/up_i.png</file> + <file>../img/visualization_i.png</file> <file>../img/ledon.png</file> <file>../img/ledoff.png</file> <file>../doc/index_internal.html</file> diff --git a/qmidiplayer-desktop/translations/qmp_zh_CN.ts b/qmidiplayer-desktop/translations/qmp_zh_CN.ts index 8d313d2..f7f79df 100644 --- a/qmidiplayer-desktop/translations/qmp_zh_CN.ts +++ b/qmidiplayer-desktop/translations/qmp_zh_CN.ts @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE TS> -<TS version="2.1" language="zh_CN"> +<TS version="2.0" language="zh_CN"> <context> <name>qmpChannelEditor</name> <message> @@ -41,7 +41,7 @@ <message> <location filename="../qmpchanneleditor.ui" line="135"/> <source>Filters</source> - <translation type="unfinished"></translation> + <translation type="unfinished">滤波器</translation> </message> <message> <location filename="../qmpchanneleditor.ui" line="192"/> @@ -111,7 +111,7 @@ <message> <location filename="../qmpchanneleditor.ui" line="275"/> <source>Mixer</source> - <translation type="unfinished"></translation> + <translation>混音</translation> </message> <message> <location filename="../qmpchanneleditor.ui" line="332"/> @@ -134,32 +134,32 @@ <message> <location filename="../qmpchannelswindow.ui" line="26"/> <source>Channels</source> - <translation type="unfinished">通道</translation> + <translation>通道</translation> </message> <message> <location filename="../qmpchannelswindow.ui" line="72"/> <source>A</source> - <translation type="unfinished"></translation> + <translation>活动</translation> </message> <message> <location filename="../qmpchannelswindow.ui" line="77"/> <source>M</source> - <translation type="unfinished"></translation> + <translation>静音</translation> </message> <message> <location filename="../qmpchannelswindow.ui" line="82"/> <source>S</source> - <translation type="unfinished"></translation> + <translation>独奏</translation> </message> <message> <location filename="../qmpchannelswindow.ui" line="87"/> <source>Device</source> - <translation type="unfinished"></translation> + <translation>输出设备</translation> </message> <message> <location filename="../qmpchannelswindow.ui" line="92"/> <source>Preset</source> - <translation type="unfinished">乐器</translation> + <translation>乐器</translation> </message> <message> <location filename="../qmpchannelswindow.ui" line="97"/> @@ -169,22 +169,22 @@ <message> <location filename="../qmpchannelswindow.ui" line="114"/> <source>Save</source> - <translation type="unfinished">保存播放列表</translation> + <translation>保存播放列表</translation> </message> <message> <location filename="../qmpchannelswindow.ui" line="127"/> <source>Load</source> - <translation type="unfinished">打开播放列表</translation> + <translation>打开播放列表</translation> </message> <message> <location filename="../qmpchannelswindow.ui" line="134"/> <source>Unmute All</source> - <translation type="unfinished">取消全部静音</translation> + <translation>取消全部静音</translation> </message> <message> <location filename="../qmpchannelswindow.ui" line="141"/> <source>Unsolo All</source> - <translation type="unfinished">取消全部独奏</translation> + <translation>取消全部独奏</translation> </message> </context> <context> @@ -192,53 +192,53 @@ <message> <location filename="../qmpefxwindow.ui" line="26"/> <source>Effects</source> - <translation type="unfinished">效果</translation> + <translation>效果</translation> </message> <message> <location filename="../qmpefxwindow.ui" line="32"/> <source>Reverb</source> - <translation type="unfinished">混响</translation> + <translation>混响</translation> </message> <message> <location filename="../qmpefxwindow.ui" line="121"/> <source>Room</source> - <translation type="unfinished">房间大小</translation> + <translation>房间大小</translation> </message> <message> <location filename="../qmpefxwindow.ui" line="147"/> <source>Damp</source> - <translation type="unfinished">衰减</translation> + <translation>衰减</translation> </message> <message> <location filename="../qmpefxwindow.ui" line="176"/> <source>Width</source> - <translation type="unfinished">声场</translation> + <translation>声场</translation> </message> <message> <location filename="../qmpefxwindow.ui" line="202"/> <location filename="../qmpefxwindow.ui" line="376"/> <source>Level</source> - <translation type="unfinished">音量</translation> + <translation>音量</translation> </message> <message> <location filename="../qmpefxwindow.ui" line="226"/> <source>Chorus</source> - <translation type="unfinished">和声</translation> + <translation>和声</translation> </message> <message> <location filename="../qmpefxwindow.ui" line="321"/> <source>Feedback</source> - <translation type="unfinished">和声数量</translation> + <translation>和声数量</translation> </message> <message> <location filename="../qmpefxwindow.ui" line="347"/> <source>Rate</source> - <translation type="unfinished">频率</translation> + <translation>频率</translation> </message> <message> <location filename="../qmpefxwindow.ui" line="363"/> <source>Depth</source> - <translation type="unfinished">延迟</translation> + <translation>延迟</translation> </message> <message> <location filename="../qmpefxwindow.ui" line="424"/> @@ -248,12 +248,12 @@ <message> <location filename="../qmpefxwindow.ui" line="437"/> <source>Sine</source> - <translation type="unfinished">正弦</translation> + <translation>正弦</translation> </message> <message> <location filename="../qmpefxwindow.ui" line="450"/> <source>Trian&gle</source> - <translation type="unfinished"></translation> + <translation>三角波(&g)</translation> </message> </context> <context> @@ -261,7 +261,7 @@ <message> <location filename="../qmphelpwindow.ui" line="20"/> <source>Help</source> - <translation type="unfinished">帮助</translation> + <translation>帮助</translation> </message> </context> <context> @@ -269,47 +269,47 @@ <message> <location filename="../qmpinfowindow.ui" line="20"/> <source>File Information</source> - <translation type="unfinished">文件信息</translation> + <translation>文件信息</translation> </message> <message> <location filename="../qmpinfowindow.ui" line="26"/> <source>File name: </source> - <translation type="unfinished">文件名:</translation> + <translation>文件名:</translation> </message> <message> <location filename="../qmpinfowindow.ui" line="35"/> <source>Tempo: </source> - <translation type="unfinished">速度:</translation> + <translation>速度:</translation> </message> <message> <location filename="../qmpinfowindow.ui" line="42"/> <source>Key Sig.: </source> - <translation type="unfinished">调式:</translation> + <translation>调式:</translation> </message> <message> <location filename="../qmpinfowindow.ui" line="49"/> <source>Time Sig.:</source> - <translation type="unfinished">节拍:</translation> + <translation>节拍:</translation> </message> <message> <location filename="../qmpinfowindow.ui" line="58"/> <source>Title: </source> - <translation type="unfinished">标题:</translation> + <translation>标题:</translation> </message> <message> <location filename="../qmpinfowindow.ui" line="65"/> <source>Copyright: </source> - <translation type="unfinished">作者:</translation> + <translation>作者:</translation> </message> <message> <location filename="../qmpinfowindow.ui" line="74"/> <source>Note count: </source> - <translation type="unfinished">音符数:</translation> + <translation>音符数:</translation> </message> <message> <location filename="../qmpinfowindow.ui" line="81"/> <source>File standard: </source> - <translation type="unfinished">文件标准:</translation> + <translation>文件标准:</translation> </message> </context> <context> @@ -327,32 +327,32 @@ <message> <location filename="../qmpmainwindow.ui" line="126"/> <source><html><head/><body><p>Poly</p></body></html></source> - <translation type="unfinished"><html><head/><body><p>复音</p></body></html></translation> + <translation><html><head/><body><p>复音</p></body></html></translation> </message> <message> <location filename="../qmpmainwindow.ui" line="390"/> <source>Channels</source> - <translation type="unfinished">通道</translation> + <translation>通道</translation> </message> <message> <location filename="../qmpmainwindow.ui" line="419"/> <source>Playlist</source> - <translation type="unfinished">播放列表</translation> + <translation>播放列表</translation> </message> <message> <location filename="../qmpmainwindow.ui" line="454"/> <source>Effects</source> - <translation type="unfinished">效果</translation> + <translation>效果</translation> </message> <message> <location filename="../qmpmainwindow.ui" line="483"/> <source>Visualization</source> - <translation type="unfinished">可视化</translation> + <translation>可视化</translation> </message> <message> <location filename="../qmpmainwindow.ui" line="539"/> <source>Master</source> - <translation type="unfinished">主音量</translation> + <translation>主音量</translation> </message> <message> <location filename="../qmpmainwindow.ui" line="105"/> @@ -368,17 +368,17 @@ <message> <location filename="../qmpmainwindow.cpp" line="72"/> <source>File Information</source> - <translation type="unfinished">文件信息</translation> + <translation>文件信息</translation> </message> <message> <location filename="../qmpmainwindow.cpp" line="73"/> <source>Render to Wave</source> - <translation type="unfinished">输出到wav文件</translation> + <translation>输出到wav文件</translation> </message> <message> <location filename="../qmpmainwindow.cpp" line="74"/> <source>Panic</source> - <translation type="unfinished">关闭所有音符</translation> + <translation>关闭所有音符</translation> </message> </context> <context> @@ -386,79 +386,79 @@ <message> <location filename="../qmpplistwindow.ui" line="29"/> <source>Playlist</source> - <translation type="unfinished">播放列表</translation> + <translation>播放列表</translation> </message> <message> <location filename="../qmpplistwindow.ui" line="97"/> <source>Add</source> - <translation type="unfinished">添加</translation> + <translation>添加</translation> </message> <message> <location filename="../qmpplistwindow.ui" line="225"/> <source>Add Folder</source> - <translation type="unfinished">添加文件夹</translation> + <translation>添加文件夹</translation> </message> <message> <location filename="../qmpplistwindow.ui" line="161"/> <location filename="../qmpplistwindow.cpp" line="188"/> <location filename="../qmpplistwindow.cpp" line="296"/> <source>Repeat Off</source> - <translation type="unfinished">循环关</translation> + <translation>循环关</translation> </message> <message> <location filename="../qmpplistwindow.ui" line="257"/> <location filename="../qmpplistwindow.cpp" line="213"/> <location filename="../qmpplistwindow.cpp" line="289"/> <source>Shuffle Off</source> - <translation type="unfinished">随机关</translation> + <translation>随机关</translation> </message> <message> <location filename="../qmpplistwindow.ui" line="65"/> <source>Save</source> - <translation type="unfinished">保存列表</translation> + <translation>保存列表</translation> </message> <message> <location filename="../qmpplistwindow.ui" line="129"/> <source>Load</source> - <translation type="unfinished">加载列表</translation> + <translation>加载列表</translation> </message> <message> <location filename="../qmpplistwindow.ui" line="193"/> <source>Remove</source> - <translation type="unfinished">移除</translation> + <translation>移除</translation> </message> <message> <location filename="../qmpplistwindow.ui" line="289"/> <source>Clear</source> - <translation type="unfinished">清空</translation> + <translation>清空</translation> </message> <message> <location filename="../qmpplistwindow.cpp" line="192"/> <location filename="../qmpplistwindow.cpp" line="300"/> <source>Repeat One</source> - <translation type="unfinished">循环当前</translation> + <translation>循环当前</translation> </message> <message> <location filename="../qmpplistwindow.cpp" line="196"/> <location filename="../qmpplistwindow.cpp" line="304"/> <source>Repeat All</source> - <translation type="unfinished">循环全部</translation> + <translation>循环全部</translation> </message> <message> <location filename="../qmpplistwindow.cpp" line="208"/> <location filename="../qmpplistwindow.cpp" line="284"/> <source>Shuffle On</source> - <translation type="unfinished">随机开</translation> + <translation>随机开</translation> </message> <message> <location filename="../qmpplistwindow.cpp" line="259"/> <source>Save playlist</source> - <translation type="unfinished">保存播放列表</translation> + <translation>保存播放列表</translation> </message> <message> <location filename="../qmpplistwindow.cpp" line="272"/> <source>Load playlist</source> - <translation type="unfinished">加载播放列表</translation> + <translation>加载播放列表</translation> </message> </context> <context> @@ -466,27 +466,27 @@ <message> <location filename="../qmppresetselect.ui" line="26"/> <source>Preset Selection</source> - <translation type="unfinished">乐器选择</translation> + <translation>乐器选择</translation> </message> <message> <location filename="../qmppresetselect.ui" line="39"/> <source>Bank</source> - <translation type="unfinished">乐器库</translation> + <translation>乐器库</translation> </message> <message> <location filename="../qmppresetselect.ui" line="66"/> <source>Preset</source> - <translation type="unfinished">乐器</translation> + <translation>乐器</translation> </message> <message> <location filename="../qmppresetselect.ui" line="114"/> <source>OK</source> - <translation type="unfinished">确定</translation> + <translation>确定</translation> </message> <message> <location filename="../qmppresetselect.ui" line="101"/> <source>Cancel</source> - <translation type="unfinished">取消</translation> + <translation>取消</translation> </message> </context> <context> @@ -494,17 +494,17 @@ <message> <location filename="../qmpsettingswindow.ui" line="20"/> <source>Settings</source> - <translation type="unfinished">选项</translation> + <translation>选项</translation> </message> <message> <location filename="../qmpsettingswindow.ui" line="30"/> <source>Midi</source> - <translation type="unfinished">MIDI选项</translation> + <translation>MIDI选项</translation> </message> <message> <location filename="../qmpsettingswindow.ui" line="44"/> <source>Default Output Device</source> - <translation type="unfinished">默认输出设备</translation> + <translation>默认输出设备</translation> </message> <message> <location filename="../qmpsettingswindow.ui" line="58"/> @@ -514,22 +514,22 @@ <message> <location filename="../qmpsettingswindow.ui" line="74"/> <source>Disable Midi Mapping</source> - <translation type="unfinished">只使用默认输出设备</translation> + <translation>只使用默认输出设备</translation> </message> <message> <location filename="../qmpsettingswindow.ui" line="87"/> <source>Send SysEx</source> - <translation type="unfinished">发送SysEx指令</translation> + <translation>发送SysEx指令</translation> </message> <message> <location filename="../qmpsettingswindow.ui" line="100"/> <source>Wait for remaining voices before stopping</source> - <translation type="unfinished">停止前等待复音数降为0</translation> + <translation>停止前等待复音数降为0</translation> </message> <message> <location filename="../qmpsettingswindow.ui" line="115"/> <source>Text Encoding</source> - <translation type="unfinished">MIDI文本编码</translation> + <translation type="unfinished">MIDI内文本编码</translation> </message> <message> <location filename="../qmpsettingswindow.ui" line="129"/> @@ -594,12 +594,12 @@ <message> <location filename="../qmpsettingswindow.ui" line="196"/> <source>Audio Buffer Count</source> - <translation type="unfinished">音频缓冲区数量</translation> + <translation>音频缓冲区数量</translation> </message> <message> <location filename="../qmpsettingswindow.ui" line="203"/> <source>Audio Buffer Size</source> - <translation type="unfinished">音频缓冲区大小</translation> + <translation>音频缓冲区大小</translation> </message> <message> <location filename="../qmpsettingswindow.ui" line="217"/> @@ -645,7 +645,7 @@ <message> <location filename="../qmpsettingswindow.ui" line="260"/> <source>Audio Frequency</source> - <translation type="unfinished">采样频率</translation> + <translation>采样频率</translation> </message> <message> <location filename="../qmpsettingswindow.ui" line="271"/> @@ -675,7 +675,7 @@ <message> <location filename="../qmpsettingswindow.ui" line="304"/> <source>Audio Driver</source> - <translation type="unfinished">音频驱动</translation> + <translation>音频驱动</translation> </message> <message> <location filename="../qmpsettingswindow.ui" line="312"/> @@ -710,22 +710,22 @@ <message> <location filename="../qmpsettingswindow.ui" line="355"/> <source>Audio Format</source> - <translation type="unfinished">音频格式</translation> + <translation>音频格式</translation> </message> <message> <location filename="../qmpsettingswindow.ui" line="375"/> <source>Max Polyphony</source> - <translation type="unfinished">最大复音数</translation> + <translation>最大复音数</translation> </message> <message> <location filename="../qmpsettingswindow.ui" line="382"/> <source>Auto bank select mode</source> - <translation type="unfinished">自动乐器库选择方式</translation> + <translation>自动确定乐器库选择方式</translation> </message> <message> <location filename="../qmpsettingswindow.ui" line="389"/> <source>Bank select mode</source> - <translation type="unfinished">乐器库选择方式</translation> + <translation>乐器库选择方式</translation> </message> <message> <location filename="../qmpsettingswindow.ui" line="400"/> @@ -750,42 +750,42 @@ <message> <location filename="../qmpsettingswindow.ui" line="423"/> <source>CPU Cores</source> - <translation type="unfinished">合成器线程数</translation> + <translation>合成器线程数</translation> </message> <message> <location filename="../qmpsettingswindow.ui" line="441"/> <source>Soundfonts</source> - <translation type="unfinished">音源</translation> + <translation>音源</translation> </message> <message> <location filename="../qmpsettingswindow.ui" line="527"/> <source>Behavior</source> - <translation type="unfinished">行为设定</translation> + <translation>行为设定</translation> </message> <message> <location filename="../qmpsettingswindow.ui" line="533"/> <source>Restore last playlist on startup</source> - <translation type="unfinished">启动时,恢复上次的播放列表</translation> + <translation>启动时,恢复上次的播放列表</translation> </message> <message> <location filename="../qmpsettingswindow.ui" line="540"/> <source>Load files in the same folder</source> - <translation type="unfinished">添加同一文件夹下的所有文件</translation> + <translation>添加同一文件夹下的所有文件</translation> </message> <message> <location filename="../qmpsettingswindow.ui" line="547"/> <source>Save dialog status</source> - <translation type="unfinished">保存对话框状态</translation> + <translation>保存对话框状态</translation> </message> <message> <location filename="../qmpsettingswindow.ui" line="554"/> <source>Save parameters in effects window</source> - <translation type="unfinished">保存效果窗口内的设定</translation> + <translation>保存效果窗口内的设定</translation> </message> <message> <location filename="../qmpsettingswindow.ui" line="561"/> <source>Persistent fluidsynth instance</source> - <translation type="unfinished">单一fluidsynth实例</translation> + <translation>单一fluidsynth实例</translation> </message> </context> </TS> |