Compare commits

...

9 Commits

Author SHA1 Message Date
Martchus 8955d5c27b Use `ANDROID_PKGCONFIG` environment variable in configuration example for Android 2024-05-30 18:48:38 +02:00
Martchus 9574ed8b0e Update server domain 2024-05-30 18:47:20 +02:00
Martchus c5a658e2c2 Update translations 2024-05-21 20:38:52 +02:00
Martchus 760f764b13 Re-evaluate default icon theme on palette changes 2024-05-21 20:38:32 +02:00
Martchus cabeca7756 Don't build the Qt Quick GUI by default for Windows and Apple platforms
It uses Kirigami which is probably not present/wanted on those platforms.
2024-04-13 16:50:59 +02:00
Martchus 06ae52d0d8 Update translations 2024-04-08 12:40:05 +02:00
Martchus 6ffa54088a Ensure desktop file name is set when initializing GUIs 2024-04-08 12:39:46 +02:00
Martchus 1b6b645f7a Apply cmake-format 2024-04-08 12:39:05 +02:00
Martchus 1ce919397b Bump patch version 2024-04-08 12:38:47 +02:00
7 changed files with 201 additions and 192 deletions

View File

@ -16,7 +16,7 @@ set(META_USE_QQC2 ON)
set(META_ANDROID_PACKAGE_NAME "org.martchus.passwordmanager")
set(META_VERSION_MAJOR 4)
set(META_VERSION_MINOR 2)
set(META_VERSION_PATCH 0)
set(META_VERSION_PATCH 1)
set(META_RELEASE_DATE "2024-04-02")
# add project files
@ -120,6 +120,11 @@ find_package(c++utilities${CONFIGURATION_PACKAGE_SUFFIX} 5.6.0 REQUIRED)
use_cpp_utilities()
# apply basic configuration
set(BUILD_QUICK_GUI_BY_DEFAULT ON)
if (WIN32 OR APPLE)
set(BUILD_QUICK_GUI_BY_DEFAULT OFF)
endif ()
option(QUICK_GUI "enables/disables building the Qt Quick GUI using Kirigami" "${BUILD_QUICK_GUI_BY_DEFAULT}")
include(BasicConfig)
# find qtutilities
@ -153,8 +158,7 @@ elseif (QT_PACKAGE_PREFIX MATCHES ".*Qt([0-9]+).*")
endif ()
# require Qt 6 for the Qt Quick GUI
if (QUICK_GUI
AND (MAJOR_QT_VERSION VERSION_LESS 6 OR MAJOR_QT_VERSION VERSION_GREATER_EQUAL 7))
if (QUICK_GUI AND (MAJOR_QT_VERSION VERSION_LESS 6 OR MAJOR_QT_VERSION VERSION_GREATER_EQUAL 7))
message(FATAL_ERROR "The Qt Quick GUI is only compatible with Qt 6 (but Qt ${MAJOR_QT_VERSION} was found).")
endif ()

View File

