From a3d5c7fdcef630a902b62305c2b0c57121e24209 Mon Sep 17 00:00:00 2001 From: Ethan Trewhitt <ethan@trewhitt.org> Date: Wed, 25 Oct 2017 13:36:33 -0400 Subject: Added parent (aka 'transient for') references to most (if not all) dialog boxes. First attempt at fixing #1494. --- grc/gui/PropsDialog.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'grc/gui/PropsDialog.py') diff --git a/grc/gui/PropsDialog.py b/grc/gui/PropsDialog.py index cfea13e1a8..b299804b47 100644 --- a/grc/gui/PropsDialog.py +++ b/grc/gui/PropsDialog.py @@ -55,7 +55,7 @@ class PropsDialog(gtk.Dialog): A dialog to set block parameters, view errors, and view documentation. """ - def __init__(self, block): + def __init__(self, block, parent): """ Properties dialog constructor. @@ -67,6 +67,7 @@ class PropsDialog(gtk.Dialog): gtk.Dialog.__init__( self, title='Properties: %s' % block.get_name(), + parent=parent, buttons=(gtk.STOCK_OK, gtk.RESPONSE_ACCEPT, gtk.STOCK_CANCEL, gtk.RESPONSE_REJECT, gtk.STOCK_APPLY, gtk.RESPONSE_APPLY) @@ -76,6 +77,7 @@ class PropsDialog(gtk.Dialog): (MIN_DIALOG_WIDTH, MIN_DIALOG_HEIGHT) )) self._block = block + self._parent = parent vpaned = gtk.VPaned() self.vbox.pack_start(vpaned) @@ -190,7 +192,7 @@ class PropsDialog(gtk.Dialog): if param.get_hide() == 'all': continue box_all_valid = box_all_valid and param.is_valid() - input_widget = param.get_input(self._handle_changed, self._activate_apply) + input_widget = param.get_input(self, self._handle_changed, self._activate_apply) vbox.pack_start(input_widget, input_widget.expand) label.set_markup(Utils.parse_template(TAB_LABEL_MARKUP_TMPL, valid=box_all_valid, tab=tab)) # show params box with new params -- cgit v1.2.3 From 3808e137e0719d4d92f9698a4d2d020667826afd Mon Sep 17 00:00:00 2001 From: Sebastian Koslowski <sebastian.koslowski@gmail.com> Date: Wed, 25 Oct 2017 22:02:21 +0200 Subject: grc: make props dialog dark-theme friendly --- grc/gui/Colors.py | 1 - grc/gui/Param.py | 19 ++++++++----------- grc/gui/PropsDialog.py | 4 ++-- 3 files changed, 10 insertions(+), 14 deletions(-) (limited to 'grc/gui/PropsDialog.py') diff --git a/grc/gui/Colors.py b/grc/gui/Colors.py index d322afa410..023a4e7038 100644 --- a/grc/gui/Colors.py +++ b/grc/gui/Colors.py @@ -30,7 +30,6 @@ try: MISSING_BLOCK_BACKGROUND_COLOR = get_color('#FFF2F2') MISSING_BLOCK_BORDER_COLOR = get_color('red') #param entry boxes - PARAM_ENTRY_TEXT_COLOR = get_color('black') ENTRYENUM_CUSTOM_COLOR = get_color('#EEEEEE') #flow graph color constants FLOWGRAPH_BACKGROUND_COLOR = get_color('#FFFFFF') diff --git a/grc/gui/Param.py b/grc/gui/Param.py index 71acffe743..7f90a7bea1 100644 --- a/grc/gui/Param.py +++ b/grc/gui/Param.py @@ -23,7 +23,7 @@ import pygtk pygtk.require('2.0') import gtk -from . import Colors, Utils, Constants +from . import Colors, Constants from .Element import Element from . import Utils @@ -133,17 +133,18 @@ class EntryParam(InputParam): def set_color(self, color): need_status_color = self.label not in self.get_children() text_color = ( - Colors.PARAM_ENTRY_TEXT_COLOR if not need_status_color else + None if not need_status_color else gtk.gdk.color_parse('blue') if self._have_pending_changes else gtk.gdk.color_parse('red') if not self.param.is_valid() else - Colors.PARAM_ENTRY_TEXT_COLOR) + None) base_color = ( Colors.BLOCK_DISABLED_COLOR if need_status_color and not self.param.get_parent().get_enabled() else gtk.gdk.color_parse(color) ) self._input.modify_base(gtk.STATE_NORMAL, base_color) - self._input.modify_text(gtk.STATE_NORMAL, text_color) + if text_color: + self._input.modify_text(gtk.STATE_NORMAL, text_color) def set_tooltip_text(self, text): try: @@ -179,7 +180,6 @@ class MultiLineEntryParam(InputParam): def set_color(self, color): self._view.modify_base(gtk.STATE_NORMAL, gtk.gdk.color_parse(color)) - self._view.modify_text(gtk.STATE_NORMAL, Colors.PARAM_ENTRY_TEXT_COLOR) def set_tooltip_text(self, text): try: @@ -243,8 +243,7 @@ class PythonEditorParam(InputParam): pass # we never update the value from here def set_color(self, color): - # self._button.modify_base(gtk.STATE_NORMAL, gtk.gdk.color_parse(color)) - self._button.modify_text(gtk.STATE_NORMAL, Colors.PARAM_ENTRY_TEXT_COLOR) + pass def _apply_change(self, *args): pass @@ -305,10 +304,8 @@ class EnumEntryParam(InputParam): def set_color(self, color): if self._input.get_active() == -1: #custom entry, use color self._input.get_child().modify_base(gtk.STATE_NORMAL, gtk.gdk.color_parse(color)) - self._input.get_child().modify_text(gtk.STATE_NORMAL, Colors.PARAM_ENTRY_TEXT_COLOR) else: #from enum, make pale background self._input.get_child().modify_base(gtk.STATE_NORMAL, Colors.ENTRYENUM_CUSTOM_COLOR) - self._input.get_child().modify_text(gtk.STATE_NORMAL, Colors.PARAM_ENTRY_TEXT_COLOR) class FileParam(EntryParam): @@ -365,9 +362,9 @@ PARAM_MARKUP_TMPL="""\ <span foreground="$foreground" font_desc="$font"><b>$encode($param.get_name()): </b>$encode(repr($param).replace('\\n',' '))</span>""" PARAM_LABEL_MARKUP_TMPL="""\ -#set $foreground = $modified and 'blue' or $param.is_valid() and 'black' or 'red' +#set $foreground = $modified and 'foreground="blue"' or not $param.is_valid() and 'foreground="red"' or '' #set $underline = $has_cb and 'low' or 'none' -<span underline="$underline" foreground="$foreground" font_desc="Sans 9">$encode($param.get_name())</span>""" +<span underline="$underline" $foreground font_desc="Sans 9">$encode($param.get_name())</span>""" TIP_MARKUP_TMPL="""\ ######################################## diff --git a/grc/gui/PropsDialog.py b/grc/gui/PropsDialog.py index b299804b47..36c792cbe7 100644 --- a/grc/gui/PropsDialog.py +++ b/grc/gui/PropsDialog.py @@ -28,8 +28,8 @@ import Utils import pango TAB_LABEL_MARKUP_TMPL="""\ -#set $foreground = $valid and 'black' or 'red' -<span foreground="$foreground">$encode($tab)</span>""" +#set $foreground = not $valid and 'foreground="red"' or '' +<span $foreground>$encode($tab)</span>""" def get_title_label(title): -- cgit v1.2.3