diff options
| -rw-r--r-- | debian/control | 3 | ||||
| -rw-r--r-- | tests/data/external.gschema.xml | 13 | ||||
| -rw-r--r-- | unity-shared/UnitySettings.cpp | 34 |
3 files changed, 32 insertions, 18 deletions
diff --git a/debian/control b/debian/control index acca6839e..f61138fde 100644 --- a/debian/control +++ b/debian/control @@ -12,7 +12,7 @@ Build-Depends: cmake, dh-python, google-mock (>= 1.6.0+svn437), gsettings-desktop-schemas-dev, - gsettings-ubuntu-schemas (>= 0.0.1+14.04.20140219), + gsettings-ubuntu-schemas (>= 0.0.7+17.10.20170922), intltool (>= 0.35.0), libappstream-glib-dev, libatk1.0-dev, @@ -73,6 +73,7 @@ Depends: ${shlibs:Depends}, compiz-core, compiz-core-abiversion-${coreabiversion}, libnux-abiversion-${nuxabiversion}, compiz-plugins-default, + gsettings-ubuntu-schemas (>= 0.0.7+17.10.20170922), libglib2.0-bin, nux-tools, python3-gi, diff --git a/tests/data/external.gschema.xml b/tests/data/external.gschema.xml index 6d498e2a0..9b7c1a2d0 100644 --- a/tests/data/external.gschema.xml +++ b/tests/data/external.gschema.xml @@ -74,6 +74,19 @@ </key> </schema> + <schema path="/com/ubuntu/user-interface/desktop/" id="com.ubuntu.user-interface.desktop"> + <key type="u" name="scaling-factor"> + <default>0</default> + </key> + <key type="d" name="text-scaling-factor"> + <range min="0.5" max="3.0"/> + <default>1.0</default> + </key> + <key type="i" name="cursor-size"> + <default>24</default> + </key> + </schema> + <schema id="com.canonical.unity-greeter" path="/com/canonical/unity-greeter/"> <key type="s" name="logo"> <default>'/usr/share/unity-greeter/logo.png'</default> diff --git a/unity-shared/UnitySettings.cpp b/unity-shared/UnitySettings.cpp index 27e91b9be..96b014b8f 100644 --- a/unity-shared/UnitySettings.cpp +++ b/unity-shared/UnitySettings.cpp @@ -62,12 +62,12 @@ const std::string COMPIZ_SETTINGS = "org.compiz"; const std::string COMPIZ_PROFILE = "current-profile"; const std::string UBUNTU_UI_SETTINGS = "com.ubuntu.user-interface"; +const std::string UBUNTU_DESKTOP_UI_SETTINGS = "com.ubuntu.user-interface.desktop"; const std::string SCALE_FACTOR = "scale-factor"; -const std::string GNOME_UI_SETTINGS = "org.gnome.desktop.interface"; -const std::string GNOME_CURSOR_SIZE = "cursor-size"; -const std::string GNOME_SCALE_FACTOR = "scaling-factor"; -const std::string GNOME_TEXT_SCALE_FACTOR = "text-scaling-factor"; +const std::string DESKTOP_CURSOR_SIZE = "cursor-size"; +const std::string DESKTOP_SCALE_FACTOR = "scaling-factor"; +const std::string DESKTOP_TEXT_SCALE_FACTOR = "text-scaling-factor"; const std::string REMOTE_CONTENT_SETTINGS = "com.canonical.Unity.Lenses"; const std::string REMOTE_CONTENT_KEY = "remote-content-search"; @@ -83,7 +83,7 @@ const std::string CCS_PROFILE_LOWGFX = CCS_PROFILE_DEFAULT + "-lowgfx"; const int DEFAULT_LAUNCHER_SIZE = 64; const int MINIMUM_DESKTOP_HEIGHT = 800; -const int GNOME_SETTINGS_CHANGED_WAIT_SECONDS = 1; +const int DESKTOP_SETTINGS_CHANGED_WAIT_SECONDS = 1; const double DEFAULT_DPI = 96.0f; const double DPI_SCALING_LIMIT = 140.0f; const int DPI_SCALING_STEP = 8; @@ -104,7 +104,7 @@ public: , gestures_settings_(g_settings_new(GESTURES_SETTINGS.c_str())) , ui_settings_(g_settings_new(UI_SETTINGS.c_str())) , ubuntu_ui_settings_(g_settings_new(UBUNTU_UI_SETTINGS.c_str())) - , gnome_ui_settings_(g_settings_new(GNOME_UI_SETTINGS.c_str())) + , desktop_ui_settings_(g_settings_new(UBUNTU_DESKTOP_UI_SETTINGS.c_str())) , remote_content_settings_(g_settings_new(REMOTE_CONTENT_SETTINGS.c_str())) , launcher_sizes_(monitors::MAX, DEFAULT_LAUNCHER_SIZE) , cached_launcher_position_(LauncherPosition::LEFT) @@ -173,8 +173,8 @@ public: UpdateDPI(); }); - signals_.Add<void, GSettings*, const gchar*>(gnome_ui_settings_, "changed::" + GNOME_TEXT_SCALE_FACTOR, [this] (GSettings*, const gchar* t) { - double new_scale_factor = g_settings_get_double(gnome_ui_settings_, GNOME_TEXT_SCALE_FACTOR.c_str()); + signals_.Add<void, GSettings*, const gchar*>(desktop_ui_settings_, "changed::" + DESKTOP_TEXT_SCALE_FACTOR, [this] (GSettings*, const gchar* t) { + double new_scale_factor = g_settings_get_double(desktop_ui_settings_, DESKTOP_TEXT_SCALE_FACTOR.c_str()); g_settings_set_double(ui_settings_, TEXT_SCALE_FACTOR.c_str(), new_scale_factor); }); @@ -477,18 +477,18 @@ public: void UpdateAppsScaling(double scale) { - signals_.Block(gnome_ui_settings_); + signals_.Block(desktop_ui_settings_); unsigned integer_scaling = std::max<unsigned>(1, std::lround(scale)); double point_scaling = scale / static_cast<double>(integer_scaling); double text_scale_factor = parent_->font_scaling() * point_scaling; - glib::Variant default_cursor_size(g_settings_get_default_value(gnome_ui_settings_, GNOME_CURSOR_SIZE.c_str()), glib::StealRef()); + glib::Variant default_cursor_size(g_settings_get_default_value(desktop_ui_settings_, DESKTOP_CURSOR_SIZE.c_str()), glib::StealRef()); int cursor_size = std::round(default_cursor_size.GetInt32() * point_scaling * cursor_scale_); - g_settings_set_int(gnome_ui_settings_, GNOME_CURSOR_SIZE.c_str(), cursor_size); - g_settings_set_uint(gnome_ui_settings_, GNOME_SCALE_FACTOR.c_str(), integer_scaling); - g_settings_set_double(gnome_ui_settings_, GNOME_TEXT_SCALE_FACTOR.c_str(), text_scale_factor); + g_settings_set_int(desktop_ui_settings_, DESKTOP_CURSOR_SIZE.c_str(), cursor_size); + g_settings_set_uint(desktop_ui_settings_, DESKTOP_SCALE_FACTOR.c_str(), integer_scaling); + g_settings_set_double(desktop_ui_settings_, DESKTOP_TEXT_SCALE_FACTOR.c_str(), text_scale_factor); - changing_gnome_settings_timeout_.reset(new glib::TimeoutSeconds(GNOME_SETTINGS_CHANGED_WAIT_SECONDS, [this] { - signals_.Unblock(gnome_ui_settings_); + changing_desktop_settings_timeout_.reset(new glib::TimeoutSeconds(DESKTOP_SETTINGS_CHANGED_WAIT_SECONDS, [this] { + signals_.Unblock(desktop_ui_settings_); return false; }, glib::Source::Priority::LOW)); } @@ -518,9 +518,9 @@ public: glib::Object<GSettings> gestures_settings_; glib::Object<GSettings> ui_settings_; glib::Object<GSettings> ubuntu_ui_settings_; - glib::Object<GSettings> gnome_ui_settings_; + glib::Object<GSettings> desktop_ui_settings_; glib::Object<GSettings> remote_content_settings_; - glib::Source::UniquePtr changing_gnome_settings_timeout_; + glib::Source::UniquePtr changing_desktop_settings_timeout_; glib::SignalManager signals_; std::vector<EMConverter::Ptr> em_converters_; std::vector<int> launcher_sizes_; |
