Skip to content

Commit

Permalink
Merge pull request #16 from cthoeing/v3.5.5
Browse files Browse the repository at this point in the history
Version 3.5.5
  • Loading branch information
cthoeing authored Jun 26, 2024
2 parents d8081e3 + 5bcc32d commit 65efe2c
Show file tree
Hide file tree
Showing 45 changed files with 1,114 additions and 441 deletions.
98 changes: 82 additions & 16 deletions PwTech.cbproj
Original file line number Diff line number Diff line change
Expand Up @@ -161,13 +161,13 @@
<Icon_MainIcon>graphics\pwtech.ico</Icon_MainIcon>
<Defines>LUA_INT_TYPE=1;$(Defines)</Defines>
<VerInfo_MajorVer>3</VerInfo_MajorVer>
<VerInfo_Keys>CompanyName=;FileDescription=Password Tech executable;FileVersion=3.5.4.0;InternalName=;LegalCopyright=Copyright 2002-2023 by Christian Thöing;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=Password Tech;ProductVersion=3.5.4;Comments=</VerInfo_Keys>
<VerInfo_Keys>CompanyName=;FileDescription=Password Tech executable;FileVersion=3.5.5.0;InternalName=;LegalCopyright=Copyright 2002-2023 by Christian Thöing;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=Password Tech;ProductVersion=3.5.5;Comments=</VerInfo_Keys>
<AppDPIAwarenessMode>PerMonitorV2</AppDPIAwarenessMode>
<BCC_UseClassicCompiler>false</BCC_UseClassicCompiler>
<VerInfo_MinorVer>5</VerInfo_MinorVer>
<BT_BuildType>Debug</BT_BuildType>
<BCC_OptimizeMaximum>true</BCC_OptimizeMaximum>
<VerInfo_Release>4</VerInfo_Release>
<VerInfo_Release>5</VerInfo_Release>
<BCC_OptimizeForSpeed>false</BCC_OptimizeForSpeed>
<BCC_StackFrames>true</BCC_StackFrames>
</PropertyGroup>
Expand All @@ -176,18 +176,42 @@
<Manifest_File>$(BDS)\bin\default_app.manifest</Manifest_File>
<AppDPIAwarenessMode>PerMonitorV2</AppDPIAwarenessMode>
<VerInfo_IncludeVerInfo>true</VerInfo_IncludeVerInfo>
<Icon_MainIcon>pwtech.ico</Icon_MainIcon>
<Icon_MainIcon>PwTech_Icon.ico</Icon_MainIcon>
<VerInfo_MajorVer>3</VerInfo_MajorVer>
<VerInfo_MinorVer>5</VerInfo_MinorVer>
<UsePackages>false</UsePackages>
<LinkPackageStatics>rtl.lib;vcl.lib;bcbsmp.lib;vclx.lib;vclimg.lib;vclwinx.lib;bindengine.lib;dbrtl.lib;dsnap.lib</LinkPackageStatics>
<BT_BuildType>Debug</BT_BuildType>
<BCC_OptimizeMaximum>true</BCC_OptimizeMaximum>
<BCC_OptimizeForSpeed>false</BCC_OptimizeForSpeed>
<VerInfo_Release>4</VerInfo_Release>
<VerInfo_Keys>CompanyName=;FileDescription=Password Tech executable;FileVersion=3.5.4.0;InternalName=;LegalCopyright=Copyright (c) 2002-2024 Christian Thöing;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=3.5.4;Comments=</VerInfo_Keys>
<VerInfo_Release>5</VerInfo_Release>
<VerInfo_Keys>CompanyName=;FileDescription=Password Tech executable;FileVersion=3.5.5.0;InternalName=;LegalCopyright=Copyright (c) 2002-2024 Christian Thöing;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=3.5.5;Comments=</VerInfo_Keys>
</PropertyGroup>
<ItemGroup>
<RcItem Include="graphics\pwtech_default.ico">
<ResourceType>ICON</ResourceType>
<ResourceId>A</ResourceId>
</RcItem>
<RcItem Include="graphics\pwtech_icon_blue.ico">
<ResourceType>ICON</ResourceType>
<ResourceId>Icon_Blue</ResourceId>
</RcItem>
<RcItem Include="graphics\pwtech_icon_colored.ico">
<ResourceType>ICON</ResourceType>
<ResourceId>Icon_Colors</ResourceId>
</RcItem>
<RcItem Include="graphics\pwtech_icon_green.ico">
<ResourceType>ICON</ResourceType>
<ResourceId>Icon_Green</ResourceId>
</RcItem>
<RcItem Include="graphics\pwtech_icon_orange.ico">
<ResourceType>ICON</ResourceType>
<ResourceId>Icon_Orange</ResourceId>
</RcItem>
<RcItem Include="graphics\pwtech_icon_red.ico">
<ResourceType>ICON</ResourceType>
<ResourceId>Icon_Red</ResourceId>
</RcItem>
<CppCompile Include="PwTech.cpp">
<BuildOrder>0</BuildOrder>
</CppCompile>
Expand Down Expand Up @@ -564,25 +588,25 @@
<CppCompile Include="src\zxcvbn\zxcvbn.cpp">
<BuildOrder>90</BuildOrder>
</CppCompile>
<FormResources Include="src\main\PasswManager.dfm"/>
<FormResources Include="src\main\PasswMngColSelect.dfm"/>
<FormResources Include="src\main\PasswMngDbProp.dfm"/>
<FormResources Include="src\main\MPPasswGen.dfm"/>
<FormResources Include="src\main\PasswEnter.dfm"/>
<FormResources Include="src\main\PasswList.dfm"/>
<FormResources Include="src\main\PasswOptions.dfm"/>
<FormResources Include="src\main\ProfileEditor.dfm"/>
<FormResources Include="src\main\Progress.dfm"/>
<FormResources Include="src\main\PasswMngDbSettings.dfm"/>
<FormResources Include="src\main\PasswManager.dfm"/>
<FormResources Include="src\main\Main.dfm"/>
<FormResources Include="src\main\MPPasswGen.dfm"/>
<FormResources Include="src\main\PasswMngKeyValEdit.dfm"/>
<FormResources Include="src\main\PasswMngPwHistory.dfm"/>
<FormResources Include="src\main\About.dfm"/>
<FormResources Include="src\main\CharSetBuilder.dfm"/>
<FormResources Include="src\main\PasswOptions.dfm"/>
<FormResources Include="src\main\PasswMngColSelect.dfm"/>
<FormResources Include="src\main\PasswMngDbProp.dfm"/>
<FormResources Include="src\main\PasswMngDbSettings.dfm"/>
<FormResources Include="src\main\InfoBox.dfm"/>
<FormResources Include="src\main\Main.dfm"/>
<FormResources Include="src\main\Configuration.dfm"/>
<FormResources Include="src\main\CreateRandDataFile.dfm"/>
<FormResources Include="src\main\CreateTrigramFile.dfm"/>
<FormResources Include="src\main\About.dfm"/>
<FormResources Include="src\main\CharSetBuilder.dfm"/>
<FormResources Include="src\main\ProfileEditor.dfm"/>
<FormResources Include="src\main\Progress.dfm"/>
<FormResources Include="src\main\ProvideEntropy.dfm"/>
<FormResources Include="src\main\QuickHelp.dfm"/>
<BuildConfiguration Include="Base">
Expand Down Expand Up @@ -700,8 +724,50 @@
</Platform>
</DeployFile>
<DeployFile LocalName=".\Win64\Release\PwTech.exe" Configuration="Release" Class="ProjectOutput"/>
<DeployFile LocalName=".\Win64\Release\PwTech.exe" Configuration="Release" Class="ProjectOutput">
<Platform Name="Win64">
<RemoteName>PwTech.exe</RemoteName>
<Overwrite>true</Overwrite>
</Platform>
</DeployFile>
<DeployFile LocalName="chacha.c" Configuration="Release" Class="ProjectFile"/>
<DeployFile LocalName="diceware8k.c" Configuration="Release" Class="ProjectFile"/>
<DeployFile LocalName="graphics\pwtech_default.ico" Configuration="Release" Class="ProjectFile">
<Platform Name="Win64">
<RemoteDir>.\</RemoteDir>
<Overwrite>true</Overwrite>
</Platform>
</DeployFile>
<DeployFile LocalName="graphics\pwtech_icon_blue.ico" Configuration="Release" Class="ProjectFile">
<Platform Name="Win64">
<RemoteDir>.\</RemoteDir>
<Overwrite>true</Overwrite>
</Platform>
</DeployFile>
<DeployFile LocalName="graphics\pwtech_icon_colored.ico" Configuration="Release" Class="ProjectFile">
<Platform Name="Win64">
<RemoteDir>.\</RemoteDir>
<Overwrite>true</Overwrite>
</Platform>
</DeployFile>
<DeployFile LocalName="graphics\pwtech_icon_green.ico" Configuration="Release" Class="ProjectFile">
<Platform Name="Win64">
<RemoteDir>.\</RemoteDir>
<Overwrite>true</Overwrite>
</Platform>
</DeployFile>
<DeployFile LocalName="graphics\pwtech_icon_orange.ico" Configuration="Release" Class="ProjectFile">
<Platform Name="Win64">
<RemoteDir>.\</RemoteDir>
<Overwrite>true</Overwrite>
</Platform>
</DeployFile>
<DeployFile LocalName="graphics\pwtech_icon_red.ico" Configuration="Release" Class="ProjectFile">
<Platform Name="Win64">
<RemoteDir>.\</RemoteDir>
<Overwrite>true</Overwrite>
</Platform>
</DeployFile>
<DeployFile LocalName="lua\lapi.c" Configuration="Release" Class="ProjectFile"/>
<DeployFile LocalName="lua\lauxlib.c" Configuration="Release" Class="ProjectFile"/>
<DeployFile LocalName="lua\lbaselib.c" Configuration="Release" Class="ProjectFile"/>
Expand Down
47 changes: 36 additions & 11 deletions PwTech.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -10,25 +10,25 @@
//---------------------------------------------------------------------------
#include <Vcl.Styles.hpp>
#include <Vcl.Themes.hpp>
USEFORM("src\main\PasswManager.cpp", PasswMngForm);
USEFORM("src\main\PasswMngColSelect.cpp", PasswMngColDlg);
USEFORM("src\main\PasswMngDbProp.cpp", PasswMngDbPropDlg);
USEFORM("src\main\MPPasswGen.cpp", MPPasswGenForm);
USEFORM("src\main\PasswEnter.cpp", PasswEnterDlg);
USEFORM("src\main\PasswList.cpp", PasswListForm);
USEFORM("src\main\PasswOptions.cpp", PasswOptionsDlg);
USEFORM("src\main\ProfileEditor.cpp", ProfileEditDlg);
USEFORM("src\main\Progress.cpp", ProgressForm);
USEFORM("src\main\PasswMngDbSettings.cpp", PasswDbSettingsDlg);
USEFORM("src\main\PasswManager.cpp", PasswMngForm);
USEFORM("src\main\Main.cpp", MainForm);
USEFORM("src\main\MPPasswGen.cpp", MPPasswGenForm);
USEFORM("src\main\PasswMngKeyValEdit.cpp", PasswMngKeyValDlg);
USEFORM("src\main\PasswMngPwHistory.cpp", PasswHistoryDlg);
USEFORM("src\main\About.cpp", AboutForm);
USEFORM("src\main\CharSetBuilder.cpp", CharSetBuilderForm);
USEFORM("src\main\PasswOptions.cpp", PasswOptionsDlg);
USEFORM("src\main\PasswMngColSelect.cpp", PasswMngColDlg);
USEFORM("src\main\PasswMngDbProp.cpp", PasswMngDbPropDlg);
USEFORM("src\main\PasswMngDbSettings.cpp", PasswDbSettingsDlg);
USEFORM("src\main\InfoBox.cpp", InfoBoxForm);
USEFORM("src\main\Main.cpp", MainForm);
USEFORM("src\main\Configuration.cpp", ConfigurationDlg);
USEFORM("src\main\CreateRandDataFile.cpp", CreateRandDataFileDlg);
USEFORM("src\main\CreateTrigramFile.cpp", CreateTrigramFileDlg);
USEFORM("src\main\About.cpp", AboutForm);
USEFORM("src\main\CharSetBuilder.cpp", CharSetBuilderForm);
USEFORM("src\main\ProfileEditor.cpp", ProfileEditDlg);
USEFORM("src\main\Progress.cpp", ProgressForm);
USEFORM("src\main\ProvideEntropy.cpp", ProvideEntropyDlg);
USEFORM("src\main\QuickHelp.cpp", QuickHelpForm);
//---------------------------------------------------------------------------
Expand Down Expand Up @@ -144,6 +144,18 @@ int WINAPI _tWinMain(HINSTANCE, HINSTANCE, LPTSTR, int)
if (g_sAppDataPath.IsEmpty())
g_sAppDataPath = g_sExePath;

