convert style tab to adw preferences page

This commit is contained in:
Philipp Unger
2022-04-06 00:46:48 +02:00
parent c802a62f34
commit 294bea9236
3 changed files with 368 additions and 16 deletions

View File

@@ -2,15 +2,17 @@
<interface>
<requires lib="gtk" version="4.0"/>
<object class="AdwPreferencesPage" id="behavior">
<property name="title">Behavior</property>
<property name="icon_name">document-properties</property>
<!-- group applications -->
<child>
<object class="AdwPreferencesGroup" id="behavior_group_applications">
<property name="title">Applications</property>
<property name="title" translatable="yes">Applications</property>
<child>
<object class="AdwActionRow">
<property name="title">Show favorite applications</property>
<property name="title" translatable="yes">Show favorite applications</property>
<child>
<object class="GtkSwitch" id="show_favorite_switch">
<property name="valign">center</property>
@@ -21,7 +23,7 @@
<child>
<object class="AdwActionRow">
<property name="title">Show running applications</property>
<property name="title" translatable="yes">Show running applications</property>
<child>
<object class="GtkSwitch" id="show_runnning_apps_switch">
<property name="valign">center</property>
@@ -32,7 +34,7 @@
<child>
<object class="AdwActionRow">
<property name="title">Show favorite applications on secondary panels</property>
<property name="title" translatable="yes">Show favorite applications on secondary panels</property>
<child>
<object class="GtkSwitch" id="multimon_multi_show_favorites_switch">
<property name="valign">center</property>
@@ -128,7 +130,7 @@
<!-- group isolate -->
<child>
<object class="AdwPreferencesGroup" id="behavior_group_isolate">
<property name="title">Isolate</property>
<property name="title" translatable="yes">Isolate</property>
<child>
<object class="AdwActionRow">
@@ -158,7 +160,7 @@
<!-- group overview -->
<child>
<object class="AdwPreferencesGroup" id="behavior_group_overview">
<property name="title">Overview</property>
<property name="title" translatable="yes">Overview</property>
<child>
<object class="AdwActionRow">

353
SettingsStyle.ui Normal file
View File

