Ticket #2962: chat_status.diff
| File chat_status.diff, 6.2 KB (added by asterix, 3 years ago) |
|---|
-
data/glade/message_window.glade
104 104 </child> 105 105 106 106 <child> 107 <widget class="Gtk Label" id="banner_name_label">107 <widget class="GtkVBox" id="vbox110"> 108 108 <property name="visible">True</property> 109 <property name="label"><span weight="heavy" size="large">Contact name</span> 110 Status message</property> 111 <property name="use_underline">False</property> 112 <property name="use_markup">True</property> 113 <property name="justify">GTK_JUSTIFY_LEFT</property> 114 <property name="wrap">False</property> 115 <property name="selectable">False</property> 116 <property name="xalign">0.0500000007451</property> 117 <property name="yalign">0.5</property> 118 <property name="xpad">0</property> 119 <property name="ypad">5</property> 120 <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> 121 <property name="width_chars">-1</property> 122 <property name="single_line_mode">False</property> 123 <property name="angle">0</property> 109 <property name="homogeneous">False</property> 110 <property name="spacing">0</property> 111 112 <child> 113 <widget class="GtkLabel" id="banner_name_label"> 114 <property name="visible">True</property> 115 <property name="label"><span weight="heavy" size="large">Contact name</span></property> 116 <property name="use_underline">False</property> 117 <property name="use_markup">True</property> 118 <property name="justify">GTK_JUSTIFY_LEFT</property> 119 <property name="wrap">False</property> 120 <property name="selectable">False</property> 121 <property name="xalign">0.0500000007451</property> 122 <property name="yalign">0.5</property> 123 <property name="xpad">0</property> 124 <property name="ypad">5</property> 125 <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> 126 <property name="width_chars">-1</property> 127 <property name="single_line_mode">False</property> 128 <property name="angle">0</property> 129 </widget> 130 <packing> 131 <property name="padding">0</property> 132 <property name="expand">False</property> 133 <property name="fill">False</property> 134 </packing> 135 </child> 136 137 <child> 138 <widget class="GtkLabel" id="banner_status_label"> 139 <property name="visible">True</property> 140 <property name="can_focus">True</property> 141 <property name="label">Status message</property> 142 <property name="use_underline">False</property> 143 <property name="use_markup">False</property> 144 <property name="justify">GTK_JUSTIFY_LEFT</property> 145 <property name="wrap">False</property> 146 <property name="selectable">True</property> 147 <property name="xalign">0.0500000007451</property> 148 <property name="yalign">0</property> 149 <property name="xpad">0</property> 150 <property name="ypad">0</property> 151 <property name="ellipsize">PANGO_ELLIPSIZE_END</property> 152 <property name="width_chars">-1</property> 153 <property name="single_line_mode">False</property> 154 <property name="angle">0</property> 155 </widget> 156 <packing> 157 <property name="padding">0</property> 158 <property name="expand">True</property> 159 <property name="fill">True</property> 160 </packing> 161 </child> 124 162 </widget> 125 163 <packing> 126 164 <property name="padding">0</property> -
src/chat_control.py
287 287 # setting the bg color of the eventbox and the fg of the name_label 288 288 banner_eventbox = self.xml.get_widget('banner_eventbox') 289 289 banner_name_label = self.xml.get_widget('banner_name_label') 290 banner_status_label = self.xml.get_widget('banner_status_label') 290 291 self.disconnect_style_event(banner_name_label) 292 self.disconnect_style_event(banner_status_label) 291 293 if bgcolor: 292 294 banner_eventbox.modify_bg(gtk.STATE_NORMAL, 293 295 gtk.gdk.color_parse(bgcolor)) … … 297 299 if textcolor: 298 300 banner_name_label.modify_fg(gtk.STATE_NORMAL, 299 301 gtk.gdk.color_parse(textcolor)) 302 banner_status_label.modify_fg(gtk.STATE_NORMAL, 303 gtk.gdk.color_parse(textcolor)) 300 304 default_fg = False 301 305 else: 302 306 default_fg = True 303 307 if default_bg or default_fg: 304 308 self._on_style_set_event(banner_name_label, None, default_fg, 305 309 default_bg) 310 fg_color = banner_status_label.style.fg[gtk.STATE_SELECTED] 311 banner_status_label.modify_fg(gtk.STATE_NORMAL, fg_color) 306 312 307 313 def disconnect_style_event(self, widget): 308 314 if self.style_event_id: … … 1031 1037 jid = contact.jid 1032 1038 1033 1039 banner_name_label = self.xml.get_widget('banner_name_label') 1040 banner_status_label = self.xml.get_widget('banner_status_label') 1041 status_text = '' 1042 1034 1043 name = contact.get_shown_name() 1035 1044 if self.resource: 1036 1045 name += '/' + self.resource … … 1058 1067 status = contact.status 1059 1068 if status is not None: 1060 1069 banner_name_label.set_ellipsize(pango.ELLIPSIZE_END) 1061 status = helpers.reduce_chars_newlines(status, max_lines = 2)1070 status = helpers.reduce_chars_newlines(status, max_lines = 1) 1062 1071 status_escaped = gobject.markup_escape_text(status) 1063 1072 1064 1073 font_attrs, font_attrs_small = self.get_font_attrs() … … 1089 1098 label_text = '<span %s>%s</span><span %s>%s</span>' % \ 1090 1099 (font_attrs, name, font_attrs_small, acct_info) 1091 1100 if status_escaped: 1092 label_text += '\n<span %s>%s</span>' %\ 1093 (font_attrs_small, status_escaped) 1101 status_text = '<span %s>%s</span>' % (font_attrs_small, status_escaped) 1094 1102 banner_eventbox = self.xml.get_widget('banner_eventbox') 1095 1103 self.status_tooltip.set_tip(banner_eventbox, status) 1096 1104 self.status_tooltip.enable() … … 1098 1106 self.status_tooltip.disable() 1099 1107 # setup the label that holds name and jid 1100 1108 banner_name_label.set_markup(label_text) 1109 banner_status_label.set_markup(status_text) 1101 1110 1102 1111 def on_toggle_gpg_togglebutton(self, widget): 1103 1112 gajim.config.set_per('contacts', self.contact.jid, 'gpg_enabled',