AnsiString asDonorKey = g_pIni->ReadString("Main", "DonorKey", "");
if (!asDonorKey.IsEmpty()) {
auto result = CheckDonorKey(asDonorKey);

g_donorInfo.Valid = std::get<0>(result);
if (g_donorInfo.Valid == DONOR_KEY_VALID) {
g_donorInfo.Key = asDonorKey.Trim();
g_donorInfo.Id = std::get<2>(result);
g_donorInfo.Type = std::get<1>(result);
}
}

const WString DEFAULT_STYLE_NAME = "Windows";

g_config.UiStyleName = DEFAULT_STYLE_NAME;
Expand All @@ -155,6 +167,19 @@ int WINAPI _tWinMain(HINSTANCE, HINSTANCE, LPTSTR, int)
g_config.UiStyleName = sStyleName;
}

WString sAppIconName = g_pIni->ReadString("Main", "AppIcon", WString());
if (!sAppIconName.IsEmpty() && g_donorInfo.Valid == DONOR_KEY_VALID) {
auto it = std::find_if(AppIconNames.begin(), AppIconNames.end(),
[&sAppIconName](const std::pair<WString,WString>& p)
{ return p.first == sAppIconName; });
if (it != AppIconNames.end()) {
g_config.AppIconName = sAppIconName;
if (it != AppIconNames.begin())
Application->Icon->LoadFromResourceName(reinterpret_cast<NativeUInt>(
HInstance), it->second);
}
}