@ -46,7 +46,7 @@ See the release section on GitHub.
* Arch Linux
* for PKGBUILDs checkout [my GitHub repository](https://github.com/Martchus/PKGBUILDs) or
[the AUR](https://aur.archlinux.org/packages?SeB=m&K=Martchus)
* there is also a [binary repository](https://martchus.no-ip.biz/repo/arch/ownstuff)
* there is also a [binary repository](https://martchus.dyn.f3l.de/repo/arch/ownstuff)
* Tumbleweed, Leap, Fedora
* RPM \*.spec files and binaries are available via openSUSE Build Service
* remarks
@ -149,7 +149,7 @@ build_dir=$BUILD_DIR/../manual/passwordmanager-android-$android_arch-release
source /usr/bin/android-env $android_arch
android-$android_arch-cmake -G Ninja -S . -B "$build_dir" \
-DCMAKE_FIND_ROOT_PATH="${ANDROID_PREFIX}" -DANDROID_SDK_ROOT="${ANDROID_HOME}" \
-DPKG_CONFIG_EXECUTABLE:FILEPATH=/usr/bin/android-$android_arch-pkg-config \
-DPKG_CONFIG_EXECUTABLE:FILEPATH="/usr/bin/$ANDROID_PKGCONFIG" \
-DBUILTIN_ICON_THEMES='breeze;breeze-dark' -DBUILTIN_TRANSLATIONS=ON \
-DQT_PACKAGE_PREFIX:STRING=Qt6 -DKF_PACKAGE_PREFIX:STRING=KF6
cmake --build "$build_dir"

View File

@ -5,6 +5,8 @@
#include "resources/config.h"
#include "resources/qtconfig.h"
#include <QApplication> // ensure QGuiApplication is defined before resources.h for desktop file name
#include <qtutilities/resources/importplugin.h>
#include <qtutilities/resources/qtconfigarguments.h>
#include <qtutilities/resources/resources.h>
@ -12,7 +14,6 @@
#include <passwordfile/util/openssl.h>
#include <QApplication>
#include <QFile>
#include <QMessageBox>
#include <QSettings>

View File

@ -254,6 +254,9 @@ bool MainWindow::event(QEvent *event)
{
switch (event->type()) {
case QEvent::PaletteChange:
if (m_qtSettings) {
m_qtSettings->reevaluatePaletteAndDefaultIconTheme();
}
updateStyleSheet();
break;
default:;

View File

@ -10,6 +10,15 @@
// enable inline helper functions for Qt Quick provided by qtutilities
#define QT_UTILITIES_GUI_QTQUICK
// ensure QGuiApplication is defined before resources.h for desktop file name
#ifdef PASSWORD_MANAGER_GUI_QTWIDGETS
#include <QApplication>
using App = QApplication;
#else
#include <QGuiApplication>
using App = QGuiApplication;
#endif
#include <qtutilities/misc/desktoputils.h>
#include <qtutilities/resources/qtconfigarguments.h>
#include <qtutilities/resources/resources.h>
@ -23,14 +32,6 @@
#include <QQmlContext>
#include <QSettings>
#ifdef PASSWORD_MANAGER_GUI_QTWIDGETS
#include <QApplication>
using App = QApplication;
#else
#include <QGuiApplication>
using App = QGuiApplication;
#endif
#include <cstdlib>
using namespace CppUtilities;

View File

@ -126,25 +126,25 @@
<context>
<name>EntryDelegate</name>
<message>
<location filename="../qml/EntryDelegate.qml" line="61"/>
<location filename="../qml/EntryDelegate.qml" line="91"/>
<location filename="../qml/EntryDelegate.qml" line="63"/>
<location filename="../qml/EntryDelegate.qml" line="93"/>
<source>Cut</source>
<translation>Ausschneiden</translation>
</message>
<message>
<location filename="../qml/EntryDelegate.qml" line="67"/>
<location filename="../qml/EntryDelegate.qml" line="69"/>
<source>Cut %1</source>
<translation>%1 ausgeschnitten</translation>
</message>
<message>
<location filename="../qml/EntryDelegate.qml" line="73"/>
<location filename="../qml/EntryDelegate.qml" line="102"/>
<location filename="../qml/EntryDelegate.qml" line="75"/>
<location filename="../qml/EntryDelegate.qml" line="104"/>
<source>Delete</source>
<translation>Löschen</translation>
</message>
<message>
<location filename="../qml/EntryDelegate.qml" line="80"/>
<location filename="../qml/EntryDelegate.qml" line="110"/>
<location filename="../qml/EntryDelegate.qml" line="82"/>
<location filename="../qml/EntryDelegate.qml" line="112"/>
<source>Rename</source>
<translation>Umbenennen</translation>
</message>
@ -171,50 +171,50 @@
<context>
<name>FieldsDelegate</name>
<message>
<location filename="../qml/FieldsDelegate.qml" line="63"/>
<location filename="../qml/FieldsDelegate.qml" line="96"/>
<location filename="../qml/FieldsDelegate.qml" line="65"/>
<location filename="../qml/FieldsDelegate.qml" line="98"/>
<source>Mark as normal field</source>
<translation>Als normales Feld markieren</translation>
</message>
<message>
<location filename="../qml/FieldsDelegate.qml" line="63"/>
<location filename="../qml/FieldsDelegate.qml" line="97"/>
<location filename="../qml/FieldsDelegate.qml" line="65"/>
<location filename="../qml/FieldsDelegate.qml" line="99"/>
<source>Mark as password field</source>
<translation>Als Passwortfeld markieren</translation>
</message>
<message>
<location filename="../qml/FieldsDelegate.qml" line="72"/>
<location filename="../qml/FieldsDelegate.qml" line="105"/>
<location filename="../qml/FieldsDelegate.qml" line="74"/>
<location filename="../qml/FieldsDelegate.qml" line="107"/>
<source>Copy password</source>
<translation>Passwort kopieren</translation>
</message>
<message>
<location filename="../qml/FieldsDelegate.qml" line="72"/>
<location filename="../qml/FieldsDelegate.qml" line="105"/>
<location filename="../qml/FieldsDelegate.qml" line="74"/>
<location filename="../qml/FieldsDelegate.qml" line="107"/>
<source>Copy value</source>
<translation>Wert kopieren</translation>
</message>
<message>
<location filename="../qml/FieldsDelegate.qml" line="76"/>
<location filename="../qml/FieldsDelegate.qml" line="109"/>
<location filename="../qml/FieldsDelegate.qml" line="78"/>
<location filename="../qml/FieldsDelegate.qml" line="111"/>
<source>Copied</source>
<translation>Kopiert</translation>
</message>
<message>
<location filename="../qml/FieldsDelegate.qml" line="76"/>
<location filename="../qml/FieldsDelegate.qml" line="109"/>
<location filename="../qml/FieldsDelegate.qml" line="78"/>
<location filename="../qml/FieldsDelegate.qml" line="111"/>
<source>Unable to access clipboard</source>
<translation>Fehler beim Zugriff auf die Zwischenablage</translation>
</message>
<message>
<location filename="../qml/FieldsDelegate.qml" line="81"/>
<location filename="../qml/FieldsDelegate.qml" line="115"/>
<location filename="../qml/FieldsDelegate.qml" line="83"/>
<location filename="../qml/FieldsDelegate.qml" line="117"/>
<source>Delete field</source>
<translation>Feld löschen</translation>
</message>
<message>
<location filename="../qml/FieldsDelegate.qml" line="86"/>
<location filename="../qml/FieldsDelegate.qml" line="121"/>
<location filename="../qml/FieldsDelegate.qml" line="88"/>
<location filename="../qml/FieldsDelegate.qml" line="123"/>
<source>Insert empty field after this</source>
<translation>Leeres Feld nach diesem einfügen</translation>
</message>
@ -771,28 +771,28 @@
<translation>Qt-spezifische Einstellungen</translation>
</message>
<message>
<location filename="../gui/mainwindow.cpp" line="354"/>
<location filename="../gui/mainwindow.cpp" line="357"/>
<source>Qt settings</source>
<translation>Qt-spezifische Einstellungen</translation>
</message>
<message>
<location filename="../gui/mainwindow.cpp" line="372"/>
<location filename="../gui/mainwindow.cpp" line="375"/>
<source>A simple password store using AES-256-CBC encryption via OpenSSL.</source>
<translation>Einfacher Passwortmanager unter Verwendung von AES-256-CBC mittels OpenSSL.</translation>
</message>
<message>
<location filename="../gui/mainwindow.cpp" line="396"/>
<location filename="../gui/mainwindow.cpp" line="399"/>
<source>Select a password list</source>
<translation>Passwortdatei auswählen</translation>
</message>
<message>
<location filename="../gui/mainwindow.cpp" line="396"/>
<location filename="../gui/mainwindow.cpp" line="756"/>
<location filename="../gui/mainwindow.cpp" line="399"/>
<location filename="../gui/mainwindow.cpp" line="759"/>
<source>Password Manager files (*.pwmgr);;All files (*)</source>
<translation>Password-Manager-Dateien (*.pwmgr);;Alle Dateien (*)</translation>
</message>
<message>
<location filename="../gui/mainwindow.cpp" line="423"/>
<location filename="../gui/mainwindow.cpp" line="426"/>
<source>Undo stack</source>
<translation>Änderungshistorie</translation>
</message>
@ -805,35 +805,35 @@
(%2)</translation>
</message>
<message>
<location filename="../gui/mainwindow.cpp" line="467"/>
<location filename="../gui/mainwindow.cpp" line="470"/>
<source>The file you want to load seems to be very big. Do you really want to open it?</source>
<translation>Die zu öffnende Datei ist ziemlich groß. Trotzdem öffnen?</translation>
</message>
<message>
<location filename="../gui/mainwindow.cpp" line="476"/>
<location filename="../gui/mainwindow.cpp" line="479"/>
<source>Opening file</source>
<translation>Datei öffnen</translation>
</message>
<message>
<location filename="../gui/mainwindow.cpp" line="477"/>
<location filename="../gui/mainwindow.cpp" line="480"/>
<source>Enter the password to open the file &quot;%1&quot;</source>
<translation>Gib das Passwort ein, um die Datei &quot;%1&quot; zu öffnen.</translation>
</message>
<message>
<location filename="../gui/mainwindow.cpp" line="482"/>
<location filename="../gui/mainwindow.cpp" line="483"/>
<location filename="../gui/mainwindow.cpp" line="485"/>
<location filename="../gui/mainwindow.cpp" line="486"/>
<source>A password is needed to open the file.</source>
<translation>Zum Öffnen der Datei wird ein Passwort benötigt.</translation>
</message>
<message>
<location filename="../gui/mainwindow.cpp" line="502"/>
<location filename="../gui/mainwindow.cpp" line="505"/>
<source>The file couldn&apos;t be decrypted.
OpenSSL error queue: %1</source>
<translation>Die Datei konnte nicht entschlüsselt werden.
OpenSSL-Fehler: %1</translation>
</message>
<message>
<location filename="../gui/mainwindow.cpp" line="507"/>
<location filename="../gui/mainwindow.cpp" line="510"/>
<source>Unable to parse the file. %1</source>
<translation>Die Datei konnte nicht eingelesen werden. %1</translation>
</message>
@ -842,17 +842,17 @@ OpenSSL-Fehler: %1</translation>
<translation type="vanished">Die Datei &lt;i&gt;%1&lt;/i&gt; konnte nicht erstellt werden.</translation>
</message>
<message>
<location filename="../gui/mainwindow.cpp" line="586"/>
<location filename="../gui/mainwindow.cpp" line="589"/>
<source>A new password list has been created.</source>
<translation>Neue Passwortdatei erstellt</translation>
</message>
<message>
<location filename="../gui/mainwindow.cpp" line="589"/>
<location filename="../gui/mainwindow.cpp" line="592"/>
<source>The password list has been load.</source>
<translation>Passwortdatei geladen</translation>
</message>
<message>
<location filename="../gui/mainwindow.cpp" line="634"/>
<location filename="../gui/mainwindow.cpp" line="637"/>
<source> [read-only]</source>
<translation> [schreibgeschützt]</translation>
</message>
@ -861,37 +861,37 @@ OpenSSL-Fehler: %1</translation>
<translation type="vanished">Genau ein Feld muss ausgewählt sein.</translation>
</message>
<message>
<location filename="../gui/mainwindow.cpp" line="756"/>
<location filename="../gui/mainwindow.cpp" line="759"/>
<source>Select where you want to save the password list</source>
<translation>Wähle, wo die Passwortdatei gespeichert werden soll</translation>
</message>
<message>
<location filename="../gui/mainwindow.cpp" line="758"/>
<location filename="../gui/mainwindow.cpp" line="761"/>
<source>The file was not be saved.</source>
<translation>Datei wurde nicht gespeichert.</translation>
</message>
<message>
<location filename="../gui/mainwindow.cpp" line="780"/>
<location filename="../gui/mainwindow.cpp" line="783"/>
<source>There is no password list opened.</source>
<translation>Keine Passwortdatei geöffnet.</translation>
</message>
<message>
<location filename="../gui/mainwindow.cpp" line="793"/>
<location filename="../gui/mainwindow.cpp" line="796"/>
<source>There&apos;s no account selected.</source>
<translation>Kein Konto ausgewählt.</translation>
</message>
<message>
<location filename="../gui/mainwindow.cpp" line="810"/>
<location filename="../gui/mainwindow.cpp" line="813"/>
<source>The password file has been modified.</source>
<translation>Passwortdatei wurde geändert.</translation>
</message>
<message>
<location filename="../gui/mainwindow.cpp" line="811"/>
<location filename="../gui/mainwindow.cpp" line="814"/>
<source>Do you want to save the changes before closing?</source>
<translation>Änderungen vor dem Schließen speichern?</translation>
</message>
<message>
<location filename="../gui/mainwindow.cpp" line="830"/>
<location filename="../gui/mainwindow.cpp" line="833"/>
<source>The password list has been closed.</source>
<translation>Passwortdatei wurde geschlossen.</translation>
</message>
@ -900,34 +900,34 @@ OpenSSL-Fehler: %1</translation>
<translation type="vanished">Die Backupdatei konnte aufgrund eines Ein-/Ausgabefehlers nicht erstellt werden: %1</translation>
</message>
<message>
<location filename="../gui/mainwindow.cpp" line="866"/>
<location filename="../gui/mainwindow.cpp" line="869"/>
<source>Saving file</source>
<translation>Speichere Datei</translation>
</message>
<message>
<location filename="../gui/mainwindow.cpp" line="867"/>
<location filename="../gui/mainwindow.cpp" line="870"/>
<source>Enter a password to save the file</source>
<translation>Lege vor dem Speichern ein Passwort fest</translation>
</message>
<message>
<location filename="../gui/mainwindow.cpp" line="875"/>
<location filename="../gui/mainwindow.cpp" line="878"/>
<source>The file hasn&apos;t been saved.</source>
<translation>Die Datei wurde nicht gespeichert.</translation>
</message>
<message>
<location filename="../gui/mainwindow.cpp" line="885"/>
<location filename="../gui/mainwindow.cpp" line="888"/>
<source>The password list couldn&apos;t be saved due to encryption failure.
OpenSSL error queue: %1</source>
<translation>Die Passwortdatei konnte aufgrund eines Verschlüsselungsfehlers nicht gespeichert werden.
OpenSSL-Fehler: %1</translation>
</message>
<message>
<location filename="../gui/mainwindow.cpp" line="901"/>
<location filename="../gui/mainwindow.cpp" line="904"/>
<source>The password list has been saved.</source>
<translation>Die Passwortdatei wurde gespeichert.</translation>
</message>
<message>
<location filename="../gui/mainwindow.cpp" line="914"/>
<location filename="../gui/mainwindow.cpp" line="917"/>
<source>Plain text document (*.txt);;All files (*.*)</source>
<translation>Einfache Textdatei (*.txt);;Alle Dateien (*.*)</translation>
</message>
@ -936,144 +936,144 @@ OpenSSL-Fehler: %1</translation>
<translation type="vanished">Die Passwörter konnten nicht exportiert werden. %1</translation>
</message>
<message>
<location filename="../gui/mainwindow.cpp" line="925"/>
<location filename="../gui/mainwindow.cpp" line="928"/>
<source>The password list has been exported.</source>
<translation>Die Passwörter wurden exportiert.</translation>
</message>
<message>
<location filename="../gui/mainwindow.cpp" line="941"/>
<location filename="../gui/mainwindow.cpp" line="944"/>
<source>The currently opened file hasn&apos;t been saved yet.</source>
<translation>Die aktuell geöffnete Datei wurde noch nicht gespeichert.</translation>
</message>
<message>
<location filename="../gui/mainwindow.cpp" line="983"/>
<location filename="../gui/mainwindow.cpp" line="1202"/>
<location filename="../gui/mainwindow.cpp" line="986"/>
<location filename="../gui/mainwindow.cpp" line="1205"/>
<source>Add account</source>
<translation>Konto hinzufügen</translation>
</message>
<message>
<location filename="../gui/mainwindow.cpp" line="983"/>
<location filename="../gui/mainwindow.cpp" line="1203"/>
<location filename="../gui/mainwindow.cpp" line="986"/>
<location filename="../gui/mainwindow.cpp" line="1206"/>
<source>Add category</source>
<translation>Kategorie hinzufügen</translation>
</message>
<message>
<location filename="../gui/mainwindow.cpp" line="983"/>
<location filename="../gui/mainwindow.cpp" line="986"/>
<source>Enter the entry name</source>
<translation>Name für Eintrag eingeben</translation>
</message>
<message>
<location filename="../gui/mainwindow.cpp" line="984"/>
<location filename="../gui/mainwindow.cpp" line="987"/>
<source>new entry</source>
<translation>neuer Eintrag</translation>
</message>
<message>
<location filename="../gui/mainwindow.cpp" line="995"/>
<location filename="../gui/mainwindow.cpp" line="998"/>
<source>Unable to create new entry.</source>
<translation>Neuer Eintrag kann nicht erstellt werden.</translation>
</message>
<message>
<location filename="../gui/mainwindow.cpp" line="1308"/>
<location filename="../gui/mainwindow.cpp" line="1311"/>
<source>File details</source>
<translation>Details über geöffnete Datei</translation>
</message>
<message>
<location filename="../gui/mainwindow.cpp" line="989"/>
<location filename="../gui/mainwindow.cpp" line="992"/>
<source>You didn&apos;t enter text.</source>
<translation>Es wurde kein Text eingegeben.</translation>
</message>
<message>
<location filename="../gui/mainwindow.cpp" line="979"/>
<location filename="../gui/mainwindow.cpp" line="982"/>
<source>No node element selected.</source>
<translation>Es ist kein Knotenelement ausgewählt.</translation>
</message>
<message>
<location filename="../gui/mainwindow.cpp" line="1017"/>
<location filename="../gui/mainwindow.cpp" line="1020"/>
<source>Unable to remove the entry.</source>
<translation>Der Eintrag konnte nicht gelöscht werden.</translation>
</message>
<message>
<location filename="../gui/mainwindow.cpp" line="1012"/>
<location filename="../gui/mainwindow.cpp" line="1015"/>
<source>No entry selected.</source>
<translation>Kein Eintrag ausgewählt.</translation>
</message>
<message>
<location filename="../gui/mainwindow.cpp" line="458"/>
<location filename="../gui/mainwindow.cpp" line="461"/>
<source>An IO error occurred when opening the specified file &quot;%1&quot;: %2</source>
<translation>Beim Öffnen der Datei &quot;%1&quot; ist ein Ein-/Ausgabefehler aufgetreten: %2</translation>
</message>
<message>
<location filename="../gui/mainwindow.cpp" line="569"/>
<location filename="../gui/mainwindow.cpp" line="572"/>
<source>The file &lt;i&gt;%1&lt;/i&gt; couldn&apos;t be created: %2</source>
<translation>Die Datei &lt;i&gt;%1&lt;/i&gt; konnte nicht erstellt werden: %2</translation>
</message>
<message>
<location filename="../gui/mainwindow.cpp" line="715"/>
<location filename="../gui/mainwindow.cpp" line="718"/>
<source>Exactly one field needs to be selected (top-left corner for insertion).</source>
<translation>Genau ein Feld muss ausgewählt sein (linke obere Ecke fürs Einfügen).</translation>
</message>
<message>
<location filename="../gui/mainwindow.cpp" line="853"/>
<location filename="../gui/mainwindow.cpp" line="856"/>
<source>An IO error occurred when making the backup file: %1</source>
<translation>Beim Erstellen der Backup-Datei ist ein Ein-/Ausgabefehler aufgetreten: %1</translation>
</message>
<message>
<location filename="../gui/mainwindow.cpp" line="922"/>
<location filename="../gui/mainwindow.cpp" line="925"/>
<source>An IO error occurred when exporting the password list: %1</source>
<translation>Beim Exportieren ist ein Ein-/Ausgabefehler aufgetreten: %1</translation>
</message>
<message>
<location filename="../gui/mainwindow.cpp" line="1067"/>
<location filename="../gui/mainwindow.cpp" line="1070"/>
<source>A field has to be selected since new fields are always inserted before the currently selected field.</source>
<translation>Es muss ein Feld ausgewählt werden. Neue Fehler werden dann vor diesem eingefügt.</translation>
</message>
<message>
<location filename="../gui/mainwindow.cpp" line="1095"/>
<location filename="../gui/mainwindow.cpp" line="1098"/>
<source>No fields have been removed since there are currently no fields selected.</source>
<translation>Es wurden keine Felder gelöscht, da keine ausgewählt sind.</translation>
</message>
<message>
<location filename="../gui/mainwindow.cpp" line="1131"/>
<location filename="../gui/mainwindow.cpp" line="1134"/>
<source>No fields have been changed since there are currently no fields selected.</source>
<translation>Es wurden keine Felder geändert, da keine ausgewählt sind.</translation>
</message>
<message>
<location filename="../gui/mainwindow.cpp" line="1165"/>
<location filename="../gui/mainwindow.cpp" line="1168"/>
<source>Changing password</source>
<translation>Passwort ändern</translation>
</message>
<message>
<location filename="../gui/mainwindow.cpp" line="1173"/>
<location filename="../gui/mainwindow.cpp" line="1176"/>
<source>You didn&apos;t enter a password. &lt;strong&gt;No encryption&lt;/strong&gt; will be used when saving the file next time.</source>
<translation>Du hast kein Passwort eingegeben. Beim nächsten Speichern wird die Datei &lt;strong&gt;nicht verschlüsselt&lt;/strong&gt;.</translation>
</message>
<message>
<location filename="../gui/mainwindow.cpp" line="1177"/>
<location filename="../gui/mainwindow.cpp" line="1180"/>
<source>The new password will be used next time you save the file.</source>
<translation>Das neue Passwort wird beim nächsten Speichern verwendet.</translation>
</message>
<message>
<location filename="../gui/mainwindow.cpp" line="1182"/>
<location filename="../gui/mainwindow.cpp" line="1185"/>
<source>You aborted. The old password will still be used when saving the file next time.</source>
<translation>Du hast abgebrochen. Beim nächsten Speichern wird weiterhin das alte Passwort verwendet.</translation>
</message>
<message>
<location filename="../gui/mainwindow.cpp" line="1205"/>
<location filename="../gui/mainwindow.cpp" line="1208"/>
<source>Remove entry</source>
<translation>Eintrag löschen</translation>
</message>
<message>
<location filename="../gui/mainwindow.cpp" line="1211"/>
<location filename="../gui/mainwindow.cpp" line="1214"/>
<source>Expanded by default</source>
<translation>Standardmäßig ausgeklappt</translation>
</message>
<message>
<location filename="../gui/mainwindow.cpp" line="1269"/>
<location filename="../gui/mainwindow.cpp" line="1272"/>
<source>Insert field</source>
<translation>Feld einfügen</translation>
</message>
<message numerus="yes">
<location filename="../gui/mainwindow.cpp" line="1271"/>
<location filename="../gui/mainwindow.cpp" line="1274"/>
<source>Remove field(s)</source>
<translation>
<numerusform>Feld löschen</numerusform>
@ -1081,37 +1081,37 @@ OpenSSL-Fehler: %1</translation>
</translation>
</message>
<message>
<location filename="../gui/mainwindow.cpp" line="1277"/>
<location filename="../gui/mainwindow.cpp" line="1280"/>
<source>Mark as password field</source>
<translation>Als Passwortfeld markieren</translation>
</message>
<message>
<location filename="../gui/mainwindow.cpp" line="1280"/>
<location filename="../gui/mainwindow.cpp" line="1283"/>
<source>Mark as normal field</source>
<translation>Als normales Feld markieren</translation>
</message>
<message>
<location filename="../gui/mainwindow.cpp" line="1286"/>
<location filename="../gui/mainwindow.cpp" line="1289"/>
<source>Copy</source>
<translation>Kopieren</translation>
</message>
<message>
<location filename="../gui/mainwindow.cpp" line="1287"/>
<location filename="../gui/mainwindow.cpp" line="1290"/>
<source>Copy for 5 seconds</source>
<translation>Für 5 Sekunden kopieren</translation>
</message>
<message>
<location filename="../gui/mainwindow.cpp" line="1290"/>
<location filename="../gui/mainwindow.cpp" line="1293"/>
<source>Paste</source>
<translation>Einfügen</translation>
</message>
<message>
<location filename="../gui/mainwindow.cpp" line="1294"/>
<location filename="../gui/mainwindow.cpp" line="1297"/>
<source>Open URL</source>
<translation>URL öffnen</translation>
</message>
<message>
<location filename="../gui/mainwindow.cpp" line="1321"/>
<location filename="../gui/mainwindow.cpp" line="1324"/>
<source>The selection is empty.</source>
<translation>Die Auswahl ist leer.</translation>
</message>

View File

@ -77,25 +77,25 @@
<context>
<name>EntryDelegate</name>
<message>
<location filename="../qml/EntryDelegate.qml" line="61"/>
<location filename="../qml/EntryDelegate.qml" line="91"/>
<location filename="../qml/EntryDelegate.qml" line="63"/>
<location filename="../qml/EntryDelegate.qml" line="93"/>
<source>Cut</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/EntryDelegate.qml" line="67"/>
<location filename="../qml/EntryDelegate.qml" line="69"/>
<source>Cut %1</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/EntryDelegate.qml" line="73"/>
<location filename="../qml/EntryDelegate.qml" line="102"/>
<location filename="../qml/EntryDelegate.qml" line="75"/>
<location filename="../qml/EntryDelegate.qml" line="104"/>
<source>Delete</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/EntryDelegate.qml" line="80"/>
<location filename="../qml/EntryDelegate.qml" line="110"/>
<location filename="../qml/EntryDelegate.qml" line="82"/>
<location filename="../qml/EntryDelegate.qml" line="112"/>
<source>Rename</source>
<translation type="unfinished"></translation>
</message>
@ -103,50 +103,50 @@
<context>
<name>FieldsDelegate</name>
<message>
<location filename="../qml/FieldsDelegate.qml" line="63"/>
<location filename="../qml/FieldsDelegate.qml" line="96"/>
<location filename="../qml/FieldsDelegate.qml" line="65"/>
<location filename="../qml/FieldsDelegate.qml" line="98"/>
<source>Mark as normal field</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/FieldsDelegate.qml" line="63"/>
<location filename="../qml/FieldsDelegate.qml" line="97"/>
<location filename="../qml/FieldsDelegate.qml" line="65"/>
<location filename="../qml/FieldsDelegate.qml" line="99"/>
<source>Mark as password field</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/FieldsDelegate.qml" line="72"/>
<location filename="../qml/FieldsDelegate.qml" line="105"/>
<location filename="../qml/FieldsDelegate.qml" line="74"/>
<location filename="../qml/FieldsDelegate.qml" line="107"/>
<source>Copy password</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/FieldsDelegate.qml" line="72"/>
<location filename="../qml/FieldsDelegate.qml" line="105"/>
<location filename="../qml/FieldsDelegate.qml" line="74"/>
<location filename="../qml/FieldsDelegate.qml" line="107"/>
<source>Copy value</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/FieldsDelegate.qml" line="76"/>
<location filename="../qml/FieldsDelegate.qml" line="109"/>
<location filename="../qml/FieldsDelegate.qml" line="78"/>
<location filename="../qml/FieldsDelegate.qml" line="111"/>
<source>Copied</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/FieldsDelegate.qml" line="76"/>
<location filename="../qml/FieldsDelegate.qml" line="109"/>
<location filename="../qml/FieldsDelegate.qml" line="78"/>
<location filename="../qml/FieldsDelegate.qml" line="111"/>
<source>Unable to access clipboard</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/FieldsDelegate.qml" line="81"/>
<location filename="../qml/FieldsDelegate.qml" line="115"/>
<location filename="../qml/FieldsDelegate.qml" line="83"/>
<location filename="../qml/FieldsDelegate.qml" line="117"/>
<source>Delete field</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/FieldsDelegate.qml" line="86"/>
<location filename="../qml/FieldsDelegate.qml" line="121"/>
<location filename="../qml/FieldsDelegate.qml" line="88"/>
<location filename="../qml/FieldsDelegate.qml" line="123"/>
<source>Insert empty field after this</source>
<translation type="unfinished"></translation>
</message>
@ -642,283 +642,283 @@
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/mainwindow.cpp" line="354"/>
<location filename="../gui/mainwindow.cpp" line="357"/>
<source>Qt settings</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/mainwindow.cpp" line="372"/>
<location filename="../gui/mainwindow.cpp" line="375"/>
<source>A simple password store using AES-256-CBC encryption via OpenSSL.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/mainwindow.cpp" line="396"/>
<location filename="../gui/mainwindow.cpp" line="399"/>
<source>Select a password list</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/mainwindow.cpp" line="396"/>
<location filename="../gui/mainwindow.cpp" line="756"/>
<location filename="../gui/mainwindow.cpp" line="399"/>
<location filename="../gui/mainwindow.cpp" line="759"/>
<source>Password Manager files (*.pwmgr);;All files (*)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/mainwindow.cpp" line="423"/>
<location filename="../gui/mainwindow.cpp" line="426"/>
<source>Undo stack</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/mainwindow.cpp" line="467"/>
<location filename="../gui/mainwindow.cpp" line="470"/>
<source>The file you want to load seems to be very big. Do you really want to open it?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/mainwindow.cpp" line="476"/>
<location filename="../gui/mainwindow.cpp" line="479"/>
<source>Opening file</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/mainwindow.cpp" line="477"/>
<location filename="../gui/mainwindow.cpp" line="480"/>
<source>Enter the password to open the file &quot;%1&quot;</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/mainwindow.cpp" line="482"/>
<location filename="../gui/mainwindow.cpp" line="483"/>
<location filename="../gui/mainwindow.cpp" line="485"/>
<location filename="../gui/mainwindow.cpp" line="486"/>
<source>A password is needed to open the file.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/mainwindow.cpp" line="502"/>
<location filename="../gui/mainwindow.cpp" line="505"/>
<source>The file couldn&apos;t be decrypted.
OpenSSL error queue: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/mainwindow.cpp" line="507"/>
<location filename="../gui/mainwindow.cpp" line="510"/>
<source>Unable to parse the file. %1</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/mainwindow.cpp" line="586"/>
<location filename="../gui/mainwindow.cpp" line="589"/>
<source>A new password list has been created.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/mainwindow.cpp" line="589"/>
<location filename="../gui/mainwindow.cpp" line="592"/>
<source>The password list has been load.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/mainwindow.cpp" line="634"/>
<location filename="../gui/mainwindow.cpp" line="637"/>
<source> [read-only]</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/mainwindow.cpp" line="756"/>
<location filename="../gui/mainwindow.cpp" line="759"/>
<source>Select where you want to save the password list</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/mainwindow.cpp" line="758"/>
<location filename="../gui/mainwindow.cpp" line="761"/>
<source>The file was not be saved.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/mainwindow.cpp" line="780"/>
<location filename="../gui/mainwindow.cpp" line="783"/>
<source>There is no password list opened.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/mainwindow.cpp" line="793"/>
<location filename="../gui/mainwindow.cpp" line="796"/>
<source>There&apos;s no account selected.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/mainwindow.cpp" line="810"/>
<location filename="../gui/mainwindow.cpp" line="813"/>
<source>The password file has been modified.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/mainwindow.cpp" line="811"/>
<location filename="../gui/mainwindow.cpp" line="814"/>
<source>Do you want to save the changes before closing?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/mainwindow.cpp" line="830"/>
<location filename="../gui/mainwindow.cpp" line="833"/>
<source>The password list has been closed.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/mainwindow.cpp" line="866"/>
<location filename="../gui/mainwindow.cpp" line="869"/>
<source>Saving file</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/mainwindow.cpp" line="867"/>
<location filename="../gui/mainwindow.cpp" line="870"/>
<source>Enter a password to save the file</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/mainwindow.cpp" line="875"/>
<location filename="../gui/mainwindow.cpp" line="878"/>
<source>The file hasn&apos;t been saved.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/mainwindow.cpp" line="885"/>
<location filename="../gui/mainwindow.cpp" line="888"/>
<source>The password list couldn&apos;t be saved due to encryption failure.
OpenSSL error queue: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/mainwindow.cpp" line="901"/>
<location filename="../gui/mainwindow.cpp" line="904"/>
<source>The password list has been saved.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/mainwindow.cpp" line="914"/>
<location filename="../gui/mainwindow.cpp" line="917"/>
<source>Plain text document (*.txt);;All files (*.*)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/mainwindow.cpp" line="925"/>
<location filename="../gui/mainwindow.cpp" line="928"/>
<source>The password list has been exported.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/mainwindow.cpp" line="941"/>
<location filename="../gui/mainwindow.cpp" line="944"/>
<source>The currently opened file hasn&apos;t been saved yet.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/mainwindow.cpp" line="983"/>
<location filename="../gui/mainwindow.cpp" line="1202"/>
<location filename="../gui/mainwindow.cpp" line="986"/>
<location filename="../gui/mainwindow.cpp" line="1205"/>
<source>Add account</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/mainwindow.cpp" line="983"/>
<location filename="../gui/mainwindow.cpp" line="1203"/>
<location filename="../gui/mainwindow.cpp" line="986"/>
<location filename="../gui/mainwindow.cpp" line="1206"/>
<source>Add category</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/mainwindow.cpp" line="983"/>
<location filename="../gui/mainwindow.cpp" line="986"/>
<source>Enter the entry name</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/mainwindow.cpp" line="984"/>
<location filename="../gui/mainwindow.cpp" line="987"/>
<source>new entry</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/mainwindow.cpp" line="995"/>
<location filename="../gui/mainwindow.cpp" line="998"/>
<source>Unable to create new entry.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/mainwindow.cpp" line="1308"/>
<location filename="../gui/mainwindow.cpp" line="1311"/>
<source>File details</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/mainwindow.cpp" line="989"/>
<location filename="../gui/mainwindow.cpp" line="992"/>
<source>You didn&apos;t enter text.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/mainwindow.cpp" line="979"/>
<location filename="../gui/mainwindow.cpp" line="982"/>
<source>No node element selected.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/mainwindow.cpp" line="1017"/>
<location filename="../gui/mainwindow.cpp" line="1020"/>
<source>Unable to remove the entry.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/mainwindow.cpp" line="1012"/>
<location filename="../gui/mainwindow.cpp" line="1015"/>
<source>No entry selected.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/mainwindow.cpp" line="458"/>
<location filename="../gui/mainwindow.cpp" line="461"/>
<source>An IO error occurred when opening the specified file &quot;%1&quot;: %2</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/mainwindow.cpp" line="569"/>
<location filename="../gui/mainwindow.cpp" line="572"/>
<source>The file &lt;i&gt;%1&lt;/i&gt; couldn&apos;t be created: %2</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/mainwindow.cpp" line="715"/>
<location filename="../gui/mainwindow.cpp" line="718"/>
<source>Exactly one field needs to be selected (top-left corner for insertion).</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/mainwindow.cpp" line="853"/>
<location filename="../gui/mainwindow.cpp" line="856"/>
<source>An IO error occurred when making the backup file: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/mainwindow.cpp" line="922"/>
<location filename="../gui/mainwindow.cpp" line="925"/>
<source>An IO error occurred when exporting the password list: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/mainwindow.cpp" line="1067"/>
<location filename="../gui/mainwindow.cpp" line="1070"/>
<source>A field has to be selected since new fields are always inserted before the currently selected field.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/mainwindow.cpp" line="1095"/>
<location filename="../gui/mainwindow.cpp" line="1098"/>
<source>No fields have been removed since there are currently no fields selected.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/mainwindow.cpp" line="1131"/>
<location filename="../gui/mainwindow.cpp" line="1134"/>
<source>No fields have been changed since there are currently no fields selected.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/mainwindow.cpp" line="1165"/>
<location filename="../gui/mainwindow.cpp" line="1168"/>
<source>Changing password</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/mainwindow.cpp" line="1173"/>
<location filename="../gui/mainwindow.cpp" line="1176"/>
<source>You didn&apos;t enter a password. &lt;strong&gt;No encryption&lt;/strong&gt; will be used when saving the file next time.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/mainwindow.cpp" line="1177"/>
<location filename="../gui/mainwindow.cpp" line="1180"/>
<source>The new password will be used next time you save the file.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/mainwindow.cpp" line="1182"/>
<location filename="../gui/mainwindow.cpp" line="1185"/>
<source>You aborted. The old password will still be used when saving the file next time.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/mainwindow.cpp" line="1205"/>
<location filename="../gui/mainwindow.cpp" line="1208"/>
<source>Remove entry</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/mainwindow.cpp" line="1211"/>
<location filename="../gui/mainwindow.cpp" line="1214"/>
<source>Expanded by default</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/mainwindow.cpp" line="1269"/>
<location filename="../gui/mainwindow.cpp" line="1272"/>
<source>Insert field</source>
<translation type="unfinished"></translation>
</message>
<message numerus="yes">
<location filename="../gui/mainwindow.cpp" line="1271"/>
<location filename="../gui/mainwindow.cpp" line="1274"/>
<source>Remove field(s)</source>
<translation type="unfinished">
<numerusform>Remove field</numerusform>
@ -926,37 +926,37 @@ OpenSSL error queue: %1</source>
</translation>
</message>
<message>
<location filename="../gui/mainwindow.cpp" line="1277"/>
<location filename="../gui/mainwindow.cpp" line="1280"/>
<source>Mark as password field</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/mainwindow.cpp" line="1280"/>
<location filename="../gui/mainwindow.cpp" line="1283"/>
<source>Mark as normal field</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/mainwindow.cpp" line="1286"/>
<location filename="../gui/mainwindow.cpp" line="1289"/>
<source>Copy</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/mainwindow.cpp" line="1287"/>
<location filename="../gui/mainwindow.cpp" line="1290"/>
<source>Copy for 5 seconds</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/mainwindow.cpp" line="1290"/>
<location filename="../gui/mainwindow.cpp" line="1293"/>
<source>Paste</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/mainwindow.cpp" line="1294"/>
<location filename="../gui/mainwindow.cpp" line="1297"/>
<source>Open URL</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../gui/mainwindow.cpp" line="1321"/>
<location filename="../gui/mainwindow.cpp" line="1324"/>
<source>The selection is empty.</source>
<translation type="unfinished"></translation>
</message>