# ChangeLog for app-editors/gedit-plugins
# Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/app-editors/gedit-plugins/ChangeLog,v 1.7 2010/03/08 23:44:07 eva Exp $
+# $Header: /var/cvsroot/gentoo-x86/app-editors/gedit-plugins/ChangeLog,v 1.8 2010/06/18 13:10:29 pacho Exp $
+
+*gedit-plugins-2.30.0 (18 Jun 2010)
+
+ 18 Jun 2010; Pacho Ramos <pacho@gentoo.org> +gedit-plugins-2.30.0.ebuild,
+ +files/gedit-plugins-2.30.0-background-color.patch,
+ +files/gedit-plugins-2.30.0-commander-menu.patch,
+ +files/gedit-plugins-2.30.0-copy-paste.patch,
+ +files/gedit-plugins-2.30.0-edit-menu.patch,
+ +files/gedit-plugins-2.30.0-find-replace.patch,
+ +files/gedit-plugins-2.30.0-keybinding-toggle.patch,
+ +files/gedit-plugins-2.30.0-replace-all.patch:
+ Version bump for Gnome 2.30
08 Mar 2010; Gilles Dartiguelongue <eva@gentoo.org>
gedit-plugins-2.28.0.ebuild:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
+AUX gedit-plugins-2.30.0-background-color.patch 1357 RMD160 76b29218301225311295e30c6ccefcf6f922d592 SHA1 796785b3b9240154ffd72398db7bd8f96a556af2 SHA256 e4ec1d87f37311aa5fd95f30e19a7bc21ca23bf94d458f28906fc8d99758a7a8
+AUX gedit-plugins-2.30.0-commander-menu.patch 3083 RMD160 ba1292f57108328a17d9f5f25133379a0487f812 SHA1 12eec192e43c9791d27cc940f5d2f97aa2716b69 SHA256 4686d1a1d7601fbb8ef0605afa1e0d26a9378b59714b3fbb40bbe4256505dc11
+AUX gedit-plugins-2.30.0-copy-paste.patch 2456 RMD160 dfb05735efa81e4d9cae7fd626db09aec74ee80c SHA1 a45eefc79bf9d1f7008e5b732fbcea50742a8dd0 SHA256 7d0ca7a1181171f55734a3b0734aa97655e3dfe50a481415fc52ee951885e171
+AUX gedit-plugins-2.30.0-edit-menu.patch 4243 RMD160 05d811691ba053d5ddd391f39e18fa76e339fafa SHA1 f956fb7872108cfde79c87af1f6c882af1662047 SHA256 dabf39d4aab37867f190c9b79f2f8cc119688082632a750ab791bf60728b1b72
+AUX gedit-plugins-2.30.0-find-replace.patch 2338 RMD160 39d780467d6d72ea753f2836039b4692fb532122 SHA1 ec96e6238c694dd689f5da47fb4f8a8ebc8a3e19 SHA256 adcc5c4f2a6a3973862cd6ff93b804bc127dad39239eb70b5238e3991d32834f
+AUX gedit-plugins-2.30.0-keybinding-toggle.patch 2266 RMD160 17d0ab876ffebf85e435d4b2ea0e21a81ba79e20 SHA1 09ace961c9a109c5142d1d2b037a3062fc1a3913 SHA256 beb89349a7d5d8ab7a18fc8b0aa191eaa2801fbfbee006b2f4e96b64704bc777
+AUX gedit-plugins-2.30.0-replace-all.patch 1305 RMD160 97e01de393390f8642398c8c6a05712ac0e37149 SHA1 c642f47694241efcbf9389d316524af550e20c73 SHA256 1bfef4341f0fe8dd8b9f89ee3e99a4522338458a1d3b6ca34480a062160b8b81
DIST gedit-plugins-2.26.3.tar.bz2 557042 RMD160 f6b4e276c8c98a151c1be43739149283848f7297 SHA1 f3c7bcc4a4f9093e00746634a219a3f8a78923bd SHA256 86b3c5c1dcee826a8ac693dc9e4203af3027cee419394f9ac4e2be1dab637036
DIST gedit-plugins-2.28.0.tar.bz2 541165 RMD160 124ffb9b85cc760b9990be2ea49d8833dfb54c4c SHA1 72394b5b8e289e0b83f07d66316e5f8f77d73fcb SHA256 d615d2f26e66d7a23f37205089096a60faa2cb6e9108f9034cf2e66b940bf2ca
+DIST gedit-plugins-2.30.0.tar.bz2 598898 RMD160 ef07b738c5936718a0ed9fdb50ddc3e4ee5b549b SHA1 0e0c3bc9655b0506e6be0e2ffc0611e47a35c059 SHA256 8a177f2455ee5c58bc4a19df013d5698b14ae6a3f31ed48347904cf467a79509
EBUILD gedit-plugins-2.26.3.ebuild 1388 RMD160 1837c5cfcda44f84a7b72800d20692c7f24fc277 SHA1 5e4bb3f4b81cd39328d4429bc333f1e694c5df48 SHA256 8dfb47dee9f92f384150003e1ce4bbff990fdbd2fb20e43d55bf0fc7ab4f6266
EBUILD gedit-plugins-2.28.0.ebuild 2037 RMD160 bcf49ac5c87564829084534a93d94af56e1d91f9 SHA1 c47fa4011b62f31376b9d699e0f95d8a4cc014f4 SHA256 ceedc065c89339ada390a715df239373ad785786f9843c34d38c916e8a2d68f8
-MISC ChangeLog 1586 RMD160 4f878cc9e24642a2d911903d51119955e24556d1 SHA1 73d80dc7dbfd07ca508a56ace735551fcbfbb353 SHA256 d10b260a03518bdc3ee6aad1cff62134d3c71cd5dba461ee17d417a202408930
+EBUILD gedit-plugins-2.30.0.ebuild 2584 RMD160 fd72d28dc9a14f5a01131ac879c5145e3de2ed4f SHA1 fadba3c37ba7d1e7883d5b63b099af40dc771b2b SHA256 d1387de30916b8fa3f293e5025442334440bb39ff9cd6b48fc2964da2198951c
+MISC ChangeLog 2087 RMD160 951df49a4fa60a51fd55bdc56260132a48addc6a SHA1 9612eab2005bb51e52f68bc3b4f2bae107968037 SHA256 ec48bdb531f84370cbae42da210b1a0b97ba3ff3a9c8d1824a30c44c5393e940
MISC metadata.xml 1138 RMD160 4f731728ecc862e7feeae02cb31199f9860f1544 SHA1 d66e5bf969d60c4c1aaf8b5d2c6d4b785b151c16 SHA256 35055675c727bcdcefa37c5c9323db6662f8d9fb43b538da91b64f9c79b07103
-----BEGIN PGP SIGNATURE-----
-Version: GnuPG v2.0.14 (GNU/Linux)
+Version: GnuPG v2.0.15 (GNU/Linux)
-iEYEARECAAYFAkuVi80ACgkQ1fmVwcYIWAa+rwCeKtUxiWOvjdcOBkrqATK+j2wK
-bxkAoM0YDmaLo0jji8fyzqu1zgCzgxAZ
-=jhae
+iEYEARECAAYFAkwbcEsACgkQCaWpQKGI+9TvtgCfdhH2i9R5Xd1KQcg/HupGbFWk
+/xUAn1aoED98PY5Fl7zSzf1MLzDhpS+J
+=3Vi9
-----END PGP SIGNATURE-----
--- /dev/null
+From 37a1648c30cbc23d5425c34f6db29aeebf330800 Mon Sep 17 00:00:00 2001
+From: Jesse van den Kieboom <jesse.vandenkieboom@epfl.ch>
+Date: Mon, 03 May 2010 11:43:40 +0000
+Subject: Fix background color of the commander entry
+
+---
+diff --git a/plugins/commander/commander/entry.py b/plugins/commander/commander/entry.py
+index 4e864d7..36ed4e1 100644
+--- a/plugins/commander/commander/entry.py
++++ b/plugins/commander/commander/entry.py
+@@ -98,8 +98,9 @@ class Entry(gtk.EventBox):
+ ct.rectangle(evnt.area.x, evnt.area.y, evnt.area.width, evnt.area.height)
+
+ bg = self.background_color()
+- ct.set_source_rgb(bg[0], bg[1], bg[1])
++ ct.set_source_rgb(bg[0], bg[1], bg[2])
+ ct.fill()
++
+ return False
+
+ def on_expose(self, widget, evnt):
+@@ -143,8 +144,22 @@ class Entry(gtk.EventBox):
+
+ def background_color(self):
+ bg = self._view.get_style().base[self._view.state]
+-
+- return [bg.red / 65535.0 * 1.1, bg.green / 65535.0 * 1.1, bg.blue / 65535.0 * 0.9, 0.8]
++
++ vals = [bg.red, bg.green, bg.blue, 1]
++
++ for i in range(3):
++ val = vals[i] / 65535.0
++
++ if val < 0.0001:
++ vals[i] = 0.1
++ elif val > 0.9999:
++ vals[i] = 0.9
++ elif val < 0.1:
++ vals[i] = val * 1.2
++ else:
++ vals[i] = val * 0.8
++
++ return vals
+
+ def on_entry_focus_out(self, widget, evnt):
+ if self._entry.flags() & gtk.SENSITIVE:
+--
+cgit v0.8.3.1
--- /dev/null
+From ad60cf271784d10aa6fadf9bef6254f8f1df82ad Mon Sep 17 00:00:00 2001
+From: Jesse van den Kieboom <jesse.vandenkieboom@epfl.ch>
+Date: Mon, 03 May 2010 11:46:58 +0000
+Subject: Added commander toggle menu item
+
+---
+diff --git a/plugins/commander/commander/windowhelper.py b/plugins/commander/commander/windowhelper.py
+index 15dc787..9c71f28 100644
+--- a/plugins/commander/commander/windowhelper.py
++++ b/plugins/commander/commander/windowhelper.py
+@@ -2,43 +2,79 @@ import gedit
+ import gtk
+ from entry import Entry
+ from info import Info
++from gpdefs import *
++
++try:
++ gettext.bindtextdomain(GETTEXT_PACKAGE, GP_LOCALEDIR)
++ _ = lambda s: gettext.dgettext(GETTEXT_PACKAGE, s);
++except:
++ _ = lambda s: s
++
++ui_str = """
++<ui>
++ <menubar name="MenuBar">
++ <menu name="EditMenu" action="Edit">
++ <placeholder name="EditOps_5">
++ <menuitem name="CommanderEditMode" action="CommanderModeAction"/>
++ </placeholder>
++ </menu>
++ </menubar>
++</ui>
++"""
+
+ class WindowHelper:
+ def __init__(self, plugin, window):
+ self._window = window
+ self._plugin = plugin
+ self._entry = None
+- accel_path = '<gedit>/plugins/commander/activate'
++ self._view = None
+
+- accel = gtk.accel_map_lookup_entry(accel_path)
++ self.install_ui()
+
+- if accel == None:
+- gtk.accel_map_add_entry(accel_path, gtk.keysyms.period, gtk.gdk.CONTROL_MASK)
++ def install_ui(self):
++ manager = self._window.get_ui_manager()
++
++ self._action_group = gtk.ActionGroup("GeditCommanderPluginActions")
++ self._action_group.add_toggle_actions([('CommanderModeAction', None, _('Commander Mode'), '<Ctrl>period', _('Start commander mode'), self.on_commander_mode)])
++
++ manager.insert_action_group(self._action_group, -1)
++ self._merge_id = manager.add_ui_from_string(ui_str)
++
++ def uninstall_ui(self):
++ manager = self._window.get_ui_manager()
++ manager.remove_ui(self._merge_id)
++ manager.remove_action_group(self._action_group)
++
++ manager.ensure_update()
+
+- self._accel = gtk.AccelGroup()
+- self._accel.connect_by_path(accel_path, self._do_command)
+- self._window.add_accel_group(self._accel)
+-
+ def deactivate(self):
+- self._window.remove_accel_group(self._accel)
++ self.uninstall_ui()
++
+ self._window = None
+ self._plugin = None
+
+ def update_ui(self):
+ pass
+-
+- def _do_command(self, group, obj, keyval, mod):
++
++ def on_commander_mode(self, action):
+ view = self._window.get_active_view()
+
+ if not view:
+ return False
+
+- if not self._entry:
+- self._entry = Entry(self._window.get_active_view())
+- self._entry.connect('destroy', self.on_entry_destroy)
++ if action.get_active():
++ if not self._entry or view != self._view:
++ self._entry = Entry(view)
++ self._entry.connect('destroy', self.on_entry_destroy)
++
++ self._entry.grab_focus()
++ self._view = view
++ elif self._entry:
++ self._entry.destroy()
++ self._view = None
+
+- self._entry.grab_focus()
+ return True
+
+ def on_entry_destroy(self, widget):
+ self._entry = None
++ self._action_group.get_action('CommanderModeAction').set_active(False)
+--
+cgit v0.8.3.1
--- /dev/null
+From 0372583cc0af915e84558caa515429bbb372358d Mon Sep 17 00:00:00 2001
+From: Jesse van den Kieboom <jesse@icecrew.nl>
+Date: Thu, 29 Apr 2010 17:05:40 +0000
+Subject: Add Ctrl+Shift+C/V copy paste accelerators to terminal
+
+---
+diff --git a/plugins/terminal/terminal.py b/plugins/terminal/terminal.py
+index 902b424..28ee996 100644
+--- a/plugins/terminal/terminal.py
++++ b/plugins/terminal/terminal.py
+@@ -94,6 +94,19 @@ class GeditTerminal(gtk.HBox):
+ self._vte.connect("popup-menu", self.on_vte_popup_menu)
+ self._vte.connect("child-exited", lambda term: term.fork_command())
+
++ self._accel_base = '<gedit>/plugins/terminal'
++ self._accels = {
++ 'copy-clipboard': [gtk.keysyms.C, gtk.gdk.CONTROL_MASK | gtk.gdk.SHIFT_MASK, self.copy_clipboard],
++ 'paste-clipboard': [gtk.keysyms.V, gtk.gdk.CONTROL_MASK | gtk.gdk.SHIFT_MASK, self.paste_clipboard]
++ }
++
++ for name in self._accels:
++ path = self._accel_base + '/' + name
++ accel = gtk.accel_map_lookup_entry(path)
++
++ if accel == None:
++ gtk.accel_map_add_entry(path, self._accels[name][0], self._accels[name][1])
++
+ self._vte.fork_command()
+
+ def do_grab_focus(self):
+@@ -196,6 +209,15 @@ class GeditTerminal(gtk.HBox):
+ elif modifiers == gtk.gdk.CONTROL_MASK | gtk.gdk.SHIFT_MASK:
+ self.get_toplevel().child_focus(gtk.DIR_TAB_BACKWARD)
+ return True
++
++ for name in self._accels:
++ path = self._accel_base + '/' + name
++ entry = gtk.accel_map_lookup_entry(path)
++
++ if entry and entry[0] == event.keyval and entry[1] == modifiers:
++ self._accels[name][2]()
++ return True
++
+ return False
+
+ def on_vte_button_press(self, term, event):
+@@ -212,11 +234,13 @@ class GeditTerminal(gtk.HBox):
+
+ item = gtk.ImageMenuItem(gtk.STOCK_COPY)
+ item.connect("activate", lambda menu_item: self.copy_clipboard())
++ item.set_accel_path(self._accel_base + '/copy-clipboard')
+ item.set_sensitive(self._vte.get_has_selection())
+ menu.append(item)
+
+ item = gtk.ImageMenuItem(gtk.STOCK_PASTE)
+ item.connect("activate", lambda menu_item: self.paste_clipboard())
++ item.set_accel_path(self._accel_base + '/paste-clipboard')
+ menu.append(item)
+
+ self.emit("populate-popup", menu)
+--
+cgit v0.8.3.1
--- /dev/null
+From 0c4ef746e91cb8987430b89f22cb4699e06410fe Mon Sep 17 00:00:00 2001
+From: Jesse van den Kieboom <jesse.vandenkieboom@epfl.ch>
+Date: Mon, 03 May 2010 11:48:21 +0000
+Subject: Make multi edit menu item proper toggle item
+
+---
+diff --git a/plugins/multiedit/multiedit/documenthelper.py b/plugins/multiedit/multiedit/documenthelper.py
+index 58ccac7..df08c7f 100644
+--- a/plugins/multiedit/multiedit/documenthelper.py
++++ b/plugins/multiedit/multiedit/documenthelper.py
+@@ -69,6 +69,16 @@ class DocumentHelper(Signals):
+ self.reset_buffer(self._view.get_buffer())
+
+ self.initialize_event_handlers()
++ self.toggle_callback = None
++
++ def get_view(self):
++ return self._view
++
++ def set_toggle_callback(self, callback, data):
++ self.toggle_callback = lambda: callback(data)
++
++ def enabled(self):
++ return self._in_mode
+
+ def _update_selection_tag(self):
+ style = self._view.get_style()
+@@ -147,12 +157,21 @@ class DocumentHelper(Signals):
+ self._view.set_border_window_size(gtk.TEXT_WINDOW_TOP, 0)
+ self.remove_edit_points()
+
++ if self.toggle_callback:
++ self.toggle_callback()
++
+ def enable_multi_edit(self):
+ self._view.set_border_window_size(gtk.TEXT_WINDOW_TOP, 20)
+ self._in_mode = True
+
+- def toggle_multi_edit(self):
+- if self._in_mode:
++ if self.toggle_callback:
++ self.toggle_callback()
++
++ def toggle_multi_edit(self, enabled):
++ if self.enabled() == enabled:
++ return
++
++ if self.enabled():
+ self.disable_multi_edit()
+ else:
+ self.enable_multi_edit()
+diff --git a/plugins/multiedit/multiedit/windowhelper.py b/plugins/multiedit/multiedit/windowhelper.py
+index d9941ae..adae3af 100644
+--- a/plugins/multiedit/multiedit/windowhelper.py
++++ b/plugins/multiedit/multiedit/windowhelper.py
+@@ -58,14 +58,15 @@ class WindowHelper(Signals):
+
+ self.connect_signal(window, 'tab-added', self.on_tab_added)
+ self.connect_signal(window, 'tab-removed', self.on_tab_removed)
+-
++ self.connect_signal(window, 'active-tab-changed', self.on_active_tab_changed)
++
+ self.install_ui()
+
+ def install_ui(self):
+ manager = self._window.get_ui_manager()
+
+ self._action_group = gtk.ActionGroup("GeditMultiEditPluginActions")
+- self._action_group.add_actions(
++ self._action_group.add_toggle_actions(
+ [('MultiEditModeAction', None, _('Multi Edit Mode'), '<Ctrl><Shift>C', _('Start multi edit mode'), self.on_multi_edit_mode)])
+
+ manager.insert_action_group(self._action_group, -1)
+@@ -95,26 +96,40 @@ class WindowHelper(Signals):
+ def add_document_helper(self, view):
+ if view.get_data(constants.DOCUMENT_HELPER_KEY) != None:
+ return
+-
+- DocumentHelper(view)
++
++ helper = DocumentHelper(view)
++ helper.set_toggle_callback(self.on_multi_edit_toggled, helper)
+
+ def remove_document_helper(self, view):
+ helper = view.get_data(constants.DOCUMENT_HELPER_KEY)
+
+ if helper != None:
+ helper.stop()
+-
++
++ def get_action(self):
++ return self._action_group.get_action('MultiEditModeAction')
++
++ def on_multi_edit_toggled(self, helper):
++ if helper.get_view() == self._window.get_active_view():
++ self.get_action().set_active(helper.enabled())
++
+ def on_tab_added(self, window, tab):
+ self.add_document_helper(tab.get_view())
+
+ def on_tab_removed(self, window, tab):
+ self.remove_document_helper(tab.get_view())
+-
++
++ def on_active_tab_changed(self, window, tab):
++ view = tab.get_view()
++ helper = view.get_data(constants.DOCUMENT_HELPER_KEY)
++
++ self.get_action().set_active(helper != None and helper.enabled())
++
+ def on_multi_edit_mode(self, action):
+ view = self._window.get_active_view()
+ helper = view.get_data(constants.DOCUMENT_HELPER_KEY)
+
+ if helper != None:
+- helper.toggle_multi_edit()
++ helper.toggle_multi_edit(self.get_action().get_active())
+
+ # ex:ts=4:et:
+--
+cgit v0.8.3.1
--- /dev/null
+From 30ede3f5966a87b7cc3591dc3ea856855abf953a Mon Sep 17 00:00:00 2001
+From: Jesse van den Kieboom <jesse@icecrew.nl>
+Date: Sun, 11 Apr 2010 20:27:18 +0000
+Subject: Fix issues with find/replace in selections
+
+---
+diff --git a/plugins/commander/modules/find/finder.py b/plugins/commander/modules/find/finder.py
+index eb732b9..3abc16b 100644
+--- a/plugins/commander/modules/find/finder.py
++++ b/plugins/commander/modules/find/finder.py
+@@ -71,15 +71,19 @@ class Finder:
+ ret = self.do_find(bounds)
+
+ # Check if we need to wrap around if nothing is found
+- startiter = buf.get_iter_at_mark(self.search_start_mark)
++ if self.search_start_mark:
++ startiter = buf.get_iter_at_mark(self.search_start_mark)
++ else:
++ startiter = None
++
+ startbound = buf.get_iter_at_mark(self.search_boundaries.start)
+
+- if not ret and not self.from_start and not startiter.equal(startbound):
++ if not ret and not self.from_start and (startiter and not startiter.equal(startbound)):
+ self.from_start = True
+
+ # Try from beginning
+ bounds[0] = buf.get_start_iter()
+- bounds[1] = buf.get_iter_at_mark(self.search_start_mark)
++ bounds[1] = startiter
+
+ # Make sure to just stop at the start of the previous
+ self.search_boundaries.end = self.search_start_mark
+@@ -131,6 +135,9 @@ class Finder:
+ # end, and then continue to start from the beginning of the buffer if needed
+ bounds = list(buf.get_bounds())
+ self.search_start_mark = buf.create_mark(None, buf.get_iter_at_mark(buf.get_insert()), True)
++ selection = False
++ else:
++ selection = True
+
+ bounds[0].order(bounds[1])
+
+@@ -139,7 +146,10 @@ class Finder:
+ self.search_boundaries.end = self._create_or_move(Finder.FIND_ENDMARK, bounds[1], False)
+
+ # Set the result marks so the next find will start at the correct location
+- piter = buf.get_iter_at_mark(buf.get_insert())
++ if selection:
++ piter = bounds[0]
++ else:
++ piter = buf.get_iter_at_mark(buf.get_insert())
+
+ self.find_result.start = self._create_or_move(Finder.FIND_RESULT_STARTMARK, piter, True)
+ self.find_result.end = self._create_or_move(Finder.FIND_RESULT_ENDMARK, piter, False)
+@@ -270,4 +280,4 @@ class Finder:
+ buf.end_user_action()
+
+ self.cancel()
+- yield commands.result.DONE
+\ No newline at end of file
++ yield commands.result.DONE
+--
+cgit v0.8.3.1
--- /dev/null
+From f02718befc0f65350a90acc636106d8f9377c252 Mon Sep 17 00:00:00 2001
+From: Jesse van den Kieboom <jesse@icecrew.nl>
+Date: Sat, 01 May 2010 15:10:42 +0000
+Subject: Make multi edit keybinding toggle multi edit mode
+
+---
+diff --git a/plugins/multiedit/multiedit/documenthelper.py b/plugins/multiedit/multiedit/documenthelper.py
+index 44937a8..58ccac7 100644
+--- a/plugins/multiedit/multiedit/documenthelper.py
++++ b/plugins/multiedit/multiedit/documenthelper.py
+@@ -138,13 +138,24 @@ class DocumentHelper(Signals):
+ for handler in self._event_handlers:
+ handler[0] = map(lambda x: gtk.gdk.keyval_from_name(x), handler[0])
+
++ def disable_multi_edit(self):
++ if self._column_mode:
++ self._cancel_column_mode()
++
++ self._in_mode = False
++
++ self._view.set_border_window_size(gtk.TEXT_WINDOW_TOP, 0)
++ self.remove_edit_points()
++
+ def enable_multi_edit(self):
+ self._view.set_border_window_size(gtk.TEXT_WINDOW_TOP, 20)
++ self._in_mode = True
+
++ def toggle_multi_edit(self):
+ if self._in_mode:
+- return
+-
+- self._in_mode = True
++ self.disable_multi_edit()
++ else:
++ self.enable_multi_edit()
+
+ def remove_edit_points(self):
+ buf = self._buffer
+@@ -156,15 +167,6 @@ class DocumentHelper(Signals):
+ self._multi_edited = False
+ self._view.queue_draw()
+
+- def disable_multi_edit(self):
+- if self._column_mode:
+- self._cancel_column_mode()
+-
+- self._in_mode = False
+-
+- self._view.set_border_window_size(gtk.TEXT_WINDOW_TOP, 0)
+- self.remove_edit_points()
+-
+ def do_escape_mode(self, event):
+ if self._column_mode:
+ self._cancel_column_mode()
+diff --git a/plugins/multiedit/multiedit/windowhelper.py b/plugins/multiedit/multiedit/windowhelper.py
+index 63ac0ef..d9941ae 100644
+--- a/plugins/multiedit/multiedit/windowhelper.py
++++ b/plugins/multiedit/multiedit/windowhelper.py
+@@ -115,6 +115,6 @@ class WindowHelper(Signals):
+ helper = view.get_data(constants.DOCUMENT_HELPER_KEY)
+
+ if helper != None:
+- helper.enable_multi_edit()
++ helper.toggle_multi_edit()
+
+ # ex:ts=4:et:
+--
+cgit v0.8.3.1
--- /dev/null
+From facc66d97ee959309ce7900553cc1f7a6517c394 Mon Sep 17 00:00:00 2001
+From: Jesse van den Kieboom <jesse@icecrew.nl>
+Date: Thu, 29 Apr 2010 17:15:09 +0000
+Subject: Improved handling of scrolling for replace-all command
+
+---
+diff --git a/plugins/commander/modules/find/finder.py b/plugins/commander/modules/find/finder.py
+index 3abc16b..bc453f1 100644
+--- a/plugins/commander/modules/find/finder.py
++++ b/plugins/commander/modules/find/finder.py
+@@ -195,7 +195,7 @@ class Finder:
+
+ self.cancel()
+ yield commands.result.DONE
+-
++
+ def _restore_cursor(self, mark):
+ buf = mark.get_buffer()
+
+@@ -221,10 +221,16 @@ class Finder:
+
+ if not ret:
+ yield commands.result.DONE
+-
++
++ self.scroll_back = False
++
+ # Then ask for the replacement string
+ if not self.replacestr:
+ try:
++ if replaceall:
++ self.scroll_back = True
++ self.select_last_result()
++
+ replacestr, words, modifier = (yield commands.result.Prompt('Replace with:'))
+ self.set_replace(replacestr)
+ except GeneratorExit, e:
+@@ -272,10 +278,11 @@ class Finder:
+ buf.end_user_action()
+
+ self.cancel()
+- raise e
++ raise e
+
+ if replaceall:
+- self._restore_cursor(startmark)
++ if self.scroll_back:
++ self._restore_cursor(startmark)
+
+ buf.end_user_action()
+
+--
+cgit v0.8.3.1
--- /dev/null
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/app-editors/gedit-plugins/gedit-plugins-2.30.0.ebuild,v 1.1 2010/06/18 13:10:29 pacho Exp $
+
+EAPI="2"
+GCONF_DEBUG="no"
+
+inherit gnome2 multilib python eutils
+
+DESCRIPTION="Offical plugins for gedit."
+HOMEPAGE="http://live.gnome.org/GeditPlugins"
+
+LICENSE="GPL-2"
+KEYWORDS="~amd64 ~x86"
+SLOT="0"
+
+IUSE="bookmarks +bracketcompletion charmap colorpicker +drawspaces +joinlines python +session showtabbar smartspaces terminal"
+
+RDEPEND=">=x11-libs/gtk+-2.14
+ gnome-base/gconf
+ >=x11-libs/gtksourceview-2.6
+ >=app-editors/gedit-2.29.3[python]
+ >=dev-python/pygtk-2.14
+ charmap? (
+ >=gnome-extra/gucharmap-2.24.3
+ )
+ session? (
+ dev-lang/python[xml]
+ )
+ python? (
+ >=dev-python/pygtksourceview-2.2.0
+ )
+ terminal? (
+ >=x11-libs/vte-0.19.4[python]
+ )"
+DEPEND="${RDEPEND}
+ dev-util/pkgconfig
+ dev-util/intltool"
+
+DOCS="AUTHORS NEWS ChangeLog*"
+
+pkg_setup() {
+ local myplugins="codecomment"
+
+ for plugin in ${IUSE/python}; do
+ if use session && [ "${plugin/+}" = "session" ]; then
+ myplugins="${myplugins},sessionsaver"
+ elif use ${plugin/+}; then
+ myplugins="${myplugins},${plugin/+}"
+ fi
+ done
+
+ G2CONF="${G2CONF}
+ --disable-dependency-tracking
+ --with-plugins=${myplugins}
+ $(use_enable python)"
+}
+
+src_prepare() {
+ gnome2_src_prepare
+
+ # Fix issues with find/replace in selections
+ epatch "${FILESDIR}/${P}-find-replace.patch"
+
+ # Add Ctrl+Shift+C/V copy paste accelerators to terminal
+ epatch "${FILESDIR}/${P}-copy-paste.patch"
+
+ # Improved handling of scrolling for replace-all command
+ epatch "${FILESDIR}/${P}-replace-all.patch"
+
+ # Fix background color of the commander entry
+ epatch "${FILESDIR}/${P}-background-color.patch"
+
+ # Make multi edit keybinding toggle multi edit mode
+ epatch "${FILESDIR}/${P}-keybinding-toggle.patch"
+
+ # Make multi edit menu item proper toggle item
+ epatch "${FILESDIR}/${P}-edit-menu.patch"
+
+ # Added commander toggle menu item
+ epatch "${FILESDIR}/${P}-commander-menu.patch"
+
+ # disable pyc compiling
+ mv py-compile py-compile.orig
+ ln -s $(type -P true) py-compile
+}
+
+src_test() {
+ emake check || die "make check failed"
+}
+
+src_install() {
+ gnome2_src_install
+ # gedit doesn't rely on *.la files
+ find "${D}" -name "*.la" -delete || die "*.la files removal failed"
+}
+
+pkg_postinst() {
+ gnome2_pkg_postinst
+ python_need_rebuild
+ python_mod_optimize /usr/$(get_libdir)/gedit-2/plugins
+}
+
+pkg_postrm() {
+ gnome2_pkg_postrm
+ python_mod_cleanup /usr/$(get_libdir)/gedit-2/plugins
+}