1
1
from gi.repository import Gtk, GtkSource
3
3
class Document(Gtk.ScrolledWindow):
4
def __init__(self, main_window):
5
5
Gtk.ScrolledWindow.__init__(self)
6
self.main_window = main_window
7
6
self.set_policy(Gtk.PolicyType.AUTOMATIC, Gtk.PolicyType.AUTOMATIC)
8
7
self.view = GtkSource.View()
9
9
self.buffer = GtkSource.Buffer()
10
10
self.view.set_buffer(self.buffer)
11
11
self.filename = None
12
self.buffer.connect('modified-changed', self._on_buffer_changed)
12
self.buffer.connect('modified-changed', self._onBufferChanged)
15
def get_modified(self):
14
def getModified(self):
16
15
return self.buffer.get_modified()
18
def set_modified(self, boolean):
17
def setModified(self, boolean):
19
18
self.buffer.set_modified(boolean)
24
def set_title(self, new_title):
23
def setTitle(self, new_title):
25
24
self.title = new_title
27
def get_filename(self):
26
def getFilename(self):
28
27
return self.filename
30
def set_filename(self, new_filename):
29
def setFilename(self, new_filename):
31
30
self.filename = new_filename
33
def fetch_title(self):
34
33
title = self.filename.split("/")[-1]
35
34
self.set_title(title)
37
def fetch_content(self):
36
def fetchContent(self):
38
37
with open(self.filename, 'r') as f:
40
39
self.buffer.set_text(content)
48
47
self.set_modified(False)
50
def _on_buffer_changed(self, Buffer):
51
self.main_window.toolbar.show_save_icon(Buffer.get_modified())
49
def _onBufferChanged(self, Buffer):
50
self.main_window.toolbar.showSaveIcon(Buffer.get_modified())