Import 0.4.3 version in mainstream branch mainstream
authorYves Martin <ymartin59@free.fr>
Sun, 23 Jan 2011 12:32:40 +0000 (13:32 +0100)
committerYves Martin <ymartin59@free.fr>
Sun, 23 Jan 2011 12:33:55 +0000 (13:33 +0100)
83 files changed:
CMakeLists.txt
changelog
debian/changelog [deleted file]
debian/compat [deleted file]
debian/control [deleted file]
debian/copyright [deleted file]
debian/keepass.1 [deleted file]
debian/patches/00list [deleted file]
debian/patches/10_RemoveSystray.dpatch [deleted file]
debian/patches/20_LargeIcons.dpatch [deleted file]
debian/rules [deleted file]
share/keepassx/i18n/keepassx-de_DE.qm
share/keepassx/i18n/keepassx-es_ES.qm
share/keepassx/i18n/keepassx-fi_FI.qm
share/keepassx/i18n/keepassx-fr_FR.qm
share/keepassx/i18n/keepassx-gl_ES.qm
share/keepassx/i18n/keepassx-hu_HU.qm
share/keepassx/i18n/keepassx-it_IT.qm
share/keepassx/i18n/keepassx-ja_JP.qm [new file with mode: 0644]
share/keepassx/i18n/keepassx-nb_NO.qm
share/keepassx/i18n/keepassx-nl_NL.qm
share/keepassx/i18n/keepassx-pl_PL.qm
share/keepassx/i18n/keepassx-pt_PT.qm [new file with mode: 0644]
share/keepassx/i18n/keepassx-ru_RU.qm
share/keepassx/i18n/keepassx-sk_SK.qm [new file with mode: 0644]
share/keepassx/i18n/keepassx-sr_RS.qm [new file with mode: 0644]
share/keepassx/i18n/keepassx-tr_TR.qm
share/keepassx/i18n/keepassx-uk_UA.qm [new file with mode: 0644]
share/keepassx/i18n/keepassx-zh_CN.qm
share/keepassx/i18n/qt_fi.qm
share/keepassx/i18n/qt_gl_ES.qm [new file with mode: 0644]
share/keepassx/i18n/qt_hu.qm
share/keepassx/i18n/qt_it.qm
share/keepassx/i18n/qt_nl.qm
share/keepassx/i18n/qt_sr.qm [new file with mode: 0644]
share/keepassx/i18n/qt_tr.qm
share/macx_bundle/Info.plist
src/Kdb3Database.cpp
src/Kdb3Database.h
src/KpxConfig.h
src/apg/pronpass.c
src/apg/randpass.c
src/dialogs/EditGroupDlg.cpp
src/dialogs/EditGroupDlg.h
src/dialogs/SettingsDlg.cpp
src/export/Export_Txt.cpp
src/forms/MainWindow.ui
src/forms/SettingsDlg.ui
src/keepassx.h
src/lib/EntryView.cpp
src/lib/FileDialogs.cpp
src/lib/GroupView.cpp
src/mainwindow.cpp
src/mainwindow.h
src/src.pro
src/translations/keepassx-cs_CZ.ts
src/translations/keepassx-de_DE.ts
src/translations/keepassx-es_ES.ts
src/translations/keepassx-fi_FI.ts
src/translations/keepassx-fr_FR.ts
src/translations/keepassx-gl_ES.ts
src/translations/keepassx-hu_HU.ts
src/translations/keepassx-it_IT.ts
src/translations/keepassx-ja_JP.ts
src/translations/keepassx-nb_NO.ts
src/translations/keepassx-nl_NL.ts
src/translations/keepassx-pl_PL.ts
src/translations/keepassx-pt_PT.ts [new file with mode: 0644]
src/translations/keepassx-ru_RU.ts
src/translations/keepassx-sk_SK.ts [new file with mode: 0644]
src/translations/keepassx-sr_RS.ts [new file with mode: 0644]
src/translations/keepassx-tr_TR.ts
src/translations/keepassx-uk_UA.ts
src/translations/keepassx-xx_XX.ts
src/translations/keepassx-zh_CN.ts
src/translations/qt_fi.ts
src/translations/qt_gl_ES.ts [new file with mode: 0644]
src/translations/qt_hu.ts
src/translations/qt_it.ts
src/translations/qt_nl.ts
src/translations/qt_sr.ts [new file with mode: 0644]
src/translations/qt_tr.ts
translations_release.sh

index 6d98fe0..cbb1d40 100644 (file)
@@ -70,8 +70,8 @@ IF( AUTOTYPE )
        find_package(X11)
        
        IF( X11_XTest_FOUND )
-               INCLUDE_DIRECTORIES( ${X11_XTest_INCLUDE_PATH} )
-               SET(AUTOTYPE_LIBRARIES ${X11_XTest_LIB})
+               INCLUDE_DIRECTORIES( ${X11_X11_INCLUDE_PATH} ${X11_XTest_INCLUDE_PATH} )
+               SET(AUTOTYPE_LIBRARIES ${X11_X11_LIB} ${X11_XTest_LIB})
                ADD_DEFINITIONS(-DAUTOTYPE -DGLOBAL_AUTOTYPE)
        ELSE( X11_XTest_FOUND )
                SET(AUTOTYPE FALSE)
index c24bafe..1b83606 100644 (file)
--- a/changelog
+++ b/changelog
@@ -1,4 +1,31 @@
 ----------------------------
