Better handling of system shutdown. Now using the Qt event system to broadcast a special event when the system is going to shutdown (i.e. WM_QUERYENDSESSION or WM_ENDSESSION). This gives each top-level widget the chance to react to the system shutdown *before* we return from the message handler. Doing any clean-up after returning from the message handler is impossible, because Windows will kill the process immediately after WM_ENDSESSION has been processed. Note that Windows XP (and earlier) will NOT send WM_QUERYENDSESSION or WM_ENDSESSION to processes that have a console attached! Therefore, if we have a debug console attached, we cannot do anything on these systems. Our process will be killed without any notification...

Also improved LameXP's IPC mechanism: There now are several slots for IPC-commands in the shared memory area ("queue support"). This way, the sender can post several commands in sequence without getting blocked. The receiver can process those at a later time.
This commit is contained in:
LoRd_MuldeR 2011-12-29 14:42:20 +01:00
parent 1bbda2c030
commit 1f001a65e2
17 changed files with 623 additions and 493 deletions

View File

@ -26,7 +26,9 @@ a:visited { color: #0000EE; }
<li>Implemented coalescing of update signals to reduce the CPU usage of the LameXP process (<a href="http://forum.doom9.org/showpost.php?p=1539631&postcount=507" target="_blank">details</a>) <li>Implemented coalescing of update signals to reduce the CPU usage of the LameXP process (<a href="http://forum.doom9.org/showpost.php?p=1539631&postcount=507" target="_blank">details</a>)
<li>Run more than four instances in parallel on systems with more than four CPU cores (<a href="FAQ.html#89cbd3d0" target="_blank">details</a>) <li>Run more than four instances in parallel on systems with more than four CPU cores (<a href="FAQ.html#89cbd3d0" target="_blank">details</a>)
<li>Improved handling of different character encodings for Playlist and Cue Sheet import <li>Improved handling of different character encodings for Playlist and Cue Sheet import
<li>Improved LameXP inter-process communication by adding queue support
<li>Workaround for a bug that causes MediaInfo to not detect the duration of Wave files (64-Bit only) <li>Workaround for a bug that causes MediaInfo to not detect the duration of Wave files (64-Bit only)
<li>Prevent LameXP from blocking a system shutdown (encoding process is aborted, if necessary)
</ul><br> </ul><br>
<a name="4.03"></a>Changes between v4.02 and v4.03:<br><ul> <a name="4.03"></a>Changes between v4.02 and v4.03:<br><ul>

View File

@ -1412,9 +1412,9 @@
</message> </message>
<message> <message>
<location filename="../../gui/MainWindow.ui" line="3590"/> <location filename="../../gui/MainWindow.ui" line="3590"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="975"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1000"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1001"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1026"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1026"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1051"/>
<source>Check for Updates</source> <source>Check for Updates</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@ -1455,13 +1455,13 @@
</message> </message>
<message> <message>
<location filename="../../gui/MainWindow.ui" line="3659"/> <location filename="../../gui/MainWindow.ui" line="3659"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1475"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1500"/>
<source>Disable Update Reminder</source> <source>Disable Update Reminder</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../gui/MainWindow.ui" line="3667"/> <location filename="../../gui/MainWindow.ui" line="3667"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1501"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1526"/>
<source>Disable Sound Effects</source> <source>Disable Sound Effects</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@ -1547,7 +1547,7 @@
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="502"/> <location filename="../../src/Dialog_MainWindow.cpp" line="502"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="3035"/> <location filename="../../src/Dialog_MainWindow.cpp" line="3060"/>
<source>Access Denied</source> <source>Access Denied</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@ -1647,604 +1647,604 @@
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="943"/> <location filename="../../src/Dialog_MainWindow.cpp" line="968"/>
<source>License Declined</source> <source>License Declined</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="943"/> <location filename="../../src/Dialog_MainWindow.cpp" line="968"/>
<source>You have declined the license. Consequently the application will exit now!</source> <source>You have declined the license. Consequently the application will exit now!</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="943"/> <location filename="../../src/Dialog_MainWindow.cpp" line="968"/>
<source>Goodbye!</source> <source>Goodbye!</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="975"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1000"/>
<source>LameXP - Expired</source> <source>LameXP - Expired</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="975"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1000"/>
<source>This demo (pre-release) version of LameXP has expired at %1.</source> <source>This demo (pre-release) version of LameXP has expired at %1.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="975"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1000"/>
<source>LameXP is free software and release versions won&apos;t expire.</source> <source>LameXP is free software and release versions won&apos;t expire.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="975"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1000"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1001"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1026"/>
<source>Exit Program</source> <source>Exit Program</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="988"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1013"/>
<source>It seems that a bogus anti-virus software is slowing down the startup of LameXP.</source> <source>It seems that a bogus anti-virus software is slowing down the startup of LameXP.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="989"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1014"/>
<source>Please refer to the %1 document for details and solutions!</source> <source>Please refer to the %1 document for details and solutions!</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="990"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1015"/>
<source>Slow Startup</source> <source>Slow Startup</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="990"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1015"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1067"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1092"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1136"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1161"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1137"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1162"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1641"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1666"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="2978"/> <location filename="../../src/Dialog_MainWindow.cpp" line="3003"/>
<source>Discard</source> <source>Discard</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="990"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1015"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1067"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1092"/>
<source>Don&apos;t Show Again</source> <source>Don&apos;t Show Again</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1001"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1026"/>
<source>Urgent Update</source> <source>Urgent Update</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1001"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1026"/>
<source>Your version of LameXP is more than a year old. Time for an update!</source> <source>Your version of LameXP is more than a year old. Time for an update!</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1001"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1026"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1202"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1227"/>
<source>Ignore</source> <source>Ignore</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1017"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1042"/>
<source>Skipping update check this time, please be patient...</source> <source>Skipping update check this time, please be patient...</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1026"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1051"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1477"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1502"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1487"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1512"/>
<source>Update Reminder</source> <source>Update Reminder</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1026"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1051"/>
<source>Your last update check was more than 14 days ago. Check for updates now?</source> <source>Your last update check was more than 14 days ago. Check for updates now?</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1026"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1051"/>
<source>Your did not check for LameXP updates yet. Check for updates now?</source> <source>Your did not check for LameXP updates yet. Check for updates now?</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1026"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1051"/>
<source>Postpone</source> <source>Postpone</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1045"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1070"/>
<source>LameXP detected that your version of the Nero AAC encoder is outdated!</source> <source>LameXP detected that your version of the Nero AAC encoder is outdated!</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1046"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1071"/>
<source>The current version available is %1 (or later), but you still have version %2 installed.</source> <source>The current version available is %1 (or later), but you still have version %2 installed.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1046"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1071"/>
<source>n/a</source> <source>n/a</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1047"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1072"/>
<source>You can download the latest version of the Nero AAC encoder from the Nero website at:</source> <source>You can download the latest version of the Nero AAC encoder from the Nero website at:</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1049"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1074"/>
<source>(Hint: Please ignore the name of the downloaded ZIP file and check the included &apos;changelog.txt&apos; instead!)</source> <source>(Hint: Please ignore the name of the downloaded ZIP file and check the included &apos;changelog.txt&apos; instead!)</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1050"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1075"/>
<source>AAC Encoder Outdated</source> <source>AAC Encoder Outdated</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1061"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1086"/>
<source>The Nero AAC encoder could not be found. AAC encoding support will be disabled.</source> <source>The Nero AAC encoder could not be found. AAC encoding support will be disabled.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1062"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1087"/>
<source>Please put &apos;neroAacEnc.exe&apos;, &apos;neroAacDec.exe&apos; and &apos;neroAacTag.exe&apos; into the LameXP directory!</source> <source>Please put &apos;neroAacEnc.exe&apos;, &apos;neroAacDec.exe&apos; and &apos;neroAacTag.exe&apos; into the LameXP directory!</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1063"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1088"/>
<source>Your LameXP directory is located here:</source> <source>Your LameXP directory is located here:</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1065"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1090"/>
<source>You can download the Nero AAC encoder for free from the official Nero website at:</source> <source>You can download the Nero AAC encoder for free from the official Nero website at:</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1067"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1092"/>
<source>AAC Support Disabled</source> <source>AAC Support Disabled</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1172"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1197"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1226"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1251"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1236"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1261"/>
<source>LameXP</source> <source>LameXP</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1172"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1197"/>
<source>You must add at least one file to the list before proceeding!</source> <source>You must add at least one file to the list before proceeding!</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1180"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1205"/>
<source>Not Found</source> <source>Not Found</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1180"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1205"/>
<source>Your currently selected TEMP folder does not exist anymore:</source> <source>Your currently selected TEMP folder does not exist anymore:</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1180"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1205"/>
<source>Restore Default</source> <source>Restore Default</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1180"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1205"/>
<source>Cancel</source> <source>Cancel</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1197"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1222"/>
<source>There are less than %1 GB of free diskspace available on your system&apos;s TEMP folder.</source> <source>There are less than %1 GB of free diskspace available on your system&apos;s TEMP folder.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1198"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1223"/>
<source>It is highly recommend to free up more diskspace before proceeding with the encode!</source> <source>It is highly recommend to free up more diskspace before proceeding with the encode!</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1199"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1224"/>
<source>Your TEMP folder is located at:</source> <source>Your TEMP folder is located at:</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1202"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1227"/>
<source>Low Diskspace Warning</source> <source>Low Diskspace Warning</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1202"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1227"/>
<source>Abort Encoding Process</source> <source>Abort Encoding Process</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1202"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1227"/>
<source>Clean Disk Now</source> <source>Clean Disk Now</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1210"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1235"/>
<source>Low Diskspace</source> <source>Low Diskspace</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1210"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1235"/>
<source>You are proceeding with low diskspace. Problems might occur!</source> <source>You are proceeding with low diskspace. Problems might occur!</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1226"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1251"/>
<source>Sorry, an unsupported encoder has been chosen!</source> <source>Sorry, an unsupported encoder has been chosen!</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1236"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1261"/>
<source>Cannot write to the selected output directory.</source> <source>Cannot write to the selected output directory.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1236"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1261"/>
<source>Please choose a different directory!</source> <source>Please choose a different directory!</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1442"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1467"/>
<source>Load Translation</source> <source>Load Translation</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1444"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1469"/>
<source>Translation Files</source> <source>Translation Files</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1475"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1500"/>
<source>Do you really want to disable the update reminder?</source> <source>Do you really want to disable the update reminder?</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1475"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1500"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1501"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1526"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1527"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1552"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1553"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1578"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1639"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1664"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1676"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1701"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1702"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1727"/>
<source>Yes</source> <source>Yes</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1475"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1500"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1501"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1526"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1527"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1552"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1553"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1578"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1639"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1664"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1676"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1701"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1702"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1727"/>
<source>No</source> <source>No</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1477"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1502"/>
<source>The update reminder has been disabled.</source> <source>The update reminder has been disabled.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1477"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1502"/>
<source>Please remember to check for updates at regular intervals!</source> <source>Please remember to check for updates at regular intervals!</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1487"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1512"/>
<source>The update reminder has been re-enabled.</source> <source>The update reminder has been re-enabled.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1501"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1526"/>
<source>Do you really want to disable all sound effects?</source> <source>Do you really want to disable all sound effects?</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1503"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1528"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1513"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1538"/>
<source>Sound Effects</source> <source>Sound Effects</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1503"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1528"/>
<source>All sound effects have been disabled.</source> <source>All sound effects have been disabled.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1513"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1538"/>
<source>The sound effects have been re-enabled.</source> <source>The sound effects have been re-enabled.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1527"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1552"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1529"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1554"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1539"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1564"/>
<source>Nero AAC Notifications</source> <source>Nero AAC Notifications</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1527"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1552"/>
<source>Do you really want to disable all Nero AAC Encoder notifications?</source> <source>Do you really want to disable all Nero AAC Encoder notifications?</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1529"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1554"/>
<source>All Nero AAC Encoder notifications have been disabled.</source> <source>All Nero AAC Encoder notifications have been disabled.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1539"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1564"/>
<source>The Nero AAC Encoder notifications have been re-enabled.</source> <source>The Nero AAC Encoder notifications have been re-enabled.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1553"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1578"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1555"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1580"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1565"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1590"/>
<source>Slow Startup Notifications</source> <source>Slow Startup Notifications</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1553"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1578"/>
<source>Do you really want to disable the slow startup notifications?</source> <source>Do you really want to disable the slow startup notifications?</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1555"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1580"/>
<source>The slow startup notifications have been disabled.</source> <source>The slow startup notifications have been disabled.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1565"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1590"/>
<source>The slow startup notifications have been re-enabled.</source> <source>The slow startup notifications have been re-enabled.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1588"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1613"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1592"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1617"/>
<source>Open Cue Sheet</source> <source>Open Cue Sheet</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1588"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1613"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1594"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1619"/>
<source>Cue Sheet File</source> <source>Cue Sheet File</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1639"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1664"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1641"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1666"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1654"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1679"/>
<source>Beta Updates</source> <source>Beta Updates</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1639"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1664"/>
<source>Do you really want LameXP to check for Beta (pre-release) updates?</source> <source>Do you really want LameXP to check for Beta (pre-release) updates?</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1641"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1666"/>
<source>LameXP will check for Beta (pre-release) updates from now on.</source> <source>LameXP will check for Beta (pre-release) updates from now on.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1641"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1666"/>
<source>Check Now</source> <source>Check Now</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1654"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1679"/>
<source>LameXP will &lt;i&gt;not&lt;/i&gt; check for Beta (pre-release) updates from now on.</source> <source>LameXP will &lt;i&gt;not&lt;/i&gt; check for Beta (pre-release) updates from now on.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1676"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1701"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1678"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1703"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1688"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1713"/>
<source>Hibernate Computer</source> <source>Hibernate Computer</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1676"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1701"/>
<source>Do you really want the computer to be hibernated on shutdown?</source> <source>Do you really want the computer to be hibernated on shutdown?</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1678"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1703"/>
<source>LameXP will hibernate the computer on shutdown from now on.</source> <source>LameXP will hibernate the computer on shutdown from now on.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1688"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1713"/>
<source>LameXP will &lt;i&gt;not&lt;/i&gt; hibernate the computer on shutdown from now on.</source> <source>LameXP will &lt;i&gt;not&lt;/i&gt; hibernate the computer on shutdown from now on.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1702"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1727"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1705"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1730"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1716"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1741"/>
<source>Shell Integration</source> <source>Shell Integration</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1702"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1727"/>
<source>Do you really want to disable the LameXP shell integration?</source> <source>Do you really want to disable the LameXP shell integration?</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1705"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1730"/>
<source>The LameXP shell integration has been disabled.</source> <source>The LameXP shell integration has been disabled.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1716"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1741"/>
<source>The LameXP shell integration has been re-enabled.</source> <source>The LameXP shell integration has been re-enabled.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1813"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1838"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1822"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1847"/>
<source>Add file(s)</source> <source>Add file(s)</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1854"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1879"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1858"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1883"/>
<source>Add Folder</source> <source>Add Folder</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="2233"/> <location filename="../../src/Dialog_MainWindow.cpp" line="2258"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="2276"/> <location filename="../../src/Dialog_MainWindow.cpp" line="2301"/>
<source>New Folder</source> <source>New Folder</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="2276"/> <location filename="../../src/Dialog_MainWindow.cpp" line="2301"/>
<source>Enter the name of the new folder:</source> <source>Enter the name of the new folder:</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="2308"/> <location filename="../../src/Dialog_MainWindow.cpp" line="2333"/>
<source>Failed to create folder</source> <source>Failed to create folder</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="2308"/> <location filename="../../src/Dialog_MainWindow.cpp" line="2333"/>
<source>The new folder could not be created:</source> <source>The new folder could not be created:</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="2308"/> <location filename="../../src/Dialog_MainWindow.cpp" line="2333"/>
<source>Drive is read-only or insufficient access rights!</source> <source>Drive is read-only or insufficient access rights!</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="2601"/> <location filename="../../src/Dialog_MainWindow.cpp" line="2626"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="2604"/> <location filename="../../src/Dialog_MainWindow.cpp" line="2629"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="2607"/> <location filename="../../src/Dialog_MainWindow.cpp" line="2632"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="2613"/> <location filename="../../src/Dialog_MainWindow.cpp" line="2638"/>
<source>Quality Level %1</source> <source>Quality Level %1</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="2610"/> <location filename="../../src/Dialog_MainWindow.cpp" line="2635"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="2630"/> <location filename="../../src/Dialog_MainWindow.cpp" line="2655"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="2650"/> <location filename="../../src/Dialog_MainWindow.cpp" line="2675"/>
<source>Compression %1</source> <source>Compression %1</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="2616"/> <location filename="../../src/Dialog_MainWindow.cpp" line="2641"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="2636"/> <location filename="../../src/Dialog_MainWindow.cpp" line="2661"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="2659"/> <location filename="../../src/Dialog_MainWindow.cpp" line="2684"/>
<source>Uncompressed</source> <source>Uncompressed</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="2683"/> <location filename="../../src/Dialog_MainWindow.cpp" line="2708"/>
<source>Best Quality (Very Slow)</source> <source>Best Quality (Very Slow)</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="2686"/> <location filename="../../src/Dialog_MainWindow.cpp" line="2711"/>
<source>High Quality (Recommended)</source> <source>High Quality (Recommended)</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="2689"/> <location filename="../../src/Dialog_MainWindow.cpp" line="2714"/>
<source>Average Quality (Default)</source> <source>Average Quality (Default)</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="2692"/> <location filename="../../src/Dialog_MainWindow.cpp" line="2717"/>
<source>Low Quality (Fast)</source> <source>Low Quality (Fast)</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="2695"/> <location filename="../../src/Dialog_MainWindow.cpp" line="2720"/>
<source>Poor Quality (Very Fast)</source> <source>Poor Quality (Very Fast)</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="2967"/> <location filename="../../src/Dialog_MainWindow.cpp" line="2992"/>
<source>File name without extension</source> <source>File name without extension</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="2968"/> <location filename="../../src/Dialog_MainWindow.cpp" line="2993"/>
<source>Track number with leading zero</source> <source>Track number with leading zero</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="2969"/> <location filename="../../src/Dialog_MainWindow.cpp" line="2994"/>
<source>Track title</source> <source>Track title</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="2970"/> <location filename="../../src/Dialog_MainWindow.cpp" line="2995"/>
<source>Artist name</source> <source>Artist name</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="2971"/> <location filename="../../src/Dialog_MainWindow.cpp" line="2996"/>
<source>Album name</source> <source>Album name</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="2972"/> <location filename="../../src/Dialog_MainWindow.cpp" line="2997"/>
<source>Year with (at least) four digits</source> <source>Year with (at least) four digits</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="2973"/> <location filename="../../src/Dialog_MainWindow.cpp" line="2998"/>
<source>Comment</source> <source>Comment</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="2975"/> <location filename="../../src/Dialog_MainWindow.cpp" line="3000"/>
<source>Characters forbidden in file names:</source> <source>Characters forbidden in file names:</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="2978"/> <location filename="../../src/Dialog_MainWindow.cpp" line="3003"/>
<source>Rename Macros</source> <source>Rename Macros</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="2991"/> <location filename="../../src/Dialog_MainWindow.cpp" line="3016"/>
<source>%1 Instance(s)</source> <source>%1 Instance(s)</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="3035"/> <location filename="../../src/Dialog_MainWindow.cpp" line="3060"/>
<source>Cannot write to the selected directory. Please choose another directory!</source> <source>Cannot write to the selected directory. Please choose another directory!</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="3103"/> <location filename="../../src/Dialog_MainWindow.cpp" line="3128"/>
<source>Already Running</source> <source>Already Running</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="3103"/> <location filename="../../src/Dialog_MainWindow.cpp" line="3128"/>
<source>LameXP is already running, please use the running instance!</source> <source>LameXP is already running, please use the running instance!</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@ -2714,121 +2714,121 @@
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_Processing.cpp" line="344"/> <location filename="../../src/Dialog_Processing.cpp" line="365"/>
<source>Encoding files, please wait...</source> <source>Encoding files, please wait...</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_Processing.cpp" line="387"/> <location filename="../../src/Dialog_Processing.cpp" line="408"/>
<source>Multi-threading enabled: Running %1 instances in parallel!</source> <source>Multi-threading enabled: Running %1 instances in parallel!</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_Processing.cpp" line="407"/> <location filename="../../src/Dialog_Processing.cpp" line="428"/>
<source>Aborted! Waiting for running jobs to terminate...</source> <source>Aborted! Waiting for running jobs to terminate...</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_Processing.cpp" line="422"/> <location filename="../../src/Dialog_Processing.cpp" line="443"/>
<source>Encoding: %1 files of %2 completed so far, please wait...</source> <source>Encoding: %1 files of %2 completed so far, please wait...</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_Processing.cpp" line="450"/> <location filename="../../src/Dialog_Processing.cpp" line="471"/>
<source>Creating the playlist file, please wait...</source> <source>Creating the playlist file, please wait...</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_Processing.cpp" line="460"/> <location filename="../../src/Dialog_Processing.cpp" line="481"/>
<source>Process was aborted by the user after %1 file(s)!</source> <source>Process was aborted by the user after %1 file(s)!</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_Processing.cpp" line="460"/> <location filename="../../src/Dialog_Processing.cpp" line="481"/>
<source>Process was aborted prematurely by the user!</source> <source>Process was aborted prematurely by the user!</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_Processing.cpp" line="461"/> <location filename="../../src/Dialog_Processing.cpp" line="482"/>
<source>LameXP - Aborted</source> <source>LameXP - Aborted</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_Processing.cpp" line="461"/> <location filename="../../src/Dialog_Processing.cpp" line="482"/>
<source>Process was aborted by the user.</source> <source>Process was aborted by the user.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_Processing.cpp" line="477"/> <location filename="../../src/Dialog_Processing.cpp" line="498"/>
<source>Process finished after %1.</source> <source>Process finished after %1.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_Processing.cpp" line="486"/> <location filename="../../src/Dialog_Processing.cpp" line="507"/>
<source>Error: %1 of %2 files failed. Double-click failed items for detailed information!</source> <source>Error: %1 of %2 files failed. Double-click failed items for detailed information!</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_Processing.cpp" line="487"/> <location filename="../../src/Dialog_Processing.cpp" line="508"/>
<source>LameXP - Error</source> <source>LameXP - Error</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_Processing.cpp" line="487"/> <location filename="../../src/Dialog_Processing.cpp" line="508"/>
<source>At least one file has failed!</source> <source>At least one file has failed!</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_Processing.cpp" line="497"/> <location filename="../../src/Dialog_Processing.cpp" line="518"/>
<location filename="../../src/Dialog_Processing.cpp" line="498"/> <location filename="../../src/Dialog_Processing.cpp" line="519"/>
<source>All files completed successfully.</source> <source>All files completed successfully.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_Processing.cpp" line="498"/> <location filename="../../src/Dialog_Processing.cpp" line="519"/>
<source>LameXP - Done</source> <source>LameXP - Done</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_Processing.cpp" line="916"/> <location filename="../../src/Dialog_Processing.cpp" line="933"/>
<source>Playlist creation failed</source> <source>Playlist creation failed</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_Processing.cpp" line="916"/> <location filename="../../src/Dialog_Processing.cpp" line="933"/>
<source>The playlist file could not be created:</source> <source>The playlist file could not be created:</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_Processing.cpp" line="986"/> <location filename="../../src/Dialog_Processing.cpp" line="1003"/>
<source>Warning: Computer will shutdown in %1 seconds...</source> <source>Warning: Computer will shutdown in %1 seconds...</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_Processing.cpp" line="990"/> <location filename="../../src/Dialog_Processing.cpp" line="1007"/>
<location filename="../../src/Dialog_Processing.cpp" line="991"/> <location filename="../../src/Dialog_Processing.cpp" line="1008"/>
<source>Cancel Shutdown</source> <source>Cancel Shutdown</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_Processing.cpp" line="1046"/> <location filename="../../src/Dialog_Processing.cpp" line="1063"/>
<source>hour(s)</source> <source>hour(s)</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_Processing.cpp" line="1047"/> <location filename="../../src/Dialog_Processing.cpp" line="1064"/>
<location filename="../../src/Dialog_Processing.cpp" line="1051"/> <location filename="../../src/Dialog_Processing.cpp" line="1068"/>
<source>minute(s)</source> <source>minute(s)</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_Processing.cpp" line="1052"/> <location filename="../../src/Dialog_Processing.cpp" line="1069"/>
<location filename="../../src/Dialog_Processing.cpp" line="1056"/> <location filename="../../src/Dialog_Processing.cpp" line="1073"/>
<source>second(s)</source> <source>second(s)</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_Processing.cpp" line="1057"/> <location filename="../../src/Dialog_Processing.cpp" line="1074"/>
<source>millisecond(s)</source> <source>millisecond(s)</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@ -2849,22 +2849,22 @@
<context> <context>
<name>QApplication</name> <name>QApplication</name>
<message> <message>
<location filename="../../src/Global.cpp" line="703"/> <location filename="../../src/Global.cpp" line="745"/>
<source>Executable &apos;%1&apos; doesn&apos;t support Windows compatibility mode.</source> <source>Executable &apos;%1&apos; doesn&apos;t support Windows compatibility mode.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/Global.cpp" line="918"/> <location filename="../../src/Global.cpp" line="982"/>
<source>Executable &apos;%1&apos; requires Qt v%2, but found Qt v%3.</source> <source>Executable &apos;%1&apos; requires Qt v%2, but found Qt v%3.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/Global.cpp" line="923"/> <location filename="../../src/Global.cpp" line="987"/>
<source>Executable &apos;%1&apos; was built for Qt &apos;%2&apos;, but found Qt &apos;%3&apos;.</source> <source>Executable &apos;%1&apos; was built for Qt &apos;%2&apos;, but found Qt &apos;%3&apos;.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/Global.cpp" line="932"/> <location filename="../../src/Global.cpp" line="996"/>
<source>Executable &apos;%1&apos; requires Windows 2000 or later.</source> <source>Executable &apos;%1&apos; requires Windows 2000 or later.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>

View File

@ -1412,9 +1412,9 @@
</message> </message>
<message> <message>
<location filename="../../gui/MainWindow.ui" line="3590"/> <location filename="../../gui/MainWindow.ui" line="3590"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="975"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1000"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1001"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1026"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1026"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1051"/>
<source>Check for Updates</source> <source>Check for Updates</source>
<translation type="unfinished">Sprawdź aktualizacje</translation> <translation type="unfinished">Sprawdź aktualizacje</translation>
</message> </message>
@ -1455,13 +1455,13 @@
</message> </message>
<message> <message>
<location filename="../../gui/MainWindow.ui" line="3659"/> <location filename="../../gui/MainWindow.ui" line="3659"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1475"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1500"/>
<source>Disable Update Reminder</source> <source>Disable Update Reminder</source>
<translation type="unfinished">Wyłącz przypominanie o aktualizacji</translation> <translation type="unfinished">Wyłącz przypominanie o aktualizacji</translation>
</message> </message>
<message> <message>
<location filename="../../gui/MainWindow.ui" line="3667"/> <location filename="../../gui/MainWindow.ui" line="3667"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1501"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1526"/>
<source>Disable Sound Effects</source> <source>Disable Sound Effects</source>
<translation type="unfinished">Wyłącz efekty dźwiękowe</translation> <translation type="unfinished">Wyłącz efekty dźwiękowe</translation>
</message> </message>
@ -1547,7 +1547,7 @@
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="502"/> <location filename="../../src/Dialog_MainWindow.cpp" line="502"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="3035"/> <location filename="../../src/Dialog_MainWindow.cpp" line="3060"/>
<source>Access Denied</source> <source>Access Denied</source>
<translation type="unfinished">Dostęp zablokowany</translation> <translation type="unfinished">Dostęp zablokowany</translation>
</message> </message>
@ -1642,193 +1642,193 @@
<translation type="unfinished">Zapamiętaj wybrany folder</translation> <translation type="unfinished">Zapamiętaj wybrany folder</translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="943"/> <location filename="../../src/Dialog_MainWindow.cpp" line="968"/>
<source>License Declined</source> <source>License Declined</source>
<translation type="unfinished">Licencja odrzucona</translation> <translation type="unfinished">Licencja odrzucona</translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="943"/> <location filename="../../src/Dialog_MainWindow.cpp" line="968"/>
<source>You have declined the license. Consequently the application will exit now!</source> <source>You have declined the license. Consequently the application will exit now!</source>
<translation type="unfinished">Odrzuciłeś licencję. W takim razie program zostanie teraz zamknięty!</translation> <translation type="unfinished">Odrzuciłeś licencję. W takim razie program zostanie teraz zamknięty!</translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="943"/> <location filename="../../src/Dialog_MainWindow.cpp" line="968"/>
<source>Goodbye!</source> <source>Goodbye!</source>
<translation type="unfinished">Naraska!</translation> <translation type="unfinished">Naraska!</translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="975"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1000"/>
<source>LameXP - Expired</source> <source>LameXP - Expired</source>
<translation type="unfinished">LameXP - Termin wygasł</translation> <translation type="unfinished">LameXP - Termin wygasł</translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="975"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1000"/>
<source>This demo (pre-release) version of LameXP has expired at %1.</source> <source>This demo (pre-release) version of LameXP has expired at %1.</source>
<translation type="unfinished">Ta wersja demo (beta) LameXP wygasła %1.</translation> <translation type="unfinished">Ta wersja demo (beta) LameXP wygasła %1.</translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="975"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1000"/>
<source>LameXP is free software and release versions won&apos;t expire.</source> <source>LameXP is free software and release versions won&apos;t expire.</source>
<translation type="unfinished">LameXP jest darmowym oprogramowaniem i pełna wersja nie wygasa.</translation> <translation type="unfinished">LameXP jest darmowym oprogramowaniem i pełna wersja nie wygasa.</translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="975"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1000"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1001"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1026"/>
<source>Exit Program</source> <source>Exit Program</source>
<translation type="unfinished">Wyjdź z programu</translation> <translation type="unfinished">Wyjdź z programu</translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="988"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1013"/>
<source>It seems that a bogus anti-virus software is slowing down the startup of LameXP.</source> <source>It seems that a bogus anti-virus software is slowing down the startup of LameXP.</source>
<translation type="unfinished">Najwyraźniej twoje oprogramowanie antywirusowe spowalnia uruchamianie się LameXP.</translation> <translation type="unfinished">Najwyraźniej twoje oprogramowanie antywirusowe spowalnia uruchamianie się LameXP.</translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="989"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1014"/>
<source>Please refer to the %1 document for details and solutions!</source> <source>Please refer to the %1 document for details and solutions!</source>
<translation type="unfinished">Prosze sprawdzić dokument %1 w celu dalszych szcegółów i rozwiązań!</translation> <translation type="unfinished">Prosze sprawdzić dokument %1 w celu dalszych szcegółów i rozwiązań!</translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="990"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1015"/>
<source>Slow Startup</source> <source>Slow Startup</source>
<translation type="unfinished">Powolny start</translation> <translation type="unfinished">Powolny start</translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="990"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1015"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1067"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1092"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1136"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1161"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1137"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1162"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1641"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1666"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="2978"/> <location filename="../../src/Dialog_MainWindow.cpp" line="3003"/>
<source>Discard</source> <source>Discard</source>
<translation type="unfinished">Zamknij</translation> <translation type="unfinished">Zamknij</translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="990"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1015"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1067"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1092"/>
<source>Don&apos;t Show Again</source> <source>Don&apos;t Show Again</source>
<translation type="unfinished">Nie pokazuj ponownie</translation> <translation type="unfinished">Nie pokazuj ponownie</translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1001"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1026"/>
<source>Urgent Update</source> <source>Urgent Update</source>
<translation type="unfinished">Ważna aktualizacja</translation> <translation type="unfinished">Ważna aktualizacja</translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1001"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1026"/>
<source>Your version of LameXP is more than a year old. Time for an update!</source> <source>Your version of LameXP is more than a year old. Time for an update!</source>
<translation type="unfinished">Twoja wersja LameXP jest starsza niż rok! Czas na aktualizację!</translation> <translation type="unfinished">Twoja wersja LameXP jest starsza niż rok! Czas na aktualizację!</translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1026"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1051"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1477"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1502"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1487"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1512"/>
<source>Update Reminder</source> <source>Update Reminder</source>
<translation type="unfinished">Powiadomienie aktualizacji</translation> <translation type="unfinished">Powiadomienie aktualizacji</translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1026"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1051"/>
<source>Your last update check was more than 14 days ago. Check for updates now?</source> <source>Your last update check was more than 14 days ago. Check for updates now?</source>
<translation type="unfinished">Ostatnie sprawdzenie aktualizacji było ponad 14 dni temu. Sprawdzić teraz aktualizacje?</translation> <translation type="unfinished">Ostatnie sprawdzenie aktualizacji było ponad 14 dni temu. Sprawdzić teraz aktualizacje?</translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1026"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1051"/>
<source>Your did not check for LameXP updates yet. Check for updates now?</source> <source>Your did not check for LameXP updates yet. Check for updates now?</source>
<translation type="unfinished">Nie sprawdzałeś jeszcze aktualizacji LameXP. Sprawdzić teraz aktualizacje?</translation> <translation type="unfinished">Nie sprawdzałeś jeszcze aktualizacji LameXP. Sprawdzić teraz aktualizacje?</translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1026"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1051"/>
<source>Postpone</source> <source>Postpone</source>
<translation type="unfinished">Przełóż</translation> <translation type="unfinished">Przełóż</translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1045"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1070"/>
<source>LameXP detected that your version of the Nero AAC encoder is outdated!</source> <source>LameXP detected that your version of the Nero AAC encoder is outdated!</source>
<translation type="unfinished">LameXP wykrył że Twoja wersja kodera Nero AAC jest nieaktualna!</translation> <translation type="unfinished">LameXP wykrył że Twoja wersja kodera Nero AAC jest nieaktualna!</translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1046"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1071"/>
<source>The current version available is %1 (or later), but you still have version %2 installed.</source> <source>The current version available is %1 (or later), but you still have version %2 installed.</source>
<translation type="unfinished">Wersją dostępną obecnie jest %1, Twoja wersja to %2.</translation> <translation type="unfinished">Wersją dostępną obecnie jest %1, Twoja wersja to %2.</translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1046"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1071"/>
<source>n/a</source> <source>n/a</source>
<translation type="unfinished">n/d</translation> <translation type="unfinished">n/d</translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1047"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1072"/>
<source>You can download the latest version of the Nero AAC encoder from the Nero website at:</source> <source>You can download the latest version of the Nero AAC encoder from the Nero website at:</source>
<translation type="unfinished">Możesz pobrać najnowszą wersję kodera Nero AAC ze strony Nero:</translation> <translation type="unfinished">Możesz pobrać najnowszą wersję kodera Nero AAC ze strony Nero:</translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1050"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1075"/>
<source>AAC Encoder Outdated</source> <source>AAC Encoder Outdated</source>
<translation type="unfinished">Koder AAC jest nieaktualny</translation> <translation type="unfinished">Koder AAC jest nieaktualny</translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1061"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1086"/>
<source>The Nero AAC encoder could not be found. AAC encoding support will be disabled.</source> <source>The Nero AAC encoder could not be found. AAC encoding support will be disabled.</source>
<translation type="unfinished">Nie można odnaleźć kodera Nero AAC. Kompresja formatu AAC zostanie wyłączona.</translation> <translation type="unfinished">Nie można odnaleźć kodera Nero AAC. Kompresja formatu AAC zostanie wyłączona.</translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1062"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1087"/>
<source>Please put &apos;neroAacEnc.exe&apos;, &apos;neroAacDec.exe&apos; and &apos;neroAacTag.exe&apos; into the LameXP directory!</source> <source>Please put &apos;neroAacEnc.exe&apos;, &apos;neroAacDec.exe&apos; and &apos;neroAacTag.exe&apos; into the LameXP directory!</source>
<translation type="unfinished">Prosze skopiować &apos;neroAacEnc.exe&apos;, &apos;neroAacDec.exe&apos;, oraz &apos;neroAacTag.exe&apos; do folderu LameXP!</translation> <translation type="unfinished">Prosze skopiować &apos;neroAacEnc.exe&apos;, &apos;neroAacDec.exe&apos;, oraz &apos;neroAacTag.exe&apos; do folderu LameXP!</translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1063"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1088"/>
<source>Your LameXP directory is located here:</source> <source>Your LameXP directory is located here:</source>
<translation type="unfinished">Folder aplikacji LameXP znajduje się tutaj:</translation> <translation type="unfinished">Folder aplikacji LameXP znajduje się tutaj:</translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1065"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1090"/>
<source>You can download the Nero AAC encoder for free from the official Nero website at:</source> <source>You can download the Nero AAC encoder for free from the official Nero website at:</source>
<translation type="unfinished">Możesz pobrać koder Nero AAC za darmo z oficjalnej strony Nero:</translation> <translation type="unfinished">Możesz pobrać koder Nero AAC za darmo z oficjalnej strony Nero:</translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1067"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1092"/>
<source>AAC Support Disabled</source> <source>AAC Support Disabled</source>
<translation type="unfinished">Wsparcie dla AAC wyłączone</translation> <translation type="unfinished">Wsparcie dla AAC wyłączone</translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1172"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1197"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1226"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1251"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1236"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1261"/>
<source>LameXP</source> <source>LameXP</source>
<translation type="unfinished">LameXP</translation> <translation type="unfinished">LameXP</translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1172"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1197"/>
<source>You must add at least one file to the list before proceeding!</source> <source>You must add at least one file to the list before proceeding!</source>
<translation type="unfinished">Powinienieś dodać przynajmniej jeden plik do listy aby zacząć działać!</translation> <translation type="unfinished">Powinienieś dodać przynajmniej jeden plik do listy aby zacząć działać!</translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1180"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1205"/>
<source>Not Found</source> <source>Not Found</source>
<translation type="unfinished">Nie znaleziono</translation> <translation type="unfinished">Nie znaleziono</translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1180"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1205"/>
<source>Your currently selected TEMP folder does not exist anymore:</source> <source>Your currently selected TEMP folder does not exist anymore:</source>
<translation type="unfinished">Wybrany przez Ciebie folder tymczasowy TEMP już nie istnieje:</translation> <translation type="unfinished">Wybrany przez Ciebie folder tymczasowy TEMP już nie istnieje:</translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1180"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1205"/>
<source>Restore Default</source> <source>Restore Default</source>
<translation type="unfinished">Przywróć domyślne</translation> <translation type="unfinished">Przywróć domyślne</translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1180"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1205"/>
<source>Cancel</source> <source>Cancel</source>
<translation type="unfinished">Anuluj</translation> <translation type="unfinished">Anuluj</translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1202"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1227"/>
<source>Low Diskspace Warning</source> <source>Low Diskspace Warning</source>
<translation type="unfinished">Ostrzeżenie o małej ilości miejsca na dysku</translation> <translation type="unfinished">Ostrzeżenie o małej ilości miejsca na dysku</translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1197"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1222"/>
<source>There are less than %1 GB of free diskspace available on your system&apos;s TEMP folder.</source> <source>There are less than %1 GB of free diskspace available on your system&apos;s TEMP folder.</source>
<translation type="unfinished">Jest mniej niż %1 GB dostępnego miejsca w systemowym folderze TEMP.</translation> <translation type="unfinished">Jest mniej niż %1 GB dostępnego miejsca w systemowym folderze TEMP.</translation>
</message> </message>
@ -1838,413 +1838,413 @@
<translation type="unfinished">WERSJA DEMO</translation> <translation type="unfinished">WERSJA DEMO</translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1049"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1074"/>
<source>(Hint: Please ignore the name of the downloaded ZIP file and check the included &apos;changelog.txt&apos; instead!)</source> <source>(Hint: Please ignore the name of the downloaded ZIP file and check the included &apos;changelog.txt&apos; instead!)</source>
<translation type="unfinished">(Podpowiedź: Zignoruj nazwę pobranego pliku ZIP, w zamian sprawdż załączony w archiwum plik &quot;changelog.txt&quot;!)</translation> <translation type="unfinished">(Podpowiedź: Zignoruj nazwę pobranego pliku ZIP, w zamian sprawdż załączony w archiwum plik &quot;changelog.txt&quot;!)</translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1198"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1223"/>
<source>It is highly recommend to free up more diskspace before proceeding with the encode!</source> <source>It is highly recommend to free up more diskspace before proceeding with the encode!</source>
<translation type="unfinished">Jest wysoce zalecane zwolnić miejsce na dysku zanim zaczniesz kompresję!</translation> <translation type="unfinished">Jest wysoce zalecane zwolnić miejsce na dysku zanim zaczniesz kompresję!</translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1199"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1224"/>
<source>Your TEMP folder is located at:</source> <source>Your TEMP folder is located at:</source>
<translation type="unfinished">Twój folder TEMP znajduję się:</translation> <translation type="unfinished">Twój folder TEMP znajduję się:</translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1202"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1227"/>
<source>Abort Encoding Process</source> <source>Abort Encoding Process</source>
<translation type="unfinished">Przerwij proces kompresji</translation> <translation type="unfinished">Przerwij proces kompresji</translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1202"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1227"/>
<source>Clean Disk Now</source> <source>Clean Disk Now</source>
<translation type="unfinished">Wykonaj oczyszczanie dysku</translation> <translation type="unfinished">Wykonaj oczyszczanie dysku</translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1001"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1026"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1202"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1227"/>
<source>Ignore</source> <source>Ignore</source>
<translation type="unfinished">Ignoruj</translation> <translation type="unfinished">Ignoruj</translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1017"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1042"/>
<source>Skipping update check this time, please be patient...</source> <source>Skipping update check this time, please be patient...</source>
<translation type="unfinished">Pomijanie sprawdzania aktualizacji, prosze czekać...</translation> <translation type="unfinished">Pomijanie sprawdzania aktualizacji, prosze czekać...</translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1210"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1235"/>
<source>Low Diskspace</source> <source>Low Diskspace</source>
<translation type="unfinished">Mało miejsca na dysku</translation> <translation type="unfinished">Mało miejsca na dysku</translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1210"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1235"/>
<source>You are proceeding with low diskspace. Problems might occur!</source> <source>You are proceeding with low diskspace. Problems might occur!</source>
<translation type="unfinished">Chcesz zacząć działać z małą ilością miejsca na dysku. Mogą wystąpić problemy!</translation> <translation type="unfinished">Chcesz zacząć działać z małą ilością miejsca na dysku. Mogą wystąpić problemy!</translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1226"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1251"/>
<source>Sorry, an unsupported encoder has been chosen!</source> <source>Sorry, an unsupported encoder has been chosen!</source>
<translation type="unfinished">Został wybrany koder, który nie jest wspierany!</translation> <translation type="unfinished">Został wybrany koder, który nie jest wspierany!</translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1236"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1261"/>
<source>Cannot write to the selected output directory.</source> <source>Cannot write to the selected output directory.</source>
<translation type="unfinished">Nie można zapisać do wybranej lokalizacji.</translation> <translation type="unfinished">Nie można zapisać do wybranej lokalizacji.</translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1236"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1261"/>
<source>Please choose a different directory!</source> <source>Please choose a different directory!</source>
<translation type="unfinished">Prosze wybrać inną lokalizację!</translation> <translation type="unfinished">Prosze wybrać inną lokalizację!</translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1442"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1467"/>
<source>Load Translation</source> <source>Load Translation</source>
<translation type="unfinished">Zaladuj plik językowy</translation> <translation type="unfinished">Zaladuj plik językowy</translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1444"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1469"/>
<source>Translation Files</source> <source>Translation Files</source>
<translation type="unfinished">Pliki językowe</translation> <translation type="unfinished">Pliki językowe</translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1475"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1500"/>
<source>Do you really want to disable the update reminder?</source> <source>Do you really want to disable the update reminder?</source>
<translation type="unfinished">Czy na pewno chcesz wyłączyć przypominanie o aktualizacjach?</translation> <translation type="unfinished">Czy na pewno chcesz wyłączyć przypominanie o aktualizacjach?</translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1475"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1500"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1501"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1526"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1527"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1552"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1553"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1578"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1639"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1664"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1676"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1701"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1702"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1727"/>
<source>Yes</source> <source>Yes</source>
<translation type="unfinished">Tak</translation> <translation type="unfinished">Tak</translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1475"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1500"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1501"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1526"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1527"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1552"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1553"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1578"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1639"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1664"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1676"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1701"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1702"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1727"/>
<source>No</source> <source>No</source>
<translation type="unfinished">Nie</translation> <translation type="unfinished">Nie</translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1477"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1502"/>
<source>The update reminder has been disabled.</source> <source>The update reminder has been disabled.</source>
<translation type="unfinished">Przypominanie o aktualizacjach wyłączone.</translation> <translation type="unfinished">Przypominanie o aktualizacjach wyłączone.</translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1477"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1502"/>
<source>Please remember to check for updates at regular intervals!</source> <source>Please remember to check for updates at regular intervals!</source>
<translation type="unfinished">Prosze pamiętać o okresowym sprawdzaniu aktualizacji!</translation> <translation type="unfinished">Prosze pamiętać o okresowym sprawdzaniu aktualizacji!</translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1487"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1512"/>
<source>The update reminder has been re-enabled.</source> <source>The update reminder has been re-enabled.</source>
<translation type="unfinished">Przypominanie o aktualizacjach ponownie włączone.</translation> <translation type="unfinished">Przypominanie o aktualizacjach ponownie włączone.</translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1501"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1526"/>
<source>Do you really want to disable all sound effects?</source> <source>Do you really want to disable all sound effects?</source>
<translation type="unfinished">Czy na pewno chcesz wyłączyć wszystkie dźwiękowe?</translation> <translation type="unfinished">Czy na pewno chcesz wyłączyć wszystkie dźwiękowe?</translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1503"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1528"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1513"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1538"/>
<source>Sound Effects</source> <source>Sound Effects</source>
<translation type="unfinished">Efekty dźwiękowe</translation> <translation type="unfinished">Efekty dźwiękowe</translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1503"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1528"/>
<source>All sound effects have been disabled.</source> <source>All sound effects have been disabled.</source>
<translation type="unfinished">Wszystkie efekty dźwiękowe zostały wyłączone.</translation> <translation type="unfinished">Wszystkie efekty dźwiękowe zostały wyłączone.</translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1513"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1538"/>
<source>The sound effects have been re-enabled.</source> <source>The sound effects have been re-enabled.</source>
<translation type="unfinished">Efekty dźwiękowe zostały ponownie włączone.</translation> <translation type="unfinished">Efekty dźwiękowe zostały ponownie włączone.</translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1527"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1552"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1529"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1554"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1539"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1564"/>
<source>Nero AAC Notifications</source> <source>Nero AAC Notifications</source>
<translation type="unfinished">Powiadomienia Nero AAC</translation> <translation type="unfinished">Powiadomienia Nero AAC</translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1527"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1552"/>
<source>Do you really want to disable all Nero AAC Encoder notifications?</source> <source>Do you really want to disable all Nero AAC Encoder notifications?</source>
<translation type="unfinished">Czy na pewno chcesz wyłączyć wszystkie powiadomienia Nero AAC?</translation> <translation type="unfinished">Czy na pewno chcesz wyłączyć wszystkie powiadomienia Nero AAC?</translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1529"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1554"/>
<source>All Nero AAC Encoder notifications have been disabled.</source> <source>All Nero AAC Encoder notifications have been disabled.</source>
<translation type="unfinished">Wszystkie powiadomienia kodera Nero AAC zostały wyłączone.</translation> <translation type="unfinished">Wszystkie powiadomienia kodera Nero AAC zostały wyłączone.</translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1539"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1564"/>
<source>The Nero AAC Encoder notifications have been re-enabled.</source> <source>The Nero AAC Encoder notifications have been re-enabled.</source>
<translation type="unfinished">Powiadomienia Nero AAC zostały ponownie włączone.</translation> <translation type="unfinished">Powiadomienia Nero AAC zostały ponownie włączone.</translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1553"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1578"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1555"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1580"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1565"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1590"/>
<source>Slow Startup Notifications</source> <source>Slow Startup Notifications</source>
<translation type="unfinished">Powiadomienia o powolnym starcie</translation> <translation type="unfinished">Powiadomienia o powolnym starcie</translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1553"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1578"/>
<source>Do you really want to disable the slow startup notifications?</source> <source>Do you really want to disable the slow startup notifications?</source>
<translation type="unfinished">Czy na pewno chcesz wyłączyć powiadomienia o powolnym starcie?</translation> <translation type="unfinished">Czy na pewno chcesz wyłączyć powiadomienia o powolnym starcie?</translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1555"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1580"/>
<source>The slow startup notifications have been disabled.</source> <source>The slow startup notifications have been disabled.</source>
<translation type="unfinished">Powiadomienia o powolnym starcie zostały wyłączone.</translation> <translation type="unfinished">Powiadomienia o powolnym starcie zostały wyłączone.</translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1565"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1590"/>
<source>The slow startup notifications have been re-enabled.</source> <source>The slow startup notifications have been re-enabled.</source>
<translation type="unfinished">Powiadomienia o powolnym starcie zostały ponownie włączone.</translation> <translation type="unfinished">Powiadomienia o powolnym starcie zostały ponownie włączone.</translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1588"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1613"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1592"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1617"/>
<source>Open Cue Sheet</source> <source>Open Cue Sheet</source>
<translation type="unfinished">Otwórz plik Cue Sheet</translation> <translation type="unfinished">Otwórz plik Cue Sheet</translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1588"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1613"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1594"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1619"/>
<source>Cue Sheet File</source> <source>Cue Sheet File</source>
<translation type="unfinished">Plik Cue Sheet</translation> <translation type="unfinished">Plik Cue Sheet</translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1639"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1664"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1641"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1666"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1654"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1679"/>
<source>Beta Updates</source> <source>Beta Updates</source>
<translation type="unfinished">Aktualizacje Beta</translation> <translation type="unfinished">Aktualizacje Beta</translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1639"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1664"/>
<source>Do you really want LameXP to check for Beta (pre-release) updates?</source> <source>Do you really want LameXP to check for Beta (pre-release) updates?</source>
<translation type="unfinished">Czy na pewno chcesz aby LameXP sprawdzał aktualizacje Beta?</translation> <translation type="unfinished">Czy na pewno chcesz aby LameXP sprawdzał aktualizacje Beta?</translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1641"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1666"/>
<source>LameXP will check for Beta (pre-release) updates from now on.</source> <source>LameXP will check for Beta (pre-release) updates from now on.</source>
<translation type="unfinished">Od teraz LameXP będzie sprawdzał aktualizacje Beta.</translation> <translation type="unfinished">Od teraz LameXP będzie sprawdzał aktualizacje Beta.</translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1641"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1666"/>
<source>Check Now</source> <source>Check Now</source>
<translation type="unfinished">Sprawdź teraz</translation> <translation type="unfinished">Sprawdź teraz</translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1654"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1679"/>
<source>LameXP will &lt;i&gt;not&lt;/i&gt; check for Beta (pre-release) updates from now on.</source> <source>LameXP will &lt;i&gt;not&lt;/i&gt; check for Beta (pre-release) updates from now on.</source>
<translation type="unfinished">LameXP od teraz &lt;i&gt;nie będzie&lt;/i&gt; sprawdzał aktualizacji Beta.</translation> <translation type="unfinished">LameXP od teraz &lt;i&gt;nie będzie&lt;/i&gt; sprawdzał aktualizacji Beta.</translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1676"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1701"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1678"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1703"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1688"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1713"/>
<source>Hibernate Computer</source> <source>Hibernate Computer</source>
<translation type="unfinished">Hibernuj komputer</translation> <translation type="unfinished">Hibernuj komputer</translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1676"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1701"/>
<source>Do you really want the computer to be hibernated on shutdown?</source> <source>Do you really want the computer to be hibernated on shutdown?</source>
<translation type="unfinished">Czy na pewno chcesz aby komputer był hibernowany zamiast zamykany?</translation> <translation type="unfinished">Czy na pewno chcesz aby komputer był hibernowany zamiast zamykany?</translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1678"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1703"/>
<source>LameXP will hibernate the computer on shutdown from now on.</source> <source>LameXP will hibernate the computer on shutdown from now on.</source>
<translation type="unfinished">Od teraz LameXP będzie hibernował komputer zamiast zamykać.</translation> <translation type="unfinished">Od teraz LameXP będzie hibernował komputer zamiast zamykać.</translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1688"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1713"/>
<source>LameXP will &lt;i&gt;not&lt;/i&gt; hibernate the computer on shutdown from now on.</source> <source>LameXP will &lt;i&gt;not&lt;/i&gt; hibernate the computer on shutdown from now on.</source>
<translation type="unfinished">LameXP od teraz &lt;i&gt;nie&lt;/i&gt; będzie hibernował komputera tylko zamykał.</translation> <translation type="unfinished">LameXP od teraz &lt;i&gt;nie&lt;/i&gt; będzie hibernował komputera tylko zamykał.</translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1702"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1727"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1705"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1730"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1716"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1741"/>
<source>Shell Integration</source> <source>Shell Integration</source>
<translation type="unfinished">Integracja z systemem</translation> <translation type="unfinished">Integracja z systemem</translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1702"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1727"/>
<source>Do you really want to disable the LameXP shell integration?</source> <source>Do you really want to disable the LameXP shell integration?</source>
<translation type="unfinished">Czy na pewno chcesz wyłączyć integrację LameXP z systemem?</translation> <translation type="unfinished">Czy na pewno chcesz wyłączyć integrację LameXP z systemem?</translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1705"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1730"/>
<source>The LameXP shell integration has been disabled.</source> <source>The LameXP shell integration has been disabled.</source>
<translation type="unfinished">Integracja LameXP z systemem zostałą wyłączona.</translation> <translation type="unfinished">Integracja LameXP z systemem zostałą wyłączona.</translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1716"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1741"/>
<source>The LameXP shell integration has been re-enabled.</source> <source>The LameXP shell integration has been re-enabled.</source>
<translation type="unfinished">Integracja LameXP z systemem została ponownie włączona.</translation> <translation type="unfinished">Integracja LameXP z systemem została ponownie włączona.</translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1813"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1838"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1822"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1847"/>
<source>Add file(s)</source> <source>Add file(s)</source>
<translation type="unfinished">Dodaj plik(i)</translation> <translation type="unfinished">Dodaj plik(i)</translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="1854"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1879"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="1858"/> <location filename="../../src/Dialog_MainWindow.cpp" line="1883"/>
<source>Add Folder</source> <source>Add Folder</source>
<translation type="unfinished">Dodaj folder</translation> <translation type="unfinished">Dodaj folder</translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="2233"/> <location filename="../../src/Dialog_MainWindow.cpp" line="2258"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="2276"/> <location filename="../../src/Dialog_MainWindow.cpp" line="2301"/>
<source>New Folder</source> <source>New Folder</source>
<translation type="unfinished">Nowy folder</translation> <translation type="unfinished">Nowy folder</translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="2276"/> <location filename="../../src/Dialog_MainWindow.cpp" line="2301"/>
<source>Enter the name of the new folder:</source> <source>Enter the name of the new folder:</source>
<translation type="unfinished">Wprowadź nazwę nowego folderu:</translation> <translation type="unfinished">Wprowadź nazwę nowego folderu:</translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="2308"/> <location filename="../../src/Dialog_MainWindow.cpp" line="2333"/>
<source>Failed to create folder</source> <source>Failed to create folder</source>
<translation type="unfinished">Utworzenie folderu zakończone niepowodzeniem</translation> <translation type="unfinished">Utworzenie folderu zakończone niepowodzeniem</translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="2308"/> <location filename="../../src/Dialog_MainWindow.cpp" line="2333"/>
<source>The new folder could not be created:</source> <source>The new folder could not be created:</source>
<translation type="unfinished">Nowy folder nie mógł zostać stworzony:</translation> <translation type="unfinished">Nowy folder nie mógł zostać stworzony:</translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="2308"/> <location filename="../../src/Dialog_MainWindow.cpp" line="2333"/>
<source>Drive is read-only or insufficient access rights!</source> <source>Drive is read-only or insufficient access rights!</source>
<translation type="unfinished">Dysk tylko do odczytu lub brak praw dostępu!</translation> <translation type="unfinished">Dysk tylko do odczytu lub brak praw dostępu!</translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="2601"/> <location filename="../../src/Dialog_MainWindow.cpp" line="2626"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="2604"/> <location filename="../../src/Dialog_MainWindow.cpp" line="2629"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="2607"/> <location filename="../../src/Dialog_MainWindow.cpp" line="2632"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="2613"/> <location filename="../../src/Dialog_MainWindow.cpp" line="2638"/>
<source>Quality Level %1</source> <source>Quality Level %1</source>
<translation type="unfinished">Poziom jakości %1</translation> <translation type="unfinished">Poziom jakości %1</translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="2610"/> <location filename="../../src/Dialog_MainWindow.cpp" line="2635"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="2630"/> <location filename="../../src/Dialog_MainWindow.cpp" line="2655"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="2650"/> <location filename="../../src/Dialog_MainWindow.cpp" line="2675"/>
<source>Compression %1</source> <source>Compression %1</source>
<translation type="unfinished">Kompresja %1</translation> <translation type="unfinished">Kompresja %1</translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="2616"/> <location filename="../../src/Dialog_MainWindow.cpp" line="2641"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="2636"/> <location filename="../../src/Dialog_MainWindow.cpp" line="2661"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="2659"/> <location filename="../../src/Dialog_MainWindow.cpp" line="2684"/>
<source>Uncompressed</source> <source>Uncompressed</source>
<translation type="unfinished">Nieskompresowany</translation> <translation type="unfinished">Nieskompresowany</translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="2683"/> <location filename="../../src/Dialog_MainWindow.cpp" line="2708"/>
<source>Best Quality (Very Slow)</source> <source>Best Quality (Very Slow)</source>
<translation type="unfinished">Najlepsza jakość (Bardzo wolno)</translation> <translation type="unfinished">Najlepsza jakość (Bardzo wolno)</translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="2686"/> <location filename="../../src/Dialog_MainWindow.cpp" line="2711"/>
<source>High Quality (Recommended)</source> <source>High Quality (Recommended)</source>
<translation type="unfinished">Wysoka jakość (Zalecane)</translation> <translation type="unfinished">Wysoka jakość (Zalecane)</translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="2689"/> <location filename="../../src/Dialog_MainWindow.cpp" line="2714"/>
<source>Average Quality (Default)</source> <source>Average Quality (Default)</source>
<translation type="unfinished">Średnia jakość (Domyślnie)</translation> <translation type="unfinished">Średnia jakość (Domyślnie)</translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="2692"/> <location filename="../../src/Dialog_MainWindow.cpp" line="2717"/>
<source>Low Quality (Fast)</source> <source>Low Quality (Fast)</source>
<translation type="unfinished">Niska jakość (Szybko)</translation> <translation type="unfinished">Niska jakość (Szybko)</translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="2695"/> <location filename="../../src/Dialog_MainWindow.cpp" line="2720"/>
<source>Poor Quality (Very Fast)</source> <source>Poor Quality (Very Fast)</source>
<translation type="unfinished">Najniższa jakość (Bardzo szybko)</translation> <translation type="unfinished">Najniższa jakość (Bardzo szybko)</translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="2967"/> <location filename="../../src/Dialog_MainWindow.cpp" line="2992"/>
<source>File name without extension</source> <source>File name without extension</source>
<translation type="unfinished">Nazwa pliku bez rozszerzenia</translation> <translation type="unfinished">Nazwa pliku bez rozszerzenia</translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="2968"/> <location filename="../../src/Dialog_MainWindow.cpp" line="2993"/>
<source>Track number with leading zero</source> <source>Track number with leading zero</source>
<translation type="unfinished">Numer ścieżki z zerem na początku</translation> <translation type="unfinished">Numer ścieżki z zerem na początku</translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="2969"/> <location filename="../../src/Dialog_MainWindow.cpp" line="2994"/>
<source>Track title</source> <source>Track title</source>
<translation type="unfinished">Nazwa ścieżki</translation> <translation type="unfinished">Nazwa ścieżki</translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="2970"/> <location filename="../../src/Dialog_MainWindow.cpp" line="2995"/>
<source>Artist name</source> <source>Artist name</source>
<translation type="unfinished">Nazwa Artysty</translation> <translation type="unfinished">Nazwa Artysty</translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="2971"/> <location filename="../../src/Dialog_MainWindow.cpp" line="2996"/>
<source>Album name</source> <source>Album name</source>
<translation type="unfinished">Nazwa Albumu</translation> <translation type="unfinished">Nazwa Albumu</translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="2972"/> <location filename="../../src/Dialog_MainWindow.cpp" line="2997"/>
<source>Year with (at least) four digits</source> <source>Year with (at least) four digits</source>
<translation type="unfinished">Rok z (przynajmniej) czterema cyframi</translation> <translation type="unfinished">Rok z (przynajmniej) czterema cyframi</translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="2973"/> <location filename="../../src/Dialog_MainWindow.cpp" line="2998"/>
<source>Comment</source> <source>Comment</source>
<translation type="unfinished">Komentarz</translation> <translation type="unfinished">Komentarz</translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="2975"/> <location filename="../../src/Dialog_MainWindow.cpp" line="3000"/>
<source>Characters forbidden in file names:</source> <source>Characters forbidden in file names:</source>
<translation type="unfinished">Zabronione znaki w nazwach plików:</translation> <translation type="unfinished">Zabronione znaki w nazwach plików:</translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="2978"/> <location filename="../../src/Dialog_MainWindow.cpp" line="3003"/>
<source>Rename Macros</source> <source>Rename Macros</source>
<translation type="unfinished">Zmień nazwy makr</translation> <translation type="unfinished">Zmień nazwy makr</translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="2991"/> <location filename="../../src/Dialog_MainWindow.cpp" line="3016"/>
<source>%1 Instance(s)</source> <source>%1 Instance(s)</source>
<translation type="unfinished">%1 wątek/ki</translation> <translation type="unfinished">%1 wątek/ki</translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="3035"/> <location filename="../../src/Dialog_MainWindow.cpp" line="3060"/>
<source>Cannot write to the selected directory. Please choose another directory!</source> <source>Cannot write to the selected directory. Please choose another directory!</source>
<translation type="unfinished">Nie można zapisać do wybranej lokalizacji. Prosze wybierz inną lokalizację!</translation> <translation type="unfinished">Nie można zapisać do wybranej lokalizacji. Prosze wybierz inną lokalizację!</translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="3103"/> <location filename="../../src/Dialog_MainWindow.cpp" line="3128"/>
<source>Already Running</source> <source>Already Running</source>
<translation type="unfinished">Już działa</translation> <translation type="unfinished">Już działa</translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_MainWindow.cpp" line="3103"/> <location filename="../../src/Dialog_MainWindow.cpp" line="3128"/>
<source>LameXP is already running, please use the running instance!</source> <source>LameXP is already running, please use the running instance!</source>
<translation type="unfinished">LameXP już działa, przejdź do działającego programu!</translation> <translation type="unfinished">LameXP już działa, przejdź do działającego programu!</translation>
</message> </message>
@ -2714,121 +2714,121 @@
<translation type="unfinished">Twoje pliki właśnie kompresowane, prosze być cierpliwy...</translation> <translation type="unfinished">Twoje pliki właśnie kompresowane, prosze być cierpliwy...</translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_Processing.cpp" line="344"/> <location filename="../../src/Dialog_Processing.cpp" line="365"/>
<source>Encoding files, please wait...</source> <source>Encoding files, please wait...</source>
<translation type="unfinished">Kompresowanie plików, prosze czekać...</translation> <translation type="unfinished">Kompresowanie plików, prosze czekać...</translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_Processing.cpp" line="387"/> <location filename="../../src/Dialog_Processing.cpp" line="408"/>
<source>Multi-threading enabled: Running %1 instances in parallel!</source> <source>Multi-threading enabled: Running %1 instances in parallel!</source>
<translation type="unfinished">Wielowątkowosć włączona: Równolegle wykonywanych jest %1 kodowań!</translation> <translation type="unfinished">Wielowątkowosć włączona: Równolegle wykonywanych jest %1 kodowań!</translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_Processing.cpp" line="407"/> <location filename="../../src/Dialog_Processing.cpp" line="428"/>
<source>Aborted! Waiting for running jobs to terminate...</source> <source>Aborted! Waiting for running jobs to terminate...</source>
<translation type="unfinished">Przerwano! Czekanie na wyłączenie procesu...</translation> <translation type="unfinished">Przerwano! Czekanie na wyłączenie procesu...</translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_Processing.cpp" line="422"/> <location filename="../../src/Dialog_Processing.cpp" line="443"/>
<source>Encoding: %1 files of %2 completed so far, please wait...</source> <source>Encoding: %1 files of %2 completed so far, please wait...</source>
<translation type="unfinished">Kompresja: Prosze czekać, jak dotąd wykonano %1 z %2 plików...</translation> <translation type="unfinished">Kompresja: Prosze czekać, jak dotąd wykonano %1 z %2 plików...</translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_Processing.cpp" line="450"/> <location filename="../../src/Dialog_Processing.cpp" line="471"/>
<source>Creating the playlist file, please wait...</source> <source>Creating the playlist file, please wait...</source>
<translation type="unfinished">Tworzenie pliku playlisty, prosze czekać...</translation> <translation type="unfinished">Tworzenie pliku playlisty, prosze czekać...</translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_Processing.cpp" line="460"/> <location filename="../../src/Dialog_Processing.cpp" line="481"/>
<source>Process was aborted by the user after %1 file(s)!</source> <source>Process was aborted by the user after %1 file(s)!</source>
<translation type="unfinished">Proces został przerwany przez użytkownika po wykonaniu %1 plików!</translation> <translation type="unfinished">Proces został przerwany przez użytkownika po wykonaniu %1 plików!</translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_Processing.cpp" line="460"/> <location filename="../../src/Dialog_Processing.cpp" line="481"/>
<source>Process was aborted prematurely by the user!</source> <source>Process was aborted prematurely by the user!</source>
<translation type="unfinished">Proces został przedwcześnie zakończony przez użytkownika!</translation> <translation type="unfinished">Proces został przedwcześnie zakończony przez użytkownika!</translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_Processing.cpp" line="461"/> <location filename="../../src/Dialog_Processing.cpp" line="482"/>
<source>LameXP - Aborted</source> <source>LameXP - Aborted</source>
<translation type="unfinished">LameXP - Przerwano</translation> <translation type="unfinished">LameXP - Przerwano</translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_Processing.cpp" line="461"/> <location filename="../../src/Dialog_Processing.cpp" line="482"/>
<source>Process was aborted by the user.</source> <source>Process was aborted by the user.</source>
<translation type="unfinished">Proces został przerwany przez użytkownika.</translation> <translation type="unfinished">Proces został przerwany przez użytkownika.</translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_Processing.cpp" line="477"/> <location filename="../../src/Dialog_Processing.cpp" line="498"/>
<source>Process finished after %1.</source> <source>Process finished after %1.</source>
<translation type="unfinished">Proces został zakończony po %1.</translation> <translation type="unfinished">Proces został zakończony po %1.</translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_Processing.cpp" line="486"/> <location filename="../../src/Dialog_Processing.cpp" line="507"/>
<source>Error: %1 of %2 files failed. Double-click failed items for detailed information!</source> <source>Error: %1 of %2 files failed. Double-click failed items for detailed information!</source>
<translation type="unfinished">Błąd: %1 z %2 plików nie zostało skompresowanych. Kliknij dwukrotnie na plik aby zobaczyć szczegóły!</translation> <translation type="unfinished">Błąd: %1 z %2 plików nie zostało skompresowanych. Kliknij dwukrotnie na plik aby zobaczyć szczegóły!</translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_Processing.cpp" line="487"/> <location filename="../../src/Dialog_Processing.cpp" line="508"/>
<source>LameXP - Error</source> <source>LameXP - Error</source>
<translation type="unfinished">LameXP - Błąd</translation> <translation type="unfinished">LameXP - Błąd</translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_Processing.cpp" line="487"/> <location filename="../../src/Dialog_Processing.cpp" line="508"/>
<source>At least one file has failed!</source> <source>At least one file has failed!</source>
<translation type="unfinished">Przynajmniej jeden plik nie został skompresowany!</translation> <translation type="unfinished">Przynajmniej jeden plik nie został skompresowany!</translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_Processing.cpp" line="497"/> <location filename="../../src/Dialog_Processing.cpp" line="518"/>
<location filename="../../src/Dialog_Processing.cpp" line="498"/> <location filename="../../src/Dialog_Processing.cpp" line="519"/>
<source>All files completed successfully.</source> <source>All files completed successfully.</source>
<translation type="unfinished">Kompresja wszystkich plików zakończona powodzeniem.</translation> <translation type="unfinished">Kompresja wszystkich plików zakończona powodzeniem.</translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_Processing.cpp" line="498"/> <location filename="../../src/Dialog_Processing.cpp" line="519"/>
<source>LameXP - Done</source> <source>LameXP - Done</source>
<translation type="unfinished">LameXP - Zrobione</translation> <translation type="unfinished">LameXP - Zrobione</translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_Processing.cpp" line="916"/> <location filename="../../src/Dialog_Processing.cpp" line="933"/>
<source>Playlist creation failed</source> <source>Playlist creation failed</source>
<translation type="unfinished">Tworzenie playlisty zakończone niepowodzeniem</translation> <translation type="unfinished">Tworzenie playlisty zakończone niepowodzeniem</translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_Processing.cpp" line="916"/> <location filename="../../src/Dialog_Processing.cpp" line="933"/>
<source>The playlist file could not be created:</source> <source>The playlist file could not be created:</source>
<translation type="unfinished">Playlista nie mogła zostać utworzona:</translation> <translation type="unfinished">Playlista nie mogła zostać utworzona:</translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_Processing.cpp" line="986"/> <location filename="../../src/Dialog_Processing.cpp" line="1003"/>
<source>Warning: Computer will shutdown in %1 seconds...</source> <source>Warning: Computer will shutdown in %1 seconds...</source>
<translation type="unfinished">Ostrzeżenie: Komputer zostanie zamknięty za %1 sekund/y...</translation> <translation type="unfinished">Ostrzeżenie: Komputer zostanie zamknięty za %1 sekund/y...</translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_Processing.cpp" line="990"/> <location filename="../../src/Dialog_Processing.cpp" line="1007"/>
<location filename="../../src/Dialog_Processing.cpp" line="991"/> <location filename="../../src/Dialog_Processing.cpp" line="1008"/>
<source>Cancel Shutdown</source> <source>Cancel Shutdown</source>
<translation type="unfinished">Anuluj wyłączenie komputera</translation> <translation type="unfinished">Anuluj wyłączenie komputera</translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_Processing.cpp" line="1046"/> <location filename="../../src/Dialog_Processing.cpp" line="1063"/>
<source>hour(s)</source> <source>hour(s)</source>
<translation type="unfinished">godzin/y</translation> <translation type="unfinished">godzin/y</translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_Processing.cpp" line="1047"/> <location filename="../../src/Dialog_Processing.cpp" line="1064"/>
<location filename="../../src/Dialog_Processing.cpp" line="1051"/> <location filename="../../src/Dialog_Processing.cpp" line="1068"/>
<source>minute(s)</source> <source>minute(s)</source>
<translation type="unfinished">minut/a</translation> <translation type="unfinished">minut/a</translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_Processing.cpp" line="1052"/> <location filename="../../src/Dialog_Processing.cpp" line="1069"/>
<location filename="../../src/Dialog_Processing.cpp" line="1056"/> <location filename="../../src/Dialog_Processing.cpp" line="1073"/>
<source>second(s)</source> <source>second(s)</source>
<translation type="unfinished">sekund/a</translation> <translation type="unfinished">sekund/a</translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_Processing.cpp" line="1057"/> <location filename="../../src/Dialog_Processing.cpp" line="1074"/>
<source>millisecond(s)</source> <source>millisecond(s)</source>
<translation type="unfinished">milisekund/y</translation> <translation type="unfinished">milisekund/y</translation>
</message> </message>
@ -2849,22 +2849,22 @@
<context> <context>
<name>QApplication</name> <name>QApplication</name>
<message> <message>
<location filename="../../src/Global.cpp" line="703"/> <location filename="../../src/Global.cpp" line="745"/>
<source>Executable &apos;%1&apos; doesn&apos;t support Windows compatibility mode.</source> <source>Executable &apos;%1&apos; doesn&apos;t support Windows compatibility mode.</source>
<translation type="unfinished">Plik wykonywalny &apos;%1&apos; nie działa w trybie kompatybilności z Windows.</translation> <translation type="unfinished">Plik wykonywalny &apos;%1&apos; nie działa w trybie kompatybilności z Windows.</translation>
</message> </message>
<message> <message>
<location filename="../../src/Global.cpp" line="918"/> <location filename="../../src/Global.cpp" line="982"/>
<source>Executable &apos;%1&apos; requires Qt v%2, but found Qt v%3.</source> <source>Executable &apos;%1&apos; requires Qt v%2, but found Qt v%3.</source>
<translation type="unfinished">Plik wykonywalny &apos;%1&apos; wymaga Qt v%2, znaleziono jednak Qt v%3.</translation> <translation type="unfinished">Plik wykonywalny &apos;%1&apos; wymaga Qt v%2, znaleziono jednak Qt v%3.</translation>
</message> </message>
<message> <message>
<location filename="../../src/Global.cpp" line="923"/> <location filename="../../src/Global.cpp" line="987"/>
<source>Executable &apos;%1&apos; was built for Qt &apos;%2&apos;, but found Qt &apos;%3&apos;.</source> <source>Executable &apos;%1&apos; was built for Qt &apos;%2&apos;, but found Qt &apos;%3&apos;.</source>
<translation type="unfinished">Plik wykonywalny &quot;%1&quot; został skompilowany dla Qt &quot;%2&quot;, znaleziono &quot;%3&quot;.</translation> <translation type="unfinished">Plik wykonywalny &quot;%1&quot; został skompilowany dla Qt &quot;%2&quot;, znaleziono &quot;%3&quot;.</translation>
</message> </message>
<message> <message>
<location filename="../../src/Global.cpp" line="932"/> <location filename="../../src/Global.cpp" line="996"/>
<source>Executable &apos;%1&apos; requires Windows 2000 or later.</source> <source>Executable &apos;%1&apos; requires Windows 2000 or later.</source>
<translation type="unfinished">Plik wykonywalny &apos;%1&apos; wymaga do uruchomienia Windows 2000 lub nowszego.</translation> <translation type="unfinished">Plik wykonywalny &apos;%1&apos; wymaga do uruchomienia Windows 2000 lub nowszego.</translation>
</message> </message>

View File

@ -29,8 +29,8 @@
#define VER_LAMEXP_MINOR_HI 0 #define VER_LAMEXP_MINOR_HI 0
#define VER_LAMEXP_MINOR_LO 4 #define VER_LAMEXP_MINOR_LO 4
#define VER_LAMEXP_TYPE Alpha #define VER_LAMEXP_TYPE Alpha
#define VER_LAMEXP_PATCH 12 #define VER_LAMEXP_PATCH 13
#define VER_LAMEXP_BUILD 854 #define VER_LAMEXP_BUILD 860
/////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////
// Tool versions (minimum expected versions!) // Tool versions (minimum expected versions!)

View File

@ -446,7 +446,7 @@ MainWindow::~MainWindow(void)
if(m_messageHandler && m_messageHandler->isRunning()) if(m_messageHandler && m_messageHandler->isRunning())
{ {
m_messageHandler->stop(); m_messageHandler->stop();
if(!m_messageHandler->wait(10000)) if(!m_messageHandler->wait(2500))
{ {
m_messageHandler->terminate(); m_messageHandler->terminate();
m_messageHandler->wait(); m_messageHandler->wait();
@ -794,7 +794,7 @@ void MainWindow::dropEvent(QDropEvent *event)
*/ */
void MainWindow::closeEvent(QCloseEvent *event) void MainWindow::closeEvent(QCloseEvent *event)
{ {
if((m_banner->isVisible() || m_delayedFileTimer->isActive()) && !lamexp_session_ending()) if(m_banner->isVisible() || m_delayedFileTimer->isActive())
{ {
MessageBeep(MB_ICONEXCLAMATION); MessageBeep(MB_ICONEXCLAMATION);
event->ignore(); event->ignore();
@ -896,6 +896,31 @@ bool MainWindow::eventFilter(QObject *obj, QEvent *event)
return QMainWindow::eventFilter(obj, event); return QMainWindow::eventFilter(obj, event);
} }
bool MainWindow::event(QEvent *e)
{
switch(e->type())
{
case lamexp_event_queryendsession:
qWarning("System is shutting down, main window prepares to close...");
if(m_banner->isVisible()) m_banner->close();
if(m_delayedFileTimer->isActive()) m_delayedFileTimer->stop();
return true;
case lamexp_event_endsession:
qWarning("System is shutting down, main window will close now...");
if(isVisible())
{
while(!close())
{
QApplication::processEvents(QEventLoop::WaitForMoreEvents & QEventLoop::ExcludeUserInputEvents);
}
}
m_fileListModel->clearFiles();
return true;
default:
return QMainWindow::event(e);
}
}
bool MainWindow::winEvent(MSG *message, long *result) bool MainWindow::winEvent(MSG *message, long *result)
{ {
return WinSevenTaskbar::handleWinEvent(message, result); return WinSevenTaskbar::handleWinEvent(message, result);

View File

@ -139,14 +139,15 @@ private slots:
void windowShown(void); void windowShown(void);
protected: protected:
void changeEvent(QEvent *e); virtual void changeEvent(QEvent *e);
void closeEvent(QCloseEvent *event); virtual void closeEvent(QCloseEvent *event);
void dragEnterEvent(QDragEnterEvent *event); virtual void dragEnterEvent(QDragEnterEvent *event);
void dropEvent(QDropEvent *event); virtual void dropEvent(QDropEvent *event);
bool eventFilter(QObject *obj, QEvent *event); virtual bool eventFilter(QObject *obj, QEvent *event);
void resizeEvent(QResizeEvent *event); virtual void resizeEvent(QResizeEvent *event);
void showEvent(QShowEvent *event); virtual void showEvent(QShowEvent *event);
bool winEvent(MSG *message, long *result); virtual bool event(QEvent *e);
virtual bool winEvent(MSG *message, long *result);
private: private:
void addFiles(const QStringList &files); void addFiles(const QStringList &files);

View File

@ -185,6 +185,7 @@ ProcessingDialog::ProcessingDialog(FileListModel *fileListModel, AudioFileModel
m_succeededJobs.clear(); m_succeededJobs.clear();
m_failedJobs.clear(); m_failedJobs.clear();
m_userAborted = false; m_userAborted = false;
m_forcedAbort = false;
m_timerStart = 0I64; m_timerStart = 0I64;
} }
@ -276,12 +277,6 @@ void ProcessingDialog::showEvent(QShowEvent *event)
void ProcessingDialog::closeEvent(QCloseEvent *event) void ProcessingDialog::closeEvent(QCloseEvent *event)
{ {
if(lamexp_session_ending() && !m_userAborted)
{
qWarning("Computer is shutting down, LameXP will abort and exit!");
abortEncoding();
}
if(!button_closeDialog->isEnabled()) if(!button_closeDialog->isEnabled())
{ {
event->ignore(); event->ignore();
@ -321,6 +316,31 @@ bool ProcessingDialog::eventFilter(QObject *obj, QEvent *event)
return false; return false;
} }
bool ProcessingDialog::event(QEvent *e)
{
switch(e->type())
{
case lamexp_event_queryendsession:
qWarning("System is shutting down, preparing to abort...");
if(!m_userAborted) abortEncoding(true);
return true;
case lamexp_event_endsession:
qWarning("System is shutting down, encoding will be aborted now...");
if(isVisible())
{
while(!close())
{
if(!m_userAborted) abortEncoding(true);
QApplication::processEvents(QEventLoop::WaitForMoreEvents & QEventLoop::ExcludeUserInputEvents);
}
}
m_pendingJobs.clear();
return true;
default:
return QDialog::event(e);
}
}
bool ProcessingDialog::winEvent(MSG *message, long *result) bool ProcessingDialog::winEvent(MSG *message, long *result)
{ {
return WinSevenTaskbar::handleWinEvent(message, result); return WinSevenTaskbar::handleWinEvent(message, result);
@ -338,6 +358,7 @@ void ProcessingDialog::initEncoding(void)
m_succeededJobs.clear(); m_succeededJobs.clear();
m_failedJobs.clear(); m_failedJobs.clear();
m_userAborted = false; m_userAborted = false;
m_forcedAbort = false;
m_playList.clear(); m_playList.clear();
CHANGE_BACKGROUND_COLOR(frame_header, QColor(Qt::white)); CHANGE_BACKGROUND_COLOR(frame_header, QColor(Qt::white));
@ -399,11 +420,11 @@ void ProcessingDialog::initEncoding(void)
} }
} }
void ProcessingDialog::abortEncoding(void) void ProcessingDialog::abortEncoding(bool force)
{ {
m_userAborted = true; m_userAborted = true;
if(force) m_forcedAbort = true;
button_AbortProcess->setEnabled(false); button_AbortProcess->setEnabled(false);
SET_PROGRESS_TEXT(tr("Aborted! Waiting for running jobs to terminate...")); SET_PROGRESS_TEXT(tr("Aborted! Waiting for running jobs to terminate..."));
for(int i = 0; i < m_threadList.count(); i++) for(int i = 0; i < m_threadList.count(); i++)
@ -429,7 +450,7 @@ void ProcessingDialog::doneEncoding(void)
m_threadList.takeAt(index)->deleteLater(); m_threadList.takeAt(index)->deleteLater();
} }
if(!m_pendingJobs.isEmpty() && !m_userAborted && !lamexp_session_ending()) if(!m_pendingJobs.isEmpty() && !m_userAborted)
{ {
startNextJob(); startNextJob();
qDebug("Running jobs: %u", m_runningThreads); qDebug("Running jobs: %u", m_runningThreads);
@ -445,14 +466,14 @@ void ProcessingDialog::doneEncoding(void)
QApplication::setOverrideCursor(Qt::WaitCursor); QApplication::setOverrideCursor(Qt::WaitCursor);
qDebug("Running jobs: %u", m_runningThreads); qDebug("Running jobs: %u", m_runningThreads);
if(!m_userAborted && m_settings->createPlaylist() && !m_settings->outputToSourceDir() && !lamexp_session_ending()) if(!m_userAborted && m_settings->createPlaylist() && !m_settings->outputToSourceDir())
{ {
SET_PROGRESS_TEXT(tr("Creating the playlist file, please wait...")); SET_PROGRESS_TEXT(tr("Creating the playlist file, please wait..."));
QApplication::processEvents(); QApplication::processEvents();
writePlayList(); writePlayList();
} }
if(m_userAborted || lamexp_session_ending()) if(m_userAborted)
{ {
CHANGE_BACKGROUND_COLOR(frame_header, QColor("#FFF3BA")); CHANGE_BACKGROUND_COLOR(frame_header, QColor("#FFF3BA"));
WinSevenTaskbar::setTaskbarState(this, WinSevenTaskbar::WinSevenTaskbarErrorState); WinSevenTaskbar::setTaskbarState(this, WinSevenTaskbar::WinSevenTaskbarErrorState);
@ -461,7 +482,7 @@ void ProcessingDialog::doneEncoding(void)
m_systemTray->showMessage(tr("LameXP - Aborted"), tr("Process was aborted by the user."), QSystemTrayIcon::Warning); m_systemTray->showMessage(tr("LameXP - Aborted"), tr("Process was aborted by the user."), QSystemTrayIcon::Warning);
m_systemTray->setIcon(QIcon(":/icons/cd_delete.png")); m_systemTray->setIcon(QIcon(":/icons/cd_delete.png"));
QApplication::processEvents(); QApplication::processEvents();
if(m_settings->soundsEnabled() && !lamexp_session_ending()) if(m_settings->soundsEnabled() && !m_forcedAbort)
{ {
PlaySound(MAKEINTRESOURCE(IDR_WAVE_ABORTED), GetModuleHandle(NULL), SND_RESOURCE | SND_SYNC); PlaySound(MAKEINTRESOURCE(IDR_WAVE_ABORTED), GetModuleHandle(NULL), SND_RESOURCE | SND_SYNC);
} }
@ -515,11 +536,7 @@ void ProcessingDialog::doneEncoding(void)
QApplication::restoreOverrideCursor(); QApplication::restoreOverrideCursor();
if(lamexp_session_ending()) if(!m_userAborted && checkBox_shutdownComputer->isChecked())
{
accept();
}
else if(!m_userAborted && checkBox_shutdownComputer->isChecked())
{ {
if(shutdownComputer()) if(shutdownComputer())
{ {

View File

@ -58,7 +58,7 @@ public:
private slots: private slots:
void initEncoding(void); void initEncoding(void);
void doneEncoding(void); void doneEncoding(void);
void abortEncoding(void); void abortEncoding(bool force = false);
void processFinished(const QUuid &jobId, const QString &outFileName, bool success); void processFinished(const QUuid &jobId, const QString &outFileName, bool success);
void progressModelChanged(void); void progressModelChanged(void);
void logViewDoubleClicked(const QModelIndex &index); void logViewDoubleClicked(const QModelIndex &index);
@ -75,7 +75,8 @@ protected:
void showEvent(QShowEvent *event); void showEvent(QShowEvent *event);
void closeEvent(QCloseEvent *event); void closeEvent(QCloseEvent *event);
bool eventFilter(QObject *obj, QEvent *event); bool eventFilter(QObject *obj, QEvent *event);
bool winEvent(MSG *message, long *result); virtual bool event(QEvent *e);
virtual bool winEvent(MSG *message, long *result);
private: private:
void setCloseButtonEnabled(bool enabled); void setCloseButtonEnabled(bool enabled);
@ -100,6 +101,7 @@ private:
QList<QUuid> m_succeededJobs; QList<QUuid> m_succeededJobs;
QList<QUuid> m_failedJobs; QList<QUuid> m_failedJobs;
bool m_userAborted; bool m_userAborted;
bool m_forcedAbort;
QSystemTrayIcon *m_systemTray; QSystemTrayIcon *m_systemTray;
int m_shutdownFlag; int m_shutdownFlag;
CPUObserverThread *m_cpuObserver; CPUObserverThread *m_cpuObserver;

View File

@ -149,7 +149,7 @@ void SplashScreen::keyReleaseEvent(QKeyEvent *event)
void SplashScreen::closeEvent(QCloseEvent *event) void SplashScreen::closeEvent(QCloseEvent *event)
{ {
if(!m_canClose && !lamexp_session_ending()) event->ignore(); if(!m_canClose) event->ignore();
} }
bool SplashScreen::winEvent(MSG *message, long *result) bool SplashScreen::winEvent(MSG *message, long *result)

View File

@ -270,7 +270,7 @@ void UpdateDialog::showEvent(QShowEvent *event)
void UpdateDialog::closeEvent(QCloseEvent *event) void UpdateDialog::closeEvent(QCloseEvent *event)
{ {
if(!closeButton->isEnabled() && !lamexp_session_ending()) if(!closeButton->isEnabled())
{ {
event->ignore(); event->ignore();
} }

View File

@ -78,10 +78,11 @@ void WorkingBanner::show(const QString &text)
QApplication::processEvents(); QApplication::processEvents();
} }
void WorkingBanner::close(void) bool WorkingBanner::close(void)
{ {
m_canClose = true; m_canClose = true;
QDialog::close(); emit userAbort();
return QDialog::close();
} }
void WorkingBanner::show(const QString &text, QThread *thread) void WorkingBanner::show(const QString &text, QThread *thread)
@ -152,7 +153,7 @@ void WorkingBanner::keyReleaseEvent(QKeyEvent *event)
void WorkingBanner::closeEvent(QCloseEvent *event) void WorkingBanner::closeEvent(QCloseEvent *event)
{ {
if(!m_canClose && !lamexp_session_ending()) event->ignore(); if(!m_canClose) event->ignore();
} }
bool WorkingBanner::winEvent(MSG *message, long *result) bool WorkingBanner::winEvent(MSG *message, long *result)

View File

@ -38,7 +38,6 @@ public:
void show(const QString &text); void show(const QString &text);
void show(const QString &text, QThread *thread); void show(const QString &text, QThread *thread);
void show(const QString &text, QEventLoop *loop); void show(const QString &text, QEventLoop *loop);
void close(void);
private: private:
QMovie *m_working; QMovie *m_working;
@ -46,6 +45,7 @@ private:
public slots: public slots:
void setText(const QString &text); void setText(const QString &text);
bool close(void);
signals: signals:
void userAbort(void); void userAbort(void);

View File

@ -44,6 +44,7 @@
#include <QEventLoop> #include <QEventLoop>
#include <QTimer> #include <QTimer>
#include <QLibraryInfo> #include <QLibraryInfo>
#include <QEvent>
//LameXP includes //LameXP includes
#include "Resource.h" #include "Resource.h"
@ -77,13 +78,24 @@ Q_IMPORT_PLUGIN(qsvg)
// TYPES // TYPES
/////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////
static const size_t g_lamexp_ipc_slots = 128;
typedef struct typedef struct
{ {
unsigned int command; unsigned int command;
unsigned int reserved_1; unsigned int reserved_1;
unsigned int reserved_2; unsigned int reserved_2;
char parameter[4096]; char parameter[4096];
} lamexp_ipc_t; }
lamexp_ipc_data_t;
typedef struct
{
unsigned int pos_write;
unsigned int pos_read;
lamexp_ipc_data_t data[g_lamexp_ipc_slots];
}
lamexp_ipc_t;
/////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////
// GLOBAL VARS // GLOBAL VARS
@ -199,19 +211,25 @@ static const struct
{ {
char *sharedmem; char *sharedmem;
char *semaphore_read; char *semaphore_read;
char *semaphore_read_mutex;
char *semaphore_write; char *semaphore_write;
char *semaphore_write_mutex;
} }
g_lamexp_ipc_uuid = g_lamexp_ipc_uuid =
{ {
"{21A68A42-6923-43bb-9CF6-64BF151942EE}", "{21A68A42-6923-43bb-9CF6-64BF151942EE}",
"{7A605549-F58C-4d78-B4E5-06EFC34F405B}", "{7A605549-F58C-4d78-B4E5-06EFC34F405B}",
"{60AA8D04-F6B8-497d-81EB-0F600F4A65B5}" "{60AA8D04-F6B8-497d-81EB-0F600F4A65B5}",
"{726061D5-1615-4B82-871C-75FD93458E46}",
"{1A616023-AA6A-4519-8AF3-F7736E899977}"
}; };
static struct static struct
{ {
QSharedMemory *sharedmem; QSharedMemory *sharedmem;
QSystemSemaphore *semaphore_read; QSystemSemaphore *semaphore_read;
QSystemSemaphore *semaphore_read_mutex;
QSystemSemaphore *semaphore_write; QSystemSemaphore *semaphore_write;
QSystemSemaphore *semaphore_write_mutex;
} }
g_lamexp_ipc_ptr = g_lamexp_ipc_ptr =
{ {
@ -227,9 +245,6 @@ static QMutex g_lamexp_message_mutex;
//Main thread ID //Main thread ID
static const DWORD g_main_thread_id = GetCurrentThreadId(); static const DWORD g_main_thread_id = GetCurrentThreadId();
//Session ending flag
static bool g_sessionIsEnding = false;
//Log file //Log file
static FILE *g_lamexp_log_file = NULL; static FILE *g_lamexp_log_file = NULL;
@ -409,8 +424,9 @@ void lamexp_message_handler(QtMsgType type, const char *msg)
{ {
static char prefix[] = "DWCF"; static char prefix[] = "DWCF";
int index = qBound(0, static_cast<int>(type), 3); int index = qBound(0, static_cast<int>(type), 3);
unsigned int timestamp = static_cast<unsigned int>(_time64(NULL) % 3600I64);
QString str = QString::fromUtf8(msg).trimmed().replace('\n', '\t'); QString str = QString::fromUtf8(msg).trimmed().replace('\n', '\t');
fprintf(g_lamexp_log_file, "[%c][%04I64d] %s\r\n", prefix[index], _time64(NULL) % 3600I64, str.toUtf8().constData()); fprintf(g_lamexp_log_file, "[%c][%04u] %s\r\n", prefix[index], timestamp, str.toUtf8().constData());
fflush(g_lamexp_log_file); fflush(g_lamexp_log_file);
} }
@ -489,13 +505,16 @@ void lamexp_init_console(int argc, char* argv[])
size_t logfile_len = 0; size_t logfile_len = 0;
if(!_wdupenv_s(&logfile, &logfile_len, L"LAMEXP_LOGFILE")) if(!_wdupenv_s(&logfile, &logfile_len, L"LAMEXP_LOGFILE"))
{ {
FILE *temp = NULL; if(logfile && (logfile_len > 0))
if(!_wfopen_s(&temp, logfile, L"wb"))
{ {
fprintf(temp, "%c%c%c", 0xEF, 0xBB, 0xBF); FILE *temp = NULL;
g_lamexp_log_file = temp; if(!_wfopen_s(&temp, logfile, L"wb"))
{
fprintf(temp, "%c%c%c", 0xEF, 0xBB, 0xBF);
g_lamexp_log_file = temp;
}
free(logfile);
} }
free(logfile);
} }
} }
@ -813,6 +832,41 @@ QIcon lamexp_app_icon(const QDate *date, const QTime *time)
} }
} }
/*
* Broadcast event to all windows
*/
static bool lamexp_broadcast(int eventType, bool onlyToVisible)
{
if(QApplication *app = dynamic_cast<QApplication*>(QApplication::instance()))
{
qDebug("Broadcasting %d", eventType);
bool allOk = true;
QEvent poEvent(static_cast<QEvent::Type>(eventType));
QWidgetList list = app->topLevelWidgets();
while(!list.isEmpty())
{
QWidget *widget = list.takeFirst();
if(!onlyToVisible || widget->isVisible())
{
if(!app->sendEvent(widget, &poEvent))
{
allOk = false;
}
}
}
qDebug("Broadcast %d done (%s)", eventType, (allOk ? "OK" : "Stopped"));
return allOk;
}
else
{
qWarning("Broadcast failed, could not get QApplication instance!");
return false;
}
}
/* /*
* Qt event filter * Qt event filter
*/ */
@ -822,33 +876,20 @@ static bool lamexp_event_filter(void *message, long *result)
{ {
case WM_QUERYENDSESSION: case WM_QUERYENDSESSION:
qWarning("WM_QUERYENDSESSION message received!"); qWarning("WM_QUERYENDSESSION message received!");
if(!g_sessionIsEnding) *result = lamexp_broadcast(lamexp_event_queryendsession, false) ? TRUE : FALSE;
{
g_sessionIsEnding = true;
if(QApplication *app = reinterpret_cast<QApplication*>(QApplication::instance()))
{
for(int i = 0; i < 128; i++)
{
app->closeAllWindows();
app->processEvents();
Sleep(8);
}
}
}
*result = TRUE;
return true; return true;
case WM_ENDSESSION: case WM_ENDSESSION:
qWarning("WM_ENDSESSION message received!"); qWarning("WM_ENDSESSION message received!");
if(reinterpret_cast<MSG*>(message)->wParam == TRUE) if(reinterpret_cast<MSG*>(message)->wParam == TRUE)
{ {
g_sessionIsEnding = true; lamexp_broadcast(lamexp_event_endsession, false);
if(QApplication *app = reinterpret_cast<QApplication*>(QApplication::instance())) if(QApplication *app = reinterpret_cast<QApplication*>(QApplication::instance()))
{ {
app->closeAllWindows();
app->quit(); app->quit();
app->processEvents();
lamexp_finalization();
exit(1);
} }
lamexp_finalization();
exit(1);
} }
*result = 0; *result = 0;
return true; return true;
@ -1055,19 +1096,23 @@ bool lamexp_init_qt(int argc, char* argv[])
*/ */
int lamexp_init_ipc(void) int lamexp_init_ipc(void)
{ {
if(g_lamexp_ipc_ptr.sharedmem && g_lamexp_ipc_ptr.semaphore_read && g_lamexp_ipc_ptr.semaphore_write) if(g_lamexp_ipc_ptr.sharedmem && g_lamexp_ipc_ptr.semaphore_read && g_lamexp_ipc_ptr.semaphore_write && g_lamexp_ipc_ptr.semaphore_read_mutex && g_lamexp_ipc_ptr.semaphore_write_mutex)
{ {
return 0; return 0;
} }
g_lamexp_ipc_ptr.semaphore_read = new QSystemSemaphore(QString(g_lamexp_ipc_uuid.semaphore_read), 0); g_lamexp_ipc_ptr.semaphore_read = new QSystemSemaphore(QString(g_lamexp_ipc_uuid.semaphore_read), 0);
g_lamexp_ipc_ptr.semaphore_write = new QSystemSemaphore(QString(g_lamexp_ipc_uuid.semaphore_write), 0); g_lamexp_ipc_ptr.semaphore_write = new QSystemSemaphore(QString(g_lamexp_ipc_uuid.semaphore_write), 0);
g_lamexp_ipc_ptr.semaphore_read_mutex = new QSystemSemaphore(QString(g_lamexp_ipc_uuid.semaphore_read_mutex), 0);
g_lamexp_ipc_ptr.semaphore_write_mutex = new QSystemSemaphore(QString(g_lamexp_ipc_uuid.semaphore_write_mutex), 0);
if(g_lamexp_ipc_ptr.semaphore_read->error() != QSystemSemaphore::NoError) if(g_lamexp_ipc_ptr.semaphore_read->error() != QSystemSemaphore::NoError)
{ {
QString errorMessage = g_lamexp_ipc_ptr.semaphore_read->errorString(); QString errorMessage = g_lamexp_ipc_ptr.semaphore_read->errorString();
LAMEXP_DELETE(g_lamexp_ipc_ptr.semaphore_read); LAMEXP_DELETE(g_lamexp_ipc_ptr.semaphore_read);
LAMEXP_DELETE(g_lamexp_ipc_ptr.semaphore_write); LAMEXP_DELETE(g_lamexp_ipc_ptr.semaphore_write);
LAMEXP_DELETE(g_lamexp_ipc_ptr.semaphore_read_mutex);
LAMEXP_DELETE(g_lamexp_ipc_ptr.semaphore_write_mutex);
qFatal("Failed to create system smaphore: %s", errorMessage.toUtf8().constData()); qFatal("Failed to create system smaphore: %s", errorMessage.toUtf8().constData());
return -1; return -1;
} }
@ -1076,6 +1121,28 @@ int lamexp_init_ipc(void)
QString errorMessage = g_lamexp_ipc_ptr.semaphore_write->errorString(); QString errorMessage = g_lamexp_ipc_ptr.semaphore_write->errorString();
LAMEXP_DELETE(g_lamexp_ipc_ptr.semaphore_read); LAMEXP_DELETE(g_lamexp_ipc_ptr.semaphore_read);
LAMEXP_DELETE(g_lamexp_ipc_ptr.semaphore_write); LAMEXP_DELETE(g_lamexp_ipc_ptr.semaphore_write);
LAMEXP_DELETE(g_lamexp_ipc_ptr.semaphore_read_mutex);
LAMEXP_DELETE(g_lamexp_ipc_ptr.semaphore_write_mutex);
qFatal("Failed to create system smaphore: %s", errorMessage.toUtf8().constData());
return -1;
}
if(g_lamexp_ipc_ptr.semaphore_read_mutex->error() != QSystemSemaphore::NoError)
{
QString errorMessage = g_lamexp_ipc_ptr.semaphore_read_mutex->errorString();
LAMEXP_DELETE(g_lamexp_ipc_ptr.semaphore_read);
LAMEXP_DELETE(g_lamexp_ipc_ptr.semaphore_write);
LAMEXP_DELETE(g_lamexp_ipc_ptr.semaphore_read_mutex);
LAMEXP_DELETE(g_lamexp_ipc_ptr.semaphore_write_mutex);
qFatal("Failed to create system smaphore: %s", errorMessage.toUtf8().constData());
return -1;
}
if(g_lamexp_ipc_ptr.semaphore_write_mutex->error() != QSystemSemaphore::NoError)
{
QString errorMessage = g_lamexp_ipc_ptr.semaphore_write_mutex->errorString();
LAMEXP_DELETE(g_lamexp_ipc_ptr.semaphore_read);
LAMEXP_DELETE(g_lamexp_ipc_ptr.semaphore_write);
LAMEXP_DELETE(g_lamexp_ipc_ptr.semaphore_read_mutex);
LAMEXP_DELETE(g_lamexp_ipc_ptr.semaphore_write_mutex);
qFatal("Failed to create system smaphore: %s", errorMessage.toUtf8().constData()); qFatal("Failed to create system smaphore: %s", errorMessage.toUtf8().constData());
return -1; return -1;
} }
@ -1094,6 +1161,7 @@ int lamexp_init_ipc(void)
else else
{ {
QString errorMessage = g_lamexp_ipc_ptr.sharedmem->errorString(); QString errorMessage = g_lamexp_ipc_ptr.sharedmem->errorString();
LAMEXP_DELETE(g_lamexp_ipc_ptr.sharedmem);
qFatal("Failed to attach to shared memory: %s", errorMessage.toUtf8().constData()); qFatal("Failed to attach to shared memory: %s", errorMessage.toUtf8().constData());
return -1; return -1;
} }
@ -1101,13 +1169,16 @@ int lamexp_init_ipc(void)
else else
{ {
QString errorMessage = g_lamexp_ipc_ptr.sharedmem->errorString(); QString errorMessage = g_lamexp_ipc_ptr.sharedmem->errorString();
LAMEXP_DELETE(g_lamexp_ipc_ptr.sharedmem);
qFatal("Failed to create shared memory: %s", errorMessage.toUtf8().constData()); qFatal("Failed to create shared memory: %s", errorMessage.toUtf8().constData());
return -1; return -1;
} }
} }
memset(g_lamexp_ipc_ptr.sharedmem->data(), 0, sizeof(lamexp_ipc_t)); memset(g_lamexp_ipc_ptr.sharedmem->data(), 0, sizeof(lamexp_ipc_t));
g_lamexp_ipc_ptr.semaphore_write->release(); g_lamexp_ipc_ptr.semaphore_write->release(g_lamexp_ipc_slots);
g_lamexp_ipc_ptr.semaphore_read_mutex->release();
g_lamexp_ipc_ptr.semaphore_write_mutex->release();
return 0; return 0;
} }
@ -1117,26 +1188,31 @@ int lamexp_init_ipc(void)
*/ */
void lamexp_ipc_send(unsigned int command, const char* message) void lamexp_ipc_send(unsigned int command, const char* message)
{ {
if(!g_lamexp_ipc_ptr.sharedmem || !g_lamexp_ipc_ptr.semaphore_read || !g_lamexp_ipc_ptr.semaphore_write) if(!g_lamexp_ipc_ptr.sharedmem || !g_lamexp_ipc_ptr.semaphore_read || !g_lamexp_ipc_ptr.semaphore_write || !g_lamexp_ipc_ptr.semaphore_read_mutex || !g_lamexp_ipc_ptr.semaphore_write_mutex)
{ {
throw "Shared memory for IPC not initialized yet."; throw "Shared memory for IPC not initialized yet.";
} }
lamexp_ipc_t *lamexp_ipc = new lamexp_ipc_t; lamexp_ipc_data_t ipc_data;
memset(lamexp_ipc, 0, sizeof(lamexp_ipc_t)); memset(&ipc_data, 0, sizeof(lamexp_ipc_data_t));
lamexp_ipc->command = command; ipc_data.command = command;
if(message) if(message)
{ {
strncpy_s(lamexp_ipc->parameter, 4096, message, _TRUNCATE); strncpy_s(ipc_data.parameter, 4096, message, _TRUNCATE);
} }
if(g_lamexp_ipc_ptr.semaphore_write->acquire()) if(g_lamexp_ipc_ptr.semaphore_write->acquire())
{ {
memcpy(g_lamexp_ipc_ptr.sharedmem->data(), lamexp_ipc, sizeof(lamexp_ipc_t)); if(g_lamexp_ipc_ptr.semaphore_write_mutex->acquire())
g_lamexp_ipc_ptr.semaphore_read->release(); {
lamexp_ipc_t *ptr = reinterpret_cast<lamexp_ipc_t*>(g_lamexp_ipc_ptr.sharedmem->data());
memcpy(&ptr->data[ptr->pos_write], &ipc_data, sizeof(lamexp_ipc_data_t));
ptr->pos_write = (ptr->pos_write + 1) % g_lamexp_ipc_slots;
g_lamexp_ipc_ptr.semaphore_read->release();
g_lamexp_ipc_ptr.semaphore_write_mutex->release();
}
} }
LAMEXP_DELETE(lamexp_ipc);
} }
/* /*
@ -1147,31 +1223,35 @@ void lamexp_ipc_read(unsigned int *command, char* message, size_t buffSize)
*command = 0; *command = 0;
message[0] = '\0'; message[0] = '\0';
if(!g_lamexp_ipc_ptr.sharedmem || !g_lamexp_ipc_ptr.semaphore_read || !g_lamexp_ipc_ptr.semaphore_write) if(!g_lamexp_ipc_ptr.sharedmem || !g_lamexp_ipc_ptr.semaphore_read || !g_lamexp_ipc_ptr.semaphore_write || !g_lamexp_ipc_ptr.semaphore_read_mutex || !g_lamexp_ipc_ptr.semaphore_write_mutex)
{ {
throw "Shared memory for IPC not initialized yet."; throw "Shared memory for IPC not initialized yet.";
} }
lamexp_ipc_t *lamexp_ipc = new lamexp_ipc_t; lamexp_ipc_data_t ipc_data;
memset(lamexp_ipc, 0, sizeof(lamexp_ipc_t)); memset(&ipc_data, 0, sizeof(lamexp_ipc_data_t));
if(g_lamexp_ipc_ptr.semaphore_read->acquire()) if(g_lamexp_ipc_ptr.semaphore_read->acquire())
{ {
memcpy(lamexp_ipc, g_lamexp_ipc_ptr.sharedmem->data(), sizeof(lamexp_ipc_t)); if(g_lamexp_ipc_ptr.semaphore_read_mutex->acquire())
g_lamexp_ipc_ptr.semaphore_write->release(); {
lamexp_ipc_t *ptr = reinterpret_cast<lamexp_ipc_t*>(g_lamexp_ipc_ptr.sharedmem->data());
memcpy(&ipc_data, &ptr->data[ptr->pos_read], sizeof(lamexp_ipc_data_t));
ptr->pos_read = (ptr->pos_read + 1) % g_lamexp_ipc_slots;
g_lamexp_ipc_ptr.semaphore_write->release();
g_lamexp_ipc_ptr.semaphore_read_mutex->release();
if(!(lamexp_ipc->reserved_1 || lamexp_ipc->reserved_2)) if(!(ipc_data.reserved_1 || ipc_data.reserved_2))
{ {
*command = lamexp_ipc->command; *command = ipc_data.command;
strncpy_s(message, buffSize, lamexp_ipc->parameter, _TRUNCATE); strncpy_s(message, buffSize, ipc_data.parameter, _TRUNCATE);
} }
else else
{ {
qWarning("Malformed IPC message, will be ignored"); qWarning("Malformed IPC message, will be ignored");
}
} }
} }
LAMEXP_DELETE(lamexp_ipc);
} }
/* /*
@ -1841,19 +1921,13 @@ QStringList lamexp_available_codepages(bool noAliases)
return codecList; return codecList;
} }
/*
* Check if the session is about to end
*/
bool lamexp_session_ending(void)
{
return g_sessionIsEnding;
}
/* /*
* Finalization function (final clean-up) * Finalization function (final clean-up)
*/ */
void lamexp_finalization(void) void lamexp_finalization(void)
{ {
qDebug("lamexp_finalization()");
//Free all tools //Free all tools
if(!g_lamexp_tool_registry.isEmpty()) if(!g_lamexp_tool_registry.isEmpty())
{ {

View File

@ -71,6 +71,15 @@ typedef enum
} }
lamexp_known_folder_t; lamexp_known_folder_t;
//LameXP user-defined events
typedef enum
{
lamexp_event = 1000, /*QEvent::User*/
lamexp_event_queryendsession = lamexp_event + 666,
lamexp_event_endsession = lamexp_event + 667
}
lamexp_event_t;
//LameXP version info //LameXP version info
unsigned int lamexp_version_major(void); unsigned int lamexp_version_major(void);
unsigned int lamexp_version_minor(void); unsigned int lamexp_version_minor(void);
@ -111,7 +120,6 @@ bool lamexp_portable_mode(void);
bool lamexp_shutdown_computer(const QString &message, const unsigned long timeout = 30, const bool forceShutdown = true, const bool hibernate = false); bool lamexp_shutdown_computer(const QString &message, const unsigned long timeout = 30, const bool forceShutdown = true, const bool hibernate = false);
bool lamexp_is_hibernation_supported(void); bool lamexp_is_hibernation_supported(void);
QIcon lamexp_app_icon(const QDate *date = NULL, const QTime *time = NULL); QIcon lamexp_app_icon(const QDate *date = NULL, const QTime *time = NULL);
bool lamexp_session_ending(void);
//Translation support //Translation support
QStringList lamexp_query_translations(void); QStringList lamexp_query_translations(void);

View File

@ -153,7 +153,7 @@ static int lamexp_main(int argc, char* argv[])
MainWindow *poMainWindow = new MainWindow(fileListModel, metaInfo, settingsModel); MainWindow *poMainWindow = new MainWindow(fileListModel, metaInfo, settingsModel);
//Main application loop //Main application loop
while(bAccepted && (iShutdown <= shutdownFlag_None) && (!lamexp_session_ending())) while(bAccepted && (iShutdown <= shutdownFlag_None))
{ {
//Show main window //Show main window
poMainWindow->show(); poMainWindow->show();
@ -161,7 +161,7 @@ static int lamexp_main(int argc, char* argv[])
bAccepted = poMainWindow->isAccepted(); bAccepted = poMainWindow->isAccepted();
//Show processing dialog //Show processing dialog
if(bAccepted && (fileListModel->rowCount() > 0) && (!lamexp_session_ending())) if(bAccepted && (fileListModel->rowCount() > 0))
{ {
ProcessingDialog *processingDialog = new ProcessingDialog(fileListModel, metaInfo, settingsModel); ProcessingDialog *processingDialog = new ProcessingDialog(fileListModel, metaInfo, settingsModel);
processingDialog->exec(); processingDialog->exec();

View File

@ -91,7 +91,7 @@ void MessageHandlerThread::stop(void)
if(!m_aborted) if(!m_aborted)
{ {
m_aborted = true; m_aborted = true;
lamexp_ipc_send(0, ""); lamexp_ipc_send(0, NULL);
} }
} }

View File

@ -35,7 +35,7 @@ public:
private: private:
char *m_parameter; char *m_parameter;
bool m_aborted; volatile bool m_aborted;
signals: signals:
void otherInstanceDetected(void); void otherInstanceDetected(void);