source: lliurex-gdrive/trunk/fuentes/lliurex-gdrive-gui.install/usr/share/LliurexGdrive.py @ 3772

Last change on this file since 3772 was 3772, checked in by jrpelegrina, 3 years ago

WIP in gui

File size: 2.0 KB
Line 
1import gi
2gi.require_version('Gtk', '3.0')
3from gi.repository import Gtk, Pango, GdkPixbuf, Gdk, Gio, GObject,GLib
4
5
6import gettext
7import signal
8
9import Core
10
11signal.signal(signal.SIGINT, signal.SIG_DFL)
12_=gettext.gettext
13
14
15RSRC="./"
16ADD_IMAGE=RSRC+"rsrc/a1.png"
17
18class LliurexGdrive:
19       
20        def __init__(self):
21               
22                self.core=Core.Core.get_core()
23               
24        #def init
25       
26        def load_gui(self):
27               
28                builder=Gtk.Builder()
29                ui_path=RSRC + "lliurex-gdrive.ui"
30                builder.add_from_file(ui_path)
31               
32                self.main_window=builder.get_object("main_window")
33                self.main_box=builder.get_object("main_box")
34                               
35                self.stack=Gtk.Stack()
36                self.stack.set_transition_type(Gtk.StackTransitionType.SLIDE_DOWN)
37                self.stack.set_transition_duration(500)
38                self.main_box.pack_start(self.stack,True,True,5)
39               
40                self.profile_box=self.core.profile_box
41                self.stack.add_titled(self.profile_box,"profile","Profile")
42                self.stack.add_titled(self.profile_box.new_profile_box,"New","New")
43               
44               
45                eb=Gtk.EventBox()
46                eb.add_events(Gdk.EventMask.BUTTON_RELEASE_MASK | Gdk.EventMask.POINTER_MOTION_MASK |Gdk.EventMask.LEAVE_NOTIFY_MASK  )
47                b=Gtk.Image()
48               
49                eb.connect("button-release-event",self.add_clicked)
50                b.set_from_file(ADD_IMAGE)
51                b.show()
52               
53                eb.add(b)
54               
55                eb.set_valign(Gtk.Align.END)
56                eb.set_halign(Gtk.Align.END)
57                eb.set_margin_bottom(5)
58                eb.set_margin_right(20)
59                self.main_box.add(eb)
60                               
61               
62                # Add components
63               
64               
65
66                #self.set_css_info()
67                #self.connect_signals()
68                #self.load_values()
69               
70                self.main_window.show_all()
71               
72        #def load_gui
73       
74        def set_css_info(self):
75               
76                self.style_provider=Gtk.CssProvider()
77               
78        def add_clicked(self, widget,event):
79               
80                self.stack.set_transition_type(Gtk.StackTransitionType.SLIDE_LEFT)
81                self.stack.set_visible_child_name("New")
82               
83        def connect_signals(self):
84               
85                self.main_window.connect("destroy",Gtk.main_quit)
86       
87               
88        #def connect_signals
89       
90        def start_gui(self):
91               
92                GObject.threads_init()
93                Gtk.main()
94               
95        #def start_gui
96       
97       
98#class LliurexRemoteInstaller
99
100
101if __name__=="__main__":
102       
103        lgd=LliurexGdrive()
104        lgd.start_gui()
105       
Note: See TracBrowser for help on using the repository browser.