/b-gtk/fix-viz

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/b-gtk/fix-viz

« back to all changes in this revision

Viewing changes to tags.py

  • Committer: Daniel Schierbeck
  • Date: 2007-10-14 15:33:50 UTC
  • mto: This revision was merged to the branch mainline in revision 317.
  • Revision ID: daniel.schierbeck@gmail.com-20071014153350-ejjs1qt77w66fzzr
Refactored the GTK window code, creating a single base window class that handles keyboard events.

Show diffs side-by-side

added added

removed removed

Lines of Context:
24
24
import gtk
25
25
 
26
26
from bzrlib.plugins.gtk.logview import LogView
 
27
from bzrlib.plugins.gtk.window import Window
27
28
 
28
29
from dialog import error_dialog
29
30
from revidbox import RevisionSelectionBox
30
31
 
31
32
 
32
 
class TagsWindow(gtk.Window):
 
33
class TagsWindow(Window):
33
34
    """ Tags window. Allows the user to view/add/remove tags. """
34
35
    def __init__(self, branch, parent=None):
35
36
        """ Initialize the Tags window. """
36
 
        gtk.Window.__init__(self, gtk.WINDOW_TOPLEVEL)
 
37
        Window.__init__(self, parent)
37
38
 
38
39
        # Get arguments
39
40
        self.branch = branch
40
 
        self._parent = parent
41
41
 
42
42
        # Create the widgets
43
43
        self._button_add = gtk.Button(stock=gtk.STOCK_ADD)
60
60
        self._button_refresh.connect('clicked', self._on_refresh_clicked)
61
61
        self._button_remove.connect('clicked', self._on_remove_clicked)
62
62
        self._treeview_tags.connect('cursor-changed', self._on_treeview_changed)
63
 
        self.connect('key-press-event', self._on_key_pressed)
64
 
        if parent is None:
65
 
            self.connect('delete-event', gtk.main_quit)
66
63
        
67
64
        # Set properties
68
65
        self.set_title(_("Tags"))
179
176
        if self._parent is None:
180
177
            gtk.main_quit()
181
178
 
182
 
    def _on_key_pressed(self, widget, event):
183
 
        """ Key press event handler. """
184
 
        keyname = gtk.gdk.keyval_name(event.keyval)
185
 
        func = getattr(self, '_on_key_press_' + keyname, None)
186
 
        if func:
187
 
            return func(event)
188
 
 
189
 
    def _on_key_press_w(self, event):
190
 
        if event.state & gtk.gdk.CONTROL_MASK:
191
 
            self.destroy()
192
 
            if self._parent is None:
193
 
                gtk.main_quit()
194
 
 
195
 
    def _on_key_press_q(self, event):
196
 
        if event.state & gtk.gdk.CONTROL_MASK:
197
 
            gtk.main_quit()
198
 
    
199
179
    def _on_refresh_clicked(self, widget):
200
180
        """ Refresh button event handler. """
201
181
        self._refresh_tags()