summaryrefslogtreecommitdiff
path: root/portato/gui/gtk/windows.py
diff options
context:
space:
mode:
Diffstat (limited to 'portato/gui/gtk/windows.py')
-rw-r--r--portato/gui/gtk/windows.py30
1 files changed, 26 insertions, 4 deletions
diff --git a/portato/gui/gtk/windows.py b/portato/gui/gtk/windows.py
index 2e5fd85..d67bcfd 100644
--- a/portato/gui/gtk/windows.py
+++ b/portato/gui/gtk/windows.py
@@ -439,14 +439,27 @@ class PackageTable:
pkg = self.actual_package()
pkg_flags = pkg.get_all_use_flags()
pkg_flags.sort()
+
+ actual_exp = None
+ actual_exp_it = None
+
for use in pkg_flags:
- store.append([pkg.is_use_flag_enabled(use), use, system.get_use_desc(use, self.cp)])
+ exp = pkg.use_expanded(use, suggest = actual_exp)
+ if exp is not None:
+ if exp != actual_exp:
+ actual_exp_it = store.append(None, [None, exp, "<i>This is an expanded use flag and cannot be selected</i>"])
+ actual_exp = exp
+ else:
+ actual_exp_it = None
+ actual_exp = None
+
+ store.append(actual_exp_it, [pkg.is_use_flag_enabled(use), use, system.get_use_desc(use, self.cp)])
return store
def build_use_list (self):
"""Builds the useList."""
- store = gtk.ListStore(bool, str, str)
+ store = gtk.TreeStore(bool, str, str)
self.fill_use_list(store)
# build view
@@ -457,7 +470,10 @@ class PackageTable:
tCell.connect("toggled", self.cb_use_flag_toggled, store)
view.append_column(gtk.TreeViewColumn("Enabled", tCell, active = 0))
view.append_column(gtk.TreeViewColumn("Flags", cell, text = 1))
- view.append_column(gtk.TreeViewColumn("Description", cell, text = 2))
+ view.append_column(gtk.TreeViewColumn("Description", cell, markup = 2))
+
+ view.set_search_column(1)
+ view.set_enable_tree_lines(True)
if store.iter_n_children(None) == 0: # if there are no nodes in the list ...
view.set_child_visible(False) # ... do not show the list
@@ -649,12 +665,18 @@ class PackageTable:
def cb_use_flag_toggled (self, cell, path, store):
"""Callback for a toggled use-flag button."""
+ flag = store[path][1]
+ pkg = self.actual_package()
+
+ if flag in pkg.get_global_settings("USE_EXPAND").split(" "): # ignore expanded flags
+ return False
+
store[path][0] = not store[path][0]
prefix = ""
if not store[path][0]:
prefix = "-"
- self.actual_package().set_use_flag(prefix+store[path][1])
+ pkg.set_use_flag(prefix+flag)
if self.instantChange:
self._update_keywords(True, update = True)
-store.sh?h=1.7.3&id=1d6ed690232de70c522226315b8b5a0e5c1706c1&follow=1'>reencryption: Properly escape input to sedJason A. Donenfeld1-1/+1 2014-05-10git: use secure tmp directoryJason A. Donenfeld1-4/+11 2014-05-10configure git to decrypt gpg files automaticallySamuel Le Thiec1-0/+5 2014-05-08completion: add new generate flagsJason A. Donenfeld3-2/+7 2014-05-08inplace: mutually exclusive with forceJason A. Donenfeld2-3/+3 2014-05-08usage: tab to spacesJason A. Donenfeld1-1/+1 2014-05-08generate: use nice ansi colors instead.Jason A. Donenfeld1-3/+2 2014-05-08zsh: posix compatible sed fix for zsh-completionJason A. Donenfeld1-1/+1 2014-05-07Implement interactive init functionSvend Sorensen1-0/+8 2014-05-07Implement interactive rename functionSvend Sorensen1-0/+7 2014-05-07Reorder interactive function to match order of helper functionsSvend Sorensen1-13/+13 2014-05-07Make edit helper function name consistent with other helpersSvend Sorensen1-1/+1 2014-05-07Factor out password completing-read functionSvend Sorensen1-4/+8 2014-05-07Add dash to Package-RequiresSvend Sorensen1-1/+1 2014-05-06Force sane sort order.Jason A. Donenfeld1-2/+2 2014-05-06generate: add --in-place optionJason A. Donenfeld4-9/+33