wine-staging/patches/winecfg-Staging/0005-winecfg-Add-option-to-enable-disable-GTK3-theming.patch
2023-06-21 08:23:37 +10:00

84 lines
3.3 KiB
Diff

From 99b2ab3b3885000f3669de87a5298f7e2a221ca4 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Sun, 9 Aug 2015 18:01:11 +0200
Subject: [PATCH] winecfg: Add option to enable/disable GTK3 theming.
---
programs/winecfg/resource.h | 1 +
programs/winecfg/staging.c | 20 ++++++++++++++++++++
programs/winecfg/winecfg.rc | 1 +
3 files changed, 22 insertions(+)
diff --git a/programs/winecfg/resource.h b/programs/winecfg/resource.h
index 01d31f6c8dd..d77f6a23a5a 100644
--- a/programs/winecfg/resource.h
+++ b/programs/winecfg/resource.h
@@ -217,6 +217,7 @@
#define IDC_ENABLE_VAAPI 9002
#define IDC_ENABLE_EAX 9003
#define IDC_ENABLE_HIDEWINE 9004
+#define IDC_ENABLE_GTK3 9005
/* About tab */
#define IDC_ABT_OWNER 8432
diff --git a/programs/winecfg/staging.c b/programs/winecfg/staging.c
index 13d0fa2ecb0..56dbda33cc9 100644
--- a/programs/winecfg/staging.c
+++ b/programs/winecfg/staging.c
@@ -90,6 +90,21 @@ static void hidewine_set(BOOL status)
set_reg_key(config_key, keypath(L""), L"HideWineExports", status ? L"Y" : L"N");
}
+/*
+ * GTK3
+ */
+static BOOL gtk3_get(void)
+{
+ BOOL ret;
+ WCHAR *value = get_reg_key(config_key, keypath(L""), L"ThemeEngine", NULL);
+ ret = (value && !wcsicmp(value, L"GTK"));
+ free(value);
+ return ret;
+}
+static void gtk3_set(BOOL status)
+{
+ set_reg_key(config_key, keypath(L""), L"ThemeEngine", status ? L"GTK" : NULL);
+}
static void load_staging_settings(HWND dialog)
{
@@ -97,6 +112,7 @@ static void load_staging_settings(HWND dialog)
CheckDlgButton(dialog, IDC_ENABLE_VAAPI, vaapi_get() ? BST_CHECKED : BST_UNCHECKED);
CheckDlgButton(dialog, IDC_ENABLE_EAX, eax_get() ? BST_CHECKED : BST_UNCHECKED);
CheckDlgButton(dialog, IDC_ENABLE_HIDEWINE, hidewine_get() ? BST_CHECKED : BST_UNCHECKED);
+ CheckDlgButton(dialog, IDC_ENABLE_GTK3, gtk3_get() ? BST_CHECKED : BST_UNCHECKED);
}
INT_PTR CALLBACK StagingDlgProc(HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
@@ -138,6 +154,10 @@ INT_PTR CALLBACK StagingDlgProc(HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lPar
hidewine_set(IsDlgButtonChecked(hDlg, IDC_ENABLE_HIDEWINE) == BST_CHECKED);
SendMessageW(GetParent(hDlg), PSM_CHANGED, 0, 0);
return TRUE;
+ case IDC_ENABLE_GTK3:
+ gtk3_set(IsDlgButtonChecked(hDlg, IDC_ENABLE_GTK3) == BST_CHECKED);
+ SendMessageW(GetParent(hDlg), PSM_CHANGED, 0, 0);
+ return TRUE;
}
break;
}
diff --git a/programs/winecfg/winecfg.rc b/programs/winecfg/winecfg.rc
index ead9a54d5d2..738c4702aa3 100644
--- a/programs/winecfg/winecfg.rc
+++ b/programs/winecfg/winecfg.rc
@@ -321,6 +321,7 @@ BEGIN
CONTROL "Enable &VAAPI as backend for DXVA2 GPU decoding",IDC_ENABLE_VAAPI,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,16,55,230,8
CONTROL "Enable Environmental Audio E&xtensions (EAX)",IDC_ENABLE_EAX,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,16,70,230,8
CONTROL "&Hide Wine version from applications",IDC_ENABLE_HIDEWINE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,16,85,230,8
+ CONTROL "Enable &GTK3 Theming",IDC_ENABLE_GTK3,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,16,100,230,8
END
LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
--
2.33.0