diff --git a/etc/Translation/Blank.ts b/etc/Translation/Blank.ts
index fe291cd7..4f5f337b 100644
--- a/etc/Translation/Blank.ts
+++ b/etc/Translation/Blank.ts
@@ -770,7 +770,7 @@
-
+ Show Details
@@ -1442,9 +1442,9 @@
-
-
-
+
+
+ Check for Updates
@@ -1485,13 +1485,13 @@
-
+ Disable Update Reminder
-
+ Disable Sound Effects
@@ -1571,831 +1571,836 @@
-
+ Adding file(s), please wait...
-
-
+
+ Access Denied
-
+ %1 file(s) have been rejected, because read access was not granted!
-
+ This usually means the file is locked by another process.
-
+ CDDA Files
-
+ %1 file(s) have been rejected, because they are dummy CDDA files!
-
+ Sorry, LameXP cannot extract audio tracks from an Audio-CD at present.
-
+ We recommend using %1 for that purpose.
-
+ Cue Sheet
-
+ %1 file(s) have been rejected, because they appear to be Cue Sheet images!
-
+ Please use LameXP's Cue Sheet wizard for importing Cue Sheet files.
-
+ Files Rejected
-
+ %1 file(s) have been rejected, because the file format could not be recognized!
-
+ This usually means the file is damaged or the file format is not supported.
-
+ Scanning folder(s) for files, please wait...
-
+ DEMO VERSION
-
+ You can drop in audio files here!
-
+ Initializing directory outline, please be patient...
-
+ Open File in External Application
-
+ Browse File Location
-
+ Browse Selected Folder
-
-
- Bookmark Current Output Folder
-
-
- Export Meta Tags to CSV File
+ Refresh Directory Outline
+ Bookmark Current Output Folder
+
+
+
+
+ Export Meta Tags to CSV File
+
+
+
+ Import Meta Tags from CSV File
-
+ License Declined
-
+ You have declined the license. Consequently the application will exit now!
-
+ Goodbye!
-
+ LameXP - Expired
-
+ This demo (pre-release) version of LameXP has expired at %1.
-
+ LameXP is free software and release versions won't expire.
-
-
+
+ Exit Program
-
+ It seems that a bogus anti-virus software is slowing down the startup of LameXP.
-
+ Please refer to the %1 document for details and solutions!
-
+ Slow Startup
-
-
-
-
-
+
+
+
+
+ Discard
-
-
+
+ Don't Show Again
-
+ Urgent Update
-
+ Your version of LameXP is more than a year old. Time for an update!
-
-
+
+ Ignore
-
+ Skipping update check this time, please be patient...
-
-
-
+
+
+ Update Reminder
-
+ Your last update check was more than 14 days ago. Check for updates now?
-
+ Your did not check for LameXP updates yet. Check for updates now?
-
+ Postpone
-
+ LameXP detected that your version of the Nero AAC encoder is outdated!
-
+ The current version available is %1 (or later), but you still have version %2 installed.
-
+ n/a
-
+ You can download the latest version of the Nero AAC encoder from the Nero website at:
-
+ (Hint: Please ignore the name of the downloaded ZIP file and check the included 'changelog.txt' instead!)
-
+ AAC Encoder Outdated
-
+ The Nero AAC encoder could not be found. AAC encoding support will be disabled.
-
+ Please put 'neroAacEnc.exe', 'neroAacDec.exe' and 'neroAacTag.exe' into the LameXP directory!
-
+ Your LameXP directory is located here:
-
+ You can download the Nero AAC encoder for free from the official Nero website at:
-
+ AAC Support Disabled
-
-
-
+
+
+ LameXP
-
+ You must add at least one file to the list before proceeding!
-
+ Not Found
-
+ Your currently selected TEMP folder does not exist anymore:
-
+ Restore Default
-
+ Cancel
-
+ There are less than %1 GB of free diskspace available on your system's TEMP folder.
-
+ It is highly recommend to free up more diskspace before proceeding with the encode!
-
+ Your TEMP folder is located at:
-
+ Low Diskspace Warning
-
+ Abort Encoding Process
-
+ Clean Disk Now
-
+ Low Diskspace
-
+ You are proceeding with low diskspace. Problems might occur!
-
+ Sorry, an unsupported encoder has been chosen!
-
+ Cannot write to the selected output directory.
-
+ Please choose a different directory!
-
+ Load Translation
-
+ Translation Files
-
+ Do you really want to disable the update reminder?
-
-
-
-
-
-
-
+
+
+
+
+
+
+ Yes
-
-
-
-
-
-
-
+
+
+
+
+
+
+ No
-
+ The update reminder has been disabled.
-
+ Please remember to check for updates at regular intervals!
-
+ The update reminder has been re-enabled.
-
+ Do you really want to disable all sound effects?
-
-
+
+ Sound Effects
-
+ All sound effects have been disabled.
-
+ The sound effects have been re-enabled.
-
-
-
+
+
+ Nero AAC Notifications
-
+ Do you really want to disable all Nero AAC Encoder notifications?
-
+ All Nero AAC Encoder notifications have been disabled.
-
+ The Nero AAC Encoder notifications have been re-enabled.
-
-
-
+
+
+ Slow Startup Notifications
-
+ Do you really want to disable the slow startup notifications?
-
+ The slow startup notifications have been disabled.
-
+ The slow startup notifications have been re-enabled.
-
-
+
+ Open Cue Sheet
-
-
+
+ Cue Sheet File
-
-
-
+
+
+ Beta Updates
-
+ Do you really want LameXP to check for Beta (pre-release) updates?
-
+ LameXP will check for Beta (pre-release) updates from now on.
-
+ Check Now
-
+ LameXP will <i>not</i> check for Beta (pre-release) updates from now on.
-
-
-
+
+
+ Hibernate Computer
-
+ Do you really want the computer to be hibernated on shutdown?
-
+ LameXP will hibernate the computer on shutdown from now on.
-
+ LameXP will <i>not</i> hibernate the computer on shutdown from now on.
-
-
-
+
+
+ Shell Integration
-
+ Do you really want to disable the LameXP shell integration?
-
+ The LameXP shell integration has been disabled.
-
+ The LameXP shell integration has been re-enabled.
-
-
+
+ Add file(s)
-
-
+
+ Add Folder
-
-
+
+ Save CSV file
-
-
-
-
+
+
+
+ CSV File
-
-
-
-
+
+
+
+ CSV Export
-
+ Sorry, there are no meta tags that can be exported!
-
+ Sorry, failed to open CSV file for writing!
-
+ Sorry, failed to write to the CSV file!
-
+ The CSV files was created successfully!
-
-
+
+ Open CSV file
-
-
-
-
-
+
+
+
+
+ CSV Import
-
+ Sorry, failed to open CSV file for reading!
-
+ Sorry, failed to read from the CSV file!
-
+ Sorry, the CSV file does not contain any known fields!
-
+ CSV file is incomplete. Not all files were updated!
-
+ The CSV files was imported successfully!
-
-
+
+ New Folder
-
+ Enter the name of the new folder:
-
+ Failed to create folder
-
+ The new folder could not be created:
-
+ Drive is read-only or insufficient access rights!
-
+ QAAC (Apple)
-
+ FHG AAC (Winamp)
-
+ Nero AAC
-
+ Not available!
-
+ Current AAC Encoder: %1
-
-
-
-
+
+
+
+ Quality Level %1
-
-
-
+
+
+ Compression %1
-
-
-
+
+
+ Uncompressed
-
+ Best Quality (Very Slow)
-
+ High Quality (Recommended)
-
+ Average Quality (Default)
-
+ Low Quality (Fast)
-
+ Poor Quality (Very Fast)
-
+ File name without extension
-
+ Track number with leading zero
-
+ Track title
-
+ Artist name
-
+ Album name
-
+ Year with (at least) four digits
-
+ Comment
-
+ Characters forbidden in file names:
-
+ Rename Macros
-
+ %1 Instance(s)
-
+ Cannot write to the selected directory. Please choose another directory!
-
+ Already Running
-
+ LameXP is already running, please use the running instance!
@@ -3000,22 +3005,22 @@
QApplication
-
+ Executable '%1' doesn't support Windows compatibility mode.
-
+ Executable '%1' requires Qt v%2, but found Qt v%3.
-
+ Executable '%1' was built for Qt '%2', but found Qt '%3'.
-
+ Executable '%1' requires Windows 2000 or later.
diff --git a/etc/Translation/LameXP_DE.ts b/etc/Translation/LameXP_DE.ts
index df8647bb..88a66fc5 100644
--- a/etc/Translation/LameXP_DE.ts
+++ b/etc/Translation/LameXP_DE.ts
@@ -1846,6 +1846,10 @@
Initializing directory outline, please be patient...Verzeichnisbaum wird erzeugt, bitte warten...
+
+ Refresh Directory Outline
+ Verzeichnisbaum aktualisieren
+ MetaInfo
diff --git a/etc/Translation/LameXP_ES.ts b/etc/Translation/LameXP_ES.ts
index 0d8cd784..bedb3d38 100644
--- a/etc/Translation/LameXP_ES.ts
+++ b/etc/Translation/LameXP_ES.ts
@@ -1845,6 +1845,10 @@
Initializing directory outline, please be patient...
+
+ Refresh Directory Outline
+
+ MetaInfo
diff --git a/etc/Translation/LameXP_FR.ts b/etc/Translation/LameXP_FR.ts
index 486605a9..a21fe830 100644
--- a/etc/Translation/LameXP_FR.ts
+++ b/etc/Translation/LameXP_FR.ts
@@ -1855,6 +1855,10 @@ Ouvrir le dossier récursivement...
Initializing directory outline, please be patient...
+
+ Refresh Directory Outline
+
+ MetaInfo
diff --git a/etc/Translation/LameXP_IT.ts b/etc/Translation/LameXP_IT.ts
index 51b11ffd..50724384 100644
--- a/etc/Translation/LameXP_IT.ts
+++ b/etc/Translation/LameXP_IT.ts
@@ -1846,6 +1846,10 @@
Initializing directory outline, please be patient...
+
+ Refresh Directory Outline
+
+ MetaInfo
diff --git a/etc/Translation/LameXP_KR.ts b/etc/Translation/LameXP_KR.ts
index 654bfad8..ea671839 100644
--- a/etc/Translation/LameXP_KR.ts
+++ b/etc/Translation/LameXP_KR.ts
@@ -1845,6 +1845,10 @@
Initializing directory outline, please be patient...
+
+ Refresh Directory Outline
+
+ MetaInfo
diff --git a/etc/Translation/LameXP_PL.ts b/etc/Translation/LameXP_PL.ts
index cb94d0f0..8d0451e1 100644
--- a/etc/Translation/LameXP_PL.ts
+++ b/etc/Translation/LameXP_PL.ts
@@ -770,7 +770,7 @@
-
+ Show DetailsPokaż szczegóły
@@ -1442,9 +1442,9 @@
-
-
-
+
+
+ Check for UpdatesSprawdź aktualizacje
@@ -1485,13 +1485,13 @@
-
+ Disable Update ReminderWyłącz przypominanie o aktualizacji
-
+ Disable Sound EffectsWyłącz efekty dźwiękowe
@@ -1571,831 +1571,836 @@
Hibernuj zamiast zamykać
-
+ Adding file(s), please wait...Dodawanie plików, prosze czekać...
-
-
+
+ Access DeniedDostęp zablokowany
-
+ %1 file(s) have been rejected, because read access was not granted!%1 plik(ów) zostało odrzuconych z powodu braku dostępu do pliku!
-
+ This usually means the file is locked by another process.To przeważnie oznacza, że plik jest zablokowany przez inny proces.
-
+ CDDA FilesPliki CDDA
-
+ %1 file(s) have been rejected, because they are dummy CDDA files!%1 plik(ów) zostało odrzuconych ponieważ to nie są właściwe pliki CDDA!
-
+ Sorry, LameXP cannot extract audio tracks from an Audio-CD at present.LameXP nie może teraz wyekstrachować ścieżki z płyty Audio-CD.
-
+ We recommend using %1 for that purpose.Zaleca się użycie w tym celu %1.
-
+ Cue SheetCue Sheet
-
+ %1 file(s) have been rejected, because they appear to be Cue Sheet images!%1 plik(ów) zostało odrzuconych, ponieważ to nie są pliki obrazów Cue Sheet!
-
+ Please use LameXP's Cue Sheet wizard for importing Cue Sheet files.Prosze użyć przewodnika Cue Sheet w LameXP w celu importowania tych plików.
-
+ Files RejectedPliki odrzucone
-
+ %1 file(s) have been rejected, because the file format could not be recognized!%1 plik(ów) zostało odrzuconych, ponieważ ich format nie został rozpoznany!
-
+ This usually means the file is damaged or the file format is not supported.To przeważnie oznacza że plik jest uszkodzony lub format pliku nie jest wspierany.
-
+ Scanning folder(s) for files, please wait...Skanowanie folderu/ów, prosze czekać...
-
+ You can drop in audio files here!Tutaj możesz upuścić pliki dźwiękowe!
-
+ Open File in External ApplicationOtwórz plik w zewnętrznym programie
-
+ Browse File LocationOtwórz lokalizację pliku
-
+ Browse Selected FolderOtwórz wybrany folder
-
+ Bookmark Current Output FolderZapamiętaj wybrany folder
-
+ License DeclinedLicencja odrzucona
-
+ You have declined the license. Consequently the application will exit now!Odrzuciłeś licencję. W takim razie program zostanie teraz zamknięty!
-
+ Goodbye!Naraska!
-
+ LameXP - ExpiredLameXP - Termin wygasł
-
+ This demo (pre-release) version of LameXP has expired at %1.Ta wersja demo (beta) LameXP wygasła %1.
-
+ LameXP is free software and release versions won't expire.LameXP jest darmowym oprogramowaniem i pełna wersja nie wygasa.
-
-
+
+ Exit ProgramWyjdź z programu
-
+ It seems that a bogus anti-virus software is slowing down the startup of LameXP.Najwyraźniej twoje oprogramowanie antywirusowe spowalnia uruchamianie się LameXP.
-
+ Please refer to the %1 document for details and solutions!Prosze sprawdzić dokument %1 w celu dalszych szcegółów i rozwiązań!
-
+ Slow StartupPowolny start
-
-
-
-
-
+
+
+
+
+ DiscardZamknij
-
-
+
+ Don't Show AgainNie pokazuj ponownie
-
+ Urgent UpdateWażna aktualizacja
-
+ Your version of LameXP is more than a year old. Time for an update!Twoja wersja LameXP jest starsza niż rok! Czas na aktualizację!
-
-
-
+
+
+ Update ReminderPowiadomienie aktualizacji
-
+ Your last update check was more than 14 days ago. Check for updates now?Ostatnie sprawdzenie aktualizacji było ponad 14 dni temu. Sprawdzić teraz aktualizacje?
-
+ Your did not check for LameXP updates yet. Check for updates now?Nie sprawdzałeś jeszcze aktualizacji LameXP. Sprawdzić teraz aktualizacje?
-
+ PostponePrzełóż
-
+ LameXP detected that your version of the Nero AAC encoder is outdated!LameXP wykrył że Twoja wersja kodera Nero AAC jest nieaktualna!
-
+ The current version available is %1 (or later), but you still have version %2 installed.Wersją dostępną obecnie jest %1, Twoja wersja to %2.
-
+ n/an/d
-
+ You can download the latest version of the Nero AAC encoder from the Nero website at:Możesz pobrać najnowszą wersję kodera Nero AAC ze strony Nero:
-
+ AAC Encoder OutdatedKoder AAC jest nieaktualny
-
+ The Nero AAC encoder could not be found. AAC encoding support will be disabled.Nie można odnaleźć kodera Nero AAC. Kompresja formatu AAC zostanie wyłączona.
-
+ Please put 'neroAacEnc.exe', 'neroAacDec.exe' and 'neroAacTag.exe' into the LameXP directory!Prosze skopiować 'neroAacEnc.exe', 'neroAacDec.exe', oraz 'neroAacTag.exe' do folderu LameXP!
-
+ Your LameXP directory is located here:Folder aplikacji LameXP znajduje się tutaj:
-
+ You can download the Nero AAC encoder for free from the official Nero website at:Możesz pobrać koder Nero AAC za darmo z oficjalnej strony Nero:
-
+ AAC Support DisabledWsparcie dla AAC wyłączone
-
-
-
+
+
+ LameXPLameXP
-
+ You must add at least one file to the list before proceeding!Powinienieś dodać przynajmniej jeden plik do listy aby zacząć działać!
-
+ Not FoundNie znaleziono
-
+ Your currently selected TEMP folder does not exist anymore:Wybrany przez Ciebie folder tymczasowy TEMP już nie istnieje:
-
+ Restore DefaultPrzywróć domyślne
-
+ CancelAnuluj
-
+ Low Diskspace WarningOstrzeżenie o małej ilości miejsca na dysku
-
+ There are less than %1 GB of free diskspace available on your system's TEMP folder.Jest mniej niż %1 GB dostępnego miejsca w systemowym folderze TEMP.
-
+ DEMO VERSIONWERSJA DEMO
-
+ (Hint: Please ignore the name of the downloaded ZIP file and check the included 'changelog.txt' instead!)(Podpowiedź: Zignoruj nazwę pobranego pliku ZIP, w zamian sprawdż załączony w archiwum plik "changelog.txt"!)
-
+ It is highly recommend to free up more diskspace before proceeding with the encode!Jest wysoce zalecane zwolnić miejsce na dysku zanim zaczniesz kompresję!
-
+ Your TEMP folder is located at:Twój folder TEMP znajduję się:
-
+ Abort Encoding ProcessPrzerwij proces kompresji
-
+ Clean Disk NowWykonaj oczyszczanie dysku
-
-
+
+ IgnoreIgnoruj
-
+ Initializing directory outline, please be patient...
+ Refresh Directory Outline
+
+
+
+ Export Meta Tags to CSV FileEksportuj Tagi do pliku CVS
-
+ Import Meta Tags from CSV FileImportuj Tagi do pliku CVS
-
+ Skipping update check this time, please be patient...Pomijanie sprawdzania aktualizacji, prosze czekać...
-
+ Low DiskspaceMało miejsca na dysku
-
+ You are proceeding with low diskspace. Problems might occur!Chcesz zacząć działać z małą ilością miejsca na dysku. Mogą wystąpić problemy!
-
+ Sorry, an unsupported encoder has been chosen!Został wybrany koder, który nie jest wspierany!
-
+ Cannot write to the selected output directory.Nie można zapisać do wybranej lokalizacji.
-
+ Please choose a different directory!Prosze wybrać inną lokalizację!
-
+ Load TranslationZaladuj plik językowy
-
+ Translation FilesPliki językowe
-
+ Do you really want to disable the update reminder?Czy na pewno chcesz wyłączyć przypominanie o aktualizacjach?
-
-
-
-
-
-
-
+
+
+
+
+
+
+ YesTak
-
-
-
-
-
-
-
+
+
+
+
+
+
+ NoNie
-
+ The update reminder has been disabled.Przypominanie o aktualizacjach wyłączone.
-
+ Please remember to check for updates at regular intervals!Prosze pamiętać o okresowym sprawdzaniu aktualizacji!
-
+ The update reminder has been re-enabled.Przypominanie o aktualizacjach ponownie włączone.
-
+ Do you really want to disable all sound effects?Czy na pewno chcesz wyłączyć wszystkie dźwiękowe?
-
-
+
+ Sound EffectsEfekty dźwiękowe
-
+ All sound effects have been disabled.Wszystkie efekty dźwiękowe zostały wyłączone.
-
+ The sound effects have been re-enabled.Efekty dźwiękowe zostały ponownie włączone.
-
-
-
+
+
+ Nero AAC NotificationsPowiadomienia Nero AAC
-
+ Do you really want to disable all Nero AAC Encoder notifications?Czy na pewno chcesz wyłączyć wszystkie powiadomienia Nero AAC?
-
+ All Nero AAC Encoder notifications have been disabled.Wszystkie powiadomienia kodera Nero AAC zostały wyłączone.
-
+ The Nero AAC Encoder notifications have been re-enabled.Powiadomienia Nero AAC zostały ponownie włączone.
-
-
-
+
+
+ Slow Startup NotificationsPowiadomienia o powolnym starcie
-
+ Do you really want to disable the slow startup notifications?Czy na pewno chcesz wyłączyć powiadomienia o powolnym starcie?
-
+ The slow startup notifications have been disabled.Powiadomienia o powolnym starcie zostały wyłączone.
-
+ The slow startup notifications have been re-enabled.Powiadomienia o powolnym starcie zostały ponownie włączone.
-
-
+
+ Open Cue SheetOtwórz plik Cue Sheet
-
-
+
+ Cue Sheet FilePlik Cue Sheet
-
-
-
+
+
+ Beta UpdatesAktualizacje Beta
-
+ Do you really want LameXP to check for Beta (pre-release) updates?Czy na pewno chcesz aby LameXP sprawdzał aktualizacje Beta?
-
+ LameXP will check for Beta (pre-release) updates from now on.Od teraz LameXP będzie sprawdzał aktualizacje Beta.
-
+ Check NowSprawdź teraz
-
+ LameXP will <i>not</i> check for Beta (pre-release) updates from now on.LameXP od teraz <i>nie będzie</i> sprawdzał aktualizacji Beta.
-
-
-
+
+
+ Hibernate ComputerHibernuj komputer
-
+ Do you really want the computer to be hibernated on shutdown?Czy na pewno chcesz aby komputer był hibernowany zamiast zamykany?
-
+ LameXP will hibernate the computer on shutdown from now on.Od teraz LameXP będzie hibernował komputer zamiast zamykać.
-
+ LameXP will <i>not</i> hibernate the computer on shutdown from now on.LameXP od teraz <i>nie</i> będzie hibernował komputera tylko zamykał.
-
-
-
+
+
+ Shell IntegrationIntegracja z systemem
-
+ Do you really want to disable the LameXP shell integration?Czy na pewno chcesz wyłączyć integrację LameXP z systemem?
-
+ The LameXP shell integration has been disabled.Integracja LameXP z systemem zostałą wyłączona.
-
+ The LameXP shell integration has been re-enabled.Integracja LameXP z systemem została ponownie włączona.
-
-
+
+ Add file(s)Dodaj plik(i)
-
-
+
+ Add FolderDodaj folder
-
-
+
+ Save CSV fileZapisz plik CSV
-
-
-
-
+
+
+
+ CSV FilePlik CSV
-
-
-
-
+
+
+
+ CSV ExportEksportowanie CSV
-
+ Sorry, there are no meta tags that can be exported!Nie ma żadnych tagów, które można eksportować!
-
+ Sorry, failed to open CSV file for writing!Nie można otworzyć pliku CSV aby go zapisać!
-
+ Sorry, failed to write to the CSV file!Nie można zapisać do pliku CSV!
-
+ The CSV files was created successfully!Pliki CSV utworzone pomyślnie!
-
-
+
+ Open CSV fileOtwórz plik CSV
-
+ Sorry, failed to open CSV file for reading!Nie można otworzyć pliku CSV aby go wczytać!
-
-
-
-
-
+
+
+
+
+ CSV ImportImportowanie CSV
-
+ Sorry, failed to read from the CSV file!Próba odczytania pliku CSV zakończona niepowodzeniem!
-
+ Sorry, the CSV file does not contain any known fields!Plik CSV nie zawiera żadnych znanych pól!
-
+ CSV file is incomplete. Not all files were updated!Plik CSV nie jest kompletny. Nie wszystkie pliki zostały zaktualizowane!
-
+ The CSV files was imported successfully!Pliki CSV zaimportowano pomyślnie!
-
-
+
+ New FolderNowy folder
-
+ Enter the name of the new folder:Wprowadź nazwę nowego folderu:
-
+ Failed to create folderUtworzenie folderu zakończone niepowodzeniem
-
+ The new folder could not be created:Nowy folder nie mógł zostać stworzony:
-
+ Drive is read-only or insufficient access rights!Dysk tylko do odczytu lub brak praw dostępu!
-
+ QAAC (Apple)
-
+ FHG AAC (Winamp)
-
+ Nero AAC
-
+ Not available!
-
+ Current AAC Encoder: %1
-
-
-
-
+
+
+
+ Quality Level %1Poziom jakości %1
-
-
-
+
+
+ Compression %1Kompresja %1
-
-
-
+
+
+ UncompressedNieskompresowany
-
+ Best Quality (Very Slow)Najlepsza jakość (Bardzo wolno)
-
+ High Quality (Recommended)Wysoka jakość (Zalecane)
-
+ Average Quality (Default)Średnia jakość (Domyślnie)
-
+ Low Quality (Fast)Niska jakość (Szybko)
-
+ Poor Quality (Very Fast)Najniższa jakość (Bardzo szybko)
-
+ File name without extensionNazwa pliku bez rozszerzenia
-
+ Track number with leading zeroNumer ścieżki z zerem na początku
-
+ Track titleNazwa ścieżki
-
+ Artist nameNazwa Artysty
-
+ Album nameNazwa Albumu
-
+ Year with (at least) four digitsRok z (przynajmniej) czterema cyframi
-
+ CommentKomentarz
-
+ Characters forbidden in file names:Zabronione znaki w nazwach plików:
-
+ Rename MacrosZmień nazwy makr
-
+ %1 Instance(s)%1 wątek/ki
-
+ Cannot write to the selected directory. Please choose another directory!Nie można zapisać do wybranej lokalizacji. Prosze wybierz inną lokalizację!
-
+ Already RunningJuż działa
-
+ LameXP is already running, please use the running instance!LameXP już działa, przejdź do działającego programu!
@@ -3000,22 +3005,22 @@
QApplication
-
+ Executable '%1' doesn't support Windows compatibility mode.Plik wykonywalny '%1' nie działa w trybie kompatybilności z Windows.
-
+ Executable '%1' requires Qt v%2, but found Qt v%3.Plik wykonywalny '%1' wymaga Qt v%2, znaleziono jednak Qt v%3.
-
+ Executable '%1' was built for Qt '%2', but found Qt '%3'.Plik wykonywalny "%1" został skompilowany dla Qt "%2", znaleziono "%3".
-
+ Executable '%1' requires Windows 2000 or later.Plik wykonywalny '%1' wymaga do uruchomienia Windows 2000 lub nowszego.
diff --git a/etc/Translation/LameXP_RU.ts b/etc/Translation/LameXP_RU.ts
index 62fd53d2..3426e99a 100644
--- a/etc/Translation/LameXP_RU.ts
+++ b/etc/Translation/LameXP_RU.ts
@@ -1851,6 +1851,10 @@
Initializing directory outline, please be patient...Чтение структуры каталогов, пожалуйста ждите...
+
+ Refresh Directory Outline
+
+ MetaInfo
diff --git a/etc/Translation/LameXP_TW.ts b/etc/Translation/LameXP_TW.ts
index c92a0262..9085e99c 100644
--- a/etc/Translation/LameXP_TW.ts
+++ b/etc/Translation/LameXP_TW.ts
@@ -1845,6 +1845,10 @@
Initializing directory outline, please be patient...
+
+ Refresh Directory Outline
+
+ MetaInfo
diff --git a/etc/Translation/LameXP_UK.ts b/etc/Translation/LameXP_UK.ts
index b7db8e9a..fe0c413e 100644
--- a/etc/Translation/LameXP_UK.ts
+++ b/etc/Translation/LameXP_UK.ts
@@ -1846,6 +1846,10 @@
Initializing directory outline, please be patient...
+
+ Refresh Directory Outline
+
+ MetaInfo
diff --git a/etc/Translation/LameXP_ZH.ts b/etc/Translation/LameXP_ZH.ts
index 28523e8d..a30520a4 100644
--- a/etc/Translation/LameXP_ZH.ts
+++ b/etc/Translation/LameXP_ZH.ts
@@ -1845,6 +1845,10 @@
Initializing directory outline, please be patient...
+
+ Refresh Directory Outline
+
+ MetaInfo
diff --git a/res/localization/LameXP_DE.qm b/res/localization/LameXP_DE.qm
index 408543d7..7cec73c0 100644
Binary files a/res/localization/LameXP_DE.qm and b/res/localization/LameXP_DE.qm differ
diff --git a/src/Config.h b/src/Config.h
index 86ff98f7..937b356e 100644
--- a/src/Config.h
+++ b/src/Config.h
@@ -30,7 +30,7 @@
#define VER_LAMEXP_MINOR_LO 4
#define VER_LAMEXP_TYPE Beta
#define VER_LAMEXP_PATCH 12
-#define VER_LAMEXP_BUILD 951
+#define VER_LAMEXP_BUILD 952
///////////////////////////////////////////////////////////////////////////////
// Tool versions (minimum expected versions!)
diff --git a/src/Dialog_MainWindow.cpp b/src/Dialog_MainWindow.cpp
index d29ab6be..7b65856c 100644
--- a/src/Dialog_MainWindow.cpp
+++ b/src/Dialog_MainWindow.cpp
@@ -89,13 +89,14 @@ MainWindow::MainWindow(FileListModel *fileListModel, AudioFileModel *metaInfo, S
m_fileListModel(fileListModel),
m_metaData(metaInfo),
m_settings(settingsModel),
+ m_fileSystemModel(NULL),
m_neroEncoderAvailable(lamexp_check_tool("neroAacEnc.exe") && lamexp_check_tool("neroAacDec.exe") && lamexp_check_tool("neroAacTag.exe")),
m_fhgEncoderAvailable(lamexp_check_tool("fhgaacenc.exe") && lamexp_check_tool("enc_fhgaac.dll") && lamexp_check_tool("nsutil.dll") && lamexp_check_tool("libmp4v2.dll")),
m_qaacEncoderAvailable(lamexp_check_tool("qaac.exe") && lamexp_check_tool("libsoxrate.dll")),
m_accepted(false),
m_firstTimeShown(true),
- m_outputFolderViewInitialized(4),
- m_outputFolderViewCentering(false)
+ m_outputFolderViewCentering(false),
+ m_outputFolderViewInitCounter(0)
{
//Init the dialog, from the .ui file
setupUi(this);
@@ -150,13 +151,6 @@ MainWindow::MainWindow(FileListModel *fileListModel, AudioFileModel *metaInfo, S
connect(m_importCsvContextAction, SIGNAL(triggered(bool)), this, SLOT(importCsvContextActionTriggered()));
//Setup "Output" tab
- m_fileSystemModel = new QFileSystemModelEx();
- m_fileSystemModel->installEventFilter(this);
- outputFolderView->setModel(m_fileSystemModel);
- outputFolderView->header()->setStretchLastSection(true);
- outputFolderView->header()->hideSection(1);
- outputFolderView->header()->hideSection(2);
- outputFolderView->header()->hideSection(3);
outputFolderView->setHeaderHidden(true);
outputFolderView->setAnimated(false);
outputFolderView->setMouseTracking(false);
@@ -179,25 +173,32 @@ MainWindow::MainWindow(FileListModel *fileListModel, AudioFileModel *metaInfo, S
connect(saveToSourceFolderCheckBox, SIGNAL(clicked()), this, SLOT(saveToSourceFolderChanged()));
connect(prependRelativePathCheckBox, SIGNAL(clicked()), this, SLOT(prependRelativePathChanged()));
connect(outputFolderEdit, SIGNAL(editingFinished()), this, SLOT(outputFolderEditFinished()));
- connect(m_fileSystemModel, SIGNAL(directoryLoaded(QString)), this, SLOT(outputFolderDirectoryLoaded(QString)));
- connect(m_fileSystemModel, SIGNAL(rowsInserted(QModelIndex,int,int)), this, SLOT(outputFolderRowsInserted(QModelIndex,int,int)));
- m_outputFolderContextMenu = new QMenu();
- m_showFolderContextAction = m_outputFolderContextMenu->addAction(QIcon(":/icons/zoom.png"), "N/A");
- m_outputFolderFavoritesMenu = new QMenu();
- m_addFavoriteFolderAction = m_outputFolderFavoritesMenu->addAction(QIcon(":/icons/add.png"), "N/A");
- m_outputFolderFavoritesMenu->insertSeparator(m_addFavoriteFolderAction);
- connect(outputFolderView, SIGNAL(customContextMenuRequested(QPoint)), this, SLOT(outputFolderContextMenu(QPoint)));
- connect(m_showFolderContextAction, SIGNAL(triggered(bool)), this, SLOT(showFolderContextActionTriggered()));
- connect(m_addFavoriteFolderAction, SIGNAL(triggered(bool)), this, SLOT(addFavoriteFolderActionTriggered()));
+ if(m_outputFolderContextMenu = new QMenu())
+ {
+ m_showFolderContextAction = m_outputFolderContextMenu->addAction(QIcon(":/icons/zoom.png"), "N/A");
+ m_refreshFolderContextAction = m_outputFolderContextMenu->addAction(QIcon(":/icons/arrow_refresh.png"), "N/A");
+ m_outputFolderContextMenu->setDefaultAction(m_showFolderContextAction);
+ connect(outputFolderView, SIGNAL(customContextMenuRequested(QPoint)), this, SLOT(outputFolderContextMenu(QPoint)));
+ connect(m_showFolderContextAction, SIGNAL(triggered(bool)), this, SLOT(showFolderContextActionTriggered()));
+ connect(m_refreshFolderContextAction, SIGNAL(triggered(bool)), this, SLOT(refreshFolderContextActionTriggered()));
+ }
+ if(m_outputFolderFavoritesMenu = new QMenu())
+ {
+ m_addFavoriteFolderAction = m_outputFolderFavoritesMenu->addAction(QIcon(":/icons/add.png"), "N/A");
+ m_outputFolderFavoritesMenu->insertSeparator(m_addFavoriteFolderAction);
+ connect(m_addFavoriteFolderAction, SIGNAL(triggered(bool)), this, SLOT(addFavoriteFolderActionTriggered()));
+ }
outputFolderEdit->setVisible(false);
outputFolderLabel->installEventFilter(this);
- outputFolderView->setCurrentIndex(m_fileSystemModel->index(m_settings->outputDir()));
- outputFolderViewClicked(outputFolderView->currentIndex());
- m_outputFolderNoteBox = new QLabel(outputFolderView);
- m_outputFolderNoteBox->setAutoFillBackground(true);
- m_outputFolderNoteBox->setAlignment(Qt::AlignHCenter | Qt::AlignVCenter);
- m_outputFolderNoteBox->setFrameShape(QFrame::StyledPanel);
- SET_FONT_BOLD(m_outputFolderNoteBox, true);
+ if(m_outputFolderNoteBox = new QLabel(outputFolderView))
+ {
+ m_outputFolderNoteBox->setAutoFillBackground(true);
+ m_outputFolderNoteBox->setAlignment(Qt::AlignHCenter | Qt::AlignVCenter);
+ m_outputFolderNoteBox->setFrameShape(QFrame::StyledPanel);
+ SET_FONT_BOLD(m_outputFolderNoteBox, true);
+ m_outputFolderNoteBox->hide();
+
+ }
refreshFavorites();
//Setup "Meta Data" tab
@@ -722,6 +723,7 @@ void MainWindow::changeEvent(QEvent *e)
m_previewContextAction->setText(tr("Open File in External Application"));
m_findFileContextAction->setText(tr("Browse File Location"));
m_showFolderContextAction->setText(tr("Browse Selected Folder"));
+ m_refreshFolderContextAction->setText(tr("Refresh Directory Outline"));
m_addFavoriteFolderAction->setText(tr("Bookmark Current Output Folder"));
m_exportCsvContextAction->setText(tr("Export Meta Tags to CSV File"));
m_importCsvContextAction->setText(tr("Import Meta Tags from CSV File"));
@@ -842,6 +844,23 @@ void MainWindow::resizeEvent(QResizeEvent *event)
}
}
+/*
+ * Key press event filter
+ */
+void MainWindow::keyPressEvent(QKeyEvent *e)
+{
+ if(e->key() == Qt::Key_F5)
+ {
+ if(outputFolderView->isVisible())
+ {
+ QTimer::singleShot(0, this, SLOT(refreshFolderContextActionTriggered()));
+ return;
+ }
+ }
+
+ QMainWindow::keyPressEvent(e);
+}
+
/*
* Event filter
*/
@@ -1449,7 +1468,7 @@ void MainWindow::tabPageChanged(int idx)
}
else if(idx == tabWidget->indexOf(tabOutputDir))
{
- if(m_outputFolderViewInitialized > 0)
+ if(!m_fileSystemModel)
{
QTimer::singleShot(125, this, SLOT(initOutputFolderModel()));
}
@@ -2356,10 +2375,14 @@ void MainWindow::outputFolderViewClicked(const QModelIndex &index)
{
outputFolderView->setCurrentIndex(index);
}
- QString selectedDir = m_fileSystemModel->filePath(index);
- if(selectedDir.length() < 3) selectedDir.append(QDir::separator());
- outputFolderLabel->setText(QDir::toNativeSeparators(selectedDir));
- m_settings->outputDir(selectedDir);
+
+ if(m_fileSystemModel)
+ {
+ QString selectedDir = m_fileSystemModel->filePath(index);
+ if(selectedDir.length() < 3) selectedDir.append(QDir::separator());
+ outputFolderLabel->setText(QDir::toNativeSeparators(selectedDir));
+ m_settings->outputDir(selectedDir);
+ }
}
/*
@@ -2378,6 +2401,12 @@ void MainWindow::outputFolderViewMoved(const QModelIndex &index)
*/
void MainWindow::gotoDesktopButtonClicked(void)
{
+ if(!m_fileSystemModel)
+ {
+ qWarning("File system model not initialized yet!");
+ return;
+ }
+
QString desktopPath = QDesktopServices::storageLocation(QDesktopServices::DesktopLocation);
if(!desktopPath.isEmpty() && QDir(desktopPath).exists())
@@ -2397,6 +2426,12 @@ void MainWindow::gotoDesktopButtonClicked(void)
*/
void MainWindow::gotoHomeFolderButtonClicked(void)
{
+ if(!m_fileSystemModel)
+ {
+ qWarning("File system model not initialized yet!");
+ return;
+ }
+
QString homePath = QDesktopServices::storageLocation(QDesktopServices::HomeLocation);
if(!homePath.isEmpty() && QDir(homePath).exists())
@@ -2416,6 +2451,12 @@ void MainWindow::gotoHomeFolderButtonClicked(void)
*/
void MainWindow::gotoMusicFolderButtonClicked(void)
{
+ if(!m_fileSystemModel)
+ {
+ qWarning("File system model not initialized yet!");
+ return;
+ }
+
QString musicPath = QDesktopServices::storageLocation(QDesktopServices::MusicLocation);
if(!musicPath.isEmpty() && QDir(musicPath).exists())
@@ -2435,6 +2476,12 @@ void MainWindow::gotoMusicFolderButtonClicked(void)
*/
void MainWindow::gotoFavoriteFolder(void)
{
+ if(!m_fileSystemModel)
+ {
+ qWarning("File system model not initialized yet!");
+ return;
+ }
+
QAction *item = dynamic_cast(QObject::sender());
if(item)
@@ -2462,6 +2509,12 @@ void MainWindow::makeFolderButtonClicked(void)
{
ABORT_IF_BUSY;
+ if(!m_fileSystemModel)
+ {
+ qWarning("File system model not initialized yet!");
+ return;
+ }
+
QDir basePath(m_fileSystemModel->fileInfo(outputFolderView->currentIndex()).absoluteFilePath());
QString suggestedName = tr("New Folder");
@@ -2581,11 +2634,38 @@ void MainWindow::outputFolderContextMenu(const QPoint &pos)
*/
void MainWindow::showFolderContextActionTriggered(void)
{
+ if(!m_fileSystemModel)
+ {
+ qWarning("File system model not initialized yet!");
+ return;
+ }
+
QString path = QDir::toNativeSeparators(m_fileSystemModel->filePath(outputFolderView->currentIndex()));
if(!path.endsWith(QDir::separator())) path.append(QDir::separator());
ShellExecuteW(this->winId(), L"explore", QWCHAR(path), NULL, NULL, SW_SHOW);
}
+/*
+ * Refresh the directory outline
+ */
+void MainWindow::refreshFolderContextActionTriggered(void)
+{
+ QTimer::singleShot(0, this, SLOT(initOutputFolderModel()));
+
+ /*
+ const QString path = m_fileSystemModel->filePath(outputFolderView->currentIndex());
+ m_fileSystemModel->flushCache();
+ outputFolderView->reset();
+ QModelIndex index = (!path.isEmpty()) ? m_fileSystemModel->index(path) : QModelIndex();
+
+ if(index.isValid())
+ {
+ outputFolderView->setCurrentIndex(index);
+ CENTER_CURRENT_OUTPUT_FOLDER_DELAYED;
+ }
+ */
+}
+
/*
* Add current folder to favorites
*/
@@ -2676,9 +2756,38 @@ void MainWindow::outputFolderEditFinished(void)
*/
void MainWindow::initOutputFolderModel(void)
{
- if(m_fileSystemModel) m_fileSystemModel->setRootPath("");
- CENTER_CURRENT_OUTPUT_FOLDER_DELAYED;
- QTimer::singleShot(125, this, SLOT(initOutputFolderModel_doAsync()));
+ if(m_outputFolderNoteBox->isHidden())
+ {
+ m_outputFolderNoteBox->show();
+ m_outputFolderViewInitCounter = 4;
+
+ if(m_fileSystemModel)
+ {
+ outputFolderView->setModel(NULL);
+ LAMEXP_DELETE(m_fileSystemModel);
+ }
+
+ if(m_fileSystemModel = new QFileSystemModelEx())
+ {
+ m_fileSystemModel->installEventFilter(this);
+ connect(m_fileSystemModel, SIGNAL(directoryLoaded(QString)), this, SLOT(outputFolderDirectoryLoaded(QString)));
+ connect(m_fileSystemModel, SIGNAL(rowsInserted(QModelIndex,int,int)), this, SLOT(outputFolderRowsInserted(QModelIndex,int,int)));
+
+ outputFolderView->setModel(m_fileSystemModel);
+ outputFolderView->header()->setStretchLastSection(true);
+ outputFolderView->header()->hideSection(1);
+ outputFolderView->header()->hideSection(2);
+ outputFolderView->header()->hideSection(3);
+
+ m_fileSystemModel->setRootPath("");
+ QModelIndex index = m_fileSystemModel->index(m_settings->outputDir());
+ if(index.isValid()) outputFolderView->setCurrentIndex(index);
+ outputFolderViewClicked(outputFolderView->currentIndex());
+ }
+
+ CENTER_CURRENT_OUTPUT_FOLDER_DELAYED;
+ QTimer::singleShot(125, this, SLOT(initOutputFolderModel_doAsync()));
+ }
}
/*
@@ -2686,9 +2795,9 @@ void MainWindow::initOutputFolderModel(void)
*/
void MainWindow::initOutputFolderModel_doAsync(void)
{
- if(m_outputFolderViewInitialized > 0)
+ if(m_outputFolderViewInitCounter > 0)
{
- m_outputFolderViewInitialized--;
+ m_outputFolderViewInitCounter--;
QTimer::singleShot(125, this, SLOT(initOutputFolderModel_doAsync()));
}
else
diff --git a/src/Dialog_MainWindow.h b/src/Dialog_MainWindow.h
index a8a4bcd9..3e721e85 100644
--- a/src/Dialog_MainWindow.h
+++ b/src/Dialog_MainWindow.h
@@ -116,6 +116,7 @@ private slots:
void playlistEnabledChanged(void);
void prependRelativePathChanged(void);
void previewContextActionTriggered(void);
+ void refreshFolderContextActionTriggered(void);
void removeFileButtonClicked(void);
void renameOutputEnabledChanged(bool checked);
void renameOutputPatternChanged(void);
@@ -155,6 +156,7 @@ protected:
virtual bool eventFilter(QObject *obj, QEvent *event);
virtual void resizeEvent(QResizeEvent *event);
virtual void showEvent(QShowEvent *event);
+ virtual void keyPressEvent(QKeyEvent *e);
virtual bool event(QEvent *e);
virtual bool winEvent(MSG *message, long *result);
@@ -166,7 +168,7 @@ private:
bool m_accepted;
bool m_firstTimeShown;
- uint m_outputFolderViewInitialized;
+ uint m_outputFolderViewInitCounter;
bool m_outputFolderViewCentering;
const bool m_neroEncoderAvailable;
@@ -193,6 +195,7 @@ private:
QAction *m_previewContextAction;
QAction *m_showDetailsContextAction;
QAction *m_showFolderContextAction;
+ QAction *m_refreshFolderContextAction;
QAction *m_addFavoriteFolderAction;
QAction *m_exportCsvContextAction;
QAction *m_importCsvContextAction;
diff --git a/src/Model_FileSystem.cpp b/src/Model_FileSystem.cpp
index e5e8a643..507967e5 100644
--- a/src/Model_FileSystem.cpp
+++ b/src/Model_FileSystem.cpp
@@ -153,6 +153,7 @@ QFileSystemModelEx::QFileSystemModelEx()
QFileSystemModelEx::~QFileSystemModelEx()
{
+ removeAllFromCache();
LAMEXP_DELETE(m_myIconProvider);
}
@@ -205,6 +206,11 @@ QModelIndex QFileSystemModelEx::index(const QString &path, int column) const
return QModelIndex();
}
+void QFileSystemModelEx::flushCache(void)
+{
+ removeAllFromCache();
+}
+
/* ------------------------ */
/* STATIC FUNCTIONS BELOW */
/* ------------------------ */
@@ -236,6 +242,12 @@ void QFileSystemModelEx::removeFromCache(const QString &path)
s_hasSubfolderCache.remove(path);
}
+void QFileSystemModelEx::removeAllFromCache(void)
+{
+ QMutexLocker lock(&s_hasSubfolderMutex);
+ s_hasSubfolderCache.clear();
+}
+
bool QFileSystemModelEx::hasSubfolders(const QString &path)
{
if(!FindFirstFileExInitialized)
diff --git a/src/Model_FileSystem.h b/src/Model_FileSystem.h
index bd2fc629..df15e162 100644
--- a/src/Model_FileSystem.h
+++ b/src/Model_FileSystem.h
@@ -36,6 +36,7 @@ public:
//virtual int rowCount(const QModelIndex &parent = QModelIndex()) const;
virtual void fetchMore(const QModelIndex &parent);
virtual QModelIndex index(const QString &path, int column = 0) const;
+ virtual void flushCache(void);
private:
QFileIconProviderEx *m_myIconProvider;
@@ -50,4 +51,5 @@ private:
static bool hasSubfolders(const QString &path);
static bool hasSubfoldersCached(const QString &path);
static void removeFromCache(const QString &path);
+ static void removeAllFromCache(void);
};