fix ColorSelectionDialog in xhtml popup menu

This commit is contained in:
Denis Fomin 2013-01-09 22:58:51 +04:00
parent e6b3fb40e3
commit 0ad8449864
2 changed files with 14 additions and 9 deletions

View File

@ -1097,9 +1097,9 @@ class ChatControlBase(MessageControl, ChatCommandProcessor, CommandTools):
self.parent_win) self.parent_win)
def on_color_menuitem_activale(self, widget): def on_color_menuitem_activale(self, widget):
color_dialog = Gtk.ColorSelectionDialog('Select a color') color_dialog = Gtk.ColorChooserDialog(None, self.parent_win.window)
color_dialog.connect('response', self.msg_textview.color_set, color_dialog.set_use_alpha(False)
color_dialog.colorsel) color_dialog.connect('response', self.msg_textview.color_set)
color_dialog.show_all() color_dialog.show_all()
def on_font_menuitem_activale(self, widget): def on_font_menuitem_activale(self, widget):

View File

@ -146,19 +146,24 @@ class MessageTextView(Gtk.TextView):
start, finish = self.get_active_iters() start, finish = self.get_active_iters()
_buffer.remove_all_tags(start, finish) _buffer.remove_all_tags(start, finish)
def color_set(self, widget, response, color): def color_set(self, widget, response):
if response == -6: print (response)
if response == -6 or response == -4:
widget.destroy() widget.destroy()
return return
_buffer = self.get_buffer()
color = color.get_current_color() color = widget.get_property('rgba')
widget.destroy() widget.destroy()
color_string = gtkgui_helpers.make_color_string(color) _buffer = self.get_buffer()
# Create #aabbcc color string from rgba color
color_string = '#%02X%02X%02X' % (round(color.red*255),
round(color.green*255), round(color.blue*255))
tag_name = 'color' + color_string tag_name = 'color' + color_string
if not tag_name in self.color_tags: if not tag_name in self.color_tags:
tagColor = _buffer.create_tag(tag_name) tagColor = _buffer.create_tag(tag_name)
tagColor.set_property('foreground', color_string) tagColor.set_property('foreground', color_string)
self.begin_tags[tag_name] = '<span style="color: ' + color_string + ';">' self.begin_tags[tag_name] = '<span style="color: %s;">' % color_string
self.end_tags[tag_name] = '</span>' self.end_tags[tag_name] = '</span>'
self.color_tags.append(tag_name) self.color_tags.append(tag_name)