@@ -0,0 +1,353 @@
<?xml version="1.0" encoding="UTF-8"?>
<interface>
<requires lib="gtk" version="4.0"/>
<object class="GtkAdjustment" id="appicon_margin_adjustment">
<property name="lower">0.33</property>
<property name="upper">1</property>
<property name="step_increment">0.01</property>
<property name="page_increment">0.1</property>
</object>
<object class="GtkAdjustment" id="appicon_padding_adjustment">
<property name="lower">0.33</property>
<property name="upper">1</property>
<property name="step_increment">0.01</property>
<property name="page_increment">0.1</property>
</object>
<object class="GtkAdjustment" id="trans_opacity_adjustment">
<property name="upper">100</property>
<property name="step_increment">5</property>
<property name="page_increment">10</property>
</object>
<object class="GtkAdjustment" id="trans_gradient_opacity1_adjustment">
<property name="upper">100</property>
<property name="step_increment">5</property>
<property name="page_increment">10</property>
</object>
<object class="GtkAdjustment" id="trans_gradient_opacity2_adjustment">
<property name="upper">100</property>
<property name="step_increment">5</property>
<property name="page_increment">10</property>
</object>
<object class="AdwPreferencesPage" id="style">
<property name="title">Style</property>
<property name="icon_name">document-properties</property>
<!-- group app icon style -->
<child>
<object class="AdwPreferencesGroup" id="style_group_app_icon_style">
<property name="title" translatable="yes">AppIcon style</property>
<child>
<object class="AdwActionRow">
<property name="title" translatable="yes">App Icon Margin</property>
<property name="subtitle" translatable="yes">(default is 8)</property>
<child>
<object class="GtkScale" id="appicon_margin_scale">
<property name="valign">baseline</property>
<property name="hexpand">True</property>
<property name="adjustment">appicon_margin_adjustment</property>
<property name="round_digits">0</property>
<property name="digits">0</property>
<property name="value_pos">right</property>
<property name="draw_value">True</property>
<signal name="value-changed" handler="appicon_margin_scale_value_changed_cb" swapped="no"/>
</object>
</child>
</object>
</child>
<child>
<object class="AdwActionRow">
<property name="title" translatable="yes">App Icon Padding</property>
<property name="subtitle" translatable="yes">(default is 4)</property>
<child>
<object class="GtkScale" id="appicon_padding_scale">
<property name="valign">baseline</property>
<property name="hexpand">True</property>
<property name="adjustment">appicon_padding_adjustment</property>
<property name="round_digits">0</property>
<property name="digits">0</property>
<property name="value_pos">right</property>
<property name="draw_value">True</property>
<signal name="value-changed" handler="appicon_padding_scale_value_changed_cb" swapped="no"/>
<layout>
<property name="row">0</property>
<property name="column">1</property>
</layout>
</object>
</child>
</object>
</child>
<child>
<object class="AdwActionRow">
<property name="title" translatable="yes">Animate hovering app icons</property>
<child>
<object class="GtkButton" id="animate_appicon_hover_button">
<property name="receives_default">True</property>
<property name="valign">center</property>
<child>
<object class="GtkImage" id="animate_appicon_hover_options_image">
<property name="can_focus">False</property>
<property name="icon_name">emblem-system-symbolic</property>
</object>
</child>
<style>
<class name="circular"/>
</style>
</object>
</child>
<child>
<object class="GtkSwitch" id="animate_appicon_hover_switch">
<property name="valign">center</property>
</object>
</child>
</object>
</child>
</object>
</child>
<!-- group running indicator -->
<child>
<object class="AdwPreferencesGroup" id="style_group_running_indicator">
<property name="title" translatable="yes">Running indicator</property>
<child>
<object class="AdwActionRow">
<property name="title" translatable="yes">Running indicator position</property>
<child>
<object class="GtkToggleButton" id="dots_bottom_button">
<property name="label" translatable="yes">Bottom</property>
<property name="valign">center</property>
<signal name="toggled" handler="dots_bottom_button_toggled_cb" swapped="no"/>
</object>
</child>
<child>
<object class="GtkToggleButton" id="dots_top_button">
<property name="label" translatable="yes">Top</property>
<property name="valign">center</property>
<property name="group">dots_bottom_button</property>
<signal name="toggled" handler="dots_top_button_toggled_cb" swapped="no"/>
</object>
</child>
<child>
<object class="GtkToggleButton" id="dots_left_button">
<property name="label" translatable="yes">Left</property>
<property name="valign">center</property>
<property name="group">dots_bottom_button</property>
<signal name="toggled" handler="dots_left_button_toggled_cb" swapped="no"/>
</object>
</child>
<child>
<object class="GtkToggleButton" id="dots_right_button">
<property name="label" translatable="yes">Right</property>
<property name="valign">center</property>
<property name="group">dots_bottom_button</property>
<signal name="toggled" handler="dots_right_button_toggled_cb" swapped="no"/>
</object>
</child>
</object>
</child>
<child>
<object class="AdwActionRow">
<property name="title" translatable="yes">Running indicator style (Focused app)</property>
<child>
<object class="GtkButton" id="dot_style_options_button">
<property name="valign">center</property>
<child>
<object class="GtkImage" id="dot_style_image">
<property name="icon_name">emblem-system-symbolic</property>
</object>
</child>
<style>
<class name="circular"/>
</style>
</object>
</child>
<child>
<object class="GtkComboBoxText" id="dot_style_focused_combo">
<property name="valign">center</property>
<items>
<item id="DOTS" translatable="yes">Dots</item>
<item id="SQUARES" translatable="yes">Squares</item>
<item id="DASHES" translatable="yes">Dashes</item>
<item id="SEGMENTED" translatable="yes">Segmented</item>
<item id="SOLID" translatable="yes">Solid</item>
<item id="CILIORA" translatable="yes">Ciliora</item>
<item id="METRO" translatable="yes">Metro</item>
</items>
</object>
</child>
</object>
</child>
<child>
<object class="AdwActionRow">
<property name="title" translatable="yes">Running indicator style (Unfocused apps)</property>
<child>
<object class="GtkComboBoxText" id="dot_style_unfocused_combo">
<property name="valign">center</property>
<items>
<item id="DOTS" translatable="yes">Dots</item>
<item id="SQUARES" translatable="yes">Squares</item>
<item id="DASHES" translatable="yes">Dashes</item>
<item id="SEGMENTED" translatable="yes">Segmented</item>
<item id="SOLID" translatable="yes">Solid</item>
<item id="CILIORA" translatable="yes">Ciliora</item>
<item id="METRO" translatable="yes">Metro</item>
</items>
</object>
</child>
</object>
</child>
</object>
</child>
<!-- group dynamic trans -->
<child>
<object class="AdwPreferencesGroup" id="style_group_dynamic_trans">
<property name="title" translatable="yes">Panel style</property>
<child>
<object class="AdwActionRow">
<property name="title" translatable="yes">Override panel theme background color</property>
<child>
<object class="GtkColorButton" id="trans_bg_color_colorbutton">
<property name="valign">center</property>
</object>
</child>
<child>
<object class="GtkSwitch" id="trans_bg_switch">
<property name="valign">center</property>
</object>
</child>
</object>
</child>
</object>
</child>
<!-- group dynamic trans2 -->
<child>
<object class="AdwPreferencesGroup" id="style_group_dynamic_trans2">
<child>
<object class="AdwActionRow">
<property name="title" translatable="yes">Override panel theme background opacity</property>
<child>
<object class="GtkSwitch" id="trans_opacity_override_switch">
<property name="valign">center</property>
</object>
</child>
</object>
</child>
<child>
<object class="AdwActionRow">
<property name="title" translatable="yes">Panel background opacity (%)</property>
<child>
<object class="GtkSpinButton" id="trans_opacity_spinbutton">
<property name="valign">center</property>
<property name="text" translatable="yes">0</property>
<property name="adjustment">trans_opacity_adjustment</property>
</object>
</child>
</object>
</child>
<child>
<object class="AdwActionRow">
<property name="title" translatable="yes">Dynamic background opacity</property>
<property name="subtitle" translatable="yes">Change opacity when a window gets close to the panel</property>
<child>
<object class="GtkButton" id="trans_dyn_options_button">
<property name="receives_default">True</property>
<property name="valign">center</property>
<child>
<object class="GtkImage" id="image_trans_dyn_options">
<property name="can_focus">False</property>
<property name="icon_name">emblem-system-symbolic</property>
</object>
</child>
<style>
<class name="circular"/>
</style>
</object>
</child>
<child>
<object class="GtkSwitch" id="trans_dyn_switch">
<property name="valign">center</property>
</object>
</child>
</object>
</child>
</object>
</child>
<!-- group dynamic trans3 -->
<child>
<object class="AdwPreferencesGroup" id="style_group_dynamic_trans3">
<child>
<object class="AdwActionRow">
<property name="title" translatable="yes">Override panel theme gradient</property>
<child>
<object class="GtkSwitch" id="trans_gradient_switch">
<property name="valign">center</property>
</object>
</child>
</object>
</child>
<child>
<object class="AdwActionRow">
<property name="title" translatable="yes">Gradient top color and opacity (%)</property>
<child>
<object class="GtkColorButton" id="trans_gradient_color1_colorbutton">
<property name="receives_default">True</property>
<property name="valign">center</property>
</object>
</child>
<child>
<object class="GtkSpinButton" id="trans_gradient_color1_spinbutton">
<property name="valign">center</property>
<property name="text" translatable="yes">0</property>
<property name="adjustment">trans_gradient_opacity1_adjustment</property>
</object>
</child>
</object>
</child>
<child>
<object class="AdwActionRow">
<property name="title" translatable="yes">Gradient bottom color and opacity (%)</property>
<child>
<object class="GtkColorButton" id="trans_gradient_color2_colorbutton">
<property name="receives_default">True</property>
<property name="valign">center</property>
</object>
</child>
<child>
<object class="GtkSpinButton" id="trans_gradient_color2_spinbutton">
<property name="valign">center</property>
<property name="text" translatable="yes">0</property>
<property name="adjustment">trans_gradient_opacity2_adjustment</property>
</object>
</child>
</object>
</child>
</object>
</child>
</object>
</interface>

View File

@@ -2461,25 +2461,22 @@ function init() {
function fillPreferencesWindow(window) {
window.set_default_size(680, 740);
builder = new Gtk.Builder();
builder.set_scope(new BuilderScope());
builder.set_translation_domain(Me.metadata['gettext-domain']);
let pagePosition = new Adw.PreferencesPage();
pagePosition.set_title("Position");
pagePosition.set_icon_name("document-properties");
window.add(pagePosition);
let pageStyle = new Adw.PreferencesPage();
pageStyle.set_title("Style");
pageStyle.set_icon_name("document-properties");
builder.add_from_file(Me.path + '/SettingsStyle.ui');
let pageStyle = builder.get_object('style');
window.add(pageStyle);
builder = new Gtk.Builder();
builder.set_scope(new BuilderScope());
builder.set_translation_domain(Me.metadata['gettext-domain']);
builder.add_from_file(Me.path + '/SettingsBehavior.ui');
let pageBehavior = builder.get_object('behavior');
pageBehavior.set_title("Behavior");
pageBehavior.set_icon_name("document-properties");
window.add(pageBehavior);
let pageAction = new Adw.PreferencesPage();