mirror of
https://github.com/keepassxreboot/keepassxc.git
synced 2024-12-29 01:06:27 -05:00
Release 2.1.3
- Fix possible overflow in zxcvbn library [#363] - Revert HiDPI setting to avoid problems on laptop screens [#332] - Set file meta properties in Windows executable [#330] - Suppress error message when auto-reloading a locked database [#345] - Improve usability of question dialog when database is already locked by a different instance [#346] - Fix compiler warnings in QHttp library [#351] - Use unified toolbar on Mac OS X [#361] - Fix an issue on X11 where the main window would be raised instead of closed on Alt+F4 [#362]
This commit is contained in:
commit
76dcfb5ed0
12
CHANGELOG
12
CHANGELOG
@ -1,3 +1,15 @@
|
||||
2.1.3 (2017-03-03)
|
||||
=========================
|
||||
|
||||
- Fix possible overflow in zxcvbn library [#363]
|
||||
- Revert HiDPI setting to avoid problems on laptop screens [#332]
|
||||
- Set file meta properties in Windows executable [#330]
|
||||
- Suppress error message when auto-reloading a locked database [#345]
|
||||
- Improve usability of question dialog when database is already locked by a different instance [#346]
|
||||
- Fix compiler warnings in QHttp library [#351]
|
||||
- Use unified toolbar on Mac OS X [#361]
|
||||
- Fix an issue on X11 where the main window would be raised instead of closed on Alt+F4 [#362]
|
||||
|
||||
2.1.2 (2017-02-17)
|
||||
=========================
|
||||
|
||||
|
@ -38,8 +38,8 @@ option(WITH_XC_AUTOTYPE "Include Autotype." OFF)
|
||||
option(WITH_XC_HTTP "Include KeePassHTTP." OFF)
|
||||
option(WITH_XC_YUBIKEY "Include Yubikey support." OFF)
|
||||
|
||||
set(KEEPASSXC_VERSION "2.1.2")
|
||||
set(KEEPASSXC_VERSION_NUM "2.1.2")
|
||||
set(KEEPASSXC_VERSION "2.1.3")
|
||||
set(KEEPASSXC_VERSION_NUM "2.1.3")
|
||||
|
||||
if("${CMAKE_C_COMPILER}" MATCHES "clang$" OR "${CMAKE_C_COMPILER_ID}" STREQUAL "Clang")
|
||||
set(CMAKE_COMPILER_IS_CLANG 1)
|
||||
|
118
cmake/GenerateProductVersion.cmake
Normal file
118
cmake/GenerateProductVersion.cmake
Normal file
@ -0,0 +1,118 @@
|
||||
# The MIT License (MIT)
|
||||
#
|
||||
# Copyright (c) 2015, by [halex2005](mailto:akharlov@gmail.com)
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
# this software and associated documentation files (the "Software"), to deal in
|
||||
# the Software without restriction, including without limitation the rights to
|
||||
# use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
|
||||
# the Software, and to permit persons to whom the Software is furnished to do so,
|
||||
# subject to the following conditions:
|
||||
#
|
||||
# The above copyright notice and this permission notice shall be included in all
|
||||
# copies or substantial portions of the Software.
|
||||
#
|
||||
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
||||
# FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
|
||||
# COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
||||
# IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
|
||||
include (CMakeParseArguments)
|
||||
|
||||
set (GenerateProductVersionCurrentDir ${CMAKE_CURRENT_LIST_DIR})
|
||||
|
||||
# generate_product_version() function
|
||||
#
|
||||
# This function uses VersionInfo.in template file and VersionResource.rc file
|
||||
# to generate WIN32 resource with version information and general resource strings.
|
||||
#
|
||||
# Usage:
|
||||
# generate_product_version(
|
||||
# SomeOutputResourceVariable
|
||||
# NAME MyGreatProject
|
||||
# ICON ${PATH_TO_APP_ICON}
|
||||
# VERSION_MAJOR 2
|
||||
# VERSION_MINOR 3
|
||||
# VERSION_PATH ${BUILD_COUNTER}
|
||||
# VERSION_REVISION ${BUILD_REVISION}
|
||||
# )
|
||||
# where BUILD_COUNTER and BUILD_REVISION could be values from your CI server.
|
||||
#
|
||||
# You can use generated resource for your executable targets:
|
||||
# add_executable(target-name ${target-files} ${SomeOutputResourceVariable})
|
||||
#
|
||||
# You can specify resource strings in arguments:
|
||||
# NAME - name of executable (no defaults, ex: Microsoft Word)
|
||||
# BUNDLE - bundle (${NAME} is default, ex: Microsoft Office)
|
||||
# VERSION_MAJOR - 1 is default
|
||||
# VERSION_MINOR - 0 is default
|
||||
# VERSION_PATCH - 0 is default
|
||||
# COMPANY_NAME - your company name (no defaults)
|
||||
# COMPANY_COPYRIGHT - ${COMPANY_NAME} (C) Copyright ${CURRENT_YEAR} is default
|
||||
# COMMENTS - ${NAME} v${VERSION_MAJOR}.${VERSION_MINOR} is default
|
||||
# ORIGINAL_FILENAME - ${NAME} is default
|
||||
# INTERNAL_NAME - ${NAME} is default
|
||||
# FILE_DESCRIPTION - ${NAME} is default
|
||||
function(generate_product_version outfiles)
|
||||
set (options)
|
||||
set (oneValueArgs
|
||||
NAME
|
||||
BUNDLE
|
||||
VERSION_MAJOR
|
||||
VERSION_MINOR
|
||||
VERSION_PATCH
|
||||
COMPANY_NAME
|
||||
COMPANY_COPYRIGHT
|
||||
COMMENTS
|
||||
ORIGINAL_FILENAME
|
||||
INTERNAL_NAME
|
||||
FILE_DESCRIPTION)
|
||||
set (multiValueArgs)
|
||||
cmake_parse_arguments(PRODUCT "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
|
||||
|
||||
if (NOT PRODUCT_BUNDLE OR "${PRODUCT_BUNDLE}" STREQUAL "")
|
||||
set(PRODUCT_BUNDLE "${PRODUCT_NAME}")
|
||||
endif()
|
||||
if (NOT PRODUCT_VERSION_MAJOR OR "${PRODUCT_VERSION_MAJOR}" STREQUAL "")
|
||||
set(PRODUCT_VERSION_MAJOR 1)
|
||||
endif()
|
||||
if (NOT PRODUCT_VERSION_MINOR OR "${PRODUCT_VERSION_MINOR}" STREQUAL "")
|
||||
set(PRODUCT_VERSION_MINOR 0)
|
||||
endif()
|
||||
if (NOT PRODUCT_VERSION_PATCH OR "${PRODUCT_VERSION_PATCH}" STREQUAL "")
|
||||
set(PRODUCT_VERSION_PATCH 0)
|
||||
endif()
|
||||
|
||||
if (NOT PRODUCT_COMPANY_COPYRIGHT OR "${PRODUCT_COMPANY_COPYRIGHT}" STREQUAL "")
|
||||
string(TIMESTAMP PRODUCT_CURRENT_YEAR "%Y")
|
||||
set(PRODUCT_COMPANY_COPYRIGHT "Copyright (C) ${PRODUCT_CURRENT_YEAR} ${PRODUCT_COMPANY_NAME}")
|
||||
endif()
|
||||
if (NOT PRODUCT_COMMENTS OR "${PRODUCT_COMMENTS}" STREQUAL "")
|
||||
set(PRODUCT_COMMENTS "${PRODUCT_NAME} v${PRODUCT_VERSION_MAJOR}.${PRODUCT_VERSION_MINOR}")
|
||||
endif()
|
||||
if (NOT PRODUCT_ORIGINAL_FILENAME OR "${PRODUCT_ORIGINAL_FILENAME}" STREQUAL "")
|
||||
set(PRODUCT_ORIGINAL_FILENAME "${PRODUCT_NAME}")
|
||||
endif()
|
||||
if (NOT PRODUCT_INTERNAL_NAME OR "${PRODUCT_INTERNAL_NAME}" STREQUAL "")
|
||||
set(PRODUCT_INTERNAL_NAME "${PRODUCT_NAME}")
|
||||
endif()
|
||||
if (NOT PRODUCT_FILE_DESCRIPTION OR "${PRODUCT_FILE_DESCRIPTION}" STREQUAL "")
|
||||
set(PRODUCT_FILE_DESCRIPTION "${PRODUCT_NAME}")
|
||||
endif()
|
||||
|
||||
set (_VersionInfoFile ${CMAKE_CURRENT_BINARY_DIR}/VersionInfo.h)
|
||||
set (_VersionResourceFile ${CMAKE_CURRENT_BINARY_DIR}/VersionResource.rc)
|
||||
configure_file(
|
||||
${GenerateProductVersionCurrentDir}/VersionInfo.in
|
||||
${_VersionInfoFile}
|
||||
@ONLY)
|
||||
configure_file(
|
||||
${GenerateProductVersionCurrentDir}/VersionResource.rc
|
||||
${_VersionResourceFile}
|
||||
COPYONLY)
|
||||
list(APPEND ${outfiles} ${_VersionInfoFile} ${_VersionResourceFile})
|
||||
set (${outfiles} ${${outfiles}} PARENT_SCOPE)
|
||||
endfunction()
|
68
cmake/VersionInfo.in
Normal file
68
cmake/VersionInfo.in
Normal file
@ -0,0 +1,68 @@
|
||||
#pragma once
|
||||
|
||||
#ifndef PRODUCT_VERSION_MAJOR
|
||||
#define PRODUCT_VERSION_MAJOR @PRODUCT_VERSION_MAJOR@
|
||||
#endif
|
||||
|
||||
#ifndef PRODUCT_VERSION_MINOR
|
||||
#define PRODUCT_VERSION_MINOR @PRODUCT_VERSION_MINOR@
|
||||
#endif
|
||||
|
||||
#ifndef PRODUCT_VERSION_PATCH
|
||||
#define PRODUCT_VERSION_PATCH @PRODUCT_VERSION_PATCH@
|
||||
#endif
|
||||
|
||||
#ifndef FILE_VERSION_MAJOR
|
||||
#define FILE_VERSION_MAJOR @PRODUCT_VERSION_MAJOR@
|
||||
#endif
|
||||
|
||||
#ifndef FILE_VERSION_MINOR
|
||||
#define FILE_VERSION_MINOR @PRODUCT_VERSION_MINOR@
|
||||
#endif
|
||||
|
||||
#ifndef FILE_VERSION_PATCH
|
||||
#define FILE_VERSION_PATCH @PRODUCT_VERSION_PATCH@
|
||||
#endif
|
||||
|
||||
#ifndef __TO_STRING
|
||||
#define __TO_STRING_IMPL(x) #x
|
||||
#define __TO_STRING(x) __TO_STRING_IMPL(x)
|
||||
#endif
|
||||
|
||||
#define PRODUCT_VERSION_MAJOR_MINOR_STR __TO_STRING(PRODUCT_VERSION_MAJOR) "." __TO_STRING(PRODUCT_VERSION_MINOR)
|
||||
#define PRODUCT_VERSION_MAJOR_MINOR_PATCH_STR PRODUCT_VERSION_MAJOR_MINOR_STR "." __TO_STRING(PRODUCT_VERSION_PATCH)
|
||||
#define PRODUCT_VERSION_RESOURCE PRODUCT_VERSION_MAJOR,PRODUCT_VERSION_MINOR,PRODUCT_VERSION_PATCH,0
|
||||
#define PRODUCT_VERSION_RESOURCE_STR PRODUCT_VERSION_MAJOR_MINOR_PATCH_STR "\0"
|
||||
|
||||
#define FILE_VERSION_MAJOR_MINOR_STR __TO_STRING(FILE_VERSION_MAJOR) "." __TO_STRING(FILE_VERSION_MINOR)
|
||||
#define FILE_VERSION_MAJOR_MINOR_PATCH_STR FILE_VERSION_MAJOR_MINOR_STR "." __TO_STRING(FILE_VERSION_PATCH)
|
||||
#define FILE_VERSION_RESOURCE FILE_VERSION_MAJOR,FILE_VERSION_MINOR,FILE_VERSION_PATCH,0
|
||||
#define FILE_VERSION_RESOURCE_STR FILE_VERSION_MAJOR_MINOR_PATCH_STR "\0"
|
||||
|
||||
#ifndef PRODUCT_COMMENTS
|
||||
#define PRODUCT_COMMENTS "@PRODUCT_COMMENTS@\0"
|
||||
#endif
|
||||
|
||||
#ifndef PRODUCT_COMPANY_NAME
|
||||
#define PRODUCT_COMPANY_NAME "@PRODUCT_COMPANY_NAME@\0"
|
||||
#endif
|
||||
|
||||
#ifndef PRODUCT_COMPANY_COPYRIGHT
|
||||
#define PRODUCT_COMPANY_COPYRIGHT "@PRODUCT_COMPANY_COPYRIGHT@\0"
|
||||
#endif
|
||||
|
||||
#ifndef PRODUCT_FILE_DESCRIPTION
|
||||
#define PRODUCT_FILE_DESCRIPTION "@PRODUCT_FILE_DESCRIPTION@\0"
|
||||
#endif
|
||||
|
||||
#ifndef PRODUCT_INTERNAL_NAME
|
||||
#define PRODUCT_INTERNAL_NAME "@PRODUCT_NAME@\0"
|
||||
#endif
|
||||
|
||||
#ifndef PRODUCT_ORIGINAL_FILENAME
|
||||
#define PRODUCT_ORIGINAL_FILENAME "@PRODUCT_ORIGINAL_FILENAME@\0"
|
||||
#endif
|
||||
|
||||
#ifndef PRODUCT_BUNDLE
|
||||
#define PRODUCT_BUNDLE "@PRODUCT_BUNDLE@\0"
|
||||
#endif
|
36
cmake/VersionResource.rc
Normal file
36
cmake/VersionResource.rc
Normal file
@ -0,0 +1,36 @@
|
||||
#include "VersionInfo.h"
|
||||
#include "winresrc.h"
|
||||
|
||||
VS_VERSION_INFO VERSIONINFO
|
||||
FILEVERSION FILE_VERSION_RESOURCE
|
||||
PRODUCTVERSION PRODUCT_VERSION_RESOURCE
|
||||
FILEFLAGSMASK 0x3fL
|
||||
#ifdef _DEBUG
|
||||
FILEFLAGS 0x1L
|
||||
#else
|
||||
FILEFLAGS 0x0L
|
||||
#endif
|
||||
FILEOS 0x4L
|
||||
FILETYPE 0x1L
|
||||
FILESUBTYPE 0x0L
|
||||
BEGIN
|
||||
BLOCK "StringFileInfo"
|
||||
BEGIN
|
||||
BLOCK "040904b0"
|
||||
BEGIN
|
||||
VALUE "Comments", PRODUCT_COMMENTS
|
||||
VALUE "CompanyName", PRODUCT_COMPANY_NAME
|
||||
VALUE "FileDescription", PRODUCT_FILE_DESCRIPTION
|
||||
VALUE "FileVersion", FILE_VERSION_RESOURCE_STR
|
||||
VALUE "InternalName", PRODUCT_INTERNAL_NAME
|
||||
VALUE "LegalCopyright", PRODUCT_COMPANY_COPYRIGHT
|
||||
VALUE "OriginalFilename", PRODUCT_ORIGINAL_FILENAME
|
||||
VALUE "ProductName", PRODUCT_BUNDLE
|
||||
VALUE "ProductVersion", PRODUCT_VERSION_RESOURCE_STR
|
||||
END
|
||||
END
|
||||
BLOCK "VarFileInfo"
|
||||
BEGIN
|
||||
VALUE "Translation", 0x409, 1200
|
||||
END
|
||||
END
|
@ -388,11 +388,6 @@ Discard changes and close anyway?</source>
|
||||
<source>Unable to open the database.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The database you are trying to open is locked by another instance of KeePassXC.
|
||||
Do you want to open it anyway? Alternatively the database is opened read-only.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Merge database</source>
|
||||
<translation type="unfinished"></translation>
|
||||
@ -406,6 +401,20 @@ Do you want to save it anyway?</source>
|
||||
<source>Passwords</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Database already opened</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The database you are trying to open is locked by another instance of KeePassXC.
|
||||
|
||||
Do you want to open it anyway?</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open read-only</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>DatabaseWidget</name>
|
||||
@ -516,10 +525,6 @@ Do you want to save it anyway?</source>
|
||||
<source>Autoreload Failed</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not parse or unlock the new database file while attempting to autoreload this database.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not open the new database file while attempting to autoreload this database.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
@ -1297,11 +1302,6 @@ This is a one-way migration. You won't be able to open the imported databas
|
||||
<source>Sh&ow a notification when credentials are requested</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Return only best matching entries for an URL instead
|
||||
of all entries for the whole domain</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Match URL schemes
|
||||
Only entries with the same scheme (http://, https://, ftp://, ...) are returned</source>
|
||||
@ -1311,10 +1311,6 @@ Only entries with the same scheme (http://, https://, ftp://, ...) are returned<
|
||||
<source>Sort matching entries by &username</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>R&emove all shared encryption-keys from active database</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Re&move all stored permissions from entries in active database</source>
|
||||
<translation type="unfinished"></translation>
|
||||
@ -1327,10 +1323,6 @@ Only entries with the same scheme (http://, https://, ftp://, ...) are returned<
|
||||
<source>Advanced</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Activate the following only, if you know what you are doing!</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Always allow &access to entries</source>
|
||||
<translation type="unfinished"></translation>
|
||||
@ -1347,14 +1339,6 @@ Only entries with the same scheme (http://, https://, ftp://, ...) are returned<
|
||||
<source>Only the selected database has to be connected with a client!</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Return also advanced string fields which start with "KPH: "</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Automatic creates or updates are not supported for string fields!</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HTTP Port:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
@ -1389,6 +1373,27 @@ This is required for accessing your databases from ChromeIPass or PassIFox</sour
|
||||
Using default port 19455.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Return only best matching entries for a URL instead
|
||||
of all entries for the whole domain</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>R&emove all shared encryption keys from active database</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The following options can be dangerous. Change them only if you know what you are doing.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Return advanced string fields which start with "KPH: "</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Automatically creating or updating string fields is not supported.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>PasswordGeneratorWidget</name>
|
||||
@ -1761,10 +1766,6 @@ give it a unique name to identify and accept it.</source>
|
||||
<source>key file of the database</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>filename(s) of the password database(s) to open (*.kdbx)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>KeePassXC - cross-platform password manager</source>
|
||||
<translation type="unfinished"></translation>
|
||||
@ -1773,5 +1774,9 @@ give it a unique name to identify and accept it.</source>
|
||||
<source>read password of the database from stdin</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>filenames of the password databases to open (*.kdbx)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
</TS>
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -13,16 +13,16 @@
|
||||
<source>About KeePassXC</source>
|
||||
<translation>Apie KeePassXC</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>KeePassXC is distributed under the term of the GNU General Public License (GPL) version 2 or (at your option) version 3.</source>
|
||||
<translation>KeePassXC yra platinama GNU Bendrosios Viešosios Licencijos (GPL) versijos 2 arba (jūsų pasirinkimu) versijos 3 sąlygomis.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Extensions:
|
||||
</source>
|
||||
<translation>Plėtiniai:
|
||||
</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>KeePassXC is distributed under the terms of the GNU General Public License (GPL) version 2 or (at your option) version 3.</source>
|
||||
<translation>KeePassXC yra platinama GNU Bendrosios Viešosios Licencijos (GPL) versijos 2 arba (jūsų pasirinkimu) versijos 3 sąlygomis.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>AccessControlDialog</name>
|
||||
@ -100,10 +100,6 @@ Pasirinkite, ar norite leisti prieigą.</translation>
|
||||
<source>Repeat password:</source>
|
||||
<translation>Pakartokite slaptažodį:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Key file</source>
|
||||
<translation>Rakto failas</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Browse</source>
|
||||
<translation>Naršyti</translation>
|
||||
@ -158,6 +154,10 @@ Pasirinkite, ar norite leisti prieigą.</translation>
|
||||
<translation>Nepavyko nustatyti %1 kaip rakto failą:
|
||||
%2</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Key file</source>
|
||||
<translation>&Rakto failas</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>DatabaseOpenWidget</name>
|
||||
@ -257,10 +257,6 @@ Dabar galite ją įrašyti.</translation>
|
||||
<source>Default username:</source>
|
||||
<translation>Numatytasis naudotojo vardas:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Use recycle bin:</source>
|
||||
<translation>Naudoti šiukšlinę:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source> MiB</source>
|
||||
<translation> MiB</translation>
|
||||
@ -277,6 +273,10 @@ Dabar galite ją įrašyti.</translation>
|
||||
<source>Max. history size:</source>
|
||||
<translation>Didžiausias istorijos dydis:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Use recycle bin</source>
|
||||
<translation>Naudoti šiukšlinę</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>DatabaseTabWidget</name>
|
||||
@ -396,12 +396,6 @@ Vis tiek atmesti pakeitimus ir užverti?</translation>
|
||||
<source>Unable to open the database.</source>
|
||||
<translation>Nepavyko atverti duomenų bazės.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The database you are trying to open is locked by another instance of KeePassXC.
|
||||
Do you want to open it anyway? Alternatively the database is opened read-only.</source>
|
||||
<translation>Duomenų bazė, kurią bandote atverti, yra užrakinta kito KeePassXC egzemplioriaus.
|
||||
Ar vis tiek norite ją atverti? Tokiu atveju duomenų bazė bus atverta tik skaitymui.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Merge database</source>
|
||||
<translation>Sulieti duomenų bazę</translation>
|
||||
@ -412,6 +406,25 @@ Do you want to save it anyway?</source>
|
||||
<translation>Duomenų bazė, kurią bandote įrašyti yra užrakinta kito KeePassXC programos egzemplioriaus.
|
||||
Ar vis tiek norite ją įrašyti?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Passwords</source>
|
||||
<translation>Slaptažodžiai</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Database already opened</source>
|
||||
<translation>Duomenų bazė jau atverta</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The database you are trying to open is locked by another instance of KeePassXC.
|
||||
|
||||
Do you want to open it anyway?</source>
|
||||
<translation>Duomenų bazė, kurią bandote atverti yra užrakinta kito KeePassXC programos egzemplioriaus.
|
||||
Ar vis tiek norite ją atverti?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open read-only</source>
|
||||
<translation>Atverti tik skaitymui</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>DatabaseWidget</name>
|
||||
@ -519,10 +532,6 @@ Ar vis tiek norite ją įrašyti?</translation>
|
||||
<source>Autoreload Failed</source>
|
||||
<translation>Automatinis įkėlimas iš naujo nepavyko</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not parse or unlock the new database file while attempting to autoreload this database.</source>
|
||||
<translation>Nepavyko išanalizuoti ar atrakinti naujos duomenų bazės failo, bandant automatiškai iš naujo įkelti šią duomenų bazę.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not open the new database file while attempting to autoreload this database.</source>
|
||||
<translation>Nepavyko atverti naujos duomenų bazės failo, bandant automatiškai iš naujo įkelti šią duomenų bazę.</translation>
|
||||
@ -650,14 +659,6 @@ Ar vis tiek norite ją įrašyti?</translation>
|
||||
<source>Enable Auto-Type for this entry</source>
|
||||
<translation>Įjungti šiam įrašui automatinį rinkimą</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Inherit default Auto-Type sequence from the group</source>
|
||||
<translation>Paveldėti numatytąją automatinio rinkimo seką iš grupės</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Use custom Auto-Type sequence:</source>
|
||||
<translation>Naudoti tinkintą automatinio rinkimo seka:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>+</source>
|
||||
<translation>+</translation>
|
||||
@ -671,12 +672,20 @@ Ar vis tiek norite ją įrašyti?</translation>
|
||||
<translation>Lango antraštė:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Use default sequence</source>
|
||||
<translation>Naudoti numatytąją seką</translation>
|
||||
<source>Inherit default Auto-Type sequence from the &group</source>
|
||||
<translation>Paveldėti numatytąją automatinio rinkimo seką iš &grupės</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Set custom sequence:</source>
|
||||
<translation>Nustatyti tinkintą seką:</translation>
|
||||
<source>&Use custom Auto-Type sequence:</source>
|
||||
<translation>Na&udoti tinkintą automatinio rinkimo seka:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Use default se&quence</source>
|
||||
<translation>Naudoti numatytąją se&ką</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Set custo&m sequence:</source>
|
||||
<translation>Nustatyti tinkintą s&eką:</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -801,14 +810,6 @@ Ar vis tiek norite ją įrašyti?</translation>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditWidgetIcons</name>
|
||||
<message>
|
||||
<source>Use default icon</source>
|
||||
<translation>Naudoti numatytąją piktogramą</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Use custom icon</source>
|
||||
<translation>Naudoti tinkintą piktogramą</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Add custom icon</source>
|
||||
<translation>Pridėti tinkintą piktogramą</translation>
|
||||
@ -853,6 +854,14 @@ Ar vis tiek norite ją įrašyti?</translation>
|
||||
<source>Can't delete icon. Still used by %1 items.</source>
|
||||
<translation>Nepavyksta ištrinti piktogramos. Vis dar naudojama %1 elementų.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Use default icon</source>
|
||||
<translation>Na&udoti numatytąją piktogramą</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Use custo&m icon</source>
|
||||
<translation>Naudoti tinkintą piktogra&mą</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditWidgetProperties</name>
|
||||
@ -1298,12 +1307,6 @@ Tai yra vienakryptis perkėlimas. Jūs negalėsite atverti importuotos duomenų
|
||||
<source>Sh&ow a notification when credentials are requested</source>
|
||||
<translation>R&odyti pranešimą, kai reikalaujama prisijungimo duomenų</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Return only best matching entries for an URL instead
|
||||
of all entries for the whole domain</source>
|
||||
<translation>&Vietoj visų įrašų, skirtų visai sričiai,
|
||||
grąžinti tik geriausiai atitinkančius įrašus, skirtus URL</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Match URL schemes
|
||||
Only entries with the same scheme (http://, https://, ftp://, ...) are returned</source>
|
||||
@ -1314,10 +1317,6 @@ Bus grąžinami įrašai tik su ta pačia schema (http://, https://, ftp://, ...
|
||||
<source>Sort matching entries by &username</source>
|
||||
<translation>Rikiuoti atitinkančius įrašus pagal na&udotojo vardą</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>R&emove all shared encryption-keys from active database</source>
|
||||
<translation>Ša&linti iš aktyvios duomenų bazės visus bendrinamus šifravimo raktus</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Re&move all stored permissions from entries in active database</source>
|
||||
<translation>Šal&inti iš įrašų aktyvioje duomenų bazėje visus saugomus leidimus</translation>
|
||||
@ -1330,10 +1329,6 @@ Bus grąžinami įrašai tik su ta pačia schema (http://, https://, ftp://, ...
|
||||
<source>Advanced</source>
|
||||
<translation>Išplėstiniai</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Activate the following only, if you know what you are doing!</source>
|
||||
<translation>Aktyvuokite tai tik tuo atveju, jeigu žinote ką darote!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Always allow &access to entries</source>
|
||||
<translation>Visada leisti &prieigą prie įrašų</translation>
|
||||
@ -1350,14 +1345,6 @@ Bus grąžinami įrašai tik su ta pačia schema (http://, https://, ftp://, ...
|
||||
<source>Only the selected database has to be connected with a client!</source>
|
||||
<translation>Su klientu turi būti sujungta tik pasirinkta duomenų bazė!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Return also advanced string fields which start with "KPH: "</source>
|
||||
<translation>&Taip pat grąžinti ir išplėstines eilutes, kurios prasideda "KPH: "</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Automatic creates or updates are not supported for string fields!</source>
|
||||
<translation>Šiems eilutės laukams automatiniai kūrimai ir atnaujinimai neprieinami!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HTTP Port:</source>
|
||||
<translation>HTTP prievadas:</translation>
|
||||
@ -1394,6 +1381,28 @@ Using default port 19455.</source>
|
||||
<translation>Nepavyksta susieti su privilegijuotais prievadais žemiau 1024!
|
||||
Naudojamas numatytasis prievadas 19455.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Return only best matching entries for a URL instead
|
||||
of all entries for the whole domain</source>
|
||||
<translation>&Vietoj visų įrašų, skirtų visai sričiai,
|
||||
grąžinti tik geriausiai atitinkančius įrašus, skirtus URL</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>R&emove all shared encryption keys from active database</source>
|
||||
<translation>Ša&linti iš aktyvios duomenų bazės visus bendrinamus šifravimo raktus</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The following options can be dangerous. Change them only if you know what you are doing.</source>
|
||||
<translation>Šios parinktys gali būti pavojingos. Keiskite jas tik tuo atveju, jeigu žinote ką darote!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Return advanced string fields which start with "KPH: "</source>
|
||||
<translation>&Grąžinti išplėstines eilutes, kurios prasideda "KPH: "</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Automatically creating or updating string fields is not supported.</source>
|
||||
<translation>Automatinis eilutės laukų kūrimas ar atnaujinimas nėra palaikomas.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>PasswordGeneratorWidget</name>
|
||||
@ -1463,7 +1472,7 @@ Naudojamas numatytasis prievadas 19455.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Entropy: %1 bit</source>
|
||||
<translation>Entropija: %1 bit</translation>
|
||||
<translation>Entropija: %1 bitų</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Password Quality: %1</source>
|
||||
@ -1535,7 +1544,7 @@ Naudojamas numatytasis prievadas 19455.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Search</source>
|
||||
<translation>Ieškoti</translation>
|
||||
<translation>Paieška</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Find</source>
|
||||
@ -1771,10 +1780,6 @@ ir priimtumėte jį.</translation>
|
||||
<source>key file of the database</source>
|
||||
<translation>duomenų bazės rakto failas</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>filename(s) of the password database(s) to open (*.kdbx)</source>
|
||||
<translation>norimos atverti slaptažodžių duomenų bazės(-ių) failo pavadinimas(-ai) (*.kdbx)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>KeePassXC - cross-platform password manager</source>
|
||||
<translation>KeePassXC - daugiaplatformė slaptažodžių tvarkytuvė</translation>
|
||||
@ -1783,5 +1788,9 @@ ir priimtumėte jį.</translation>
|
||||
<source>read password of the database from stdin</source>
|
||||
<translation>nuskaityti duomenų bazės slaptažodį iš stdin</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>filenames of the password databases to open (*.kdbx)</source>
|
||||
<translation>norimų atverti slaptažodžių duomenų bazių failų pavadinimai (*.kdbx)</translation>
|
||||
</message>
|
||||
</context>
|
||||
</TS>
|
File diff suppressed because it is too large
Load Diff
@ -1,5 +1,5 @@
|
||||
name: keepassxc
|
||||
version: 2.1.0
|
||||
version: 2.1.3
|
||||
grade: stable
|
||||
summary: community driven port of the windows application “Keepass Password Safe”
|
||||
description: |
|
||||
@ -11,7 +11,7 @@ confinement: strict
|
||||
apps:
|
||||
keepassxc:
|
||||
command: desktop-launch keepassxc
|
||||
plugs: [unity7, opengl, gsettings, home]
|
||||
plugs: [unity7, opengl, gsettings, home, network, network-bind]
|
||||
|
||||
parts:
|
||||
keepassxc:
|
||||
@ -21,6 +21,7 @@ parts:
|
||||
- -DCMAKE_BUILD_TYPE=Release
|
||||
- -DWITH_TESTS=OFF
|
||||
- -DWITH_XC_AUTOTYPE=ON
|
||||
- -DWITH_XC_HTTP=ON
|
||||
build-packages:
|
||||
- g++
|
||||
- libgcrypt20-dev
|
||||
|
@ -204,7 +204,24 @@ if (UNIX AND NOT APPLE)
|
||||
target_link_libraries(keepassx_core Qt5::DBus)
|
||||
endif()
|
||||
|
||||
add_executable(${PROGNAME} WIN32 MACOSX_BUNDLE ${keepassx_SOURCES_MAINEXE})
|
||||
if(MINGW)
|
||||
string(REPLACE "." ";" VERSION_LIST ${KEEPASSXC_VERSION})
|
||||
list(GET VERSION_LIST 0 KEEPASSXC_VERSION_MAJOR)
|
||||
list(GET VERSION_LIST 1 KEEPASSXC_VERSION_MINOR)
|
||||
list(GET VERSION_LIST 2 KEEPASSXC_VERSION_PATCH)
|
||||
|
||||
include(GenerateProductVersion)
|
||||
generate_product_version(
|
||||
WIN32_ProductVersionFiles
|
||||
NAME "KeePassXC"
|
||||
COMPANY_NAME "KeePassXC Team"
|
||||
VERSION_MAJOR ${KEEPASSXC_VERSION_MAJOR}
|
||||
VERSION_MINOR ${KEEPASSXC_VERSION_MINOR}
|
||||
VERSION_PATCH ${KEEPASSXC_VERSION_PATCH}
|
||||
)
|
||||
endif()
|
||||
|
||||
add_executable(${PROGNAME} WIN32 MACOSX_BUNDLE ${keepassx_SOURCES_MAINEXE} ${WIN32_ProductVersionFiles})
|
||||
target_link_libraries(${PROGNAME} keepassx_core)
|
||||
|
||||
set_target_properties(${PROGNAME} PROPERTIES ENABLE_EXPORTS ON)
|
||||
|
@ -21,6 +21,7 @@
|
||||
#include <QLockFile>
|
||||
#include <QSaveFile>
|
||||
#include <QTabWidget>
|
||||
#include <QPushButton>
|
||||
|
||||
#include "autotype/AutoType.h"
|
||||
#include "core/Config.h"
|
||||
@ -157,21 +158,29 @@ void DatabaseTabWidget::openDatabase(const QString& fileName, const QString& pw,
|
||||
// for now silently ignore if we can't create a lock file
|
||||
// due to lack of permissions
|
||||
if (lockFile->error() != QLockFile::PermissionError) {
|
||||
QMessageBox::StandardButton result = MessageBox::question(this, tr("Open database"),
|
||||
tr("The database you are trying to open is locked by another instance of KeePassXC.\n"
|
||||
"Do you want to open it anyway? Alternatively the database is opened read-only."),
|
||||
QMessageBox::Yes | QMessageBox::No);
|
||||
QMessageBox msgBox;
|
||||
msgBox.setWindowTitle(tr("Database already opened"));
|
||||
msgBox.setText(tr("The database you are trying to open is locked by another instance of KeePassXC.\n\n"
|
||||
"Do you want to open it anyway?"));
|
||||
msgBox.setIcon(QMessageBox::Question);
|
||||
msgBox.addButton(QMessageBox::Yes);
|
||||
msgBox.addButton(QMessageBox::No);
|
||||
auto readOnlyButton = msgBox.addButton(tr("Open read-only"), QMessageBox::NoRole);
|
||||
msgBox.setDefaultButton(readOnlyButton);
|
||||
msgBox.setEscapeButton(QMessageBox::No);
|
||||
auto result = msgBox.exec();
|
||||
|
||||
if (result == QMessageBox::No) {
|
||||
if (msgBox.clickedButton() == readOnlyButton) {
|
||||
dbStruct.readOnly = true;
|
||||
delete lockFile;
|
||||
lockFile = nullptr;
|
||||
}
|
||||
else {
|
||||
} else if (result == QMessageBox::Yes) {
|
||||
// take over the lock file if possible
|
||||
if (lockFile->removeStaleLockFile()) {
|
||||
lockFile->tryLock();
|
||||
}
|
||||
} else {
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1061,8 +1061,7 @@ void DatabaseWidget::reloadDatabaseFile()
|
||||
// Merge the old database into the new one
|
||||
m_db->setEmitModified(false);
|
||||
db->merge(m_db);
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
// Since we are accepting the new file as-is, internally mark as unmodified
|
||||
// TODO: when saving is moved out of DatabaseTabWidget, this should be replaced
|
||||
m_databaseModified = false;
|
||||
@ -1086,16 +1085,9 @@ void DatabaseWidget::reloadDatabaseFile()
|
||||
restoreGroupEntryFocus(groupBeforeReload, entryBeforeReload);
|
||||
|
||||
}
|
||||
else {
|
||||
MessageBox::critical(this, tr("Autoreload Failed"),
|
||||
tr("Could not parse or unlock the new database file while attempting"
|
||||
" to autoreload this database."));
|
||||
}
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
MessageBox::critical(this, tr("Autoreload Failed"),
|
||||
tr("Could not open the new database file while attempting to autoreload"
|
||||
" this database."));
|
||||
tr("Could not open the new database file while attempting to autoreload this database."));
|
||||
}
|
||||
|
||||
// Rewatch the database file
|
||||
|
@ -282,6 +282,10 @@ MainWindow::MainWindow()
|
||||
|
||||
connect(m_ui->actionAbout, SIGNAL(triggered()), SLOT(showAboutDialog()));
|
||||
|
||||
#ifdef Q_OS_MAC
|
||||
setUnifiedTitleAndToolBarOnMac(true);
|
||||
#endif
|
||||
|
||||
updateTrayIcon();
|
||||
}
|
||||
|
||||
@ -559,7 +563,7 @@ void MainWindow::closeEvent(QCloseEvent* event)
|
||||
if (minimizeOnClose && !appExitCalled)
|
||||
{
|
||||
event->ignore();
|
||||
toggleWindow();
|
||||
hideWindow();
|
||||
|
||||
if (config()->get("security/lockdatabaseminimize").toBool()) {
|
||||
m_ui->tabWidget->lockDatabases();
|
||||
@ -724,22 +728,27 @@ void MainWindow::trayIconTriggered(QSystemTrayIcon::ActivationReason reason)
|
||||
}
|
||||
}
|
||||
|
||||
void MainWindow::hideWindow()
|
||||
{
|
||||
setWindowState(windowState() | Qt::WindowMinimized);
|
||||
QTimer::singleShot(0, this, SLOT(hide()));
|
||||
|
||||
if (config()->get("security/lockdatabaseminimize").toBool()) {
|
||||
m_ui->tabWidget->lockDatabases();
|
||||
}
|
||||
}
|
||||
|
||||
void MainWindow::toggleWindow()
|
||||
{
|
||||
if ((QApplication::activeWindow() == this) && isVisible() && !isMinimized()) {
|
||||
setWindowState(windowState() | Qt::WindowMinimized);
|
||||
QTimer::singleShot(0, this, SLOT(hide()));
|
||||
|
||||
if (config()->get("security/lockdatabaseminimize").toBool()) {
|
||||
m_ui->tabWidget->lockDatabases();
|
||||
}
|
||||
hideWindow();
|
||||
} else {
|
||||
ensurePolished();
|
||||
setWindowState(windowState() & ~Qt::WindowMinimized);
|
||||
show();
|
||||
raise();
|
||||
activateWindow();
|
||||
|
||||
|
||||
#if defined(Q_OS_LINUX) && ! defined(QT_NO_DBUS)
|
||||
// re-register global D-Bus menu (needed on Ubuntu with Unity)
|
||||
// see https://github.com/keepassxreboot/keepassxc/issues/271
|
||||
|
@ -68,6 +68,7 @@ private Q_SLOTS:
|
||||
void rememberOpenDatabases(const QString& filePath);
|
||||
void applySettingsChanges();
|
||||
void trayIconTriggered(QSystemTrayIcon::ActivationReason reason);
|
||||
void hideWindow();
|
||||
void toggleWindow();
|
||||
void lockDatabasesAfterInactivity();
|
||||
void repairDatabase();
|
||||
|
@ -45,7 +45,7 @@ This is required for accessing your databases from ChromeIPass or PassIFox</stri
|
||||
<item>
|
||||
<widget class="QCheckBox" name="bestMatchOnly">
|
||||
<property name="text">
|
||||
<string>&Return only best matching entries for an URL instead
|
||||
<string>&Return only best matching entries for a URL instead
|
||||
of all entries for the whole domain</string>
|
||||
</property>
|
||||
</widget>
|
||||
@ -82,7 +82,7 @@ Only entries with the same scheme (http://, https://, ftp://, ...) are returned<
|
||||
<item>
|
||||
<widget class="QPushButton" name="removeSharedEncryptionKeys">
|
||||
<property name="text">
|
||||
<string>R&emove all shared encryption-keys from active database</string>
|
||||
<string>R&emove all shared encryption keys from active database</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@ -148,7 +148,7 @@ Only entries with the same scheme (http://, https://, ftp://, ...) are returned<
|
||||
<string notr="true">color: rgb(255, 0, 0);</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Activate the following only, if you know what you are doing!</string>
|
||||
<string>The following options can be dangerous. Change them only if you know what you are doing.</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@ -186,14 +186,14 @@ Only entries with the same scheme (http://, https://, ftp://, ...) are returned<
|
||||
<item>
|
||||
<widget class="QCheckBox" name="supportKphFields">
|
||||
<property name="text">
|
||||
<string>&Return also advanced string fields which start with "KPH: "</string>
|
||||
<string>&Return advanced string fields which start with "KPH: "</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="label_2">
|
||||
<property name="text">
|
||||
<string>Automatic creates or updates are not supported for string fields!</string>
|
||||
<string>Automatically creating or updating string fields is not supported.</string>
|
||||
</property>
|
||||
<property name="indent">
|
||||
<number>30</number>
|
||||
|
@ -110,7 +110,7 @@ static QByteArray encrypt2(const QByteArray & data, SymmetricCipherGcrypt & ciph
|
||||
//Encrypt
|
||||
QByteArray buffer = data + QByteArray(paddingSize, paddingSize);
|
||||
cipher.reset();
|
||||
cipher.processInPlace(buffer);
|
||||
Q_UNUSED(cipher.processInPlace(buffer));
|
||||
return buffer;
|
||||
}
|
||||
|
||||
|
@ -91,7 +91,7 @@ typedef int (*http_cb) (http_parser*);
|
||||
|
||||
|
||||
/* Status Codes */
|
||||
#define HTTP_STATUS_MAP(XX) \
|
||||
#define HTTPPARSER_HTTP_STATUS_MAP(XX) \
|
||||
XX(100, CONTINUE, Continue) \
|
||||
XX(101, SWITCHING_PROTOCOLS, Switching Protocols) \
|
||||
XX(102, PROCESSING, Processing) \
|
||||
@ -150,12 +150,12 @@ typedef int (*http_cb) (http_parser*);
|
||||
XX(507, INSUFFICIENT_STORAGE, Insufficient Storage) \
|
||||
XX(508, LOOP_DETECTED, Loop Detected) \
|
||||
XX(510, NOT_EXTENDED, Not Extended) \
|
||||
XX(511, NETWORK_AUTHENTICATION_REQUIRED, Network Authentication Required) \
|
||||
XX(511, NETWORK_AUTHENTICATION_REQUIRED, Network Authentication Required)
|
||||
|
||||
enum http_status
|
||||
{
|
||||
#define XX(num, name, string) HTTP_STATUS_##name = num,
|
||||
HTTP_STATUS_MAP(XX)
|
||||
HTTPPARSER_HTTP_STATUS_MAP(XX)
|
||||
#undef XX
|
||||
};
|
||||
|
||||
|
@ -41,7 +41,7 @@ public:
|
||||
if ( !icollectRequired ) // not allowed to collect data
|
||||
return false;
|
||||
|
||||
int newLength = icollectedData.length() + (int) length;
|
||||
int newLength = icollectedData.length() + static_cast<int>(length);
|
||||
|
||||
if ( icollectCapacity > 0 && newLength > icollectCapacity )
|
||||
return false; // the capacity is full
|
||||
|
@ -112,7 +112,7 @@ protected:
|
||||
void onReadyRead() {
|
||||
while ( isocket.bytesAvailable() > 0 ) {
|
||||
char buffer[4097] = {0};
|
||||
size_t readLength = (size_t) isocket.readRaw(buffer, 4096);
|
||||
size_t readLength = static_cast<size_t>(isocket.readRaw(buffer, 4096));
|
||||
|
||||
parse(buffer, readLength);
|
||||
}
|
||||
|
@ -42,7 +42,7 @@ public:
|
||||
|
||||
// if it's a QLocalServer
|
||||
virtual void incomingConnection(quintptr socketDescriptor) {
|
||||
iserver->incomingConnection((qintptr) socketDescriptor);
|
||||
iserver->incomingConnection(static_cast<qintptr>(socketDescriptor));
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -83,7 +83,7 @@ public:
|
||||
void onReadyRead() {
|
||||
while ( isocket.bytesAvailable() > 0 ) {
|
||||
char buffer[4097] = {0};
|
||||
size_t readLength = (size_t) isocket.readRaw(buffer, 4096);
|
||||
size_t readLength = static_cast<size_t>(isocket.readRaw(buffer, 4096));
|
||||
|
||||
parse(buffer, readLength);
|
||||
}
|
||||
|
@ -8,7 +8,7 @@ namespace qhttp {
|
||||
# error "to compile QHttp classes, Qt 5.0 or later is needed."
|
||||
#endif
|
||||
|
||||
#define HTTP_STATUS_MAP(XX) \
|
||||
#define QHTTPABSTRACTS_HTTP_STATUS_MAP(XX) \
|
||||
XX(100, "Continue") \
|
||||
XX(101, "Switching Protocols") \
|
||||
/* RFC 2518) obsoleted by RFC 4918 */ \
|
||||
@ -78,7 +78,7 @@ static struct {
|
||||
int code;
|
||||
const char* message;
|
||||
} g_status_codes[] {
|
||||
HTTP_STATUS_MAP(PATCH_STATUS_CODES)
|
||||
QHTTPABSTRACTS_HTTP_STATUS_MAP(PATCH_STATUS_CODES)
|
||||
};
|
||||
#undef PATCH_STATUS_CODES
|
||||
|
||||
|
@ -18,7 +18,6 @@
|
||||
#include <QCommandLineParser>
|
||||
#include <QFile>
|
||||
#include <QTextStream>
|
||||
#include <QtGlobal>
|
||||
|
||||
#include "config-keepassx.h"
|
||||
#include "core/Config.h"
|
||||
@ -45,10 +44,7 @@ int main(int argc, char** argv)
|
||||
Tools::disableCoreDumps();
|
||||
#endif
|
||||
Tools::setupSearchPaths();
|
||||
|
||||
#if QT_VERSION >= QT_VERSION_CHECK(5, 6, 0)
|
||||
QApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
|
||||
#endif
|
||||
|
||||
Application app(argc, argv);
|
||||
Application::setApplicationName("keepassxc");
|
||||
Application::setApplicationVersion(KEEPASSX_VERSION);
|
||||
@ -68,7 +64,7 @@ int main(int argc, char** argv)
|
||||
|
||||
QCommandLineParser parser;
|
||||
parser.setApplicationDescription(QCoreApplication::translate("main", "KeePassXC - cross-platform password manager"));
|
||||
parser.addPositionalArgument("filename", QCoreApplication::translate("main", "filename(s) of the password database(s) to open (*.kdbx)"), "[filename(s)]");
|
||||
parser.addPositionalArgument("filename", QCoreApplication::translate("main", "filenames of the password databases to open (*.kdbx)"), "[filename(s)]");
|
||||
|
||||
QCommandLineOption configOption("config",
|
||||
QCoreApplication::translate("main", "path to a custom config file"),
|
||||
|
@ -496,7 +496,7 @@ typedef struct
|
||||
uint8_t LeetCnv[sizeof L33TCnv / LEET_NORM_MAP_SIZE + 1];
|
||||
/* uint8_t LeetChr[3]; */
|
||||
uint8_t First;
|
||||
uint8_t PossChars[48];
|
||||
uint8_t PossChars[49];
|
||||
} DictWork_t;
|
||||
|
||||
/**********************************************************************************
|
||||
|
Loading…
Reference in New Issue
Block a user