Added an option to filter the progress model entries. If filter is enabled, only progress items that match the filter will be shown in the TableView.

This commit is contained in:
LoRd_MuldeR 2012-11-11 18:33:55 +01:00
parent 082fb9e8f0
commit 07dfd3211a
23 changed files with 649 additions and 127 deletions

View File

@ -18,7 +18,8 @@ a:visited { color: #0000EE; }
<h3>LameXP - Version History</h3><br>
<a name="4.07"></a>Changes between v4.06 and v4.07 [<font color="darkred">unreleased</font>]:<br><ul>
<li>Added option to select the "overwrite mode" to advanced options
<li>Added option to select the "overwrite mode" to advanced options tab
<li>Added option to filter the log entries on the "processing" dialog (see context menu)
</ul><br>
<a name="4.06"></a>Changes between v4.05 and v4.06 [2012-11-04]:<br><ul>

View File

@ -2558,32 +2558,32 @@
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="3962"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="3960"/>
<source>Overwrite Mode</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="3962"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="3960"/>
<source>Warning: This mode may overwrite existing files with no way to revert!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="3962"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="3960"/>
<source>Continue</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="3962"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="3960"/>
<source>Revert</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="4028"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="4026"/>
<source>Already Running</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="4028"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="4026"/>
<source>LameXP is already running, please use the running instance!</source>
<translation type="unfinished"></translation>
</message>
@ -3064,141 +3064,181 @@
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_Processing.cpp" line="171"/>
<location filename="../../src/Dialog_Processing.cpp" line="174"/>
<source>Show details for selected job</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_Processing.cpp" line="172"/>
<location filename="../../src/Dialog_Processing.cpp" line="175"/>
<source>Browse Output File Location</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_Processing.cpp" line="190"/>
<location filename="../../src/Dialog_Processing.cpp" line="181"/>
<source>Filter Log Items</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_Processing.cpp" line="183"/>
<source>Show Running Only</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_Processing.cpp" line="184"/>
<source>Show Succeeded Only</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_Processing.cpp" line="185"/>
<source>Show Failed Only</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_Processing.cpp" line="186"/>
<source>Show Skipped Only</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_Processing.cpp" line="187"/>
<source>Show All Items</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_Processing.cpp" line="216"/>
<source>Encoding Files</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_Processing.cpp" line="190"/>
<location filename="../../src/Dialog_Processing.cpp" line="216"/>
<source>Your files are being encoded, please be patient...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_Processing.cpp" line="387"/>
<location filename="../../src/Dialog_Processing.cpp" line="417"/>
<source>Encoding files, please wait...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_Processing.cpp" line="430"/>
<location filename="../../src/Dialog_Processing.cpp" line="460"/>
<source>Multi-threading enabled: Running %1 instances in parallel!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_Processing.cpp" line="451"/>
<location filename="../../src/Dialog_Processing.cpp" line="481"/>
<source>Aborted! Waiting for running jobs to terminate...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_Processing.cpp" line="466"/>
<location filename="../../src/Dialog_Processing.cpp" line="496"/>
<source>Encoding: %1 files of %2 completed so far, please wait...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_Processing.cpp" line="494"/>
<location filename="../../src/Dialog_Processing.cpp" line="524"/>
<source>Creating the playlist file, please wait...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_Processing.cpp" line="504"/>
<location filename="../../src/Dialog_Processing.cpp" line="534"/>
<source>Process was aborted by the user after %1 file(s)!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_Processing.cpp" line="504"/>
<location filename="../../src/Dialog_Processing.cpp" line="534"/>
<source>Process was aborted prematurely by the user!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_Processing.cpp" line="505"/>
<location filename="../../src/Dialog_Processing.cpp" line="535"/>
<source>LameXP - Aborted</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_Processing.cpp" line="505"/>
<location filename="../../src/Dialog_Processing.cpp" line="535"/>
<source>Process was aborted by the user.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_Processing.cpp" line="521"/>
<location filename="../../src/Dialog_Processing.cpp" line="551"/>
<source>Process finished after %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_Processing.cpp" line="530"/>
<location filename="../../src/Dialog_Processing.cpp" line="562"/>
<source>Error: %1 of %2 files failed (%3 files skipped). Double-click failed items for detailed information!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_Processing.cpp" line="566"/>
<source>Error: %1 of %2 files failed. Double-click failed items for detailed information!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_Processing.cpp" line="531"/>
<location filename="../../src/Dialog_Processing.cpp" line="568"/>
<source>LameXP - Error</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_Processing.cpp" line="531"/>
<location filename="../../src/Dialog_Processing.cpp" line="568"/>
<source>At least one file has failed!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_Processing.cpp" line="541"/>
<location filename="../../src/Dialog_Processing.cpp" line="542"/>
<location filename="../../src/Dialog_Processing.cpp" line="580"/>
<source>All files completed successfully. Skipped %1 files.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_Processing.cpp" line="584"/>
<location filename="../../src/Dialog_Processing.cpp" line="586"/>
<source>All files completed successfully.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_Processing.cpp" line="542"/>
<location filename="../../src/Dialog_Processing.cpp" line="586"/>
<source>LameXP - Done</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_Processing.cpp" line="978"/>
<location filename="../../src/Dialog_Processing.cpp" line="1076"/>
<source>Playlist creation failed</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_Processing.cpp" line="978"/>
<location filename="../../src/Dialog_Processing.cpp" line="1076"/>
<source>The playlist file could not be created:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_Processing.cpp" line="1048"/>
<location filename="../../src/Dialog_Processing.cpp" line="1146"/>
<source>Warning: Computer will shutdown in %1 seconds...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_Processing.cpp" line="1052"/>
<location filename="../../src/Dialog_Processing.cpp" line="1053"/>
<location filename="../../src/Dialog_Processing.cpp" line="1150"/>
<location filename="../../src/Dialog_Processing.cpp" line="1151"/>
<source>Cancel Shutdown</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_Processing.cpp" line="1108"/>
<location filename="../../src/Dialog_Processing.cpp" line="1206"/>
<source>hour(s)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_Processing.cpp" line="1109"/>
<location filename="../../src/Dialog_Processing.cpp" line="1113"/>
<location filename="../../src/Dialog_Processing.cpp" line="1207"/>
<location filename="../../src/Dialog_Processing.cpp" line="1211"/>
<source>minute(s)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_Processing.cpp" line="1114"/>
<location filename="../../src/Dialog_Processing.cpp" line="1118"/>
<location filename="../../src/Dialog_Processing.cpp" line="1212"/>
<location filename="../../src/Dialog_Processing.cpp" line="1216"/>
<source>second(s)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_Processing.cpp" line="1119"/>
<location filename="../../src/Dialog_Processing.cpp" line="1217"/>
<source>millisecond(s)</source>
<translation type="unfinished"></translation>
</message>

View File

@ -2478,6 +2478,38 @@
<source>millisecond(s)</source>
<translation>Millisekunde(n)</translation>
</message>
<message>
<source>Filter Log Items</source>
<translation>Logeinträge filtern</translation>
</message>
<message>
<source>Show Running Only</source>
<translation>Nur laufende anzeigen</translation>
</message>
<message>
<source>Show Succeeded Only</source>
<translation>Nur erfolgreiche anzeigen</translation>
</message>
<message>
<source>Show Failed Only</source>
<translation>Nur fehlgeschlagene anzeigen</translation>
</message>
<message>
<source>Show Skipped Only</source>
<translation>Nur übersprungene anzeigen</translation>
</message>
<message>
<source>Show All Items</source>
<translation>Alle Einträge anzeigen</translation>
</message>
<message>
<source>Error: %1 of %2 files failed (%3 files skipped). Double-click failed items for detailed information!</source>
<translation>Fehler: %1 von %2 Dateien sind fehlgeschlagen (%3 übersprungen). Doppelklicken um Details anzuzeigen!</translation>
</message>
<message>
<source>All files completed successfully. Skipped %1 files.</source>
<translation>Alle Dateien wurden erfolgreich umgewandelt. %1 Dateien wurden übersprungen.</translation>
</message>
</context>
<context>
<name>ProgressModel</name>

View File

@ -2477,6 +2477,38 @@
<source>millisecond(s)</source>
<translation>milisegundo(s)</translation>
</message>
<message>
<source>Filter Log Items</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Show Running Only</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Show Succeeded Only</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Show Failed Only</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Show Skipped Only</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Show All Items</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Error: %1 of %2 files failed (%3 files skipped). Double-click failed items for detailed information!</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>All files completed successfully. Skipped %1 files.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>ProgressModel</name>

View File

@ -2487,6 +2487,38 @@ Ouvrir le dossier récursivement...</translation>
<source>millisecond(s)</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Filter Log Items</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Show Running Only</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Show Succeeded Only</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Show Failed Only</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Show Skipped Only</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Show All Items</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Error: %1 of %2 files failed (%3 files skipped). Double-click failed items for detailed information!</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>All files completed successfully. Skipped %1 files.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>ProgressModel</name>

View File

@ -2478,6 +2478,38 @@
<source>millisecond(s)</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Filter Log Items</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Show Running Only</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Show Succeeded Only</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Show Failed Only</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Show Skipped Only</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Show All Items</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Error: %1 of %2 files failed (%3 files skipped). Double-click failed items for detailed information!</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>All files completed successfully. Skipped %1 files.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>ProgressModel</name>

View File

@ -2477,6 +2477,38 @@
<source>millisecond(s)</source>
<translation type="unfinished">ms</translation>
</message>
<message>
<source>Filter Log Items</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Show Running Only</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Show Succeeded Only</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Show Failed Only</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Show Skipped Only</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Show All Items</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Error: %1 of %2 files failed (%3 files skipped). Double-click failed items for detailed information!</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>All files completed successfully. Skipped %1 files.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>ProgressModel</name>

View File

@ -2559,32 +2559,32 @@
<translation type="unfinished">Nie można zapisać do wybranej lokalizacji. Prosze wybierz inną lokalizację!</translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="3962"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="3960"/>
<source>Overwrite Mode</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="3962"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="3960"/>
<source>Warning: This mode may overwrite existing files with no way to revert!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="3962"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="3960"/>
<source>Continue</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="3962"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="3960"/>
<source>Revert</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="4028"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="4026"/>
<source>Already Running</source>
<translation type="unfinished">Już działa</translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="4028"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="4026"/>
<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>
</message>
@ -3065,141 +3065,181 @@
<translation type="unfinished">Powrót</translation>
</message>
<message>
<location filename="../../src/Dialog_Processing.cpp" line="171"/>
<location filename="../../src/Dialog_Processing.cpp" line="174"/>
<source>Show details for selected job</source>
<translation type="unfinished">Pokaż szczegóły wybranego zadania</translation>
</message>
<message>
<location filename="../../src/Dialog_Processing.cpp" line="172"/>
<location filename="../../src/Dialog_Processing.cpp" line="175"/>
<source>Browse Output File Location</source>
<translation type="unfinished">Wybierz lokalizację dla plików wyjściowych</translation>
</message>
<message>
<location filename="../../src/Dialog_Processing.cpp" line="190"/>
<location filename="../../src/Dialog_Processing.cpp" line="181"/>
<source>Filter Log Items</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_Processing.cpp" line="183"/>
<source>Show Running Only</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_Processing.cpp" line="184"/>
<source>Show Succeeded Only</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_Processing.cpp" line="185"/>
<source>Show Failed Only</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_Processing.cpp" line="186"/>
<source>Show Skipped Only</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_Processing.cpp" line="187"/>
<source>Show All Items</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_Processing.cpp" line="216"/>
<source>Encoding Files</source>
<translation type="unfinished">Kompresowanie plików</translation>
</message>
<message>
<location filename="../../src/Dialog_Processing.cpp" line="190"/>
<location filename="../../src/Dialog_Processing.cpp" line="216"/>
<source>Your files are being encoded, please be patient...</source>
<translation type="unfinished">Twoje pliki właśnie kompresowane, prosze być cierpliwy...</translation>
</message>
<message>
<location filename="../../src/Dialog_Processing.cpp" line="387"/>
<location filename="../../src/Dialog_Processing.cpp" line="417"/>
<source>Encoding files, please wait...</source>
<translation type="unfinished">Kompresowanie plików, prosze czekać...</translation>
</message>
<message>
<location filename="../../src/Dialog_Processing.cpp" line="430"/>
<location filename="../../src/Dialog_Processing.cpp" line="460"/>
<source>Multi-threading enabled: Running %1 instances in parallel!</source>
<translation type="unfinished">Wielowątkowosć włączona: Równolegle wykonywanych jest %1 kodowań!</translation>
</message>
<message>
<location filename="../../src/Dialog_Processing.cpp" line="451"/>
<location filename="../../src/Dialog_Processing.cpp" line="481"/>
<source>Aborted! Waiting for running jobs to terminate...</source>
<translation type="unfinished">Przerwano! Czekanie na wyłączenie procesu...</translation>
</message>
<message>
<location filename="../../src/Dialog_Processing.cpp" line="466"/>
<location filename="../../src/Dialog_Processing.cpp" line="496"/>
<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>
</message>
<message>
<location filename="../../src/Dialog_Processing.cpp" line="494"/>
<location filename="../../src/Dialog_Processing.cpp" line="524"/>
<source>Creating the playlist file, please wait...</source>
<translation type="unfinished">Tworzenie pliku playlisty, prosze czekać...</translation>
</message>
<message>
<location filename="../../src/Dialog_Processing.cpp" line="504"/>
<location filename="../../src/Dialog_Processing.cpp" line="534"/>
<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>
</message>
<message>
<location filename="../../src/Dialog_Processing.cpp" line="504"/>
<location filename="../../src/Dialog_Processing.cpp" line="534"/>
<source>Process was aborted prematurely by the user!</source>
<translation type="unfinished">Proces został przedwcześnie zakończony przez użytkownika!</translation>
</message>
<message>
<location filename="../../src/Dialog_Processing.cpp" line="505"/>
<location filename="../../src/Dialog_Processing.cpp" line="535"/>
<source>LameXP - Aborted</source>
<translation type="unfinished">LameXP - Przerwano</translation>
</message>
<message>
<location filename="../../src/Dialog_Processing.cpp" line="505"/>
<location filename="../../src/Dialog_Processing.cpp" line="535"/>
<source>Process was aborted by the user.</source>
<translation type="unfinished">Proces został przerwany przez użytkownika.</translation>
</message>
<message>
<location filename="../../src/Dialog_Processing.cpp" line="521"/>
<location filename="../../src/Dialog_Processing.cpp" line="551"/>
<source>Process finished after %1.</source>
<translation type="unfinished">Proces został zakończony po %1.</translation>
</message>
<message>
<location filename="../../src/Dialog_Processing.cpp" line="530"/>
<location filename="../../src/Dialog_Processing.cpp" line="562"/>
<source>Error: %1 of %2 files failed (%3 files skipped). Double-click failed items for detailed information!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_Processing.cpp" line="566"/>
<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>
</message>
<message>
<location filename="../../src/Dialog_Processing.cpp" line="531"/>
<location filename="../../src/Dialog_Processing.cpp" line="568"/>
<source>LameXP - Error</source>
<translation type="unfinished">LameXP - Błąd</translation>
</message>
<message>
<location filename="../../src/Dialog_Processing.cpp" line="531"/>
<location filename="../../src/Dialog_Processing.cpp" line="568"/>
<source>At least one file has failed!</source>
<translation type="unfinished">Przynajmniej jeden plik nie został skompresowany!</translation>
</message>
<message>
<location filename="../../src/Dialog_Processing.cpp" line="541"/>
<location filename="../../src/Dialog_Processing.cpp" line="542"/>
<location filename="../../src/Dialog_Processing.cpp" line="580"/>
<source>All files completed successfully. Skipped %1 files.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_Processing.cpp" line="584"/>
<location filename="../../src/Dialog_Processing.cpp" line="586"/>
<source>All files completed successfully.</source>
<translation type="unfinished">Kompresja wszystkich plików zakończona powodzeniem.</translation>
</message>
<message>
<location filename="../../src/Dialog_Processing.cpp" line="542"/>
<location filename="../../src/Dialog_Processing.cpp" line="586"/>
<source>LameXP - Done</source>
<translation type="unfinished">LameXP - Zrobione</translation>
</message>
<message>
<location filename="../../src/Dialog_Processing.cpp" line="978"/>
<location filename="../../src/Dialog_Processing.cpp" line="1076"/>
<source>Playlist creation failed</source>
<translation type="unfinished">Tworzenie playlisty zakończone niepowodzeniem</translation>
</message>
<message>
<location filename="../../src/Dialog_Processing.cpp" line="978"/>
<location filename="../../src/Dialog_Processing.cpp" line="1076"/>
<source>The playlist file could not be created:</source>
<translation type="unfinished">Playlista nie mogła zostać utworzona:</translation>
</message>
<message>
<location filename="../../src/Dialog_Processing.cpp" line="1048"/>
<location filename="../../src/Dialog_Processing.cpp" line="1146"/>
<source>Warning: Computer will shutdown in %1 seconds...</source>
<translation type="unfinished">Ostrzeżenie: Komputer zostanie zamknięty za %1 sekund/y...</translation>
</message>
<message>
<location filename="../../src/Dialog_Processing.cpp" line="1052"/>
<location filename="../../src/Dialog_Processing.cpp" line="1053"/>
<location filename="../../src/Dialog_Processing.cpp" line="1150"/>
<location filename="../../src/Dialog_Processing.cpp" line="1151"/>
<source>Cancel Shutdown</source>
<translation type="unfinished">Anuluj wyłączenie komputera</translation>
</message>
<message>
<location filename="../../src/Dialog_Processing.cpp" line="1108"/>
<location filename="../../src/Dialog_Processing.cpp" line="1206"/>
<source>hour(s)</source>
<translation type="unfinished">godzinie/ach</translation>
</message>
<message>
<location filename="../../src/Dialog_Processing.cpp" line="1109"/>
<location filename="../../src/Dialog_Processing.cpp" line="1113"/>
<location filename="../../src/Dialog_Processing.cpp" line="1207"/>
<location filename="../../src/Dialog_Processing.cpp" line="1211"/>
<source>minute(s)</source>
<translation type="unfinished">minutach</translation>
</message>
<message>
<location filename="../../src/Dialog_Processing.cpp" line="1114"/>
<location filename="../../src/Dialog_Processing.cpp" line="1118"/>
<location filename="../../src/Dialog_Processing.cpp" line="1212"/>
<location filename="../../src/Dialog_Processing.cpp" line="1216"/>
<source>second(s)</source>
<translation type="unfinished">sekundach</translation>
</message>
<message>
<location filename="../../src/Dialog_Processing.cpp" line="1119"/>
<location filename="../../src/Dialog_Processing.cpp" line="1217"/>
<source>millisecond(s)</source>
<translation type="unfinished">milisekundach</translation>
</message>

View File

@ -2485,6 +2485,38 @@
<source>millisecond(s)</source>
<translation>мс.</translation>
</message>
<message>
<source>Filter Log Items</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Show Running Only</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Show Succeeded Only</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Show Failed Only</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Show Skipped Only</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Show All Items</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Error: %1 of %2 files failed (%3 files skipped). Double-click failed items for detailed information!</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>All files completed successfully. Skipped %1 files.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>ProgressModel</name>

View File

@ -2559,32 +2559,32 @@
<translation>Kan inte skriva till den specificerade mappen. Välj en annan destination!</translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="3962"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="3960"/>
<source>Overwrite Mode</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="3962"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="3960"/>
<source>Warning: This mode may overwrite existing files with no way to revert!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="3962"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="3960"/>
<source>Continue</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="3962"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="3960"/>
<source>Revert</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="4028"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="4026"/>
<source>Already Running</source>
<translation>Körs redan</translation>
</message>
<message>
<location filename="../../src/Dialog_MainWindow.cpp" line="4028"/>
<location filename="../../src/Dialog_MainWindow.cpp" line="4026"/>
<source>LameXP is already running, please use the running instance!</source>
<translation>LameXP körs redan, använd den redan startade instansen!</translation>
</message>
@ -3066,141 +3066,181 @@
<translation>Stäng</translation>
</message>
<message>
<location filename="../../src/Dialog_Processing.cpp" line="171"/>
<location filename="../../src/Dialog_Processing.cpp" line="174"/>
<source>Show details for selected job</source>
<translation>Visa detaljerad info för markerad åtgärd</translation>
</message>
<message>
<location filename="../../src/Dialog_Processing.cpp" line="172"/>
<location filename="../../src/Dialog_Processing.cpp" line="175"/>
<source>Browse Output File Location</source>
<translation>Öppna utdatamnappen</translation>
</message>
<message>
<location filename="../../src/Dialog_Processing.cpp" line="190"/>
<location filename="../../src/Dialog_Processing.cpp" line="181"/>
<source>Filter Log Items</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_Processing.cpp" line="183"/>
<source>Show Running Only</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_Processing.cpp" line="184"/>
<source>Show Succeeded Only</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_Processing.cpp" line="185"/>
<source>Show Failed Only</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_Processing.cpp" line="186"/>
<source>Show Skipped Only</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_Processing.cpp" line="187"/>
<source>Show All Items</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_Processing.cpp" line="216"/>
<source>Encoding Files</source>
<translation>Kodar om filer</translation>
</message>
<message>
<location filename="../../src/Dialog_Processing.cpp" line="190"/>
<location filename="../../src/Dialog_Processing.cpp" line="216"/>
<source>Your files are being encoded, please be patient...</source>
<translation>Dina filer kodas om, vänta...</translation>
</message>
<message>
<location filename="../../src/Dialog_Processing.cpp" line="387"/>
<location filename="../../src/Dialog_Processing.cpp" line="417"/>
<source>Encoding files, please wait...</source>
<translation>Kodar om filer, vänta...</translation>
</message>
<message>
<location filename="../../src/Dialog_Processing.cpp" line="430"/>
<location filename="../../src/Dialog_Processing.cpp" line="460"/>
<source>Multi-threading enabled: Running %1 instances in parallel!</source>
<translation>Flertrådskörning aktiverad: Kör %1 parallella instanser!</translation>
</message>
<message>
<location filename="../../src/Dialog_Processing.cpp" line="451"/>
<location filename="../../src/Dialog_Processing.cpp" line="481"/>
<source>Aborted! Waiting for running jobs to terminate...</source>
<translation>Avbrutet! Väntar att aktiva processer skall avslutas...</translation>
</message>
<message>
<location filename="../../src/Dialog_Processing.cpp" line="466"/>
<location filename="../../src/Dialog_Processing.cpp" line="496"/>
<source>Encoding: %1 files of %2 completed so far, please wait...</source>
<translation>Omkodning: %1 fil(er) av %2 bearbetade hittills, vänta...</translation>
</message>
<message>
<location filename="../../src/Dialog_Processing.cpp" line="494"/>
<location filename="../../src/Dialog_Processing.cpp" line="524"/>
<source>Creating the playlist file, please wait...</source>
<translation>Skapar spelningslista, vänta...</translation>
</message>
<message>
<location filename="../../src/Dialog_Processing.cpp" line="504"/>
<location filename="../../src/Dialog_Processing.cpp" line="534"/>
<source>Process was aborted by the user after %1 file(s)!</source>
<translation>Åtgärden avbröts av användaren efter %1 fil(er)!</translation>
</message>
<message>
<location filename="../../src/Dialog_Processing.cpp" line="504"/>
<location filename="../../src/Dialog_Processing.cpp" line="534"/>
<source>Process was aborted prematurely by the user!</source>
<translation>Åtgärden avbröts i förtid av användaren!</translation>
</message>
<message>
<location filename="../../src/Dialog_Processing.cpp" line="505"/>
<location filename="../../src/Dialog_Processing.cpp" line="535"/>
<source>LameXP - Aborted</source>
<translation>LameXP - Avbrutet</translation>
</message>
<message>
<location filename="../../src/Dialog_Processing.cpp" line="505"/>
<location filename="../../src/Dialog_Processing.cpp" line="535"/>
<source>Process was aborted by the user.</source>
<translation>Åtgärden avbröts av användaren.</translation>
</message>
<message>
<location filename="../../src/Dialog_Processing.cpp" line="521"/>
<location filename="../../src/Dialog_Processing.cpp" line="551"/>
<source>Process finished after %1.</source>
<translation>Åtgärden slutförd efter %1.</translation>
</message>
<message>
<location filename="../../src/Dialog_Processing.cpp" line="530"/>
<location filename="../../src/Dialog_Processing.cpp" line="562"/>
<source>Error: %1 of %2 files failed (%3 files skipped). Double-click failed items for detailed information!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_Processing.cpp" line="566"/>
<source>Error: %1 of %2 files failed. Double-click failed items for detailed information!</source>
<translation>Fel: %1 av %2 filer misslyckades. Dubbelklicka det misslyckade objektet för detaljerad information!</translation>
</message>
<message>
<location filename="../../src/Dialog_Processing.cpp" line="531"/>
<location filename="../../src/Dialog_Processing.cpp" line="568"/>
<source>LameXP - Error</source>
<translation>LameXP - Fel</translation>
</message>
<message>
<location filename="../../src/Dialog_Processing.cpp" line="531"/>
<location filename="../../src/Dialog_Processing.cpp" line="568"/>
<source>At least one file has failed!</source>
<translation>Minst en fil har misslyckats!</translation>
</message>
<message>
<location filename="../../src/Dialog_Processing.cpp" line="541"/>
<location filename="../../src/Dialog_Processing.cpp" line="542"/>
<location filename="../../src/Dialog_Processing.cpp" line="580"/>
<source>All files completed successfully. Skipped %1 files.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Dialog_Processing.cpp" line="584"/>
<location filename="../../src/Dialog_Processing.cpp" line="586"/>
<source>All files completed successfully.</source>
<translation>Alla filer korrekt omkodade.</translation>
</message>
<message>
<location filename="../../src/Dialog_Processing.cpp" line="542"/>
<location filename="../../src/Dialog_Processing.cpp" line="586"/>
<source>LameXP - Done</source>
<translation>LameXP - Klar</translation>
</message>
<message>
<location filename="../../src/Dialog_Processing.cpp" line="978"/>
<location filename="../../src/Dialog_Processing.cpp" line="1076"/>
<source>Playlist creation failed</source>
<translation>Kunde inte skapa spelningslista</translation>
</message>
<message>
<location filename="../../src/Dialog_Processing.cpp" line="978"/>
<location filename="../../src/Dialog_Processing.cpp" line="1076"/>
<source>The playlist file could not be created:</source>
<translation>Spelningslistan kunde inte skapas:</translation>
</message>
<message>
<location filename="../../src/Dialog_Processing.cpp" line="1048"/>
<location filename="../../src/Dialog_Processing.cpp" line="1146"/>
<source>Warning: Computer will shutdown in %1 seconds...</source>
<translation>Varning! Datorn kommer att stängas av om %1 sekunder...</translation>
</message>
<message>
<location filename="../../src/Dialog_Processing.cpp" line="1052"/>
<location filename="../../src/Dialog_Processing.cpp" line="1053"/>
<location filename="../../src/Dialog_Processing.cpp" line="1150"/>
<location filename="../../src/Dialog_Processing.cpp" line="1151"/>
<source>Cancel Shutdown</source>
<translation>Avbryt avstängning</translation>
</message>
<message>
<location filename="../../src/Dialog_Processing.cpp" line="1108"/>
<location filename="../../src/Dialog_Processing.cpp" line="1206"/>
<source>hour(s)</source>
<translation>timma(r)</translation>
</message>
<message>
<location filename="../../src/Dialog_Processing.cpp" line="1109"/>
<location filename="../../src/Dialog_Processing.cpp" line="1113"/>
<location filename="../../src/Dialog_Processing.cpp" line="1207"/>
<location filename="../../src/Dialog_Processing.cpp" line="1211"/>
<source>minute(s)</source>
<translation>minut(er)</translation>
</message>
<message>
<location filename="../../src/Dialog_Processing.cpp" line="1114"/>
<location filename="../../src/Dialog_Processing.cpp" line="1118"/>
<location filename="../../src/Dialog_Processing.cpp" line="1212"/>
<location filename="../../src/Dialog_Processing.cpp" line="1216"/>
<source>second(s)</source>
<translation>sekund(er)</translation>
</message>
<message>
<location filename="../../src/Dialog_Processing.cpp" line="1119"/>
<location filename="../../src/Dialog_Processing.cpp" line="1217"/>
<source>millisecond(s)</source>
<translation>millisekund(er)</translation>
</message>

View File

@ -2477,6 +2477,38 @@
<source>millisecond(s)</source>
<translation></translation>
</message>
<message>
<source>Filter Log Items</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Show Running Only</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Show Succeeded Only</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Show Failed Only</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Show Skipped Only</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Show All Items</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Error: %1 of %2 files failed (%3 files skipped). Double-click failed items for detailed information!</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>All files completed successfully. Skipped %1 files.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>ProgressModel</name>

View File

@ -2478,6 +2478,38 @@
<source>millisecond(s)</source>
<translation>мілісекунд(-у, -и)</translation>
</message>
<message>
<source>Filter Log Items</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Show Running Only</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Show Succeeded Only</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Show Failed Only</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Show Skipped Only</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Show All Items</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Error: %1 of %2 files failed (%3 files skipped). Double-click failed items for detailed information!</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>All files completed successfully. Skipped %1 files.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>ProgressModel</name>

View File

@ -2477,6 +2477,38 @@
<source>millisecond(s)</source>
<translation></translation>
</message>
<message>
<source>Filter Log Items</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Show Running Only</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Show Succeeded Only</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Show Failed Only</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Show Skipped Only</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Show All Items</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Error: %1 of %2 files failed (%3 files skipped). Double-click failed items for detailed information!</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>All files completed successfully. Skipped %1 files.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>ProgressModel</name>

View File

@ -54,6 +54,7 @@
<file>icons/error_big.png</file>
<file>icons/feed.png</file>
<file>icons/film.png</file>
<file>icons/filter.png</file>
<file>icons/folder.png</file>
<file>icons/folder_add.png</file>
<file>icons/folder_go.png</file>

Binary file not shown.

View File

@ -30,7 +30,7 @@
#define VER_LAMEXP_MINOR_LO 7
#define VER_LAMEXP_TYPE Alpha
#define VER_LAMEXP_PATCH 1
#define VER_LAMEXP_BUILD 1174
#define VER_LAMEXP_BUILD 1177
///////////////////////////////////////////////////////////////////////////////
// Tool versions (minimum expected versions!)

View File

@ -3955,8 +3955,6 @@ void MainWindow::showCustomParamsHelpScreen(const QString &toolName, const QStri
void MainWindow::overwriteModeChanged(int id)
{
qWarning("overwriteModeChanged: %d", id);
if((id == SettingsModel::Overwrite_Replaces) && (m_settings->overwriteMode() != SettingsModel::Overwrite_Replaces))
{
if(QMessageBox::warning(this, tr("Overwrite Mode"), tr("Warning: This mode may overwrite existing files with no way to revert!"), tr("Continue"), tr("Revert"), QString(), 1) != 0)

View File

@ -121,6 +121,7 @@ ProcessingDialog::ProcessingDialog(FileListModel *fileListModel, AudioFileModel
m_diskObserver(NULL),
m_cpuObserver(NULL),
m_ramObserver(NULL),
m_progressViewFilter(-1),
m_firstShow(true)
{
//Init the dialog, from the .ui file
@ -162,6 +163,8 @@ ProcessingDialog::ProcessingDialog(FileListModel *fileListModel, AudioFileModel
view_log->horizontalHeader()->setResizeMode(0, QHeaderView::Stretch);
view_log->viewport()->installEventFilter(this);
connect(m_progressModel, SIGNAL(rowsInserted(QModelIndex,int,int)), this, SLOT(progressModelChanged()));
connect(m_progressModel, SIGNAL(rowsMoved(QModelIndex,int,int,QModelIndex,int)), this, SLOT(progressModelChanged()));
connect(m_progressModel, SIGNAL(rowsRemoved(QModelIndex,int,int)), this, SLOT(progressModelChanged()));
connect(m_progressModel, SIGNAL(modelReset()), this, SLOT(progressModelChanged()));
connect(view_log, SIGNAL(activated(QModelIndex)), this, SLOT(logViewDoubleClicked(QModelIndex)));
connect(view_log->horizontalHeader(), SIGNAL(sectionResized(int,int,int)), this, SLOT(logViewSectionSizeChanged(int,int,int)));
@ -170,11 +173,34 @@ ProcessingDialog::ProcessingDialog(FileListModel *fileListModel, AudioFileModel
m_contextMenu = new QMenu();
QAction *contextMenuDetailsAction = m_contextMenu->addAction(QIcon(":/icons/zoom.png"), tr("Show details for selected job"));
QAction *contextMenuShowFileAction = m_contextMenu->addAction(QIcon(":/icons/folder_go.png"), tr("Browse Output File Location"));
m_contextMenu->addSeparator();
//Create "filter" context menu
m_progressViewFilterGroup = new QActionGroup(this);
QAction *contextMenuFilterAction[5] = {NULL, NULL, NULL, NULL, NULL};
if(QMenu *filterMenu = m_contextMenu->addMenu(QIcon(":/icons/filter.png"), tr("Filter Log Items")))
{
contextMenuFilterAction[0] = filterMenu->addAction(QIcon(":/icons/media_play.png"), tr("Show Running Only"));
contextMenuFilterAction[1] = filterMenu->addAction(QIcon(":/icons/tick.png"), tr("Show Succeeded Only"));
contextMenuFilterAction[2] = filterMenu->addAction(QIcon(":/icons/exclamation.png"), tr("Show Failed Only"));
contextMenuFilterAction[3] = filterMenu->addAction(QIcon(":/icons/step_over.png"), tr("Show Skipped Only"));
contextMenuFilterAction[4] = filterMenu->addAction(QIcon(":/icons/report.png"), tr("Show All Items"));
if(QAction *a = contextMenuFilterAction[0]) { m_progressViewFilterGroup->addAction(a); a->setCheckable(true); a->setData(ProgressModel::JobRunning); }
if(QAction *a = contextMenuFilterAction[1]) { m_progressViewFilterGroup->addAction(a); a->setCheckable(true); a->setData(ProgressModel::JobComplete); }
if(QAction *a = contextMenuFilterAction[2]) { m_progressViewFilterGroup->addAction(a); a->setCheckable(true); a->setData(ProgressModel::JobFailed); }
if(QAction *a = contextMenuFilterAction[3]) { m_progressViewFilterGroup->addAction(a); a->setCheckable(true); a->setData(ProgressModel::JobSkipped); }
if(QAction *a = contextMenuFilterAction[4]) { m_progressViewFilterGroup->addAction(a); a->setCheckable(true); a->setData(-1); a->setChecked(true); }
}
//Connect context menu
view_log->setContextMenuPolicy(Qt::CustomContextMenu);
connect(view_log, SIGNAL(customContextMenuRequested(QPoint)), this, SLOT(contextMenuTriggered(QPoint)));
connect(contextMenuDetailsAction, SIGNAL(triggered(bool)), this, SLOT(contextMenuDetailsActionTriggered()));
connect(contextMenuShowFileAction, SIGNAL(triggered(bool)), this, SLOT(contextMenuShowFileActionTriggered()));
for(size_t i = 0; i < 4; i++)
{
if(contextMenuFilterAction[i]) connect(contextMenuFilterAction[i], SIGNAL(triggered(bool)), this, SLOT(contextMenuFilterActionTriggered()));
}
SET_FONT_BOLD(contextMenuDetailsAction, true);
//Enque jobs
@ -198,6 +224,7 @@ ProcessingDialog::ProcessingDialog(FileListModel *fileListModel, AudioFileModel
m_allJobs.clear();
m_succeededJobs.clear();
m_failedJobs.clear();
m_skippedJobs.clear();
m_userAborted = false;
m_forcedAbort = false;
m_timerStart = 0I64;
@ -251,6 +278,7 @@ ProcessingDialog::~ProcessingDialog(void)
LAMEXP_DELETE(m_diskObserver);
LAMEXP_DELETE(m_cpuObserver);
LAMEXP_DELETE(m_ramObserver);
LAMEXP_DELETE(m_progressViewFilterGroup);
WinSevenTaskbar::setOverlayIcon(this, NULL);
WinSevenTaskbar::setTaskbarState(this, WinSevenTaskbar::WinSevenTaskbarNoState);
@ -262,6 +290,7 @@ ProcessingDialog::~ProcessingDialog(void)
thread->wait(15000);
delete thread;
}
}
////////////////////////////////////////////////////////////
@ -379,6 +408,7 @@ void ProcessingDialog::initEncoding(void)
m_allJobs.clear();
m_succeededJobs.clear();
m_failedJobs.clear();
m_skippedJobs.clear();
m_userAborted = false;
m_forcedAbort = false;
m_playList.clear();
@ -527,7 +557,14 @@ void ProcessingDialog::doneEncoding(void)
CHANGE_BACKGROUND_COLOR(frame_header, QColor("#FFBABA"));
WinSevenTaskbar::setTaskbarState(this, WinSevenTaskbar::WinSevenTaskbarErrorState);
WinSevenTaskbar::setOverlayIcon(this, &QIcon(":/icons/exclamation.png"));
SET_PROGRESS_TEXT(tr("Error: %1 of %2 files failed. Double-click failed items for detailed information!").arg(QString::number(m_failedJobs.count()), QString::number(m_failedJobs.count() + m_succeededJobs.count())));
if(m_skippedJobs.count() > 0)
{
SET_PROGRESS_TEXT(tr("Error: %1 of %2 files failed (%3 files skipped). Double-click failed items for detailed information!").arg(QString::number(m_failedJobs.count()), QString::number(m_failedJobs.count() + m_succeededJobs.count() + m_skippedJobs.count()), QString::number(m_skippedJobs.count())));
}
else
{
SET_PROGRESS_TEXT(tr("Error: %1 of %2 files failed. Double-click failed items for detailed information!").arg(QString::number(m_failedJobs.count()), QString::number(m_failedJobs.count() + m_succeededJobs.count())));
}
m_systemTray->showMessage(tr("LameXP - Error"), tr("At least one file has failed!"), QSystemTrayIcon::Critical);
m_systemTray->setIcon(QIcon(":/icons/cd_delete.png"));
QApplication::processEvents();
@ -538,7 +575,14 @@ void ProcessingDialog::doneEncoding(void)
CHANGE_BACKGROUND_COLOR(frame_header, QColor("#E0FFE2"));
WinSevenTaskbar::setTaskbarState(this, WinSevenTaskbar::WinSevenTaskbarNormalState);
WinSevenTaskbar::setOverlayIcon(this, &QIcon(":/icons/accept.png"));
SET_PROGRESS_TEXT(tr("All files completed successfully."));
if(m_skippedJobs.count() > 0)
{
SET_PROGRESS_TEXT(tr("All files completed successfully. Skipped %1 files.").arg(QString::number(m_skippedJobs.count())));
}
else
{
SET_PROGRESS_TEXT(tr("All files completed successfully."));
}
m_systemTray->showMessage(tr("LameXP - Done"), tr("All files completed successfully."), QSystemTrayIcon::Information);
m_systemTray->setIcon(QIcon(":/icons/cd_add.png"));
QApplication::processEvents();
@ -569,22 +613,39 @@ void ProcessingDialog::doneEncoding(void)
}
}
void ProcessingDialog::processFinished(const QUuid &jobId, const QString &outFileName, bool success)
void ProcessingDialog::processFinished(const QUuid &jobId, const QString &outFileName, int success)
{
if(success)
if(success > 0)
{
m_playList.insert(jobId, outFileName);
m_succeededJobs.append(jobId);
}
else if(success < 0)
{
m_playList.insert(jobId, outFileName);
m_skippedJobs.append(jobId);
}
else
{
m_failedJobs.append(jobId);
}
//Update filter as soon as a job finished!
if(m_progressViewFilter >= 0)
{
QTimer::singleShot(0, this, SLOT(progressViewFilterChanged()));
}
}
void ProcessingDialog::progressModelChanged(void)
{
view_log->scrollToBottom();
//Update filter as soon as the model changes!
if(m_progressViewFilter >= 0)
{
QTimer::singleShot(0, this, SLOT(progressViewFilterChanged()));
}
QTimer::singleShot(0, view_log, SLOT(scrollToBottom()));
}
void ProcessingDialog::logViewDoubleClicked(const QModelIndex &index)
@ -682,6 +743,43 @@ void ProcessingDialog::contextMenuShowFileActionTriggered(void)
}
}
void ProcessingDialog::contextMenuFilterActionTriggered(void)
{
if(QAction *action = dynamic_cast<QAction*>(QObject::sender()))
{
if(action->data().type() == QVariant::Int)
{
m_progressViewFilter = action->data().toInt();
progressViewFilterChanged();
QTimer::singleShot(0, this, SLOT(progressViewFilterChanged()));
QTimer::singleShot(0, view_log, SLOT(scrollToBottom()));
action->setChecked(true);
}
}
}
void ProcessingDialog::progressViewFilterChanged(void)
{
unsigned int counter = 0;
for(int i = 0; i < view_log->model()->rowCount(); i++)
{
QModelIndex index = (m_progressViewFilter >= 0) ? m_progressModel->index(i, 0) : QModelIndex();
const bool bHide = index.isValid() ? (m_progressModel->getJobState(index) != m_progressViewFilter) : false;
view_log->setRowHidden(i, bHide);
if(!bHide) counter++;
}
if((m_progressViewFilter >= 0) && (counter == 0))
{
qWarning("Filter does NOT match on any item, reverting to show all!");
for(int i = 0; i < view_log->model()->rowCount(); i++)
{
view_log->setRowHidden(i, false);
}
}
}
////////////////////////////////////////////////////////////
// Private Functions
////////////////////////////////////////////////////////////
@ -746,7 +844,7 @@ void ProcessingDialog::startNextJob(void)
connect(thread, SIGNAL(finished()), this, SLOT(doneEncoding()), Qt::QueuedConnection);
connect(thread, SIGNAL(processStateInitialized(QUuid,QString,QString,int)), m_progressModel, SLOT(addJob(QUuid,QString,QString,int)), Qt::QueuedConnection);
connect(thread, SIGNAL(processStateChanged(QUuid,QString,int)), m_progressModel, SLOT(updateJob(QUuid,QString,int)), Qt::QueuedConnection);
connect(thread, SIGNAL(processStateFinished(QUuid,QString,bool)), this, SLOT(processFinished(QUuid,QString,bool)), Qt::QueuedConnection);
connect(thread, SIGNAL(processStateFinished(QUuid,QString,int)), this, SLOT(processFinished(QUuid,QString,int)), Qt::QueuedConnection);
connect(thread, SIGNAL(processMessageLogged(QUuid,QString)), m_progressModel, SLOT(appendToLog(QUuid,QString)), Qt::QueuedConnection);
//Give it a go!

View File

@ -59,17 +59,19 @@ private slots:
void initEncoding(void);
void doneEncoding(void);
void abortEncoding(bool force = false);
void processFinished(const QUuid &jobId, const QString &outFileName, bool success);
void processFinished(const QUuid &jobId, const QString &outFileName, int success);
void progressModelChanged(void);
void logViewDoubleClicked(const QModelIndex &index);
void logViewSectionSizeChanged(int, int, int);
void contextMenuTriggered(const QPoint &pos);
void contextMenuDetailsActionTriggered(void);
void contextMenuShowFileActionTriggered(void);
void contextMenuFilterActionTriggered(void);
void systemTrayActivated(QSystemTrayIcon::ActivationReason reason);
void cpuUsageHasChanged(const double val);
void ramUsageHasChanged(const double val);
void diskUsageHasChanged(const quint64 val);
void progressViewFilterChanged(void);
protected:
void showEvent(QShowEvent *event);
@ -95,11 +97,13 @@ private:
ProgressModel *m_progressModel;
QMap<QUuid,QString> m_playList;
QMenu *m_contextMenu;
QActionGroup *m_progressViewFilterGroup;
unsigned int m_runningThreads;
unsigned int m_currentFile;
QList<QUuid> m_allJobs;
QList<QUuid> m_succeededJobs;
QList<QUuid> m_failedJobs;
QList<QUuid> m_skippedJobs;
bool m_userAborted;
bool m_forcedAbort;
bool m_firstShow;
@ -109,4 +113,5 @@ private:
RAMObserverThread *m_ramObserver;
DiskObserverThread *m_diskObserver;
qint64 m_timerStart;
int m_progressViewFilter;
};

View File

@ -222,6 +222,16 @@ const QUuid &ProgressModel::getJobId(const QModelIndex &index)
return *(reinterpret_cast<QUuid*>(NULL));
}
const ProgressModel::JobState ProgressModel::getJobState(const QModelIndex &index) const
{
if(index.row() < m_jobList.count())
{
return static_cast<JobState>(m_jobState.value(m_jobList.at(index.row()), -1));
}
return static_cast<JobState>(NULL);
}
void ProgressModel::addSystemMessage(const QString &text, int type)
{
const QUuid &jobId = QUuid::createUuid();

View File

@ -67,6 +67,7 @@ public:
//Public functions
const QStringList &getLogFile(const QModelIndex &index);
const QUuid &getJobId(const QModelIndex &index);
const JobState getJobState(const QModelIndex &index) const;
void restoreHiddenItems(void);
public slots:

View File

@ -138,12 +138,12 @@ void ProcessThread::processFile()
case -1:
//File name already exists -> skipping!
emit processStateChanged(m_jobId, tr("Skipped."), ProgressModel::JobSkipped);
emit processStateFinished(m_jobId, outFileName, true);
emit processStateFinished(m_jobId, outFileName, -1);
return;
default:
//File name could not be generated
emit processStateChanged(m_jobId, tr("Not found!"), ProgressModel::JobFailed);
emit processStateFinished(m_jobId, outFileName, false);
emit processStateFinished(m_jobId, outFileName, 0);
return;
}
@ -185,7 +185,7 @@ void ProcessThread::processFile()
{
handleMessage(QString("%1\n%2\n\n%3\t%4\n%5\t%6").arg(tr("The format of this file is NOT supported:"), m_audioFile.filePath(), tr("Container Format:"), m_audioFile.formatContainerInfo(), tr("Audio Format:"), m_audioFile.formatAudioCompressInfo()));
emit processStateChanged(m_jobId, tr("Unsupported!"), ProgressModel::JobFailed);
emit processStateFinished(m_jobId, outFileName, false);
emit processStateFinished(m_jobId, outFileName, 0);
return;
}
}
@ -263,7 +263,7 @@ void ProcessThread::processFile()
//Report result
emit processStateChanged(m_jobId, (m_aborted ? tr("Aborted!") : (bSuccess ? tr("Done.") : tr("Failed!"))), ((bSuccess && !m_aborted) ? ProgressModel::JobComplete : ProgressModel::JobFailed));
emit processStateFinished(m_jobId, outFileName, bSuccess);
emit processStateFinished(m_jobId, outFileName, (bSuccess ? 1 : 0));
qDebug("Process thread is done.");
}

View File

@ -55,7 +55,7 @@ private slots:
signals:
void processStateInitialized(const QUuid &jobId, const QString &jobName, const QString &jobInitialStatus, int jobInitialState);
void processStateChanged(const QUuid &jobId, const QString &newStatus, int newState);
void processStateFinished(const QUuid &jobId, const QString &outFileName, bool success);
void processStateFinished(const QUuid &jobId, const QString &outFileName, int success);
void processMessageLogged(const QUuid &jobId, const QString &line);
private: