Added ctrl+arrows to navigate between plots.
This commit is contained in:
		@@ -189,6 +189,11 @@ class FluentApp:
 | 
			
		||||
                   'on_report_bug1_activate' : (self.on_help_report_bug),
 | 
			
		||||
                   'on_small_view1_activate' : (self.on_multiple_view),
 | 
			
		||||
                   'on_large_view1_activate' : (self.on_single_view),
 | 
			
		||||
 | 
			
		||||
                   'on_left1_activate' : (self.on_left),
 | 
			
		||||
                   'on_right1_activate' : (self.on_right),
 | 
			
		||||
                   'on_up1_activate' : (self.on_up),
 | 
			
		||||
                   'on_down1_activate' : (self.on_down),
 | 
			
		||||
                  }
 | 
			
		||||
        self.widget_tree.signal_autoconnect(signals)
 | 
			
		||||
 | 
			
		||||
@@ -341,6 +346,18 @@ class FluentApp:
 | 
			
		||||
    def on_view_changed(self, widget, vf):
 | 
			
		||||
        self._update_toolbar(vf.get_view())
 | 
			
		||||
 | 
			
		||||
    def on_left(self, item):
 | 
			
		||||
        self.main_view.move_focus_left()
 | 
			
		||||
 | 
			
		||||
    def on_right(self, item):
 | 
			
		||||
        self.main_view.move_focus_right()
 | 
			
		||||
 | 
			
		||||
    def on_up(self, item):
 | 
			
		||||
        self.main_view.move_focus_up()
 | 
			
		||||
 | 
			
		||||
    def on_down(self, item):
 | 
			
		||||
        self.main_view.move_focus_down()
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
gobject.signal_new('table-size-set', TableSizeSelection, 
 | 
			
		||||
                   gobject.SIGNAL_RUN_LAST,
 | 
			
		||||
 
 | 
			
		||||
@@ -351,6 +351,37 @@ class MainView (gtk.Notebook):
 | 
			
		||||
                else:
 | 
			
		||||
                    self._views[x, y].set_view(None)
 | 
			
		||||
 | 
			
		||||
    def get_active_view_index(self):
 | 
			
		||||
        current = self.get_active_small_view()
 | 
			
		||||
        for i in range(self._views.xsize):
 | 
			
		||||
            for j in range(self._views.ysize):
 | 
			
		||||
                if self._views[i, j] == current:
 | 
			
		||||
                    return (i, j)
 | 
			
		||||
        return None
 | 
			
		||||
 | 
			
		||||
    def set_active_view_by_index(self, x, y):
 | 
			
		||||
        self._views[x, y].focus()
 | 
			
		||||
 | 
			
		||||
    def move_focus_left(self):
 | 
			
		||||
        x, y = self.get_active_view_index()
 | 
			
		||||
        if x > 0:
 | 
			
		||||
            self.set_active_view_by_index(x-1, y)
 | 
			
		||||
 | 
			
		||||
    def move_focus_right(self):
 | 
			
		||||
        x, y = self.get_active_view_index()
 | 
			
		||||
        if x < self._views.xsize-1:
 | 
			
		||||
            self.set_active_view_by_index(x+1, y)
 | 
			
		||||
 | 
			
		||||
    def move_focus_up(self):
 | 
			
		||||
        x, y = self.get_active_view_index()
 | 
			
		||||
        if y > 0:
 | 
			
		||||
            self.set_active_view_by_index(x, y-1)
 | 
			
		||||
 | 
			
		||||
    def move_focus_down(self):
 | 
			
		||||
        x, y = self.get_active_view_index()
 | 
			
		||||
        if y < self._views.ysize-1:
 | 
			
		||||
            self.set_active_view_by_index(x, y+1)
 | 
			
		||||
 | 
			
		||||
    def _on_view_focus_changed(self, widget, vf, focused):
 | 
			
		||||
        if focused:
 | 
			
		||||
            self.emit('view-changed', vf)
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user