mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-09-07 16:28:38 +09:00
Windows theme version override
This commit is contained in:
parent
b7ed146126
commit
8b80d1e84e
6 changed files with 122 additions and 5 deletions
|
|
@ -96,6 +96,12 @@
|
|||
<preference id="browser.ctrlTab.previews"
|
||||
name="browser.ctrlTab.previews"
|
||||
type="bool"/>
|
||||
|
||||
<!-- Theme -->
|
||||
<preference id="widget.native-controls.override-win-version"
|
||||
name="widget.native-controls.override-win-version"
|
||||
type="int"/>
|
||||
|
||||
</preferences>
|
||||
|
||||
<hbox id="header-general"
|
||||
|
|
@ -271,3 +277,48 @@
|
|||
preference="browser.taskbar.previews.enable"/>
|
||||
#endif
|
||||
</groupbox>
|
||||
|
||||
<!-- Theme -->
|
||||
<groupbox id="themeGroup"
|
||||
data-category="paneGeneral"
|
||||
hidden="true">
|
||||
<caption><label>&theme.label;</label></caption>
|
||||
|
||||
<html:table id="themeTable">
|
||||
<html:tr>
|
||||
<html:td class="label-cell">
|
||||
<label accesskey="&ThemeOverride.accesskey;"
|
||||
control="browserThemeOverride">&ThemeOverride.label;</label>
|
||||
</html:td>
|
||||
<html:td class="content-cell">
|
||||
<menulist id="browserThemeOverride"
|
||||
class="content-cell-item"
|
||||
preference="widget.native-controls.override-win-version">
|
||||
<menupopup>
|
||||
<menuitem label="&browserThemeOverrideNone.label;"
|
||||
value="0"
|
||||
id="browserThemeOverrideNone"/>
|
||||
<menuitem label="&browserThemeOverrideXP.label;"
|
||||
value="5"
|
||||
id="browserThemeOverrideXP"/>
|
||||
<menuitem label="&browserThemeOverrideVista.label;"
|
||||
value="6"
|
||||
id="browserThemeOverrideVista"/>
|
||||
<menuitem label="&browserThemeOverride7.label;"
|
||||
value="7"
|
||||
id="browserThemeOverride7"/>
|
||||
<menuitem label="&browserThemeOverride8.label;"
|
||||
value="8"
|
||||
id="browserThemeOverride8"/>
|
||||
<menuitem label="&browserThemeOverride10.label;"
|
||||
value="10"
|
||||
id="browserThemeOverride10"/>
|
||||
<menuitem label="&browserThemeOverride11.label;"
|
||||
value="11"
|
||||
id="browserThemeOverride11"/>
|
||||
</menupopup>
|
||||
</menulist>
|
||||
</html:td>
|
||||
</html:tr>
|
||||
</html:table>
|
||||
</groupbox>
|
||||
|
|
|
|||
|
|
@ -43,3 +43,15 @@
|
|||
<!ENTITY getStarted.label "Start using Sync…">
|
||||
|
||||
<!ENTITY e10sEnabled.label "Enable multi-process &brandShortName;">
|
||||
|
||||
<!ENTITY theme.label "Theme Override">
|
||||
|
||||
<!ENTITY ThemeOverride.label "Override Windows version theme (requires restart):">
|
||||
<!ENTITY ThemeOverride.accesskey "t">
|
||||
<!ENTITY browserThemeOverrideNone.label "Current OS version">
|
||||
<!ENTITY browserThemeOverrideXP.label "Windows XP">
|
||||
<!ENTITY browserThemeOverrideVista.label "Windows Vista">
|
||||
<!ENTITY browserThemeOverride7.label "Windows 7">
|
||||
<!ENTITY browserThemeOverride8.label "Windows 8">
|
||||
<!ENTITY browserThemeOverride10.label "Windows 10">
|
||||
<!ENTITY browserThemeOverride11.label "Windows 11">
|
||||
|
|
|
|||
|
|
@ -69,6 +69,11 @@
|
|||
<preference id="browser.download.saveZoneInformation" name="browser.download.saveZoneInformation" type="int" />
|
||||
#endif
|
||||
|
||||
<!-- Theme -->
|
||||
<preference id="widget.native-controls.override-win-version"
|
||||
name="widget.native-controls.override-win-version"
|
||||
type="int"/>
|
||||
|
||||
</preferences>
|
||||
|
||||
<stringbundle id="bundlePreferences" src="chrome://browser/locale/preferences/preferences.properties"/>
|
||||
|
|
@ -177,6 +182,27 @@
|
|||
#endif
|
||||
</groupbox>
|
||||
|
||||
<!-- Theme -->
|
||||
<groupbox id="themeGroup">
|
||||
<caption label="&theme.label;"/>
|
||||
|
||||
<hbox align="center">
|
||||
<label value="&ThemeOverride.label;" accesskey="&ThemeOverride.accesskey;"
|
||||
control="browserThemeOverride"/>
|
||||
<menulist id="browserThemeOverride" preference="widget.native-controls.override-win-version">
|
||||
<menupopup>
|
||||
<menuitem label="&browserThemeOverrideNone.label;" value="0" id="browserThemeOverrideNone"/>
|
||||
<menuitem label="&browserThemeOverrideXP.label;" value="5" id="browserThemeOverrideXP"/>
|
||||
<menuitem label="&browserThemeOverrideVista.label;" value="6" id="browserThemeOverrideVista"/>
|
||||
<menuitem label="&browserThemeOverride7.label;" value="7" id="browserThemeOverride7"/>
|
||||
<menuitem label="&browserThemeOverride8.label;" value="8" id="browserThemeOverride8"/>
|
||||
<menuitem label="&browserThemeOverride10.label;" value="10" id="browserThemeOverride10"/>
|
||||
<menuitem label="&browserThemeOverride11.label;" value="11" id="browserThemeOverride11"/>
|
||||
</menupopup>
|
||||
</menulist>
|
||||
</hbox>
|
||||
</groupbox>
|
||||
|
||||
</prefpane>
|
||||
|
||||
</overlay>
|
||||
|
|
|
|||
|
|
@ -42,3 +42,15 @@
|
|||
<!ENTITY zoneInfo.always "Always">
|
||||
<!ENTITY zoneInfo.system "Use system setting">
|
||||
|
||||
<!ENTITY theme.label "Theme Override">
|
||||
|
||||
<!ENTITY ThemeOverride.label "Override Windows version theme (requires restart):">
|
||||
<!ENTITY ThemeOverride.accesskey "t">
|
||||
<!ENTITY browserThemeOverrideNone.label "Current OS version">
|
||||
<!ENTITY browserThemeOverrideXP.label "Windows XP">
|
||||
<!ENTITY browserThemeOverrideVista.label "Windows Vista">
|
||||
<!ENTITY browserThemeOverride7.label "Windows 7">
|
||||
<!ENTITY browserThemeOverride8.label "Windows 8">
|
||||
<!ENTITY browserThemeOverride10.label "Windows 10">
|
||||
<!ENTITY browserThemeOverride11.label "Windows 11">
|
||||
|
||||
|
|
|
|||
|
|
@ -3659,6 +3659,18 @@ pref("ui.osk.debug.keyboardDisplayReason", "");
|
|||
// * 2: auto
|
||||
pref("widget.windows.follow_shortcuts_on_file_open", 1);
|
||||
|
||||
// Whether to override the Windows version for styling purposes
|
||||
//
|
||||
// Valid values:
|
||||
// * 0: never
|
||||
// * 5: XP
|
||||
// * 6: Vista
|
||||
// * 7: 7
|
||||
// * 8: 8
|
||||
// * 10: 10
|
||||
// * 11: 11
|
||||
pref("widget.native-controls.override-win-version", 0);
|
||||
|
||||
# XP_WIN
|
||||
#endif
|
||||
|
||||
|
|
|
|||
|
|
@ -11,6 +11,7 @@
|
|||
#include "nsUXThemeConstants.h"
|
||||
#include "gfxFont.h"
|
||||
#include "WinUtils.h"
|
||||
#include "mozilla/Preferences.h"
|
||||
#include "mozilla/WindowsVersion.h"
|
||||
#include "gfxFontConstants.h"
|
||||
|
||||
|
|
@ -27,15 +28,18 @@ nsLookAndFeel::GetOperatingSystemVersion()
|
|||
return version;
|
||||
}
|
||||
|
||||
if (IsWin11OrLater()) {
|
||||
int overridePref = Preferences::GetInt("widget.native-controls.override-win-version", 1);
|
||||
bool doesOverride = overridePref > 0;
|
||||
|
||||
if ((!doesOverride && IsWin11OrLater()) || overridePref == 11) {
|
||||
version = eOperatingSystemVersion_Windows11;
|
||||
} else if (IsWin10OrLater()) {
|
||||
} else if ((!doesOverride && IsWin10OrLater()) || overridePref == 10) {
|
||||
version = eOperatingSystemVersion_Windows10;
|
||||
} else if (IsWin8OrLater()) {
|
||||
} else if ((!doesOverride && IsWin8OrLater()) || overridePref == 8) {
|
||||
version = eOperatingSystemVersion_Windows8;
|
||||
} else if (IsWin7OrLater()) {
|
||||
} else if ((!doesOverride && IsWin7OrLater()) || overridePref == 7) {
|
||||
version = eOperatingSystemVersion_Windows7;
|
||||
} else if (IsVistaOrLater()) {
|
||||
} else if ((!doesOverride && IsVistaOrLater()) || overridePref == 6) {
|
||||
version = eOperatingSystemVersion_WindowsVista;
|
||||
} else {
|
||||
version = eOperatingSystemVersion_WindowsXP;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue