changeset 20e2cb2a72e3 in /home/hg/repos/gajim

details:http://hg.gajim.org/gajim?cmd=changeset;node=20e2cb2a72e3
description: make output of adhoc command selectable. Fixes #3697

diffstat:

 data/gui/adhoc_commands_window.ui |   1 +
 src/adhoc_commands.py             |   1 +
 src/dataforms_widget.py           |  16 +++++++++++++---
 3 files changed, 15 insertions(+), 3 deletions(-)

diffs (83 lines):

diff -r ca46799fd462 -r 20e2cb2a72e3 data/gui/adhoc_commands_window.ui
--- a/data/gui/adhoc_commands_window.ui Tue Apr 17 11:49:48 2012 +0200
+++ b/data/gui/adhoc_commands_window.ui Tue Apr 17 15:23:32 2012 +0200
@@ -172,6 +172,7 @@
                   <object class="GtkLabel" id="notes_label">
                     <property name="visible">True</property>
                     <property name="label" translatable="yes">Please wait 
while the command is sending...</property>
+                    <property name="selectable">True</property>
                   </object>
                   <packing>
                     <property name="expand">False</property>
diff -r ca46799fd462 -r 20e2cb2a72e3 src/adhoc_commands.py
--- a/src/adhoc_commands.py     Tue Apr 17 11:49:48 2012 +0200
+++ b/src/adhoc_commands.py     Tue Apr 17 15:23:32 2012 +0200
@@ -408,6 +408,7 @@
 
             self.data_form_widget.set_sensitive(True)
             try:
+                self.data_form_widget.selectable = True
                 self.data_form_widget.data_form = self.dataform
             except dataforms.Error:
                 self.stage5(error=_('Service sent malformed data'),
diff -r ca46799fd462 -r 20e2cb2a72e3 src/dataforms_widget.py
--- a/src/dataforms_widget.py   Tue Apr 17 11:49:48 2012 +0200
+++ b/src/dataforms_widget.py   Tue Apr 17 15:23:32 2012 +0200
@@ -52,6 +52,7 @@
         gtk.Alignment.__init__(self, xscale=1.0, yscale=1.0)
 
         self._data_form = None
+        self.selectable = False
 
         self.xml = gtkgui_helpers.get_gtk_builder('data_form_window.ui',
                 'data_form_vbox')
@@ -147,7 +148,8 @@
 
         self.clean_data_form()
 
-        self.singleform = SingleForm(self._data_form)
+        self.singleform = SingleForm(self._data_form,
+            selectable=self.selectable)
         def _on_validated(widget):
             self.emit('validated')
         self.singleform.connect('validated', _on_validated)
@@ -314,7 +316,7 @@
         validated = (gobject.SIGNAL_RUN_LAST | gobject.SIGNAL_ACTION, None, ())
     )
 
-    def __init__(self, dataform):
+    def __init__(self, dataform, selectable=False):
         assert isinstance(dataform, dataforms.SimpleDataForm)
 
         gtk.Table.__init__(self)
@@ -368,6 +370,7 @@
 
                 commonwidget = False
                 widget = gtk.Label(field.value)
+                widget.set_property('selectable', selectable)
                 widget.set_line_wrap(True)
                 self.attach(widget, leftattach, rightattach, linecounter,
                         linecounter+1, xoptions=gtk.FILL, yoptions=gtk.FILL)
@@ -506,7 +509,13 @@
                 textwidget.get_buffer().connect('changed',
                         self.on_text_multi_textbuffer_changed, field)
                 textwidget.get_buffer().set_text(field.value)
-                textwidget.set_sensitive(readwrite)
+                if readwrite:
+                    textwidget.set_sensitive(True)
+                else:
+                    if selectable:
+                        textwidget.set_editable(True)
+                    else:
+                        textwidget.set_sensitive(False)
 
                 widget = gtk.ScrolledWindow()
                 widget.add(textwidget)
@@ -535,6 +544,7 @@
                 else:
                     commonwidget=False
                     widget = gtk.Label(field.value)
+                    widget.set_property('selectable', selectable)
                     widget.set_sensitive(True)
                     widget.set_alignment(0.0, 0.5)
                     widget=decorate_with_tooltip(widget, field)
_______________________________________________
Commits mailing list
[email protected]
http://lists.gajim.org/cgi-bin/listinfo/commits

Reply via email to