Application->CreateForm(__classid(TMainForm), &MainForm);
Application->CreateForm(__classid(TAboutForm), &AboutForm);
Application->CreateForm(__classid(TConfigurationDlg), &ConfigurationDlg);
Expand Down
6 changes: 6 additions & 0 deletions PwTech_resources.rc
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
A ICON "graphics\\pwtech_default.ico"
Icon_Blue ICON "graphics\\pwtech_icon_blue.ico"
Icon_Colors ICON "graphics\\pwtech_icon_colored.ico"
Icon_Green ICON "graphics\\pwtech_icon_green.ico"
Icon_Orange ICON "graphics\\pwtech_icon_orange.ico"
Icon_Red ICON "graphics\\pwtech_icon_red.ico"
27 changes: 26 additions & 1 deletion changes.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,32 @@
Copyright (c) 2002-2024 by Christian Thöing


Version 3.5.4
Version 3.5.5

NEW FEATURES:

- Advanced Password Options: New option "Remove leading and trailing whitespace
characters" to remove space and tab characters at the beginning and end of
passwords
- Configuration | General: New option "Application icon" to change PwTech's
icon displayed on the task bar, system tray, etc. during runtime
- Configuration | Language: New "Install" and "Remove" buttons to add or
remove language files to/from the current PwTech installation

