gedit r6836 - in trunk: . plugins/pythonconsole/pythonconsole
- From: pborelli svn gnome org
- To: svn-commits-list gnome org
- Subject: gedit r6836 - in trunk: . plugins/pythonconsole/pythonconsole
- Date: Sun, 11 Jan 2009 15:53:40 +0000 (UTC)
Author: pborelli
Date: Sun Jan 11 15:53:40 2009
New Revision: 6836
URL: http://svn.gnome.org/viewvc/gedit?rev=6836&view=rev
Log:
2009-01-11 Paolo Borelli <pborelli katamail com>
* plugins/pythonconsole/pythonconsole/console.py: properly handle
modifiers on key_press_event, patch by B. Clausius, bug #567364.
Modified:
trunk/ChangeLog
trunk/plugins/pythonconsole/pythonconsole/console.py
Modified: trunk/plugins/pythonconsole/pythonconsole/console.py
==============================================================================
--- trunk/plugins/pythonconsole/pythonconsole/console.py (original)
+++ trunk/plugins/pythonconsole/pythonconsole/console.py Sun Jan 11 15:53:40 2009
@@ -90,10 +90,13 @@
self.namespace = None
def __key_press_event_cb(self, view, event):
- if event.keyval == gtk.keysyms.d and event.state == gtk.gdk.CONTROL_MASK:
+ modifier_mask = gtk.accelerator_get_default_mod_mask()
+ event_state = event.state & modifier_mask
+
+ if event.keyval == gtk.keysyms.d and event_state == gtk.gdk.CONTROL_MASK:
self.destroy()
-
- elif event.keyval == gtk.keysyms.Return and event.state == gtk.gdk.CONTROL_MASK:
+
+ elif event.keyval == gtk.keysyms.Return and event_state == gtk.gdk.CONTROL_MASK:
# Get the command
buffer = view.get_buffer()
inp_mark = buffer.get_mark("input")
@@ -182,13 +185,18 @@
buffer = view.get_buffer()
inp = buffer.get_iter_at_mark(buffer.get_mark("input"))
cur = buffer.get_iter_at_mark(buffer.get_insert())
- return inp.compare(cur) == 0
+ if inp.compare(cur) == 0:
+ if not event_state:
+ buffer.place_cursor(inp)
+ return True
+ return False
- elif event.keyval == gtk.keysyms.Home:
+ elif (event.keyval == gtk.keysyms.KP_Home or event.keyval == gtk.keysyms.Home) and \
+ event_state == event_state & (gtk.gdk.SHIFT_MASK|gtk.gdk.CONTROL_MASK):
# Go to the begin of the command instead of the begin of the line
buffer = view.get_buffer()
inp = buffer.get_iter_at_mark(buffer.get_mark("input"))
- if event.state == gtk.gdk.SHIFT_MASK:
+ if event_state & gtk.gdk.SHIFT_MASK:
buffer.move_mark_by_name("insert", inp)
else:
buffer.place_cursor(inp)
@@ -212,7 +220,6 @@
cur = buffer.get_end_iter()
buffer.delete(inp, cur)
buffer.insert(inp, command)
- buffer.select_range(buffer.get_iter_at_mark(mark), buffer.get_end_iter())
self.view.grab_focus()
def history_add(self, line):
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]