1
0
mirror of https://github.com/FunkyFr3sh/cnc-ddraw.git synced 2025-03-14 22:03:27 +01:00

add dark theme

This commit is contained in:
FunkyFr3sh 2023-08-13 17:15:59 +02:00
parent 8b772680dc
commit b42c3e1d49
6 changed files with 65 additions and 5 deletions

View File

@ -45,6 +45,27 @@ void __fastcall TConfigForm::LanguageImgClick(TObject *Sender)
Application->Terminate();
}
void __fastcall TConfigForm::ThemePnlClick(TObject *Sender)
{
auto *ini = new TIniFile(".\\ddraw.ini");
auto theme =
ThemePnl->Color == (TColor)RGB(31, 31, 31) ? "Cobalt XEMedia" : "Windows10";
ini->WriteString("ddraw", "configtheme", theme);
delete ini;
ShellExecute(
NULL,
L"open",
Application->ExeName.w_str(),
NULL,
NULL,
SW_SHOWNORMAL);
Application->Terminate();
}
void __fastcall TConfigForm::RestoreDefaultsBtnClick(TObject *Sender)
{
if (Application->MessageBox(
@ -660,6 +681,18 @@ void __fastcall TConfigForm::FormCreate(TObject *Sender)
auto *ini = new TIniFile(".\\ddraw.ini");
if (ini->ReadString("ddraw", "configtheme", "Windows10") == "Cobalt XEMedia") {
ThemePnl->Color = (TColor)RGB(243, 243, 243);
DisplayPnl->StyleElements = TStyleElements(seFont + seClient + seBorder);
AdvancedPnl->StyleElements = TStyleElements(seFont + seClient + seBorder);
HotkeyPnl->StyleElements = TStyleElements(seFont + seClient + seBorder);
CompatibilityPnl->StyleElements = TStyleElements(seFont + seClient + seBorder);
MenuPnl->StyleElements = TStyleElements(seFont);
MenuPnl->Color = (TColor)RGB(31, 31, 31);
}
ApplyTranslation(ini);
/* Display Settings */

View File

@ -2778,7 +2778,7 @@ object ConfigForm: TConfigForm
OnPaint = PboxPaint
end
object LanguageImg: TImage
Left = 477
Left = 453
Top = 8
Width = 16
Height = 11
@ -2805,7 +2805,6 @@ object ConfigForm: TConfigForm
Stretch = True
Visible = False
OnClick = LanguageImgClick
ExplicitLeft = 569
end
object PresentationCbx: TComboBox
Left = 41
@ -2866,6 +2865,20 @@ object ConfigForm: TConfigForm
TabOrder = 4
OnClick = DevmodeChkClick
end
object ThemePnl: TPanel
Left = 475
Top = 8
Width = 16
Height = 11
Anchors = [akTop, akRight]
BevelOuter = bvNone
Color = 2039583
ParentBackground = False
TabOrder = 5
StyleElements = [seFont, seBorder]
OnClick = ThemePnlClick
ExplicitLeft = 471
end
end
object CompatibilityPnl: TPanel
Left = 233
@ -3579,7 +3592,7 @@ object ConfigForm: TConfigForm
Top = 440
Width = 227
Height = 22
Anchors = [akLeft, akTop, akRight]
Anchors = [akLeft, akRight, akBottom]
Caption = 'Restore default settings'
Flat = True
Font.Charset = DEFAULT_CHARSET

View File

@ -80,6 +80,7 @@ __published: // Von der IDE verwaltete Komponenten
TEdit *ScreenshotEdt;
TComboBox *ShaderD3DCbx;
TSpeedButton *RestoreDefaultsBtn;
TPanel *ThemePnl;
void __fastcall DisplayBtnClick(TObject *Sender);
void __fastcall AdvancedBtnClick(TObject *Sender);
void __fastcall CompatibilityBtnClick(TObject *Sender);
@ -109,6 +110,7 @@ __published: // Von der IDE verwaltete Komponenten
void __fastcall HotkeyEdtKeyUp(TObject *Sender, WORD &Key, TShiftState Shift);
void __fastcall ShaderD3DCbxChange(TObject *Sender);
void __fastcall RestoreDefaultsBtnClick(TObject *Sender);
void __fastcall ThemePnlClick(TObject *Sender);

View File

@ -79,7 +79,7 @@
<IncludePath>cnc-ddraw\config\;$(IncludePath)</IncludePath>
<ILINK_LibraryPath>cnc-ddraw\config\;$(ILINK_LibraryPath)</ILINK_LibraryPath>
<SanitizedProjectName>cnc-ddraw_config</SanitizedProjectName>
<Custom_Styles>Windows10|VCLSTYLE|$(BDSCOMMONDIR)\Styles\Windows10.vsf</Custom_Styles>
<Custom_Styles>Windows10|VCLSTYLE|$(BDSCOMMONDIR)\Styles\Windows10.vsf;&quot;Cobalt XEMedia|VCLSTYLE|$(BDSCOMMONDIR)\Styles\CobaltXEMedia.vsf&quot;</Custom_Styles>
</PropertyGroup>
<PropertyGroup Condition="'$(Base_Win32)'!=''">
<PackageImports>adortl;appanalytics;bcbie;bcbsmp;bindcomp;bindcompdbx;bindcompfmx;bindcompvcl;bindengine;CloudService;CustomIPTransport;dbexpress;dbrtl;dbxcds;DbxClientDriver;DbxCommonDriver;DBXInterBaseDriver;DBXMySQLDriver;DBXSqliteDriver;dsnap;dsnapcon;dsnapxml;FireDAC;FireDACADSDriver;FireDACCommon;FireDACCommonDriver;FireDACCommonODBC;FireDACIBDriver;FireDACMSAccDriver;FireDACMySQLDriver;FireDACPgDriver;FireDACSqliteDriver;fmx;fmxase;fmxdae;fmxFireDAC;fmxobj;IndyCore;IndyIPClient;IndyIPCommon;IndyIPServer;IndyProtocols;IndySystem;inet;inetdb;inetdbxpress;RESTBackendComponents;RESTComponents;rtl;soapmidas;soaprtl;soapserver;svn;tethering;vcl;vclactnband;vcldb;vcldsnap;vclFireDAC;vclie;vclimg;VCLRESTComponents;VclSmp;vcltouch;vclwinx;vclx;xmlrtl;$(PackageImports)</PackageImports>

View File

@ -1,6 +1,7 @@
//---------------------------------------------------------------------------
#include <vcl.h>
#include <IniFiles.hpp>
#pragma hdrstop
#include <tchar.h>
//---------------------------------------------------------------------------
@ -14,7 +15,15 @@ int WINAPI _tWinMain(HINSTANCE, HINSTANCE, LPTSTR, int)
{
Application->Initialize();
Application->MainFormOnTaskBar = true;
TStyleManager::TrySetStyle("Windows10");
auto *ini = new TIniFile(".\\ddraw.ini");
auto theme = ini->ReadString("ddraw", "configtheme", "Windows10");
TStyleManager::TrySetStyle(
theme == "Cobalt XEMedia" ? "Cobalt XEMedia" : "Windows10");
delete ini;
Application->CreateForm(__classid(TConfigForm), &ConfigForm);
Application->Run();
}

View File

@ -300,6 +300,9 @@ static void cfg_create_ini()
"; cnc-ddraw config program language, possible values: auto, english, chinese, german, spanish, russian, hungarian, french, italian\n"
"configlang=auto\n"
"\n"
"; cnc-ddraw config program theme, possible values: Windows10, Cobalt XEMedia\n"
"configtheme=Windows10\n"
"\n"
"; Where should screenshots be saved\n"
"screenshotdir=.\\Screenshots\\\n"
"\n"