CHANGES & IMPROVEMENTS:

- Language files can also be copied to the "AppData" folder (usually
"C:\Users\{user}\AppData\Roaming\Password Tech"), which makes it easier
to install new languages if PwTech has been installed to the "Program Files"
folder (which usually requires admin privileges for write access)

FIXES:

- PO language files with empty fields in header not loaded properly

----------

Version 3.5.4 (2024-02-14)

NEW FEATURES:

Expand Down
Binary file added graphics/pwtech_default.ico
Binary file not shown.
Binary file added graphics/pwtech_icon_blue.ico
Binary file not shown.
Binary file added graphics/pwtech_icon_colored.ico
Binary file not shown.
Binary file added graphics/pwtech_icon_green.ico
Binary file not shown.
Binary file added graphics/pwtech_icon_orange.ico
Binary file not shown.
Binary file added graphics/pwtech_icon_red.ico
Binary file not shown.
57 changes: 55 additions & 2 deletions languages/English.pot
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,9 @@
# for floating point numbers, "%s" for strings, etc.), and the original strings
# are still provided in the old format to avoid merge conflicts when updating
# existing translations.

msgid ""
msgstr ""
"Project-Id-Version: Password Tech 3.5.4\n"
"Project-Id-Version: Password Tech 3.5.5\n"
"POT-Creation-Date: \n"
"PO-Revision-Date: \n"
"Last-Translator: \n"
Expand Down Expand Up @@ -1016,6 +1015,10 @@ msgstr ""
msgid "User interface style:"
msgstr ""

#. Configuration window, General
msgid "Application icon:"
msgstr ""

#. Configuration window, General
msgid "Change font for the GUI controls:"
msgstr ""
Expand Down Expand Up @@ -1192,6 +1195,52 @@ msgstr ""
msgid "Select language:"
msgstr ""

#. Configuration window, Language
msgid "Install..."
msgstr ""

#. Configuration window, Language, Install
msgid "Language already installed"
msgstr ""

#. Configuration window, Language, Install
msgid ""
"Language file already exists:\n"
"\"%1\""
msgstr ""

#. Configuration window, Language, Install
msgid "Language \"%1\" installed successfully."
msgstr ""

#. Configuration window, Language, Install
msgid ""
"Could not copy file \"%1\" to\n"
"\"%2\""
msgstr ""

#. Configuration window, Language, Install
msgid ""
"Could not install language:\n"
"%1."
msgstr ""

#. Configuration window, Language, Remove
msgid ""
"Are you sure you want to remove\n"
"\"%1\"?"
msgstr ""

#. Configuration window, Language, Remove
msgid "Language \"%1\" successfully removed."
msgstr ""

#. Configuration window, Language, Remove
msgid ""
"Could not delete file\n"
"\"%1\"."
msgstr ""

#. Configuration window, Database
msgid "Clear clipboard when closing/locking database"
msgstr ""
Expand Down Expand Up @@ -1413,6 +1462,10 @@ msgstr ""
msgid "Exclude repeating consecutive characters (e.g. aa, 11)"
msgstr ""

#. Advanced Password Options window, list of boolean options (checkboxes)
msgid "Remove leading and trailing whitespace characters"
msgstr ""

#. Advanced Password Options window, list of boolean options (checkboxes)
msgid "Exclude duplicate entries in password lists"
msgstr ""
Expand Down
Loading

0 comments on commit 65efe2c

Please sign in to comment.