+    0.4.3 (2010-03-07)
+----------------------------
+
+- Fixed crash when editing groups (regression introduced in 0.4.2) (Bug #2964295)
+
+----------------------------
+    0.4.2 (2010-03-03)
+----------------------------
+
+- Re-added "Close to Tray" option
+- Use icon of parent group when creating a new entry (Bug #2494084)
+- Make database file saving transactional to avoid data loss
+- Fixed build errors with MSVC compiler (Bug #2926945), Qt 4.6 (Bug #2900850) and binutils gold linker
+- Switch focus to new entries (Bug #2899867, #2928843)
+- Added Cmd-M shortcut on Mac OS to minimize window (Bug #2827152)
+- Copy to clipboard even if field is empty (Bug #2889145)
+- Fixed possible database corruption when adding a new group while the Backup group exists (Bug #2897997)
+- Don't give up asking for the password after one decryption error when using the Twofish algorithm
+- Don't allow to drag'n'drop between databases to fix a crash (Bug #2961045)
+- Fixed: Closing KeePassX doesn't remove passwords from clipboard (Bug #2946601)
+- Fixed: Icons could be shown multiple times in Group dialog (Bug #2711510)
+- Fixed: Maximized state not saved when minimizing to tray [Windows] (Bug #2926367)
+- Better detection of the default directory to save the database
+- Added translations: Japanese, Portuguese, Serbian and Slovak and Ukrainian
+- Updated many translations
+
+----------------------------
     0.4.1 (2009-09-14)
 ----------------------------
 - Added initial documentation (by Jussi Sainio)
diff --git a/debian/changelog b/debian/changelog
deleted file mode 100644 (file)
index 1e237f1..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-keepassx (0.4.1) unstable; urgency=low
-
-  * Bumped to 0.4.1
-
- -- Timothy Redaelli <timothy@redaelli.eu>  Mon, 14 Dec 2009 18:13:01 +0100
-
-keepassx (0.2.2-3osso) unstable; urgency=low
-
-  * Add Maximize button support - Mark Bergman patch (  bergman@merctech.com ) 
-  * Set Large Fonts -  Mark Bergman patch (  bergman@merctech.com )
-  * Correct some package Bugs
-
- -- Antonio Aloisio <gnuton@gnuton.org>  Tue, 11 Mar 2008 20:20:13 +0100
-
-keepassx (0.2.2-2osso) unstable; urgency=low
-
-  * Imported to maemo Qt4 repository 
-
- -- Antonio Aloisio <gnuton@gnuton.org>  Fri, 28 Dic 2007 00:07:08 +0100
-
-keepassx (0.2.2-2) unstable; urgency=low
-
-  * Upload to unstable
-  * Fix typo in package description. Thanks to Stefan Fritsch!
-  * Translate desktop file
-
- -- Reinhard Tartler <siretart@tauware.de>  Sat, 10 Feb 2007 17:15:55 +0100
-
-keepassx (0.2.2-1) experimental; urgency=low
-
-  * cleanups to debian/rules
-  * upload to debian/experimental for now (Closes: #405896)
-  * small changes to description
-  * remove libstdc++6-4.0-dev from build-depends
-
- -- Reinhard Tartler <siretart@tauware.de>  Mon,  8 Jan 2007 17:59:13 +0100
-
-keepassx (0.2.2-0ubuntu1) edgy; urgency=low
-
-  * Initial release
-
- -- David Valot <ptitdav69@gmail.com>  Wed,  6 Sep 2006 21:07:02 +0200
-
diff --git a/debian/compat b/debian/compat
deleted file mode 100644 (file)
index 7ed6ff8..0000000
+++ /dev/null
@@ -1 +0,0 @@
-5
diff --git a/debian/control b/debian/control
deleted file mode 100644 (file)
index ebc4827..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-Source: keepassx
-Section: user/tools
-Priority: optional
-Maintainer: Timothy Redaelli <timothy@redaelli.eu>
-Maintainer: Timothy Redaelli <timothy@redaelli.eu>
-Build-Depends: debhelper (>= 5.0.0), libqt4-dev, libpng12-dev, libxtst-dev
-Standards-Version: 3.7.2
-
-Package: keepassx
-Architecture: any
-Depends: ${shlibs:Depends}
-XB-Maemo-Icon-26:
- iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAYAAACpSkzOAAAAAXNSR0IArs4c6QAAAAZiS0dE
- AP8A/wD/oL2nkwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9gDDA05Fs1HWjIAAAeM
- SURBVEjHpZZ7UNTXFcc/v99vH6z7QFAIisACglHBR7RaEJKIL6Cah21MWs1k0rGOzUzaibaJ
- aZwKjp1KTKrtjNE/rLFWbZ4jplF81Nck9Q2igIOwiyIIuyIsu8uyr9/+bv9QHOqk05n2zJw/
- 7tz7vZ85c84998D/Zr8G/HFxRpE6LlXk5U8WdrtdWKwWAQjgGpDC/2FFwGdmi1mUlZeJj/fs
- FpdrL4tWR4u43nBdHPqqWqx4dYUYnTRaSJLUB6wbEipAOZAD7ATeBt4AxgIdQN8wiAXYYbVZ
- l7zzztu8teYtdDZocl+ioes8PYG7jBubzg+fW4Y9M4ObzTdNfX19xUAj0CyZTCYxY+YMbDYb
- sizh9Xqpq7tKYCBwG1gItD4E/clsMb+5cuVKVv18JWdb/s4N73nCsh9NikFMwhCzMHXU08zP
- W8o/Tpyk4reVuLpdtcBiJS09rWL79u2sXr2aF19cSnlZGQOBARytrSOjUbVcCHEMSJEkafP0
- p6ZZN1Rs4LzzOHXe48QMISRZQEwmIToOKarD2deITotj7uxS2u/cpqnpxlihiagsSaA36Glt
- b+H01VP4wj7ee289K15dgcFgyAYOA5sMRsOYZ+fORZOjXOs9i9BHEWgQk5gYV8ia8irWlm7B
- 3Gnn7NUa+gJuSkvLsNlsAO/qNE0QCoY4c/0kR5zVpFvtrClbx7p17xIMBfni8y+zfV5fttVq
- JS8vj9auZoJyP5ImISsgqXqyUvIZnZAEQE5qHkeuHsDZ1czEiflkZmbi6fMga5qGoihkpWRj
- NVi4G27nDzW/p919i8qKjbz8yjLiTHGYTCYSExPoDbgIRgRqTEOLQTAU5NsrZ+js7OROxx1O
- nzxNKBbAF/JgHmEmzhT3oOqiarTCbs9g8YIlaCFBs6uZvlgP7d1OJqXmU/J0CZFoBLfbxYKF
- CwhJAzj9jSBryICiB3ePi2NfnKH60EFcwVtkFozmydTppFjTqa6u5m7nXZRoNFrR4nCQkZ7B
- ouIyCMk4ex3cC7tp63QyPWsGc4vnkp6ezoynZnLf28v1nosISSAelqNxpIQYFUB5Isi4WRZs
- 8TYK0krxewb55MDf6Pf0owBmv883u6GxQc7OzmbxvMUMeoM0u27SE3XR1d1FfsZUigufoT/g
- 4eCVA/SpbgAkGSRJRpZljBYFc6IRvV6H3TiFObmLqPm6hiOHa1BVFQU4Adj6+/tntbW1yZMm
- Taa8uJyAJ8CtPgddg120d7UTr4vnq9rPueo5j+BBflRVICkCIQQIgSRkRsZSWZL/GoPeENu2
- bePOnY5HnYGHMOu9e/fmNDRcp6CwkIUFC+ns6OaWx4E7eJfLLRdp8zuQ9DEkTWKCeTpjjHZ8
- 3iChSBhDdAS5ppm8MvsNLPqRbK6q4tTJU8RisQfRP9bLKmRZ3jBr9vfYsXMnY8aMYeuXH3Li
- 9hFkvUCnAxkdJWkLWVX6JqY4E5FIhGA4SJzRhE5RuHTpEtu2/ZF/fvMt4XBk6N6zusdAbkVR
- sFisxBmNRNUoETWKGtOQZA2BTJI8ipeLVmDQG9m1axc9PfcxW0YQHAzR0NhA3ZU6eu/3omna
- 0J3HgKXKMMgqvV7/4ZyiOYb3q6pISk5m25dbOdF2koimIskSEhJRLUq8MpIpWVOxWqzs27eP
- Tw58yrlz53C0OAgEAg9y9sC+BpYD/iHQSr1ev7VkXol5Y2UlafZ0dtfs5lDTV8RUFbvVToYt
- A7NkpS/qwdnTAiGZwmmF5OTk0NrqwO1yo6rqEOA6cBpYBXiGiuE1vV6/Y07RHFNlZSXjc8ez
- u2Y3n9Z9RpgQKSNSWP/Ce7zyzI8pfvJpXF0uWr1ObroakSIyJd+fR25uLrV1tfT29iLJ0jlZ
- lucLIfYDwUf/kaLI9UVFxbrNVZvJGp/F/qP72V97gJAUQpIk4vXxFGQXcLj6MAnxCZQWltHc
- 1szdgQ4c926ihTQWFC4kJyeHG0038Pl8adFI1A1cGJ58ZdToxIqq96uYMmUKe4/tZe/lvxIU
- QeJ1NqYlT2Va6jQmp03i80+/4ODBgxQWFDJ/xnwc7Q46Bjto7m4m7Iuy5NklpKaO5cyZswQG
- AunAIcD/CJSQmFixbNkyzjWf5+OLexiMDZJsSGL9c+v52eJVzJwwAwmZmpojfHP2G+qv1VNe
- Vk5RXjEtt1rpDnXT5rmJCEg8P/8FnE4nTY1NSZqmLXr4xXgBZCEEsViMbk83QhWkm9NYW76W
- 6bnT+WDLFn700kss/8lyLpy7gKZp1NfV8+663xAOhPnFD37JxPjJ+ANham9fJhwJo9frh4KY
- /NAB0ElIKDodZbPKmJKZT6J1FBPsE9jzlz189NEO/D7/8HJF0zROnTzFRoOB323axNrnf0XD
- rQaeiE/GaIxDjanfOdXo/AN+Thw/QXZ2NkjQI+5ztPooe/fuxef1DZ0LALeHFqqqjj5+7PgT
- iiLz+us/JXNkFrIkc62+nq6u7uGP9d9MGAwGYTQahdFoFAajQSiKMjSfCSAErHxMkwd0KYoi
- EhISRFJykkhOThZJyUnCYDQM15YPF309bOO7/LX/MOPlAX/+L9pHoH8BckZaKDsXE4QAAAAA
- SUVORK5CYII=
-Description: Cross Platform Password Manager
- KeePassX is a free/open-source password manager or safe which helps you
- to manage your passwords in a secure way. You can put all your
- passwords in one database, which is locked with one master key or a
- key-disk. So you only have to remember one single master password or
- insert the key-disk to unlock the whole database. The databases are
- encrypted using the algorithms AES or Twofish.
- .
-  Homepage: http://keepassx.sourceforge.net
-  Keepass for maemo homepage: http://qt4.garage.maemo.org
diff --git a/debian/copyright b/debian/copyright
deleted file mode 100644 (file)
index d840d8a..0000000
+++ /dev/null
@@ -1,161 +0,0 @@
-This package was debianized by David Valot <ptitdav69@gmail.com> on
-Wed,  6 Sep 2006 21:07:02 +0200.
-
-It was downloaded from http://keepassx.sourceforge.net
-
-Upstream Author: Tarek Saidi <mail@tarek-saidi.de>
-
-Copyright: 2006 Tarek Saidi
-
-License:
-
-   This package is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 2 of the License, or
-   (at your option) any later version.
-
-   This package is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with this package; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
-
-On Debian systems, the complete text of the GNU General
-Public License can be found in `/usr/share/common-licenses/GPL'.
-
-The Debian packaging is (C) 2006, David Valot <ptitdav69@gmail.com> and
-(C) 2007, Reinhard Tartler <siretart@tauware.de>. It is licensed under
-the GPL, see above.
-
-The directory src/crypto contains implementations of several crypto
-algorithms, which have other licences and/or copyright holders:
-
-src/crypto/blowfish.c:
-
-/* 2003.05.02: Derived from libgcrypt-1.1.12 by Michael Buesch */
-
-/* blowfish.c  -  Blowfish encryption
- *     Copyright (C) 1998, 2001, 2002 Free Software Foundation, Inc.
- *
- * This file is part of Libgcrypt.
- *
- * Libgcrypt is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser general Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- ...
- */
-
-
-src/crypto/rijandael.cpp:
-
-// Another implementation of the Rijndael cipher.
-// This is intended to be an easily usable library file.
-// This code is public domain.
-// Based on the Vincent Rijmen and K.U.Leuven implementation 2.4.
-//
-
-//
-// Original Copyright notice:
-//
-//    rijndael-alg-fst.c   v2.4   April '2000
-//    rijndael-alg-fst.h
-//    rijndael-api-fst.c
-//    rijndael-api-fst.h
-//
-//    Optimised ANSI C code
-//
-//    authors: v1.0: Antoon Bosselaers
-//             v2.0: Vincent Rijmen, K.U.Leuven
-//             v2.3: Paulo Barreto
-//             v2.4: Vincent Rijmen, K.U.Leuven
-//
-//    This code is placed in the public domain.
-//
-
-src/crypto/sha1.cpp:
-/*
-       100% free public domain implementation of the SHA-1 algorithm
-       by Dominik Reichl <dominik.reichl@t-online.de>
-...
-*/
-
-src/crypto/sha256.c:
-
-/*
- *  FIPS-180-2 compliant SHA-256 implementation
- *
- *  Copyright (C) 2001-2003  Christophe Devine
- *
- *  This program is free software; you can redistribute it and/or modify
- *  it under the terms of the GNU General Public License as published by
- *  the Free Software Foundation; either version 2 of the License, or
- *  (at your option) any later version.
- ...
- */
-
-src/crypto/twoclass.cpp:
-
-/*
-  Copyright (c) 2003/2004, Dominik Reichl <dominik.reichl@t-online.de>
-  All rights reserved.
-
-  Redistribution and use in source and binary forms, with or without
-  modification, are permitted provided that the following conditions are met:
-
-  - Redistributions of source code must retain the above copyright notice,
-    this list of conditions and the following disclaimer. 
-  - Redistributions in binary form must reproduce the above copyright notice,
-    this list of conditions and the following disclaimer in the documentation
-    and/or other materials provided with the distribution.
-  - Neither the name of ReichlSoft nor the names of its contributors may be
-    used to endorse or promote products derived from this software without
-    specific prior written permission.
-
-  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-  AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-  IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-  ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
-  LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-  CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-  SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-  INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-  CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-  POSSIBILITY OF SUCH DAMAGE.
-*/
-
-src/crypto/twofish.cpp:
-
- * Fast, portable, and easy-to-use Twofish implementation, 
- * Version 0.3.
- * Copyright (c) 2002 by Niels Ferguson. 
-
- * Now for the license:
- * The author hereby grants a perpetual license to everybody to
- * use this code for any purpose as long as the copyright message is included
- * in the source code of this or any derived work.
- * 
- * Yes, this means that you, your company, your club, and anyone else
- * can use this code anywhere you want. You can change it and distribute it
- * under the GPL, include it in your commercial product without releasing
- * the source code, put it on the web, etc. 
- * The only thing you cannot do is remove my copyright message, 
- * or distribute any source code based on this implementation that does not 
- * include my copyright message. 
- * 
- * I appreciate a mention in the documentation or credits, 
- * but I understand if that is difficult to do.
- * I also appreciate it if you tell me where and why you used my code.
- *
- * Please send any questions or comments to niels@ferguson.net
-
- * DISCLAIMER: As I'm giving away my work for free, I'm of course not going
- * to accept any liability of any form. This code, or the Twofish cipher,
- * might very well be flawed; you have been warned.
- * This software is provided as-is, without any kind of warrenty or
- * guarantee. And that is really all you can expect when you download 
- * code for free from the Internet. 
diff --git a/debian/keepass.1 b/debian/keepass.1
deleted file mode 100644 (file)
index 1b211e4..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-.TH KEEPASSX 1 "Sep 04, 2006"
-.SH NAME
-keepassx \- password manager
-.SH SYNOPSIS
-.B keepassx
-.RI [ files/filelist ]
-.SH DESCRIPTION
-\fBKeePassX\fP is a free/open-source password manager or safe which helps you to manage your passwords in a secure way. You can put all your passwords in one database, which is locked with one master key or a key-disk. So you only have to remember one single master password or insert the key-disk to unlock the whole database. The databases are encrypted using the best and most secure encryption algorithms currently known (AES and Twofish).
-.SH COMMANDS
-.SH AUTHOR
-This manual page was written by David Valot <ptitdav69@gmail.com>,
-for the Debian project (but may be used by others).
diff --git a/debian/patches/00list b/debian/patches/00list
deleted file mode 100644 (file)
index a313ed0..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-10_RemoveSystray.dpatch
-20_LargeIcons.dpatch
diff --git a/debian/patches/10_RemoveSystray.dpatch b/debian/patches/10_RemoveSystray.dpatch
deleted file mode 100755 (executable)
index 27de627..0000000
+++ /dev/null
@@ -1,157 +0,0 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## RemoveSystray.dpatch by  <drizzt@>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: No description.
-
-@DPATCH@
-diff -urNad keepassx-0.4.1~/src/main.cpp keepassx-0.4.1/src/main.cpp
---- keepassx-0.4.1~/src/main.cpp       2009-09-03 18:53:44.000000000 +0200
-+++ keepassx-0.4.1/src/main.cpp        2009-12-15 17:17:27.222405495 +0100
-@@ -56,6 +56,13 @@
- #else
-       QApplication* app = new QApplication(argc,argv);
- #endif
-+
-+#ifdef Q_WS_HILDON
-+      QFont font = app->font();
-+      font.setPointSize( font.pointSize()-4 );
-+      app->setFont( font );
-+#endif
-+      
-       EventListener* eventListener = new EventListener();
-       app->installEventFilter(eventListener);
-       
-diff -urNad keepassx-0.4.1~/src/mainwindow.cpp keepassx-0.4.1/src/mainwindow.cpp
---- keepassx-0.4.1~/src/mainwindow.cpp 2009-09-14 10:59:05.000000000 +0200
-+++ keepassx-0.4.1/src/mainwindow.cpp  2009-12-15 17:17:27.222405495 +0100
-@@ -72,7 +72,9 @@
-               restoreGeometry(windowGeo);
-       VSplitter->restoreState(config->vSplitterPos());
-       HSplitter->restoreState(config->hSplitterPos());
-+#ifndef       Q_WS_HILDON
-       SysTray=new QSystemTrayIcon(this);
-+#endif
-       setupToolbar();
-       setupIcons();
-       setStateFileOpen(false);
-@@ -207,7 +209,9 @@
-       connect(EntryView, SIGNAL(viewModeChanged(bool)), SLOT(loadColumnVisibility()));
-       connect(EntryView, SIGNAL(viewModeChanged(bool)), ViewColumnsGroupAction, SLOT(setVisible(bool)));
-+#ifndef Q_WS_HILDON
-       connect(SysTray,SIGNAL(activated(QSystemTrayIcon::ActivationReason)),this,SLOT(OnSysTrayActivated(QSystemTrayIcon::ActivationReason)));
-+#endif
-       connect(DetailView,SIGNAL(anchorClicked(const QUrl&)),this,SLOT(OnDetailViewUrlClicked(const QUrl&)));
-       connect(WorkspaceLockedWidget.Button_Unlock,SIGNAL(clicked()),this,SLOT(OnUnLockWorkspace()));
-       connect(WorkspaceLockedWidget.Button_CloseDatabase,SIGNAL(clicked()),this,SLOT(OnLockClose()));
-@@ -278,9 +282,11 @@
-       AddThisAsBookmarkAction->setIcon(getIcon("bookmark_this"));
-       AddBookmarkAction->setIcon(getIcon("bookmark_add"));
-       ManageBookmarksAction->setIcon(getIcon("bookmark"));
-+#ifndef Q_WS_HILDON
-       SysTray->setIcon(getIcon("keepassx"));
-       if(config->showSysTrayIcon())
-               SysTray->show();
-+#endif
- }
- void KeepassMainWindow::setupMenus(){
-@@ -327,9 +333,11 @@
-       SysTrayMenu->addAction(FileUnLockWorkspaceAction);
-       SysTrayMenu->addSeparator();
-       SysTrayMenu->addAction(FileExitAction);
-+#ifndef Q_WS_HILDON
-       SysTray->setContextMenu(SysTrayMenu);
-       updateTrayTooltip();
--
-+#endif
-+      
-       #define _add_import(name){\
-       QAction* import=new QAction(this);\
-       import->setData(qVariantFromValue(dynamic_cast<QObject*>(&name)));\
-@@ -1082,7 +1090,9 @@
-               config->setHSplitterPos(HSplitter->saveState());
-       config->setShowStatusbar(statusBar()->isVisible());
-       
-+#ifndef Q_WS_HILDON
-       delete SysTray;
-+#endif
-       QMainWindow::closeEvent(e);
-       QApplication::quit();
- }
-@@ -1133,7 +1143,9 @@
-       }
-       
-       EntryView->setAlternatingRowColors(config->alternatingRowColors());
-+#ifndef Q_WS_HILDON
-       SysTray->setVisible(config->showSysTrayIcon());
-+#endif
-       menuBookmarks->menuAction()->setVisible(config->featureBookmarks());
- #ifndef Q_WS_MAC
-       if (config->alwaysOnTop() != oldAlwaysOnTop) {
-@@ -1225,6 +1237,7 @@
-       toolBar->setIconSize(QSize(28,28));
- }
-+#ifndef Q_WS_HILDON
- void KeepassMainWindow::OnSysTrayActivated(QSystemTrayIcon::ActivationReason reason){
-       if(reason!=QSystemTrayIcon::Context){
-               if (isVisible()){
-@@ -1243,6 +1256,7 @@
-               }
-       }
- }
-+#endif
- void KeepassMainWindow::restoreWindow(){
-       showNormal();
-@@ -1344,7 +1358,9 @@
-       NormalCentralWidget->setParent(NULL);
-       setCentralWidget(LockedCentralWidget);
-       LockedCentralWidget->setVisible(true);
-+#ifndef Q_WS_HILDON
-       SysTray->setIcon(getIcon("keepassx_locked"));
-+#endif
-       FileUnLockWorkspaceAction->setText(tr("Un&lock Workspace"));
-       IsLocked=true;
-       updateTrayTooltip();
-@@ -1359,7 +1375,9 @@
-       LockedCentralWidget->setParent(NULL);
-       setCentralWidget(NormalCentralWidget);
-       NormalCentralWidget->setVisible(true);
-+#ifndef Q_WS_HILDON
-       SysTray->setIcon(getIcon("keepassx"));
-+#endif
-       FileUnLockWorkspaceAction->setText(tr("&Lock Workspace"));
-       IsLocked=false;
-       updateTrayTooltip();
-@@ -1481,6 +1499,7 @@
- }
- void KeepassMainWindow::updateTrayTooltip() {
-+#ifndef Q_WS_HILDON
-       if (!IsLocked && !FileOpen)
-               SysTray->setToolTip(QString("%1 - %2").arg(APP_DISPLAY_NAME, APP_SHORT_FUNC));
-       else {
-@@ -1490,6 +1509,7 @@
-                       tooltip.append( QString(" (%1)").arg(tr("locked")) );
-               SysTray->setToolTip(tooltip);
-       }
-+#endif
- }
- void KeepassMainWindow::updateCurrentFile(const QString& filePath) {
-diff -urNad keepassx-0.4.1~/src/mainwindow.h keepassx-0.4.1/src/mainwindow.h
---- keepassx-0.4.1~/src/mainwindow.h   2009-12-15 16:55:18.000000000 +0100
-+++ keepassx-0.4.1/src/mainwindow.h    2009-12-15 17:17:27.232398814 +0100
-@@ -131,7 +131,9 @@
-               QLabel* StatusBarGeneral;
-               //QLabel* StatusBarSelection;
-               QToolBar* toolBar;
-+#ifndef Q_WS_HILDON
-               QSystemTrayIcon* SysTray;
-+#endif
-               QAction* ViewShowToolbarAction;
-               QMenu* SysTrayMenu;
-               //QAssistantClient* HelpBrowser; //TODO HelpBrowser
diff --git a/debian/patches/20_LargeIcons.dpatch b/debian/patches/20_LargeIcons.dpatch
deleted file mode 100755 (executable)
index 2ba0fbe..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 20_LargeIcons.dpatch by  <drizzt@>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: No description.
-
-@DPATCH@
-diff -urNad keepassx-0.4.1~/src/KpxConfig.h keepassx-0.4.1/src/KpxConfig.h
---- keepassx-0.4.1~/src/KpxConfig.h    2009-12-15 17:17:21.000000000 +0100
-+++ keepassx-0.4.1/src/KpxConfig.h     2009-12-15 17:37:33.632426586 +0100
-@@ -99,7 +99,7 @@
-       bool showStatusbar(){return settings.value("UI/ShowStatusbar",true).toBool();}
-       bool showSysTrayIcon(){return settings.value("Options/ShowSysTrayIcon",false).toBool();}
-       bool showToolbar(){return settings.value("UI/ShowToolbar",true).toBool();}
--      int toolbarIconSize(){return settings.value("UI/ToolbarIconSize",16).toInt();}
-+      int toolbarIconSize(){return settings.value("UI/ToolbarIconSize",28).toInt();}
-       QString urlCmd(){return settings.value("Options/UrlCmd").toString();}
-       bool urlCmdDef(){return settings.value("Options/UrlCmdDef",true).toBool();}
-       QByteArray vSplitterPos(){return settings.value("UI/VSplitterPos").toByteArray();}
diff --git a/debian/rules b/debian/rules
deleted file mode 100755 (executable)
index 898f867..0000000
+++ /dev/null
@@ -1,73 +0,0 @@
-#!/usr/bin/make -f
-# -*- makefile -*-
-
-# Uncomment this to turn on verbose mode.
-#export DH_VERBOSE=1
-
-# Include dpatch stuff.
-# include /usr/share/dpatch/dpatch.make
-
-CFLAGS = -Wall -g
-ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
-       CFLAGS += -O0
-else
-       CFLAGS += -O2
-endif
-
-build: patch build-stamp
-build-stamp: 
-       dh_testdir
-       #/opt/qt4-maemo5/bin/
-       qmake-qt4 PREFIX=/usr QMAKE_CFLAGS_DEBUG="$(CFLAGS)" QMAKE_CXXFLAGS_DEBUG="$(CFLAGS)" DEBUG=1
-       $(MAKE)
-       touch build-stamp
-
-clean: clean-patched unpatch
-clean-patched:
-       dh_testdir
-       dh_testroot
-       rm -f build-stamp configure-stamp
-       -$(MAKE) distclean
-       rm -rf src/Makefile Makefile
-       dh_clean 
-
-install: build
-       dh_testdir
-       dh_testroot
-       dh_clean -k 
-       dh_installdirs
-       make INSTALL_ROOT=$(CURDIR)/debian/keepassx install
-
-binary-indep: build install
-# We have nothing to do by default.
-
-# Build architecture-dependent files here.
-binary-arch: build install
-       dh_testdir
-       dh_testroot
-       dh_installchangelogs changelog
-       dh_installdocs
-       dh_installexamples
-       dh_installman debian/keepass.1
-       dh_desktop
-       dh_link
-       dh_strip
-       dh_compress
-       dh_fixperms
-       dh_installdeb
-       dh_shlibdeps
-       dh_gencontrol
-       dh_md5sums
-       dh_builddeb
-
-patch: patch-stamp
-
-patch-stamp:
-       dpatch apply-all
-
-unpatch:
-       dpatch deapply-all
-       rm -rf debian/patched
-
-binary: binary-indep binary-arch
-.PHONY: build build-stamp clean clean-patched install binary-indep binary-arch binary patch patch-stamp unpatch binary
index 2df2805..772c00f 100644 (file)
Binary files a/share/keepassx/i18n/keepassx-de_DE.qm and b/share/keepassx/i18n/keepassx-de_DE.qm differ
index 97d14d1..e422550 100644 (file)
Binary files a/share/keepassx/i18n/keepassx-es_ES.qm and b/share/keepassx/i18n/keepassx-es_ES.qm differ
index 40c4a0e..a6a6bf9 100644 (file)
Binary files a/share/keepassx/i18n/keepassx-fi_FI.qm and b/share/keepassx/i18n/keepassx-fi_FI.qm differ
index 53cb6f9..eeeab86 100644 (file)
Binary files a/share/keepassx/i18n/keepassx-fr_FR.qm and b/share/keepassx/i18n/keepassx-fr_FR.qm differ
index 36e34e1..5370c06 100644 (file)
Binary files a/share/keepassx/i18n/keepassx-gl_ES.qm and b/share/keepassx/i18n/keepassx-gl_ES.qm differ
index 2c50b4c..16364b2 100644 (file)
Binary files a/share/keepassx/i18n/keepassx-hu_HU.qm and b/share/keepassx/i18n/keepassx-hu_HU.qm differ
index 10569fe..99c72bd 100644 (file)
Binary files a/share/keepassx/i18n/keepassx-it_IT.qm and b/share/keepassx/i18n/keepassx-it_IT.qm differ
diff --git a/share/keepassx/i18n/keepassx-ja_JP.qm b/share/keepassx/i18n/keepassx-ja_JP.qm
new file mode 100644 (file)
index 0000000..5fa3039
Binary files /dev/null and b/share/keepassx/i18n/keepassx-ja_JP.qm differ
index ca8f2cf..d283271 100644 (file)
Binary files a/share/keepassx/i18n/keepassx-nb_NO.qm and b/share/keepassx/i18n/keepassx-nb_NO.qm differ
index 36e220a..7aeb515 100644 (file)
Binary files a/share/keepassx/i18n/keepassx-nl_NL.qm and b/share/keepassx/i18n/keepassx-nl_NL.qm differ
index f201817..65f655a 100644 (file)
Binary files a/share/keepassx/i18n/keepassx-pl_PL.qm and b/share/keepassx/i18n/keepassx-pl_PL.qm differ
diff --git a/share/keepassx/i18n/keepassx-pt_PT.qm b/share/keepassx/i18n/keepassx-pt_PT.qm
new file mode 100644 (file)
index 0000000..b17b9e3
Binary files /dev/null and b/share/keepassx/i18n/keepassx-pt_PT.qm differ
index 30dc147..a4c1146 100644 (file)
Binary files a/share/keepassx/i18n/keepassx-ru_RU.qm and b/share/keepassx/i18n/keepassx-ru_RU.qm differ
diff --git a/share/keepassx/i18n/keepassx-sk_SK.qm b/share/keepassx/i18n/keepassx-sk_SK.qm
new file mode 100644 (file)
index 0000000..2ee1758
Binary files /dev/null and b/share/keepassx/i18n/keepassx-sk_SK.qm differ
diff --git a/share/keepassx/i18n/keepassx-sr_RS.qm b/share/keepassx/i18n/keepassx-sr_RS.qm
new file mode 100644 (file)
index 0000000..0c42ecf
Binary files /dev/null and b/share/keepassx/i18n/keepassx-sr_RS.qm differ
index 7234e50..4962785 100644 (file)
Binary files a/share/keepassx/i18n/keepassx-tr_TR.qm and b/share/keepassx/i18n/keepassx-tr_TR.qm differ
diff --git a/share/keepassx/i18n/keepassx-uk_UA.qm b/share/keepassx/i18n/keepassx-uk_UA.qm
new file mode 100644 (file)
index 0000000..3944e31
Binary files /dev/null and b/share/keepassx/i18n/keepassx-uk_UA.qm differ
index d29500f..4d837f9 100644 (file)
Binary files a/share/keepassx/i18n/keepassx-zh_CN.qm and b/share/keepassx/i18n/keepassx-zh_CN.qm differ
index f4ee13f..dc70e8a 100644 (file)
Binary files a/share/keepassx/i18n/qt_fi.qm and b/share/keepassx/i18n/qt_fi.qm differ
diff --git a/share/keepassx/i18n/qt_gl_ES.qm b/share/keepassx/i18n/qt_gl_ES.qm
new file mode 100644 (file)
index 0000000..54c9653
Binary files /dev/null and b/share/keepassx/i18n/qt_gl_ES.qm differ
index be651ee..60c5853 100644 (file)
Binary files a/share/keepassx/i18n/qt_hu.qm and b/share/keepassx/i18n/qt_hu.qm differ
index 70526dd..8830e50 100644 (file)
Binary files a/share/keepassx/i18n/qt_it.qm and b/share/keepassx/i18n/qt_it.qm differ
index be651ee..44f2701 100644 (file)
Binary files a/share/keepassx/i18n/qt_nl.qm and b/share/keepassx/i18n/qt_nl.qm differ
diff --git a/share/keepassx/i18n/qt_sr.qm b/share/keepassx/i18n/qt_sr.qm
new file mode 100644 (file)
index 0000000..f040c60
Binary files /dev/null and b/share/keepassx/i18n/qt_sr.qm differ
index 56b2412..b0d14e9 100644 (file)
Binary files a/share/keepassx/i18n/qt_tr.qm and b/share/keepassx/i18n/qt_tr.qm differ
index 57fc349..f75c278 100644 (file)
@@ -16,7 +16,7 @@
     <string>APPL</string>
 
     <key>CFBundleGetInfoString</key>
-    <string>KeePassX 0.4.1</string>
+    <string>KeePassX 0.4.3</string>
 
     <key>CFBundleSignature</key>
     <string>kpsx</string>
     <string>KeePassX</string>
 
     <key>CFBundleVersion</key>
-    <string>0.4.1</string>
+    <string>0.4.3</string>
 
     <key>CFBundleShortVersionString</key>
-    <string>0.4.1</string>
+    <string>0.4.3</string>
 
     <key>CFBundleName</key>
     <string>KeePassX</string>
index 4eb8f99..86913bc 100644 (file)
@@ -52,7 +52,7 @@ bool Kdb3Database::StdEntryLessThan(const Kdb3Database::StdEntry& This,const Kdb
 }
 
 
-Kdb3Database::Kdb3Database() : RawMasterKey(32), RawMasterKey_CP1252(32),
+Kdb3Database::Kdb3Database() : File(NULL), RawMasterKey(32), RawMasterKey_CP1252(32),
        RawMasterKey_Latin1(32), RawMasterKey_UTF8(32), MasterKey(32){
 }
 
@@ -448,14 +448,28 @@ bool Kdb3Database::createGroupTree(QList<quint32>& Levels){
        for(int i=0;i<Groups.size();i++)EntryIndexCounter << 0;
 
        for(int e=0;e<Entries.size();e++){
+               int groupIndex = -1;
                for(int g=0;g<Groups.size();g++){
                        if(Entries[e].GroupId==Groups[g].Id){
-                               Groups[g].Entries.append(&Entries[e]);
-                               Entries[e].Group=&Groups[g];
-                               Entries[e].Index=EntryIndexCounter[g];
-                               EntryIndexCounter[g]++;
+                               groupIndex = g;
+                               break;
                        }
                }
+               
+               if (groupIndex == -1) {
+                       qWarning("Orphaned entry found, assigning to first group");
+                       for(int g=0;g<Groups.size();g++){
+                               if(Groups[g].Id == RootGroup.Children[0]->Id){
+                                       groupIndex = g;
+                                       break;
+                               }
+                       }
+               }
+               
+               Groups[groupIndex].Entries.append(&Entries[e]);
+               Entries[e].Group=&Groups[groupIndex];
+               Entries[e].Index=EntryIndexCounter[groupIndex];
+               EntryIndexCounter[groupIndex]++;
        }
 
        return true;
@@ -504,12 +518,6 @@ bool Kdb3Database::load(QString identifier, bool readOnly){
        return false;
 
 bool Kdb3Database::loadReal(QString filename, bool readOnly, bool differentEncoding) {
-       unsigned long total_size,crypto_size;
-       quint32 Signature1,Signature2,Version,NumGroups,NumEntries,Flags;
-       quint8 FinalRandomSeed[16];
-       quint8 ContentsHash[32];
-       quint8 EncryptionIV[16];
-       
        File = new QFile(filename);
        if (readOnly) {
                if(!File->open(QIODevice::ReadOnly)){
@@ -533,6 +541,14 @@ bool Kdb3Database::loadReal(QString filename, bool readOnly, bool differentEncod
                }
        }
        
+       openedReadOnly = readOnly;
+       
+       unsigned long total_size,crypto_size;
+       quint32 Signature1,Signature2,Version,NumGroups,NumEntries,Flags;
+       quint8 FinalRandomSeed[16];
+       quint8 ContentsHash[32];
+       quint8 EncryptionIV[16];
+       
        total_size=File->size();
        char* buffer = new char[total_size];
        File->read(buffer,total_size);
@@ -609,6 +625,7 @@ bool Kdb3Database::loadReal(QString filename, bool readOnly, bool differentEncod
        
        if ((crypto_size > 2147483446) || (!crypto_size && NumGroups)){
                error=tr("Decryption failed.\nThe key is wrong or the file is damaged.");
+               KeyError=true;
                LOAD_RETURN_CLEANUP
        }
        SHA256::hashBuffer(buffer+DB_HEADER_SIZE,FinalKey,crypto_size);
@@ -1104,13 +1121,16 @@ IGroupHandle* Kdb3Database::addGroup(const CGroup* group,IGroupHandle* ParentHan
                Groups.back().Parent->Children.append(&Groups.back());
        }
        else{
+               // Insert to root group. Try to keep Backup group at the end.
                Groups.back().Parent=&RootGroup;
                Groups.back().Index=RootGroup.Children.size();
-               if (group->Title!="Backup" && RootGroup.Children.size() && RootGroup.Children.last()->Title=="Backup"){
+               int position = RootGroup.Children.size();
+               if (group->Title!="Backup" && !RootGroup.Children.isEmpty() && RootGroup.Children.last()->Title=="Backup"){
                        RootGroup.Children.last()->Index = Groups.back().Index;
                        Groups.back().Index--;
+                       position--;
                }
-               Groups.back().Parent->Children.append(&Groups.back());
+               RootGroup.Children.insert(position, &Groups.back());
        }
        return &GroupHandles.back();
 }
@@ -1135,11 +1155,25 @@ IGroupHandle* Kdb3Database::backupGroup(bool create){
        return group;
 }
 
+Kdb3Database::StdEntry::StdEntry(){
+       Handle = NULL;
+       Group = NULL;
+}
+
+Kdb3Database::StdGroup::StdGroup(){
+       Index=0;
+       Id=0;
+       Parent=NULL;
+       Handle=NULL;
+}
+
 Kdb3Database::StdGroup::StdGroup(const CGroup& other){
        Index=0;
        Id=other.Id;
        Image=other.Image;
        Title=other.Title;
+       Parent=NULL;
+       Handle=NULL;
 }
 
 void Kdb3Database::EntryHandle::setTitle(const QString& Title){Entry->Title=Title; }
@@ -1225,6 +1259,7 @@ void Kdb3Database::EntryHandle::setVisualIndex(int index){
 Kdb3Database::EntryHandle::EntryHandle(Kdb3Database* db){
        pDB=db;
        valid=true;
+       Entry=NULL;
 }
 
 
@@ -1319,6 +1354,18 @@ bool Kdb3Database::save(){
                return false;
        }
        
+       if (!File->isOpen()) {
+               if(!File->open(QIODevice::ReadWrite)){
+                       error=tr("Could not open file.");
+                       return false;
+               }
+       }
+       
+       if(!(File->openMode() & QIODevice::WriteOnly)){
+               error = tr("The database has been opened read-only.");
+               return false;
+       }
+       
        //Delete old backup entries
        if (config->backup() && config->backupDelete() && config->backupDeleteAfter()>0 && backupGroup()){
                QDateTime time = QDateTime::currentDateTime().addDays(-config->backupDeleteAfter());
@@ -1334,11 +1381,6 @@ bool Kdb3Database::save(){
        quint8 ContentsHash[32];
        quint8 EncryptionIV[16];
 
-       if(!(File->openMode() & QIODevice::WriteOnly)){
-               error = tr("The database has been opened read-only.");
-               return false;
-       }
-
        unsigned int FileSize;
 
        QList<StdEntry> MetaStreams;
@@ -1455,31 +1497,53 @@ bool Kdb3Database::save(){
        
        int size = EncryptedPartSize+DB_HEADER_SIZE;
        
-       if (!File->resize(size)){
-               // only recreate file if the new database is smaller
-               if (File->size() > size) {
-                       qDebug("Unable to resize, trying to recreate file");
-                       if (!File->remove() || !File->open(QIODevice::ReadWrite)) {
-                               delete [] buffer;
-                               error=decodeFileError(File->error());
-                               return false;
-                       }
-               }
-       }
-       File->seek(0);
-       if (File->write(buffer,size)!=size){
-               delete [] buffer;
+       if (!saveFileTransactional(buffer, size)) {
                error=decodeFileError(File->error());
+               delete [] buffer;
                return false;
        }
-       if (!syncFile(File))
-               qWarning("Unable to flush file to disk");
 
        delete [] buffer;
        //if(SearchGroupID!=-1)Groups.push_back(SearchGroup);
        return true;
 }
 
+bool Kdb3Database::saveFileTransactional(char* buffer, int size) {
+       QString orgFilename = File->fileName();
+       QFile* tmpFile = new QFile(orgFilename + ".tmp");
+       if (!tmpFile->open(QIODevice::WriteOnly|QIODevice::Truncate)) {
+               tmpFile->remove();
+               delete tmpFile;
+               return false;
+       }
+       if (tmpFile->write(buffer,size) != size) {
+               tmpFile->remove();
+               delete tmpFile;
+               return false;
+       }
+       if (!syncFile(tmpFile))
+               qWarning("Unable to flush file to disk");
+       tmpFile->close();
+       if (!File->remove()) {
+               delete tmpFile;
+               return false;
+       }
+       delete File;
+       File = NULL;
+       if (!tmpFile->rename(orgFilename)) {
+               delete tmpFile;
+               File = new QFile(orgFilename);
+               return false;
+       }
+       File = tmpFile;
+       if (!tmpFile->open(QIODevice::ReadWrite)) {
+               delete tmpFile;
+               return false;
+       }
+       
+       return true;
+}
+
 void Kdb3Database::createCustomIconsMetaStream(StdEntry* e){
        /* Rev 3 */
        e->BinaryDesc="bin-stream";
index 765bbf9..4e05087 100644 (file)
@@ -117,6 +117,7 @@ public:
 
        class StdEntry:public CEntry{
                public:
+                               StdEntry();
                                quint16 Index;
                                EntryHandle* Handle;
                                StdGroup* Group;
@@ -124,7 +125,7 @@ public:
 
        class StdGroup:public CGroup{
                public:
-                       StdGroup():CGroup(){};
+                       StdGroup();
                        StdGroup(const CGroup&);
                        quint16 Index;
                        StdGroup* Parent;
@@ -137,6 +138,7 @@ public:
        virtual ~Kdb3Database(){};
        virtual bool load(QString identifier, bool readOnly);
        virtual bool save();
+       virtual bool saveFileTransactional(char* buffer, int size);
        virtual bool close();
        virtual void create();
        virtual int numEntries();
@@ -235,6 +237,7 @@ private:
        StdGroup RootGroup;
        QList<QPixmap>CustomIcons;
        QFile* File;
+       bool openedReadOnly;
        QString error;
        bool KeyError;
        bool PotentialEncodingIssueLatin1;
index 45ff3ec..2de2c15 100644 (file)
@@ -70,6 +70,7 @@ public:
        QString lastKeyLocation(){return settings.value("Options/LastKeyLocation").toString();}
        tKeyType lastKeyType(){return stringToKeyType(settings.value("Options/LastKeyType").toString());}
        QByteArray mainWindowGeometry();
+       bool minimizeToTray(){return settings.value("Options/MinimizeToTray",false).toBool();}  
        bool minimizeTray(){return settings.value("Options/MinimizeTray",false).toBool();}
        bool startMinimized(){return settings.value("Options/StartMinimized",false).toBool();}
        bool startLocked(){return settings.value("Options/StartLocked",false).toBool();}
@@ -142,6 +143,7 @@ public:
        void setLastKeyLocation(const QString& value){settings.setValue("Options/LastKeyLocation",value);}
        void setLastKeyType(tKeyType value){settings.setValue("Options/LastKeyType",keyTypeToString(value));}
        void setMainWindowGeometry(const QByteArray& value){settings.setValue("UI/MainWindowGeometry",value);}
+       void setMinimizeToTray(bool value){settings.setValue("Options/MinimizeToTray",value);}
        void setMinimizeTray(bool value){settings.setValue("Options/MinimizeTray",value);}
        void setStartMinimized(bool value){settings.setValue("Options/StartMinimized",value);}
        void setStartLocked(bool value){settings.setValue("Options/StartLocked",value);}
index 6169b1c..bf4272c 100644 (file)
 */
 
 
-#include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
-#include <time.h>
-#include <sys/types.h>
 
 #include "random.h"
 
index 9cf105f..66d3d29 100644 (file)
 ** randpass.c - Random password generation module of PWGEN program
 */
 
-#include <stdio.h>
-#include <stdlib.h>
-#include <time.h>
-#include <unistd.h>
-
 #include "random.h"
 
 #include "randpass.h"
index 31f0c0e..42f5ab1 100644 (file)
 CEditGroupDialog::CEditGroupDialog(IDatabase* database,IGroupHandle* Handle,QWidget* parent, Qt::WFlags fl)
 : QDialog(parent,fl)
 {
-       setupUi(this);
-       db=database;
-       handle=Handle;
-       group=new CGroup();
-       group->Title=handle->title();
-       group->Image=handle->image();
-       connect( ButtonBox, SIGNAL( accepted() ), this, SLOT( OnOK() ) );
-       connect( ButtonBox, SIGNAL( rejected() ), this, SLOT( OnCancel() ) );
-       connect( Button_Icon, SIGNAL( clicked() ), this, SLOT( OnIconDlg() ));
-       adjustSize();
-       setMaximumSize(size());
-       setMinimumSize(size());
+       db = database;
+       handle = Handle;
+       group = new CGroup();
+       group->Title = handle->title();
+       group->Image = handle->image();
+       
+       init();
 }
 
 
 CEditGroupDialog::CEditGroupDialog(IDatabase* database,CGroup* Group,QWidget* parent, Qt::WFlags fl)
        : QDialog(parent,fl)
 {
-       setupUi(this);
-       db=database;
-       group=Group;
-       handle=NULL;
-       connect( ButtonBox, SIGNAL( accepted() ), this, SLOT( OnOK() ) );
-       connect( ButtonBox, SIGNAL( rejected() ), this, SLOT( OnCancel() ) );
-       connect( Button_Icon, SIGNAL( clicked() ), this, SLOT( OnIconDlg() ));
+       db = database;
+       handle = NULL;
+       group = Group;
+       
+       init();
 }
 
 CEditGroupDialog::~CEditGroupDialog(){
 }
 
-void CEditGroupDialog::showEvent(QShowEvent *event){
-       if(event->spontaneous()==false){
-               EditTitle->setText(group->Title);
-               for(int i=0;i<db->numIcons();i++){
-                       ComboIconPicker->insertItem(i,db->icon(i),"");
-               }
-               ComboIconPicker->setCurrentIndex(group->Image);
+void CEditGroupDialog::init() {
+       setupUi(this);
+       
+       connect( ButtonBox, SIGNAL( accepted() ), this, SLOT( OnOK() ) );
+       connect( ButtonBox, SIGNAL( rejected() ), this, SLOT( OnCancel() ) );
+       connect( Button_Icon, SIGNAL( clicked() ), this, SLOT( OnIconDlg() ));
+       
+       EditTitle->setText(group->Title);
+       
+       for(int i=0;i<db->numIcons();i++){
+               ComboIconPicker->insertItem(i,db->icon(i),"");
        }
+       ComboIconPicker->setCurrentIndex(group->Image);
+       
+       adjustSize();
+       setMaximumSize(size());
+       setMinimumSize(size());
 }
 
+
 void CEditGroupDialog::OnOK()
 {
        int r=1;
index d0942bf..53a5ecc 100644 (file)
@@ -30,8 +30,9 @@ class CEditGroupDialog : public QDialog, private Ui_EditGroupDialog
                CEditGroupDialog(IDatabase*,IGroupHandle*,QWidget* parent = 0,  Qt::WFlags fl = 0 );
                CEditGroupDialog(IDatabase*,CGroup*,QWidget* parent = 0, Qt::WFlags fl = 0 );
                ~CEditGroupDialog();
-               virtual void showEvent(QShowEvent *event);
+       
        private:
+               void init();
                IDatabase* db;
                IGroupHandle* handle; 
                CGroup* group;
index f63284f..55334d7 100644 (file)
@@ -34,6 +34,7 @@ CSettingsDlg::CSettingsDlg(QWidget* parent):QDialog(parent,Qt::Dialog)
        connect(DialogButtons, SIGNAL( rejected() ), this, SLOT( OnCancel() ) );
        connect(DialogButtons, SIGNAL( clicked(QAbstractButton*)), this, SLOT(OnOtherButton(QAbstractButton*)));
        
+       connect(CheckBox_ShowSysTrayIcon, SIGNAL( toggled(bool) ), CheckBox_CloseToTray, SLOT( setEnabled(bool) ) );
        connect(CheckBox_ShowSysTrayIcon, SIGNAL( toggled(bool) ), CheckBox_MinimizeTray, SLOT( setEnabled(bool) ) );
        connect(CheckBox_OpenLast, SIGNAL( toggled(bool) ), CheckBox_RememberLastKey, SLOT( setEnabled(bool) ) );
        connect(CheckBox_OpenLast, SIGNAL( toggled(bool) ), CheckBox_StartMinimized, SLOT( setEnabled(bool) ) );
@@ -84,6 +85,7 @@ CSettingsDlg::CSettingsDlg(QWidget* parent):QDialog(parent,Qt::Dialog)
        CheckBox_OpenLast->setChecked(config->openLastFile());
        CheckBox_RememberLastKey->setChecked(config->rememberLastKey());
        CheckBox_ShowSysTrayIcon->setChecked(config->showSysTrayIcon());
+       CheckBox_CloseToTray->setChecked(config->minimizeToTray());
        CheckBox_MinimizeTray->setChecked(config->minimizeTray());
        CheckBox_StartMinimized->setChecked(config->startMinimized());
        CheckBox_StartLocked->setChecked(config->startLocked());
@@ -237,6 +239,7 @@ void CSettingsDlg::apply(){
        
        //General (1)
        config->setShowSysTrayIcon(CheckBox_ShowSysTrayIcon->isChecked());
+       config->setMinimizeToTray(CheckBox_CloseToTray->isChecked());
        config->setMinimizeTray(CheckBox_MinimizeTray->isChecked());
        config->setStartMinimized(CheckBox_StartMinimized->isChecked());
        config->setStartLocked(CheckBox_StartLocked->isChecked());
index de4b9ff..ef795a8 100644 (file)
@@ -44,12 +44,14 @@ bool Export_Txt::exportDatabase(QWidget* GuiParent, IDatabase* db){
                for(int e=0;e<entries.size();e++){
                        SecString password=entries[e]->password();
                        password.unlock();
-                       file->write(EntryTemplate.arg(entries[e]->title())
-                                                                       .arg(entries[e]->username())
-                                                                       .arg(entries[e]->url())
-                                                                       .arg(password.string())
-                                                                       .arg(entries[e]->comment().replace('\n',"\n            "))
-                                                                       .toUtf8());
+                       QString entryText = EntryTemplate.arg(
+                                               entries[e]->title(),
+                                               entries[e]->username(),
+                                               entries[e]->url(),
+                                               password.string(),
+                                               entries[e]->comment().replace('\n',"\n            "));
+                                                                       
+                       file->write( entryText.toUtf8() );
                        password.lock();
                }
        }
index 0929484..891aac2 100644 (file)
     <string>Sort groups</string>
    </property>
   </action>
+  <action name="ViewMinimizeAction">
+   <property name="text">
+    <string>&amp;Minimize Window</string>
+   </property>
+  </action>
  </widget>
  <customwidgets>
   <customwidget>
index 210b252..81820a9 100644 (file)
@@ -147,6 +147,36 @@ QListView::item {
           </layout>
          </item>
          <item>
+          <layout class="QHBoxLayout" name="horizontalLayout_6">
+           <item>
+            <spacer name="horizontalSpacer_3">
+             <property name="orientation">
+              <enum>Qt::Horizontal</enum>
+             </property>
+             <property name="sizeType">
+              <enum>QSizePolicy::Fixed</enum>
+             </property>
+             <property name="sizeHint" stdset="0">
+              <size>
+               <width>25</width>
+               <height>10</height>
+              </size>
+             </property>
+            </spacer>
+           </item>
+           <item>
+            <widget class="QCheckBox" name="CheckBox_CloseToTray">
+             <property name="enabled">
+              <bool>false</bool>
+             </property>
+             <property name="text">
+              <string>Minimize to tray when clicking the main window's close button</string>
+             </property>
+            </widget>
+           </item>
+          </layout>
+         </item>
+         <item>
           <layout class="QVBoxLayout" name="_18">
            <item>
             <widget class="QCheckBox" name="CheckBox_OpenLast">
index 66b3b88..dd56575 100644 (file)
@@ -26,7 +26,7 @@
 #define APP_CODE_NAME       "keepassx"
 #define APP_SHORT_FUNC      "Password Manager"
 #define APP_LONG_FUNC       "Cross Platform Password Manager"
-#define APP_VERSION         "0.4.1"
+#define APP_VERSION         "0.4.3"
 
 #define BUILTIN_ICONS 69
 
index d35f34b..8ab7c94 100644 (file)
@@ -58,6 +58,10 @@ KeepassEntryView::KeepassEntryView(QWidget* parent) : QTreeWidget(parent) {
 
 KeepassEntryView::~KeepassEntryView(){
        saveHeaderView();
+       if (ClipboardTimer.isActive()) {
+               ClipboardTimer.stop();
+               OnClipboardTimeOut();
+       }
 }
 
 void KeepassEntryView::retranslateColumns() {
@@ -368,16 +372,23 @@ void KeepassEntryView::editEntry(EntryViewItem* item){
 
 
 void KeepassEntryView::OnNewEntry(){
-       IEntryHandle* NewEntry = NULL;
+       IGroupHandle* ParentGroup;
+       
        if (!CurrentGroup){ // We must be viewing search results. Add the new entry to the first group.
                if (db->groups().size() > 0)
-                       NewEntry=db->newEntry(db->sortedGroups()[0]);
+                       ParentGroup = db->sortedGroups()[0];
+                       
                else{
                        QMessageBox::critical(NULL,tr("Error"),tr("At least one group must exist before adding an entry."),tr("OK"));
                }
        }
-       else
-               NewEntry=db->newEntry(CurrentGroup);
+       else{
+               ParentGroup = CurrentGroup;
+       }
+       
+       IEntryHandle* NewEntry = db->newEntry(ParentGroup);
+       NewEntry->setImage(ParentGroup->image());
+       
        CEditEntryDlg dlg(db,NewEntry,this,true);
        if(!dlg.exec()){
                db->deleteLastEntry();
@@ -389,6 +400,7 @@ void KeepassEntryView::OnNewEntry(){
                emit fileModified();
                if (header()->isSortIndicatorShown())
                        sortByColumn(header()->sortIndicatorSection(), header()->sortIndicatorOrder());
+               setCurrentItem(Items.back());
        }
 
 }
@@ -427,7 +439,6 @@ void KeepassEntryView::OnEditOpenUrl(){
 void KeepassEntryView::OnEditCopyUrl(){
        if (selectedItems().size() == 0) return;
        QString url = ((EntryViewItem*)selectedItems().first())->EntryHandle->url();
-       if (url.trimmed().isEmpty()) return;
        if (url.startsWith("cmd://") && url.length()>6)
                url = url.right(url.length()-6);
        
@@ -440,13 +451,12 @@ void KeepassEntryView::OnEditCopyUrl(){
 void KeepassEntryView::OnUsernameToClipboard(){
        if (selectedItems().size() == 0) return;
        QString username = ((EntryViewItem*)selectedItems().first())->EntryHandle->username();
-       if (username.trimmed().isEmpty()) return;
        Clipboard->setText(username,  QClipboard::Clipboard);
        if(Clipboard->supportsSelection()){
                Clipboard->setText(username, QClipboard::Selection);
        }
        
-       if (config->clipboardTimeOut()!=0) {
+       if (config->clipboardTimeOut()!=0 && !username.trimmed().isEmpty()) {
                ClipboardTimer.setSingleShot(true);
                ClipboardTimer.start(config->clipboardTimeOut()*1000);
        }
@@ -457,13 +467,12 @@ void KeepassEntryView::OnPasswordToClipboard(){
        SecString password;
        password=((EntryViewItem*)selectedItems().first())->EntryHandle->password();
        password.unlock();
-       if (password.string().isEmpty()) return;
        Clipboard->setText(password.string(), QClipboard::Clipboard);
        if(Clipboard->supportsSelection()){
                Clipboard->setText(password.string(), QClipboard::Selection);
        }
        
-       if (config->clipboardTimeOut()!=0) {
+       if (config->clipboardTimeOut()!=0 && !password.string().isEmpty()) {
                ClipboardTimer.setSingleShot(true);
                ClipboardTimer.start(config->clipboardTimeOut()*1000);
        }
index 8405f97..463df1b 100644 (file)
@@ -18,6 +18,9 @@
  ***************************************************************************/
 
 #include <QFileDialog>
+#if QT_VERSION >= 0x040400
+       #include <QDesktopServices>
+#endif
 
 IFileDialog* KpxFileDialogs::iFileDialog=NULL;
 QtStandardFileDialogs DefaultQtDlgs;
@@ -146,8 +149,13 @@ int QtStandardFileDialogs::getLastFilter(){
 
 QString FileDlgHistory::getDir(const QString& name){
        Entry e=History.value(name);
-       if(e.isNull())
+       if(e.isNull()) {
+#if QT_VERSION >= 0x040400
+               return QDesktopServices::storageLocation(QDesktopServices::DocumentsLocation);
+#else
                return QDir::homePath();
+#endif
+       }
        else
                return e.Dir;
 }
index 500024b..47b4151 100644 (file)
@@ -206,6 +206,9 @@ void KeepassGroupView::dragEnterEvent ( QDragEnterEvent * event ){
        LastHoverItem=NULL;
        InsLinePos=-1;
        
+       if (event->source() == NULL)
+               return; // drag event came from another application
+       
        if(event->mimeData()->hasFormat("application/x-keepassx-group")){
                DragType=GroupDrag;
                event->acceptProposedAction();
index abe46b6..556ee3a 100644 (file)
@@ -50,6 +50,7 @@ Export_Txt export_Txt;
 Export_KeePassX_Xml export_KeePassX_Xml;
 
 KeepassMainWindow::KeepassMainWindow(const QString& ArgFile,bool ArgMin,bool ArgLock,QWidget *parent, Qt::WFlags flags) :QMainWindow(parent,flags){
+       ShutingDown=false;
        IsLocked=false;
        EventOccurred=true;
        inactivityCounter=0;
@@ -185,6 +186,9 @@ void KeepassMainWindow::setupConnections(){
        connect(ViewToolButtonSize22Action,SIGNAL(toggled(bool)), this, SLOT(OnViewToolbarIconSize22(bool)));
        connect(ViewToolButtonSize28Action,SIGNAL(toggled(bool)), this, SLOT(OnViewToolbarIconSize28(bool)));
        connect(ViewShowStatusbarAction,SIGNAL(toggled(bool)),statusBar(),SLOT(setVisible(bool)));
+#ifdef Q_WS_MAC
+       connect(ViewMinimizeAction, SIGNAL(triggered()), SLOT(showMinimized()));
+#endif
 
        connect(ExtrasSettingsAction,SIGNAL(triggered(bool)),this,SLOT(OnExtrasSettings()));
        connect(ExtrasPasswordGenAction,SIGNAL(triggered(bool)),this,SLOT(OnExtrasPasswordGen()));
@@ -322,6 +326,11 @@ void KeepassMainWindow::setupMenus(){
                case 22: ViewToolButtonSize22Action->setChecked(true); break;
                case 28: ViewToolButtonSize28Action->setChecked(true); break;
        }
+       
+#ifdef Q_WS_MAC
+       ViewMenu->addSeparator();
+       ViewMenu->addAction(ViewMinimizeAction);
+#endif
 
        SysTrayMenu = new QMenu(APP_DISPLAY_NAME,this);
        SysTrayMenu->addAction(FileUnLockWorkspaceAction);
@@ -372,6 +381,7 @@ void KeepassMainWindow::setupMenus(){
 #ifdef Q_WS_MAC
        FileSaveAsAction->setShortcut(tr("Shift+Ctrl+S"));
        EditGroupSearchAction->setShortcut(tr("Shift+Ctrl+F"));
+       ViewMinimizeAction->setShortcut(tr("Ctrl+M"));
 #endif
 
        //ExtrasTrashCanAction->setVisible(false); //TODO For KP 2.x only
@@ -969,6 +979,7 @@ void KeepassMainWindow::OnFileChangeKey(){
 }
 
 void KeepassMainWindow::OnFileExit(){
+       ShutingDown = true;
        close();
 }
 
@@ -1061,7 +1072,16 @@ void KeepassMainWindow::OnFileModified(){
 }
 
 void KeepassMainWindow::closeEvent(QCloseEvent* e){
+       if (!ShutingDown && config->showSysTrayIcon() && config->minimizeToTray()){
+               e->ignore();
+               if (config->lockOnMinimize() && !IsLocked && FileOpen)
+                       OnUnLockWorkspace();
+               hide();
+               return;
+       }
+       
        if(FileOpen && !closeDatabase()){
+               ShutingDown = false;
                e->ignore();
                if (!isVisible())
                        show();
@@ -1245,7 +1265,14 @@ void KeepassMainWindow::OnSysTrayActivated(QSystemTrayIcon::ActivationReason rea
 }
 
 void KeepassMainWindow::restoreWindow(){
+#ifdef Q_WS_WIN
+       if (windowState() & Qt::WindowMaximized)
+               showMaximized();
+       else
+               showNormal();
+#else
        showNormal();
+#endif
        activateWindow();
        if (IsLocked)
                OnUnLockWorkspace();
@@ -1390,6 +1417,8 @@ void KeepassMainWindow::OnInactivityTimer(){
 }
 
 void KeepassMainWindow::OnShutdown(QSessionManager& manager) {
+       ShutingDown = true;
+       
        /* QApplication::commitData() only closes visible windows,
           so we need to manually close mainwindow if it's hidden */
        if (manager.allowsInteraction() && !isVisible()) {
index 26607fa..a9b8d67 100644 (file)
@@ -78,9 +78,7 @@ class KeepassMainWindow : public QMainWindow, private Ui_MainWindow{
                //void OnItemCollaped(QTreeWidgetItem*);
                void OnShowSearchResults();
                void OnEntryChanged(SelectionState);
-#ifndef Q_WS_HILDON
                void OnSysTrayActivated(QSystemTrayIcon::ActivationReason);
-#endif
                void restoreWindow();
                void OnImport(QAction*);
                void OnExport(QAction*);
@@ -138,6 +136,7 @@ class KeepassMainWindow : public QMainWindow, private Ui_MainWindow{
                QWidget* NormalCentralWidget;
                QWidget* LockedCentralWidget;
                Ui_WorkspaceLockedWidget WorkspaceLockedWidget;
+               bool ShutingDown;
                bool InUnLock;
                QList<int> lockGroup;
                QDialog* unlockDlg;
index df01982..881a8df 100644 (file)
@@ -63,7 +63,7 @@ unix : !macx : !isEqual(QMAKE_WIN32,1){
        INSTALLS += shareapp shararemime sharemimelnk sharepixmaps
        
        contains(DEFINES,AUTOTYPE){
-               LIBS += -lXtst
+               LIBS += -lX11 -lXtst
                SOURCES += lib/HelperX11.cpp lib/AutoTypeX11.cpp
                HEADERS += lib/HelperX11.h lib/AutoTypeX11.h
        }
@@ -120,6 +120,7 @@ isEqual(QMAKE_WIN32,1){
        data.files += ../share/keepassx/*
        data.path = $${PREFIX}/share
        INSTALLS += data
+       win32-msvc*: LIBS += advapi32.lib
        !isEqual(INSTALL_QTLIB,0){
                qt_libs.files = $${QMAKE_LIBDIR_QT}/QtCore4.dll $${QMAKE_LIBDIR_QT}/QtGui4.dll $${QMAKE_LIBDIR_QT}/QtXml4.dll
                qt_libs.path = $${PREFIX}
@@ -170,19 +171,27 @@ TRANSLATIONS_KX = translations/keepassx-de_DE.ts \
                   translations/keepassx-nb_NO.ts \
                   translations/keepassx-nl_NL.ts \
                   translations/keepassx-pl_PL.ts \
+                  translations/keepassx-pt_PT.ts \
                   translations/keepassx-ru_RU.ts \
+                  translations/keepassx-sk_SK.ts \
+                  translations/keepassx-sr_RS.ts \
                   translations/keepassx-tr_TR.ts \
                   translations/keepassx-uk_UA.ts \
                   translations/keepassx-zh_CN.ts
 
+# also update in translations_release.sh
 TRANSLATIONS_DISABLED = translations/keepassx-cs_CZ.ts
 
 TRANSLATIONS_QT = translations/qt_fi.ts \
+                  translations/qt_gl_ES.ts \
                   translations/qt_hu.ts \
                   translations/qt_it.ts \
                   translations/qt_nl.ts \
+                  translations/qt_sr.ts \
                   translations/qt_tr.ts
 
+# missing Qt translation: nb_NO
+
 TRANSLATIONS = $$TRANSLATIONS_KX $$TRANSLATIONS_DISABLED translations/keepassx-xx_XX.ts
 #TRANSLATIONS_UPDATE = $$TRANSLATIONS_KX $$TRANSLATIONS_DISABLED translations/keepassx-xx_XX.ts
 #TRANSLATIONS_COMPILE = $$TRANSLATIONS_KX $$TRANSLATIONS_QT
index 9efe9b8..82ba309 100644 (file)
@@ -893,25 +893,25 @@ Prosím zkontrolujte jeho parametry.</translation>
 <context>
     <name>CSettingsDlg</name>
     <message>
-        <location filename="../dialogs/SettingsDlg.cpp" line="213"/>
-        <location filename="../dialogs/SettingsDlg.cpp" line="321"/>
-        <location filename="../dialogs/SettingsDlg.cpp" line="335"/>
-        <location filename="../dialogs/SettingsDlg.cpp" line="349"/>
+        <location filename="../dialogs/SettingsDlg.cpp" line="218"/>
+        <location filename="../dialogs/SettingsDlg.cpp" line="327"/>
+        <location filename="../dialogs/SettingsDlg.cpp" line="341"/>
+        <location filename="../dialogs/SettingsDlg.cpp" line="355"/>
         <source>Settings</source>
         <translation>Nastavení</translation>
     </message>
     <message>
-        <location filename="../dialogs/SettingsDlg.cpp" line="354"/>
+        <location filename="../dialogs/SettingsDlg.cpp" line="360"/>
         <source>Select a directory...</source>
         <translation>Výběr adresáře...</translation>
     </message>
     <message>
-        <location filename="../dialogs/SettingsDlg.cpp" line="361"/>
+        <location filename="../dialogs/SettingsDlg.cpp" line="367"/>
         <source>Select an executable...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../dialogs/SettingsDlg.cpp" line="423"/>
+        <location filename="../dialogs/SettingsDlg.cpp" line="429"/>
         <source>System Language</source>
         <translation type="unfinished"></translation>
     </message>
@@ -2012,50 +2012,51 @@ p, li { white-space: pre-wrap; }
 <context>
     <name>Kdb3Database</name>
     <message>
-        <location filename="../Kdb3Database.cpp" line="516"/>
-        <location filename="../Kdb3Database.cpp" line="525"/>
+        <location filename="../Kdb3Database.cpp" line="524"/>
+        <location filename="../Kdb3Database.cpp" line="533"/>
+        <location filename="../Kdb3Database.cpp" line="1359"/>
         <source>Could not open file.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Kdb3Database.cpp" line="541"/>
+        <location filename="../Kdb3Database.cpp" line="557"/>
         <source>Unexpected file size (DB_TOTAL_SIZE &lt; DB_HEADER_SIZE)</source>
         <translation type="unfinished">Neočekávaná velikost souboru (DB_TOTAL_SIZE &lt; DB_HEADER_SIZE)</translation>
     </message>
     <message>
-        <location filename="../Kdb3Database.cpp" line="558"/>
+        <location filename="../Kdb3Database.cpp" line="574"/>
         <source>Wrong Signature</source>
         <translation type="unfinished">Chybný podpis</translation>
     </message>
     <message>
-        <location filename="../Kdb3Database.cpp" line="563"/>
+        <location filename="../Kdb3Database.cpp" line="579"/>
         <source>Unsupported File Version.</source>
         <translation type="unfinished">Nepodporovaná verze souboru.</translation>
     </message>
     <message>
-        <location filename="../Kdb3Database.cpp" line="572"/>
+        <location filename="../Kdb3Database.cpp" line="588"/>
         <source>Unknown Encryption Algorithm.</source>
         <translation type="unfinished">Neznámý algoritmus zašifrování.</translation>
     </message>
     <message>
-        <location filename="../Kdb3Database.cpp" line="599"/>
+        <location filename="../Kdb3Database.cpp" line="615"/>
         <source>Unable to initialize the twofish algorithm.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Kdb3Database.cpp" line="606"/>
+        <location filename="../Kdb3Database.cpp" line="622"/>
         <source>Unknown encryption algorithm.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Kdb3Database.cpp" line="611"/>
+        <location filename="../Kdb3Database.cpp" line="627"/>
         <source>Decryption failed.
 The key is wrong or the file is damaged.</source>
         <translation type="unfinished">Rozšifrování se nepodařilo.
 Buď je nesprávný klíč nebo je soubor poškozen.</translation>
     </message>
     <message>
-        <location filename="../Kdb3Database.cpp" line="637"/>
+        <location filename="../Kdb3Database.cpp" line="654"/>
         <source>Hash test failed.
 The key is wrong or the file is damaged.</source>
         <translation type="unfinished">Hash test selhal.
@@ -2082,17 +2083,17 @@ Klíč je chybný nebo je soubor poškozen.</translation>
         <translation type="obsolete">Neočekávaná chyba: Offset je mimo rozsah. [E3]</translation>
     </message>
     <message>
-        <location filename="../Kdb3Database.cpp" line="722"/>
+        <location filename="../Kdb3Database.cpp" line="739"/>
         <source>Invalid group tree.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Kdb3Database.cpp" line="938"/>
+        <location filename="../Kdb3Database.cpp" line="955"/>
         <source>Key file is empty.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Kdb3Database.cpp" line="1318"/>
+        <location filename="../Kdb3Database.cpp" line="1353"/>
         <source>The database must contain at least one group.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -2101,17 +2102,17 @@ Klíč je chybný nebo je soubor poškozen.</translation>
         <translation type="obsolete">Nebylo možné otevřít soubor pro zápis.</translation>
     </message>
     <message>
-        <location filename="../Kdb3Database.cpp" line="660"/>
-        <location filename="../Kdb3Database.cpp" line="667"/>
-        <location filename="../Kdb3Database.cpp" line="679"/>
-        <location filename="../Kdb3Database.cpp" line="693"/>
-        <location filename="../Kdb3Database.cpp" line="700"/>
-        <location filename="../Kdb3Database.cpp" line="716"/>
+        <location filename="../Kdb3Database.cpp" line="677"/>
+        <location filename="../Kdb3Database.cpp" line="684"/>
+        <location filename="../Kdb3Database.cpp" line="696"/>
+        <location filename="../Kdb3Database.cpp" line="710"/>
+        <location filename="../Kdb3Database.cpp" line="717"/>
+        <location filename="../Kdb3Database.cpp" line="733"/>
         <source>Unexpected error: Offset is out of range.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Kdb3Database.cpp" line="1338"/>
+        <location filename="../Kdb3Database.cpp" line="1365"/>
         <source>The database has been opened read-only.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -2119,22 +2120,22 @@ Klíč je chybný nebo je soubor poškozen.</translation>
 <context>
     <name>Kdb3Database::EntryHandle</name>
     <message>
-        <location filename="../Kdb3Database.cpp" line="1182"/>
+        <location filename="../Kdb3Database.cpp" line="1216"/>
         <source>Bytes</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Kdb3Database.cpp" line="1190"/>
+        <location filename="../Kdb3Database.cpp" line="1224"/>
         <source>KiB</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Kdb3Database.cpp" line="1196"/>
+        <location filename="../Kdb3Database.cpp" line="1230"/>
         <source>MiB</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Kdb3Database.cpp" line="1201"/>
+        <location filename="../Kdb3Database.cpp" line="1235"/>
         <source>GiB</source>
         <translation type="unfinished"></translation>
     </message>
@@ -2142,52 +2143,52 @@ Klíč je chybný nebo je soubor poškozen.</translation>
 <context>
     <name>KeepassEntryView</name>
     <message>
-        <location filename="../lib/EntryView.cpp" line="64"/>
+        <location filename="../lib/EntryView.cpp" line="68"/>
         <source>Title</source>
         <translation>Název</translation>
     </message>
     <message>
-        <location filename="../lib/EntryView.cpp" line="64"/>
+        <location filename="../lib/EntryView.cpp" line="68"/>
         <source>Username</source>
         <translation>Uživatelské jméno</translation>
     </message>
     <message>
-        <location filename="../lib/EntryView.cpp" line="64"/>
+        <location filename="../lib/EntryView.cpp" line="68"/>
         <source>URL</source>
         <translation>URL</translation>
     </message>
     <message>
-        <location filename="../lib/EntryView.cpp" line="64"/>
+        <location filename="../lib/EntryView.cpp" line="68"/>
         <source>Password</source>
         <translation>Heslo</translation>
     </message>
     <message>
-        <location filename="../lib/EntryView.cpp" line="64"/>
+        <location filename="../lib/EntryView.cpp" line="68"/>
         <source>Comments</source>
         <translation>Komentáře</translation>
     </message>
     <message>
-        <location filename="../lib/EntryView.cpp" line="65"/>
+        <location filename="../lib/EntryView.cpp" line="69"/>
         <source>Expires</source>
         <translation>Vyprší</translation>
     </message>
     <message>
-        <location filename="../lib/EntryView.cpp" line="65"/>
+        <location filename="../lib/EntryView.cpp" line="69"/>
         <source>Creation</source>
         <translation>Vytvoření</translation>
     </message>
     <message>
-        <location filename="../lib/EntryView.cpp" line="65"/>
+        <location filename="../lib/EntryView.cpp" line="69"/>
         <source>Last Change</source>
         <translation>Poslední změna</translation>
     </message>
     <message>
-        <location filename="../lib/EntryView.cpp" line="65"/>
+        <location filename="../lib/EntryView.cpp" line="69"/>
         <source>Last Access</source>
         <translation>Poslední přístup</translation>
     </message>
     <message>
-        <location filename="../lib/EntryView.cpp" line="65"/>
+        <location filename="../lib/EntryView.cpp" line="69"/>
         <source>Attachment</source>
         <translation>Příloha</translation>
     </message>
@@ -2196,37 +2197,37 @@ Klíč je chybný nebo je soubor poškozen.</translation>
         <translation type="obsolete">%1 položky</translation>
     </message>
     <message>
-        <location filename="../lib/EntryView.cpp" line="240"/>
+        <location filename="../lib/EntryView.cpp" line="244"/>
         <source>Delete?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../lib/EntryView.cpp" line="65"/>
+        <location filename="../lib/EntryView.cpp" line="69"/>
         <source>Group</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../lib/EntryView.cpp" line="376"/>
+        <location filename="../lib/EntryView.cpp" line="380"/>
         <source>Error</source>
         <translation type="unfinished">Chyba</translation>
     </message>
     <message>
-        <location filename="../lib/EntryView.cpp" line="376"/>
+        <location filename="../lib/EntryView.cpp" line="380"/>
         <source>At least one group must exist before adding an entry.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../lib/EntryView.cpp" line="376"/>
+        <location filename="../lib/EntryView.cpp" line="380"/>
         <source>OK</source>
         <translation type="unfinished">OK</translation>
     </message>
     <message>
-        <location filename="../lib/EntryView.cpp" line="237"/>
+        <location filename="../lib/EntryView.cpp" line="241"/>
         <source>Are you sure you want to delete this entry?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../lib/EntryView.cpp" line="239"/>
+        <location filename="../lib/EntryView.cpp" line="243"/>
         <source>Are you sure you want to delete these %1 entries?</source>
         <translation type="unfinished"></translation>
     </message>
@@ -2256,93 +2257,98 @@ Klíč je chybný nebo je soubor poškozen.</translation>
 <context>
     <name>KeepassMainWindow</name>
     <message>
-        <location filename="../mainwindow.cpp" line="349"/>
+        <location filename="../mainwindow.cpp" line="360"/>
         <source>Ctrl+N</source>
         <translation type="unfinished">Ctrl+N</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="350"/>
+        <location filename="../mainwindow.cpp" line="361"/>
         <source>Ctrl+O</source>
         <translation>Ctrl+O</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="352"/>
+        <location filename="../mainwindow.cpp" line="363"/>
         <source>Ctrl+S</source>
         <translation>Ctrl+S</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="355"/>
+        <location filename="../mainwindow.cpp" line="366"/>
         <source>Ctrl+G</source>
         <translation>Ctrl+G</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="356"/>
+        <location filename="../mainwindow.cpp" line="367"/>
         <source>Ctrl+C</source>
         <translation>Ctrl+C</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="357"/>
+        <location filename="../mainwindow.cpp" line="368"/>
         <source>Ctrl+B</source>
         <translation>Ctrl+B</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="358"/>
+        <location filename="../mainwindow.cpp" line="369"/>
         <source>Ctrl+U</source>
         <translation>Ctrl+U</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="360"/>
+        <location filename="../mainwindow.cpp" line="371"/>
         <source>Ctrl+Y</source>
         <translation>Ctrl+Y</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="361"/>
+        <location filename="../mainwindow.cpp" line="372"/>
         <source>Ctrl+E</source>
         <translation>Ctrl+E</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="362"/>
+        <location filename="../mainwindow.cpp" line="373"/>
         <source>Ctrl+D</source>
         <translation>Ctrl+D</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="363"/>
+        <location filename="../mainwindow.cpp" line="374"/>
         <source>Ctrl+K</source>
         <translation>Ctrl+K</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="364"/>
+        <location filename="../mainwindow.cpp" line="375"/>
         <source>Ctrl+F</source>
         <translation>Ctrl+F</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1472"/>
-        <location filename="../mainwindow.cpp" line="1486"/>
+        <location filename="../mainwindow.cpp" line="384"/>
+        <source>Ctrl+M</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../mainwindow.cpp" line="1505"/>
+        <location filename="../mainwindow.cpp" line="1519"/>
         <source>locked</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="351"/>
+        <location filename="../mainwindow.cpp" line="362"/>
         <source>Ctrl+W</source>
         <translation>Ctrl+W</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="371"/>
+        <location filename="../mainwindow.cpp" line="382"/>
         <source>Shift+Ctrl+S</source>
         <translation>Shift+Ctrl+S</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="372"/>
+        <location filename="../mainwindow.cpp" line="383"/>
         <source>Shift+Ctrl+F</source>
         <translation>Shift+Ctrl+F</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="405"/>
-        <location filename="../mainwindow.cpp" line="485"/>
-        <location filename="../mainwindow.cpp" line="508"/>
-        <location filename="../mainwindow.cpp" line="544"/>
-        <location filename="../mainwindow.cpp" line="927"/>
+        <location filename="../mainwindow.cpp" line="417"/>
+        <location filename="../mainwindow.cpp" line="497"/>
+        <location filename="../mainwindow.cpp" line="520"/>
+        <location filename="../mainwindow.cpp" line="556"/>
         <location filename="../mainwindow.cpp" line="939"/>
+        <location filename="../mainwindow.cpp" line="951"/>
         <source>Error</source>
         <translation>Chyba</translation>
     </message>
@@ -2357,7 +2363,7 @@ Klíč je chybný nebo je soubor poškozen.</translation>
         <translation type="obsolete">OK</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="525"/>
+        <location filename="../mainwindow.cpp" line="537"/>
         <source>Save modified file?</source>
         <translation>Uložit změněný soubor?</translation>
     </message>
@@ -2388,30 +2394,30 @@ změny uloženy? </translation>
         <translation type="obsolete">&lt;B&gt;Skupina: &lt;/B&gt;%1  &lt;B&gt;Název: &lt;/B&gt;%2  &lt;B&gt;Uživ. jméno: &lt;/B&gt;%3  &lt;B&gt;URL: &lt;/B&gt;&lt;a href=%4&gt;%4&lt;/a&gt;  &lt;B&gt;Heslo: &lt;/B&gt;%5  &lt;B&gt;Vytvořeno: &lt;/B&gt;%6  &lt;B&gt;Poslední změna: &lt;/B&gt;%7  &lt;B&gt;Poslední přístup: &lt;/B&gt;%8  &lt;B&gt;Vyprší: &lt;/B&gt;%9</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="802"/>
-        <location filename="../mainwindow.cpp" line="817"/>
-        <location filename="../mainwindow.cpp" line="853"/>
-        <location filename="../mainwindow.cpp" line="868"/>
+        <location filename="../mainwindow.cpp" line="814"/>
+        <location filename="../mainwindow.cpp" line="829"/>
+        <location filename="../mainwindow.cpp" line="865"/>
+        <location filename="../mainwindow.cpp" line="880"/>
         <source>Clone Entry</source>
         <translation>Naklonovat záznam</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="804"/>
-        <location filename="../mainwindow.cpp" line="819"/>
-        <location filename="../mainwindow.cpp" line="855"/>
-        <location filename="../mainwindow.cpp" line="870"/>
+        <location filename="../mainwindow.cpp" line="816"/>
+        <location filename="../mainwindow.cpp" line="831"/>
+        <location filename="../mainwindow.cpp" line="867"/>
+        <location filename="../mainwindow.cpp" line="882"/>
         <source>Delete Entry</source>
         <translation>Smazat záznam</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="832"/>
-        <location filename="../mainwindow.cpp" line="883"/>
+        <location filename="../mainwindow.cpp" line="844"/>
+        <location filename="../mainwindow.cpp" line="895"/>
         <source>Clone Entries</source>
         <translation>Naklonovat záznamy</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="834"/>
-        <location filename="../mainwindow.cpp" line="885"/>
+        <location filename="../mainwindow.cpp" line="846"/>
+        <location filename="../mainwindow.cpp" line="897"/>
         <source>Delete Entries</source>
         <translation>Smazat záznamy</translation>
     </message>
@@ -2426,7 +2432,7 @@ změny uloženy? </translation>
         <translation type="obsolete">Uložit databázi jako ...</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1449"/>
+        <location filename="../mainwindow.cpp" line="1482"/>
         <source>Ready</source>
         <translation>Připraveno</translation>
     </message>
@@ -2435,17 +2441,17 @@ změny uloženy? </translation>
         <translation type="obsolete">[nový]</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="611"/>
+        <location filename="../mainwindow.cpp" line="623"/>
         <source>Open Database...</source>
         <translation>Otevřít databázi ...</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1452"/>
+        <location filename="../mainwindow.cpp" line="1485"/>
         <source>Loading Database...</source>
         <translation>Otevírání databáze ...</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1455"/>
+        <location filename="../mainwindow.cpp" line="1488"/>
         <source>Loading Failed</source>
         <translation>Otevření selhalo</translation>
     </message>
@@ -2476,7 +2482,7 @@ změny uloženy? </translation>
         <translation type="obsolete">Neznámá chyba v PwDatabase::openDatabase()</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="368"/>
+        <location filename="../mainwindow.cpp" line="379"/>
         <source>Ctrl+V</source>
         <translation>Ctrl+V</translation>
     </message>
@@ -2489,143 +2495,143 @@ změny uloženy? </translation>
         <translation type="obsolete">KeePassX</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="484"/>
+        <location filename="../mainwindow.cpp" line="496"/>
         <source>Unknown error while loading database.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="611"/>
-        <location filename="../mainwindow.cpp" line="921"/>
+        <location filename="../mainwindow.cpp" line="623"/>
+        <location filename="../mainwindow.cpp" line="933"/>
         <source>KeePass Databases (*.kdb)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="611"/>
-        <location filename="../mainwindow.cpp" line="921"/>
+        <location filename="../mainwindow.cpp" line="623"/>
+        <location filename="../mainwindow.cpp" line="933"/>
         <source>All Files (*)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="921"/>
+        <location filename="../mainwindow.cpp" line="933"/>
         <source>Save Database...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="756"/>
+        <location filename="../mainwindow.cpp" line="768"/>
         <source>1 Month</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="758"/>
+        <location filename="../mainwindow.cpp" line="770"/>
         <source>%1 Months</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="764"/>
+        <location filename="../mainwindow.cpp" line="776"/>
         <source>1 Year</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="766"/>
+        <location filename="../mainwindow.cpp" line="778"/>
         <source>%1 Years</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="772"/>
+        <location filename="../mainwindow.cpp" line="784"/>
         <source>1 Day</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="774"/>
+        <location filename="../mainwindow.cpp" line="786"/>
         <source>%1 Days</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="778"/>
+        <location filename="../mainwindow.cpp" line="790"/>
         <source>less than 1 day</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="353"/>
+        <location filename="../mainwindow.cpp" line="364"/>
         <source>Ctrl+L</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="354"/>
+        <location filename="../mainwindow.cpp" line="365"/>
         <source>Ctrl+Q</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="405"/>
-        <location filename="../mainwindow.cpp" line="508"/>
+        <location filename="../mainwindow.cpp" line="417"/>
+        <location filename="../mainwindow.cpp" line="520"/>
         <source>The database file does not exist.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="927"/>
+        <location filename="../mainwindow.cpp" line="939"/>
         <source>Couldn&apos;t create database lock file.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1470"/>
-        <location filename="../mainwindow.cpp" line="1484"/>
+        <location filename="../mainwindow.cpp" line="1503"/>
+        <location filename="../mainwindow.cpp" line="1517"/>
         <source>new</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="742"/>
+        <location filename="../mainwindow.cpp" line="754"/>
         <source>Expired</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1344"/>
+        <location filename="../mainwindow.cpp" line="1375"/>
         <source>Un&amp;lock Workspace</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1359"/>
+        <location filename="../mainwindow.cpp" line="1390"/>
         <source>&amp;Lock Workspace</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="486"/>
+        <location filename="../mainwindow.cpp" line="498"/>
         <source>The following error occured while opening the database:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="914"/>
-        <location filename="../mainwindow.cpp" line="932"/>
+        <location filename="../mainwindow.cpp" line="926"/>
+        <location filename="../mainwindow.cpp" line="944"/>
         <source>File could not be saved.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="309"/>
-        <location filename="../mainwindow.cpp" line="1125"/>
+        <location filename="../mainwindow.cpp" line="315"/>
+        <location filename="../mainwindow.cpp" line="1147"/>
         <source>Show &amp;Toolbar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="365"/>
+        <location filename="../mainwindow.cpp" line="376"/>
         <source>Ctrl+P</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="366"/>
+        <location filename="../mainwindow.cpp" line="377"/>
         <source>Ctrl+X</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="359"/>
+        <location filename="../mainwindow.cpp" line="370"/>
         <source>Ctrl+I</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="414"/>
+        <location filename="../mainwindow.cpp" line="426"/>
         <source>Database locked</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="415"/>
+        <location filename="../mainwindow.cpp" line="427"/>
         <source>The database you are trying to open is locked.
 This means that either someone else has opened the file or KeePassX crashed last time it opened the database.
 
@@ -2633,24 +2639,24 @@ Do you want to open it anyway?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="526"/>
+        <location filename="../mainwindow.cpp" line="538"/>
         <source>The current file was modified.
 Do you want to save the changes?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="544"/>
-        <location filename="../mainwindow.cpp" line="939"/>
+        <location filename="../mainwindow.cpp" line="556"/>
+        <location filename="../mainwindow.cpp" line="951"/>
         <source>Couldn&apos;t remove database lock file.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="421"/>
+        <location filename="../mainwindow.cpp" line="433"/>
         <source>Open read-only</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1458"/>
+        <location filename="../mainwindow.cpp" line="1491"/>
         <source>Couldn&apos;t create lock file. Opening the database read-only.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -3141,6 +3147,11 @@ Do you want to save the changes?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location filename="../forms/MainWindow.ui" line="588"/>
+        <source>&amp;Minimize Window</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
         <location filename="../forms/MainWindow.ui" line="297"/>
         <source>&amp;Add New Subgroup...</source>
         <translation type="unfinished"></translation>
@@ -3692,7 +3703,7 @@ Ujistěte se, že je možný přístup do  &apos;~/.keepass&apos;.</translation>
         <translation type="obsolete">&amp;Zrušit</translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="894"/>
+        <location filename="../forms/SettingsDlg.ui" line="924"/>
         <source>Clear clipboard after:</source>
         <translation>Smazat schránku po:</translation>
     </message>
@@ -3713,28 +3724,28 @@ Ujistěte se, že je možný přístup do  &apos;~/.keepass&apos;.</translation>
         <translation type="obsolete">Zo&amp;brazení</translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="421"/>
+        <location filename="../forms/SettingsDlg.ui" line="451"/>
         <source>Banner Color</source>
         <translation>Barva banneru</translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="435"/>
+        <location filename="../forms/SettingsDlg.ui" line="465"/>
         <source>Text Color:</source>
         <translation>Barva textu:</translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="476"/>
-        <location filename="../forms/SettingsDlg.ui" line="564"/>
+        <location filename="../forms/SettingsDlg.ui" line="506"/>
+        <location filename="../forms/SettingsDlg.ui" line="594"/>
         <source>Change...</source>
         <translation>Změnit...</translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="489"/>
+        <location filename="../forms/SettingsDlg.ui" line="519"/>
         <source>Color 2:</source>
         <translation>Barva 2:</translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="614"/>
+        <location filename="../forms/SettingsDlg.ui" line="644"/>
         <source>C&amp;hange...</source>
         <translation>Z&amp;měnit...</translation>
     </message>
@@ -3743,7 +3754,7 @@ Ujistěte se, že je možný přístup do  &apos;~/.keepass&apos;.</translation>
         <translation type="obsolete">Alt+H</translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="627"/>
+        <location filename="../forms/SettingsDlg.ui" line="657"/>
         <source>Color 1:</source>
         <translation>Barva 1:</translation>
     </message>
@@ -3764,17 +3775,17 @@ Ujistěte se, že je možný přístup do  &apos;~/.keepass&apos;.</translation>
         <translation type="obsolete">&amp;Bezpečnost</translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="662"/>
+        <location filename="../forms/SettingsDlg.ui" line="692"/>
         <source>Alternating Row Colors</source>
         <translation>Střídavě barevné podklady řádků</translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="1037"/>
+        <location filename="../forms/SettingsDlg.ui" line="1067"/>
         <source>Browse...</source>
         <translation>Projít...</translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="182"/>
+        <location filename="../forms/SettingsDlg.ui" line="212"/>
         <source>Remember last key type and location</source>
         <translation>Zapamatovat naposledy napsaný klíč a umístění</translation>
     </message>
@@ -3783,7 +3794,7 @@ Ujistěte se, že je možný přístup do  &apos;~/.keepass&apos;.</translation>
         <translation type="obsolete">Mountovat jako Root:</translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="154"/>
+        <location filename="../forms/SettingsDlg.ui" line="184"/>
         <source>Remember last opened file</source>
         <translation>Zapamatovat naposledy otevřený soubor</translation>
     </message>
@@ -3793,27 +3804,27 @@ Ujistěte se, že je možný přístup do  &apos;~/.keepass&apos;.</translation>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="258"/>
+        <location filename="../forms/SettingsDlg.ui" line="288"/>
         <source>Save recent directories of file dialogs</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="703"/>
+        <location filename="../forms/SettingsDlg.ui" line="733"/>
         <source>Group tree at start-up:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="710"/>
+        <location filename="../forms/SettingsDlg.ui" line="740"/>
         <source>Restore last state</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="717"/>
+        <location filename="../forms/SettingsDlg.ui" line="747"/>
         <source>Expand all items</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="724"/>
+        <location filename="../forms/SettingsDlg.ui" line="754"/>
         <source>Do not expand any item</source>
         <translation type="unfinished"></translation>
     </message>
@@ -3823,37 +3834,37 @@ Ujistěte se, že je možný přístup do  &apos;~/.keepass&apos;.</translation>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="866"/>
+        <location filename="../forms/SettingsDlg.ui" line="896"/>
         <source>Edit Entry Dialog</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="1222"/>
+        <location filename="../forms/SettingsDlg.ui" line="1252"/>
         <source>Plug-Ins</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="1231"/>
+        <location filename="../forms/SettingsDlg.ui" line="1261"/>
         <source>None</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="1238"/>
+        <location filename="../forms/SettingsDlg.ui" line="1268"/>
         <source>Gnome Desktop Integration (Gtk 2.x)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="1245"/>
+        <location filename="../forms/SettingsDlg.ui" line="1275"/>
         <source>KDE 4 Desktop Integration</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="1260"/>
+        <location filename="../forms/SettingsDlg.ui" line="1290"/>
         <source>You need to restart the program before the changes take effect.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="1280"/>
+        <location filename="../forms/SettingsDlg.ui" line="1310"/>
         <source>Configure...</source>
         <translation type="unfinished"></translation>
     </message>
@@ -3863,78 +3874,78 @@ Ujistěte se, že je možný přístup do  &apos;~/.keepass&apos;.</translation>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="281"/>
+        <location filename="../forms/SettingsDlg.ui" line="311"/>
         <source>Clear History Now</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="303"/>
+        <location filename="../forms/SettingsDlg.ui" line="333"/>
         <source>Always ask before deleting entries or groups</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="674"/>
+        <location filename="../forms/SettingsDlg.ui" line="704"/>
         <source>Customize Entry Detail View...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="1182"/>
+        <location filename="../forms/SettingsDlg.ui" line="1212"/>
         <source>You can disable several features of KeePassX here according to your needs in order to keep the user interface slim.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="1192"/>
+        <location filename="../forms/SettingsDlg.ui" line="1222"/>
         <source>Bookmarks</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="1056"/>
+        <location filename="../forms/SettingsDlg.ui" line="1086"/>
         <source>Auto-Type Fine Tuning</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="1065"/>
+        <location filename="../forms/SettingsDlg.ui" line="1095"/>
         <source>Time between the activation of an auto-type action by the user and the first simulated key stroke.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="1068"/>
-        <location filename="../forms/SettingsDlg.ui" line="1114"/>
+        <location filename="../forms/SettingsDlg.ui" line="1098"/>
+        <location filename="../forms/SettingsDlg.ui" line="1144"/>
         <source>ms</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="1078"/>
+        <location filename="../forms/SettingsDlg.ui" line="1108"/>
         <source>Pre-Gap:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="1101"/>
+        <location filename="../forms/SettingsDlg.ui" line="1131"/>
         <source>Key Stroke Delay:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="1111"/>
+        <location filename="../forms/SettingsDlg.ui" line="1141"/>
         <source>Delay between two simulated key strokes. Increase this if Auto-Type is randomly skipping characters.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="1030"/>
+        <location filename="../forms/SettingsDlg.ui" line="1060"/>
         <source>The directory where storage devices like CDs and memory sticks are normally mounted.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="1020"/>
+        <location filename="../forms/SettingsDlg.ui" line="1050"/>
         <source>Media Root:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="1046"/>
+        <location filename="../forms/SettingsDlg.ui" line="1076"/>
         <source>Enable this if you want to use your bookmarks and the last opened file independet from their absolute paths. This is especially useful when using KeePassX portably and therefore with changing mount points in the file system.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="1049"/>
+        <location filename="../forms/SettingsDlg.ui" line="1079"/>
         <source>Save relative paths (bookmarks and last file)</source>
         <translation type="unfinished"></translation>
     </message>
@@ -3944,63 +3955,63 @@ Ujistěte se, že je možný přístup do  &apos;~/.keepass&apos;.</translation>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="212"/>
+        <location filename="../forms/SettingsDlg.ui" line="242"/>
         <source>Start minimized</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="242"/>
+        <location filename="../forms/SettingsDlg.ui" line="272"/>
         <source>Start locked</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="932"/>
+        <location filename="../forms/SettingsDlg.ui" line="962"/>
         <source>Lock workspace when minimizing the main window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="1129"/>
+        <location filename="../forms/SettingsDlg.ui" line="1159"/>
         <source>Global Auto-Type Shortcut:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="996"/>
+        <location filename="../forms/SettingsDlg.ui" line="1026"/>
         <source>Custom Browser Command</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="1008"/>
+        <location filename="../forms/SettingsDlg.ui" line="1038"/>
         <source>Browse</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="390"/>
+        <location filename="../forms/SettingsDlg.ui" line="420"/>
         <source>Automatically save database on exit and workspace locking</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="857"/>
+        <location filename="../forms/SettingsDlg.ui" line="887"/>
         <source>Show plain text passwords in:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="873"/>
+        <location filename="../forms/SettingsDlg.ui" line="903"/>
         <source>Database Key Dialog</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="923"/>
-        <location filename="../forms/SettingsDlg.ui" line="970"/>
+        <location filename="../forms/SettingsDlg.ui" line="953"/>
+        <location filename="../forms/SettingsDlg.ui" line="1000"/>
         <source>seconds</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="941"/>
+        <location filename="../forms/SettingsDlg.ui" line="971"/>
         <source>Lock database after inactivity of</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="1158"/>
+        <location filename="../forms/SettingsDlg.ui" line="1188"/>
         <source>Use entries&apos; title to match the window for Global Auto-Type</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4025,37 +4036,42 @@ Ujistěte se, že je možný přístup do  &apos;~/.keepass&apos;.</translation>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="327"/>
+        <location filename="../forms/SettingsDlg.ui" line="173"/>
+        <source>Minimize to tray when clicking the main window&apos;s close button</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../forms/SettingsDlg.ui" line="357"/>
         <source>Save backups of modified entries into the &apos;Backup&apos; group</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="355"/>
+        <location filename="../forms/SettingsDlg.ui" line="385"/>
         <source>Delete backup entries older than:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="381"/>
+        <location filename="../forms/SettingsDlg.ui" line="411"/>
         <source>days</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="397"/>
+        <location filename="../forms/SettingsDlg.ui" line="427"/>
         <source>Automatically save database after every change</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="655"/>
+        <location filename="../forms/SettingsDlg.ui" line="685"/>
         <source>Show window always on top</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="791"/>
+        <location filename="../forms/SettingsDlg.ui" line="821"/>
         <source>Language:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="798"/>
+        <location filename="../forms/SettingsDlg.ui" line="828"/>
         <source>Author:</source>
         <translation type="unfinished"></translation>
     </message>
index af015e9..57feb0f 100644 (file)
@@ -487,25 +487,25 @@ Are you sure?</source>
 <context>
     <name>CSettingsDlg</name>
     <message>
-        <location filename="../dialogs/SettingsDlg.cpp" line="213"/>
-        <location filename="../dialogs/SettingsDlg.cpp" line="321"/>
-        <location filename="../dialogs/SettingsDlg.cpp" line="335"/>
-        <location filename="../dialogs/SettingsDlg.cpp" line="349"/>
+        <location filename="../dialogs/SettingsDlg.cpp" line="218"/>
+        <location filename="../dialogs/SettingsDlg.cpp" line="327"/>
+        <location filename="../dialogs/SettingsDlg.cpp" line="341"/>
+        <location filename="../dialogs/SettingsDlg.cpp" line="355"/>
         <source>Settings</source>
         <translation>Einstellungen</translation>
     </message>
     <message>
-        <location filename="../dialogs/SettingsDlg.cpp" line="354"/>
+        <location filename="../dialogs/SettingsDlg.cpp" line="360"/>
         <source>Select a directory...</source>
         <translation>Wählen Sie ein Verzeichnis aus...</translation>
     </message>
     <message>
-        <location filename="../dialogs/SettingsDlg.cpp" line="361"/>
+        <location filename="../dialogs/SettingsDlg.cpp" line="367"/>
         <source>Select an executable...</source>
         <translation>Ausführbare Datei auswählen...</translation>
     </message>
     <message>
-        <location filename="../dialogs/SettingsDlg.cpp" line="423"/>
+        <location filename="../dialogs/SettingsDlg.cpp" line="429"/>
         <source>System Language</source>
         <translation>Systemsprache</translation>
     </message>
@@ -1501,77 +1501,78 @@ um zu diesem zu springen.</translation>
 <context>
     <name>Kdb3Database</name>
     <message>
-        <location filename="../Kdb3Database.cpp" line="516"/>
-        <location filename="../Kdb3Database.cpp" line="525"/>
+        <location filename="../Kdb3Database.cpp" line="524"/>
+        <location filename="../Kdb3Database.cpp" line="533"/>
+        <location filename="../Kdb3Database.cpp" line="1359"/>
         <source>Could not open file.</source>
         <translation>Die Datei kann nicht geöffnet werden.</translation>
     </message>
     <message>
-        <location filename="../Kdb3Database.cpp" line="541"/>
+        <location filename="../Kdb3Database.cpp" line="557"/>
         <source>Unexpected file size (DB_TOTAL_SIZE &lt; DB_HEADER_SIZE)</source>
         <translation>Unerwartete Dateigröße (DB_TOTAL_SIZE &lt; DB_HEADER_SIZE)</translation>
     </message>
     <message>
-        <location filename="../Kdb3Database.cpp" line="558"/>
+        <location filename="../Kdb3Database.cpp" line="574"/>
         <source>Wrong Signature</source>
         <translation>Falsche Signatur</translation>
     </message>
     <message>
-        <location filename="../Kdb3Database.cpp" line="563"/>
+        <location filename="../Kdb3Database.cpp" line="579"/>
         <source>Unsupported File Version.</source>
         <translation>Nicht unterstützte Dateiversion.</translation>
     </message>
     <message>
-        <location filename="../Kdb3Database.cpp" line="572"/>
+        <location filename="../Kdb3Database.cpp" line="588"/>
         <source>Unknown Encryption Algorithm.</source>
         <translation>Unbekannter bzw. nicht unterstüzter Verschlüsselungsalgorithmus.</translation>
     </message>
     <message>
-        <location filename="../Kdb3Database.cpp" line="599"/>
+        <location filename="../Kdb3Database.cpp" line="615"/>
         <source>Unable to initialize the twofish algorithm.</source>
         <translation>Der Twofish-Algorithmus kann nicht initialisiert werden.</translation>
     </message>
     <message>
-        <location filename="../Kdb3Database.cpp" line="606"/>
+        <location filename="../Kdb3Database.cpp" line="622"/>
         <source>Unknown encryption algorithm.</source>
         <translation>Unbekannter Verschlüsslungsalgorithmus.</translation>
     </message>
     <message>
-        <location filename="../Kdb3Database.cpp" line="611"/>
+        <location filename="../Kdb3Database.cpp" line="627"/>
         <source>Decryption failed.
 The key is wrong or the file is damaged.</source>
         <translation>Die Entschlüsselung ist fehlgeschlagen.
 Der Schlüssel ist falsch oder die Datei ist beschädigt.</translation>
     </message>
     <message>
-        <location filename="../Kdb3Database.cpp" line="637"/>
+        <location filename="../Kdb3Database.cpp" line="654"/>
         <source>Hash test failed.
 The key is wrong or the file is damaged.</source>
         <translation>Der Hash-Test ist fehlgeschlagen.
 Der Schlüssel ist falsch oder die Datei ist beschädigt.</translation>
     </message>
     <message>
-        <location filename="../Kdb3Database.cpp" line="722"/>
+        <location filename="../Kdb3Database.cpp" line="739"/>
         <source>Invalid group tree.</source>
         <translation>Ungültiger Gruppenbaum.</translation>
     </message>
     <message>
-        <location filename="../Kdb3Database.cpp" line="938"/>
+        <location filename="../Kdb3Database.cpp" line="955"/>
         <source>Key file is empty.</source>
         <translation>Die Schlüsseldatei hat keinen Inhalt.</translation>
     </message>
     <message>
-        <location filename="../Kdb3Database.cpp" line="1318"/>
+        <location filename="../Kdb3Database.cpp" line="1353"/>
         <source>The database must contain at least one group.</source>
         <translation>Die Datenbank muss mindestens eine Gruppe enthalten.</translation>
     </message>
     <message>
-        <location filename="../Kdb3Database.cpp" line="660"/>
-        <location filename="../Kdb3Database.cpp" line="667"/>
-        <location filename="../Kdb3Database.cpp" line="679"/>
-        <location filename="../Kdb3Database.cpp" line="693"/>
-        <location filename="../Kdb3Database.cpp" line="700"/>
-        <location filename="../Kdb3Database.cpp" line="716"/>
+        <location filename="../Kdb3Database.cpp" line="677"/>
+        <location filename="../Kdb3Database.cpp" line="684"/>
+        <location filename="../Kdb3Database.cpp" line="696"/>
+        <location filename="../Kdb3Database.cpp" line="710"/>
+        <location filename="../Kdb3Database.cpp" line="717"/>
+        <location filename="../Kdb3Database.cpp" line="733"/>
         <source>Unexpected error: Offset is out of range.</source>
         <translation>Unerwarteter Fehler: Offset ist auserhalb der Reichweite.</translation>
     </message>
@@ -1580,7 +1581,7 @@ Der Schlüssel ist falsch oder die Datei ist beschädigt.</translation>
         <translation type="obsolete">Der Twofish-Algorithmus kann nicht initialisiert werden.</translation>
     </message>
     <message>
-        <location filename="../Kdb3Database.cpp" line="1338"/>
+        <location filename="../Kdb3Database.cpp" line="1365"/>
         <source>The database has been opened read-only.</source>
         <translation>Die Datenbank ist schreibgeschützt geöffnet worden.</translation>
     </message>
@@ -1588,22 +1589,22 @@ Der Schlüssel ist falsch oder die Datei ist beschädigt.</translation>
 <context>
     <name>Kdb3Database::EntryHandle</name>
     <message>
-        <location filename="../Kdb3Database.cpp" line="1182"/>
+        <location filename="../Kdb3Database.cpp" line="1216"/>
         <source>Bytes</source>
         <translation>Bytes</translation>
     </message>
     <message>
-        <location filename="../Kdb3Database.cpp" line="1190"/>
+        <location filename="../Kdb3Database.cpp" line="1224"/>
         <source>KiB</source>
         <translation>KiB</translation>
     </message>
     <message>
-        <location filename="../Kdb3Database.cpp" line="1196"/>
+        <location filename="../Kdb3Database.cpp" line="1230"/>
         <source>MiB</source>
         <translation>MiB</translation>
     </message>
     <message>
-        <location filename="../Kdb3Database.cpp" line="1201"/>
+        <location filename="../Kdb3Database.cpp" line="1235"/>
         <source>GiB</source>
         <translation>GiB</translation>
     </message>
@@ -1611,88 +1612,88 @@ Der Schlüssel ist falsch oder die Datei ist beschädigt.</translation>
 <context>
     <name>KeepassEntryView</name>
     <message>
-        <location filename="../lib/EntryView.cpp" line="64"/>
+        <location filename="../lib/EntryView.cpp" line="68"/>
         <source>Title</source>
         <translation>Titel</translation>
     </message>
     <message>
-        <location filename="../lib/EntryView.cpp" line="64"/>
+        <location filename="../lib/EntryView.cpp" line="68"/>
         <source>Username</source>
         <translation>Benutzername</translation>
     </message>
     <message>
-        <location filename="../lib/EntryView.cpp" line="64"/>
+        <location filename="../lib/EntryView.cpp" line="68"/>
         <source>URL</source>
         <translation>URL</translation>
     </message>
     <message>
-        <location filename="../lib/EntryView.cpp" line="64"/>
+        <location filename="../lib/EntryView.cpp" line="68"/>
         <source>Password</source>
         <translation>Passwort</translation>
     </message>
     <message>
-        <location filename="../lib/EntryView.cpp" line="64"/>
+        <location filename="../lib/EntryView.cpp" line="68"/>
         <source>Comments</source>
         <translation>Kommentar</translation>
     </message>
     <message>
-        <location filename="../lib/EntryView.cpp" line="65"/>
+        <location filename="../lib/EntryView.cpp" line="69"/>
         <source>Expires</source>
         <translation>Läuft ab</translation>
     </message>
     <message>
-        <location filename="../lib/EntryView.cpp" line="65"/>
+        <location filename="../lib/EntryView.cpp" line="69"/>
         <source>Creation</source>
         <translation>Erstellt am</translation>
     </message>
     <message>
-        <location filename="../lib/EntryView.cpp" line="65"/>
+        <location filename="../lib/EntryView.cpp" line="69"/>
         <source>Last Change</source>
         <translatorcomment>Modification -&gt; Change</translatorcomment>
         <translation>Letzte Änderung</translation>
     </message>
     <message>
-        <location filename="../lib/EntryView.cpp" line="65"/>
+        <location filename="../lib/EntryView.cpp" line="69"/>
         <source>Last Access</source>
         <translation>Letzter Zugriff</translation>
     </message>
     <message>
-        <location filename="../lib/EntryView.cpp" line="65"/>
+        <location filename="../lib/EntryView.cpp" line="69"/>
         <source>Attachment</source>
         <translation>Anhang</translation>
     </message>
     <message>
-        <location filename="../lib/EntryView.cpp" line="240"/>
+        <location filename="../lib/EntryView.cpp" line="244"/>
         <source>Delete?</source>
         <translation>Einträge löschen?</translation>
     </message>
     <message>
-        <location filename="../lib/EntryView.cpp" line="65"/>
+        <location filename="../lib/EntryView.cpp" line="69"/>
         <source>Group</source>
         <translation>Gruppe</translation>
     </message>
     <message>
-        <location filename="../lib/EntryView.cpp" line="376"/>
+        <location filename="../lib/EntryView.cpp" line="380"/>
         <source>Error</source>
         <translation>Fehler</translation>
     </message>
     <message>
-        <location filename="../lib/EntryView.cpp" line="376"/>
+        <location filename="../lib/EntryView.cpp" line="380"/>
         <source>At least one group must exist before adding an entry.</source>
         <translation>Es muss mindestens eine Gruppe existieren, bevor ein Eintrag hinzugefügt werden kann.</translation>
     </message>
     <message>
-        <location filename="../lib/EntryView.cpp" line="376"/>
+        <location filename="../lib/EntryView.cpp" line="380"/>
         <source>OK</source>
         <translation>OK</translation>
     </message>
     <message>
-        <location filename="../lib/EntryView.cpp" line="237"/>
+        <location filename="../lib/EntryView.cpp" line="241"/>
         <source>Are you sure you want to delete this entry?</source>
         <translation>Sind Sie sicher, dass Sie diesen Eintrag löschen wollen?</translation>
     </message>
     <message>
-        <location filename="../lib/EntryView.cpp" line="239"/>
+        <location filename="../lib/EntryView.cpp" line="243"/>
         <source>Are you sure you want to delete these %1 entries?</source>
         <translation>Sind Sie sicher, dass Sie diese %1 Einträge löschen wollen?</translation>
     </message>
@@ -1718,208 +1719,213 @@ Der Schlüssel ist falsch oder die Datei ist beschädigt.</translation>
 <context>
     <name>KeepassMainWindow</name>
     <message>
-        <location filename="../mainwindow.cpp" line="350"/>
+        <location filename="../mainwindow.cpp" line="361"/>
         <source>Ctrl+O</source>
         <translation>Strg+O</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="352"/>
+        <location filename="../mainwindow.cpp" line="363"/>
         <source>Ctrl+S</source>
         <translation>Strg+S</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="355"/>
+        <location filename="../mainwindow.cpp" line="366"/>
         <source>Ctrl+G</source>
         <translation>Strg+G</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="356"/>
+        <location filename="../mainwindow.cpp" line="367"/>
         <source>Ctrl+C</source>
         <translation>Strg+C</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="357"/>
+        <location filename="../mainwindow.cpp" line="368"/>
         <source>Ctrl+B</source>
         <translation>Strg+B</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="358"/>
+        <location filename="../mainwindow.cpp" line="369"/>
         <source>Ctrl+U</source>
         <translation>Strg+U</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="360"/>
+        <location filename="../mainwindow.cpp" line="371"/>
         <source>Ctrl+Y</source>
         <translation>Strg+Y</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="361"/>
+        <location filename="../mainwindow.cpp" line="372"/>
         <source>Ctrl+E</source>
         <translation>Strg+E</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="362"/>
+        <location filename="../mainwindow.cpp" line="373"/>
         <source>Ctrl+D</source>
         <translation>Strg+D</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="363"/>
+        <location filename="../mainwindow.cpp" line="374"/>
         <source>Ctrl+K</source>
         <translation>Strg+K</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="364"/>
+        <location filename="../mainwindow.cpp" line="375"/>
         <source>Ctrl+F</source>
         <translation>Strg+F</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1472"/>
-        <location filename="../mainwindow.cpp" line="1486"/>
+        <location filename="../mainwindow.cpp" line="384"/>
+        <source>Ctrl+M</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../mainwindow.cpp" line="1505"/>
+        <location filename="../mainwindow.cpp" line="1519"/>
         <source>locked</source>
         <translation>gesperrt</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="351"/>
+        <location filename="../mainwindow.cpp" line="362"/>
         <source>Ctrl+W</source>
         <translation>Strg+W</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="371"/>
+        <location filename="../mainwindow.cpp" line="382"/>
         <source>Shift+Ctrl+S</source>
         <translation>Umschalt+Strg+S</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="372"/>
+        <location filename="../mainwindow.cpp" line="383"/>
         <source>Shift+Ctrl+F</source>
         <translation>Umschalt+Strg+F</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="405"/>
-        <location filename="../mainwindow.cpp" line="485"/>
-        <location filename="../mainwindow.cpp" line="508"/>
-        <location filename="../mainwindow.cpp" line="544"/>
-        <location filename="../mainwindow.cpp" line="927"/>
+        <location filename="../mainwindow.cpp" line="417"/>
+        <location filename="../mainwindow.cpp" line="497"/>
+        <location filename="../mainwindow.cpp" line="520"/>
+        <location filename="../mainwindow.cpp" line="556"/>
         <location filename="../mainwindow.cpp" line="939"/>
+        <location filename="../mainwindow.cpp" line="951"/>
         <source>Error</source>
         <translation>Fehler</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="525"/>
+        <location filename="../mainwindow.cpp" line="537"/>
         <source>Save modified file?</source>
         <translation>Bearbeitete Datei speichern?</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="802"/>
-        <location filename="../mainwindow.cpp" line="817"/>
-        <location filename="../mainwindow.cpp" line="853"/>
-        <location filename="../mainwindow.cpp" line="868"/>
+        <location filename="../mainwindow.cpp" line="814"/>
+        <location filename="../mainwindow.cpp" line="829"/>
+        <location filename="../mainwindow.cpp" line="865"/>
+        <location filename="../mainwindow.cpp" line="880"/>
         <source>Clone Entry</source>
         <translation>Eintrag duplizieren</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="804"/>
-        <location filename="../mainwindow.cpp" line="819"/>
-        <location filename="../mainwindow.cpp" line="855"/>
-        <location filename="../mainwindow.cpp" line="870"/>
+        <location filename="../mainwindow.cpp" line="816"/>
+        <location filename="../mainwindow.cpp" line="831"/>
+        <location filename="../mainwindow.cpp" line="867"/>
+        <location filename="../mainwindow.cpp" line="882"/>
         <source>Delete Entry</source>
         <translation>Eintrag löschen</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="832"/>
-        <location filename="../mainwindow.cpp" line="883"/>
+        <location filename="../mainwindow.cpp" line="844"/>
+        <location filename="../mainwindow.cpp" line="895"/>
         <source>Clone Entries</source>
         <translation>Einträge duplizieren</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="834"/>
-        <location filename="../mainwindow.cpp" line="885"/>
+        <location filename="../mainwindow.cpp" line="846"/>
+        <location filename="../mainwindow.cpp" line="897"/>
         <source>Delete Entries</source>
         <translation>Einträge löschen</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="927"/>
+        <location filename="../mainwindow.cpp" line="939"/>
         <source>Couldn&apos;t create database lock file.</source>
         <translation>Konnten die Sperrdatei für die Datenbank nicht erstellen.</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1449"/>
+        <location filename="../mainwindow.cpp" line="1482"/>
         <source>Ready</source>
         <translation>Bereit</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="611"/>
+        <location filename="../mainwindow.cpp" line="623"/>
         <source>Open Database...</source>
         <translation>Datenbank öffnen...</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1452"/>
+        <location filename="../mainwindow.cpp" line="1485"/>
         <source>Loading Database...</source>
         <translation>Datenbank laden...</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1455"/>
+        <location filename="../mainwindow.cpp" line="1488"/>
         <source>Loading Failed</source>
         <translation>Laden fehlgeschlagen</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="368"/>
+        <location filename="../mainwindow.cpp" line="379"/>
         <source>Ctrl+V</source>
         <translation>Strg+V</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="484"/>
+        <location filename="../mainwindow.cpp" line="496"/>
         <source>Unknown error while loading database.</source>
         <translation>Beim laden der Datenbank ist ein unbekannter Fehler aufgetreten.</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="611"/>
-        <location filename="../mainwindow.cpp" line="921"/>
+        <location filename="../mainwindow.cpp" line="623"/>
+        <location filename="../mainwindow.cpp" line="933"/>
         <source>KeePass Databases (*.kdb)</source>
         <translation>KeePass-Datenbank (*.kdb)</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="611"/>
-        <location filename="../mainwindow.cpp" line="921"/>
+        <location filename="../mainwindow.cpp" line="623"/>
+        <location filename="../mainwindow.cpp" line="933"/>
         <source>All Files (*)</source>
         <translation>Alle Dateien (*)</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="921"/>
+        <location filename="../mainwindow.cpp" line="933"/>
         <source>Save Database...</source>
         <translation>Datenbank speichern...</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="756"/>
+        <location filename="../mainwindow.cpp" line="768"/>
         <source>1 Month</source>
         <translation>1 Monat</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="758"/>
+        <location filename="../mainwindow.cpp" line="770"/>
         <source>%1 Months</source>
         <translation>%1 Monate</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="764"/>
+        <location filename="../mainwindow.cpp" line="776"/>
         <source>1 Year</source>
         <translation>1 Jahr</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="766"/>
+        <location filename="../mainwindow.cpp" line="778"/>
         <source>%1 Years</source>
         <translation>%1 Jahre</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="772"/>
+        <location filename="../mainwindow.cpp" line="784"/>
         <source>1 Day</source>
         <translation>1 Tag</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="774"/>
+        <location filename="../mainwindow.cpp" line="786"/>
         <source>%1 Days</source>
         <translation>%1 Tage</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="778"/>
+        <location filename="../mainwindow.cpp" line="790"/>
         <source>less than 1 day</source>
         <translation>weniger als einem Tag</translation>
     </message>
@@ -1932,86 +1938,86 @@ Der Schlüssel ist falsch oder die Datei ist beschädigt.</translation>
         <translation type="obsolete">Entsperrt</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="353"/>
+        <location filename="../mainwindow.cpp" line="364"/>
         <source>Ctrl+L</source>
         <translation>Strg+L</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="354"/>
+        <location filename="../mainwindow.cpp" line="365"/>
         <source>Ctrl+Q</source>
         <translation>Strg+Q</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="405"/>
-        <location filename="../mainwindow.cpp" line="508"/>
+        <location filename="../mainwindow.cpp" line="417"/>
+        <location filename="../mainwindow.cpp" line="520"/>
         <source>The database file does not exist.</source>
         <translation>Die Datenbankdatei existiert nicht.</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1470"/>
-        <location filename="../mainwindow.cpp" line="1484"/>
+        <location filename="../mainwindow.cpp" line="1503"/>
+        <location filename="../mainwindow.cpp" line="1517"/>
         <source>new</source>
         <translation>neu</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="742"/>
+        <location filename="../mainwindow.cpp" line="754"/>
         <source>Expired</source>
         <translation>Abgelaufen</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1344"/>
+        <location filename="../mainwindow.cpp" line="1375"/>
         <source>Un&amp;lock Workspace</source>
         <translation>Arbeits&amp;bereich entsperren</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1359"/>
+        <location filename="../mainwindow.cpp" line="1390"/>
         <source>&amp;Lock Workspace</source>
         <translation>&amp;Arbeitsbereich sperren</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="486"/>
+        <location filename="../mainwindow.cpp" line="498"/>
         <source>The following error occured while opening the database:</source>
         <translation>Der folgende Fehler ist beim öffnen der Datenbank aufgetreten:</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="914"/>
-        <location filename="../mainwindow.cpp" line="932"/>
+        <location filename="../mainwindow.cpp" line="926"/>
+        <location filename="../mainwindow.cpp" line="944"/>
         <source>File could not be saved.</source>
         <translation>Die Datei kann nicht gespeichert werden.</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="309"/>
-        <location filename="../mainwindow.cpp" line="1125"/>
+        <location filename="../mainwindow.cpp" line="315"/>
+        <location filename="../mainwindow.cpp" line="1147"/>
         <source>Show &amp;Toolbar</source>
         <translation>&amp;Werkzeugleiste anzeigen</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="349"/>
+        <location filename="../mainwindow.cpp" line="360"/>
         <source>Ctrl+N</source>
         <translation>Strg+N</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="365"/>
+        <location filename="../mainwindow.cpp" line="376"/>
         <source>Ctrl+P</source>
         <translation>Strg+P</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="366"/>
+        <location filename="../mainwindow.cpp" line="377"/>
         <source>Ctrl+X</source>
         <translation>Strg+X</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="359"/>
+        <location filename="../mainwindow.cpp" line="370"/>
         <source>Ctrl+I</source>
         <translation>Strg+I</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="414"/>
+        <location filename="../mainwindow.cpp" line="426"/>
         <source>Database locked</source>
         <translation>Datenbank gesperrt</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="415"/>
+        <location filename="../mainwindow.cpp" line="427"/>
         <source>The database you are trying to open is locked.
 This means that either someone else has opened the file or KeePassX crashed last time it opened the database.
 
@@ -2021,24 +2027,24 @@ Das bedeutet, dass jemand anders die Datei geöffnet hat oder KeePassX das letzt
 Wollen Sie die Datenbank trotzdem öffnen?</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="526"/>
+        <location filename="../mainwindow.cpp" line="538"/>
         <source>The current file was modified.
 Do you want to save the changes?</source>
         <translation>Die aktuelle Datei wurde geändert. Möchten Sie die Änderungen speichern?</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="544"/>
-        <location filename="../mainwindow.cpp" line="939"/>
+        <location filename="../mainwindow.cpp" line="556"/>
+        <location filename="../mainwindow.cpp" line="951"/>
         <source>Couldn&apos;t remove database lock file.</source>
         <translation>Konnte Datenbaksperrdatei nicht entfernen.</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="421"/>
+        <location filename="../mainwindow.cpp" line="433"/>
         <source>Open read-only</source>
         <translation>Schreibgeschützt öffnen</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1458"/>
+        <location filename="../mainwindow.cpp" line="1491"/>
         <source>Couldn&apos;t create lock file. Opening the database read-only.</source>
         <translation>Es kann keine Sperrdatei erstellt werden. Die Datenbank wird schreibgeschützt geöffnet.</translation>
     </message>
@@ -2355,6 +2361,11 @@ Do you want to save the changes?</source>
         <translation>Pass&amp;wortgenerator ...</translation>
     </message>
     <message>
+        <location filename="../forms/MainWindow.ui" line="588"/>
+        <source>&amp;Minimize Window</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
         <source>&amp;Group (search results only)</source>
         <translation type="obsolete">&amp;Gruppe (nur bei Suchergebnissen)</translation>
     </message>
@@ -2646,58 +2657,58 @@ Die Datei ist nicht lesbar.</translation>
         <translation>Einstellungen</translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="894"/>
+        <location filename="../forms/SettingsDlg.ui" line="924"/>
         <source>Clear clipboard after:</source>
         <translation>Zwischenablage leeren nach:</translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="421"/>
+        <location filename="../forms/SettingsDlg.ui" line="451"/>
         <source>Banner Color</source>
         <translation>Bannerfarbe</translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="435"/>
+        <location filename="../forms/SettingsDlg.ui" line="465"/>
         <source>Text Color:</source>
         <translation>Textfarbe:</translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="476"/>
-        <location filename="../forms/SettingsDlg.ui" line="564"/>
+        <location filename="../forms/SettingsDlg.ui" line="506"/>
+        <location filename="../forms/SettingsDlg.ui" line="594"/>
         <source>Change...</source>
         <translation>Ändern ...</translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="489"/>
+        <location filename="../forms/SettingsDlg.ui" line="519"/>
         <source>Color 2:</source>
         <translation>Farbe 2:</translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="614"/>
+        <location filename="../forms/SettingsDlg.ui" line="644"/>
         <source>C&amp;hange...</source>
         <translation>Ä&amp;ndern ...</translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="627"/>
+        <location filename="../forms/SettingsDlg.ui" line="657"/>
         <source>Color 1:</source>
         <translation>Farbe 1:</translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="662"/>
+        <location filename="../forms/SettingsDlg.ui" line="692"/>
         <source>Alternating Row Colors</source>
         <translation>Abwechselnde Zeilenfarben</translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="1037"/>
+        <location filename="../forms/SettingsDlg.ui" line="1067"/>
         <source>Browse...</source>
         <translation>Durchsuchen ...</translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="182"/>
+        <location filename="../forms/SettingsDlg.ui" line="212"/>
         <source>Remember last key type and location</source>
         <translation>Art und Ort des Schlüssels der letzten Datenbank merken</translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="154"/>
+        <location filename="../forms/SettingsDlg.ui" line="184"/>
         <source>Remember last opened file</source>
         <translation>Zuletzt geöffnete Datei merken</translation>
     </message>
@@ -2707,31 +2718,32 @@ Die Datei ist nicht lesbar.</translation>
         <translation>Symbol im Systemabschnitt der Kontrollleiste anzeigen</translation>
     </message>
     <message>
+        <location filename="../forms/SettingsDlg.ui" line="173"/>
         <source>Minimize to tray when clicking the main window&apos;s close button</source>
-        <translation type="obsolete">In den Systemabschnitt senden, wenn der Schließen-Knopf betätigt wird</translation>
+        <translation type="unfinished">In den Systemabschnitt senden, wenn der Schließen-Knopf betätigt wird</translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="258"/>
+        <location filename="../forms/SettingsDlg.ui" line="288"/>
         <source>Save recent directories of file dialogs</source>
         <translation>Verzeichnisse der zuletzt geöffneten Dateien merken</translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="703"/>
+        <location filename="../forms/SettingsDlg.ui" line="733"/>
         <source>Group tree at start-up:</source>
         <translation>Gruppen-Baumansicht nach dem starten:</translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="710"/>
+        <location filename="../forms/SettingsDlg.ui" line="740"/>
         <source>Restore last state</source>
         <translation>Letzten Zustand wiederherstellen</translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="717"/>
+        <location filename="../forms/SettingsDlg.ui" line="747"/>
         <source>Expand all items</source>
         <translation>Alle Gruppen aufklappen</translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="724"/>
+        <location filename="../forms/SettingsDlg.ui" line="754"/>
         <source>Do not expand any item</source>
         <translation>Gruppen eingeklappt halten</translation>
     </message>
@@ -2741,38 +2753,38 @@ Die Datei ist nicht lesbar.</translation>
         <translation>Sicherheit</translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="866"/>
+        <location filename="../forms/SettingsDlg.ui" line="896"/>
         <source>Edit Entry Dialog</source>
         <translation>Dialog zum Bearbeiten von Einträgen</translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="1222"/>
+        <location filename="../forms/SettingsDlg.ui" line="1252"/>
         <source>Plug-Ins</source>
         <translation>Plugins</translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="1231"/>
+        <location filename="../forms/SettingsDlg.ui" line="1261"/>
         <source>None</source>
         <translation>nichts</translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="1238"/>
+        <location filename="../forms/SettingsDlg.ui" line="1268"/>
         <source>Gnome Desktop Integration (Gtk 2.x)</source>
         <translatorcomment>GNOME, GTK</translatorcomment>
         <translation>GNOME-Oberflächenintegration (GTK 2.x)</translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="1245"/>
+        <location filename="../forms/SettingsDlg.ui" line="1275"/>
         <source>KDE 4 Desktop Integration</source>
         <translation>KDE-4-Oberflächenintegration</translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="1260"/>
+        <location filename="../forms/SettingsDlg.ui" line="1290"/>
         <source>You need to restart the program before the changes take effect.</source>
         <translation>Sie müssen das Programm neu starten, damit die Änderungen wirksam werden.</translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="1280"/>
+        <location filename="../forms/SettingsDlg.ui" line="1310"/>
         <source>Configure...</source>
         <translation>Einrichten ...</translation>
     </message>
@@ -2782,78 +2794,78 @@ Die Datei ist nicht lesbar.</translation>
         <translation>Fortgeschritten</translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="281"/>
+        <location filename="../forms/SettingsDlg.ui" line="311"/>
         <source>Clear History Now</source>
         <translation>Verlauf löschen</translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="303"/>
+        <location filename="../forms/SettingsDlg.ui" line="333"/>
         <source>Always ask before deleting entries or groups</source>
         <translation>Frage immer vor dem löschen von Einträgen und Gruppen</translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="674"/>
+        <location filename="../forms/SettingsDlg.ui" line="704"/>
         <source>Customize Entry Detail View...</source>
         <translation>Ansicht der Eintragdetails anpassen ...</translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="1182"/>
+        <location filename="../forms/SettingsDlg.ui" line="1212"/>
         <source>You can disable several features of KeePassX here according to your needs in order to keep the user interface slim.</source>
         <translation>Sie können hier Funktionen von KeePassX nach Ihren Wünschen deaktivieren, um das Erscheinungsbild gering zu halten.</translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="1192"/>
+        <location filename="../forms/SettingsDlg.ui" line="1222"/>
         <source>Bookmarks</source>
         <translation>Lesezeichen</translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="1056"/>
+        <location filename="../forms/SettingsDlg.ui" line="1086"/>
         <source>Auto-Type Fine Tuning</source>
         <translation>Auto-Type-Details</translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="1065"/>
+        <location filename="../forms/SettingsDlg.ui" line="1095"/>
         <source>Time between the activation of an auto-type action by the user and the first simulated key stroke.</source>
         <translation>Zeit zwischen der Aktivierung einer Auto-Type-Aktion durch den Benutzer bis zum ersten simulierten Tastenanschlag.</translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="1068"/>
-        <location filename="../forms/SettingsDlg.ui" line="1114"/>
+        <location filename="../forms/SettingsDlg.ui" line="1098"/>
+        <location filename="../forms/SettingsDlg.ui" line="1144"/>
         <source>ms</source>
         <translation>ms</translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="1078"/>
+        <location filename="../forms/SettingsDlg.ui" line="1108"/>
         <source>Pre-Gap:</source>
         <translation>Pause vor erstem Tastenanschlag:</translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="1101"/>
+        <location filename="../forms/SettingsDlg.ui" line="1131"/>
         <source>Key Stroke Delay:</source>
         <translation>Pause nach jedem Tastenanschlag:</translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="1111"/>
+        <location filename="../forms/SettingsDlg.ui" line="1141"/>
         <source>Delay between two simulated key strokes. Increase this if Auto-Type is randomly skipping characters.</source>
         <translation>Verzögerung zwischen zwei simulierten Tasteneingaben. Erhöhen Sie dies, wenn Auto-Type unregelmäßig Zeichen auslässt.</translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="1030"/>
+        <location filename="../forms/SettingsDlg.ui" line="1060"/>
         <source>The directory where storage devices like CDs and memory sticks are normally mounted.</source>
         <translation>Das Verzeichnis, in dem normalerweise Speichermedien (Festplatten, CDs, DVDs, USB-Sticks) eingehängt werden.</translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="1020"/>
+        <location filename="../forms/SettingsDlg.ui" line="1050"/>
         <source>Media Root:</source>
         <translation>Hauptmedienverzeichnis:</translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="1046"/>
+        <location filename="../forms/SettingsDlg.ui" line="1076"/>
         <source>Enable this if you want to use your bookmarks and the last opened file independet from their absolute paths. This is especially useful when using KeePassX portably and therefore with changing mount points in the file system.</source>
         <translation>Aktivieren Sie diese Option, wenn Sie Ihre Lesezeichen und die zuletzt geöffnete Datei unabhänig von deren absoluten Pfaden verwenden wollen. Dies ist besonders sinnvoll, wenn Sie KeePassX flexibel einsetzen und sich dadurch die Einhängepunkte im Dateisystem ändern.</translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="1049"/>
+        <location filename="../forms/SettingsDlg.ui" line="1079"/>
         <source>Save relative paths (bookmarks and last file)</source>
         <translation>Relative Pfade speichern (Lesezeichen und zuletzt geöffnete Datei)</translation>
     </message>
@@ -2863,63 +2875,63 @@ Die Datei ist nicht lesbar.</translation>
         <translation>In den Systemabschnitt der Kontrolleiste anstatt zur Fensterleiste minimieren</translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="212"/>
+        <location filename="../forms/SettingsDlg.ui" line="242"/>
         <source>Start minimized</source>
         <translation>KeepassX minimiert starten</translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="242"/>
+        <location filename="../forms/SettingsDlg.ui" line="272"/>
         <source>Start locked</source>
         <translation>Mit gesperrtem Arbeitsbereich starten</translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="932"/>
+        <location filename="../forms/SettingsDlg.ui" line="962"/>
         <source>Lock workspace when minimizing the main window</source>
         <translation>Arbeisbereich sperren wenn das Hauptfenster minimiert wird</translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="1129"/>
+        <location filename="../forms/SettingsDlg.ui" line="1159"/>
         <source>Global Auto-Type Shortcut:</source>
         <translation>Globaler Auto-Type-Kurzbefehl:</translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="996"/>
+        <location filename="../forms/SettingsDlg.ui" line="1026"/>
         <source>Custom Browser Command</source>
         <translation>Benutzerdefinierter Web-Browser</translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="1008"/>
+        <location filename="../forms/SettingsDlg.ui" line="1038"/>
         <source>Browse</source>
         <translation>Durchsuchen</translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="390"/>
+        <location filename="../forms/SettingsDlg.ui" line="420"/>
         <source>Automatically save database on exit and workspace locking</source>
         <translation>Datenbank beim Beenden und Sperren des Arbeitsbereiches automatisch speichern</translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="857"/>
+        <location filename="../forms/SettingsDlg.ui" line="887"/>
         <source>Show plain text passwords in:</source>
         <translation>Passwörter im Klartext anzeigen:</translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="873"/>
+        <location filename="../forms/SettingsDlg.ui" line="903"/>
         <source>Database Key Dialog</source>
         <translation>Datenbankschlüssel-Dialog</translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="923"/>
-        <location filename="../forms/SettingsDlg.ui" line="970"/>
+        <location filename="../forms/SettingsDlg.ui" line="953"/>
+        <location filename="../forms/SettingsDlg.ui" line="1000"/>
         <source>seconds</source>
         <translation>Sekunden</translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="941"/>
+        <location filename="../forms/SettingsDlg.ui" line="971"/>
         <source>Lock database after inactivity of</source>
         <translation>Datenbank bei Inaktivität sperren nach</translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="1158"/>
+        <location filename="../forms/SettingsDlg.ui" line="1188"/>
         <source>Use entries&apos; title to match the window for Global Auto-Type</source>
         <translation>Vergleiche den Titel der Einträge mit Fenter für globales Auto-Type</translation>
     </message>
@@ -2944,37 +2956,37 @@ Die Datei ist nicht lesbar.</translation>
         <translation>Sprache</translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="327"/>
+        <location filename="../forms/SettingsDlg.ui" line="357"/>
         <source>Save backups of modified entries into the &apos;Backup&apos; group</source>
         <translation>Sicherheitskopien der bearbeiteten Einträge in der Gruppe „Backup“ speichern</translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="355"/>
+        <location filename="../forms/SettingsDlg.ui" line="385"/>
         <source>Delete backup entries older than:</source>
         <translation>Sicherheitskopien der Einträge löschen, die älter sind als:</translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="381"/>
+        <location filename="../forms/SettingsDlg.ui" line="411"/>
         <source>days</source>
         <translation>Tage</translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="397"/>
+        <location filename="../forms/SettingsDlg.ui" line="427"/>
         <source>Automatically save database after every change</source>
         <translation>Datenbank automatisch nach jeder Änderung speichern</translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="655"/>
+        <location filename="../forms/SettingsDlg.ui" line="685"/>
         <source>Show window always on top</source>
         <translation>Halte das Fenster immer im Vordergrund</translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="791"/>
+        <location filename="../forms/SettingsDlg.ui" line="821"/>
         <source>Language:</source>
         <translation>Sprache:</translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="798"/>
+        <location filename="../forms/SettingsDlg.ui" line="828"/>
         <source>Author:</source>
         <translation>Autor:</translation>
     </message>
index f4c7f26..5a12683 100644 (file)
@@ -487,25 +487,25 @@ Are you sure?</source>
 <context>
     <name>CSettingsDlg</name>
     <message>
-        <location filename="../dialogs/SettingsDlg.cpp" line="213"/>
-        <location filename="../dialogs/SettingsDlg.cpp" line="321"/>
-        <location filename="../dialogs/SettingsDlg.cpp" line="335"/>
-        <location filename="../dialogs/SettingsDlg.cpp" line="349"/>
+        <location filename="../dialogs/SettingsDlg.cpp" line="218"/>
+        <location filename="../dialogs/SettingsDlg.cpp" line="327"/>
+        <location filename="../dialogs/SettingsDlg.cpp" line="341"/>
+        <location filename="../dialogs/SettingsDlg.cpp" line="355"/>
         <source>Settings</source>
         <translation>Ajustes</translation>
     </message>
     <message>
-        <location filename="../dialogs/SettingsDlg.cpp" line="354"/>
+        <location filename="../dialogs/SettingsDlg.cpp" line="360"/>
         <source>Select a directory...</source>
         <translation>Selecciona un directorio...</translation>
     </message>
     <message>
-        <location filename="../dialogs/SettingsDlg.cpp" line="361"/>
+        <location filename="../dialogs/SettingsDlg.cpp" line="367"/>
         <source>Select an executable...</source>
         <translation>Selecciona un ejecutable...</translation>
     </message>
     <message>
-        <location filename="../dialogs/SettingsDlg.cpp" line="423"/>
+        <location filename="../dialogs/SettingsDlg.cpp" line="429"/>
         <source>System Language</source>
         <translation>Idioma del sistema</translation>
     </message>
@@ -1528,77 +1528,78 @@ p, li { white-space: pre-wrap; }
 <context>
     <name>Kdb3Database</name>
     <message>
-        <location filename="../Kdb3Database.cpp" line="516"/>
-        <location filename="../Kdb3Database.cpp" line="525"/>
+        <location filename="../Kdb3Database.cpp" line="524"/>
+        <location filename="../Kdb3Database.cpp" line="533"/>
+        <location filename="../Kdb3Database.cpp" line="1359"/>
         <source>Could not open file.</source>
         <translation>No se ha podido abrir el archivo.</translation>
     </message>
     <message>
-        <location filename="../Kdb3Database.cpp" line="541"/>
+        <location filename="../Kdb3Database.cpp" line="557"/>
         <source>Unexpected file size (DB_TOTAL_SIZE &lt; DB_HEADER_SIZE)</source>
         <translation>Tamaño de archivo inesperado (DB_TOTAL_SIZE &lt; DB_HEADER_SIZE)</translation>
     </message>
     <message>
-        <location filename="../Kdb3Database.cpp" line="558"/>
+        <location filename="../Kdb3Database.cpp" line="574"/>
         <source>Wrong Signature</source>
         <translation>Fallo en la firma</translation>
     </message>
     <message>
-        <location filename="../Kdb3Database.cpp" line="563"/>
+        <location filename="../Kdb3Database.cpp" line="579"/>
         <source>Unsupported File Version.</source>
         <translation>Versión del archivo sin soporte.</translation>
     </message>
     <message>
-        <location filename="../Kdb3Database.cpp" line="572"/>
+        <location filename="../Kdb3Database.cpp" line="588"/>
         <source>Unknown Encryption Algorithm.</source>
         <translation>Algoritmo de encriptación desconocido.</translation>
     </message>
     <message>
-        <location filename="../Kdb3Database.cpp" line="599"/>
+        <location filename="../Kdb3Database.cpp" line="615"/>
         <source>Unable to initialize the twofish algorithm.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Kdb3Database.cpp" line="606"/>
+        <location filename="../Kdb3Database.cpp" line="622"/>
         <source>Unknown encryption algorithm.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Kdb3Database.cpp" line="611"/>
+        <location filename="../Kdb3Database.cpp" line="627"/>
         <source>Decryption failed.
 The key is wrong or the file is damaged.</source>
         <translation>Desencriptación fallida.
 La clave es erronea ó el archivo está dañado.</translation>
     </message>
     <message>
-        <location filename="../Kdb3Database.cpp" line="637"/>
+        <location filename="../Kdb3Database.cpp" line="654"/>
         <source>Hash test failed.
 The key is wrong or the file is damaged.</source>
         <translation>Fallo en la prueba de hash.
 La clave es erronea ó el fichero está dañado.</translation>
     </message>
     <message>
-        <location filename="../Kdb3Database.cpp" line="660"/>
-        <location filename="../Kdb3Database.cpp" line="667"/>
-        <location filename="../Kdb3Database.cpp" line="679"/>
-        <location filename="../Kdb3Database.cpp" line="693"/>
-        <location filename="../Kdb3Database.cpp" line="700"/>
-        <location filename="../Kdb3Database.cpp" line="716"/>
+        <location filename="../Kdb3Database.cpp" line="677"/>
+        <location filename="../Kdb3Database.cpp" line="684"/>
+        <location filename="../Kdb3Database.cpp" line="696"/>
+        <location filename="../Kdb3Database.cpp" line="710"/>
+        <location filename="../Kdb3Database.cpp" line="717"/>
+        <location filename="../Kdb3Database.cpp" line="733"/>
         <source>Unexpected error: Offset is out of range.</source>
         <translation>Error inesperado: El OffSet está fuera de rango.</translation>
     </message>
     <message>
-        <location filename="../Kdb3Database.cpp" line="722"/>
+        <location filename="../Kdb3Database.cpp" line="739"/>
         <source>Invalid group tree.</source>
         <translation>Arbol de grupo inválido.</translation>
     </message>
     <message>
-        <location filename="../Kdb3Database.cpp" line="938"/>
+        <location filename="../Kdb3Database.cpp" line="955"/>
         <source>Key file is empty.</source>
         <translation>El archivo de claves está vacio.</translation>
     </message>
     <message>
-        <location filename="../Kdb3Database.cpp" line="1318"/>
+        <location filename="../Kdb3Database.cpp" line="1353"/>
         <source>The database must contain at least one group.</source>
         <translation>La base de datos debe contener al menos un grupo.</translation>
     </message>
@@ -1607,7 +1608,7 @@ La clave es erronea ó el fichero está dañado.</translation>
         <translation type="obsolete">Imposible iniciar el algoritmo de twofish.</translation>
     </message>
     <message>
-        <location filename="../Kdb3Database.cpp" line="1338"/>
+        <location filename="../Kdb3Database.cpp" line="1365"/>
         <source>The database has been opened read-only.</source>
         <translation>La base de datos ha sido abierta en modo sólo lectura.</translation>
     </message>
@@ -1615,22 +1616,22 @@ La clave es erronea ó el fichero está dañado.</translation>
 <context>
     <name>Kdb3Database::EntryHandle</name>
     <message>
-        <location filename="../Kdb3Database.cpp" line="1182"/>
+        <location filename="../Kdb3Database.cpp" line="1216"/>
         <source>Bytes</source>
         <translation>Bytes</translation>
     </message>
     <message>
-        <location filename="../Kdb3Database.cpp" line="1190"/>
+        <location filename="../Kdb3Database.cpp" line="1224"/>
         <source>KiB</source>
         <translation>KiB</translation>
     </message>
     <message>
-        <location filename="../Kdb3Database.cpp" line="1196"/>
+        <location filename="../Kdb3Database.cpp" line="1230"/>
         <source>MiB</source>
         <translation>MiB</translation>
     </message>
     <message>
-        <location filename="../Kdb3Database.cpp" line="1201"/>
+        <location filename="../Kdb3Database.cpp" line="1235"/>
         <source>GiB</source>
         <translation>GiB</translation>
     </message>
@@ -1638,87 +1639,87 @@ La clave es erronea ó el fichero está dañado.</translation>
 <context>
     <name>KeepassEntryView</name>
     <message>
-        <location filename="../lib/EntryView.cpp" line="240"/>
+        <location filename="../lib/EntryView.cpp" line="244"/>
         <source>Delete?</source>
         <translation>Borrar?</translation>
     </message>
     <message>
-        <location filename="../lib/EntryView.cpp" line="376"/>
+        <location filename="../lib/EntryView.cpp" line="380"/>
         <source>Error</source>
         <translation>Error</translation>
     </message>
     <message>
-        <location filename="../lib/EntryView.cpp" line="376"/>
+        <location filename="../lib/EntryView.cpp" line="380"/>
         <source>At least one group must exist before adding an entry.</source>
         <translation>Al menos un grupo debe existir antes de añadir una nueva entrada.</translation>
     </message>
     <message>
-        <location filename="../lib/EntryView.cpp" line="376"/>
+        <location filename="../lib/EntryView.cpp" line="380"/>
         <source>OK</source>
         <translation>OK</translation>
     </message>
     <message>
-        <location filename="../lib/EntryView.cpp" line="64"/>
+        <location filename="../lib/EntryView.cpp" line="68"/>
         <source>Title</source>
         <translation>Título</translation>
     </message>
     <message>
-        <location filename="../lib/EntryView.cpp" line="64"/>
+        <location filename="../lib/EntryView.cpp" line="68"/>
         <source>Username</source>
         <translation>Nombre de usuario</translation>
     </message>
     <message>
-        <location filename="../lib/EntryView.cpp" line="64"/>
+        <location filename="../lib/EntryView.cpp" line="68"/>
         <source>URL</source>
         <translation>URL</translation>
     </message>
     <message>
-        <location filename="../lib/EntryView.cpp" line="64"/>
+        <location filename="../lib/EntryView.cpp" line="68"/>
         <source>Password</source>
         <translation>Contraseña</translation>
     </message>
     <message>
-        <location filename="../lib/EntryView.cpp" line="64"/>
+        <location filename="../lib/EntryView.cpp" line="68"/>
         <source>Comments</source>
         <translation>Comentarios</translation>
     </message>
     <message>
-        <location filename="../lib/EntryView.cpp" line="65"/>
+        <location filename="../lib/EntryView.cpp" line="69"/>
         <source>Expires</source>
         <translation>Expira</translation>
     </message>
     <message>
-        <location filename="../lib/EntryView.cpp" line="65"/>
+        <location filename="../lib/EntryView.cpp" line="69"/>
         <source>Creation</source>
         <translation>Creación</translation>
     </message>
     <message>
-        <location filename="../lib/EntryView.cpp" line="65"/>
+        <location filename="../lib/EntryView.cpp" line="69"/>
         <source>Last Change</source>
         <translation>Última modificación</translation>
     </message>
     <message>
-        <location filename="../lib/EntryView.cpp" line="65"/>
+        <location filename="../lib/EntryView.cpp" line="69"/>
         <source>Last Access</source>
         <translation>Último Acceso</translation>
     </message>
     <message>
-        <location filename="../lib/EntryView.cpp" line="65"/>
+        <location filename="../lib/EntryView.cpp" line="69"/>
         <source>Attachment</source>
         <translation>Adjunto</translation>
     </message>
     <message>
-        <location filename="../lib/EntryView.cpp" line="65"/>
+        <location filename="../lib/EntryView.cpp" line="69"/>
         <source>Group</source>
         <translation>Grupo</translation>
     </message>
     <message>
-        <location filename="../lib/EntryView.cpp" line="237"/>
+        <location filename="../lib/EntryView.cpp" line="241"/>
         <source>Are you sure you want to delete this entry?</source>
         <translation>¿Estás seguro de que deseas borrar esta entrada?</translation>
     </message>
     <message>
-        <location filename="../lib/EntryView.cpp" line="239"/>
+        <location filename="../lib/EntryView.cpp" line="243"/>
         <source>Are you sure you want to delete these %1 entries?</source>
         <translation>¿Estás seguro de que quieres borrar estas %1 entradas?</translation>
     </message>
@@ -1744,7 +1745,7 @@ La clave es erronea ó el fichero está dañado.</translation>
 <context>
     <name>KeepassMainWindow</name>
     <message>
-        <location filename="../mainwindow.cpp" line="1449"/>
+        <location filename="../mainwindow.cpp" line="1482"/>
         <source>Ready</source>
         <translation>Lísto</translation>
     </message>
@@ -1757,287 +1758,292 @@ La clave es erronea ó el fichero está dañado.</translation>
         <translation type="obsolete">Desbloqueado</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="350"/>
+        <location filename="../mainwindow.cpp" line="361"/>
         <source>Ctrl+O</source>
         <translation>CTRL+O</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="352"/>
+        <location filename="../mainwindow.cpp" line="363"/>
         <source>Ctrl+S</source>
         <translation>CTRL+S</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="353"/>
+        <location filename="../mainwindow.cpp" line="364"/>
         <source>Ctrl+L</source>
         <translation>CTRL+L</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="354"/>
+        <location filename="../mainwindow.cpp" line="365"/>
         <source>Ctrl+Q</source>
         <translation>CTRL+Q</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="355"/>
+        <location filename="../mainwindow.cpp" line="366"/>
         <source>Ctrl+G</source>
         <translation>CTRL+G</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="356"/>
+        <location filename="../mainwindow.cpp" line="367"/>
         <source>Ctrl+C</source>
         <translation>CTRL+C</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="357"/>
+        <location filename="../mainwindow.cpp" line="368"/>
         <source>Ctrl+B</source>
         <translation>CTRL+B</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="358"/>
+        <location filename="../mainwindow.cpp" line="369"/>
         <source>Ctrl+U</source>
         <translation>CTRL+U</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="360"/>
+        <location filename="../mainwindow.cpp" line="371"/>
         <source>Ctrl+Y</source>
         <translation>CTRL+Y</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="361"/>
+        <location filename="../mainwindow.cpp" line="372"/>
         <source>Ctrl+E</source>
         <translation>CTRL+E</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="362"/>
+        <location filename="../mainwindow.cpp" line="373"/>
         <source>Ctrl+D</source>
         <translation>CTRL+D</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="363"/>
+        <location filename="../mainwindow.cpp" line="374"/>
         <source>Ctrl+K</source>
         <translation>CTRL+K</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="364"/>
+        <location filename="../mainwindow.cpp" line="375"/>
         <source>Ctrl+F</source>
         <translation>CTRL+F</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="368"/>
+        <location filename="../mainwindow.cpp" line="379"/>
         <source>Ctrl+V</source>
         <translation>CTRL+V</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="351"/>
+        <location filename="../mainwindow.cpp" line="362"/>
         <source>Ctrl+W</source>
         <translation>CTRL+W</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="371"/>
+        <location filename="../mainwindow.cpp" line="382"/>
         <source>Shift+Ctrl+S</source>
         <translation>SHIFT+CTRL+S</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="372"/>
+        <location filename="../mainwindow.cpp" line="383"/>
         <source>Shift+Ctrl+F</source>
         <translation>SHIFT+CTRL+F</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="405"/>
-        <location filename="../mainwindow.cpp" line="485"/>
-        <location filename="../mainwindow.cpp" line="508"/>
-        <location filename="../mainwindow.cpp" line="544"/>
-        <location filename="../mainwindow.cpp" line="927"/>
+        <location filename="../mainwindow.cpp" line="417"/>
+        <location filename="../mainwindow.cpp" line="497"/>
+        <location filename="../mainwindow.cpp" line="520"/>
+        <location filename="../mainwindow.cpp" line="556"/>
         <location filename="../mainwindow.cpp" line="939"/>
+        <location filename="../mainwindow.cpp" line="951"/>
         <source>Error</source>
         <translation>Error</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="405"/>
-        <location filename="../mainwindow.cpp" line="508"/>
+        <location filename="../mainwindow.cpp" line="417"/>
+        <location filename="../mainwindow.cpp" line="520"/>
         <source>The database file does not exist.</source>
         <translation>El archivo de la base de datos no existe.</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1452"/>
+        <location filename="../mainwindow.cpp" line="1485"/>
         <source>Loading Database...</source>
         <translation>Cargando la base de datos...</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1455"/>
+        <location filename="../mainwindow.cpp" line="1488"/>
         <source>Loading Failed</source>
         <translation>Fallo al cargar</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="484"/>
+        <location filename="../mainwindow.cpp" line="496"/>
         <source>Unknown error while loading database.</source>
         <translation>Error desconocido mientras se cargaba la base de datos</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="486"/>
+        <location filename="../mainwindow.cpp" line="498"/>
         <source>The following error occured while opening the database:</source>
         <translation>El siguiente error ha ocurrido mientras se abría la base de datos:</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="525"/>
+        <location filename="../mainwindow.cpp" line="537"/>
         <source>Save modified file?</source>
         <translation>¿Guardar el archivo modificado?</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1470"/>
-        <location filename="../mainwindow.cpp" line="1484"/>
+        <location filename="../mainwindow.cpp" line="1503"/>
+        <location filename="../mainwindow.cpp" line="1517"/>
         <source>new</source>
         <translation>Nuevo</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="611"/>
+        <location filename="../mainwindow.cpp" line="623"/>
         <source>Open Database...</source>
         <translation>Abrir base de datos...</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="611"/>
-        <location filename="../mainwindow.cpp" line="921"/>
+        <location filename="../mainwindow.cpp" line="384"/>
+        <source>Ctrl+M</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../mainwindow.cpp" line="623"/>
+        <location filename="../mainwindow.cpp" line="933"/>
         <source>KeePass Databases (*.kdb)</source>
         <translation>Bases de Datos de KeePass (*.kdb)</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="611"/>
-        <location filename="../mainwindow.cpp" line="921"/>
+        <location filename="../mainwindow.cpp" line="623"/>
+        <location filename="../mainwindow.cpp" line="933"/>
         <source>All Files (*)</source>
         <translation>Todos los archivos (*)</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="742"/>
+        <location filename="../mainwindow.cpp" line="754"/>
         <source>Expired</source>
         <translation>Expirado</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="756"/>
+        <location filename="../mainwindow.cpp" line="768"/>
         <source>1 Month</source>
         <translation>1 Mes</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="758"/>
+        <location filename="../mainwindow.cpp" line="770"/>
         <source>%1 Months</source>
         <translation>%1 Meses</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="764"/>
+        <location filename="../mainwindow.cpp" line="776"/>
         <source>1 Year</source>
         <translation>1 Año</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="766"/>
+        <location filename="../mainwindow.cpp" line="778"/>
         <source>%1 Years</source>
         <translation>%1 Años</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="772"/>
+        <location filename="../mainwindow.cpp" line="784"/>
         <source>1 Day</source>
         <translation>1 Día</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="774"/>
+        <location filename="../mainwindow.cpp" line="786"/>
         <source>%1 Days</source>
         <translation>%1 Días</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="778"/>
+        <location filename="../mainwindow.cpp" line="790"/>
         <source>less than 1 day</source>
         <translation>Menos de un día</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="802"/>
-        <location filename="../mainwindow.cpp" line="817"/>
-        <location filename="../mainwindow.cpp" line="853"/>
-        <location filename="../mainwindow.cpp" line="868"/>
+        <location filename="../mainwindow.cpp" line="814"/>
+        <location filename="../mainwindow.cpp" line="829"/>
+        <location filename="../mainwindow.cpp" line="865"/>
+        <location filename="../mainwindow.cpp" line="880"/>
         <source>Clone Entry</source>
         <translation>Entrada Duplicada</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="804"/>
-        <location filename="../mainwindow.cpp" line="819"/>
-        <location filename="../mainwindow.cpp" line="855"/>
-        <location filename="../mainwindow.cpp" line="870"/>
+        <location filename="../mainwindow.cpp" line="816"/>
+        <location filename="../mainwindow.cpp" line="831"/>
+        <location filename="../mainwindow.cpp" line="867"/>
+        <location filename="../mainwindow.cpp" line="882"/>
         <source>Delete Entry</source>
         <translation>Borrar Entrada</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="832"/>
-        <location filename="../mainwindow.cpp" line="883"/>
+        <location filename="../mainwindow.cpp" line="844"/>
+        <location filename="../mainwindow.cpp" line="895"/>
         <source>Clone Entries</source>
         <translation>Entradas duplicadas</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="834"/>
-        <location filename="../mainwindow.cpp" line="885"/>
+        <location filename="../mainwindow.cpp" line="846"/>
+        <location filename="../mainwindow.cpp" line="897"/>
         <source>Delete Entries</source>
         <translation>Borrar Entradas</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="914"/>
-        <location filename="../mainwindow.cpp" line="932"/>
+        <location filename="../mainwindow.cpp" line="926"/>
+        <location filename="../mainwindow.cpp" line="944"/>
         <source>File could not be saved.</source>
         <translation>El archivo no ha podido ser guardado.</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="921"/>
+        <location filename="../mainwindow.cpp" line="933"/>
         <source>Save Database...</source>
         <translation>Guardar la base de datos...</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="927"/>
+        <location filename="../mainwindow.cpp" line="939"/>
         <source>Couldn&apos;t create database lock file.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1344"/>
+        <location filename="../mainwindow.cpp" line="1375"/>
         <source>Un&amp;lock Workspace</source>
         <translation>Desbloquear el área de trabajo</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1359"/>
+        <location filename="../mainwindow.cpp" line="1390"/>
         <source>&amp;Lock Workspace</source>
         <translation>&amp;Bloquear el área de trabajo</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1472"/>
-        <location filename="../mainwindow.cpp" line="1486"/>
+        <location filename="../mainwindow.cpp" line="1505"/>
+        <location filename="../mainwindow.cpp" line="1519"/>
         <source>locked</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="309"/>
-        <location filename="../mainwindow.cpp" line="1125"/>
+        <location filename="../mainwindow.cpp" line="315"/>
+        <location filename="../mainwindow.cpp" line="1147"/>
         <source>Show &amp;Toolbar</source>
         <translation>Mostrar &amp;Barra de herramientas</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="349"/>
+        <location filename="../mainwindow.cpp" line="360"/>
         <source>Ctrl+N</source>
         <translation>CTRL+N</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="365"/>
+        <location filename="../mainwindow.cpp" line="376"/>
         <source>Ctrl+P</source>
         <translation>CTRL+P</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="366"/>
+        <location filename="../mainwindow.cpp" line="377"/>
         <source>Ctrl+X</source>
         <translation>CTRL+X</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="359"/>
+        <location filename="../mainwindow.cpp" line="370"/>
         <source>Ctrl+I</source>
         <translation>CTRL+I</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="414"/>
+        <location filename="../mainwindow.cpp" line="426"/>
         <source>Database locked</source>
         <translation>Base de datos bloqueada</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="415"/>
+        <location filename="../mainwindow.cpp" line="427"/>
         <source>The database you are trying to open is locked.
 This means that either someone else has opened the file or KeePassX crashed last time it opened the database.
 
@@ -2047,25 +2053,25 @@ Esto significa que alguien ha abierto este archivo ó que KeePassX falló la úl
 ¿Quieres abrirlo aún así?</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="526"/>
+        <location filename="../mainwindow.cpp" line="538"/>
         <source>The current file was modified.
 Do you want to save the changes?</source>
         <translation>El actual archivo ha sido modificado.
 ¿Quieres guardar los cambios?</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="544"/>
-        <location filename="../mainwindow.cpp" line="939"/>
+        <location filename="../mainwindow.cpp" line="556"/>
+        <location filename="../mainwindow.cpp" line="951"/>
         <source>Couldn&apos;t remove database lock file.</source>
         <translation>No se ha podido eliminar el bloqueo del archivo.</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="421"/>
+        <location filename="../mainwindow.cpp" line="433"/>
         <source>Open read-only</source>
         <translation>Abrir en modo Sólo Lectura</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1458"/>
+        <location filename="../mainwindow.cpp" line="1491"/>
         <source>Couldn&apos;t create lock file. Opening the database read-only.</source>
         <translation>No se ha podido crear el archivo de bloqueo. Abriendo la base de datos en modo sólo lectura.</translation>
     </message>
@@ -2376,6 +2382,11 @@ Do you want to save the changes?</source>
         <translation>&amp;Generador de Contraseñas...</translation>
     </message>
     <message>
+        <location filename="../forms/MainWindow.ui" line="588"/>
+        <source>&amp;Minimize Window</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
         <source>&amp;Group (search results only)</source>
         <translation type="obsolete">&amp;Grupo (Resultados de la búsqueda sólamente)</translation>
     </message>
@@ -2718,11 +2729,12 @@ El archivo no es legible.</translation>
         <translation>Minimizar al icono de sistema en vez de a la barra de tareas</translation>
     </message>
     <message>
+        <location filename="../forms/SettingsDlg.ui" line="173"/>
         <source>Minimize to tray when clicking the main window&apos;s close button</source>
-        <translation type="obsolete">Minimizar al icono de sistema cuando se hace click en el botón de cerrar de la ventana principal</translation>
+        <translation type="unfinished">Minimizar al icono de sistema cuando se hace click en el botón de cerrar de la ventana principal</translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="154"/>
+        <location filename="../forms/SettingsDlg.ui" line="184"/>
         <source>Remember last opened file</source>
         <translation>Recordar último archivo abierto</translation>
     </message>
@@ -2731,58 +2743,58 @@ El archivo no es legible.</translation>
         <translation type="obsolete">ALT+Ö</translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="182"/>
+        <location filename="../forms/SettingsDlg.ui" line="212"/>
         <source>Remember last key type and location</source>
         <translation>Recordar último típo de clave y la localización</translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="212"/>
+        <location filename="../forms/SettingsDlg.ui" line="242"/>
         <source>Start minimized</source>
         <translation>Iniciar minimizado</translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="242"/>
+        <location filename="../forms/SettingsDlg.ui" line="272"/>
         <source>Start locked</source>
         <translation>Iniciar bloqueado</translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="258"/>
+        <location filename="../forms/SettingsDlg.ui" line="288"/>
         <source>Save recent directories of file dialogs</source>
         <translation>Guardar los directorios recientes de los diálogos de archivos</translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="281"/>
+        <location filename="../forms/SettingsDlg.ui" line="311"/>
         <source>Clear History Now</source>
         <translation>Borrar Historial Ahora</translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="303"/>
+        <location filename="../forms/SettingsDlg.ui" line="333"/>
         <source>Always ask before deleting entries or groups</source>
         <translation>Siempre preguntar antes de borrar entradas ó grupos</translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="421"/>
+        <location filename="../forms/SettingsDlg.ui" line="451"/>
         <source>Banner Color</source>
         <translation>Color del banner</translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="435"/>
+        <location filename="../forms/SettingsDlg.ui" line="465"/>
         <source>Text Color:</source>
         <translation>Color del Texto:</translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="476"/>
-        <location filename="../forms/SettingsDlg.ui" line="564"/>
+        <location filename="../forms/SettingsDlg.ui" line="506"/>
+        <location filename="../forms/SettingsDlg.ui" line="594"/>
         <source>Change...</source>
         <translation>Cambiar...</translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="489"/>
+        <location filename="../forms/SettingsDlg.ui" line="519"/>
         <source>Color 2:</source>
         <translation>Color 2:</translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="614"/>
+        <location filename="../forms/SettingsDlg.ui" line="644"/>
         <source>C&amp;hange...</source>
         <translation>C&amp;ambiar...</translation>
     </message>
@@ -2791,37 +2803,37 @@ El archivo no es legible.</translation>
         <translation type="obsolete">ALT+H</translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="627"/>
+        <location filename="../forms/SettingsDlg.ui" line="657"/>
         <source>Color 1:</source>
         <translation>Color 1:</translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="662"/>
+        <location filename="../forms/SettingsDlg.ui" line="692"/>
         <source>Alternating Row Colors</source>
         <translation>Alternar la tabla de Colores</translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="674"/>
+        <location filename="../forms/SettingsDlg.ui" line="704"/>
         <source>Customize Entry Detail View...</source>
         <translation>Personalizar Visualización de detalles de la entrada</translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="703"/>
+        <location filename="../forms/SettingsDlg.ui" line="733"/>
         <source>Group tree at start-up:</source>
         <translation>Árbol de grupos al inicio:</translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="710"/>
+        <location filename="../forms/SettingsDlg.ui" line="740"/>
         <source>Restore last state</source>
         <translation>Restaurar último estado</translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="717"/>
+        <location filename="../forms/SettingsDlg.ui" line="747"/>
         <source>Expand all items</source>
         <translation>Expandir todos los objetos</translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="724"/>
+        <location filename="../forms/SettingsDlg.ui" line="754"/>
         <source>Do not expand any item</source>
         <translation>No expandir ningún objeto</translation>
     </message>
@@ -2831,7 +2843,7 @@ El archivo no es legible.</translation>
         <translation>Seguridad</translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="866"/>
+        <location filename="../forms/SettingsDlg.ui" line="896"/>
         <source>Edit Entry Dialog</source>
         <translation>Diálogo de Edición de Entrada</translation>
     </message>
@@ -2840,52 +2852,52 @@ El archivo no es legible.</translation>
         <translation type="obsolete">ALT+O</translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="894"/>
+        <location filename="../forms/SettingsDlg.ui" line="924"/>
         <source>Clear clipboard after:</source>
         <translation>Limpiar el portapapeles despues:</translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="932"/>
+        <location filename="../forms/SettingsDlg.ui" line="962"/>
         <source>Lock workspace when minimizing the main window</source>
         <translation>Bloquear el área de trabajo cuando se minimize la ventana principal</translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="1182"/>
+        <location filename="../forms/SettingsDlg.ui" line="1212"/>
         <source>You can disable several features of KeePassX here according to your needs in order to keep the user interface slim.</source>
         <translation>Tú puedes desactivar varias funcionalidades de KeePassX aquí de acuerdo con tus necesidades para mantener tu apariencia mínima.</translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="1192"/>
+        <location filename="../forms/SettingsDlg.ui" line="1222"/>
         <source>Bookmarks</source>
         <translation>Marcadores</translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="1222"/>
+        <location filename="../forms/SettingsDlg.ui" line="1252"/>
         <source>Plug-Ins</source>
         <translation>Añadidos</translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="1231"/>
+        <location filename="../forms/SettingsDlg.ui" line="1261"/>
         <source>None</source>
         <translation>Ninguno</translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="1238"/>
+        <location filename="../forms/SettingsDlg.ui" line="1268"/>
         <source>Gnome Desktop Integration (Gtk 2.x)</source>
         <translation>Integración del Escritorio GNOME (GTK 2.x)</translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="1245"/>
+        <location filename="../forms/SettingsDlg.ui" line="1275"/>
         <source>KDE 4 Desktop Integration</source>
         <translation>Integración del Escritorio KDE 4</translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="1260"/>
+        <location filename="../forms/SettingsDlg.ui" line="1290"/>
         <source>You need to restart the program before the changes take effect.</source>
         <translation>Necesitas reiniciar el programa para que los cambios surtan efecto.</translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="1280"/>
+        <location filename="../forms/SettingsDlg.ui" line="1310"/>
         <source>Configure...</source>
         <translation>Configurar...</translation>
     </message>
@@ -2895,104 +2907,104 @@ El archivo no es legible.</translation>
         <translation>Avanzado</translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="1056"/>
+        <location filename="../forms/SettingsDlg.ui" line="1086"/>
         <source>Auto-Type Fine Tuning</source>
         <translation>Mejoras Auto-Escritura</translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="1065"/>
+        <location filename="../forms/SettingsDlg.ui" line="1095"/>
         <source>Time between the activation of an auto-type action by the user and the first simulated key stroke.</source>
         <translation>Tiempo desde la activación de Auto-Escritura por el usuario hasta la primera tecla simulatada.</translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="1068"/>
-        <location filename="../forms/SettingsDlg.ui" line="1114"/>
+        <location filename="../forms/SettingsDlg.ui" line="1098"/>
+        <location filename="../forms/SettingsDlg.ui" line="1144"/>
         <source>ms</source>
         <translation>ms</translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="1078"/>
+        <location filename="../forms/SettingsDlg.ui" line="1108"/>
         <source>Pre-Gap:</source>
         <translation>Pre-Vacio:</translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="1101"/>
+        <location filename="../forms/SettingsDlg.ui" line="1131"/>
         <source>Key Stroke Delay:</source>
         <translation>Lapso Primera Pulsación:</translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="1111"/>
+        <location filename="../forms/SettingsDlg.ui" line="1141"/>
         <source>Delay between two simulated key strokes. Increase this if Auto-Type is randomly skipping characters.</source>
         <translation>Lapso entre dos presiones simuladas. Aumentar en caso de que Auto-Escritura esté aleatoriamente saltándose carácteres.</translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="996"/>
+        <location filename="../forms/SettingsDlg.ui" line="1026"/>
         <source>Custom Browser Command</source>
         <translation>Comando de Navegador Personalizado</translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="1008"/>
+        <location filename="../forms/SettingsDlg.ui" line="1038"/>
         <source>Browse</source>
         <translation>Navegar</translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="1020"/>
+        <location filename="../forms/SettingsDlg.ui" line="1050"/>
         <source>Media Root:</source>
         <translation>Directorio Maestro:</translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="1030"/>
+        <location filename="../forms/SettingsDlg.ui" line="1060"/>
         <source>The directory where storage devices like CDs and memory sticks are normally mounted.</source>
         <translation>El directorio en el cuál los medios como los CD&apos;s y los lapiceros USB son montados.</translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="1037"/>
+        <location filename="../forms/SettingsDlg.ui" line="1067"/>
         <source>Browse...</source>
         <translation>Navegar...</translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="1046"/>
+        <location filename="../forms/SettingsDlg.ui" line="1076"/>
         <source>Enable this if you want to use your bookmarks and the last opened file independet from their absolute paths. This is especially useful when using KeePassX portably and therefore with changing mount points in the file system.</source>
         <translation>Activa esta opción si quieres usar tus marcadones y el último archivo abierto independientemente de sus rutas completas. Esto es útil cuando estás usando KeePassX Portable y hay cambios en los puntos de montaje en el sistema de archivos.</translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="1049"/>
+        <location filename="../forms/SettingsDlg.ui" line="1079"/>
         <source>Save relative paths (bookmarks and last file)</source>
         <translation>Guardar rutas relativas (Marcadores y último archivo)</translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="1129"/>
+        <location filename="../forms/SettingsDlg.ui" line="1159"/>
         <source>Global Auto-Type Shortcut:</source>
         <translation>Acceso rápido Global a Auto-Escritura:</translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="390"/>
+        <location filename="../forms/SettingsDlg.ui" line="420"/>
         <source>Automatically save database on exit and workspace locking</source>
         <translation>Automáticamente guardar la base de datos al salir y al bloquear el área de trabajo</translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="857"/>
+        <location filename="../forms/SettingsDlg.ui" line="887"/>
         <source>Show plain text passwords in:</source>
         <translation>Mostrar contraseñas en texto plano en:</translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="873"/>
+        <location filename="../forms/SettingsDlg.ui" line="903"/>
         <source>Database Key Dialog</source>
         <translation>Diálogo de la clave de la Base de Datos</translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="923"/>
-        <location filename="../forms/SettingsDlg.ui" line="970"/>
+        <location filename="../forms/SettingsDlg.ui" line="953"/>
+        <location filename="../forms/SettingsDlg.ui" line="1000"/>
         <source>seconds</source>
         <translation>Segundos</translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="941"/>
+        <location filename="../forms/SettingsDlg.ui" line="971"/>
         <source>Lock database after inactivity of</source>
         <translation>Bloquear la base de datos en un periodo de inactividad de</translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="1158"/>
+        <location filename="../forms/SettingsDlg.ui" line="1188"/>
         <source>Use entries&apos; title to match the window for Global Auto-Type</source>
         <translation>Usar títulos de entradas para que coincidan con la ventana para Auto-Escritura</translation>
     </message>
@@ -3017,37 +3029,37 @@ El archivo no es legible.</translation>
         <translation>Lenguaje</translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="327"/>
+        <location filename="../forms/SettingsDlg.ui" line="357"/>
         <source>Save backups of modified entries into the &apos;Backup&apos; group</source>
         <translation>Guardar copias de seguridad de las entradas modificadas en el grupo &apos;Copias de Seguridad&apos;</translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="355"/>
+        <location filename="../forms/SettingsDlg.ui" line="385"/>
         <source>Delete backup entries older than:</source>
         <translation>Borrar entradas de copias de seguridad más antigüas de:</translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="381"/>
+        <location filename="../forms/SettingsDlg.ui" line="411"/>
         <source>days</source>
         <translation>Días</translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="397"/>
+        <location filename="../forms/SettingsDlg.ui" line="427"/>
         <source>Automatically save database after every change</source>
         <translation>Guardar automáticamente la base de datos despues de cualquier cambio</translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="655"/>
+        <location filename="../forms/SettingsDlg.ui" line="685"/>
         <source>Show window always on top</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="791"/>
+        <location filename="../forms/SettingsDlg.ui" line="821"/>
         <source>Language:</source>
         <translation>Lenguaje:</translation>
     </message>
     <message>
-        <location filename="../forms/SettingsDlg.ui" line="798"/>
+        <location filename="../forms/SettingsDlg.ui" line="828"/>
         <source>Author:</source>
         <translation>Autor:</translation>
     </message>
index b9d7954..e3d22e1 100644 (file)
@@ -4,85 +4,67 @@
 <context>
     <name>AboutDialog</name>
     <message>
-        <location filename="../dialogs/AboutDlg.cpp" line="41"/>
         <source>Information on how to translate KeePassX can be found under:</source>
         <translation>Tietoja KeePassX:n kääntämisestä voit löytää linkistä:</translation>
     </message>
     <message>
-        <location filename="../dialogs/AboutDlg.cpp" line="44"/>
         <source>Team</source>
         <translation>Tiimi</translation>
     </message>
     <message>
-        <location filename="../dialogs/AboutDlg.cpp" line="46"/>
-        <location filename="../dialogs/AboutDlg.cpp" line="48"/>
         <source>Developer, Project Admin</source>
         <translation>Kehittäjä, projektin ylläpitäjä</translation>
     </message>
     <message>
-        <location filename="../dialogs/AboutDlg.cpp" line="52"/>
         <source>Web Designer</source>
         <translation>WWW-kehittäjä</translation>
     </message>
     <message>
-        <location filename="../dialogs/AboutDlg.cpp" line="50"/>
-        <location filename="../dialogs/AboutDlg.cpp" line="54"/>
         <source>Developer</source>
         <translation>Kehittäjä</translation>
     </message>
     <message>
-        <location filename="../dialogs/AboutDlg.cpp" line="56"/>
         <source>Thanks To</source>
         <translation>Kiitokset</translation>
     </message>
     <message>
-        <location filename="../dialogs/AboutDlg.cpp" line="58"/>
         <source>Patches for better MacOS X support</source>
         <translation>Korjaukset paremmalle Mac OS/X-tuelle</translation>
     </message>
     <message>
-        <location filename="../dialogs/AboutDlg.cpp" line="60"/>
         <source>Main Application Icon</source>
         <translation>Pääsovelluksen kuvake</translation>
     </message>
     <message>
-        <location filename="../dialogs/AboutDlg.cpp" line="62"/>
         <source>Various fixes and improvements</source>
         <translation>Useita korjauksia ja parannuksia</translation>
     </message>
     <message>
-        <location filename="../dialogs/AboutDlg.cpp" line="67"/>
         <source>Error</source>
         <translation>Virhe</translation>
     </message>
     <message>
-        <location filename="../dialogs/AboutDlg.cpp" line="67"/>
         <source>File &apos;%1&apos; could not be found.</source>
         <translation>Tiedostoa &quot;%1&quot; ei löydy.</translation>
     </message>
     <message>
-        <location filename="../dialogs/AboutDlg.cpp" line="68"/>
         <source>Make sure that the program is installed correctly.</source>
         <translation>Varmista, että ohjelma on asennettu oikein.</translation>
     </message>
     <message>
-        <location filename="../dialogs/AboutDlg.cpp" line="69"/>
         <source>OK</source>
         <translation>OK</translation>
     </message>
     <message>
-        <location filename="../dialogs/AboutDlg.cpp" line="32"/>
         <source>Current Translation</source>
         <translation>Tämänhetkinen käännös</translation>
     </message>
     <message>
-        <location filename="../dialogs/AboutDlg.cpp" line="32"/>
         <source>None</source>
         <comment>Please replace &apos;None&apos; with the language of your translation</comment>
         <translation>suomi</translation>
     </message>
     <message>
-        <location filename="../dialogs/AboutDlg.cpp" line="34"/>
         <source>Author</source>
         <translation>Tekijä</translation>
     </message>
 <context>
     <name>AboutDlg</name>
     <message>
-        <location filename="../forms/AboutDlg.ui" line="14"/>
-        <location filename="../forms/AboutDlg.ui" line="43"/>
         <source>About</source>
         <translation>Tietoja</translation>
     </message>
     <message>
-        <location filename="../forms/AboutDlg.ui" line="67"/>
         <source>AppName</source>
         <translation>OhjelmanNimi</translation>
     </message>
     <message>
-        <location filename="../forms/AboutDlg.ui" line="85"/>
         <source>AppFunc</source>
         <translation>OhjelmanFuktio</translation>
     </message>
     <message>
-        <location filename="../forms/AboutDlg.ui" line="120"/>
         <source>http://keepassx.sourceforge.net</source>
         <translation>http://keepassx.sourceforge.net</translation>
     </message>
     <message>
-        <location filename="../forms/AboutDlg.ui" line="127"/>
         <source>keepassx@gmail.com</source>
         <translation>keepassx@gmail.com</translation>
     </message>
     <message>
-        <location filename="../forms/AboutDlg.ui" line="148"/>
         <source>Credits</source>
         <translation>Kiitokset</translation>
     </message>
     <message>
-        <location filename="../forms/AboutDlg.ui" line="165"/>
         <source>Translation</source>
         <translation>Käännös</translation>
     </message>
     <message>
-        <location filename="../forms/AboutDlg.ui" line="182"/>
         <source>License</source>
         <translation>Lisenssi</translation>
     </message>
     <message>
-        <location filename="../forms/AboutDlg.ui" line="134"/>
         <source>Copyright (C) 2005 - 2009 KeePassX Team
 KeePassX is distributed under the terms of the
 General Public License (GPL) version 2.</source>
@@ -143,40 +115,30 @@ lisenssin version 2 mukaisesti.</translation>
 <context>
     <name>AddBookmarkDlg</name>
     <message>
-        <location filename="../dialogs/AddBookmarkDlg.cpp" line="32"/>
-        <location filename="../dialogs/AddBookmarkDlg.cpp" line="56"/>
-        <location filename="../forms/AddBookmarkDlg.ui" line="32"/>
         <source>Add Bookmark</source>
         <translation>Lisää kirjanmerkki</translation>
     </message>
     <message>
-        <location filename="../forms/AddBookmarkDlg.ui" line="56"/>
         <source>Title:</source>
         <translation>Otsikko:</translation>
     </message>
     <message>
-        <location filename="../forms/AddBookmarkDlg.ui" line="66"/>
         <source>File:</source>
         <translation>Tiedosto:</translation>
     </message>
     <message>
-        <location filename="../forms/AddBookmarkDlg.ui" line="76"/>
         <source>Browse...</source>
         <translation>Selaa...</translation>
     </message>
     <message>
-        <location filename="../dialogs/AddBookmarkDlg.cpp" line="40"/>
-        <location filename="../dialogs/AddBookmarkDlg.cpp" line="44"/>
         <source>Edit Bookmark</source>
         <translation>Muokkaa kirjanmerkkiä</translation>
     </message>
     <message>
-        <location filename="../dialogs/AddBookmarkDlg.cpp" line="57"/>
         <source>KeePass Databases (*.kdb)</source>
         <translation>KeePass-tietokannat (*.kdb)</translation>
     </message>
     <message>
-        <location filename="../dialogs/AddBookmarkDlg.cpp" line="57"/>
         <source>All Files (*)</source>
         <translation>Kaikki tiedostot (*)</translation>
     </message>
@@ -184,34 +146,26 @@ lisenssin version 2 mukaisesti.</translation>
 <context>
     <name>AutoTypeDlg</name>
     <message>
-        <location filename="../forms/AutoTypeDlg.ui" line="13"/>
         <source>KeePassX - Auto-Type</source>
         <translation>KeePassX - automaattikirjoitus</translation>
     </message>
     <message>
-        <location filename="../forms/AutoTypeDlg.ui" line="35"/>
         <source>Click on an entry to auto-type it.</source>
         <translation>Kirjoita tietue automaattisesti kaksoisnapsauttamalla.</translation>
     </message>
     <message>
-        <location filename="../dialogs/AutoTypeDlg.cpp" line="37"/>
-        <location filename="../dialogs/AutoTypeDlg.cpp" line="39"/>
         <source>Group</source>
         <translation>Ryhmä</translation>
     </message>
     <message>
-        <location filename="../dialogs/AutoTypeDlg.cpp" line="37"/>
-        <location filename="../dialogs/AutoTypeDlg.cpp" line="39"/>
         <source>Title</source>
         <translation>Otsikko</translation>
     </message>
     <message>
-        <location filename="../dialogs/AutoTypeDlg.cpp" line="39"/>
         <source>Username</source>
         <translation>Käyttäjätunnus</translation>
     </message>
     <message>
-        <location filename="../dialogs/AutoTypeDlg.cpp" line="93"/>
         <source>Auto-Type</source>
         <translation>Automaattikirjoitus</translation>
     </message>
@@ -219,50 +173,38 @@ lisenssin version 2 mukaisesti.</translation>
 <context>
     <name>CDbSettingsDlg</name>
     <message>
-        <location filename="../dialogs/DatabaseSettingsDlg.cpp" line="34"/>
         <source>Settings</source>
         <translation>Asetukset</translation>
     </message>
     <message>
-        <location filename="../dialogs/DatabaseSettingsDlg.cpp" line="35"/>
         <source>AES(Rijndael):  256 Bit   (default)</source>
         <translation>AES(Rijndael):  256 Bit   (oletus)</translation>
     </message>
     <message>
-        <location filename="../dialogs/DatabaseSettingsDlg.cpp" line="36"/>
         <source>Twofish:  256 Bit</source>
         <translation>Twofish:  256 Bit</translation>
     </message>
     <message>
-        <location filename="../dialogs/DatabaseSettingsDlg.cpp" line="64"/>
         <source>Warning</source>
         <translation>Varoitus</translation>
     </message>
     <message>
-        <location filename="../dialogs/DatabaseSettingsDlg.cpp" line="64"/>
         <source>Please determine the number of encryption rounds.</source>
         <translation>Anna salauskierrosten lukumäärä.</translation>
     </message>
     <message>
-        <location filename="../dialogs/DatabaseSettingsDlg.cpp" line="64"/>
-        <location filename="../dialogs/DatabaseSettingsDlg.cpp" line="70"/>
-        <location filename="../dialogs/DatabaseSettingsDlg.cpp" line="74"/>
         <source>OK</source>
         <translation>OK</translation>
     </message>
     <message>
-        <location filename="../dialogs/DatabaseSettingsDlg.cpp" line="70"/>
-        <location filename="../dialogs/DatabaseSettingsDlg.cpp" line="74"/>
         <source>Error</source>
         <translation>Virhe</translation>
     </message>
     <message>
-        <location filename="../dialogs/DatabaseSettingsDlg.cpp" line="70"/>
         <source>&apos;%1&apos; is not valid integer value.</source>
         <translation>&quot;%1&quot; ei ole kelvollinen kokonaisluku.</translation>
     </message>
     <message>
-        <location filename="../dialogs/DatabaseSettingsDlg.cpp" line="74"/>
         <source>The number of encryption rounds have to be greater than 0.</source>
         <translation>Salauskierrosten lukumäärän täytyy olla suurempi kuin 0.</translation>
     </message>
@@ -270,147 +212,110 @@ lisenssin version 2 mukaisesti.</translation>
 <context>
     <name>CEditEntryDlg</name>
     <message>
-        <location filename="../dialogs/EditEntryDlg.cpp" line="63"/>
         <source>Today</source>
         <translation>Tänään</translation>
     </message>
     <message>
-        <location filename="../dialogs/EditEntryDlg.cpp" line="65"/>
         <source>1 Week</source>
         <translation>1 viikko</translation>
     </message>
     <message>
-        <location filename="../dialogs/EditEntryDlg.cpp" line="66"/>
         <source>2 Weeks</source>
         <translation>2 viikkoa</translation>
     </message>
     <message>
-        <location filename="../dialogs/EditEntryDlg.cpp" line="67"/>
         <source>3 Weeks</source>
         <translation>3 viikkoa</translation>
     </message>
     <message>
-        <location filename="../dialogs/EditEntryDlg.cpp" line="69"/>
         <source>1 Month</source>
         <translation>1 kuukausi</translation>
     </message>
     <message>
-        <location filename="../dialogs/EditEntryDlg.cpp" line="70"/>
         <source>3 Months</source>
         <translation>3 kuukautta</translation>
     </message>
     <message>
-        <location filename="../dialogs/EditEntryDlg.cpp" line="71"/>
         <source>6 Months</source>
         <translation>6 kuukautta</translation>
     </message>
     <message>
-        <location filename="../dialogs/EditEntryDlg.cpp" line="73"/>
         <source>1 Year</source>
         <translation>1 vuosi</translation>
     </message>
     <message>
-        <location filename="../dialogs/EditEntryDlg.cpp" line="75"/>
         <source>Calendar...</source>
         <translation>Kalenteri...</translation>
     </message>
     <message>
-        <location filename="../dialogs/EditEntryDlg.cpp" line="105"/>
         <source>%1 Bit</source>
         <translation>%1 bittiä</translation>
     </message>
     <message>
-        <location filename="../dialogs/EditEntryDlg.cpp" line="147"/>
         <source>Edit Entry</source>
         <translation>Muokkaa tietuetta</translation>
     </message>
     <message>
-        <location filename="../dialogs/EditEntryDlg.cpp" line="177"/>
         <source>Warning</source>
         <translation>Varoitus</translation>
     </message>
     <message>
-        <location filename="../dialogs/EditEntryDlg.cpp" line="177"/>
         <source>Password and password repetition are not equal.
 Please check your input.</source>
         <translation>Salasana ja salasanan varmistus eroavat.
 Tarkista syötteesi.</translation>
     </message>
     <message>
-        <location filename="../dialogs/EditEntryDlg.cpp" line="177"/>
-        <location filename="../dialogs/EditEntryDlg.cpp" line="299"/>
-        <location filename="../dialogs/EditEntryDlg.cpp" line="321"/>
-        <location filename="../dialogs/EditEntryDlg.cpp" line="331"/>
-        <location filename="../dialogs/EditEntryDlg.cpp" line="338"/>
-        <location filename="../dialogs/EditEntryDlg.cpp" line="343"/>
         <source>OK</source>
         <translation>OK</translation>
     </message>
     <message>
-        <location filename="../dialogs/EditEntryDlg.cpp" line="256"/>
         <source>[Untitled Entry]</source>
         <translation>[Nimeämätön tietue]</translation>
     </message>
     <message>
-        <location filename="../dialogs/EditEntryDlg.cpp" line="294"/>
         <source>Add Attachment...</source>
         <translation>Lisää liite...</translation>
     </message>
     <message>
-        <location filename="../dialogs/EditEntryDlg.cpp" line="299"/>
-        <location filename="../dialogs/EditEntryDlg.cpp" line="321"/>
-        <location filename="../dialogs/EditEntryDlg.cpp" line="331"/>
-        <location filename="../dialogs/EditEntryDlg.cpp" line="338"/>
-        <location filename="../dialogs/EditEntryDlg.cpp" line="343"/>
         <source>Error</source>
         <translation>Virhe</translation>
     </message>
     <message>
-        <location filename="../dialogs/EditEntryDlg.cpp" line="299"/>
-        <location filename="../dialogs/EditEntryDlg.cpp" line="331"/>
         <source>Could not open file.</source>
         <translation>Tiedostoa ei voitu avata.</translation>
     </message>
     <message>
-        <location filename="../dialogs/EditEntryDlg.cpp" line="321"/>
         <source>The chosen entry has no attachment or it is empty.</source>
         <translation>Valitussa tietueessa ei ole liitettä tai se on tyhjä.</translation>
     </message>
     <message>
-        <location filename="../dialogs/EditEntryDlg.cpp" line="324"/>
         <source>Save Attachment...</source>
         <translation>Tallenna liite...</translation>
     </message>
     <message>
-        <location filename="../dialogs/EditEntryDlg.cpp" line="338"/>
-        <location filename="../dialogs/EditEntryDlg.cpp" line="343"/>
         <source>Error while writing the file.</source>
         <translation>Virhe kirjoitettaessa tiedostoa.</translation>
     </message>
     <message>
-        <location filename="../dialogs/EditEntryDlg.cpp" line="351"/>
         <source>Delete Attachment?</source>
         <translation>Poistetaanko liite?</translation>
     </message>
     <message>
-        <location filename="../dialogs/EditEntryDlg.cpp" line="352"/>
         <source>You are about to delete the attachment of this entry.
 Are you sure?</source>
         <translation>Olet poistamassa liitteen tästä tietueesta.
 Haluatko varmasti poistaa sen?</translation>
     </message>
     <message>
-        <location filename="../dialogs/EditEntryDlg.cpp" line="353"/>
         <source>Yes</source>
         <translation>Kyllä</translation>
     </message>
     <message>
-        <location filename="../dialogs/EditEntryDlg.cpp" line="353"/>
         <source>No, Cancel</source>
         <translation>Ei, peru</translation>
     </message>
     <message>
-        <location filename="../dialogs/EditEntryDlg.cpp" line="147"/>
         <source>New Entry</source>
         <translation>Uusi tietue</translation>
     </message>
@@ -418,12 +323,10 @@ Haluatko varmasti poistaa sen?</translation>
 <context>
     <name>CGenPwDialog</name>
     <message>
-        <location filename="../dialogs/PasswordGenDlg.cpp" line="115"/>
         <source>Password Generator</source>
         <translation>Salasanageneraattori</translation>
     </message>
     <message>
-        <location filename="../dialogs/PasswordGenDlg.cpp" line="244"/>
         <source>%1 Bits</source>
         <translation>%1 bittiä</translation>
     </message>
@@ -431,55 +334,42 @@ Haluatko varmasti poistaa sen?</translation>
 <context>
     <name>CSelectIconDlg</name>
     <message>
-        <location filename="../dialogs/SelectIconDlg.cpp" line="29"/>
         <source>Replace...</source>
         <translation>Korvaa...</translation>
     </message>
     <message>
-        <location filename="../dialogs/SelectIconDlg.cpp" line="30"/>
         <source>Delete</source>
         <translation>Poista</translation>
     </message>
     <message>
-        <location filename="../dialogs/SelectIconDlg.cpp" line="31"/>
         <source>Add Custom Icon</source>
         <translation>Lisää oma kuvake</translation>
     </message>
     <message>
-        <location filename="../dialogs/SelectIconDlg.cpp" line="32"/>
         <source>Pick</source>
         <translation>Poimi</translation>
     </message>
     <message>
-        <location filename="../dialogs/SelectIconDlg.cpp" line="60"/>
-        <location filename="../dialogs/SelectIconDlg.cpp" line="97"/>
         <source>Add Icons...</source>
         <translation>Lisää kuvakkeita...</translation>
     </message>
     <message>
-        <location filename="../dialogs/SelectIconDlg.cpp" line="60"/>
-        <location filename="../dialogs/SelectIconDlg.cpp" line="97"/>
         <source>Images (%1)</source>
         <translation>Kuvat (%1)</translation>
     </message>
     <message>
-        <location filename="../dialogs/SelectIconDlg.cpp" line="66"/>
         <source>%1: File could not be loaded.</source>
         <translation>%1: Tiedostoa ei voitu ladata.</translation>
     </message>
     <message>
-        <location filename="../dialogs/SelectIconDlg.cpp" line="72"/>
-        <location filename="../dialogs/SelectIconDlg.cpp" line="102"/>
         <source>Error</source>
         <translation>Virhe</translation>
     </message>
     <message>
-        <location filename="../dialogs/SelectIconDlg.cpp" line="72"/>
         <source>An error occured while loading the icon(s):</source>
         <translation>Tapahtui virhe ladattaessa kuvakkeita:</translation>
     </message>
     <message>
-        <location filename="../dialogs/SelectIconDlg.cpp" line="102"/>
         <source>An error occured while loading the icon.</source>
         <translation>Tapahtui virhe ladattaessa kuvaketta.</translation>
     </message>
@@ -487,33 +377,25 @@ Haluatko varmasti poistaa sen?</translation>
 <context>
     <name>CSettingsDlg</name>
     <message>
-        <location filename="../dialogs/SettingsDlg.cpp" line="213"/>
-        <location filename="../dialogs/SettingsDlg.cpp" line="321"/>
-        <location filename="../dialogs/SettingsDlg.cpp" line="335"/>
-        <location filename="../dialogs/SettingsDlg.cpp" line="349"/>
         <source>Settings</source>
         <translation>Asetukset</translation>
     </message>
     <message>
-        <location filename="../dialogs/SettingsDlg.cpp" line="354"/>
         <source>Select a directory...</source>
         <translation>Valitse kansio...</translation>
     </message>
     <message>
-        <location filename="../dialogs/SettingsDlg.cpp" line="361"/>
         <source>Select an executable...</source>
         <translation>Valitse suoritettava ohjelma...</translation>
     </message>
     <message>
-        <location filename="../dialogs/SettingsDlg.cpp" line="423"/>
         <source>System Language</source>
-        <translation type="unfinished">Järjestelmäkieli</translation>
+        <translation>Järjestelmäkieli</translation>
     </message>
 </context>
 <context>
     <name>CalendarDialog</name>
     <message>
-        <location filename="../forms/CalendarDlg.ui" line="13"/>
         <source>Calendar</source>
         <translation>Kalenteri</translation>
     </message>
@@ -521,19 +403,16 @@ Haluatko varmasti poistaa sen?</translation>
 <context>
     <name>CollectEntropyDlg</name>
     <message>
-        <location filename="../forms/CollectEntropyDlg.ui" line="25"/>
         <source>Random Number Generator</source>
         <translation>Satunnaislukugeneraattori</translation>
     </message>
     <message>
-        <location filename="../forms/CollectEntropyDlg.ui" line="56"/>
         <source>Collecting entropy...
 Please move the mouse and/or press some keys until enought entropy for a reseed of the random number generator is collected.</source>
         <translation>Kerätään entropiaa...
 Liikuttele hiirtä ja painele näppäimiä, kunnes tarpeeksi entropiaa satunnaislukugeneraattorin uudelleenalustamiseen on saatu kerättyä.</translation>
     </message>
     <message>
-        <location filename="../forms/CollectEntropyDlg.ui" line="172"/>
         <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
 p, li { white-space: pre-wrap; }
 &lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Verdana&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
@@ -541,7 +420,6 @@ p, li { white-space: pre-wrap; }
         <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;p, li { white-space: pre-wrap; }&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Verdana&apos;; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#006400;&quot;&gt;Satunnaisuuslähde alustettu onnistuneesti uudestaan!&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
     </message>
     <message>
-        <location filename="../dialogs/CollectEntropyDlg.cpp" line="30"/>
         <source>Entropy Collection</source>
         <translation>Entropian keräys</translation>
     </message>
@@ -549,254 +427,202 @@ p, li { white-space: pre-wrap; }
 <context>
     <name>CustomizeDetailViewDialog</name>
     <message>
-        <location filename="../forms/CustomizeDetailViewDlg.ui" line="13"/>
         <source>Dialog</source>
         <translation>Ikkuna</translation>
     </message>
     <message>
-        <location filename="../forms/CustomizeDetailViewDlg.ui" line="34"/>
         <source>Rich Text Editor</source>
         <translation>Tekstieditori (RTF)</translation>
     </message>
     <message>
-        <location filename="../forms/CustomizeDetailViewDlg.ui" line="48"/>
         <source>Bold</source>
         <translation>Korostettu</translation>
     </message>
     <message>
-        <location filename="../forms/CustomizeDetailViewDlg.ui" line="51"/>
-        <location filename="../forms/CustomizeDetailViewDlg.ui" line="135"/>
         <source>B</source>
         <translation>B</translation>
     </message>
     <message>
-        <location filename="../forms/CustomizeDetailViewDlg.ui" line="67"/>
         <source>Italic</source>
         <translation>Kursiivi</translation>
     </message>
     <message>
-        <location filename="../forms/CustomizeDetailViewDlg.ui" line="70"/>
         <source>I</source>
         <translation>I</translation>
     </message>
     <message>
-        <location filename="../forms/CustomizeDetailViewDlg.ui" line="80"/>
         <source>Underlined</source>
         <translation>Alleviivattu</translation>
     </message>
     <message>
-        <location filename="../forms/CustomizeDetailViewDlg.ui" line="83"/>
         <source>U</source>
         <translation>U</translation>
     </message>
     <message>
-        <location filename="../forms/CustomizeDetailViewDlg.ui" line="93"/>
         <source>Left-Aligned</source>
         <translation>Vasemmalle tasattu</translation>
     </message>
     <message>
-        <location filename="../forms/CustomizeDetailViewDlg.ui" line="96"/>
         <source>L</source>
         <translation>L</translation>
     </message>
     <message>
-        <location filename="../forms/CustomizeDetailViewDlg.ui" line="106"/>
         <source>Centered</source>
         <translation>Keskitetty</translation>
     </message>
     <message>
-        <location filename="../forms/CustomizeDetailViewDlg.ui" line="109"/>
-        <location filename="../forms/CustomizeDetailViewDlg.ui" line="148"/>
         <source>C</source>
         <translation>C</translation>
     </message>
     <message>
-        <location filename="../forms/CustomizeDetailViewDlg.ui" line="119"/>
         <source>Right-Aligned</source>
         <translation>Oikealle tasattu</translation>
     </message>
     <message>
-        <location filename="../forms/CustomizeDetailViewDlg.ui" line="122"/>
         <source>R</source>
         <translation>R</translation>
     </message>
     <message>
-        <location filename="../forms/CustomizeDetailViewDlg.ui" line="132"/>
         <source>Justified</source>
         <translation>Tasaus</translation>
     </message>
     <message>
-        <location filename="../forms/CustomizeDetailViewDlg.ui" line="145"/>
         <source>Text Color</source>
         <translation>Tekstin väri</translation>
     </message>
     <message>
-        <location filename="../forms/CustomizeDetailViewDlg.ui" line="155"/>
         <source>Font Size</source>
         <translation>Kirjasimen koko</translation>
     </message>
     <message>
-        <location filename="../forms/CustomizeDetailViewDlg.ui" line="162"/>
         <source>6</source>
         <translation>6</translation>
     </message>
     <message>
-        <location filename="../forms/CustomizeDetailViewDlg.ui" line="167"/>
         <source>7</source>
         <translation>7</translation>
     </message>
     <message>
-        <location filename="../forms/CustomizeDetailViewDlg.ui" line="172"/>
         <source>8</source>
         <translation>8</translation>
     </message>
     <message>
-        <location filename="../forms/CustomizeDetailViewDlg.ui" line="177"/>
         <source>9</source>
         <translation>9</translation>
     </message>
     <message>
-        <location filename="../forms/CustomizeDetailViewDlg.ui" line="182"/>
         <source>10</source>
         <translation>10</translation>
     </message>
     <message>
-        <location filename="../forms/CustomizeDetailViewDlg.ui" line="187"/>
         <source>11</source>
         <translation>11</translation>
     </message>
     <message>
-        <location filename="../forms/CustomizeDetailViewDlg.ui" line="192"/>
         <source>12</source>
         <translation>12</translation>
     </message>
     <message>
-        <location filename="../forms/CustomizeDetailViewDlg.ui" line="197"/>
         <source>14</source>
         <translation>14</translation>
     </message>
     <message>
-        <location filename="../forms/CustomizeDetailViewDlg.ui" line="202"/>
         <source>16</source>
         <translation>16</translation>
     </message>
     <message>
-        <location filename="../forms/CustomizeDetailViewDlg.ui" line="207"/>
         <source>18</source>
         <translation>18</translation>
     </message>
     <message>
-        <location filename="../forms/CustomizeDetailViewDlg.ui" line="212"/>
         <source>20</source>
         <translation>20</translation>
     </message>
     <message>
-        <location filename="../forms/CustomizeDetailViewDlg.ui" line="217"/>
         <source>22</source>
         <translation>22</translation>
     </message>
     <message>
-        <location filename="../forms/CustomizeDetailViewDlg.ui" line="222"/>
         <source>24</source>
         <translation>24</translation>
     </message>
     <message>
-        <location filename="../forms/CustomizeDetailViewDlg.ui" line="227"/>
         <source>26</source>
         <translation>26</translation>
     </message>
     <message>
-        <location filename="../forms/CustomizeDetailViewDlg.ui" line="232"/>
         <source>28</source>
         <translation>28</translation>
     </message>
     <message>
-        <location filename="../forms/CustomizeDetailViewDlg.ui" line="237"/>
         <source>36</source>
         <translation>36</translation>
     </message>
     <message>
-        <location filename="../forms/CustomizeDetailViewDlg.ui" line="242"/>
         <source>42</source>
         <translation>42</translation>
     </message>
     <message>
-        <location filename="../forms/CustomizeDetailViewDlg.ui" line="247"/>
         <source>78</source>
         <translation>78</translation>
     </message>
     <message>
-        <location filename="../forms/CustomizeDetailViewDlg.ui" line="255"/>
         <source>Templates</source>
         <translation>Mallit</translation>
     </message>
     <message>
-        <location filename="../forms/CustomizeDetailViewDlg.ui" line="258"/>
         <source>T</source>
         <translation>M</translation>
     </message>
     <message>
-        <location filename="../forms/CustomizeDetailViewDlg.ui" line="298"/>
         <source>HTML</source>
         <translation>HTML</translation>
     </message>
     <message>
-        <location filename="../dialogs/CustomizeDetailViewDlg.cpp" line="38"/>
         <source>Group</source>
         <translation>Ryhmä</translation>
     </message>
     <message>
-        <location filename="../dialogs/CustomizeDetailViewDlg.cpp" line="39"/>
         <source>Title</source>
         <translation>Otsikko</translation>
     </message>
     <message>
-        <location filename="../dialogs/CustomizeDetailViewDlg.cpp" line="40"/>
         <source>Username</source>
         <translation>Käyttäjätunnus</translation>
     </message>
     <message>
-        <location filename="../dialogs/CustomizeDetailViewDlg.cpp" line="41"/>
         <source>Password</source>
         <translation>Salasana</translation>
     </message>
     <message>
-        <location filename="../dialogs/CustomizeDetailViewDlg.cpp" line="42"/>
         <source>Url</source>
         <translation>URL</translation>
     </message>
     <message>
-        <location filename="../dialogs/CustomizeDetailViewDlg.cpp" line="43"/>
         <source>Comment</source>
         <translation>Kommentti</translation>
     </message>
     <message>
-        <location filename="../dialogs/CustomizeDetailViewDlg.cpp" line="44"/>
         <source>Attachment Name</source>
         <translation>Liitteen nimi</translation>
     </message>
     <message>
-        <location filename="../dialogs/CustomizeDetailViewDlg.cpp" line="45"/>
         <source>Creation Date</source>
         <translation>Luontipäivä</translation>
     </message>
     <message>
-        <location filename="../dialogs/CustomizeDetailViewDlg.cpp" line="46"/>
         <source>Last Access Date</source>
         <translation>Viimeksi käytetty</translation>
     </message>
     <message>
-        <location filename="../dialogs/CustomizeDetailViewDlg.cpp" line="47"/>
         <source>Last Modification Date</source>
         <translation>Viimeksi muutettu</translation>
     </message>
     <message>
-        <location filename="../dialogs/CustomizeDetailViewDlg.cpp" line="48"/>
         <source>Expiration Date</source>
         <translation>Vanhenemispäivä</translation>
     </message>
     <message>
-        <location filename="../dialogs/CustomizeDetailViewDlg.cpp" line="49"/>
         <source>Time till Expiration</source>
         <translation>Aikaa vanhenemiseen</translation>
     </message>
@@ -804,8 +630,6 @@ p, li { white-space: pre-wrap; }
 <context>
     <name>Database</name>
     <message>
-        <location filename="../Database.cpp" line="78"/>
-        <location filename="../Database.cpp" line="96"/>
         <source>Never</source>
         <translation>Ei koskaan</translation>
     </message>
@@ -813,27 +637,22 @@ p, li { white-space: pre-wrap; }
 <context>
     <name>DatabaseSettingsDlg</name>
     <message>
-        <location filename="../forms/DatabaseSettingsDlg.ui" line="25"/>
         <source>Database Settings</source>
         <translation>Tietokannan asetukset</translation>
     </message>
     <message>
-        <location filename="../forms/DatabaseSettingsDlg.ui" line="47"/>
         <source>Encryption</source>
         <translation>Salausmenetelmä</translation>
     </message>
     <message>
-        <location filename="../forms/DatabaseSettingsDlg.ui" line="56"/>
         <source>Algorithm:</source>
         <translation>Algoritmi:</translation>
     </message>
     <message>
-        <location filename="../forms/DatabaseSettingsDlg.ui" line="66"/>
         <source>Encryption Rounds:</source>
         <translation>Salauskierroksia:</translation>
     </message>
     <message>
-        <location filename="../forms/DatabaseSettingsDlg.ui" line="84"/>
         <source>Calculate rounds for a 1-second delay on this computer</source>
         <translation>Laske kierrosten lukumäärä yhden sekunnin viiveelle tällä tietokoneella</translation>
     </message>
@@ -841,52 +660,42 @@ p, li { white-space: pre-wrap; }
 <context>
     <name>DetailViewTemplate</name>
     <message>
-        <location filename="../KpxConfig.cpp" line="258"/>
         <source>Group</source>
         <translation>Ryhmä</translation>
     </message>
     <message>
-        <location filename="../KpxConfig.cpp" line="259"/>
         <source>Title</source>
         <translation>Nimi</translation>
     </message>
     <message>
-        <location filename="../KpxConfig.cpp" line="260"/>
         <source>Username</source>
         <translation>Käyttäjätunnus</translation>
     </message>
     <message>
-        <location filename="../KpxConfig.cpp" line="261"/>
         <source>Password</source>
         <translation>Salasana</translation>
     </message>
     <message>
-        <location filename="../KpxConfig.cpp" line="262"/>
         <source>URL</source>
         <translation>URL</translation>
     </message>
     <message>
-        <location filename="../KpxConfig.cpp" line="263"/>
         <source>Creation</source>
         <translation>Luotu</translation>
     </message>
     <message>
-        <location filename="../KpxConfig.cpp" line="264"/>
         <source>Last Access</source>
         <translation>Viimeksi käytetty</translation>
     </message>
     <message>
-        <location filename="../KpxConfig.cpp" line="265"/>
         <source>Last Modification</source>
         <translation>Viimeksi muokattu</translation>
     </message>
     <message>
-        <location filename="../KpxConfig.cpp" line="266"/>
         <source>Expiration</source>
         <translation>Vanhenee</translation>
     </message>
     <message>
-        <location filename="../KpxConfig.cpp" line="267"/>
         <source>Comment</source>
         <translation>Kommentti</translation>
     </message>
@@ -894,57 +703,46 @@ p, li { white-space: pre-wrap; }
 <context>
     <name>EditEntryDialog</name>
     <message>
-        <location filename="../forms/EditEntryDlg.ui" line="15"/>
         <source>Edit Entry</source>
         <translation>Muokkaa tietuetta</translation>
     </message>
     <message>
-        <location filename="../forms/EditEntryDlg.ui" line="53"/>
         <source>Ge&amp;n.</source>
         <translation>L&amp;uo.</translation>
     </message>
     <message>
-        <location filename="../forms/EditEntryDlg.ui" line="114"/>
         <source>Quality:</source>
         <translation>Laatu:</translation>
     </message>
     <message>
-        <location filename="../forms/EditEntryDlg.ui" line="127"/>
         <source>Attachment:</source>
         <translation>Liite:</translation>
     </message>
     <message>
-        <location filename="../forms/EditEntryDlg.ui" line="140"/>
         <source>Title:</source>
         <translation>Otsikko:</translation>
     </message>
     <message>
-        <location filename="../forms/EditEntryDlg.ui" line="153"/>
         <source>Username:</source>
         <translation>Käyttäjätunnus:</translation>
     </message>
     <message>
-        <location filename="../forms/EditEntryDlg.ui" line="166"/>
         <source>Comment:</source>
         <translation>Kommentti:</translation>
     </message>
     <message>
-        <location filename="../forms/EditEntryDlg.ui" line="211"/>
         <source>Repeat:</source>
-        <translation type="unfinished"></translation>
+        <translation>Toista:</translation>
     </message>
     <message>
-        <location filename="../forms/EditEntryDlg.ui" line="351"/>
         <source>%1</source>
         <translation>%1</translation>
     </message>
     <message>
-        <location filename="../forms/EditEntryDlg.ui" line="179"/>
         <source>URL:</source>
         <translation>URL:</translation>
     </message>
     <message>
-        <location filename="../forms/EditEntryDlg.ui" line="192"/>
         <source>Group:</source>
         <translation>Ryhmä:</translation>
     </message>
@@ -953,27 +751,22 @@ p, li { white-space: pre-wrap; }
         <translation type="obsolete">Varmistus:</translation>
     </message>
     <message>
-        <location filename="../forms/EditEntryDlg.ui" line="224"/>
         <source>Password:</source>
         <translation>Salasana:</translation>
     </message>
     <message>
-        <location filename="../forms/EditEntryDlg.ui" line="237"/>
         <source>Expires:</source>
         <translation>Vanhenee:</translation>
     </message>
     <message>
-        <location filename="../forms/EditEntryDlg.ui" line="384"/>
         <source>Never</source>
         <translation>Ei koskaan</translation>
     </message>
     <message>
-        <location filename="../forms/EditEntryDlg.ui" line="420"/>
         <source>%1 Bit</source>
         <translation>%1 bittiä</translation>
     </message>
     <message>
-        <location filename="../forms/EditEntryDlg.ui" line="463"/>
         <source>Icon:</source>
         <translation>Kuvake:</translation>
     </message>
@@ -981,22 +774,18 @@ p, li { white-space: pre-wrap; }
 <context>
     <name>EditGroupDialog</name>
     <message>
-        <location filename="../forms/EditGroupDlg.ui" line="20"/>
         <source>Group Properties</source>
         <translation>Ryhmän ominaisuudet</translation>
     </message>
     <message>
-        <location filename="../forms/EditGroupDlg.ui" line="34"/>
         <source>Icon:</source>
         <translation>Kuvake:</translation>
     </message>
     <message>
-        <location filename="../forms/EditGroupDlg.ui" line="41"/>
         <source>Title:</source>
         <translation>Otsikko:</translation>
     </message>
     <message>
-        <location filename="../forms/EditGroupDlg.ui" line="67"/>
         <source>&gt;</source>
         <translation>&gt;</translation>
     </message>
@@ -1004,37 +793,30 @@ p, li { white-space: pre-wrap; }
 <context>
     <name>ExpiredEntriesDialog</name>
     <message>
-        <location filename="../forms/ExpiredEntriesDlg.ui" line="13"/>
         <source>Expired Entries</source>
         <translation>Vanhentuneet tietueet</translation>
     </message>
     <message>
-        <location filename="../forms/ExpiredEntriesDlg.ui" line="38"/>
         <source>Double click on an entry to jump to it.</source>
         <translation>Siirry tietueeseen kaksoisnapsauttamalla.</translation>
     </message>
     <message>
-        <location filename="../forms/ExpiredEntriesDlg.ui" line="61"/>
         <source>Group</source>
         <translation>Ryhmä</translation>
     </message>
     <message>
-        <location filename="../forms/ExpiredEntriesDlg.ui" line="66"/>
         <source>Title</source>
         <translation>Nimi</translation>
     </message>
     <message>
-        <location filename="../forms/ExpiredEntriesDlg.ui" line="71"/>
         <source>Username</source>
         <translation>Käyttäjätunnus</translation>
     </message>
     <message>
-        <location filename="../forms/ExpiredEntriesDlg.ui" line="76"/>
         <source>Expired</source>
         <translation>Vanhentui</translation>
     </message>
     <message>
-        <location filename="../dialogs/ExpiredEntriesDlg.cpp" line="50"/>
         <source>Expired Entries in the Database</source>
         <translation>Tietokannan vanhentuneet tietueet</translation>
     </message>
@@ -1042,17 +824,14 @@ p, li { white-space: pre-wrap; }
 <context>
     <name>Export_KeePassX_Xml</name>
     <message>
-        <location filename="../export/Export_KeePassX_Xml.h" line="32"/>
         <source>KeePassX XML File</source>
         <translation>KeePassX XML-tiedosto</translation>
     </message>
     <message>
-        <location filename="../export/Export_KeePassX_Xml.cpp" line="25"/>
         <source>XML Files (*.xml)</source>
         <translation>XML-tiedostot (*.xml)</translation>
     </message>
     <message>
-        <location filename="../export/Export_KeePassX_Xml.cpp" line="25"/>
         <source>All Files (*)</source>
         <translation>Kaikki tiedostot (*)</translation>
     </message>
@@ -1060,17 +839,14 @@ p, li { white-space: pre-wrap; }
 <context>
     <name>Export_Txt</name>
     <message>
-        <location filename="../export/Export_Txt.h" line="31"/>
         <source>Text File</source>
         <translation>Tekstitiedosto</translation>
     </message>
     <message>
-        <location filename="../export/Export_Txt.cpp" line="38"/>
         <source>All Files (*)</source>
         <translation>Kaikki tiedostot (*)</translation>
     </message>
     <message>
-        <location filename="../export/Export_Txt.cpp" line="38"/>
         <source>Text Files (*.txt)</source>
         <translation>Tekstitiedostot (*.txt)</translation>
     </message>
@@ -1078,12 +854,10 @@ p, li { white-space: pre-wrap; }
 <context>
     <name>ExporterBase</name>
     <message>
-        <location filename="../export/Export.cpp" line="30"/>
         <source>Export Failed</source>
         <translation>Vienti epäonnistui</translation>
     </message>
     <message>
-        <location filename="../export/Export.cpp" line="26"/>
         <source>Export File...</source>
         <translation>Vie tiedosto...</translation>
     </message>
@@ -1091,77 +865,62 @@ p, li { white-space: pre-wrap; }
 <context>
     <name>FileErrors</name>
     <message>
-        <location filename="../lib/tools.cpp" line="62"/>
         <source>No error occurred.</source>
         <translation>Virhettä ei tapahtunut.</translation>
     </message>
     <message>
-        <location filename="../lib/tools.cpp" line="63"/>
         <source>An error occurred while reading from the file.</source>
         <translation>Tapahtui virhe luettaessa tiedostosta.</translation>
     </message>
     <message>
-        <location filename="../lib/tools.cpp" line="64"/>
         <source>An error occurred while writing to the file.</source>
         <translation>Tapahtui virhe kirjoitettaessa tiedostoon.</translation>
     </message>
     <message>
-        <location filename="../lib/tools.cpp" line="65"/>
         <source>A fatal error occurred.</source>
         <translation>Tapahtui kriittinen virhe.</translation>
     </message>
     <message>
-        <location filename="../lib/tools.cpp" line="66"/>
         <source>An resource error occurred.</source>
         <translation>Tapahtui resurssivirhe.</translation>
     </message>
     <message>
-        <location filename="../lib/tools.cpp" line="67"/>
         <source>The file could not be opened.</source>
         <translation>Tiedostoa ei voitu avata.</translation>
     </message>
     <message>
-        <location filename="../lib/tools.cpp" line="68"/>
         <source>The operation was aborted.</source>
         <translation>Toiminto keskeytettiin.</translation>
     </message>
     <message>
-        <location filename="../lib/tools.cpp" line="69"/>
         <source>A timeout occurred.</source>
         <translation>Tapahtui aikakatkaisu.</translation>
     </message>
     <message>
-        <location filename="../lib/tools.cpp" line="70"/>
         <source>An unspecified error occurred.</source>
         <translation>Tapahtui määrittelemätön virhe.</translation>
     </message>
     <message>
-        <location filename="../lib/tools.cpp" line="71"/>
         <source>The file could not be removed.</source>
         <translation>Tiedostoa ei voitu poistaa.</translation>
     </message>
     <message>
-        <location filename="../lib/tools.cpp" line="72"/>
         <source>The file could not be renamed.</source>
         <translation>Tiedostoa ei voitu nimetä uudestaan.</translation>
     </message>
     <message>
-        <location filename="../lib/tools.cpp" line="73"/>
         <source>The position in the file could not be changed.</source>
         <translation>Sijaintia tiedoston sisällä ei voitu muuttaa.</translation>
     </message>
     <message>
-        <location filename="../lib/tools.cpp" line="74"/>
         <source>The file could not be resized.</source>
         <translation>Tiedoston kokoa ei voitu muuttaa.</translation>
     </message>
     <message>
-        <location filename="../lib/tools.cpp" line="75"/>
         <source>The file could not be accessed.</source>
         <translation>Tiedostoon ei päästy käsiksi.</translation>
     </message>
     <message>
-        <location filename="../lib/tools.cpp" line="76"/>
         <source>The file could not be copied.</source>
         <translation>Tiedostoa ei voitu kopioida.</translation>
     </message>
@@ -1169,22 +928,18 @@ p, li { white-space: pre-wrap; }
 <context>
     <name>GenPwDlg</name>
     <message>
-        <location filename="../forms/PasswordGenDlg.ui" line="14"/>
         <source>Password Generator</source>
         <translation>Salasanageneraattori</translation>
     </message>
     <message>
-        <location filename="../forms/PasswordGenDlg.ui" line="227"/>
         <source>Custom</source>
-        <translation type="unfinished"></translation>
+        <translation>Oma määrittely</translation>
     </message>
     <message>
-        <location filename="../forms/PasswordGenDlg.ui" line="246"/>
         <source>Use the following characters:</source>
-        <translation type="unfinished"></translation>
+        <translation>Käytä seuraavia merkkejä:</translation>
     </message>
     <message>
-        <location filename="../forms/PasswordGenDlg.ui" line="298"/>
         <source>Options</source>
         <translation>Valinnat</translation>
     </message>
@@ -1197,7 +952,6 @@ p, li { white-space: pre-wrap; }
         <translation type="obsolete">Alt+E</translation>
     </message>
     <message>
-        <location filename="../forms/PasswordGenDlg.ui" line="82"/>
         <source>&amp;Lower Letters</source>
         <translation>&amp;Pienet kirjaimet</translation>
     </message>
@@ -1210,7 +964,6 @@ p, li { white-space: pre-wrap; }
         <translation type="obsolete">ALT-N</translation>
     </message>
     <message>
-        <location filename="../forms/PasswordGenDlg.ui" line="99"/>
         <source>&amp;Numbers</source>
         <translation>&amp;Numerot</translation>
     </message>
@@ -1219,7 +972,6 @@ p, li { white-space: pre-wrap; }
         <translation type="obsolete">ALT+E</translation>
     </message>
     <message>
-        <location filename="../forms/PasswordGenDlg.ui" line="116"/>
         <source>&amp;Upper Letters</source>
         <translation>S&amp;uuret kirjaimet</translation>
     </message>
@@ -1228,7 +980,6 @@ p, li { white-space: pre-wrap; }
         <translation type="obsolete">ALT+U</translation>
     </message>
     <message>
-        <location filename="../forms/PasswordGenDlg.ui" line="133"/>
         <source>&amp;Special Characters</source>
         <translation>&amp;Erikoismerkit</translation>
     </message>
@@ -1241,17 +992,14 @@ p, li { white-space: pre-wrap; }
         <translation type="obsolete">ALT+T</translation>
     </message>
     <message>
-        <location filename="../forms/PasswordGenDlg.ui" line="312"/>
         <source>Length:</source>
         <translation>Pituus:</translation>
     </message>
     <message>
-        <location filename="../forms/PasswordGenDlg.ui" line="348"/>
         <source>Quality:</source>
         <translation>Laatu:</translation>
     </message>
     <message>
-        <location filename="../forms/PasswordGenDlg.ui" line="375"/>
         <source>Enable entropy collection</source>
         <translation>Käytä entropian keräystä</translation>
     </message>
@@ -1260,77 +1008,62 @@ p, li { white-space: pre-wrap; }
         <translation type="obsolete">ALT-M</translation>
     </message>
     <message>
-        <location filename="../forms/PasswordGenDlg.ui" line="401"/>
         <source>Collect only once per session</source>
         <translation>Kerää vain kerran istunnossa</translation>
     </message>
     <message>
-        <location filename="../forms/PasswordGenDlg.ui" line="431"/>
         <source>New Password:</source>
         <translation>Uusi salasana:</translation>
     </message>
     <message>
-        <location filename="../forms/PasswordGenDlg.ui" line="454"/>
         <source>Generate</source>
         <translation>Luo</translation>
     </message>
     <message>
-        <location filename="../forms/PasswordGenDlg.ui" line="43"/>
         <source>Random</source>
         <translation>Satunnainen</translation>
     </message>
     <message>
-        <location filename="../forms/PasswordGenDlg.ui" line="49"/>
         <source>Use following character groups:</source>
-        <translation type="unfinished"></translation>
+        <translation>Käytä seuraavia merkkiryhmiä:</translation>
     </message>
     <message>
-        <location filename="../forms/PasswordGenDlg.ui" line="92"/>
         <source>&amp;Underline</source>
         <translation>&amp;Alleviivaus</translation>
     </message>
     <message>
-        <location filename="../forms/PasswordGenDlg.ui" line="109"/>
         <source>&amp;White Spaces</source>
         <translation>&amp;Tyhjeet</translation>
     </message>
     <message>
-        <location filename="../forms/PasswordGenDlg.ui" line="126"/>
         <source>&amp;Minus</source>
         <translation>&amp;Miinusmerkki</translation>
     </message>
     <message>
-        <location filename="../forms/PasswordGenDlg.ui" line="144"/>
         <source>Exclude look-alike characters</source>
         <translation>Poista samannäköiset merkit</translation>
     </message>
     <message>
-        <location filename="../forms/PasswordGenDlg.ui" line="151"/>
         <source>Ensure that password contains characters from every group</source>
         <translation>Varmista, että salasana sisältää merkkejä joka ryhmästä</translation>
     </message>
     <message>
-        <location filename="../forms/PasswordGenDlg.ui" line="159"/>
         <source>Pronounceable</source>
         <translation>Äänettävissä oleva</translation>
     </message>
     <message>
-        <location filename="../forms/PasswordGenDlg.ui" line="183"/>
         <source>Lower Letters</source>
         <translation>Pienet kirjaimet</translation>
     </message>
     <message>
-        <location filename="../forms/PasswordGenDlg.ui" line="190"/>
         <source>Upper Letters</source>
         <translation>Isot kirjaimet</translation>
     </message>
     <message>
-        <location filename="../forms/PasswordGenDlg.ui" line="197"/>
         <source>Numbers</source>
         <translation>Numerot</translation>
     </message>
     <message>
-        <location filename="../forms/PasswordGenDlg.ui" line="204"/>
         <source>Special Characters</source>
         <translation>Erikoismerkit</translation>
     </message>
@@ -1338,68 +1071,45 @@ p, li { white-space: pre-wrap; }
 <context>
     <name>HelpDlg</name>
     <message>
-        <location filename="../forms/HelpDlg.ui" line="14"/>
         <source>Help Contents</source>
-        <translation type="unfinished"></translation>
+        <translation>Ohjeen sisältö</translation>
     </message>
     <message>
-        <location filename="../forms/HelpDlg.ui" line="22"/>
-        <location filename="../forms/HelpDlg.ui" line="25"/>
         <source>Previous Page</source>
-        <translation type="unfinished"></translation>
+        <translation>Edellinen sivu</translation>
     </message>
     <message>
-        <location filename="../forms/HelpDlg.ui" line="32"/>
-        <location filename="../forms/HelpDlg.ui" line="35"/>
         <source>Next Page</source>
-        <translation type="unfinished"></translation>
+        <translation>Seuraava sivu</translation>
     </message>
     <message>
-        <location filename="../forms/HelpDlg.ui" line="42"/>
-        <location filename="../forms/HelpDlg.ui" line="45"/>
         <source>First Page</source>
-        <translation type="unfinished"></translation>
+        <translation>Ensimmäinen sivu</translation>
     </message>
 </context>
 <context>
     <name>Import_KWalletXml</name>
     <message>
-        <location filename="../import/Import_KWalletXml.cpp" line="25"/>
         <source>XML Files (*.xml)</source>
         <translation>XML-tiedostot (*.xml)</translation>
     </message>
     <message>
-        <location filename="../import/Import_KWalletXml.cpp" line="25"/>
         <source>All Files (*)</source>
         <translation>Kaikki tiedostot</translation>
     </message>
     <message>
-        <location filename="../import/Import_KWalletXml.cpp" line="38"/>
-        <location filename="../import/Import_KWalletXml.cpp" line="43"/>
-        <location filename="../import/Import_KWalletXml.cpp" line="45"/>
-        <location filename="../import/Import_KWalletXml.cpp" line="47"/>
-        <location filename="../import/Import_KWalletXml.cpp" line="49"/>
-        <location filename="../import/Import_KWalletXml.cpp" line="55"/>
-        <location filename="../import/Import_KWalletXml.cpp" line="57"/>
         <source>Import Failed</source>
         <translation>Tuonti epäonnistui</translation>
     </message>
     <message>
-        <location filename="../import/Import_KWalletXml.cpp" line="38"/>
         <source>Invalid XML data (see stdout for details).</source>
         <translation>Virheellistä XML-tietoa (katso oletustulosteesta lisätietoja).</translation>
     </message>
     <message>
-        <location filename="../import/Import_KWalletXml.cpp" line="43"/>
-        <location filename="../import/Import_KWalletXml.cpp" line="47"/>
-        <location filename="../import/Import_KWalletXml.cpp" line="49"/>
-        <location filename="../import/Import_KWalletXml.cpp" line="55"/>
-        <location filename="../import/Import_KWalletXml.cpp" line="57"/>
         <source>Invalid XML file.</source>
         <translation>Virheellinen XML-tiedosto.</translation>
     </message>
     <message>
-        <location filename="../import/Import_KWalletXml.cpp" line="45"/>
         <source>Document does not contain data.</source>
         <translation>Tiedosto ei sisällä tietoa.</translation>
     </message>
@@ -1407,34 +1117,24 @@ p, li { white-space: pre-wrap; }
 <context>
     <name>Import_KeePassX_Xml</name>
     <message>
-        <location filename="../import/Import_KeePassX_Xml.cpp" line="27"/>
         <source>KeePass XML Files (*.xml)</source>
         <translation>KeePass XML-tiedostot (*.xml)</translation>
     </message>
     <message>
-        <location filename="../import/Import_KeePassX_Xml.cpp" line="27"/>
         <source>All Files (*)</source>
         <translation>Kaikki tiedostot</translation>
     </message>
     <message>
-        <location filename="../import/Import_KeePassX_Xml.cpp" line="34"/>
-        <location filename="../import/Import_KeePassX_Xml.cpp" line="41"/>
-        <location filename="../import/Import_KeePassX_Xml.cpp" line="49"/>
-        <location filename="../import/Import_KeePassX_Xml.cpp" line="53"/>
         <source>Import Failed</source>
         <translation>Tuonti epäonnistui</translation>
     </message>
     <message>
-        <location filename="../import/Import_KeePassX_Xml.cpp" line="34"/>
         <source>XML parsing error on line %1 column %2:
 %3</source>
         <translation>XML-jäsennysvirhe rivillä %1 sarakkeessa %2:
 %3</translation>
     </message>
     <message>
-        <location filename="../import/Import_KeePassX_Xml.cpp" line="41"/>
-        <location filename="../import/Import_KeePassX_Xml.cpp" line="49"/>
-        <location filename="../import/Import_KeePassX_Xml.cpp" line="53"/>
         <source>Parsing error: File is no valid KeePassX XML file.</source>
         <translation>Jäsennysvirhe: Tiedosto ei ole kelvollinen KeePassX XML-tiedosto.</translation>
     </message>
@@ -1442,72 +1142,50 @@ p, li { white-space: pre-wrap; }
 <context>
     <name>Import_PwManager</name>
     <message>
-        <location filename="../import/Import_PwManager.cpp" line="29"/>
         <source>PwManager Files (*.pwm)</source>
         <translation>PwManager-tiedostot (*.pwm)</translation>
     </message>
     <message>
-        <location filename="../import/Import_PwManager.cpp" line="29"/>
         <source>All Files (*)</source>
         <translation>Kaikki tiedostot (*)</translation>
     </message>
     <message>
-        <location filename="../import/Import_PwManager.cpp" line="40"/>
-        <location filename="../import/Import_PwManager.cpp" line="48"/>
-        <location filename="../import/Import_PwManager.cpp" line="51"/>
-        <location filename="../import/Import_PwManager.cpp" line="54"/>
-        <location filename="../import/Import_PwManager.cpp" line="57"/>
-        <location filename="../import/Import_PwManager.cpp" line="60"/>
-        <location filename="../import/Import_PwManager.cpp" line="67"/>
-        <location filename="../import/Import_PwManager.cpp" line="91"/>
-        <location filename="../import/Import_PwManager.cpp" line="103"/>
-        <location filename="../import/Import_PwManager.cpp" line="109"/>
         <source>Import Failed</source>
         <translation>Tuonti epäonnistui</translation>
     </message>
     <message>
-        <location filename="../import/Import_PwManager.cpp" line="40"/>
         <source>File is empty.</source>
         <translation>Tiedosto on tyhjä.</translation>
     </message>
     <message>
-        <location filename="../import/Import_PwManager.cpp" line="48"/>
         <source>File is no valid PwManager file.</source>
         <translation>Tiedosto ei ole kelvollinen PwManager-tiedosto.</translation>
     </message>
     <message>
-        <location filename="../import/Import_PwManager.cpp" line="51"/>
         <source>Unsupported file version.</source>
         <translation>Tiedoston versio ei ole tuettu.</translation>
     </message>
     <message>
-        <location filename="../import/Import_PwManager.cpp" line="54"/>
-        <location filename="../import/Import_PwManager.cpp" line="57"/>
         <source>Unsupported hash algorithm.</source>
         <translation>Tiivistealgoritmi ei ole tuettu.</translation>
     </message>
     <message>
-        <location filename="../import/Import_PwManager.cpp" line="60"/>
         <source>Unsupported encryption algorithm.</source>
         <translation>Tiedoston salausalgoritmi ei ole tuettu.</translation>
     </message>
     <message>
-        <location filename="../import/Import_PwManager.cpp" line="67"/>
         <source>Compressed files are not supported yet.</source>
         <translation>Pakatut tiedostot eivät vielä ole tuettu.</translation>
     </message>
     <message>
-        <location filename="../import/Import_PwManager.cpp" line="91"/>
         <source>Wrong password.</source>
         <translation>Väärä salasana.</translation>
     </message>
     <message>
-        <location filename="../import/Import_PwManager.cpp" line="103"/>
         <source>File is damaged (hash test failed).</source>
         <translation>Tiedosto on vioittunut (tiivisteen tarkistus epäonnistui).</translation>
     </message>
     <message>
-        <location filename="../import/Import_PwManager.cpp" line="109"/>
         <source>Invalid XML data (see stdout for details).</source>
         <translation>Virheellistä XML-tietoa (katso lisätietoja oletustulosteesta).</translation>
     </message>
@@ -1515,12 +1193,10 @@ p, li { white-space: pre-wrap; }
 <context>
     <name>ImporterBase</name>
     <message>
-        <location filename="../import/Import.cpp" line="26"/>
         <source>Import File...</source>
         <translation>Tuo tiedosto...</translation>
     </message>
     <message>
-        <location filename="../import/Import.cpp" line="30"/>
         <source>Import Failed</source>
         <translation>Tuonti epäonnistui</translation>
     </message>
@@ -1528,77 +1204,58 @@ p, li { white-space: pre-wrap; }
 <context>
     <name>Kdb3Database</name>
     <message>
-        <location filename="../Kdb3Database.cpp" line="516"/>
-        <location filename="../Kdb3Database.cpp" line="525"/>
         <source>Could not open file.</source>
         <translation>Tiedostoa ei voitu avata.</translation>
     </message>
     <message>
-        <location filename="../Kdb3Database.cpp" line="541"/>
         <source>Unexpected file size (DB_TOTAL_SIZE &lt; DB_HEADER_SIZE)</source>
         <translation>Odottamaton tiedostokoko (DB_TOTAL_SIZE &lt; DB_HEADER_SIZE)</translation>
     </message>
     <message>
-        <location filename="../Kdb3Database.cpp" line="558"/>
         <source>Wrong Signature</source>
         <translation>Virheellinen allekirjoitus</translation>
     </message>
     <message>
-        <location filename="../Kdb3Database.cpp" line="563"/>
         <source>Unsupported File Version.</source>
         <translation>Tiedoston versio ei ole tuettu.</translation>
     </message>
     <message>
-        <location filename="../Kdb3Database.cpp" line="572"/>
         <source>Unknown Encryption Algorithm.</source>
         <translation>Tuntematon salausalgoritmi.</translation>
     </message>
     <message>
-        <location filename="../Kdb3Database.cpp" line="599"/>
         <source>Unable to initialize the twofish algorithm.</source>
-        <translation type="unfinished"></translation>
+        <translation>Twofish-algoritmia ei voitu alustaa.</translation>
     </message>
     <message>
-        <location filename="../Kdb3Database.cpp" line="606"/>
         <source>Unknown encryption algorithm.</source>
-        <translation type="unfinished"></translation>
+        <translation>Tuntematon salausmenetelmä.</translation>
     </message>
     <message>
-        <location filename="../Kdb3Database.cpp" line="611"/>
         <source>Decryption failed.
 The key is wrong or the file is damaged.</source>
         <translation>Salauksen purku epäonnstui.
 Avain on väärä tai tiedosto on vioittunut.</translation>
     </message>
     <message>
-        <location filename="../Kdb3Database.cpp" line="637"/>
         <source>Hash test failed.
 The key is wrong or the file is damaged.</source>
         <translation>Tiivisteen laskenta epäonnistui.
 Avain on väärä tai tiedosto on vioittunut.</translation>
     </message>
     <message>
-        <location filename="../Kdb3Database.cpp" line="660"/>
-        <location filename="../Kdb3Database.cpp" line="667"/>
-        <location filename="../Kdb3Database.cpp" line="679"/>
-        <location filename="../Kdb3Database.cpp" line="693"/>
-        <location filename="../Kdb3Database.cpp" line="700"/>
-        <location filename="../Kdb3Database.cpp" line="716"/>
         <source>Unexpected error: Offset is out of range.</source>
         <translation>Odottamaton virhe: siirtymä on alueen ulkopuolella.</translation>
     </message>
     <message>
-        <location filename="../Kdb3Database.cpp" line="722"/>
         <source>Invalid group tree.</source>
         <translation>Virheellinen ryhmäpuu.</translation>
     </message>
     <message>
-        <location filename="../Kdb3Database.cpp" line="938"/>
         <source>Key file is empty.</source>
         <translation>Avaintiedosto on tyhjä.</translation>
     </message>
     <message>
-        <location filename="../Kdb3Database.cpp" line="1318"/>
         <source>The database must contain at least one group.</source>
         <translation>Tietokannan täytyy sisältää ainakin yksi ryhmä.</translation>
     </message>
@@ -1611,30 +1268,25 @@ Avain on väärä tai tiedosto on vioittunut.</translation>
         <translation type="obsolete">Twofish-algoritmia ei voitu alustaa.</translation>
     </message>
     <message>
-        <location filename="../Kdb3Database.cpp" line="1338"/>
         <source>The database has been opened read-only.</source>
-        <translation type="unfinished"></translation>
+        <translation>Tietokanta on avattu vain luettavaksi.</translation>
     </message>
 </context>
 <context>
     <name>Kdb3Database::EntryHandle</name>
     <message>
-        <location filename="../Kdb3Database.cpp" line="1182"/>
         <source>Bytes</source>
         <translation>Tavua</translation>
     </message>
     <message>
-        <location filename="../Kdb3Database.cpp" line="1190"/>
         <source>KiB</source>
         <translation>KiB</translation>
     </message>
     <message>
-        <location filename="../Kdb3Database.cpp" line="1196"/>
         <source>MiB</source>
         <translation>MiB</translation>
     </message>
     <message>
-        <location filename="../Kdb3Database.cpp" line="1201"/>
         <source>GiB</source>
         <translation>GiB</translation>
     </message>
@@ -1642,87 +1294,70 @@ Avain on väärä tai tiedosto on vioittunut.</translation>
 <context>
     <name>KeepassEntryView</name>
     <message>
-        <location filename="../lib/EntryView.cpp" line="240"/>
         <source>Delete?</source>
         <translation>Poista?</translation>
     </message>
     <message>
-        <location filename="../lib/EntryView.cpp" line="376"/>
         <source>Error</source>
         <translation>Virhe</translation>
     </message>
     <message>
-        <location filename="../lib/EntryView.cpp" line="376"/>
         <source>At least one group must exist before adding an entry.</source>
         <translation>Ainakin yksi ryhmä täytyy olla määritelty ennen tietueiden lisäämistä.</translation>
     </message>
     <message>
-        <location filename="../lib/EntryView.cpp" line="376"/>
         <source>OK</source>
         <translation>OK</translation>
     </message>
     <message>
-        <location filename="../lib/EntryView.cpp" line="64"/>
         <source>Title</source>
         <translation>Nimi</translation>
     </message>
     <message>
-        <location filename="../lib/EntryView.cpp" line="64"/>
         <source>Username</source>
         <translation>Käyttäjätunnus</translation>
     </message>
     <message>
-        <location filename="../lib/EntryView.cpp" line="64"/>
         <source>URL</source>
         <translation>URL</translation>
     </message>
     <message>
-        <location filename="../lib/EntryView.cpp" line="64"/>
         <source>Password</source>
         <translation>Salasana</translation>
     </message>
     <message>
-        <location filename="../lib/EntryView.cpp" line="64"/>
         <source>Comments</source>
         <translation>Kommentit</translation>
     </message>
     <message>
-        <location filename="../lib/EntryView.cpp" line="65"/>
         <source>Expires</source>
         <translation>Vanhenee</translation>
     </message>
     <message>
-        <location filename="../lib/EntryView.cpp" line="65"/>
         <source>Creation</source>
         <translation>Luontipäivä</translation>
     </message>
     <message>
-        <location filename="../lib/EntryView.cpp" line="65"/>
         <source>Last Change</source>
         <translation>Viimeksi muutettu</translation>
     </message>
     <message>
-        <location filename="../lib/EntryView.cpp" line="65"/>
         <source>Last Access</source>
         <translation>Viimeksi käytetty</translation>
     </message>
     <message>
-        <location filename="../lib/EntryView.cpp" line="65"/>
         <source>Attachment</source>
         <translation>Liite</translation>
     </message>
     <message>
-        <location filename="../lib/EntryView.cpp" line="65"/>
         <source>Group</source>
         <translation>Ryhmä</translation>
     </message>
     <message>
-        <location filename="../lib/EntryView.cpp" line="237"/>
         <source>Are you sure you want to delete this entry?</source>
         <translation>Haluatko varmasti poistaa tämän tietueen?</translation>
     </message>
     <message>
-        <location filename="../lib/EntryView.cpp" line="239"/>
         <source>Are you sure you want to delete these %1 entries?</source>
         <translation>Haluatko poistaa nämä %1 tietuetta?</translation>
     </message>
@@ -1730,17 +1365,14 @@ Avain on väärä tai tiedosto on vioittunut.</translation>
 <context>
     <name>KeepassGroupView</name>
     <message>
-        <location filename="../lib/GroupView.cpp" line="61"/>
         <source>Search Results</source>
         <translation>Haun tulokset</translation>
     </message>
     <message>
-        <location filename="../lib/GroupView.cpp" line="92"/>
         <source>Delete?</source>
         <translation>Poista?</translation>
     </message>
     <message>
-        <location filename="../lib/GroupView.cpp" line="93"/>
         <source>Are you sure you want to delete this group, all its child groups and all their entries?</source>
         <translation>Haluatko varmasti poistaa tämän ryhmän ja sen sisältämät tietueet?</translation>
     </message>
@@ -1748,7 +1380,6 @@ Avain on väärä tai tiedosto on vioittunut.</translation>
 <context>
     <name>KeepassMainWindow</name>
     <message>
-        <location filename="../mainwindow.cpp" line="1449"/>
         <source>Ready</source>
         <translation>Valmis</translation>
     </message>
@@ -1761,282 +1392,210 @@ Avain on väärä tai tiedosto on vioittunut.</translation>
         <translation type="obsolete">Lukitus avattu</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="350"/>
         <source>Ctrl+O</source>
         <translation>Ctrl+O</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="352"/>
         <source>Ctrl+S</source>
         <translation>Ctrl+S</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="353"/>
         <source>Ctrl+L</source>
         <translation>Ctrl+L</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="354"/>
         <source>Ctrl+Q</source>
         <translation>Ctrl+Q</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="355"/>
         <source>Ctrl+G</source>
         <translation>Ctrl+G</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="356"/>
         <source>Ctrl+C</source>
         <translation>Ctrl+C</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="357"/>
         <source>Ctrl+B</source>
         <translation>Ctrl+B</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="358"/>
         <source>Ctrl+U</source>
         <translation>Ctrl+U</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="360"/>
         <source>Ctrl+Y</source>
         <translation>Ctrl+Y</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="361"/>
         <source>Ctrl+E</source>
         <translation>Ctrl+E</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="362"/>
         <source>Ctrl+D</source>
         <translation>Ctrl+D</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="363"/>
         <source>Ctrl+K</source>
         <translation>Ctrl+K</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="364"/>
         <source>Ctrl+F</source>
         <translation>Ctrl+F</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="368"/>
         <source>Ctrl+V</source>
         <translation>Ctrl+V</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="351"/>
         <source>Ctrl+W</source>
         <translation>Ctrl+W</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="371"/>
         <source>Shift+Ctrl+S</source>
         <translation>Shift+Ctrl+S</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="372"/>
         <source>Shift+Ctrl+F</source>
         <translation>Shift+Ctrl+F</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="405"/>
-        <location filename="../mainwindow.cpp" line="485"/>
-        <location filename="../mainwindow.cpp" line="508"/>
-        <location filename="../mainwindow.cpp" line="544"/>
-        <location filename="../mainwindow.cpp" line="927"/>
-        <location filename="../mainwindow.cpp" line="939"/>
         <source>Error</source>
         <translation>Virhe</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="405"/>
-        <location filename="../mainwindow.cpp" line="508"/>
         <source>The database file does not exist.</source>
         <translation>Tietokantatiedosta ei ole olemassa.</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1452"/>
         <source>Loading Database...</source>
         <translation>Ladataan tietokantaa...</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1455"/>
         <source>Loading Failed</source>
         <translation>Lataus epäonnistui</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="484"/>
         <source>Unknown error while loading database.</source>
         <translation>Tuntematon virhe ladattaessa tietokantaa.</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="486"/>
         <source>The following error occured while opening the database:</source>
         <translation>Seuraavat virheet havaittiin ladattaessa tietokantaa:</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="525"/>
         <source>Save modified file?</source>
         <translation>Tallennetaanko muokattu tiedosto?</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1470"/>
-        <location filename="../mainwindow.cpp" line="1484"/>
         <source>new</source>
         <translation>uusi</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="611"/>
         <source>Open Database...</source>
         <translation>Avaa tietokanta...</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="611"/>
-        <location filename="../mainwindow.cpp" line="921"/>
         <source>KeePass Databases (*.kdb)</source>
         <translation>KeePass-tietokannat (*.kdb)</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="611"/>
-        <location filename="../mainwindow.cpp" line="921"/>
         <source>All Files (*)</source>
         <translation>Kaikki tiedostot (*)</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="742"/>
         <source>Expired</source>
         <translation>Vanhentunut</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="756"/>
         <source>1 Month</source>
         <translation>1 kuukausi</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="758"/>
         <source>%1 Months</source>
         <translation>%1 kuukautta</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="764"/>
         <source>1 Year</source>
         <translation>1 vuosi</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="766"/>
         <source>%1 Years</source>
         <translation>%1 vuotta</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="772"/>
         <source>1 Day</source>
         <translation>1 päivä</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="774"/>
         <source>%1 Days</source>
         <translation>%1 päivää</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="778"/>
         <source>less than 1 day</source>
         <translation>Vähemmän kuin 1 päivä</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="802"/>
-        <location filename="../mainwindow.cpp" line="817"/>
-        <location filename="../mainwindow.cpp" line="853"/>
-        <location filename="../mainwindow.cpp" line="868"/>
         <source>Clone Entry</source>
         <translation>Kloonaa tietue</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="804"/>
-        <location filename="../mainwindow.cpp" line="819"/>
-        <location filename="../mainwindow.cpp" line="855"/>
-        <location filename="../mainwindow.cpp" line="870"/>
         <source>Delete Entry</source>
         <translation>Poista tietue</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="832"/>
-        <location filename="../mainwindow.cpp" line="883"/>
         <source>Clone Entries</source>
         <translation>Kloonaa tietueita</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="834"/>
-        <location filename="../mainwindow.cpp" line="885"/>
         <source>Delete Entries</source>
         <translation>Poista tietueita</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="914"/>
-        <location filename="../mainwindow.cpp" line="932"/>
         <source>File could not be saved.</source>
         <translation>Tiedostoa ei voitu tallentaa.</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="921"/>
         <source>Save Database...</source>
         <translation>Tallenna tietokanta...</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1344"/>
         <source>Un&amp;lock Workspace</source>
         <translation>&amp;Avaa työtilan lukitus</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1359"/>
         <source>&amp;Lock Workspace</source>
         <translation>&amp;Lukitse työtila</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1472"/>
-        <location filename="../mainwindow.cpp" line="1486"/>
         <source>locked</source>
-        <translation type="unfinished"></translation>
+        <translation>lukittu</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="309"/>
-        <location filename="../mainwindow.cpp" line="1125"/>
         <source>Show &amp;Toolbar</source>
         <translation>Näytä &amp;työkalupalkki</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="349"/>
         <source>Ctrl+N</source>
         <translation>Ctrl+N</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="365"/>
         <source>Ctrl+P</source>
         <translation>Ctrl+P</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="366"/>
         <source>Ctrl+X</source>
         <translation>Ctrl+X</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="359"/>
         <source>Ctrl+I</source>
         <translation>Ctrl+I</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="414"/>
         <source>Database locked</source>
         <translation>Tietokanta lukittu</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="415"/>
         <source>The database you are trying to open is locked.
 This means that either someone else has opened the file or KeePassX crashed last time it opened the database.
 
@@ -2046,43 +1605,39 @@ Tämä tarkoittaa, että joku muu on avannut sen jo tai että KeePassX kaatui vi
 Haluatko avata tietokannan joka tapauksessa?</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="927"/>
         <source>Couldn&apos;t create database lock file.</source>
-        <translation type="unfinished">Tietokannan lukkotiedostoa ei voitu luoda.</translation>
+        <translation>Tietokannan lukkotiedostoa ei voitu luoda.</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="526"/>
         <source>The current file was modified.
 Do you want to save the changes?</source>
         <translation>Tämänhetkistä tiedostoa on muokattu.
 Haluatko tallentaa muutokset?</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="544"/>
-        <location filename="../mainwindow.cpp" line="939"/>
         <source>Couldn&apos;t remove database lock file.</source>
         <translation>Tietokannan lukkotiedostoa ei voitu poistaa.</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="421"/>
         <source>Open read-only</source>
-        <translation type="unfinished"></translation>
+        <translation>Avaa vain luettavaksi</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1458"/>
         <source>Couldn&apos;t create lock file. Opening the database read-only.</source>
+        <translation>Lukkotiedostoa ei voitu luoda. Avataan tietokanta vain luettavaksi.</translation>
+    </message>
+    <message>
+        <source>Ctrl+M</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
     <name>Main</name>
     <message>
-        <location filename="../lib/tools.cpp" line="140"/>
         <source>Error</source>
         <translation>Virhe</translation>
     </message>
     <message>
-        <location filename="../lib/tools.cpp" line="147"/>
         <source>File &apos;%1&apos; could not be found.</source>
         <translation>Tiedostoa &quot;%1&quot; ei löytynyt.</translation>
     </message>
@@ -2094,32 +1649,26 @@ Haluatko tallentaa muutokset?</translation>
 <context>
     <name>MainWindow</name>
     <message>
-        <location filename="../forms/MainWindow.ui" line="18"/>
         <source>KeePassX</source>
         <translation>KeePassX</translation>
     </message>
     <message>
-        <location filename="../forms/MainWindow.ui" line="48"/>
         <source>Groups</source>
         <translation>Ryhmät</translation>
     </message>
     <message>
-        <location filename="../forms/MainWindow.ui" line="121"/>
         <source>&amp;Help</source>
         <translation>O&amp;hje</translation>
     </message>
     <message>
-        <location filename="../forms/MainWindow.ui" line="129"/>
         <source>&amp;File</source>
         <translation>&amp;Tiedosto</translation>
     </message>
     <message>
-        <location filename="../forms/MainWindow.ui" line="133"/>
         <source>&amp;Export to...</source>
         <translation>&amp;Vie muodossa...</translation>
     </message>
     <message>
-        <location filename="../forms/MainWindow.ui" line="138"/>
         <source>&amp;Import from...</source>
         <translation>&amp;Tuo tiedostosta...</translation>
     </message>
@@ -2128,67 +1677,54 @@ Haluatko tallentaa muutokset?</translation>
         <translation type="obsolete">&amp;Muokkaa</translation>
     </message>
     <message>
-        <location filename="../forms/MainWindow.ui" line="184"/>
         <source>&amp;View</source>
         <translation>&amp;Näytä</translation>
     </message>
     <message>
-        <location filename="../forms/MainWindow.ui" line="222"/>
         <source>E&amp;xtras</source>
         <translation>&amp;Lisäosat</translation>
     </message>
     <message>
-        <location filename="../forms/MainWindow.ui" line="254"/>
         <source>&amp;Open Database...</source>
         <translation>&amp;Avaa tietokanta...</translation>
     </message>
     <message>
-        <location filename="../forms/MainWindow.ui" line="259"/>
         <source>&amp;Close Database</source>
         <translation>&amp;Sulje tietokanta</translation>
     </message>
     <message>
-        <location filename="../forms/MainWindow.ui" line="264"/>
         <source>&amp;Save Database</source>
         <translation>&amp;Tallenna tietokanta</translation>
     </message>
     <message>
-        <location filename="../forms/MainWindow.ui" line="269"/>
         <source>Save Database &amp;As...</source>
         <translation>Tallenna tietokanta &amp;nimellä...</translation>
     </message>
     <message>
-        <location filename="../forms/MainWindow.ui" line="274"/>
         <source>&amp;Database Settings...</source>
         <translation>&amp;Tietokannan asetukset...</translation>
     </message>
     <message>
-        <location filename="../forms/MainWindow.ui" line="279"/>
         <source>Change &amp;Master Key...</source>
         <translation>Muuta &amp;pääavainta...</translation>
     </message>
     <message>
-        <location filename="../forms/MainWindow.ui" line="284"/>
         <source>&amp;Lock Workspace</source>
         <translation>&amp;Lukitse työtila</translation>
     </message>
     <message>
-        <location filename="../forms/MainWindow.ui" line="466"/>
         <source>&amp;Settings...</source>
         <translation>&amp;Asetukset...</translation>
     </message>
     <message>
-        <location filename="../forms/MainWindow.ui" line="474"/>
         <source>&amp;About...</source>
         <translation>&amp;Tietoja...</translation>
     </message>
     <message>
-        <location filename="../forms/MainWindow.ui" line="490"/>
         <source>&amp;KeePassX Handbook...</source>
         <translation>&amp;KeePassX-ohjekirja</translation>
     </message>
     <message>
-        <location filename="../forms/MainWindow.ui" line="495"/>
         <source>Hide</source>
         <translation>Piilota</translation>
     </message>
@@ -2201,192 +1737,154 @@ Haluatko tallentaa muutokset?</translation>
         <translation type="obsolete">Edistynyt KeePassX-tietokanta (*.kxdb)</translation>
     </message>
     <message>
-        <location filename="../forms/MainWindow.ui" line="555"/>
         <source>Recycle Bin...</source>
         <translation>Roskakori...</translation>
     </message>
     <message>
-        <location filename="../forms/MainWindow.ui" line="143"/>
         <source>&amp;Bookmarks</source>
         <translation>&amp;Kirjanmerkit</translation>
     </message>
     <message>
-        <location filename="../forms/MainWindow.ui" line="188"/>
         <source>Toolbar &amp;Icon Size</source>
         <translation>Työkalupalkin &amp;kuvakkeiden koko</translation>
     </message>
     <message>
-        <location filename="../forms/MainWindow.ui" line="196"/>
         <source>&amp;Columns</source>
         <translation>&amp;Sarakkeet</translation>
     </message>
     <message>
-        <location filename="../forms/MainWindow.ui" line="249"/>
         <source>&amp;Manage Bookmarks...</source>
         <translation>&amp;Hallitse kirjanmerkkejä</translation>
     </message>
     <message>
-        <location filename="../forms/MainWindow.ui" line="289"/>
         <source>&amp;Quit</source>
         <translation>&amp;Lopeta</translation>
     </message>
     <message>
-        <location filename="../forms/MainWindow.ui" line="302"/>
         <source>&amp;Edit Group...</source>
         <translation>&amp;Muokkaa ryhmää...</translation>
     </message>
     <message>
-        <location filename="../forms/MainWindow.ui" line="307"/>
         <source>&amp;Delete Group</source>
         <translation>&amp;Poista ryhmä</translation>
     </message>
     <message>
-        <location filename="../forms/MainWindow.ui" line="312"/>
         <source>Copy Password &amp;to Clipboard</source>
         <translation>Kopioi salasana &amp;leikepöydälle</translation>
     </message>
     <message>
-        <location filename="../forms/MainWindow.ui" line="317"/>
         <source>Copy &amp;Username to Clipboard</source>
         <translation>Kopioi &amp;käyttäjätunnus leikepöydälle</translation>
     </message>
     <message>
-        <location filename="../forms/MainWindow.ui" line="322"/>
         <source>&amp;Open URL</source>
         <translation>&amp;Avaa URL</translation>
     </message>
     <message>
-        <location filename="../forms/MainWindow.ui" line="327"/>
         <source>&amp;Save Attachment As...</source>
         <translation>&amp;Tallenna liite nimellä...</translation>
     </message>
     <message>
-        <location filename="../forms/MainWindow.ui" line="332"/>
         <source>Add &amp;New Entry...</source>
         <translation>Lisää &amp;uusi tietue...</translation>
     </message>
     <message>
-        <location filename="../forms/MainWindow.ui" line="337"/>
         <source>&amp;View/Edit Entry...</source>
         <translation>&amp;Näytä tai muokkaa tietuetta...</translation>
     </message>
     <message>
-        <location filename="../forms/MainWindow.ui" line="342"/>
         <source>De&amp;lete Entry</source>
         <translation>P&amp;oista tietue</translation>
     </message>
     <message>
-        <location filename="../forms/MainWindow.ui" line="347"/>
         <source>&amp;Clone Entry</source>
         <translation>&amp;Kloonaa tietue</translation>
     </message>
     <message>
-        <location filename="../forms/MainWindow.ui" line="352"/>
         <source>Search &amp;in Database...</source>
         <translation>Etsi &amp;tietokannasta...</translation>
     </message>
     <message>
-        <location filename="../forms/MainWindow.ui" line="357"/>
         <source>Search in this &amp;Group...</source>
         <translation>Etsi tästä &amp;ryhmästä...</translation>
     </message>
     <message>
-        <location filename="../forms/MainWindow.ui" line="365"/>
         <source>Show &amp;Entry Details</source>
         <translation>Näytä tietueen &amp;yksityiskohdat</translation>
     </message>
     <message>
-        <location filename="../forms/MainWindow.ui" line="373"/>
         <source>Hide &amp;Usernames</source>
         <translation>Piilota &amp;käyttäjätunnukset</translation>
     </message>
     <message>
-        <location filename="../forms/MainWindow.ui" line="381"/>
         <source>Hide &amp;Passwords</source>
         <translation>Piilota &amp;salasanat</translation>
     </message>
     <message>
-        <location filename="../forms/MainWindow.ui" line="389"/>
         <source>&amp;Title</source>
         <translation>&amp;Otsikko</translation>
     </message>
     <message>
-        <location filename="../forms/MainWindow.ui" line="397"/>
         <source>User&amp;name</source>
         <translation>&amp;Käyttäjätunnus</translation>
     </message>
     <message>
-        <location filename="../forms/MainWindow.ui" line="405"/>
         <source>&amp;URL</source>
         <translation>&amp;URL</translation>
     </message>
     <message>
-        <location filename="../forms/MainWindow.ui" line="413"/>
         <source>&amp;Password</source>
         <translation>&amp;Salasana</translation>
     </message>
     <message>
-        <location filename="../forms/MainWindow.ui" line="421"/>
         <source>&amp;Comment</source>
         <translation>&amp;Kommentti</translation>
     </message>
     <message>
-        <location filename="../forms/MainWindow.ui" line="429"/>
         <source>E&amp;xpires</source>
         <translation>&amp;Vanhenee</translation>
     </message>
     <message>
-        <location filename="../forms/MainWindow.ui" line="437"/>
         <source>C&amp;reation</source>
         <translation>&amp;Luotu</translation>
     </message>
     <message>
-        <location filename="../forms/MainWindow.ui" line="445"/>
         <source>&amp;Last Change</source>
         <translation>&amp;Viimeksi muutettu</translation>
     </message>
     <message>
-        <location filename="../forms/MainWindow.ui" line="453"/>
         <source>Last &amp;Access</source>
         <translation>&amp;Viimeksi käytetty</translation>
     </message>
     <message>
-        <location filename="../forms/MainWindow.ui" line="461"/>
         <source>A&amp;ttachment</source>
         <translation>&amp;Liite</translation>
     </message>
     <message>
-        <location filename="../forms/MainWindow.ui" line="485"/>
         <source>Show &amp;Statusbar</source>
         <translation>Näytä &amp;tilarivi</translation>
     </message>
     <message>
-        <location filename="../forms/MainWindow.ui" line="500"/>
         <source>&amp;Perform AutoType</source>
         <translation>&amp;Käynnistä automaattikirjoitus</translation>
     </message>
     <message>
-        <location filename="../forms/MainWindow.ui" line="508"/>
         <source>&amp;16x16</source>
         <translation>&amp;16x16</translation>
     </message>
     <message>
-        <location filename="../forms/MainWindow.ui" line="516"/>
         <source>&amp;22x22</source>
         <translation>&amp;22x22</translation>
     </message>
     <message>
-        <location filename="../forms/MainWindow.ui" line="524"/>
         <source>2&amp;8x28</source>
         <translation>2&amp;8x28</translation>
     </message>
     <message>
-        <location filename="../forms/MainWindow.ui" line="529"/>
         <source>&amp;New Database...</source>
         <translation>&amp;Uusi tietokanta...</translation>
     </message>
     <message>
-        <location filename="../forms/MainWindow.ui" line="534"/>
         <source>&amp;Password Generator...</source>
         <translation>Salasana&amp;generaattori...</translation>
     </message>
@@ -2395,61 +1893,53 @@ Haluatko tallentaa muutokset?</translation>
         <translation type="obsolete">