linux.x86.linphone/Linphone/view/Style/DefaultStyle.qml
data db7ce5ef4a Add dark theme, German translations and UI improvements
- Dark theme settings
- German language translations
- UI component improvements (ComboSetting, SwitchSetting)
- Display settings layout updates

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-08 06:14:53 +01:00

84 lines
3.5 KiB
QML

pragma Singleton
import QtQuick
import Linphone
import SettingsCpp
QtObject {
// Dark mode detection: use setting or auto-detect from system
property bool isDarkMode: SettingsCpp.darkModeAllowed || systemDarkMode
property bool systemDarkMode: Qt.styleHints.colorScheme === Qt.Dark
property var currentTheme: Themes.themes.hasOwnProperty(SettingsCpp.themeMainColor)
? Themes.themes[SettingsCpp.themeMainColor]
: Themes.themes["orange"]
// Main accent colors (from theme)
property var main1_100: currentTheme.main100
property var main1_200: currentTheme.main200
property var main1_300: currentTheme.main300
property var main1_500_main: currentTheme.main500
property var main1_600: currentTheme.main600
property var main1_700: currentTheme.main700
// Main UI colors - switch based on dark mode
property var main2_0: isDarkMode ? "#1a1a1a" : "#FAFEFF"
property var main2_100: isDarkMode ? "#252525" : "#EEF6F8"
property var main2_200: isDarkMode ? "#2d2d2d" : "#DFECF2"
property var main2_300: isDarkMode ? "#3d3d3d" : "#C0D1D9"
property var main2_400: isDarkMode ? "#5a5a5a" : "#9AABB5"
property var main2_500_main: isDarkMode ? "#8a8a8a" : "#6C7A87"
property var main2_600: isDarkMode ? "#b0b0b0" : "#4E6074"
property var main2_700: isDarkMode ? "#c8c8c8" : "#364860"
property var main2_800: isDarkMode ? "#e0e0e0" : "#22334D"
property var main2_900: isDarkMode ? "#f0f0f0" : "#2D3648"
// Grey colors - inverted for dark mode
property var grey_0: isDarkMode ? "#1a1a1a" : "#FFFFFF"
property var grey_100: isDarkMode ? "#252525" : "#F9F9F9"
property var grey_200: isDarkMode ? "#333333" : "#EDEDED"
property var grey_300: isDarkMode ? "#4a4a4a" : "#C9C9C9"
property var grey_400: isDarkMode ? "#6b6b6b" : "#949494"
property var grey_500: isDarkMode ? "#b1b1b1" : "#4E4E4E"
property var grey_600: isDarkMode ? "#d1d1d1" : "#2E3030"
property var grey_850: isDarkMode ? "#404040" : "#D9D9D9"
property var grey_900: isDarkMode ? "#f8f8f8" : "#070707"
property var grey_1000: isDarkMode ? "#ffffff" : "#000000"
// Status colors - keep similar but adjust for dark mode visibility
property var warning_600: "#DBB820"
property var warning_700: "#AF9308"
property var danger_500_main: "#DD5F5F"
property var warning_500_main: "#FFDC2E"
property var danger_700: "#9E3548"
property var danger_900: isDarkMode ? "#ff6666" : "#723333"
property var success_500_main: "#4FAE80"
property var success_700: "#377d71"
property var success_900: isDarkMode ? "#5fd9a8" : "#1E4C53"
property var info_500_main: "#4AA8FF"
property var info_800_main: "#02528D"
property var vue_meter_light_green: "#6FF88D"
property var vue_meter_dark_green: "#00D916"
property real defaultHeight: 1007.0
property real defaultWidth: 1512.0
property real maxDp: 0.98
property real dp: Math.min((Screen.width/Screen.height)/(defaultWidth/defaultHeight), maxDp)
onDpChanged: {
console.log("Screen ratio changed", dp)
AppCpp.setScreenRatio(dp)
}
// Warning: Qt 6.8.1 (current version) and previous versions, Qt only support COLRv0 fonts. Don't try to use v1.
property string emojiFont: "Noto Color Emoji"
property string flagFont: "Noto Color Emoji"
property string defaultFont: "Noto Sans"
property var numericPadPressedButtonColor: isDarkMode ? "#2a3a3d" : "#EEF7F8"
property var groupCallButtonColor: isDarkMode ? "#2a3a3d" : "#EEF7F8"
property var placeholders: isDarkMode ? '#555555' : '#CACACA'
}