diff -Nru keepassx-2.0.2/CHANGELOG keepassx-2.0.3/CHANGELOG --- keepassx-2.0.2/CHANGELOG 2016-02-02 00:22:48.000000000 +0000 +++ keepassx-2.0.3/CHANGELOG 2016-09-04 15:57:47.000000000 +0000 @@ -1,3 +1,16 @@ +2.0.3 (2016-09-04) +========================= + +- Improved error reporting when reading / writing databases fails. [#450, #462] +- Display an error message when opening a custom icon fails. +- Detect custom icon format based on contents instead of the filename. [#512] +- Keep symlink intact when saving databases. [#442]. +- Fix a crash when deleting parent group of recycle bin. [#520] +- Display a confirm dialog before moving an entry to the recycle bin. [#447] +- Repair UUIDs of inconsistent history items. [#130] +- Only include top-level windows in auto-type window list when using gnome-shell. +- Update translations. + 2.0.2 (2016-02-02) ========================= diff -Nru keepassx-2.0.2/CMakeLists.txt keepassx-2.0.3/CMakeLists.txt --- keepassx-2.0.2/CMakeLists.txt 2016-02-02 00:22:48.000000000 +0000 +++ keepassx-2.0.3/CMakeLists.txt 2016-09-04 15:57:47.000000000 +0000 @@ -33,8 +33,8 @@ option(WITH_GUI_TESTS "Enable building of GUI tests" OFF) option(WITH_CXX11 "Build with the C++ 11 standard" ON) -set(KEEPASSX_VERSION "2.0.2") -set(KEEPASSX_VERSION_NUM "2.0.2") +set(KEEPASSX_VERSION "2.0.3") +set(KEEPASSX_VERSION_NUM "2.0.3") if("${CMAKE_C_COMPILER}" MATCHES "clang$" OR "${CMAKE_C_COMPILER_ID}" STREQUAL "Clang") set(CMAKE_COMPILER_IS_CLANG 1) diff -Nru keepassx-2.0.2/debian/changelog keepassx-2.0.3/debian/changelog --- keepassx-2.0.2/debian/changelog 2016-02-04 20:47:38.000000000 +0000 +++ keepassx-2.0.3/debian/changelog 2017-01-10 21:33:14.000000000 +0000 @@ -1,3 +1,11 @@ +keepassx (2.0.3-1) unstable; urgency=medium + + * New upstream release. (Closes: #845163) + * Add missing Comment section to the desktop file. (Closes: #846274) + - desktop_file_comment.patch + + -- Felix Geyer Tue, 10 Jan 2017 22:33:14 +0100 + keepassx (2.0.2-1) unstable; urgency=medium * New upstream release. (Closes: #813608) diff -Nru keepassx-2.0.2/debian/patches/desktop_file_comment.patch keepassx-2.0.3/debian/patches/desktop_file_comment.patch --- keepassx-2.0.2/debian/patches/desktop_file_comment.patch 1970-01-01 00:00:00.000000000 +0000 +++ keepassx-2.0.3/debian/patches/desktop_file_comment.patch 2017-01-10 21:29:27.000000000 +0000 @@ -0,0 +1,10 @@ +--- a/share/linux/keepassx.desktop ++++ b/share/linux/keepassx.desktop +@@ -5,6 +5,7 @@ + GenericName[es]=Gestor de contraseñas + GenericName[fr]=Gestionnaire de mot de passe + GenericName[ru]=менеджер паролей ++Comment=Cross Platform Password Manager + Exec=keepassx %f + Icon=keepassx + Terminal=false diff -Nru keepassx-2.0.2/debian/patches/series keepassx-2.0.3/debian/patches/series --- keepassx-2.0.2/debian/patches/series 1970-01-01 00:00:00.000000000 +0000 +++ keepassx-2.0.3/debian/patches/series 2017-01-10 21:30:01.000000000 +0000 @@ -0,0 +1 @@ +desktop_file_comment.patch diff -Nru keepassx-2.0.2/README.md keepassx-2.0.3/README.md --- keepassx-2.0.2/README.md 2016-02-02 00:22:48.000000000 +0000 +++ keepassx-2.0.3/README.md 2016-09-04 15:57:47.000000000 +0000 @@ -57,12 +57,12 @@ * Qt 4 (>= 4.6) * libgcrypt * zlib -* libxtst (optional for auto-type on X11) +* libxi, libxtst (optional for auto-type on X11) On Debian you can install them with: ```bash -sudo apt-get install build-essential cmake libqt4-dev libgcrypt11-dev zlib1g-dev +sudo apt-get install build-essential cmake libqt4-dev libgcrypt11-dev zlib1g-dev libxi-dev libxtst-dev ``` #### Build Steps diff -Nru keepassx-2.0.2/share/translations/keepassx_cs.ts keepassx-2.0.3/share/translations/keepassx_cs.ts --- keepassx-2.0.2/share/translations/keepassx_cs.ts 2016-02-02 00:22:48.000000000 +0000 +++ keepassx-2.0.3/share/translations/keepassx_cs.ts 2016-09-04 15:57:47.000000000 +0000 @@ -13,6 +13,10 @@ Revision Revize + + Using: + S použitím: + AutoType @@ -95,7 +99,7 @@ Unable to create Key File : - Nedaří se vytvořit soubor s klíčem : + Nedaří se vytvořit soubor s klíčem: Select a key file @@ -103,7 +107,7 @@ Question - Otázka + Dotaz Do you really want to use an empty string as password? @@ -148,7 +152,7 @@ Unable to open the database. - Databázi se nepodařilo otevřít. + Databázi se nedaří otevřít. Can't open key file @@ -168,6 +172,43 @@ + DatabaseRepairWidget + + Repair database + Opravit databázi + + + Error + Chyba + + + Can't open key file + Nedaří se otevřít soubor s klíčem + + + Database opened fine. Nothing to do. + Databáze je v pořádku otevřená. Není třeba žádného zásahu. + + + Unable to open the database. + Nedaří se otevřít databázi. + + + Success + Úspěch + + + The database has been successfully repaired +You can now save it. + Databáze je úspěšně opravená +Nyní jí můžete uložit. + + + Unable to repair the database. + Databázi se nedaří opravit. + + + DatabaseSettingsWidget Database name: @@ -179,7 +220,7 @@ Transform rounds: - Počet průchodů algoritmu: + Počet průchodů šifrovacího algoritmu: Default username: @@ -191,7 +232,7 @@ MiB - + MiB Benchmark @@ -199,11 +240,11 @@ Max. history items: - Nejvyšší umožněný počet položek historie: + Omezit počet uchovávaných předchozích verzí položky na: Max. history size: - Nejvyšší umožněný objem dat historie záznamů: + Omezit datový objem předchozích verzí položek na: @@ -214,7 +255,7 @@ KeePass 2 Database - Databáze aplikace KeePass verze 2 + Databáze ve formátu KeePass verze 2 All files @@ -234,11 +275,11 @@ Open KeePass 1 database - Otevřít databázi aplikace KeePass verze 1 + Otevřít databázi ve formátu KeePass verze 1 KeePass 1 database - Databáze aplikace KeePass verze 1 + Databáze ve formátu KeePass verze 1 All files (*) @@ -255,7 +296,7 @@ "%1" was modified. Save changes? - %1 bylo změněno. + „%1“ bylo změněno. Uložit změny? @@ -282,7 +323,7 @@ The database you are trying to open is locked by another instance of KeePassX. Do you want to open it anyway? Alternatively the database is opened read-only. Pro databázi, kterou se pokoušíte otevřít, existuje zámek úprav (stejnojmenný -.lock soubor). To znamená, že je nejspíš již otevřená v jiném okně KeePassX +.lock soubor). To znamená, že je nejspíš už otevřená v jiném okně KeePassX (v případě sdíleného úložiště, třeba i na jiném počítači). Pokud tomu tak není, je zámek nejspíš pozůstatkem předchozího neočekávaného ukončení aplikace a je možné ho smazat. V každém případě, dotčenou databázi je možné otevřít @@ -302,7 +343,7 @@ This database has never been saved. You can save the database or stop locking it. Tato databáze doposud ještě nebyla uložena. -Buď ji můžete uložit, nebo neuzamykat. +Buď ji můžete uložit, nebo neuzamknout. This database has been modified. @@ -315,7 +356,7 @@ "%1" is in edit mode. Discard changes and close anyway? - %1 je právě upravováno. + „%1“ je právě upravováno. Přesto zavřít a zahodit změny? @@ -349,7 +390,7 @@ Do you really want to delete the entry "%1" for good? - Opravdu chcete nenávratně smazat položku %1? + Opravdu chcete nenávratně smazat položku „%1“? Delete entries? @@ -373,7 +414,7 @@ Do you really want to delete the group "%1" for good? - Opravdu chcete nenávratně smazat skupinu %1? + Opravdu chcete nenávratně smazat skupinu „%1“? Current group @@ -385,7 +426,7 @@ Unable to calculate master key - Nepodařilo se spočítat hlavní klíč + Nedaří se spočítat hlavní klíč @@ -520,11 +561,11 @@ + - + + - - + - Window title: @@ -574,7 +615,7 @@ Repeat: - Zopakovat: + Zopakování hesla: Gen. @@ -590,7 +631,7 @@ Presets - Přednastavené + Předpřipravené Notes: @@ -699,7 +740,7 @@ Can't delete icon. Still used by %n item(s). - Ikonu není možné smazat. Je používána %n položkou.Ikonu není možné smazat. Je používána %n položkami.Ikonu není možné smazat. Používá ji %n položek + Ikonu není možné smazat. Je používána %n položkou.Ikonu není možné smazat. Je používána %n položkami.Ikonu není možné smazat. Ještě jí používá %n položek. @@ -777,7 +818,7 @@ KeePass1OpenWidget Import KeePass1 database - Importovat databázi aplikace KeePass verze 1 + Importovat databázi ve formátu KeePass verze 1 Error @@ -785,14 +826,14 @@ Unable to open the database. - Databázi nelze otevřít. + Databázi se nedaří otevřít. KeePass1Reader Unable to read keyfile. - Soubor s klíčem nebylo možné načíst. + Nedaří se načíst soubor s klíčem. Not a KeePass database. @@ -833,6 +874,16 @@ Unable to calculate master key Nedaří se spočítat hlavní klíč + + The selected file is an old KeePass 1 database (.kdb). + +You can import it by clicking on Database > 'Import KeePass 1 database'. +This is a one-way migration. You won't be able to open the imported database with the old KeePassX 0.4 version. + Zvolený soubor je databáze ve starém formátu KeePass 1 (.kdb). + +Můžete ho importovat pomocí Databáze → Importovat databázi KeePass 1. +Jedná se o jednosměrný převod. Databázi, vzniklou z importu, nepůjde otevřít ve staré verzi KeePassX 0.4. + Main @@ -877,7 +928,7 @@ Quit - Ukončit + Ukončit aplikaci About @@ -993,7 +1044,7 @@ Toggle window - Přepnout okno + Zobrazit/skrýt okno Tools @@ -1011,6 +1062,30 @@ Export to CSV file Exportovat do CSV souboru + + Repair database + Opravit databázi + + + KeePass 2 Database + Databáze ve formátu KeePass 2 + + + All files + Všechny soubory + + + Save repaired database + Uložit opravenou databázi + + + Error + Chyba + + + Writing the database failed. + Zápis do databáze se nezdařil. + PasswordGeneratorWidget @@ -1036,7 +1111,7 @@ Numbers - Čísla + Číslice Special Characters @@ -1155,7 +1230,7 @@ Case sensitive - Rozlišovat velikost písmen + Rozlišovat malá/velká písmena Current group @@ -1221,7 +1296,7 @@ Show a system tray icon - Zobrazit ikonu v oznamovací oblasti systémového panelu + Zobrazovat ikonu v oznamovací oblasti systémového panelu Hide window to system tray when minimized diff -Nru keepassx-2.0.2/share/translations/keepassx_da.ts keepassx-2.0.3/share/translations/keepassx_da.ts --- keepassx-2.0.2/share/translations/keepassx_da.ts 2016-02-02 00:22:48.000000000 +0000 +++ keepassx-2.0.3/share/translations/keepassx_da.ts 2016-09-04 15:57:47.000000000 +0000 @@ -172,6 +172,43 @@ + DatabaseRepairWidget + + Repair database + Reparer database + + + Error + Fejl + + + Can't open key file + Kan ikke åbne nøglefil + + + Database opened fine. Nothing to do. + Databasen åbnede fint. Intet at gøre. + + + Unable to open the database. + Kan ikke åbne databasen. + + + Success + Succes + + + The database has been successfully repaired +You can now save it. + Databasen er blevet succesfuldt repareret +Du kan gemme den nu. + + + Unable to repair the database. + Kan ikke reparere databasen. + + + DatabaseSettingsWidget Database name: @@ -1020,6 +1057,30 @@ Export to CSV file Eksportér til CSV-fil + + Repair database + Reparer database + + + KeePass 2 Database + KeePass 2 Database + + + All files + Alle filer + + + Save repaired database + Gem repareret database + + + Error + Fejl + + + Writing the database failed. + Skrivning til database fejler. + PasswordGeneratorWidget diff -Nru keepassx-2.0.2/share/translations/keepassx_de.ts keepassx-2.0.3/share/translations/keepassx_de.ts --- keepassx-2.0.2/share/translations/keepassx_de.ts 2016-02-02 00:22:48.000000000 +0000 +++ keepassx-2.0.3/share/translations/keepassx_de.ts 2016-09-04 15:57:47.000000000 +0000 @@ -13,6 +13,10 @@ Revision Überarbeitung + + Using: + In Benutzung: + AutoType @@ -167,6 +171,43 @@ + DatabaseRepairWidget + + Repair database + Datenbank reparieren + + + Error + Fehler + + + Can't open key file + Schlüsseldatei kann nicht geöffnet werden + + + Database opened fine. Nothing to do. + Datenbank wurde ordnungsgemäß geöffnet. Es gibt nichts zu tun. + + + Unable to open the database. + Öffnen der Datenbank nicht möglich. + + + Success + Erfolg + + + The database has been successfully repaired +You can now save it. + Datenbank erfolgreich repariert +sie kann nun gespeichert werden. + + + Unable to repair the database. + Reparieren der Datenbank nicht möglich. + + + DatabaseSettingsWidget Database name: @@ -826,6 +867,16 @@ Unable to calculate master key Berechnung des "master keys" gescheitert + + The selected file is an old KeePass 1 database (.kdb). + +You can import it by clicking on Database > 'Import KeePass 1 database'. +This is a one-way migration. You won't be able to open the imported database with the old KeePassX 0.4 version. + Die ausgewählte Datei ist eine alte KeePass 1 Datenbank (.kdb). + +Zum Importieren gehen Sie auf Datenbank > 'KeePass 1 Datenbank importieren'. +Dieser Vorgang ist nur in eine Richtung möglich. Die importierte Datenbank kann später nicht mehr mit der alten KeePassX Version 0.4 geöffnet werden. + Main @@ -1004,6 +1055,30 @@ Export to CSV file Als CSV Datei exportieren + + Repair database + Datenbank reparieren + + + KeePass 2 Database + KeePass 2 Datenbank + + + All files + Alle Dateien + + + Save repaired database + Reparierte Datenbank speichern + + + Error + Fehler + + + Writing the database failed. + Schreiben der Datenbank fehlgeschlagen. + PasswordGeneratorWidget diff -Nru keepassx-2.0.2/share/translations/keepassx_en.ts keepassx-2.0.3/share/translations/keepassx_en.ts --- keepassx-2.0.2/share/translations/keepassx_en.ts 2016-02-02 00:22:48.000000000 +0000 +++ keepassx-2.0.3/share/translations/keepassx_en.ts 2016-09-04 15:57:47.000000000 +0000 @@ -365,6 +365,10 @@ Do you want to save it anyway? + + Unable to open the database. + + DatabaseWidget @@ -419,6 +423,14 @@ Unable to calculate master key + + Move entry to recycle bin? + + + + Do you really want to move entry "%1" to the recycle bin? + + EditEntryWidget @@ -741,6 +753,14 @@ + + Error + + + + Can't read icon: + + EditWidgetProperties @@ -854,6 +874,10 @@ Unable to calculate master key + + Wrong key or database file is corrupt. + + KeePass2Reader diff -Nru keepassx-2.0.2/share/translations/keepassx_es.ts keepassx-2.0.3/share/translations/keepassx_es.ts --- keepassx-2.0.2/share/translations/keepassx_es.ts 2016-02-02 00:22:48.000000000 +0000 +++ keepassx-2.0.3/share/translations/keepassx_es.ts 2016-09-04 15:57:47.000000000 +0000 @@ -9,6 +9,14 @@ KeePassX is distributed under the term of the GNU General Public License (GPL) version 2 or (at your option) version 3. KeePassX es distribuido bajo los términos de la versión 2 de la Licencia Pública GNU (GPL) o por la versión 3 (si así lo prefiere). + + Revision + Revisión + + + Using: + Usando: + AutoType @@ -164,6 +172,43 @@ + DatabaseRepairWidget + + Repair database + Reparar base de datos + + + Error + Error + + + Can't open key file + No se puede abrir el archivo llave + + + Database opened fine. Nothing to do. + Base de datos abierta correctamente. Nada que hacer. + + + Unable to open the database. + No se pudo abrir la base de datos. + + + Success + Éxito + + + The database has been successfully repaired +You can now save it. + La base de datos ha sido reparada correctamente +Ahora puede guardarla. + + + Unable to repair the database. + No se pudo reparar la base de datos. + + + DatabaseSettingsWidget Database name: @@ -322,6 +367,12 @@ Writing the CSV file failed. La escritura del archivo CSV falló. + + The database you are trying to save as is locked by another instance of KeePassX. +Do you want to save it anyway? + La base de datos que está tratando de guardar está bloqueda por otra instancia de KeePassX. +̉¿Desea guardarla de cualquier manera? + DatabaseWidget @@ -819,6 +870,16 @@ Unable to calculate master key No se puede calcular la clave maestra + + The selected file is an old KeePass 1 database (.kdb). + +You can import it by clicking on Database > 'Import KeePass 1 database'. +This is a one-way migration. You won't be able to open the imported database with the old KeePassX 0.4 version. + El archivo seleccionado es una vieja base de datos de KeePass 1 (.kdb). + +Puede importarla haciendo click en 'Base de datos' > 'Importar base de datos de Keepass 1'. +Esta migración es en un único sentido. No podrá abrir la base importada con la vieja versión 0.4 de KeePassX. + Main @@ -997,6 +1058,30 @@ Export to CSV file Exportar a un archivo CSV + + Repair database + Reparar la base de datos + + + KeePass 2 Database + Base de datos de KeePass 2 + + + All files + Todos los archivos + + + Save repaired database + Guardar base de datos reparada + + + Error + Error + + + Writing the database failed. + Fallo al escribir la base de datos. + PasswordGeneratorWidget @@ -1270,10 +1355,6 @@ ruta a un archivo de configuración personalizado - password of the database (DANGEROUS!) - contraseña de la base de datos (¡PELIGROSO!) - - key file of the database archivo llave de la base de datos diff -Nru keepassx-2.0.2/share/translations/keepassx_fr.ts keepassx-2.0.3/share/translations/keepassx_fr.ts --- keepassx-2.0.2/share/translations/keepassx_fr.ts 2016-02-02 00:22:48.000000000 +0000 +++ keepassx-2.0.3/share/translations/keepassx_fr.ts 2016-09-04 15:57:47.000000000 +0000 @@ -172,6 +172,43 @@ + DatabaseRepairWidget + + Repair database + Réparer la base de données + + + Error + Erreur + + + Can't open key file + Impossible d'ouvrir le fichier-clé + + + Database opened fine. Nothing to do. + La base de données s'est bien ouverte. Aucune action à effectuer. + + + Unable to open the database. + Impossible d'ouvrir la base de données. + + + Success + Succès + + + The database has been successfully repaired +You can now save it. + La base de données a correctement été réparée. +Vous pouvez maintenant la sauvegarder. + + + Unable to repair the database. + Impossible de réparer la base de données. + + + DatabaseSettingsWidget Database name: @@ -1021,6 +1058,30 @@ Export to CSV file Exporter au format CSV + + Repair database + Réparer la base de données + + + KeePass 2 Database + Base de données KeePass 2 + + + All files + Tous les fichiers + + + Save repaired database + Sauvegarder la base de données réparée + + + Error + Erreur + + + Writing the database failed. + Une erreur s'est produite lors de l'écriture de la base de données. + PasswordGeneratorWidget diff -Nru keepassx-2.0.2/share/translations/keepassx_id.ts keepassx-2.0.3/share/translations/keepassx_id.ts --- keepassx-2.0.2/share/translations/keepassx_id.ts 2016-02-02 00:22:48.000000000 +0000 +++ keepassx-2.0.3/share/translations/keepassx_id.ts 2016-09-04 15:57:47.000000000 +0000 @@ -172,6 +172,43 @@ + DatabaseRepairWidget + + Repair database + Perbaiki basis data + + + Error + Galat + + + Can't open key file + Tidak bisa membuka berkas kunci + + + Database opened fine. Nothing to do. + Basis data terbuka dengan baik. Tidak perlu melakukan apa-apa. + + + Unable to open the database. + Tidak bisa membuka basis data. + + + Success + Sukses + + + The database has been successfully repaired +You can now save it. + Basis data berhasil diperbaiki +Anda bisa menyimpannya sekarang. + + + Unable to repair the database. + Tidak bisa memperbaiki basis data. + + + DatabaseSettingsWidget Database name: @@ -1021,6 +1058,30 @@ Export to CSV file Ekspor ke berkas CSV + + Repair database + Perbaiki basis data + + + KeePass 2 Database + Basis Data KeePass 2 + + + All files + Semua Berkas + + + Save repaired database + Simpan basis data yang sudah diperbaiki + + + Error + Galat + + + Writing the database failed. + Gagal menyimpan basis data. + PasswordGeneratorWidget @@ -1131,15 +1192,15 @@ Error writing to underlying device: - + Terjadi kesalahan saat menyimpan ke perangkat: Error opening underlying device: - + Terjadi kesalahan saat membuka perangkat: Error reading data from underlying device: - + Terjadi kesalahan saat membaca data dari perangkat: Internal zlib error when decompressing: diff -Nru keepassx-2.0.2/share/translations/keepassx_it.ts keepassx-2.0.3/share/translations/keepassx_it.ts --- keepassx-2.0.2/share/translations/keepassx_it.ts 2016-02-02 00:22:48.000000000 +0000 +++ keepassx-2.0.3/share/translations/keepassx_it.ts 2016-09-04 15:57:47.000000000 +0000 @@ -172,6 +172,43 @@ + DatabaseRepairWidget + + Repair database + Ripara database + + + Error + Errore + + + Can't open key file + Impossibile aprire il file chiave + + + Database opened fine. Nothing to do. + Database aperto correttamente. Nessuna operazione da eseguire. + + + Unable to open the database. + Impossibile aprire il database + + + Success + Successo + + + The database has been successfully repaired +You can now save it. + Il database è stato riparato con successo +Adesso puoi salvarlo. + + + Unable to repair the database. + Impossibile riparare il database + + + DatabaseSettingsWidget Database name: @@ -1021,6 +1058,30 @@ Export to CSV file Esporta in un file CSV + + Repair database + Ripara database + + + KeePass 2 Database + Database KeePass 2 + + + All files + Tutti i file + + + Save repaired database + Salva il database riparato + + + Error + Errore + + + Writing the database failed. + Scrittura del database non riuscita. + PasswordGeneratorWidget diff -Nru keepassx-2.0.2/share/translations/keepassx_ja.ts keepassx-2.0.3/share/translations/keepassx_ja.ts --- keepassx-2.0.2/share/translations/keepassx_ja.ts 2016-02-02 00:22:48.000000000 +0000 +++ keepassx-2.0.3/share/translations/keepassx_ja.ts 2016-09-04 15:57:47.000000000 +0000 @@ -9,6 +9,14 @@ KeePassX is distributed under the term of the GNU General Public License (GPL) version 2 or (at your option) version 3. KeePassXはGNU General Public License (GPL) version 2 または version 3 (どちらかを選択)の条件で配布されます。 + + Revision + リビジョン + + + Using: + 利用中: + AutoType @@ -18,7 +26,7 @@ Couldn't find an entry that matches the window title: - + ウィンドウタイトルに一致するエントリーが見つかりませんでした: @@ -29,11 +37,11 @@ Sequence - + シーケンス Default sequence - + デフォルトのシーケンス @@ -44,7 +52,7 @@ Select entry to Auto-Type: - + 自動入力するエントリーを選択してください: @@ -107,16 +115,17 @@ Different passwords supplied. - + 異なるパスワードが入力されました。 Failed to set key file - + キーファイルのセットに失敗しました Failed to set %1 as the Key file: %2 - + %1 をキーファイルとしてセットできませんでした: +%2 @@ -147,7 +156,7 @@ Can't open key file - キーファイルを開けませんでした。 + キーファイルを開けませんでした All files @@ -163,6 +172,43 @@ + DatabaseRepairWidget + + Repair database + データベースを修復する + + + Error + エラー + + + Can't open key file + キーファイルを開けませんでした + + + Database opened fine. Nothing to do. + データベースは正常に開かれています。行うべきことはありません。 + + + Unable to open the database. + データベースを開けませんでした。 + + + Success + 成功 + + + The database has been successfully repaired +You can now save it. + データベースは正常に修復されました +データベースの保存を行ってください。 + + + Unable to repair the database. + データベースを修復できませんでした。 + + + DatabaseSettingsWidget Database name: @@ -205,7 +251,7 @@ DatabaseTabWidget Root - + ルート KeePass 2 Database @@ -286,35 +332,46 @@ Can't lock the database as you are currently editing it. Please press cancel to finish your changes or discard them. - + 現在編集中のため、データベースをロックすることができませんでした。 +キャンセルボタンを押し、変更を完了させるか破棄してください。 This database has never been saved. You can save the database or stop locking it. - + このデータベースは一度も保存されていません。 +データベースを保存してロックを解除してください。 This database has been modified. Do you want to save the database before locking it? Otherwise your changes are lost. - + このデータベースは変更されました。 +ロックを行う前にデータベースを保存しますか? +保存しない場合には変更点は失われます。 "%1" is in edit mode. Discard changes and close anyway? - + "%1" は現在編集モードです。 +変更を破棄して閉じてしまってもよろしいですか? Export database to CSV file - + データベースをCSVファイルにエクスポートする CSV file - + CSVファイル Writing the CSV file failed. - + CSVファイルの書き込みに失敗しました。 + + + The database you are trying to save as is locked by another instance of KeePassX. +Do you want to save it anyway? + 保存しようとしたデータベースは別のKeePassXプログラムからロックされています。 +とにかく保存しますか? @@ -329,7 +386,7 @@ Do you really want to delete the entry "%1" for good? - + 本当にエントリー "%1" を永遠に消去しますか? Delete entries? @@ -337,7 +394,7 @@ Do you really want to delete %1 entries for good? - + 本当に %1 個のエントリーを永遠に消去しますか? Move entries to recycle bin? @@ -412,7 +469,7 @@ Different passwords supplied. - + 異なるパスワードが入力されました。 New attribute @@ -442,11 +499,11 @@ %n week(s) - %s週間() + %n週間 %n month(s) - %nヶ月() + %nヶ月 1 year @@ -496,7 +553,7 @@ Use custom Auto-Type sequence: - カスタムの自動入力手順を使う + カスタムの自動入力手順を使う: + @@ -546,7 +603,7 @@ Username: - ユーザ名 + ユーザ名: Password: @@ -679,7 +736,7 @@ Can't delete icon. Still used by %n item(s). - %s個のアイテム()から使われているので、アイコンを削除できません。 + %n個のアイテムから使われているので、アイコンを削除できません。 @@ -705,7 +762,7 @@ EntryAttributesModel Name - + 名前 @@ -813,6 +870,16 @@ Unable to calculate master key マスターキーを計算できません + + The selected file is an old KeePass 1 database (.kdb). + +You can import it by clicking on Database > 'Import KeePass 1 database'. +This is a one-way migration. You won't be able to open the imported database with the old KeePassX 0.4 version. + 選択されたファイルは古い KeePass 1 のデータベース (.kdb) です。 + +データベース > 'KeePass 1 データベースをインポート' をクリックすることでインポートできます。 +これは一方向の移行操作であり、インポートされたデータベースは古い KeePassX 0.4 のバージョンでは開くことはできません。 + Main @@ -973,7 +1040,7 @@ Toggle window - + ウィンドウ切替 Tools @@ -981,15 +1048,39 @@ Copy username - + ユーザ名をコピー Copy password - + パスワードをコピー Export to CSV file - + CSVファイルへエクスポート + + + Repair database + データベースを修復する + + + KeePass 2 Database + KeePass 2 データベース + + + All files + 全てのファイル + + + Save repaired database + 修復されたデータベースを保存する + + + Error + エラー + + + Writing the database failed. + データベースの書き込みに失敗しました。 @@ -1039,11 +1130,11 @@ QCommandLineParser Displays version information. - バージョン情報を表示する + バージョン情報を表示する。 Displays this help. - このヘルプを表示する + このヘルプを表示する。 Unknown option '%1'. @@ -1082,7 +1173,7 @@ QSaveFile Existing file %1 is not writable - 存在するファイル %1 は書き込みできません。 + 存在するファイル %1 は書き込みできません Writing canceled by application @@ -1090,14 +1181,14 @@ Partial write. Partition full? - + 一部しか書き込めませんでした。パーティションがいっぱいかも? QtIOCompressor Internal zlib error when compressing: - 圧縮時に内部zlibエラーが発生しました + 圧縮時に内部zlibエラーが発生しました: Error writing to underlying device: @@ -1113,7 +1204,7 @@ Internal zlib error when decompressing: - 解凍時に内部zlibエラーが発生しました + 解凍時に内部zlibエラーが発生しました: @@ -1193,7 +1284,7 @@ Use entry title to match windows for global auto-type - + グローバル自動入力の際に、エントリーのタイトルとウィンドウのマッチングを行う Language @@ -1205,7 +1296,7 @@ Hide window to system tray when minimized - + 最小化された際にシステムトレイへ格納する Remember last key files @@ -1261,11 +1352,7 @@ path to a custom config file - - - - password of the database (DANGEROUS!) - データベースのパスワード (危険!) + カスタム設定ファイルへのパス key file of the database diff -Nru keepassx-2.0.2/share/translations/keepassx_ko.ts keepassx-2.0.3/share/translations/keepassx_ko.ts --- keepassx-2.0.2/share/translations/keepassx_ko.ts 2016-02-02 00:22:48.000000000 +0000 +++ keepassx-2.0.3/share/translations/keepassx_ko.ts 2016-09-04 15:57:47.000000000 +0000 @@ -13,6 +13,10 @@ Revision 리비전 + + Using: + 사용: + AutoType @@ -167,6 +171,43 @@ + DatabaseRepairWidget + + Repair database + 데이터베이스 복구 + + + Error + 오류 + + + Can't open key file + 키 파일을 열 수 없음 + + + Database opened fine. Nothing to do. + 데이터베이스를 열었습니다. 할 일이 없습니다. + + + Unable to open the database. + 데이터베이스를 열 수 없습니다. + + + Success + 성공 + + + The database has been successfully repaired +You can now save it. + 데이터베이스를 복구했습니다 +이제 저장할 수 있습니다. + + + Unable to repair the database. + 데이터베이스를 복구할 수 없습니다. + + + DatabaseSettingsWidget Database name: @@ -826,6 +867,16 @@ Unable to calculate master key 마스터 키를 계산할 수 없습니다 + + The selected file is an old KeePass 1 database (.kdb). + +You can import it by clicking on Database > 'Import KeePass 1 database'. +This is a one-way migration. You won't be able to open the imported database with the old KeePassX 0.4 version. + 선택한 파일은 KeePass 1 데이터베이스(.kdb)입니다. + +데이터베이스 > 'KeePass 1 데이터베이스 가져오기' 항목을 선택해서 변환해야 합니다. +변환은 한 방향으로만 이루어지며, 가져온 데이터베이스는 KeePassX 0.4 버전으로 더 이상 열 수 없습니다. + Main @@ -1004,6 +1055,30 @@ Export to CSV file CSV 파일로 내보내기 + + Repair database + 데이터베이스 복구 + + + KeePass 2 Database + KeePass 2 데이터베이스 + + + All files + 모든 파일 + + + Save repaired database + 복구한 데이터베이스 저장 + + + Error + 오류 + + + Writing the database failed. + 데이터베이스에 쓸 수 없습니다. + PasswordGeneratorWidget diff -Nru keepassx-2.0.2/share/translations/keepassx_lt.ts keepassx-2.0.3/share/translations/keepassx_lt.ts --- keepassx-2.0.2/share/translations/keepassx_lt.ts 2016-02-02 00:22:48.000000000 +0000 +++ keepassx-2.0.3/share/translations/keepassx_lt.ts 2016-09-04 15:57:47.000000000 +0000 @@ -13,12 +13,16 @@ Revision Poversijis + + Using: + Naudojama: + AutoType Auto-Type - KeePassX - Automatinis Rinkimas - KeePassX + Automatinis rinkimas - KeePassX Couldn't find an entry that matches the window title: @@ -44,11 +48,11 @@ AutoTypeSelectDialog Auto-Type - KeePassX - Automatinis Rinkimas - KeePassX + Automatinis rinkimas - KeePassX Select entry to Auto-Type: - Pasirinkite įrašą Automatiniam Rinkimui: + Pasirinkite įrašą automatiniam rinkimui: @@ -59,7 +63,7 @@ Enter password: - Įveskite slaptažodį: + Įrašykite slaptažodį: Repeat password: @@ -87,7 +91,7 @@ Create Key File... - Sukurti Rakto Failą... + Sukurti rakto failą... Error @@ -95,7 +99,7 @@ Unable to create Key File : - Nepavyko sukurti Rakto Failo : + Nepavyko sukurti rakto failo : Select a key file @@ -120,7 +124,7 @@ Failed to set %1 as the Key file: %2 - Nepavyko nustatyti %1 kaip Rakto failą: + Nepavyko nustatyti %1 kaip rakto failą: %2 @@ -132,7 +136,7 @@ Key File: - Rakto Failas: + Rakto failas: Password: @@ -168,6 +172,43 @@ + DatabaseRepairWidget + + Repair database + Taisyti duomenų bazę + + + Error + Klaida + + + Can't open key file + Nepavyksta atverti rakto failo + + + Database opened fine. Nothing to do. + Duomenų bazė atsivėrė tvarkingai. Nėra ką atlikti. + + + Unable to open the database. + Nepavyko atverti duomenų bazės. + + + Success + Pavyko + + + The database has been successfully repaired +You can now save it. + Duomenų bazė buvo sėkmingai pataisyta +Dabar galite ją įrašyti. + + + Unable to repair the database. + Duomenų bazės pataisyti nepavyko. + + + DatabaseSettingsWidget Database name: @@ -214,7 +255,7 @@ KeePass 2 Database - KeePass 2 Duomenų Bazė + KeePass 2 duomenų bazė All files @@ -400,7 +441,7 @@ Auto-Type - Automatinis Rinkimas + Automatinis rinkimas Properties @@ -504,15 +545,15 @@ EditEntryWidgetAutoType Enable Auto-Type for this entry - Įjungti šiam įrašui Automatinį Rinkimą + Įjungti šiam įrašui automatinį rinkimą Inherit default Auto-Type sequence from the group - Paveldėti numatytąją Automatinio Rinkimo seką iš grupės + Paveldėti numatytąją automatinio rinkimo seką iš grupės Use custom Auto-Type sequence: - Naudoti tinkintą Automatinio Rinkimo seka: + Naudoti tinkintą automatinio rinkimo seka: + @@ -687,7 +728,7 @@ Select Image - Pasirinkite Paveikslą + Pasirinkite paveikslą Can't delete icon! @@ -829,6 +870,16 @@ Unable to calculate master key Nepavyko apskaičiuoti pagrindinio rakto + + The selected file is an old KeePass 1 database (.kdb). + +You can import it by clicking on Database > 'Import KeePass 1 database'. +This is a one-way migration. You won't be able to open the imported database with the old KeePassX 0.4 version. + Pasirinktas failas yra sena KeePass 1 duomenų bazė (.kdb). + +Jūs galite ją importuoti, nuspausdami Duomenų bazė > "Importuoti KeePass 1 duomenų bazę". +Tai yra vienakryptis perkėlimas. Jūs negalėsite atverti importuotos duomenų bazės, naudodami senąją KeePassX 0.4 versija. + Main @@ -957,7 +1008,7 @@ Perform Auto-Type - Atlikti Automatinį Rinkimą + Atlikti automatinį rinkimą Open URL @@ -1007,6 +1058,30 @@ Export to CSV file Eksportuoti į CSV failą + + Repair database + Taisyti duomenų bazę + + + KeePass 2 Database + KeePass 2 duomenų bazė + + + All files + Visi failai + + + Save repaired database + Įrašyti pataisytą duomenų bazę + + + Error + Klaida + + + Writing the database failed. + Duomenų bazės rašymas nepavyko. + PasswordGeneratorWidget @@ -1020,15 +1095,15 @@ Character Types - Simbolių Tipai + Simbolių tipai Upper Case Letters - Viršutinio Registro Raidės + Viršutinio registro raidės Lower Case Letters - Apatinio Registro Raidės + Apatinio registro raidės Numbers @@ -1036,7 +1111,7 @@ Special Characters - Specialūs Simboliai + Specialūs simboliai Exclude look-alike characters @@ -1166,7 +1241,7 @@ SettingsWidget Application Settings - Programos Nustatymai + Programos nustatymai General @@ -1205,7 +1280,7 @@ Global Auto-Type shortcut - Visuotinis Automatinio Rinkimo spartusis klavišas + Visuotinis automatinio rinkimo spartusis klavišas Use entry title to match windows for global auto-type diff -Nru keepassx-2.0.2/share/translations/keepassx_nl_NL.ts keepassx-2.0.3/share/translations/keepassx_nl_NL.ts --- keepassx-2.0.2/share/translations/keepassx_nl_NL.ts 2016-02-02 00:22:48.000000000 +0000 +++ keepassx-2.0.3/share/translations/keepassx_nl_NL.ts 2016-09-04 15:57:47.000000000 +0000 @@ -13,6 +13,10 @@ Revision Revisie + + Using: + Maakt gebruik van: + AutoType @@ -168,6 +172,43 @@ + DatabaseRepairWidget + + Repair database + Database repareren + + + Error + Fout + + + Can't open key file + Niet mogelijk om het sleutelbestand te openen + + + Database opened fine. Nothing to do. + Database werd zonder problemen geopend. Niets te doen. + + + Unable to open the database. + Niet mogelijk om de database te openen. + + + Success + Gelukt + + + The database has been successfully repaired +You can now save it. + De database is met succes gerepareerd +U kunt deze nu opslaan. + + + Unable to repair the database. + Niet mogelijk om de database te repareren. + + + DatabaseSettingsWidget Database name: @@ -829,6 +870,16 @@ Unable to calculate master key Niet mogelijk om hoofdsleutel te berekenen + + The selected file is an old KeePass 1 database (.kdb). + +You can import it by clicking on Database > 'Import KeePass 1 database'. +This is a one-way migration. You won't be able to open the imported database with the old KeePassX 0.4 version. + Het gekozen bestand is een oude KeePass 1 database (.kdb). + +U kunt het importeren door te klikken op Database > 'KeePass 1 database importeren'. +Deze actie is niet omkeerbaar. U kunt de geimporteerde database niet meer openen met KeePassX 0.4. + Main @@ -1007,6 +1058,30 @@ Export to CSV file Naar CSV-bestand exporteren + + Repair database + Database repareren + + + KeePass 2 Database + KeePass 2 Database + + + All files + Alle bestanden + + + Save repaired database + Gerepareerde database opslaan + + + Error + Fout + + + Writing the database failed. + Opslaan van de database is mislukt. + PasswordGeneratorWidget @@ -1197,7 +1272,7 @@ Minimize when copying to clipboard - Minimaliseer bij kopieeren naar klembord + Minimaliseer bij kopiëren naar klembord Use group icon on entry creation diff -Nru keepassx-2.0.2/share/translations/keepassx_pl.ts keepassx-2.0.3/share/translations/keepassx_pl.ts --- keepassx-2.0.2/share/translations/keepassx_pl.ts 2016-02-02 00:22:48.000000000 +0000 +++ keepassx-2.0.3/share/translations/keepassx_pl.ts 2016-09-04 15:57:47.000000000 +0000 @@ -13,6 +13,10 @@ Revision Rewizja + + Using: + Używanie: + AutoType @@ -22,7 +26,7 @@ Couldn't find an entry that matches the window title: - + Nie mogę znaleźć wpisu, który by pasował do tytułu okna: @@ -95,7 +99,7 @@ Unable to create Key File : - Nie można utworzyć pliku klucza + Nie można utworzyć pliku klucza : Select a key file @@ -111,16 +115,17 @@ Different passwords supplied. - + Podano różne hasła. Failed to set key file - + Błąd w ustawianiu pliku z kluczem Failed to set %1 as the Key file: %2 - + Błąd w ustawieniu %1 jako plik klucza: +%2 @@ -167,6 +172,43 @@ + DatabaseRepairWidget + + Repair database + Napraw bazę + + + Error + Błąd + + + Can't open key file + Nie mogę otworzyć pliku z kluczem + + + Database opened fine. Nothing to do. + Pomyślnie otworzono bazę. Nic do zrobienia. + + + Unable to open the database. + Nie można otworzyć bazy kluczy. + + + Success + Sukces + + + The database has been successfully repaired +You can now save it. + Baza została naprawiona +Możesz teraz ją już zapisać. + + + Unable to repair the database. + Nie mogę naprawić bazę. + + + DatabaseSettingsWidget Database name: @@ -174,7 +216,7 @@ Database description: - Opis bazy danych + Opis bazy danych: Transform rounds: @@ -198,11 +240,11 @@ Max. history items: - + Max. ilość wpisów w historii: Max. history size: - + Max. rozmiar historii: @@ -237,24 +279,25 @@ KeePass 1 database - Baza danych KeePass1 + Baza danych KeePass 1 All files (*) - Wszystkie pliki(*) + Wszystkie pliki (*) Close? - Zamknąć ? + Zamknąć? Save changes? - Zapisać zmiany ? + Zapisać zmiany? "%1" was modified. Save changes? - "%1" został zmieniony. Zapisać zmiany ? + "%1" został zmieniony. +Zapisać zmiany? Error @@ -274,12 +317,13 @@ locked - plik CSV + zablokowana The database you are trying to open is locked by another instance of KeePassX. Do you want to open it anyway? Alternatively the database is opened read-only. - + Baza, którą próbujesz otworzyć, jest zablokowana przez inną instancję KeePassX. +Czy chcesz ją otworzyć pomimo tego? Inaczej baza będzie otwarta tylko do odczytu. Lock database @@ -288,23 +332,28 @@ Can't lock the database as you are currently editing it. Please press cancel to finish your changes or discard them. - + Nie można zablokować bazy, którą edytujesz. +Naciśnij anuluj, aby zakończyć zmiany albo porzucić je. This database has never been saved. You can save the database or stop locking it. - + Baza nie została nigdy zapisana. +Możesz ją zapisać albo przestać blokować. This database has been modified. Do you want to save the database before locking it? Otherwise your changes are lost. - + Baza została zmodyfikowana. +Czy chcesz zapisać przed zablokowaniem jej? +W przeciwnym wypadku zmiany zostaną porzucone. "%1" is in edit mode. Discard changes and close anyway? - + "%1" jest w trybie edytowania. +Odrzucić zmiany i zamknąć? Export database to CSV file @@ -321,7 +370,8 @@ The database you are trying to save as is locked by another instance of KeePassX. Do you want to save it anyway? - + Baza, którą próbujesz zapisać jest zablokowana przez inną instancję KeePassX. +Czy chcesz zapisać mimo to? @@ -352,7 +402,7 @@ Do you really want to move %n entry(s) to the recycle bin? - + Czy na pewno chcesz przenieść %n wpis do kosza?Czy na pewno chcesz przenieść %n wpisów do kosza?Czy na pewno chcesz przenieść %n wpisów do kosza? Delete group? @@ -407,7 +457,7 @@ Add entry - Nowy wpis + Dodaj wpis Edit entry @@ -419,7 +469,7 @@ Different passwords supplied. - + Podano różne hasła. New attribute @@ -565,7 +615,7 @@ Gen. - + Gen. URL: @@ -577,7 +627,7 @@ Presets - + Prezentuje Notes: @@ -686,7 +736,7 @@ Can't delete icon. Still used by %n item(s). - + Nie mogę usunąć ikony. Nadal używana przez %n wpis.Nie mogę usunąć ikony. Nadal używana przez %n wpisów.Nie mogę usunąć ikony. Nadal używana przez %n wpisów. @@ -820,6 +870,16 @@ Unable to calculate master key Nie mogę wyliczyć głównego klucza + + The selected file is an old KeePass 1 database (.kdb). + +You can import it by clicking on Database > 'Import KeePass 1 database'. +This is a one-way migration. You won't be able to open the imported database with the old KeePassX 0.4 version. + Wybrany plik jest bazą starego KeePassX 1 (.kdb). + +Możesz zaimportować ją przez wybranie Baza > 'Importuj bazę danych KeePass 1'. +Nie będzie można skonwertować nowej bazy do starego programu KeePassX 0.4. + Main @@ -980,7 +1040,7 @@ Toggle window - + Pokaż/ukryj okno Tools @@ -998,6 +1058,30 @@ Export to CSV file Eksport do pliku CSV + + Repair database + Napraw bazę + + + KeePass 2 Database + Baza KeePass 2 + + + All files + Wszystkie pliki + + + Save repaired database + Zapisz naprawioną bazę + + + Error + Błąd + + + Writing the database failed. + Błąd przy zapisie bazy. + PasswordGeneratorWidget @@ -1011,7 +1095,7 @@ Character Types - + Typy znaków Upper Case Letters @@ -1035,7 +1119,7 @@ Ensure that the password contains characters from every group - + Zapewnij, że hasło będzie zawierało znaki ze wszystkich grup Accept @@ -1074,7 +1158,7 @@ Usage: %1 - + Używanie: %1 Options: @@ -1089,7 +1173,7 @@ QSaveFile Existing file %1 is not writable - + Istniejący plik %1 jest nie do zapisu Writing canceled by application @@ -1097,7 +1181,7 @@ Partial write. Partition full? - + Częściowy zapis. Pełny dysk? @@ -1108,15 +1192,15 @@ Error writing to underlying device: - + Błąd w zapisie na urządzenie: Error opening underlying device: - + Błąd w otwieraniu z urządzenia: Error reading data from underlying device: - + Błąd w odczycie danych z urządzenia: Internal zlib error when decompressing: @@ -1150,7 +1234,7 @@ Root group - + Główna grupa @@ -1200,7 +1284,7 @@ Use entry title to match windows for global auto-type - + Wykorzystaj tytuł wpisu do dopasowania dla globalnego auto-wpisywania Language @@ -1227,7 +1311,7 @@ sec - + s Lock databases after inactivity of @@ -1260,15 +1344,15 @@ main KeePassX - cross-platform password manager - + KeePassX - wieloplatformowy menadżer haseł filename of the password database to open (*.kdbx) - + nazwa pliku z bazą haseł do otwarcia (*.kdbx) path to a custom config file - + ścieżka do pliku z ustawieniami key file of the database diff -Nru keepassx-2.0.2/share/translations/keepassx_pt_BR.ts keepassx-2.0.3/share/translations/keepassx_pt_BR.ts --- keepassx-2.0.2/share/translations/keepassx_pt_BR.ts 2016-02-02 00:22:48.000000000 +0000 +++ keepassx-2.0.3/share/translations/keepassx_pt_BR.ts 2016-09-04 15:57:47.000000000 +0000 @@ -11,7 +11,11 @@ Revision - + Revisão + + + Using: + Usando: @@ -22,7 +26,7 @@ Couldn't find an entry that matches the window title: - Não foi possível encontrar uma entrada que corresponda ao título da janela: + Não foi possível localizar uma entrada que corresponda ao título da janela: @@ -95,7 +99,7 @@ Unable to create Key File : - Não foi possível criar o Arquivo-Chave : + Não foi possível criar o Arquivo-Chave : Select a key file @@ -168,14 +172,51 @@ + DatabaseRepairWidget + + Repair database + Reparar banco de dados + + + Error + Erro + + + Can't open key file + Não foi possível abrir arquivo-chave + + + Database opened fine. Nothing to do. + Banco de dados aberto com sucesso. Nada para fazer. + + + Unable to open the database. + Não foi possível abrir o banco de dados. + + + Success + Sucesso + + + The database has been successfully repaired +You can now save it. + O banco de dados foi reparado com sucesso +Você pode salvá-lo agora. + + + Unable to repair the database. + Não foi possível reparar o banco de dados. + + + DatabaseSettingsWidget Database name: - Nome do Banco de Dados: + Nome do banco de dados: Database description: - Descrição do Banco de Dados: + Descrição do banco de dados: Transform rounds: @@ -191,7 +232,7 @@ MiB - MB + MB Benchmark @@ -199,18 +240,18 @@ Max. history items: - Máx. Itens no histórico: + Máx. itens no histórico: Max. history size: - Tamanho Máx. do histórico: + Tamanho máx. do histórico: DatabaseTabWidget Root - Raíz + Raiz KeePass 2 Database @@ -230,7 +271,7 @@ File not found! - Arquivo não encontrado! + Arquivo não localizado! Open KeePass 1 database @@ -238,7 +279,7 @@ KeePass 1 database - banco de dados KeePass 1 + Banco de dados KeePass 1 All files (*) @@ -276,13 +317,13 @@ locked - Trancado + trancado The database you are trying to open is locked by another instance of KeePassX. Do you want to open it anyway? Alternatively the database is opened read-only. O banco de dados que você está tentando abrir está bloqueado por outra instância do KeePassX. -Você quer abri-lo de qualquer forma? Alternativamente o banco de dados é aberto como somente leitura. +Você quer abri-lo de qualquer forma? Alternativamente, o banco de dados é aberto como somente leitura. Lock database @@ -292,23 +333,27 @@ Can't lock the database as you are currently editing it. Please press cancel to finish your changes or discard them. Não é possível trancar o banco de dados uma vez que você o está editando. -Por favor aperte cancelar para finalizar suas alterações ou descartá-las. +Por favor, aperte cancelar para finalizar suas alterações ou descartá-las. This database has never been saved. You can save the database or stop locking it. - + Esse banco de dados nunca foi salvo. +Você pode salvar o banco de dados ou parar de trancá-lo. This database has been modified. Do you want to save the database before locking it? Otherwise your changes are lost. - + Esse banco de dados foi modificado. +Você deseja salvar o banco de dados antes de travá-lo? +Do contrário, suas alterações serão perdidas. "%1" is in edit mode. Discard changes and close anyway? - + "%1" está em modo de edição. +Descartar alterações e fechar mesmo assim? Export database to CSV file @@ -325,7 +370,8 @@ The database you are trying to save as is locked by another instance of KeePassX. Do you want to save it anyway? - + O banco de dados que você está tentando salvar como está travado por uma outra instância de KeePassX. +Você deseja salvá-lo mesmo assim? @@ -356,7 +402,7 @@ Do you really want to move %n entry(s) to the recycle bin? - + Você realmente deseja mover %n entrada para a lixeira?Você realmente deseja mover %n entradas para a lixeira? Delete group? @@ -565,7 +611,7 @@ Repeat: - Repetir + Repetir: Gen. @@ -577,7 +623,7 @@ Expires - Expira em: + Expira em Presets @@ -647,18 +693,18 @@ Use default auto-type sequence of parent group - + Usar sequência de auto-digitação padrão do grupo pai Set default auto-type sequence - + Definir sequência auto-digitação padrão EditWidgetIcons Use default icon - Usar Ícone padrão + Usar ícone padrão Use custom icon @@ -690,7 +736,7 @@ Can't delete icon. Still used by %n item(s). - Não é possível apagar o ícone. Ainda usado por %n item.Não é possível apagar o ícone. Ainda usado por %n item(s). + Não é possível apagar o ícone. Ainda usado por %n item.Não é possível apagar o ícone. Ainda usado por %n itens. @@ -818,18 +864,28 @@ Wrong key or database file is corrupt. - + Chave errada ou arquivo de banco de dados está corrompido. Unable to calculate master key - + Não foi possível calcular a chave mestre + + + The selected file is an old KeePass 1 database (.kdb). + +You can import it by clicking on Database > 'Import KeePass 1 database'. +This is a one-way migration. You won't be able to open the imported database with the old KeePassX 0.4 version. + O arquivo selecionado é um banco de dados antigo do KeePass 1 (.kdb). + +Você pode importá-lo clicando em Banco de Dados > 'Importar banco de dados KeePass 1'. +Esta é uma migração de uma via. Você não poderá abrir o banco de dados importado com a versão antiga do KeePassX 0.4. Main Fatal error while testing the cryptographic functions. - + Erro fatal enquanto testava as funções criptográficas. KeePassX - Error @@ -936,7 +992,7 @@ Find - Encontrar + Localizar Copy username to clipboard @@ -1002,6 +1058,30 @@ Export to CSV file Exportar para arquivo CSV + + Repair database + Reparar banco de dados + + + KeePass 2 Database + Banco de dados Keepass 2 + + + All files + Todos arquivos + + + Save repaired database + Salvar banco de dados reparado + + + Error + Erro + + + Writing the database failed. + Escrita do banco de dados falhou. + PasswordGeneratorWidget @@ -1108,45 +1188,45 @@ QtIOCompressor Internal zlib error when compressing: - Erro interno do zlib ao compactar: + Erro interno do zlib ao compactar: Error writing to underlying device: - Erro ao gravar no dispositivo subjacente: + Erro ao gravar no dispositivo subjacente: Error opening underlying device: - Erro ao abrir dispositivo subjacente: + Erro ao abrir dispositivo subjacente: Error reading data from underlying device: - + Erro ao ler dados do dispositivo subjacente: Internal zlib error when decompressing: - + Erro interno do zlib ao descompactar: QtIOCompressor::open The gzip format not supported in this version of zlib. - + Sem suporte ao formato gzip nesta versão do zlib. Internal zlib error: - Erro interno do zlib: + Erro interno do zlib: SearchWidget Find: - Encontrar: + Localizar: Case sensitive - diferenciar maiúsculas e minúsculas + Diferenciar maiúsculas e minúsculas Current group @@ -1154,7 +1234,7 @@ Root group - Grupo Raíz + Grupo Raiz @@ -1196,15 +1276,15 @@ Use group icon on entry creation - + Usar ícone de grupo na criação da entrada Global Auto-Type shortcut - + Atalho para Auto-Digitação Global Use entry title to match windows for global auto-type - + Usar título da entrada para comparar janelas para auto-digitação global Language @@ -1216,34 +1296,34 @@ Hide window to system tray when minimized - + Ocultar janela na bandeja de sistema quando minimizada Remember last key files - + Lembrar dos últimos arquivos-chave SettingsWidgetSecurity Clear clipboard after - + Limpar área de transferência após sec - + seg Lock databases after inactivity of - + Travar bancos de dados após inatividade de Show passwords in cleartext by default - + Mostrar senhas em texto claro por padrão Always ask before performing auto-type - + Sempre perguntar antes de realizar auto-digitação @@ -1257,26 +1337,26 @@ WelcomeWidget Welcome! - Bemvindo! + Bem-vindo! main KeePassX - cross-platform password manager - KeePassX - gerenciador de senhas Multiplataforma + KeePassX - gerenciador de senhas multiplataforma filename of the password database to open (*.kdbx) - + nome de arquivo do banco de dados de senhas a ser aberto (*.kdbx) path to a custom config file - + caminho para um arquivo de configuração personalizado key file of the database - + arquivo-chave do banco de dados \ No newline at end of file diff -Nru keepassx-2.0.2/share/translations/keepassx_pt_PT.ts keepassx-2.0.3/share/translations/keepassx_pt_PT.ts --- keepassx-2.0.2/share/translations/keepassx_pt_PT.ts 2016-02-02 00:22:48.000000000 +0000 +++ keepassx-2.0.3/share/translations/keepassx_pt_PT.ts 2016-09-04 15:57:47.000000000 +0000 @@ -9,6 +9,14 @@ KeePassX is distributed under the term of the GNU General Public License (GPL) version 2 or (at your option) version 3. KeePassX é distribuído sob os termos GNU de licença pública geral (GPL) versão 2 ou (á sua escolha) versão 3. + + Revision + + + + Using: + + AutoType @@ -164,6 +172,42 @@ + DatabaseRepairWidget + + Repair database + + + + Error + + + + Can't open key file + + + + Database opened fine. Nothing to do. + + + + Unable to open the database. + + + + Success + + + + The database has been successfully repaired +You can now save it. + + + + Unable to repair the database. + + + + DatabaseSettingsWidget Database name: @@ -322,6 +366,11 @@ Writing the CSV file failed. Falha na escrita do ficheiro CSV + + The database you are trying to save as is locked by another instance of KeePassX. +Do you want to save it anyway? + + DatabaseWidget @@ -818,6 +867,13 @@ Unable to calculate master key Impossível calcular chave mestra: + + The selected file is an old KeePass 1 database (.kdb). + +You can import it by clicking on Database > 'Import KeePass 1 database'. +This is a one-way migration. You won't be able to open the imported database with the old KeePassX 0.4 version. + + Main @@ -996,6 +1052,30 @@ Export to CSV file Exportar para ficheiro CSV + + Repair database + + + + KeePass 2 Database + + + + All files + + + + Save repaired database + + + + Error + + + + Writing the database failed. + + PasswordGeneratorWidget @@ -1269,10 +1349,6 @@ caminho para um ficheiro de configuração personalizado - password of the database (DANGEROUS!) - senha da base de dados (PERIGOSO !) - - key file of the database ficheiro chave da base de dados diff -Nru keepassx-2.0.2/share/translations/keepassx_ru.ts keepassx-2.0.3/share/translations/keepassx_ru.ts --- keepassx-2.0.2/share/translations/keepassx_ru.ts 2016-02-02 00:22:48.000000000 +0000 +++ keepassx-2.0.3/share/translations/keepassx_ru.ts 2016-09-04 15:57:47.000000000 +0000 @@ -13,6 +13,10 @@ Revision Ревизия + + Using: + С помощью: + AutoType @@ -168,6 +172,43 @@ + DatabaseRepairWidget + + Repair database + Восстановление хранилища + + + Error + Ошибка + + + Can't open key file + Не могу открыть файл-ключ + + + Database opened fine. Nothing to do. + + + + Unable to open the database. + Невозможно открыть хранилище. + + + Success + Успешно + + + The database has been successfully repaired +You can now save it. + Хранилище было восстановлено. +Теперь Вы можете сохранить его. + + + Unable to repair the database. + Невозможно восстановить хранилище. + + + DatabaseSettingsWidget Database name: @@ -290,12 +331,14 @@ Can't lock the database as you are currently editing it. Please press cancel to finish your changes or discard them. - + Невозможно заблокировать базу данных, так как вы в настоящее время редактируете её. +Пожалуйста нажмите Отмена, чтобы завершить свои изменения или отклонить их. This database has never been saved. You can save the database or stop locking it. - + Эта база данных никогда не была сохранена. +Вы можете сохранить базу данных или остановить её заблокированной. This database has been modified. @@ -571,7 +614,7 @@ Gen. - + Генеральный. URL: @@ -649,11 +692,11 @@ Use default auto-type sequence of parent group - + Используйте стандартный автоввод из последовательности родительской группы Set default auto-type sequence - + Последовательность автоввода указать по умолчанию @@ -826,6 +869,16 @@ Unable to calculate master key Невозможно вычислить мастер-пароль + + The selected file is an old KeePass 1 database (.kdb). + +You can import it by clicking on Database > 'Import KeePass 1 database'. +This is a one-way migration. You won't be able to open the imported database with the old KeePassX 0.4 version. + Выбранный файл от старой KeePass 1 базы данных (.kdb). + +Вы можете импортировать его, нажав на База Данных > 'Импорт KeePass 1 базы данных'. +Это одностороннее перемещение. Вы не сможете открыть импортированный базу данных на старой версии KeePassX 0,4. + Main @@ -1004,6 +1057,30 @@ Export to CSV file Экспортировать в файл CSV + + Repair database + Восстановление хранилища + + + KeePass 2 Database + + + + All files + Все файлы + + + Save repaired database + Сохранить восстановленное хранилище + + + Error + Ошибка + + + Writing the database failed. + + PasswordGeneratorWidget diff -Nru keepassx-2.0.2/share/translations/keepassx_sl_SI.ts keepassx-2.0.3/share/translations/keepassx_sl_SI.ts --- keepassx-2.0.2/share/translations/keepassx_sl_SI.ts 2016-02-02 00:22:48.000000000 +0000 +++ keepassx-2.0.3/share/translations/keepassx_sl_SI.ts 2016-09-04 15:57:47.000000000 +0000 @@ -13,6 +13,10 @@ Revision + + Using: + + AutoType @@ -168,6 +172,42 @@ + DatabaseRepairWidget + + Repair database + + + + Error + + + + Can't open key file + + + + Database opened fine. Nothing to do. + + + + Unable to open the database. + + + + Success + + + + The database has been successfully repaired +You can now save it. + + + + Unable to repair the database. + + + + DatabaseSettingsWidget Database name: @@ -827,6 +867,13 @@ Unable to calculate master key Izračun glavnega ključa ni uspel + + The selected file is an old KeePass 1 database (.kdb). + +You can import it by clicking on Database > 'Import KeePass 1 database'. +This is a one-way migration. You won't be able to open the imported database with the old KeePassX 0.4 version. + + Main @@ -1005,6 +1052,30 @@ Export to CSV file Izvozi v CSV datoteko + + Repair database + + + + KeePass 2 Database + + + + All files + + + + Save repaired database + + + + Error + + + + Writing the database failed. + + PasswordGeneratorWidget diff -Nru keepassx-2.0.2/share/translations/keepassx_sv.ts keepassx-2.0.3/share/translations/keepassx_sv.ts --- keepassx-2.0.2/share/translations/keepassx_sv.ts 2016-02-02 00:22:48.000000000 +0000 +++ keepassx-2.0.3/share/translations/keepassx_sv.ts 2016-09-04 15:57:47.000000000 +0000 @@ -172,6 +172,43 @@ + DatabaseRepairWidget + + Repair database + Laga databasen + + + Error + Fel + + + Can't open key file + Kan inte öppna nyckelfilen + + + Database opened fine. Nothing to do. + Databas öppnades fint. Inget att göra. + + + Unable to open the database. + Misslyckades att öppna databasen. + + + Success + Succé + + + The database has been successfully repaired +You can now save it. + Databasens reparation har varit lyckad. +Du kan nu spara den. + + + Unable to repair the database. + Misslyckades med att laga databasen. + + + DatabaseSettingsWidget Database name: @@ -838,7 +875,10 @@ You can import it by clicking on Database > 'Import KeePass 1 database'. This is a one-way migration. You won't be able to open the imported database with the old KeePassX 0.4 version. - + Den valda filen är en gammal KeePass 1 databas (.kdb) + +Du kan importera den genom att klicka på Databas > Importera KeePass 1 databas. +Detta är en envägsmigration. Du kan inte spara en databas som KeePass1 databas. Det som används i KeePassX 0.4. @@ -1018,6 +1058,30 @@ Export to CSV file Exportera till CSV-fil + + Repair database + Laga databasen + + + KeePass 2 Database + KeePass 2 databas + + + All files + Alla filer + + + Save repaired database + Spara lagad databas + + + Error + Fel + + + Writing the database failed. + Misslyckades med att skriva till databasen. + PasswordGeneratorWidget diff -Nru keepassx-2.0.2/share/translations/keepassx_uk.ts keepassx-2.0.3/share/translations/keepassx_uk.ts --- keepassx-2.0.2/share/translations/keepassx_uk.ts 2016-02-02 00:22:48.000000000 +0000 +++ keepassx-2.0.3/share/translations/keepassx_uk.ts 2016-09-04 15:57:47.000000000 +0000 @@ -172,6 +172,42 @@ + DatabaseRepairWidget + + Repair database + + + + Error + + + + Can't open key file + + + + Database opened fine. Nothing to do. + + + + Unable to open the database. + + + + Success + + + + The database has been successfully repaired +You can now save it. + + + + Unable to repair the database. + + + + DatabaseSettingsWidget Database name: @@ -1020,6 +1056,30 @@ Export to CSV file Експортувати в файл CSV + + Repair database + + + + KeePass 2 Database + + + + All files + + + + Save repaired database + + + + Error + + + + Writing the database failed. + + PasswordGeneratorWidget diff -Nru keepassx-2.0.2/share/translations/keepassx_zh_CN.ts keepassx-2.0.3/share/translations/keepassx_zh_CN.ts --- keepassx-2.0.2/share/translations/keepassx_zh_CN.ts 2016-02-02 00:22:48.000000000 +0000 +++ keepassx-2.0.3/share/translations/keepassx_zh_CN.ts 2016-09-04 15:57:47.000000000 +0000 @@ -9,6 +9,14 @@ KeePassX is distributed under the term of the GNU General Public License (GPL) version 2 or (at your option) version 3. KeePassX 使用的是第 2 版 GNU 通用公共授权协议(GPL)(你可以根据需要选用第 3 版). + + Revision + 修改 + + + Using: + 使用: + AutoType @@ -164,6 +172,43 @@ + DatabaseRepairWidget + + Repair database + 修复数据库 + + + Error + 错误 + + + Can't open key file + 无法打开密钥文件 + + + Database opened fine. Nothing to do. + 数据库打开正常。没什么可做的。 + + + Unable to open the database. + 无法打开数据库 + + + Success + 成功 + + + The database has been successfully repaired +You can now save it. + 数据库已经修复成功 +现在可以保存数据库 + + + Unable to repair the database. + 无法修复数据库 + + + DatabaseSettingsWidget Database name: @@ -307,19 +352,26 @@ "%1" is in edit mode. Discard changes and close anyway? - + 正在编辑 "%1" 。 +仍然要放弃修改并且关闭吗? Export database to CSV file - + 把数据库导出为CSV格式文件 CSV file - + CSV格式文件 Writing the CSV file failed. - + 写入CSV格式文件失败 + + + The database you are trying to save as is locked by another instance of KeePassX. +Do you want to save it anyway? + 你要保存的数据库已被另一个KeePassX锁住。 +你仍然要保存吗? @@ -762,7 +814,7 @@ KeePass1OpenWidget Import KeePass1 database - 导入KeePass 1 数据库 + 导入 KeePass 1 数据库 Error @@ -818,6 +870,15 @@ Unable to calculate master key 无法计算主密码 + + The selected file is an old KeePass 1 database (.kdb). + +You can import it by clicking on Database > 'Import KeePass 1 database'. +This is a one-way migration. You won't be able to open the imported database with the old KeePassX 0.4 version. + 当前选择的文件是旧版本 KeePass 1 数据库(.kdb)。 +你可以通过点击 数据库 > '导入KeePass 1 数据库’ 来导入。 +这是不可逆的修改。导入后的数据库将无法由旧版的KeePassX 0.4版本打开。 + Main @@ -986,15 +1047,39 @@ Copy username - + 复制用户名 Copy password - + 复制密码 Export to CSV file - + 导出为CSV格式文件 + + + Repair database + 修复数据库 + + + KeePass 2 Database + KeePass 2 数据库 + + + All files + 所有文件 + + + Save repaired database + 保存修复后的数据库 + + + Error + 错误 + + + Writing the database failed. + 数据库写入失败 @@ -1269,10 +1354,6 @@ 自定义配置文件路径 - password of the database (DANGEROUS!) - 数据库密码(危险!) - - key file of the database 数据库秘钥文件 diff -Nru keepassx-2.0.2/share/translations/keepassx_zh_TW.ts keepassx-2.0.3/share/translations/keepassx_zh_TW.ts --- keepassx-2.0.2/share/translations/keepassx_zh_TW.ts 2016-02-02 00:22:48.000000000 +0000 +++ keepassx-2.0.3/share/translations/keepassx_zh_TW.ts 2016-09-04 15:57:47.000000000 +0000 @@ -13,6 +13,10 @@ Revision 修改紀錄 + + Using: + 使用: + AutoType @@ -168,6 +172,43 @@ + DatabaseRepairWidget + + Repair database + 修復資料庫 + + + Error + 錯誤 + + + Can't open key file + 無法打開金鑰檔案 + + + Database opened fine. Nothing to do. + 資料庫正常打開。沒什麼事。 + + + Unable to open the database. + 無法打開這個資料庫 + + + Success + 成功 + + + The database has been successfully repaired +You can now save it. + 這個資料庫已經成功修復 +現在你可以儲存它。 + + + Unable to repair the database. + 無法開啟這個資料庫 + + + DatabaseSettingsWidget Database name: @@ -828,6 +869,17 @@ Unable to calculate master key 無法計算主金鑰 + + The selected file is an old KeePass 1 database (.kdb). + +You can import it by clicking on Database > 'Import KeePass 1 database'. +This is a one-way migration. You won't be able to open the imported database with the old KeePassX 0.4 version. + 被選擇的檔案是舊的 KeePass 1 資料庫 (.kdb) 。 + + +你可以點選 資料庫 > 「匯入 KeePass 1 資料庫」。 +這是單向遷移。你無法用舊的 KeePassX 0.4 的版本打開被匯入的資料庫。 + Main @@ -1006,6 +1058,30 @@ Export to CSV file 輸出成 CSV 檔案 + + Repair database + 修復資料庫 + + + KeePass 2 Database + KeePass 2 資料庫 + + + All files + 所有的檔案 + + + Save repaired database + 儲存已修復的資料庫 + + + Error + 錯誤 + + + Writing the database failed. + 寫入資料庫失敗 + PasswordGeneratorWidget diff -Nru keepassx-2.0.2/src/autotype/CMakeLists.txt keepassx-2.0.3/src/autotype/CMakeLists.txt --- keepassx-2.0.2/src/autotype/CMakeLists.txt 2016-02-02 00:22:48.000000000 +0000 +++ keepassx-2.0.3/src/autotype/CMakeLists.txt 2016-09-04 15:57:47.000000000 +0000 @@ -2,7 +2,7 @@ find_package(X11) if(PRINT_SUMMARY) add_feature_info(libXi X11_Xi_FOUND "The X11 Xi Protocol library is required for auto-type") - add_feature_info(libXtest X11_XTest_FOUND "The X11 XTEST Protocol library is required for auto-type") + add_feature_info(libXtst X11_XTest_FOUND "The X11 XTEST Protocol library is required for auto-type") endif() if(X11_FOUND AND X11_Xi_FOUND AND X11_XTest_FOUND) diff -Nru keepassx-2.0.2/src/autotype/x11/AutoTypeX11.cpp keepassx-2.0.3/src/autotype/x11/AutoTypeX11.cpp --- keepassx-2.0.2/src/autotype/x11/AutoTypeX11.cpp 2016-02-02 00:22:48.000000000 +0000 +++ keepassx-2.0.3/src/autotype/x11/AutoTypeX11.cpp 2016-09-04 15:57:47.000000000 +0000 @@ -363,13 +363,21 @@ unsigned long nitems; unsigned long after; unsigned char* data = Q_NULLPTR; - int retVal = XGetWindowProperty(m_dpy, window, m_atomWmState, 0, 0, False, AnyPropertyType, &type, &format, + int retVal = XGetWindowProperty(m_dpy, window, m_atomWmState, 0, 2, False, m_atomWmState, &type, &format, &nitems, &after, &data); - if (data) { + + bool result = false; + + if (retVal == 0 && data) { + if (type == m_atomWmState && format == 32 && nitems > 0) { + qint32 state = static_cast(*data); + result = (state != WithdrawnState); + } + XFree(data); } - return (retVal == 0) && type; + return result; } KeySym AutoTypePlatformX11::charToKeySym(const QChar& ch) diff -Nru keepassx-2.0.2/src/core/Entry.cpp keepassx-2.0.3/src/core/Entry.cpp --- keepassx-2.0.2/src/core/Entry.cpp 2016-02-02 00:22:48.000000000 +0000 +++ keepassx-2.0.3/src/core/Entry.cpp 2016-09-04 15:57:47.000000000 +0000 @@ -372,7 +372,6 @@ void Entry::addHistoryItem(Entry* entry) { Q_ASSERT(!entry->parent()); - Q_ASSERT(entry->uuid() == uuid()); m_history.append(entry); Q_EMIT modified(); diff -Nru keepassx-2.0.2/src/core/Group.cpp keepassx-2.0.3/src/core/Group.cpp --- keepassx-2.0.2/src/core/Group.cpp 2016-02-02 00:22:48.000000000 +0000 +++ keepassx-2.0.3/src/core/Group.cpp 2016-09-04 15:57:47.000000000 +0000 @@ -504,7 +504,7 @@ } Q_FOREACH (Group* groupChild, children()) { - Group* clonedGroupChild = groupChild->clone(); + Group* clonedGroupChild = groupChild->clone(entryFlags); clonedGroupChild->setParent(clonedGroup); } diff -Nru keepassx-2.0.2/src/format/KeePass1Reader.cpp keepassx-2.0.3/src/format/KeePass1Reader.cpp --- keepassx-2.0.2/src/format/KeePass1Reader.cpp 2016-02-02 00:22:48.000000000 +0000 +++ keepassx-2.0.3/src/format/KeePass1Reader.cpp 2016-09-04 15:57:47.000000000 +0000 @@ -380,6 +380,10 @@ } } + if (!cipherStream) { + raiseError(tr("Wrong key or database file is corrupt.")); + } + return cipherStream.take(); } diff -Nru keepassx-2.0.2/src/format/KeePass2Reader.cpp keepassx-2.0.3/src/format/KeePass2Reader.cpp --- keepassx-2.0.2/src/format/KeePass2Reader.cpp 2016-02-02 00:22:48.000000000 +0000 +++ keepassx-2.0.3/src/format/KeePass2Reader.cpp 2016-09-04 15:57:47.000000000 +0000 @@ -191,7 +191,7 @@ if (!xmlReader.headerHash().isEmpty()) { QByteArray headerHash = CryptoHash::hash(headerStream.storedData(), CryptoHash::Sha256); if (headerHash != xmlReader.headerHash()) { - raiseError("Head doesn't match hash"); + raiseError("Header doesn't match hash"); return Q_NULLPTR; } } diff -Nru keepassx-2.0.2/src/format/KeePass2XmlReader.cpp keepassx-2.0.3/src/format/KeePass2XmlReader.cpp --- keepassx-2.0.2/src/format/KeePass2XmlReader.cpp 2016-02-02 00:22:48.000000000 +0000 +++ keepassx-2.0.3/src/format/KeePass2XmlReader.cpp 2016-09-04 15:57:47.000000000 +0000 @@ -778,6 +778,13 @@ } Q_FOREACH (Entry* historyItem, historyItems) { + if (historyItem->uuid() != entry->uuid()) { + if (m_strictMode) { + raiseError("History element with different uuid"); + } else { + historyItem->setUuid(entry->uuid()); + } + } entry->addHistoryItem(historyItem); } diff -Nru keepassx-2.0.2/src/gui/DatabaseOpenWidget.cpp keepassx-2.0.3/src/gui/DatabaseOpenWidget.cpp --- keepassx-2.0.2/src/gui/DatabaseOpenWidget.cpp 2016-02-02 00:22:48.000000000 +0000 +++ keepassx-2.0.3/src/gui/DatabaseOpenWidget.cpp 2016-09-04 15:57:47.000000000 +0000 @@ -99,7 +99,8 @@ QFile file(m_filename); if (!file.open(QIODevice::ReadOnly)) { - // TODO: error message + MessageBox::warning(this, tr("Error"), tr("Unable to open the database.").append("\n") + .append(file.errorString())); return; } if (m_db) { diff -Nru keepassx-2.0.2/src/gui/DatabaseRepairWidget.cpp keepassx-2.0.3/src/gui/DatabaseRepairWidget.cpp --- keepassx-2.0.2/src/gui/DatabaseRepairWidget.cpp 2016-02-02 00:22:48.000000000 +0000 +++ keepassx-2.0.3/src/gui/DatabaseRepairWidget.cpp 2016-09-04 15:57:47.000000000 +0000 @@ -60,7 +60,8 @@ QFile file(m_filename); if (!file.open(QIODevice::ReadOnly)) { - // TODO: error message + MessageBox::warning(this, tr("Error"), tr("Unable to open the database.").append("\n") + .append(file.errorString())); Q_EMIT editFinished(false); return; } diff -Nru keepassx-2.0.2/src/gui/DatabaseTabWidget.cpp keepassx-2.0.3/src/gui/DatabaseTabWidget.cpp --- keepassx-2.0.2/src/gui/DatabaseTabWidget.cpp 2016-02-02 00:22:48.000000000 +0000 +++ keepassx-2.0.3/src/gui/DatabaseTabWidget.cpp 2016-09-04 15:57:47.000000000 +0000 @@ -131,11 +131,10 @@ // test if we can read/write or read the file QFile file(fileName); - // TODO: error handling if (!file.open(QIODevice::ReadWrite)) { if (!file.open(QIODevice::ReadOnly)) { - // can't open - // TODO: error message + MessageBox::warning(this, tr("Error"), tr("Unable to open the database.").append("\n") + .append(file.errorString())); return; } else { @@ -296,7 +295,7 @@ DatabaseManagerStruct& dbStruct = m_dbList[db]; if (dbStruct.saveToFilename) { - QSaveFile saveFile(dbStruct.filePath); + QSaveFile saveFile(dbStruct.canonicalFilePath); if (saveFile.open(QIODevice::WriteOnly)) { m_writer.writeDatabase(&saveFile, db); if (m_writer.hasError()) { @@ -310,6 +309,11 @@ return false; } } + else { + MessageBox::critical(this, tr("Error"), tr("Writing the database failed.") + "\n\n" + + saveFile.errorString()); + return false; + } dbStruct.modified = false; updateTabName(db); @@ -386,6 +390,9 @@ return false; } + // refresh fileinfo since the file didn't exist before + fileInfo.refresh(); + dbStruct.modified = false; dbStruct.saveToFilename = true; dbStruct.readOnly = false; diff -Nru keepassx-2.0.2/src/gui/DatabaseWidget.cpp keepassx-2.0.3/src/gui/DatabaseWidget.cpp --- keepassx-2.0.2/src/gui/DatabaseWidget.cpp 2016-02-02 00:22:48.000000000 +0000 +++ keepassx-2.0.3/src/gui/DatabaseWidget.cpp 2016-09-04 15:57:47.000000000 +0000 @@ -341,14 +341,24 @@ } } else { - if (selected.size() > 1) { - QMessageBox::StandardButton result = MessageBox::question( + QMessageBox::StandardButton result; + + if (selected.size() == 1) { + result = MessageBox::question( + this, tr("Move entry to recycle bin?"), + tr("Do you really want to move entry \"%1\" to the recycle bin?") + .arg(selectedEntries.first()->title()), + QMessageBox::Yes | QMessageBox::No); + } + else { + result = MessageBox::question( this, tr("Move entries to recycle bin?"), tr("Do you really want to move %n entry(s) to the recycle bin?", 0, selected.size()), QMessageBox::Yes | QMessageBox::No); - if (result == QMessageBox::No) { - return; - } + } + + if (result == QMessageBox::No) { + return; } Q_FOREACH (Entry* entry, selectedEntries) { @@ -493,7 +503,9 @@ } bool inRecylceBin = Tools::hasChild(m_db->metadata()->recycleBin(), currentGroup); - if (inRecylceBin || !m_db->metadata()->recycleBinEnabled()) { + bool isRecycleBin = (currentGroup == m_db->metadata()->recycleBin()); + bool isRecycleBinSubgroup = Tools::hasChild(currentGroup, m_db->metadata()->recycleBin()); + if (inRecylceBin || isRecycleBin || isRecycleBinSubgroup || !m_db->metadata()->recycleBinEnabled()) { QMessageBox::StandardButton result = MessageBox::question( this, tr("Delete group?"), tr("Do you really want to delete the group \"%1\" for good?") @@ -871,8 +883,7 @@ bool DatabaseWidget::canDeleteCurrentGroup() const { bool isRootGroup = m_db->rootGroup() == m_groupView->currentGroup(); - bool isRecycleBin = m_db->metadata()->recycleBin() == m_groupView->currentGroup(); - return !isRootGroup && !isRecycleBin; + return !isRootGroup; } bool DatabaseWidget::isInSearchMode() const diff -Nru keepassx-2.0.2/src/gui/EditWidgetIcons.cpp keepassx-2.0.3/src/gui/EditWidgetIcons.cpp --- keepassx-2.0.2/src/gui/EditWidgetIcons.cpp 2016-02-02 00:22:48.000000000 +0000 +++ keepassx-2.0.3/src/gui/EditWidgetIcons.cpp 2016-09-04 15:57:47.000000000 +0000 @@ -19,6 +19,7 @@ #include "ui_EditWidgetIcons.h" #include +#include #include "core/Group.h" #include "core/Metadata.h" @@ -129,7 +130,10 @@ QString filename = QFileDialog::getOpenFileName( this, tr("Select Image"), "", filter); if (!filename.isEmpty()) { - QImage image(filename); + QImageReader imageReader(filename); + // detect from content, otherwise reading fails if file extension is wrong + imageReader.setDecideFormatFromContent(true); + QImage image = imageReader.read(); if (!image.isNull()) { Uuid uuid = Uuid::random(); m_database->metadata()->addCustomIconScaled(uuid, image); @@ -139,7 +143,8 @@ m_ui->customIconsView->setCurrentIndex(index); } else { - // TODO: show error + MessageBox::critical(this, tr("Error"), + tr("Can't read icon:").append("\n").append(imageReader.errorString())); } } } diff -Nru keepassx-2.0.2/src/gui/entry/EditEntryWidget.cpp keepassx-2.0.3/src/gui/entry/EditEntryWidget.cpp --- keepassx-2.0.2/src/gui/entry/EditEntryWidget.cpp 2016-02-02 00:22:48.000000000 +0000 +++ keepassx-2.0.3/src/gui/entry/EditEntryWidget.cpp 2016-09-04 15:57:47.000000000 +0000 @@ -487,6 +487,7 @@ void EditEntryWidget::togglePasswordGeneratorButton(bool checked) { + m_mainUi->passwordGenerator->regeneratePassword(); m_mainUi->passwordGenerator->setVisible(checked); } diff -Nru keepassx-2.0.2/src/gui/KeePass1OpenWidget.cpp keepassx-2.0.3/src/gui/KeePass1OpenWidget.cpp --- keepassx-2.0.2/src/gui/KeePass1OpenWidget.cpp 2016-02-02 00:22:48.000000000 +0000 +++ keepassx-2.0.3/src/gui/KeePass1OpenWidget.cpp 2016-09-04 15:57:47.000000000 +0000 @@ -49,7 +49,8 @@ QFile file(m_filename); if (!file.open(QIODevice::ReadOnly)) { - // TODO: error message + MessageBox::warning(this, tr("Error"), tr("Unable to open the database.").append("\n") + .append(file.errorString())); return; } if (m_db) { diff -Nru keepassx-2.0.2/src/gui/PasswordComboBox.cpp keepassx-2.0.3/src/gui/PasswordComboBox.cpp --- keepassx-2.0.2/src/gui/PasswordComboBox.cpp 2016-02-02 00:22:48.000000000 +0000 +++ keepassx-2.0.3/src/gui/PasswordComboBox.cpp 2016-09-04 15:57:47.000000000 +0000 @@ -49,7 +49,7 @@ // Qt on Mac OS doesn't seem to know the generic monospace family (tested with 4.8.6) setStyleSheet("QComboBox { font-family: monospace,Menlo,Monaco; }"); #else - setStyleSheet("QComboBox { font-family: monospace,Courier; }"); + setStyleSheet("QComboBox { font-family: monospace,Courier New; }"); #endif } diff -Nru keepassx-2.0.2/src/gui/PasswordEdit.cpp keepassx-2.0.3/src/gui/PasswordEdit.cpp --- keepassx-2.0.2/src/gui/PasswordEdit.cpp 2016-02-02 00:22:48.000000000 +0000 +++ keepassx-2.0.3/src/gui/PasswordEdit.cpp 2016-09-04 15:57:47.000000000 +0000 @@ -60,7 +60,7 @@ // Qt on Mac OS doesn't seem to know the generic monospace family (tested with 4.8.6) stylesheet.append("font-family: monospace,Menlo,Monaco; "); #else - stylesheet.append("font-family: monospace; "); + stylesheet.append("font-family: monospace,Courier New; "); #endif } diff -Nru keepassx-2.0.2/src/gui/PasswordGeneratorWidget.cpp keepassx-2.0.3/src/gui/PasswordGeneratorWidget.cpp --- keepassx-2.0.2/src/gui/PasswordGeneratorWidget.cpp 2016-02-02 00:22:48.000000000 +0000 +++ keepassx-2.0.3/src/gui/PasswordGeneratorWidget.cpp 2016-09-04 15:57:47.000000000 +0000 @@ -88,6 +88,14 @@ updateGenerator(); } +void PasswordGeneratorWidget::regeneratePassword() +{ + if (m_generator->isValid()) { + QString password = m_generator->generatePassword(); + m_ui->editNewPassword->setEditText(password); + } +} + void PasswordGeneratorWidget::updateApplyEnabled(const QString& password) { m_ui->buttonApply->setEnabled(!password.isEmpty()); @@ -111,6 +119,10 @@ void PasswordGeneratorWidget::spinBoxChanged() { + if (m_updatingSpinBox) { + return; + } + // Interlock so that we don't update twice - this causes issues as the spinbox can go higher than slider m_updatingSpinBox = true; @@ -161,12 +173,39 @@ void PasswordGeneratorWidget::updateGenerator() { - m_generator->setLength(m_ui->spinBoxLength->value()); - m_generator->setCharClasses(charClasses()); - m_generator->setFlags(generatorFlags()); + PasswordGenerator::CharClasses classes = charClasses(); + PasswordGenerator::GeneratorFlags flags = generatorFlags(); - if (m_generator->isValid()) { - QString password = m_generator->generatePassword(); - m_ui->editNewPassword->setEditText(password); + int minLength = 0; + if (flags.testFlag(PasswordGenerator::CharFromEveryGroup)) { + if (classes.testFlag(PasswordGenerator::LowerLetters)) { + minLength++; + } + if (classes.testFlag(PasswordGenerator::UpperLetters)) { + minLength++; + } + if (classes.testFlag(PasswordGenerator::Numbers)) { + minLength++; + } + if (classes.testFlag(PasswordGenerator::SpecialCharacters)) { + minLength++; + } + } + minLength = qMax(minLength, 1); + + if (m_ui->spinBoxLength->value() < minLength) { + m_updatingSpinBox = true; + m_ui->spinBoxLength->setValue(minLength); + m_ui->sliderLength->setValue(minLength); + m_updatingSpinBox = false; } + + m_ui->spinBoxLength->setMinimum(minLength); + m_ui->sliderLength->setMinimum(minLength); + + m_generator->setLength(m_ui->spinBoxLength->value()); + m_generator->setCharClasses(classes); + m_generator->setFlags(flags); + + regeneratePassword(); } diff -Nru keepassx-2.0.2/src/gui/PasswordGeneratorWidget.h keepassx-2.0.3/src/gui/PasswordGeneratorWidget.h --- keepassx-2.0.2/src/gui/PasswordGeneratorWidget.h 2016-02-02 00:22:48.000000000 +0000 +++ keepassx-2.0.3/src/gui/PasswordGeneratorWidget.h 2016-09-04 15:57:47.000000000 +0000 @@ -39,6 +39,7 @@ ~PasswordGeneratorWidget(); void loadSettings(); void reset(); + void regeneratePassword(); Q_SIGNALS: void newPassword(const QString& password); diff -Nru keepassx-2.0.2/src/version.h.cmake keepassx-2.0.3/src/version.h.cmake --- keepassx-2.0.2/src/version.h.cmake 2016-02-02 00:22:48.000000000 +0000 +++ keepassx-2.0.3/src/version.h.cmake 2016-09-04 15:57:47.000000000 +0000 @@ -1,5 +1,5 @@ #define GIT_HEAD "@GIT_HEAD@" #define GIT_DESCRIBE "@GIT_DESCRIBE@" -#define DIST_HASH "3679b2170142c14362fa75e990ef85b80b1b1b46" -#define DIST_DATE "1454372568" +#define DIST_HASH "c8857ac2babcc392f04f1b9e38d65d7ab39ba1bf" +#define DIST_DATE "1473004667" diff -Nru keepassx-2.0.2/tests/data/BrokenDifferentEntryHistoryUuid.xml keepassx-2.0.3/tests/data/BrokenDifferentEntryHistoryUuid.xml --- keepassx-2.0.2/tests/data/BrokenDifferentEntryHistoryUuid.xml 1970-01-01 00:00:00.000000000 +0000 +++ keepassx-2.0.3/tests/data/BrokenDifferentEntryHistoryUuid.xml 2016-09-04 15:57:47.000000000 +0000 @@ -0,0 +1,17 @@ + + + + + lmU+9n0aeESKZvcEze+bRg== + Test + + MTExMTExMTExMTExMTExMQ== + + + MjIyMjIyMjIyMjIyMjIyMg== + + + + + + diff -Nru keepassx-2.0.2/tests/gui/TestGui.cpp keepassx-2.0.3/tests/gui/TestGui.cpp --- keepassx-2.0.2/tests/gui/TestGui.cpp 2016-02-02 00:22:48.000000000 +0000 +++ keepassx-2.0.3/tests/gui/TestGui.cpp 2016-09-04 15:57:47.000000000 +0000 @@ -239,6 +239,7 @@ QVERIFY(entryDeleteWidget->isEnabled()); QVERIFY(!m_db->metadata()->recycleBin()); + MessageBox::setNextAnswer(QMessageBox::Yes); QTest::mouseClick(entryDeleteWidget, Qt::LeftButton); QCOMPARE(entryView->model()->rowCount(), 3); diff -Nru keepassx-2.0.2/tests/TestGroup.cpp keepassx-2.0.3/tests/TestGroup.cpp --- keepassx-2.0.2/tests/TestGroup.cpp 2016-02-02 00:22:48.000000000 +0000 +++ keepassx-2.0.3/tests/TestGroup.cpp 2016-09-04 15:57:47.000000000 +0000 @@ -386,7 +386,12 @@ QVERIFY(clonedSubGroupEntry->uuid() != subGroupEntry->uuid()); QCOMPARE(clonedSubGroupEntry->title(), QString("SubGroupEntry")); + Group* clonedGroupKeepUuid = originalGroup->clone(Entry::CloneNoFlags); + QCOMPARE(clonedGroupKeepUuid->entries().at(0)->uuid(), originalGroupEntry->uuid()); + QCOMPARE(clonedGroupKeepUuid->children().at(0)->entries().at(0)->uuid(), subGroupEntry->uuid()); + delete clonedGroup; + delete clonedGroupKeepUuid; delete db; } diff -Nru keepassx-2.0.2/tests/TestKeePass2Writer.cpp keepassx-2.0.3/tests/TestKeePass2Writer.cpp --- keepassx-2.0.2/tests/TestKeePass2Writer.cpp 2016-02-02 00:22:48.000000000 +0000 +++ keepassx-2.0.3/tests/TestKeePass2Writer.cpp 2016-09-04 15:57:47.000000000 +0000 @@ -18,6 +18,7 @@ #include "TestKeePass2Writer.h" #include +#include #include #include "config-keepassx-tests.h" diff -Nru keepassx-2.0.2/tests/TestKeePass2XmlReader.cpp keepassx-2.0.3/tests/TestKeePass2XmlReader.cpp --- keepassx-2.0.2/tests/TestKeePass2XmlReader.cpp 2016-02-02 00:22:48.000000000 +0000 +++ keepassx-2.0.3/tests/TestKeePass2XmlReader.cpp 2016-09-04 15:57:47.000000000 +0000 @@ -407,6 +407,8 @@ QTest::newRow("BrokenGroupReference (not strict)") << "BrokenGroupReference" << false << false; QTest::newRow("BrokenDeletedObjects (strict)") << "BrokenDeletedObjects" << true << true; QTest::newRow("BrokenDeletedObjects (not strict)") << "BrokenDeletedObjects" << false << false; + QTest::newRow("BrokenDifferentEntryHistoryUuid (strict)") << "BrokenDifferentEntryHistoryUuid" << true << true; + QTest::newRow("BrokenDifferentEntryHistoryUuid (not strict)") << "BrokenDifferentEntryHistoryUuid" << false << false; } void TestKeePass2XmlReader::testEmptyUuids() @@ -487,6 +489,32 @@ QCOMPARE(strToBytes(attrRead->value("SurrogateValid2")), strToBytes(strSurrogateValid2)); } +void TestKeePass2XmlReader::testRepairUuidHistoryItem() +{ + KeePass2XmlReader reader; + QString xmlFile = QString("%1/%2.xml").arg(KEEPASSX_TEST_DATA_DIR, "BrokenDifferentEntryHistoryUuid"); + QVERIFY(QFile::exists(xmlFile)); + QScopedPointer db(reader.readDatabase(xmlFile)); + if (reader.hasError()) { + qWarning("Database read error: %s", qPrintable(reader.errorString())); + } + QVERIFY(!reader.hasError()); + + + + QList entries = db.data()->rootGroup()->entries(); + QCOMPARE(entries.size(), 1); + Entry* entry = entries.at(0); + + QList historyItems = entry->historyItems(); + QCOMPARE(historyItems.size(), 1); + Entry* historyItem = historyItems.at(0); + + QVERIFY(!entry->uuid().isNull()); + QVERIFY(!historyItem->uuid().isNull()); + QCOMPARE(historyItem->uuid(), entry->uuid()); +} + void TestKeePass2XmlReader::cleanupTestCase() { delete m_db; diff -Nru keepassx-2.0.2/tests/TestKeePass2XmlReader.h keepassx-2.0.3/tests/TestKeePass2XmlReader.h --- keepassx-2.0.2/tests/TestKeePass2XmlReader.h 2016-02-02 00:22:48.000000000 +0000 +++ keepassx-2.0.3/tests/TestKeePass2XmlReader.h 2016-09-04 15:57:47.000000000 +0000 @@ -43,6 +43,7 @@ void testBroken_data(); void testEmptyUuids(); void testInvalidXmlChars(); + void testRepairUuidHistoryItem(); void cleanupTestCase(); private: