Philipp Hörist pushed to branch master at gajim / gajim

Commits:

2 changed files:

Changes:

  • gajim/data/gui/xml_console_window.ui
    ... ... @@ -39,7 +39,7 @@
    39 39
                 <property name="can_focus">True</property>
    
    40 40
                 <property name="shadow_type">in</property>
    
    41 41
                 <child>
    
    42
    -              <object class="GtkTextView" id="input">
    
    42
    +              <object class="GtkTextView" id="input_entry">
    
    43 43
                     <property name="visible">True</property>
    
    44 44
                     <property name="can_focus">True</property>
    
    45 45
                   </object>
    

  • gajim/gtk/xml_console.py
    ... ... @@ -50,51 +50,51 @@ class XMLConsoleWindow(Gtk.Window):
    50 50
             self.incoming = True
    
    51 51
             self.outgoing = True
    
    52 52
             self.filter_dialog = None
    
    53
    +        self.last_stanza = None
    
    53 54
     
    
    54
    -        glade_objects = ['textview', 'input', 'scrolled_input', 'headerbar',
    
    55
    -                         'scrolled', 'actionbar', 'paned', 'box', 'menubutton']
    
    56
    -        self.builder = get_builder('xml_console_window.ui')
    
    57
    -        for obj in glade_objects:
    
    58
    -            setattr(self, obj, self.builder.get_object(obj))
    
    59
    -
    
    60
    -        self.set_titlebar(self.headerbar)
    
    55
    +        self._ui = get_builder('xml_console_window.ui')
    
    56
    +        self.set_titlebar(self._ui.headerbar)
    
    61 57
             jid = app.get_jid_from_account(account)
    
    62
    -        self.headerbar.set_subtitle(jid)
    
    58
    +        self._ui.headerbar.set_subtitle(jid)
    
    63 59
             self.set_default_size(600, 600)
    
    64
    -        self.add(self.box)
    
    60
    +        self.add(self._ui.box)
    
    65 61
     
    
    66
    -        self.paned.set_position(self.paned.get_property('max-position'))
    
    62
    +        self._ui.paned.set_position(self._ui.paned.get_property('max-position'))
    
    67 63
     
    
    68 64
             button = get_image_button(
    
    69 65
                 'edit-clear-all-symbolic', _('Clear'))
    
    70 66
             button.connect('clicked', self.on_clear)
    
    71
    -        self.actionbar.pack_start(button)
    
    67
    +        self._ui.actionbar.pack_start(button)
    
    72 68
     
    
    73 69
             button = get_image_button(
    
    74 70
                 'applications-system-symbolic', _('Filter'))
    
    75 71
             button.connect('clicked', self.on_filter_options)
    
    76
    -        self.actionbar.pack_start(button)
    
    72
    +        self._ui.actionbar.pack_start(button)
    
    77 73
     
    
    78 74
             button = get_image_button(
    
    79 75
                 'document-edit-symbolic', _('XML Input'), toggle=True)
    
    80 76
             button.connect('toggled', self.on_input)
    
    81
    -        self.actionbar.pack_start(button)
    
    77
    +        self._ui.actionbar.pack_start(button)
    
    78
    +
    
    79
    +        button = get_image_button('insert-text-symbolic', _('Paste Last Input'))
    
    80
    +        button.connect('clicked', self.on_paste_last)
    
    81
    +        self._ui.actionbar.pack_start(button)
    
    82 82
     
    
    83
    -        button = get_image_button('emblem-ok-symbolic', _('Send'))
    
    83
    +        button = get_image_button('mail-send-symbolic', _('Send'))
    
    84 84
             button.connect('clicked', self.on_send)
    
    85
    -        self.actionbar.pack_end(button)
    
    85
    +        self._ui.actionbar.pack_end(button)
    
    86 86
     
    
    87
    -        self.actionbar.pack_start(self.menubutton)
    
    87
    +        self._ui.actionbar.pack_start(self._ui.menubutton)
    
    88 88
     
    
    89 89
             self.create_tags()
    
    90 90
             self.show_all()
    
    91 91
     
    
    92
    -        self.scrolled_input.hide()
    
    93
    -        self.menubutton.hide()
    
    92
    +        self._ui.scrolled_input.hide()
    
    93
    +        self._ui.menubutton.hide()
    
    94 94
     
    
    95 95
             self.connect("destroy", self.on_destroy)
    
    96 96
             self.connect('key_press_event', self.on_key_press_event)
    
    97
    -        self.builder.connect_signals(self)
    
    97
    +        self._ui.connect_signals(self)
    
    98 98
     
    
    99 99
             app.ged.register_event_handler(
    
    100 100
                 'stanza-received', ged.GUI1, self._nec_stanza_received)
    
    ... ... @@ -102,7 +102,7 @@ class XMLConsoleWindow(Gtk.Window):
    102 102
                 'stanza-sent', ged.GUI1, self._nec_stanza_sent)
    
    103 103
     
    
    104 104
         def create_tags(self):
    
    105
    -        buffer_ = self.textview.get_buffer()
    
    105
    +        buffer_ = self._ui.textview.get_buffer()
    
    106 106
             in_color = app.css_config.get_value(
    
    107 107
                 '.gajim-incoming-nickname', StyleAttr.COLOR)
    
    108 108
             out_color = app.css_config.get_value(
    
    ... ... @@ -144,9 +144,9 @@ class XMLConsoleWindow(Gtk.Window):
    144 144
                     '</iq>')
    
    145 145
     
    
    146 146
             if input_text is not None:
    
    147
    -            buffer_ = self.input.get_buffer()
    
    147
    +            buffer_ = self._ui.input_entry.get_buffer()
    
    148 148
                 buffer_.set_text(input_text)
    
    149
    -            self.input.grab_focus()
    
    149
    +            self._ui.input_entry.grab_focus()
    
    150 150
     
    
    151 151
         def on_send(self, *args):
    
    152 152
             if app.connections[self.account].connected <= 1:
    
    ... ... @@ -156,7 +156,7 @@ class XMLConsoleWindow(Gtk.Window):
    156 156
                     _('Please make sure you are connected with "%s".') %
    
    157 157
                     self.account)
    
    158 158
                 return
    
    159
    -        buffer_ = self.input.get_buffer()
    
    159
    +        buffer_ = self._ui.input_entry.get_buffer()
    
    160 160
             begin_iter, end_iter = buffer_.get_bounds()
    
    161 161
             stanza = buffer_.get_text(begin_iter, end_iter, True)
    
    162 162
             if stanza:
    
    ... ... @@ -168,16 +168,23 @@ class XMLConsoleWindow(Gtk.Window):
    168 168
                     ErrorDialog(_('Invalid Node'), str(error))
    
    169 169
                     return
    
    170 170
                 app.connections[self.account].connection.send(node)
    
    171
    +            self.last_stanza = stanza
    
    171 172
                 buffer_.set_text('')
    
    172 173
     
    
    174
    +    def on_paste_last(self, button):
    
    175
    +        buffer_ = self._ui.input_entry.get_buffer()
    
    176
    +        if buffer_ is not None and self.last_stanza is not None:
    
    177
    +            buffer_.set_text(self.last_stanza)
    
    178
    +        self._ui.input_entry.grab_focus()
    
    179
    +
    
    173 180
         def on_input(self, button, *args):
    
    174 181
             if button.get_active():
    
    175
    -            self.paned.get_child2().show()
    
    176
    -            self.menubutton.show()
    
    177
    -            self.input.grab_focus()
    
    182
    +            self._ui.paned.get_child2().show()
    
    183
    +            self._ui.menubutton.show()
    
    184
    +            self._ui.input_entry.grab_focus()
    
    178 185
             else:
    
    179
    -            self.paned.get_child2().hide()
    
    180
    -            self.menubutton.hide()
    
    186
    +            self._ui.paned.get_child2().hide()
    
    187
    +            self._ui.menubutton.hide()
    
    181 188
     
    
    182 189
         def on_filter_options(self, *args):
    
    183 190
             if self.filter_dialog:
    
    ... ... @@ -215,7 +222,7 @@ class XMLConsoleWindow(Gtk.Window):
    215 222
             self.filter_dialog = None
    
    216 223
     
    
    217 224
         def on_clear(self, *args):
    
    218
    -        self.textview.get_buffer().set_text('')
    
    225
    +        self._ui.textview.get_buffer().set_text('')
    
    219 226
     
    
    220 227
         def on_destroy(self, *args):
    
    221 228
             del app.interface.instances[self.account]['xml_console']
    
    ... ... @@ -230,7 +237,7 @@ class XMLConsoleWindow(Gtk.Window):
    230 237
         def on_option(self, value, data):
    
    231 238
             setattr(self, data, value)
    
    232 239
             value = not value
    
    233
    -        table = self.textview.get_buffer().get_tag_table()
    
    240
    +        table = self._ui.textview.get_buffer().get_tag_table()
    
    234 241
             tag = table.lookup(data)
    
    235 242
             if data in ('incoming', 'outgoing'):
    
    236 243
                 if value:
    
    ... ... @@ -256,9 +263,9 @@ class XMLConsoleWindow(Gtk.Window):
    256 263
             if not stanza:
    
    257 264
                 return
    
    258 265
     
    
    259
    -        at_the_end = util.at_the_end(self.scrolled)
    
    266
    +        at_the_end = util.at_the_end(self._ui.scrolled)
    
    260 267
     
    
    261
    -        buffer_ = self.textview.get_buffer()
    
    268
    +        buffer_ = self._ui.textview.get_buffer()
    
    262 269
             end_iter = buffer_.get_end_iter()
    
    263 270
     
    
    264 271
             type_ = kind
    
    ... ... @@ -278,4 +285,4 @@ class XMLConsoleWindow(Gtk.Window):
    278 285
             buffer_.insert_with_tags_by_name(end_iter, stanza, type_, kind)
    
    279 286
     
    
    280 287
             if at_the_end:
    
    281
    -            GLib.idle_add(util.scroll_to_end, self.scrolled)
    288
    +            GLib.idle_add(util.scroll_to_end, self._ui.scrolled)