diff --git a/etc/Translation/Blank.ts b/etc/Translation/Blank.ts
index 2557579d..fe291cd7 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,826 +1571,831 @@
-
+
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
-
+
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!
diff --git a/etc/Translation/LameXP_DE.ts b/etc/Translation/LameXP_DE.ts
index c9c0cf6a..df8647bb 100644
--- a/etc/Translation/LameXP_DE.ts
+++ b/etc/Translation/LameXP_DE.ts
@@ -1842,6 +1842,10 @@
Show Favorites
Favoriten anzeigen
+
+ Initializing directory outline, please be patient...
+ Verzeichnisbaum wird erzeugt, bitte warten...
+
MetaInfo
diff --git a/etc/Translation/LameXP_ES.ts b/etc/Translation/LameXP_ES.ts
index 52e8fba0..0d8cd784 100644
--- a/etc/Translation/LameXP_ES.ts
+++ b/etc/Translation/LameXP_ES.ts
@@ -1841,6 +1841,10 @@
Show Favorites
+
+ Initializing directory outline, please be patient...
+
+
MetaInfo
diff --git a/etc/Translation/LameXP_FR.ts b/etc/Translation/LameXP_FR.ts
index 6d7616ff..486605a9 100644
--- a/etc/Translation/LameXP_FR.ts
+++ b/etc/Translation/LameXP_FR.ts
@@ -1851,6 +1851,10 @@ Ouvrir le dossier récursivement...
Show Favorites
+
+ Initializing directory outline, please be patient...
+
+
MetaInfo
diff --git a/etc/Translation/LameXP_IT.ts b/etc/Translation/LameXP_IT.ts
index 6a19171f..51b11ffd 100644
--- a/etc/Translation/LameXP_IT.ts
+++ b/etc/Translation/LameXP_IT.ts
@@ -1842,6 +1842,10 @@
Show Favorites
+
+ Initializing directory outline, please be patient...
+
+
MetaInfo
diff --git a/etc/Translation/LameXP_KR.ts b/etc/Translation/LameXP_KR.ts
index 7926fac4..654bfad8 100644
--- a/etc/Translation/LameXP_KR.ts
+++ b/etc/Translation/LameXP_KR.ts
@@ -1841,6 +1841,10 @@
Show Favorites
+
+ Initializing directory outline, please be patient...
+
+
MetaInfo
diff --git a/etc/Translation/LameXP_PL.ts b/etc/Translation/LameXP_PL.ts
index af543c32..cb94d0f0 100644
--- a/etc/Translation/LameXP_PL.ts
+++ b/etc/Translation/LameXP_PL.ts
@@ -770,7 +770,7 @@
-
+
Show Details
Pokaż szczegóły
@@ -1442,9 +1442,9 @@
-
-
-
+
+
+
Check for Updates
Sprawdź aktualizacje
@@ -1485,13 +1485,13 @@
-
+
Disable Update Reminder
Wyłącz przypominanie o aktualizacji
-
+
Disable Sound Effects
Wyłącz efekty dźwiękowe
@@ -1571,826 +1571,831 @@
Hibernuj zamiast zamykać
-
+
Adding file(s), please wait...
Dodawanie plików, prosze czekać...
-
-
+
+
Access Denied
Dostę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 Files
Pliki 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 Sheet
Cue 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 Rejected
Pliki 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 Application
Otwórz plik w zewnętrznym programie
-
+
Browse File Location
Otwórz lokalizację pliku
-
+
Browse Selected Folder
Otwórz wybrany folder
-
+
Bookmark Current Output Folder
Zapamiętaj wybrany folder
-
+
License Declined
Licencja 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 - Expired
LameXP - 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 Program
Wyjdź 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 Startup
Powolny start
-
-
-
-
-
+
+
+
+
+
Discard
Zamknij
-
-
+
+
Don't Show Again
Nie pokazuj ponownie
-
+
Urgent Update
Waż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 Reminder
Powiadomienie 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?
-
+
Postpone
Przełóż
-
+
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/a
n/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 Outdated
Koder 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 Disabled
Wsparcie dla AAC wyłączone
-
-
-
+
+
+
LameXP
LameXP
-
+
You must add at least one file to the list before proceeding!
Powinienieś dodać przynajmniej jeden plik do listy aby zacząć działać!
-
+
Not Found
Nie znaleziono
-
+
Your currently selected TEMP folder does not exist anymore:
Wybrany przez Ciebie folder tymczasowy TEMP już nie istnieje:
-
+
Restore Default
Przywróć domyślne
-
+
Cancel
Anuluj
-
+
Low Diskspace Warning
Ostrzeż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 VERSION
WERSJA 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 Process
Przerwij proces kompresji
-
+
Clean Disk Now
Wykonaj oczyszczanie dysku
-
-
+
+
Ignore
Ignoruj
-
+
+ Initializing directory outline, please be patient...
+
+
+
+
Export Meta Tags to CSV File
Eksportuj Tagi do pliku CVS
-
+
Import Meta Tags from CSV File
Importuj Tagi do pliku CVS
-
+
Skipping update check this time, please be patient...
Pomijanie sprawdzania aktualizacji, prosze czekać...
-
+
Low Diskspace
Mał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 Translation
Zaladuj plik językowy
-
+
Translation Files
Pliki językowe
-
+
Do you really want to disable the update reminder?
Czy na pewno chcesz wyłączyć przypominanie o aktualizacjach?
-
-
-
-
-
-
-
+
+
+
+
+
+
+
Yes
Tak
-
-
-
-
-
-
-
+
+
+
+
+
+
+
No
Nie
-
+
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 Effects
Efekty 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 Notifications
Powiadomienia 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 Notifications
Powiadomienia 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 Sheet
Otwórz plik Cue Sheet
-
-
+
+
Cue Sheet File
Plik Cue Sheet
-
-
-
+
+
+
Beta Updates
Aktualizacje 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 Now
Sprawdź 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 Computer
Hibernuj 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 Integration
Integracja 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 Folder
Dodaj folder
-
-
+
+
Save CSV file
Zapisz plik CSV
-
-
-
-
+
+
+
+
CSV File
Plik CSV
-
-
-
-
+
+
+
+
CSV Export
Eksportowanie 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 file
Otwórz plik CSV
-
+
Sorry, failed to open CSV file for reading!
Nie można otworzyć pliku CSV aby go wczytać!
-
-
-
-
-
+
+
+
+
+
CSV Import
Importowanie 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 Folder
Nowy folder
-
+
Enter the name of the new folder:
Wprowadź nazwę nowego folderu:
-
+
Failed to create folder
Utworzenie 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 %1
Poziom jakości %1
-
-
-
+
+
+
Compression %1
Kompresja %1
-
-
-
+
+
+
Uncompressed
Nieskompresowany
-
+
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 extension
Nazwa pliku bez rozszerzenia
-
+
Track number with leading zero
Numer ścieżki z zerem na początku
-
+
Track title
Nazwa ścieżki
-
+
Artist name
Nazwa Artysty
-
+
Album name
Nazwa Albumu
-
+
Year with (at least) four digits
Rok z (przynajmniej) czterema cyframi
-
+
Comment
Komentarz
-
+
Characters forbidden in file names:
Zabronione znaki w nazwach plików:
-
+
Rename Macros
Zmień 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 Running
Już działa
-
+
LameXP is already running, please use the running instance!
LameXP już działa, przejdź do działającego programu!
diff --git a/etc/Translation/LameXP_RU.ts b/etc/Translation/LameXP_RU.ts
index 79e1945c..a1191086 100644
--- a/etc/Translation/LameXP_RU.ts
+++ b/etc/Translation/LameXP_RU.ts
@@ -1847,6 +1847,10 @@
Show Favorites
+
+ Initializing directory outline, please be patient...
+
+
MetaInfo
diff --git a/etc/Translation/LameXP_TW.ts b/etc/Translation/LameXP_TW.ts
index 1502c2fe..c92a0262 100644
--- a/etc/Translation/LameXP_TW.ts
+++ b/etc/Translation/LameXP_TW.ts
@@ -1841,6 +1841,10 @@
Show Favorites
+
+ Initializing directory outline, please be patient...
+
+
MetaInfo
diff --git a/etc/Translation/LameXP_UK.ts b/etc/Translation/LameXP_UK.ts
index 3ab8cdb9..b7db8e9a 100644
--- a/etc/Translation/LameXP_UK.ts
+++ b/etc/Translation/LameXP_UK.ts
@@ -1842,6 +1842,10 @@
Show Favorites
+
+ Initializing directory outline, please be patient...
+
+
MetaInfo
diff --git a/etc/Translation/LameXP_ZH.ts b/etc/Translation/LameXP_ZH.ts
index 0a6a1656..28523e8d 100644
--- a/etc/Translation/LameXP_ZH.ts
+++ b/etc/Translation/LameXP_ZH.ts
@@ -1841,6 +1841,10 @@
Show Favorites
+
+ Initializing directory outline, please be patient...
+
+
MetaInfo
diff --git a/res/localization/LameXP_DE.qm b/res/localization/LameXP_DE.qm
index 1eb8c621..408543d7 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 f5cab1d7..07c15aec 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 10
-#define VER_LAMEXP_BUILD 932
+#define VER_LAMEXP_BUILD 939
///////////////////////////////////////////////////////////////////////////////
// Tool versions (minimum expected versions!)
diff --git a/src/Dialog_MainWindow.cpp b/src/Dialog_MainWindow.cpp
index 6097fb29..aca58e54 100644
--- a/src/Dialog_MainWindow.cpp
+++ b/src/Dialog_MainWindow.cpp
@@ -94,7 +94,7 @@ MainWindow::MainWindow(FileListModel *fileListModel, AudioFileModel *metaInfo, S
m_qaacEncoderAvailable(lamexp_check_tool("qaac.exe") && lamexp_check_tool("libsoxrate.dll")),
m_accepted(false),
m_firstTimeShown(true),
- m_outputFolderViewInitialized(false),
+ m_outputFolderViewInitialized(3),
m_outputFolderViewCentering(false)
{
//Init the dialog, from the .ui file
@@ -161,6 +161,7 @@ MainWindow::MainWindow(FileListModel *fileListModel, AudioFileModel *metaInfo, S
outputFolderView->setAnimated(false);
outputFolderView->setMouseTracking(false);
outputFolderView->setContextMenuPolicy(Qt::CustomContextMenu);
+ outputFolderView->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOn);
outputFolderView->installEventFilter(this);
outputFoldersEditorLabel->installEventFilter(this);
outputFoldersFovoritesLabel->installEventFilter(this);
@@ -192,6 +193,11 @@ MainWindow::MainWindow(FileListModel *fileListModel, AudioFileModel *metaInfo, S
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);
refreshFavorites();
//Setup "Meta Data" tab
@@ -711,6 +717,7 @@ void MainWindow::changeEvent(QEvent *e)
//Manually re-translate widgets that UIC doesn't handle
m_dropNoteLabel->setText(QString("» %1 «").arg(tr("You can drop in audio files here!")));
+ m_outputFolderNoteBox->setText(tr("Initializing directory outline, please be patient..."));
m_showDetailsContextAction->setText(tr("Show Details"));
m_previewContextAction->setText(tr("Open File in External Application"));
m_findFileContextAction->setText(tr("Browse File Location"));
@@ -826,8 +833,13 @@ void MainWindow::closeEvent(QCloseEvent *event)
*/
void MainWindow::resizeEvent(QResizeEvent *event)
{
- QMainWindow::resizeEvent(event);
+ if(event) QMainWindow::resizeEvent(event);
m_dropNoteLabel->setGeometry(0, 0, sourceFileView->width(), sourceFileView->height());
+
+ if(QWidget *port = outputFolderView->viewport())
+ {
+ m_outputFolderNoteBox->setGeometry(16, (port->height() - 64) / 2, port->width() - 32, 64);
+ }
}
/*
@@ -1390,6 +1402,8 @@ void MainWindow::closeButtonClicked(void)
*/
void MainWindow::tabPageChanged(int idx)
{
+ resizeEvent(NULL);
+
QList actions = m_tabActionGroup->actions();
for(int i = 0; i < actions.count(); i++)
{
@@ -1435,7 +1449,7 @@ void MainWindow::tabPageChanged(int idx)
}
else if(idx == tabWidget->indexOf(tabOutputDir))
{
- if(!m_outputFolderViewInitialized)
+ if(m_outputFolderViewInitialized > 0)
{
QTimer::singleShot(125, this, SLOT(initOutputFolderModel()));
}
@@ -2517,8 +2531,9 @@ void MainWindow::makeFolderButtonClicked(void)
QDir createdDir = basePath;
if(createdDir.cd(newFolder))
{
- outputFolderView->setCurrentIndex(m_fileSystemModel->index(createdDir.canonicalPath()));
- outputFolderViewClicked(outputFolderView->currentIndex());
+ QModelIndex newIndex = m_fileSystemModel->index(createdDir.canonicalPath());
+ outputFolderView->setCurrentIndex(newIndex);
+ outputFolderViewClicked(newIndex);
CENTER_CURRENT_OUTPUT_FOLDER_DELAYED;
}
}
@@ -2661,9 +2676,26 @@ void MainWindow::outputFolderEditFinished(void)
*/
void MainWindow::initOutputFolderModel(void)
{
- m_fileSystemModel->setRootPath("");
+ if(m_fileSystemModel) m_fileSystemModel->setRootPath("");
CENTER_CURRENT_OUTPUT_FOLDER_DELAYED;
- m_outputFolderViewInitialized = true;
+ QTimer::singleShot(125, this, SLOT(initOutputFolderModel_doAsync()));
+}
+
+/*
+ * Initialize file system model (do NOT call this one directly!)
+ */
+void MainWindow::initOutputFolderModel_doAsync(void)
+{
+ if(m_outputFolderViewInitialized > 0)
+ {
+ m_outputFolderViewInitialized--;
+ QTimer::singleShot(125, this, SLOT(initOutputFolderModel_doAsync()));
+ }
+ else
+ {
+ QTimer::singleShot(125, m_outputFolderNoteBox, SLOT(hide()));
+ outputFolderView->setFocus();
+ }
}
/*
diff --git a/src/Dialog_MainWindow.h b/src/Dialog_MainWindow.h
index da56c8d2..a8a4bcd9 100644
--- a/src/Dialog_MainWindow.h
+++ b/src/Dialog_MainWindow.h
@@ -94,6 +94,7 @@ private slots:
void importCueSheetActionTriggered(bool checked);
void importCsvContextActionTriggered(void);
void initOutputFolderModel(void);
+ void initOutputFolderModel_doAsync(void);
void languageActionActivated(QAction *action);
void languageFromFileActionActivated(bool checked);
void makeFolderButtonClicked(void);
@@ -165,7 +166,7 @@ private:
bool m_accepted;
bool m_firstTimeShown;
- bool m_outputFolderViewInitialized;
+ uint m_outputFolderViewInitialized;
bool m_outputFolderViewCentering;
const bool m_neroEncoderAvailable;
@@ -186,6 +187,7 @@ private:
SettingsModel *m_settings;
QMenu *m_sourceFilesContextMenu;
QMenu *m_outputFolderFavoritesMenu;
+ QLabel *m_outputFolderNoteBox;
QAction *m_findFileContextAction;
QAction *m_previewContextAction;
diff --git a/src/Model_FileSystem.cpp b/src/Model_FileSystem.cpp
index 0bbaaac7..91949728 100644
--- a/src/Model_FileSystem.cpp
+++ b/src/Model_FileSystem.cpp
@@ -26,6 +26,9 @@
#include
#include
+#define IS_DIR(ATTR) (((ATTR) & FILE_ATTRIBUTE_DIRECTORY) && (!((ATTR) & FILE_ATTRIBUTE_HIDDEN)))
+#define NO_DOT_OR_DOTDOT(STR) (wcscmp((STR), L".") && wcscmp((STR), L".."))
+
///////////////////////////////////////////////////////////////////////////////
// Dummy QFileIconProvider class
///////////////////////////////////////////////////////////////////////////////
@@ -154,8 +157,78 @@ bool QFileSystemModelEx::hasChildren(const QModelIndex &parent) const
{
if(parent.isValid())
{
- return (QDir(QFileSystemModel::filePath(parent)).entryList(QDir::Dirs | QDir::NoDotAndDotDot).count() > 0);
+ return (QFileSystemModel::rowCount(parent) > 0) || hasSubfoldersCached(filePath(parent));
}
return true;
}
+
+int QFileSystemModelEx::rowCount(const QModelIndex &parent) const
+{
+ if(parent.isValid())
+ {
+ removeFromCache(filePath(parent));
+ }
+
+ return QFileSystemModel::rowCount(parent);
+}
+
+void QFileSystemModelEx::fetchMore(const QModelIndex &parent)
+{
+ if(parent.isValid())
+ {
+ removeFromCache(filePath(parent));
+ }
+
+ QFileSystemModel::fetchMore(parent);
+}
+
+
+/* ------------------------ */
+/* STATIC FUNCTIONS BELOW */
+/* ------------------------ */
+
+QHash QFileSystemModelEx::s_hasFolderCache;
+QMutex QFileSystemModelEx::s_hasFolderMutex;
+
+bool QFileSystemModelEx::hasSubfoldersCached(const QString &path)
+{
+ QMutexLocker lock(&s_hasFolderMutex);
+
+ if(s_hasFolderCache.contains(path))
+ {
+ return s_hasFolderCache.value(path);
+ }
+
+ bool bChildren = hasSubfolders(path);
+ s_hasFolderCache.insert(path, bChildren);
+ return bChildren;
+}
+
+void QFileSystemModelEx::removeFromCache(const QString &path)
+{
+ QMutexLocker lock(&s_hasFolderMutex);
+ s_hasFolderCache.remove(path);
+}
+
+bool QFileSystemModelEx::hasSubfolders(const QString &path)
+{
+ bool bChildren = false; WIN32_FIND_DATAW findData;
+ HANDLE h = FindFirstFileW(QWCHAR(QDir::toNativeSeparators(path + "/*")), &findData);
+ if(h != INVALID_HANDLE_VALUE)
+ {
+ if(NO_DOT_OR_DOTDOT(findData.cFileName))
+ {
+ bChildren = IS_DIR(findData.dwFileAttributes);
+ }
+ while((!bChildren) && FindNextFile(h, &findData))
+ {
+ if(NO_DOT_OR_DOTDOT(findData.cFileName))
+ {
+ bChildren = IS_DIR(findData.dwFileAttributes);
+ }
+ }
+ FindClose(h);
+ }
+ return bChildren;
+}
diff --git a/src/Model_FileSystem.h b/src/Model_FileSystem.h
index cf219abc..674d68a4 100644
--- a/src/Model_FileSystem.h
+++ b/src/Model_FileSystem.h
@@ -22,6 +22,7 @@
#pragma once
#include
+#include
class QFileIconProviderEx;
@@ -32,7 +33,16 @@ public:
~QFileSystemModelEx();
virtual bool hasChildren(const QModelIndex &parent = QModelIndex()) const;
+ virtual int rowCount(const QModelIndex &parent = QModelIndex()) const;
+ virtual void fetchMore(const QModelIndex &parent);
private:
QFileIconProviderEx *m_myIconProvider;
+
+ static QHash s_hasFolderCache;
+ static QMutex s_hasFolderMutex;
+
+ static bool hasSubfolders(const QString &path);
+ static bool hasSubfoldersCached(const QString &path);
+ static void removeFromCache(const QString &path);
};