[mate-control-center] 02/02: debian/patches: Add 0002_add_auto-detect_toggle.patch. Add auto-detect toggle switch for font DPI.

Martin Wimpress flexiondotorg-guest at moszumanska.debian.org
Sun Mar 18 18:36:02 UTC 2018


This is an automated email from the git hooks/post-receive script.

flexiondotorg-guest pushed a commit to branch master
in repository mate-control-center.

commit 01dda48da98f33be1de410e1873f32128143f177
Author: Martin Wimpress <martin.wimpress at ubuntu.com>
Date:   Sun Mar 18 15:37:39 2018 +0000

    debian/patches: Add 0002_add_auto-detect_toggle.patch. Add auto-detect toggle switch for font DPI.
---
 debian/patches/0002_add_auto-detect_toggle.patch | 534 +++++++++++++++++++++++
 debian/patches/series                            |   1 +
 2 files changed, 535 insertions(+)

diff --git a/debian/patches/0002_add_auto-detect_toggle.patch b/debian/patches/0002_add_auto-detect_toggle.patch
new file mode 100644
index 0000000..32e5413
--- /dev/null
+++ b/debian/patches/0002_add_auto-detect_toggle.patch
@@ -0,0 +1,534 @@
+Author: Victor Kareh <vkareh at vkareh.net>
+Description: Add auto-detect toggle switch
+.
+Currently if a user changes the DPI, there is no way to reset it back to
+the auto-detected value from Xserver (which we store as 0 in gsettings).
+Adding this toggle solves that issue.
+
+diff --git a/capplets/appearance/appearance-font.c b/capplets/appearance/appearance-font.c
+index 998bfa2..f4dd0d4 100644
+--- a/capplets/appearance/appearance-font.c
++++ b/capplets/appearance/appearance-font.c
+@@ -473,11 +473,22 @@ dpi_load (GSettings     *settings,
+ }
+ 
+ static void
+-dpi_changed (GSettings *settings,
+-	     gchar     *key,
+-	     gpointer   user_data)
++dpi_changed (GSettings      *settings,
++	     gchar          *key,
++	     AppearanceData *data)
+ {
+-  dpi_load (settings, user_data);
++  GtkWidget *spinner;
++  GtkWidget *toggle;
++  gdouble dpi;
++
++  dpi = g_settings_get_double (data->font_settings, FONT_DPI_KEY);
++  spinner = appearance_capplet_get_widget (data, "dpi_spinner");
++  toggle = appearance_capplet_get_widget (data, "dpi_reset_switch");
++
++  dpi_load (settings, GTK_SPIN_BUTTON (spinner));
++
++  gtk_switch_set_state (GTK_SWITCH (toggle), dpi == 0);
++  gtk_widget_set_sensitive (spinner, dpi != 0);
+ }
+ 
+ static void
+@@ -490,8 +501,8 @@ monitors_changed (GdkScreen      *screen,
+ }
+ 
+ static void
+-dpi_value_changed (GtkSpinButton *spinner,
+-		   GSettings     *settings)
++dpi_value_changed (GtkSpinButton  *spinner,
++		   AppearanceData *data)
+ {
+   /* Like any time when using a spin button with GSettings, there is
+    * a race condition here. When we change, we send the new
+@@ -503,6 +514,7 @@ dpi_value_changed (GtkSpinButton *spinner,
+    */
+   if (!in_change) {
+     GdkScreen *screen;
++    GtkWidget *toggle;
+     gint scale;
+     gdouble new_dpi;
+ 
+@@ -510,12 +522,34 @@ dpi_value_changed (GtkSpinButton *spinner,
+     scale = gdk_window_get_scale_factor (gdk_screen_get_root_window (screen));
+     new_dpi = gtk_spin_button_get_value (spinner) / (double)scale;
+ 
+-    g_settings_set_double (settings, FONT_DPI_KEY, new_dpi);
++    g_settings_set_double (data->font_settings, FONT_DPI_KEY, new_dpi);
+ 
+-    dpi_load (settings, spinner);
++    dpi_load (data->font_settings, spinner);
++
++    toggle = appearance_capplet_get_widget (data, "dpi_reset_switch");
++    gtk_switch_set_active (GTK_SWITCH (toggle), FALSE);
+   }
+ }
+ 
++static gboolean
++dpi_value_reset (GtkSwitch      *toggle,
++		 gboolean        state,
++		 AppearanceData *data)
++{
++  GtkWidget *spinner;
++  spinner = appearance_capplet_get_widget (data, "dpi_spinner");
++
++  if (state)
++    g_settings_set_double (data->font_settings, FONT_DPI_KEY, 0);
++  else
++    dpi_value_changed (GTK_SPIN_BUTTON (spinner), data);
++
++  gtk_switch_set_state(toggle, state);
++  gtk_widget_set_sensitive (spinner, !state);
++
++  return TRUE;
++}
++
+ static void
+ cb_details_response (GtkDialog *dialog, gint response_id)
+ {
+@@ -532,27 +566,37 @@ cb_show_details (GtkWidget *button,
+ {
+   if (!data->font_details) {
+     GtkAdjustment *adjustment;
+-    GtkWidget *widget;
++    GtkWidget *spinner;
++    GtkWidget *toggle;
+     EnumGroup *group;
++    gdouble dpi;
+ 
+     data->font_details = appearance_capplet_get_widget (data, "render_details");
+ 
+     gtk_window_set_transient_for (GTK_WINDOW (data->font_details),
+                                   GTK_WINDOW (appearance_capplet_get_widget (data, "appearance_window")));
+ 
+-    widget = appearance_capplet_get_widget (data, "dpi_spinner");
++    spinner = appearance_capplet_get_widget (data, "dpi_spinner");
++    toggle = appearance_capplet_get_widget (data, "dpi_reset_switch");
++
++    /* Set initial state for widgets */
++    dpi = g_settings_get_double (data->font_settings, FONT_DPI_KEY);
++    gtk_switch_set_active (GTK_SWITCH (toggle), dpi == 0);
++    gtk_widget_set_sensitive (GTK_WIDGET (spinner), dpi != 0);
+ 
+     /* pick a sensible maximum dpi */
+-    adjustment = gtk_spin_button_get_adjustment (GTK_SPIN_BUTTON (widget));
++    adjustment = gtk_spin_button_get_adjustment (GTK_SPIN_BUTTON (spinner));
+     gtk_adjustment_set_lower (adjustment, DPI_LOW_REASONABLE_VALUE);
+     gtk_adjustment_set_upper (adjustment, DPI_HIGH_REASONABLE_VALUE);
+     gtk_adjustment_set_step_increment (adjustment, 1);
+ 
+-    dpi_load (data->font_settings, GTK_SPIN_BUTTON (widget));
+-    g_signal_connect (widget, "value_changed",
+-		      G_CALLBACK (dpi_value_changed), data->font_settings);
++    dpi_load (data->font_settings, GTK_SPIN_BUTTON (spinner));
++    g_signal_connect (spinner, "value-changed",
++		      G_CALLBACK (dpi_value_changed), data);
++    g_signal_connect (toggle, "state-set",
++		      G_CALLBACK (dpi_value_reset), data);
+ 
+-    g_signal_connect (data->font_settings, "changed::" FONT_DPI_KEY, G_CALLBACK (dpi_changed), widget);
++    g_signal_connect (data->font_settings, "changed::" FONT_DPI_KEY, G_CALLBACK (dpi_changed), data);
+ 
+     /* Update font DPI when window scaling factor is changed */
+     g_signal_connect (gdk_screen_get_default (), "monitors-changed", G_CALLBACK (monitors_changed), data);
+diff --git a/capplets/appearance/appearance-ui.c b/capplets/appearance/appearance-ui.c
+index 00427e9..86c61fd 100644
+--- a/capplets/appearance/appearance-ui.c
++++ b/capplets/appearance/appearance-ui.c
+@@ -22,34 +22,6 @@
+ #include "appearance.h"
+ #include "stdio.h"
+ 
+-
+-static void
+-show_handlebar (AppearanceData *data, gboolean show)
+-{
+-  GtkWidget *handlebox = appearance_capplet_get_widget (data, "toolbar_handlebox");
+-  GtkWidget *toolbar = appearance_capplet_get_widget (data, "toolbar_toolbar");
+-  GtkWidget *align = appearance_capplet_get_widget (data, "toolbar_align");
+-
+-  g_object_ref (handlebox);
+-  g_object_ref (toolbar);
+-
+-  if (gtk_bin_get_child (GTK_BIN (align)))
+-    gtk_container_remove (GTK_CONTAINER (align), gtk_bin_get_child (GTK_BIN (align)));
+-
+-  if (gtk_bin_get_child (GTK_BIN (handlebox)))
+-    gtk_container_remove (GTK_CONTAINER (handlebox), gtk_bin_get_child (GTK_BIN (handlebox)));
+-
+-  if (show) {
+-    gtk_container_add (GTK_CONTAINER (align), handlebox);
+-    gtk_container_add (GTK_CONTAINER (handlebox), toolbar);
+-    g_object_unref (handlebox);
+-  } else {
+-    gtk_container_add (GTK_CONTAINER (align), toolbar);
+-  }
+-
+-  g_object_unref (toolbar);
+-}
+-
+ static void
+ set_have_icons (AppearanceData *data, gboolean value)
+ {
+@@ -94,14 +66,6 @@ menus_have_icons_cb (GSettings *settings,
+   set_have_icons (data, g_settings_get_boolean (settings, key));
+ }
+ 
+-static void
+-toolbar_detachable_cb (GSettings *settings,
+-		     gchar *key,
+-		     AppearanceData *data)
+-{
+-  show_handlebar (data, g_settings_get_boolean (settings, key));
+-}
+-
+ /** GUI Callbacks **/
+ 
+ static gint
+@@ -140,16 +104,4 @@ ui_init (AppearanceData *data)
+   set_have_icons (data,
+     g_settings_get_boolean (data->interface_settings,
+ 			   MENU_ICONS_KEY));
+-
+-  g_signal_connect (appearance_capplet_get_widget (data, "toolbar_handlebox"),
+-		    "button_press_event",
+-		    (GCallback) button_press_block_cb, NULL);
+-
+-  show_handlebar (data,
+-    g_settings_get_boolean (data->interface_settings,
+-			   TOOLBAR_DETACHABLE_KEY));
+-
+-  /* no ui for detachable toolbars */
+-  g_signal_connect (data->interface_settings,
+-			   "changed::" TOOLBAR_DETACHABLE_KEY, (GCallback) toolbar_detachable_cb, data);
+ }
+diff --git a/capplets/appearance/appearance.h b/capplets/appearance/appearance.h
+index 37f5829..3696312 100644
+--- a/capplets/appearance/appearance.h
++++ b/capplets/appearance/appearance.h
+@@ -47,7 +47,6 @@
+ #define COLOR_SCHEME_KEY             "gtk-color-scheme"
+ #define ACCEL_CHANGE_KEY             "can-change-accels"
+ #define MENU_ICONS_KEY               "menus-have-icons"
+-#define TOOLBAR_DETACHABLE_KEY       "toolbar-detachable"
+ #define TOOLBAR_STYLE_KEY            "toolbar-style"
+ #define GTK_FONT_DEFAULT_VALUE       "Sans 10"
+ 
+diff --git a/capplets/appearance/data/appearance.ui b/capplets/appearance/data/appearance.ui
+index d866719..ba20160 100644
+--- a/capplets/appearance/data/appearance.ui
++++ b/capplets/appearance/data/appearance.ui
+@@ -1,5 +1,26 @@
+ <?xml version="1.0" encoding="UTF-8"?>
+-<!-- Generated with glade 3.20.0 -->
++<!-- Generated with glade 3.22.0 
++
++mate-appearance-properties - appearance properties dialog window
++Copyright (C) MATE Developers
++
++This program is free software; you can redistribute it and/or
++modify it under the terms of the GNU General Public License
++as published by the Free Software Foundation; either version 2
++of the License, or (at your option) any later version.
++
++This program is distributed in the hope that it will be useful,
++but WITHOUT ANY WARRANTY; without even the implied warranty of
++MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++GNU General Public License for more details.
++
++You should have received a copy of the GNU General Public License
++along with this program; if not, write to the Free Software
++Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
++
++Author: Wolfgang Ulbrich
++
++-->
+ <interface>
+   <requires lib="gtk+" version="3.14"/>
+   <!-- interface-license-type gplv2 -->
+@@ -56,23 +77,40 @@
+             <property name="orientation">vertical</property>
+             <property name="spacing">18</property>
+             <child>
+-              <object class="GtkAlignment" id="alignment5">
++              <object class="GtkBox" id="vbox_resolution">
+                 <property name="visible">True</property>
+                 <property name="can_focus">False</property>
+-                <property name="xalign">0</property>
+-                <property name="xscale">0</property>
++                <property name="orientation">vertical</property>
++                <property name="spacing">8</property>
+                 <child>
+-                  <object class="GtkBox" id="hbox_resolution">
++                  <object class="GtkLabel" id="label11">
+                     <property name="visible">True</property>
+                     <property name="can_focus">False</property>
+-                    <property name="spacing">12</property>
++                    <property name="halign">start</property>
++                    <property name="label" translatable="yes">R_esolution</property>
++                    <property name="use_underline">True</property>
++                    <property name="mnemonic_widget">dpi_spinner</property>
++                    <attributes>
++                      <attribute name="weight" value="bold"/>
++                    </attributes>
++                  </object>
++                  <packing>
++                    <property name="expand">False</property>
++                    <property name="fill">False</property>
++                    <property name="position">0</property>
++                  </packing>
++                </child>
++                <child>
++                  <object class="GtkBox" id="hbox20">
++                    <property name="visible">True</property>
++                    <property name="can_focus">False</property>
++                    <property name="valign">center</property>
++                    <property name="spacing">8</property>
+                     <child>
+-                      <object class="GtkLabel" id="label11">
++                      <object class="GtkLabel" id="label16">
+                         <property name="visible">True</property>
+                         <property name="can_focus">False</property>
+-                        <property name="label" translatable="yes">R_esolution:</property>
+-                        <property name="use_underline">True</property>
+-                        <property name="mnemonic_widget">dpi_spinner</property>
++                        <property name="label" translatable="yes">Dots per inch (DPI):</property>
+                       </object>
+                       <packing>
+                         <property name="expand">False</property>
+@@ -81,34 +119,10 @@
+                       </packing>
+                     </child>
+                     <child>
+-                      <object class="GtkBox" id="hbox20">
++                      <object class="GtkSpinButton" id="dpi_spinner">
+                         <property name="visible">True</property>
+-                        <property name="can_focus">False</property>
+-                        <property name="spacing">6</property>
+-                        <child>
+-                          <object class="GtkSpinButton" id="dpi_spinner">
+-                            <property name="visible">True</property>
+-                            <property name="can_focus">True</property>
+-                            <property name="climb_rate">1</property>
+-                          </object>
+-                          <packing>
+-                            <property name="expand">False</property>
+-                            <property name="fill">False</property>
+-                            <property name="position">1</property>
+-                          </packing>
+-                        </child>
+-                        <child>
+-                          <object class="GtkLabel" id="label16">
+-                            <property name="visible">True</property>
+-                            <property name="can_focus">False</property>
+-                            <property name="label" translatable="yes">dots per inch</property>
+-                          </object>
+-                          <packing>
+-                            <property name="expand">False</property>
+-                            <property name="fill">False</property>
+-                            <property name="position">2</property>
+-                          </packing>
+-                        </child>
++                        <property name="can_focus">True</property>
++                        <property name="climb_rate">1</property>
+                       </object>
+                       <packing>
+                         <property name="expand">False</property>
+@@ -117,11 +131,53 @@
+                       </packing>
+                     </child>
+                   </object>
++                  <packing>
++                    <property name="expand">False</property>
++                    <property name="fill">False</property>
++                    <property name="position">1</property>
++                  </packing>
++                </child>
++                <child>
++                  <object class="GtkBox" id="hbox21">
++                    <property name="visible">True</property>
++                    <property name="can_focus">False</property>
++                    <property name="spacing">8</property>
++                    <child>
++                      <object class="GtkLabel" id="label51">
++                        <property name="visible">True</property>
++                        <property name="can_focus">False</property>
++                        <property name="tooltip_text" translatable="yes">This resets the font DPI to the auto-detected value from Xserver.</property>
++                        <property name="label" translatable="yes">Automatic detection:</property>
++                      </object>
++                      <packing>
++                        <property name="expand">False</property>
++                        <property name="fill">True</property>
++                        <property name="position">0</property>
++                      </packing>
++                    </child>
++                    <child>
++                      <object class="GtkSwitch" id="dpi_reset_switch">
++                        <property name="visible">True</property>
++                        <property name="can_focus">True</property>
++                        <property name="active">True</property>
++                      </object>
++                      <packing>
++                        <property name="expand">False</property>
++                        <property name="fill">True</property>
++                        <property name="position">1</property>
++                      </packing>
++                    </child>
++                  </object>
++                  <packing>
++                    <property name="expand">False</property>
++                    <property name="fill">False</property>
++                    <property name="position">2</property>
++                  </packing>
+                 </child>
+               </object>
+               <packing>
+                 <property name="expand">False</property>
+-                <property name="fill">False</property>
++                <property name="fill">True</property>
+                 <property name="position">0</property>
+               </packing>
+             </child>
+@@ -757,6 +813,9 @@
+                 <property name="position">3</property>
+               </packing>
+             </child>
++            <child>
++              <placeholder/>
++            </child>
+           </object>
+           <packing>
+             <property name="expand">False</property>
+@@ -769,6 +828,9 @@
+     <action-widgets>
+       <action-widget response="-7">button3</action-widget>
+     </action-widgets>
++    <child>
++      <placeholder/>
++    </child>
+   </object>
+   <object class="GtkDialog" id="theme_details">
+     <property name="can_focus">False</property>
+@@ -1553,6 +1615,9 @@
+       <action-widget response="-11">theme_help_button</action-widget>
+       <action-widget response="-7">theme_close_button</action-widget>
+     </action-widgets>
++    <child>
++      <placeholder/>
++    </child>
+   </object>
+   <object class="GtkDialog" id="theme_save_dialog">
+     <property name="can_focus">False</property>
+@@ -1724,6 +1789,9 @@
+       <action-widget response="-6">save_dialog_cancel_button</action-widget>
+       <action-widget response="-5">save_dialog_save_button</action-widget>
+     </action-widgets>
++    <child>
++      <placeholder/>
++    </child>
+   </object>
+   <object class="GtkListStore" id="toolbar_style_liststore">
+     <columns>
+@@ -3085,53 +3153,47 @@
+                                 <property name="visible">True</property>
+                                 <property name="can_focus">False</property>
+                                 <child>
+-                                  <object class="GtkHandleBox" id="toolbar_handlebox">
++                                  <object class="GtkToolbar" id="toolbar_toolbar">
+                                     <property name="visible">True</property>
+                                     <property name="can_focus">False</property>
++                                    <property name="toolbar_style">both-horiz</property>
+                                     <child>
+-                                      <object class="GtkToolbar" id="toolbar_toolbar">
++                                      <object class="GtkToolButton" id="button2">
+                                         <property name="visible">True</property>
+                                         <property name="can_focus">False</property>
+-                                        <property name="toolbar_style">both-horiz</property>
+-                                        <child>
+-                                          <object class="GtkToolButton" id="button2">
+-                                            <property name="visible">True</property>
+-                                            <property name="can_focus">False</property>
+-                                            <property name="is_important">True</property>
+-                                            <property name="stock_id">gtk-new</property>
+-                                          </object>
+-                                          <packing>
+-                                            <property name="expand">False</property>
+-                                            <property name="homogeneous">True</property>
+-                                          </packing>
+-                                        </child>
+-                                        <child>
+-                                          <object class="GtkToolButton" id="button4">
+-                                            <property name="visible">True</property>
+-                                            <property name="can_focus">False</property>
+-                                            <property name="stock_id">gtk-open</property>
+-                                          </object>
+-                                          <packing>
+-                                            <property name="expand">False</property>
+-                                            <property name="homogeneous">True</property>
+-                                          </packing>
+-                                        </child>
+-                                        <child>
+-                                          <object class="GtkToolButton" id="save_button">
+-                                            <property name="visible">True</property>
+-                                            <property name="can_focus">False</property>
+-                                            <property name="stock_id">gtk-save</property>
+-                                          </object>
+-                                          <packing>
+-                                            <property name="expand">False</property>
+-                                            <property name="homogeneous">True</property>
+-                                          </packing>
+-                                        </child>
+-                                        <style>
+-                                          <class name="primary-toolbar"/>
+-                                        </style>
++                                        <property name="is_important">True</property>
++                                        <property name="stock_id">gtk-new</property>
++                                      </object>
++                                      <packing>
++                                        <property name="expand">False</property>
++                                        <property name="homogeneous">True</property>
++                                      </packing>
++                                    </child>
++                                    <child>
++                                      <object class="GtkToolButton" id="button4">
++                                        <property name="visible">True</property>
++                                        <property name="can_focus">False</property>
++                                        <property name="stock_id">gtk-open</property>
+                                       </object>
++                                      <packing>
++                                        <property name="expand">False</property>
++                                        <property name="homogeneous">True</property>
++                                      </packing>
+                                     </child>
++                                    <child>
++                                      <object class="GtkToolButton" id="save_button">
++                                        <property name="visible">True</property>
++                                        <property name="can_focus">False</property>
++                                        <property name="stock_id">gtk-save</property>
++                                      </object>
++                                      <packing>
++                                        <property name="expand">False</property>
++                                        <property name="homogeneous">True</property>
++                                      </packing>
++                                    </child>
++                                    <style>
++                                      <class name="primary-toolbar"/>
++                                    </style>
+                                   </object>
+                                 </child>
+                               </object>
+@@ -3192,5 +3254,8 @@
+       <action-widget response="-11">help_button</action-widget>
+       <action-widget response="-7">close_button</action-widget>
+     </action-widgets>
++    <child>
++      <placeholder/>
++    </child>
+   </object>
+ </interface>
diff --git a/debian/patches/series b/debian/patches/series
index 613e9a8..d7c348d 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,2 +1,3 @@
 0000_hidpi.patch
 0001_fix_screen_geometry_when_snapping.patch
+0002_add_auto-detect_toggle.patch

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-mate/mate-control-center.git



More information about the pkg-mate-commits mailing list