3
from gi.repository import Gtk, Gdk, Gio
5
class StickyNote(object):
7
def __init__(self, note):
9
self.builder = Gtk.Builder()
10
self.builder.add_from_file("StickyNotes.glade")
11
self.builder.connect_signals(self)
12
self.txtNote = self.builder.get_object("txtNote")
13
self.winMain = self.builder.get_object("MainWindow")
14
self.bAdd = self.builder.get_object("bAdd")
15
self.imgAdd = self.builder.get_object("imgAdd")
16
self.imgResizeR = self.builder.get_object("imgResizeR")
17
self.eResizeR = self.builder.get_object("eResizeR")
21
# (Maybe?) Remove this eventually
22
settings = Gtk.Settings.get_default()
23
settings.props.gtk_button_images = True
25
css = Gtk.CssProvider()
26
css.load_from_file(Gio.File.new_for_path("style.css"))
27
Gtk.StyleContext.add_provider_for_screen(Gdk.Screen.get_default(),
30
self.bbody = Gtk.TextBuffer()
31
self.bbody.set_text(self.note.body)
32
self.txtNote.set_buffer(self.bbody)
36
self.winMain.add_events(Gdk.EventMask.BUTTON_PRESS_MASK)
37
self.eResizeR.add_events(Gdk.EventMask.BUTTON_PRESS_MASK)
39
self.winMain.move(*self.note.properties.get("position", (10,10)))
47
def update_note(self):
48
self.note.update(self.bbody.get_text(self.bbody.get_start_iter(),
49
self.bbody.get_end_iter(), True))
51
def move(self, widget, event):
52
self.winMain.begin_move_drag(event.button, event.x_root,
53
event.y_root, event.get_time())
56
def resize(self, widget, event, *args):
57
self.winMain.begin_resize_drag(Gdk.WindowEdge.SOUTH_EAST,
58
event.button, event.x_root, event.y_root, event.get_time())
62
return {"position":self.winMain.get_position()}
64
def save(self, *args):
65
self.note.noteset.save()
69
self.note.noteset.new()
72
def quit(self, *args):