[gnome-tweak-tool] tweakview: Allow tweak groups to provide extra titlebar widgets
- From: Florian Müllner <fmuellner src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-tweak-tool] tweakview: Allow tweak groups to provide extra titlebar widgets
- Date: Thu, 16 Feb 2017 00:54:57 +0000 (UTC)
commit 2f4d7f0b2f9024b246069290065fc5f89d2536e6
Author: Florian Müllner <fmuellner gnome org>
Date: Wed Feb 8 22:26:45 2017 +0100
tweakview: Allow tweak groups to provide extra titlebar widgets
Current mockups make use of the titlebar for certain views, so allow
groups to specify a widget that appears to the headerbar when active.
https://bugzilla.gnome.org/show_bug.cgi?id=778669
gtweak/tweakmodel.py | 1 +
gtweak/tweakview.py | 10 ++++++++++
2 files changed, 11 insertions(+), 0 deletions(-)
---
diff --git a/gtweak/tweakmodel.py b/gtweak/tweakmodel.py
index cddecf8..0ad94de 100644
--- a/gtweak/tweakmodel.py
+++ b/gtweak/tweakmodel.py
@@ -77,6 +77,7 @@ class TweakGroup(object):
def __init__(self, name, *tweaks, **options):
self.name = name
+ self.titlebar_widget = None
self.tweaks = [t for t in tweaks if t.loaded]
self.uid = options.get('uid', self.__class__.__name__)
diff --git a/gtweak/tweakview.py b/gtweak/tweakview.py
index 274047d..0a2eaec 100644
--- a/gtweak/tweakview.py
+++ b/gtweak/tweakview.py
@@ -84,6 +84,8 @@ class Window(Gtk.ApplicationWindow):
self._update_decorations (Gtk.Settings.get_default(), None)
+ self._group_titlebar_widget = None
+
self.title = Gtk.Label(label="")
self.title.get_style_context().add_class("title")
right_header.set_custom_title(self.title)
@@ -252,6 +254,14 @@ class Window(Gtk.ApplicationWindow):
group = row.get_child().get_text()
self.stack.set_visible_child_name(group)
self.title.set_text(group)
+ tweakgroup = self._model.get_value(
+ self._model.get_tweakgroup_iter(group),
+ self._model.COLUMN_TWEAK)
+ if self._group_titlebar_widget:
+ self._right_header.remove(self._group_titlebar_widget)
+ self._group_titlebar_widget = tweakgroup.titlebar_widget
+ if self._group_titlebar_widget:
+ self._right_header.pack_end(self._group_titlebar_widget)
def _on_find_toggled(self, btn):
if self.searchbar.get_search_mode():
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]