diff options
-rw-r--r-- | ChangeLog | 4 | ||||
-rw-r--r-- | doc/optionsdialog.html | 1 | ||||
-rw-r--r-- | img/add_i.png | bin | 0 -> 254 bytes | |||
-rw-r--r-- | img/addfolder_i.png | bin | 0 -> 962 bytes | |||
-rw-r--r-- | img/channel_i.png | bin | 0 -> 305 bytes | |||
-rw-r--r-- | img/clear_i.png | bin | 0 -> 361 bytes | |||
-rw-r--r-- | img/down_i.png | bin | 0 -> 316 bytes | |||
-rw-r--r-- | img/effects_i.png | bin | 0 -> 774 bytes | |||
-rw-r--r-- | img/kb.png | bin | 0 -> 10948 bytes | |||
-rw-r--r-- | img/list_i.png | bin | 0 -> 256 bytes | |||
-rw-r--r-- | img/load_i.png | bin | 0 -> 890 bytes | |||
-rw-r--r-- | img/next_i.png | bin | 0 -> 632 bytes | |||
-rw-r--r-- | img/pause_i.png | bin | 0 -> 237 bytes | |||
-rw-r--r-- | img/play_i.png | bin | 0 -> 577 bytes | |||
-rw-r--r-- | img/prev_i.png | bin | 0 -> 672 bytes | |||
-rw-r--r-- | img/remove_i.png | bin | 0 -> 191 bytes | |||
-rw-r--r-- | img/repeat-all_i.png | bin | 0 -> 1176 bytes | |||
-rw-r--r-- | img/repeat-base_i.png | bin | 0 -> 865 bytes | |||
-rw-r--r-- | img/repeat-non_i.png | bin | 0 -> 951 bytes | |||
-rw-r--r-- | img/repeat-one_i.png | bin | 0 -> 956 bytes | |||
-rw-r--r-- | img/save_i.png | bin | 0 -> 1072 bytes | |||
-rw-r--r-- | img/save_i.svg | 523 | ||||
-rw-r--r-- | img/settings_i.png | bin | 0 -> 919 bytes | |||
-rw-r--r-- | img/shuffle-off_i.png | bin | 0 -> 910 bytes | |||
-rw-r--r-- | img/shuffle_i.png | bin | 0 -> 819 bytes | |||
-rw-r--r-- | img/stop_i.png | bin | 0 -> 242 bytes | |||
-rw-r--r-- | img/up_i.png | bin | 0 -> 312 bytes | |||
-rw-r--r-- | img/visualization_i.png | bin | 0 -> 302 bytes | |||
-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 |
35 files changed, 755 insertions, 99 deletions
@@ -1,3 +1,7 @@ +2016-09-23 0.8.3 alpha +Add a set of icons for dark themes and a option to +change the icon theme. + 2016-09-16 0.8.3 alpha Minor bug fix. Update documentation. diff --git a/doc/optionsdialog.html b/doc/optionsdialog.html index efa5baf..c512447 100644 --- a/doc/optionsdialog.html +++ b/doc/optionsdialog.html @@ -72,6 +72,7 @@ <li>Save parameters in effects window</li> <li>Persistent fluidsynth instance*: If checked, the synthesizer engine will keep running through the whole session. Otherwise it is restarted every time when a new song is played.</li> + <li>Icon Theme: Leave it unchanged unless you can't see the icons on those buttons.</li> </ul> <img src="../img/options5.png"><br> Plugin manager. View details of plugins, enable or disable them here.<br> diff --git a/img/add_i.png b/img/add_i.png Binary files differnew file mode 100644 index 0000000..5143396 --- /dev/null +++ b/img/add_i.png diff --git a/img/addfolder_i.png b/img/addfolder_i.png Binary files differnew file mode 100644 index 0000000..1c784f3 --- /dev/null +++ b/img/addfolder_i.png diff --git a/img/channel_i.png b/img/channel_i.png Binary files differnew file mode 100644 index 0000000..30bba80 --- /dev/null +++ b/img/channel_i.png diff --git a/img/clear_i.png b/img/clear_i.png Binary files differnew file mode 100644 index 0000000..671b7b7 --- /dev/null +++ b/img/clear_i.png diff --git a/img/down_i.png b/img/down_i.png Binary files differnew file mode 100644 index 0000000..e77d19f --- /dev/null +++ b/img/down_i.png diff --git a/img/effects_i.png b/img/effects_i.png Binary files differnew file mode 100644 index 0000000..b655c5f --- /dev/null +++ b/img/effects_i.png diff --git a/img/kb.png b/img/kb.png Binary files differnew file mode 100644 index 0000000..832bee4 --- /dev/null +++ b/img/kb.png diff --git a/img/list_i.png b/img/list_i.png Binary files differnew file mode 100644 index 0000000..73a0ab5 --- /dev/null +++ b/img/list_i.png diff --git a/img/load_i.png b/img/load_i.png Binary files differnew file mode 100644 index 0000000..7b2de7f --- /dev/null +++ b/img/load_i.png diff --git a/img/next_i.png b/img/next_i.png Binary files differnew file mode 100644 index 0000000..7e32146 --- /dev/null +++ b/img/next_i.png diff --git a/img/pause_i.png b/img/pause_i.png Binary files differnew file mode 100644 index 0000000..499ef4c --- /dev/null +++ b/img/pause_i.png diff --git a/img/play_i.png b/img/play_i.png Binary files differnew file mode 100644 index 0000000..e38e1a9 --- /dev/null +++ b/img/play_i.png diff --git a/img/prev_i.png b/img/prev_i.png Binary files differnew file mode 100644 index 0000000..b4b0312 --- /dev/null +++ b/img/prev_i.png diff --git a/img/remove_i.png b/img/remove_i.png Binary files differnew file mode 100644 index 0000000..50dfc42 --- /dev/null +++ b/img/remove_i.png diff --git a/img/repeat-all_i.png b/img/repeat-all_i.png Binary files differnew file mode 100644 index 0000000..6984458 --- /dev/null +++ b/img/repeat-all_i.png diff --git a/img/repeat-base_i.png b/img/repeat-base_i.png Binary files differnew file mode 100644 index 0000000..80c4532 --- /dev/null +++ b/img/repeat-base_i.png diff --git a/img/repeat-non_i.png b/img/repeat-non_i.png Binary files differnew file mode 100644 index 0000000..050952e --- /dev/null +++ b/img/repeat-non_i.png diff --git a/img/repeat-one_i.png b/img/repeat-one_i.png Binary files differnew file mode 100644 index 0000000..fa1cc35 --- /dev/null +++ b/img/repeat-one_i.png diff --git a/img/save_i.png b/img/save_i.png Binary files differnew file mode 100644 index 0000000..11959f6 --- /dev/null +++ b/img/save_i.png diff --git a/img/save_i.svg b/img/save_i.svg new file mode 100644 index 0000000..c021f8f --- /dev/null +++ b/img/save_i.svg @@ -0,0 +1,523 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="64" + height="64" + id="svg2985" + version="1.1" + inkscape:version="0.91 r13725" + sodipodi:docname="save_i.svg" + inkscape:export-filename="/home/chrisoft/devel/qmidiplayer/qmidiplayer/img/save.png" + inkscape:export-xdpi="45" + inkscape:export-ydpi="45"> + <title + id="title3080">Save all</title> + <defs + id="defs2987"> + <linearGradient + y2="-5.9535513" + x2="24.285765" + y1="14.716651" + x1="9.7099533" + gradientTransform="matrix(1.117647,0,0,1.1,-290.08518,-48.65)" + gradientUnits="userSpaceOnUse" + id="linearGradient5471" + xlink:href="#linearGradient6056" + inkscape:collect="always" /> + <linearGradient + y2="7.8355665" + x2="16.552481" + y1="2.9626985" + x1="16.552481" + gradientTransform="matrix(0.9803921,0,0,1.1,-287.3793,-48.3)" + gradientUnits="userSpaceOnUse" + id="linearGradient5467" + xlink:href="#linearGradient6108" + inkscape:collect="always" /> + <linearGradient + gradientTransform="translate(-288.67342,-47.5)" + y2="3.6734154" + x2="14.04664" + y1="6.504528" + x1="18.963779" + gradientUnits="userSpaceOnUse" + id="linearGradient5464" + xlink:href="#linearGradient4916" + inkscape:collect="always" /> + <linearGradient + y2="3.7493312" + x2="18.561535" + y1="4.5279388" + x1="17.68836" + gradientTransform="matrix(1.3472897,0,0,1.3356241,-295.4037,-49.007697)" + gradientUnits="userSpaceOnUse" + id="linearGradient5462" + xlink:href="#linearGradient6076" + inkscape:collect="always" /> + <linearGradient + inkscape:collect="always" + id="linearGradient5897"> + <stop + style="stop-color:#729fcf;stop-opacity:1;" + offset="0" + id="stop5899" /> + <stop + style="stop-color:#729fcf;stop-opacity:0;" + offset="1" + id="stop5901" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + id="linearGradient4916"> + <stop + style="stop-color:#888a85;stop-opacity:1" + offset="0" + id="stop4918" /> + <stop + style="stop-color:#5d5f5b;stop-opacity:0;" + offset="1" + id="stop4920" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + id="linearGradient6108"> + <stop + style="stop-color:#000000;stop-opacity:1;" + offset="0" + id="stop6110" /> + <stop + style="stop-color:#000000;stop-opacity:0;" + offset="1" + id="stop6112" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + id="linearGradient6076"> + <stop + style="stop-color:#ffffff;stop-opacity:1" + offset="0" + id="stop6078" /> + <stop + style="stop-color:#cbcbcb;stop-opacity:1" + offset="1" + id="stop6080" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + id="linearGradient6056"> + <stop + style="stop-color:#ffffff;stop-opacity:1" + offset="0" + id="stop6058" /> + <stop + style="stop-color:#d3d7cf;stop-opacity:1" + offset="1" + id="stop6060" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient6056" + id="linearGradient6062" + x1="9.7099533" + y1="14.716651" + x2="24.285765" + y2="-5.9535513" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1.117647,0,0,1.1,-1.4117645,-1.15)" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient6076" + id="linearGradient6082" + x1="17.68836" + y1="4.5279388" + x2="18.561535" + y2="3.7493312" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1.3472897,0,0,1.3356241,-6.7302791,-1.5076969)" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient6108" + id="linearGradient6114" + x1="16.552481" + y1="2.9626985" + x2="16.552481" + y2="7.8355665" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.9803921,0,0,1.1,1.2941182,-0.8000001)" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient4916" + id="linearGradient4922" + x1="18.963779" + y1="6.504528" + x2="14.04664" + y2="3.6734154" + gradientUnits="userSpaceOnUse" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient5897" + id="linearGradient5903" + x1="4.1902652" + y1="25.646143" + x2="14.649404" + y2="12.007792" + gradientUnits="userSpaceOnUse" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient5897" + id="linearGradient5929" + gradientUnits="userSpaceOnUse" + x1="4.1902652" + y1="25.646143" + x2="14.649404" + y2="12.007792" /> + <linearGradient + gradientUnits="userSpaceOnUse" + y2="19.035276" + x2="21.347517" + y1="16.874674" + x1="19.28145" + id="linearGradient6051" + xlink:href="#linearGradient6045" + inkscape:collect="always" + gradientTransform="matrix(0.9168831,0,0,0.9169468,1.6694447,1.4811158)" /> + <linearGradient + gradientTransform="matrix(0.2947292,0,0,0.2947292,9.2434959,8.1106157)" + gradientUnits="userSpaceOnUse" + y2="22.40896" + x2="52.986004" + y1="17.590158" + x1="48.690983" + id="linearGradient5914" + xlink:href="#linearGradient5908" + inkscape:collect="always" /> + <linearGradient + gradientTransform="matrix(0.4140801,0,0,0.4496565,2.2850397,5.3289509)" + gradientUnits="userSpaceOnUse" + y2="18.158607" + x2="56.384373" + y1="14.8742" + x1="53.454674" + id="linearGradient4930" + xlink:href="#linearGradient4924" + inkscape:collect="always" /> + <linearGradient + gradientTransform="matrix(0.7214926,0,0,0.7210249,4.4502003,-1.0759528)" + gradientUnits="userSpaceOnUse" + y2="23.074486" + x2="19.445436" + y1="28.73134" + x1="25.279068" + id="linearGradient5933" + xlink:href="#linearGradient5927" + inkscape:collect="always" /> + <radialGradient + r="12.5" + fy="16.093563" + fx="48.178337" + cy="16.093563" + cx="48.178337" + gradientTransform="matrix(0.117808,0.165688,-0.160285,0.113967,37.8996,24.60705)" + gradientUnits="userSpaceOnUse" + id="radialGradient3740" + xlink:href="#linearGradient2812" + inkscape:collect="always" /> + <radialGradient + gradientTransform="matrix(0.710234,0.703965,-0.828897,0.836278,-17.34172,-12.95082)" + gradientUnits="userSpaceOnUse" + r="12.5" + fy="17.172701" + fx="18.389807" + cy="17.172701" + cx="18.389807" + id="radialGradient2818" + xlink:href="#linearGradient2812" + inkscape:collect="always" /> + <linearGradient + gradientTransform="translate(-21.33061,6.070707)" + gradientUnits="userSpaceOnUse" + y2="23.00688" + x2="42.993927" + y1="18.054306" + x1="42.993927" + id="linearGradient2802" + xlink:href="#linearGradient2796" + inkscape:collect="always" /> + <radialGradient + gradientTransform="matrix(1.515341,0.01822282,-0.01854671,1.542275,-9.89215,-9.850491)" + gradientUnits="userSpaceOnUse" + r="9.5" + fy="17.498907" + fx="19.825111" + cy="17.498907" + cx="19.825111" + id="radialGradient2794" + xlink:href="#linearGradient2788" + inkscape:collect="always" /> + <radialGradient + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1,0,0,0.176471,0,13.58824)" + r="8.5" + fy="16.5" + fx="9.5" + cy="16.5" + cx="9.5" + id="radialGradient3221" + xlink:href="#linearGradient3215" + inkscape:collect="always" /> + <linearGradient + id="linearGradient3215" + inkscape:collect="always"> + <stop + id="stop3217" + offset="0" + style="stop-color:#2e3436;stop-opacity:1;" /> + <stop + id="stop3219" + offset="1" + style="stop-color:#2e3436;stop-opacity:0;" /> + </linearGradient> + <linearGradient + id="linearGradient2788"> + <stop + id="stop2790" + offset="0" + style="stop-color:#729fcf;stop-opacity:1;" /> + <stop + id="stop2792" + offset="1" + style="stop-color:white;stop-opacity:1;" /> + </linearGradient> + <linearGradient + id="linearGradient2796" + inkscape:collect="always"> + <stop + id="stop2798" + offset="0" + style="stop-color:#204a87;stop-opacity:1;" /> + <stop + id="stop2800" + offset="1" + style="stop-color:#1a3c6e;stop-opacity:1" /> + </linearGradient> + <linearGradient + id="linearGradient2812"> + <stop + id="stop2814" + offset="0" + style="stop-color:#3070ce;stop-opacity:1" /> + <stop + id="stop2816" + offset="1" + style="stop-color:#1a3c6e;stop-opacity:1;" /> + </linearGradient> + <linearGradient + id="linearGradient5927" + inkscape:collect="always"> + <stop + id="stop5929" + offset="0" + style="stop-color:#c17d11;stop-opacity:1;" /> + <stop + id="stop5931" + offset="1" + style="stop-color:#c17d11;stop-opacity:0;" /> + </linearGradient> + <linearGradient + id="linearGradient4924" + inkscape:collect="always"> + <stop + id="stop4926" + offset="0" + style="stop-color:#ef2929;stop-opacity:1" /> + <stop + id="stop4928" + offset="1" + style="stop-color:#cc0000;stop-opacity:1" /> + </linearGradient> + <linearGradient + id="linearGradient5908" + inkscape:collect="always"> + <stop + id="stop5910" + offset="0" + style="stop-color:#d3d7cf;stop-opacity:1;" /> + <stop + id="stop5912" + offset="1" + style="stop-color:#888a85;stop-opacity:1" /> + </linearGradient> + <linearGradient + id="linearGradient6045" + inkscape:collect="always"> + <stop + id="stop6047" + offset="0" + style="stop-color:#ffffff;stop-opacity:1;" /> + <stop + id="stop6049" + offset="1" + style="stop-color:#ffffff;stop-opacity:0;" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient6045" + id="linearGradient6018" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.9168831,0,0,0.9169468,3.9818882,-0.8641132)" + x1="19.28145" + y1="16.874674" + x2="21.347517" + y2="19.035276" /> + <linearGradient + id="linearGradient5222"> + <stop + id="stop5224" + offset="0" + style="stop-color:#7ea5d6;stop-opacity:1;" /> + <stop + id="stop5226" + offset="1" + style="stop-color:#3465a4;stop-opacity:1;" /> + </linearGradient> + <linearGradient + id="linearGradient5269"> + <stop + id="stop5271" + offset="0" + style="stop-color:#c6c6c6;stop-opacity:1;" /> + <stop + style="stop-color:#ffffff;stop-opacity:1;" + offset="0.5" + id="stop5277" /> + <stop + id="stop5273" + offset="1" + style="stop-color:#a5a5a5;stop-opacity:1;" /> + </linearGradient> + </defs> + <sodipodi:namedview + id="base" + pagecolor="#000000" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0" + inkscape:pageshadow="2" + inkscape:zoom="7" + inkscape:cx="113.01836" + inkscape:cy="50.04465" + inkscape:current-layer="layer1" + showgrid="true" + inkscape:grid-bbox="true" + inkscape:document-units="px" + inkscape:window-width="2544" + inkscape:window-height="1344" + inkscape:window-x="0" + inkscape:window-y="0" + inkscape:window-maximized="1" /> + <metadata + id="metadata2990"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + <dc:title>Save all</dc:title> + <dc:creator> + <cc:Agent> + <dc:title /> + </cc:Agent> + </dc:creator> + <dc:description>Based on Jakub Steiner "Floppy" icon from GTK sock icon</dc:description> + <cc:license + rdf:resource="http://creativecommons.org/licenses/LGPL/2.1/" /> + </cc:Work> + </rdf:RDF> + </metadata> + <g + id="layer1" + inkscape:label="Layer 1" + inkscape:groupmode="layer" + transform="translate(0,16)"> + <g + id="g4210" + transform="matrix(1.2253938,0,0,1.2253938,-8.5703354,-3.1493052)"> + <path + inkscape:connector-curvature="0" + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#808080;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:1.4865638;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" + d="m 17.53,0.558 1.41e-4,26.466099 3.364721,3.364721 27.791138,1.8e-4 0,0 0,-29.830652 0,-3.48e-4 -31.156,0 z" + id="path4236" + sodipodi:nodetypes="ccccccccc" /> + <path + inkscape:connector-curvature="0" + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.99999994;marker:none;enable-background:accumulate" + d="M 44.988152,4.3184227 44.988,16.196 l 0,0 -23.785,0 0,0 1.29e-4,-11.8775773 z" + id="path4240" + sodipodi:nodetypes="ccccccc" /> + <rect + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#333333;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.99999994;marker:none;enable-background:accumulate" + id="rect4242" + width="23.785023" + height="4.4596915" + x="21.203129" + y="-0.15622033" /> + <rect + y="2.8169074" + x="21.203129" + height="1.4865638" + width="23.785023" + id="rect4244" + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#e6e6e6;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.99999994;marker:none;enable-background:accumulate" /> + <rect + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.99999994;marker:none;enable-background:accumulate" + id="rect4246" + width="23.785023" + height="1.4865638" + x="21.203129" + y="-0.15622033" /> + <rect + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#babdb6;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.99999994;marker:none;enable-background:accumulate" + id="rect4248" + width="17.838766" + height="1.4865639" + x="24.176258" + y="7.2765989" /> + <rect + y="11.736291" + x="24.176258" + height="1.4865639" + width="17.838766" + id="rect4250" + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#babdb6;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.99999994;marker:none;enable-background:accumulate" /> + <path + inkscape:connector-curvature="0" + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#999999;fill-opacity:1;fill-rule:evenodd;stroke:#555753;stroke-width:1.4865638;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" + d="M 41.271742,30.318339 41.272,18.426 l 0,0 -17.839,0 0,0 -2.5e-5,11.892339 z" + id="path4254" + sodipodi:nodetypes="ccccccc" /> + <rect + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#cccccc;fill-opacity:1;fill-rule:evenodd;stroke:#555753;stroke-width:1.4865638;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" + id="rect4258" + width="2.9731278" + height="5.8533459" + x="27.892668" + y="21.491867" /> + <path + inkscape:connector-curvature="0" + sodipodi:nodetypes="ccccccc" + id="path4260" + d="M 39.899528,28.938976 39.9,19.912 l 0,0 -15.095,0 0,0 1.87e-4,9.026976 z" + style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:0.34482763;fill:none;stroke:#cccccc;stroke-width:1.48699999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" /> + </g> + </g> +</svg> diff --git a/img/settings_i.png b/img/settings_i.png Binary files differnew file mode 100644 index 0000000..ca682b7 --- /dev/null +++ b/img/settings_i.png diff --git a/img/shuffle-off_i.png b/img/shuffle-off_i.png Binary files differnew file mode 100644 index 0000000..9f2206f --- /dev/null +++ b/img/shuffle-off_i.png diff --git a/img/shuffle_i.png b/img/shuffle_i.png Binary files differnew file mode 100644 index 0000000..6c3a61d --- /dev/null +++ b/img/shuffle_i.png diff --git a/img/stop_i.png b/img/stop_i.png Binary files differnew file mode 100644 index 0000000..cf30c28 --- /dev/null +++ b/img/stop_i.png diff --git a/img/up_i.png b/img/up_i.png Binary files differnew file mode 100644 index 0000000..0ff90c0 --- /dev/null +++ b/img/up_i.png diff --git a/img/visualization_i.png b/img/visualization_i.png Binary files differnew file mode 100644 index 0000000..b1a7a93 --- /dev/null +++ b/img/visualization_i.png 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> |