Ну, никто не ответил на это, но я понял это в конце концов. Для этого есть два шага, когда в окне создается новая вкладка, содержащая документ. В документе есть сигналы loaded
и saved
, которые можно подключить к действиям. Важно помнить, что каждая вкладка имеет отдельный документ, для каждого из которых требуется свой набор сигналов и обработчиков.
Вот общее решение, если оно пригодится другим:
class FooPlugin(GObject.Object, Gedit.WindowActivatable):
__gtype_name__ = 'Foo'
...
def do_activate(self):
self._add_ui()
self.window.connect('tab-added', self.on_tab_added)
...
return
def on_tab_added(self, window, tab, data=None):
doc = tab.get_document()
doc.connect('saved', self.on_document_saved)
doc.connect('loaded', self.on_document_loaded)
return
def on_document_loaded(self, document, data=None):
# do something here...
return
def on_document_saved(self, document, data=None):
# do something here...
return