diff --git a/Linphone/data/languages/de.ts b/Linphone/data/languages/de.ts index 23f5dfbb..8d8de7a6 100644 --- a/Linphone/data/languages/de.ts +++ b/Linphone/data/languages/de.ts @@ -7838,4 +7838,52 @@ Pour les activer dans un projet commercial, merci de nous contacter. Ok + + DisplaySettingsLayout + + settings_display_language_title + Language + Sprache + + + settings_display_appearance_title + Appearance + Erscheinungsbild + + + settings_display_language_select + Language + Sprache + + + settings_display_language_subtitle + Select your preferred language + Wählen Sie Ihre bevorzugte Sprache + + + settings_display_language_restart_hint + Restart required for language change + Neustart erforderlich für Sprachwechsel + + + settings_display_dark_mode_title + Dark mode + Dunkelmodus + + + settings_display_dark_mode_subtitle + Enable dark mode for the interface + Dunkelmodus für die Oberfläche aktivieren + + + settings_display_theme_color_title + Theme color + Farbschema + + + settings_display_theme_color_subtitle + Choose the main color theme + Wählen Sie das Hauptfarbschema + + diff --git a/Linphone/data/languages/en.ts b/Linphone/data/languages/en.ts index 9a2f50c0..f918e3f6 100644 --- a/Linphone/data/languages/en.ts +++ b/Linphone/data/languages/en.ts @@ -7737,4 +7737,52 @@ To enable them in a commercial project, please contact us. Ok + + DisplaySettingsLayout + + settings_display_language_title + Language + Language + + + settings_display_appearance_title + Appearance + Appearance + + + settings_display_language_select + Language + Language + + + settings_display_language_subtitle + Select your preferred language + Select your preferred language + + + settings_display_language_restart_hint + Restart required for language change + Restart required for language change + + + settings_display_dark_mode_title + Dark mode + Dark mode + + + settings_display_dark_mode_subtitle + Enable dark mode for the interface + Enable dark mode for the interface + + + settings_display_theme_color_title + Theme color + Theme color + + + settings_display_theme_color_subtitle + Choose the main color theme + Choose the main color theme + + diff --git a/Linphone/view/CMakeLists.txt b/Linphone/view/CMakeLists.txt index 54d73d82..55f6ac9c 100644 --- a/Linphone/view/CMakeLists.txt +++ b/Linphone/view/CMakeLists.txt @@ -152,6 +152,7 @@ list(APPEND _LINPHONEAPP_QML_FILES view/Page/Layout/Settings/CallSettingsLayout.qml view/Page/Layout/Settings/CallForwardSettingsLayout.qml view/Page/Layout/Settings/ContactsSettingsLayout.qml + view/Page/Layout/Settings/DisplaySettingsLayout.qml view/Page/Layout/Settings/MeetingsSettingsLayout.qml view/Page/Layout/Settings/ContactsSettingsProviderLayout.qml view/Page/Layout/Settings/DebugSettingsLayout.qml diff --git a/Linphone/view/Page/Form/Settings/SettingsPage.qml b/Linphone/view/Page/Form/Settings/SettingsPage.qml index ac3f6b5c..5aa13955 100644 --- a/Linphone/view/Page/Form/Settings/SettingsPage.qml +++ b/Linphone/view/Page/Form/Settings/SettingsPage.qml @@ -22,7 +22,7 @@ AbstractSettingsMenu { //: "Réunions" {title: qsTr("settings_meetings_title"), layout: "MeetingsSettingsLayout", visible: !SettingsCpp.disableMeetingsFeature}, //: "Affichage" - //{title: qsTr("settings_user_interface_title"), layout: "DisplaySettingsLayout"}, + {title: qsTr("settings_user_interface_title"), layout: "DisplaySettingsLayout"}, //: "Security" // {title: qsTr("settings_security_title"), layout: "SecuritySettingsLayout"}, //: "Réseau" diff --git a/Linphone/view/Page/Layout/Settings/DisplaySettingsLayout.qml b/Linphone/view/Page/Layout/Settings/DisplaySettingsLayout.qml new file mode 100644 index 00000000..d8328cca --- /dev/null +++ b/Linphone/view/Page/Layout/Settings/DisplaySettingsLayout.qml @@ -0,0 +1,116 @@ + +import QtQuick +import QtQuick.Layouts +import QtQuick.Controls.Basic as Control +import Linphone +import SettingsCpp 1.0 +import UtilsCpp +import 'qrc:/qt/qml/Linphone/view/Style/buttonStyle.js' as ButtonStyle +import "qrc:/qt/qml/Linphone/view/Control/Tool/Helper/utils.js" as Utils + +AbstractSettingsLayout { + id: mainItem + width: parent?.width + contentModel: [ + { + //: Language + title: qsTr("settings_display_language_title"), + subTitle: "", + contentComponent: languageComponent + }, + { + //: Appearance + title: qsTr("settings_display_appearance_title"), + subTitle: "", + contentComponent: appearanceComponent + } + ] + + onSave: { + SettingsCpp.save() + } + onUndo: SettingsCpp.undo() + + // Language settings + //////////////////// + + Component { + id: languageComponent + ColumnLayout { + spacing: Utils.getSizeWithScreenRatio(20) + + ComboSetting { + Layout.fillWidth: true + //: Language + titleText: qsTr("settings_display_language_select") + //: Select your preferred language + subTitleText: qsTr("settings_display_language_subtitle") + propertyName: "configLocale" + propertyOwner: SettingsCpp + model: [ + {text: "English", value: "en"}, + {text: "Deutsch", value: "de"}, + {text: "Francais", value: "fr"}, + {text: "Espanol", value: "es"}, + {text: "Portugues", value: "pt"}, + {text: "Italiano", value: "it"}, + {text: "Nederlands", value: "nl"}, + {text: "Polski", value: "pl"}, + {text: "Cesky", value: "cs"}, + {text: "Slovensky", value: "sk"}, + {text: "Magyar", value: "hu"}, + {text: "Suomi", value: "fi"}, + {text: "Russkiy", value: "ru"}, + {text: "Ukrayinska", value: "uk"}, + {text: "Zhongwen", value: "zh_Hans"} + ] + } + + Text { + Layout.fillWidth: true + //: Restart required for language change + text: qsTr("settings_display_language_restart_hint") + color: DefaultStyle.main2_500main + font.pixelSize: Typography.p2.pixelSize + wrapMode: Text.WordWrap + } + } + } + + // Appearance settings + ////////////////////// + + Component { + id: appearanceComponent + ColumnLayout { + spacing: Utils.getSizeWithScreenRatio(20) + + SwitchSetting { + Layout.fillWidth: true + //: Dark mode + titleText: qsTr("settings_display_dark_mode_title") + //: Enable dark mode for the interface + subTitleText: qsTr("settings_display_dark_mode_subtitle") + propertyName: "darkModeAllowed" + propertyOwner: SettingsCpp + } + + ComboSetting { + Layout.fillWidth: true + //: Theme color + titleText: qsTr("settings_display_theme_color_title") + //: Choose the main color theme + subTitleText: qsTr("settings_display_theme_color_subtitle") + propertyName: "themeMainColor" + propertyOwner: SettingsCpp + model: [ + {text: "Green", value: "green"}, + {text: "Blue", value: "blue"}, + {text: "Orange", value: "orange"}, + {text: "Red", value: "red"}, + {text: "Purple", value: "purple"} + ] + } + } + } +}