Es ist eigentlich nicht so schwer, wenn Sie Python verwenden. Sie haben die .plugin-Dateien bereits konvertiert. In den Python-Dateien, ist dies ein typisches diff:
-import gtk
-import gedit
-import gobject
-import pango
+from gi.repository import Gtk, GObject, Gedit
.......
-class PluginName(gedit.Plugin):
+class PluginName(GObject.Object, Gedit.WindowActivatable):
+ window = GObject.property(type=Gedit.Window)
+
def __init__(self):
- gedit.Plugin.__init__(self)
+ GObject.Object.__init__(self)
self._instances = {}
- def activate(self, window):
- self._instances[window] = PluginNameWindowHelper(self, window)
+ def do_activate(self):
+ self._instances[self.window] = PluginNameWindowHelper(self, self.window)
+
+ def do_deactivate(self):
+ self._instances[self.window].deactivate()
+ del self._instances[self.window]
- def deactivate(self, window):
- self._instances[window].deactivate()
- del self._instances[window]
+ def do_update_state(self):
+ self._instances[self.window].update_ui()
- def update_ui(self, window):
- self._instances[window].update_ui()
.......
- self._action_group = gtk.ActionGroup("PluginNameActions")
+ self._action_group = Gtk.ActionGroup("PluginNameActions")
.......
- line = document.get_text(line_start, line_end)
+ line = document.get_text(line_start, line_end, False)
ich vor 6 Plugins einige Zeit umgewandelt, und diese waren die einzigen Änderungen, die ich brauchte.
Schön. Das Plugin, mit dem ich arbeite, scheint ein wenig kompliziert zu sein: http: //pastie.org/3725963 ... und das ist nur eine Datei! – trusktr
Sie müssen meist GObject Inspspection verwenden und die Methoden anpassen, wie es von Jens vorgeschlagen wurde. – gpoo
Danke. Ich werde es versuchen. Jens oder @gpoo, könnt ihr mir bitte eure konvertierten Plugins schicken, um zu sehen, ob es sich bei ihnen um solche handelt, die ich konvertieren wollte? Mein Google Mail: trusktr. Vielen Dank! – trusktr