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

Last change on this file since 3812 was 3812, checked in by jrpelegrina, 2 years ago

WIP in gui. Improve create, edit, delete profiles functions

File size: 1.9 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
8import os
9import json
10import Core
11
12
13signal.signal(signal.SIGINT, signal.SIG_DFL)
14_=gettext.gettext
15
16
17RSRC="./"
18#CONFIG_DIR=os.path.expanduser("~/.config/lliurex-google-drive-profiles/config")
19
20class LliurexGdrive:
21       
22        def __init__(self):
23               
24                self.core=Core.Core.get_core()
25               
26        #def init
27       
28        def load_gui(self):
29               
30                builder=Gtk.Builder()
31                ui_path=RSRC + "/rsrc/lliurex-gdrive.ui"
32                builder.add_from_file(ui_path)
33               
34                self.main_window=builder.get_object("main_window")
35                self.main_box=builder.get_object("main_box")
36                self.exit_button=builder.get_object("exit_button")
37                               
38                self.profile_box=self.core.profile_box
39                self.main_box.add(self.profile_box)
40               
41               
42                # Add components
43                       
44
45                self.set_css_info()
46                self.connect_signals()
47                self.load_info()
48               
49                self.main_window.show_all()
50               
51        #def load_gui
52
53        def load_info(self):
54
55               
56                profiles_info=self.core.LliurexGoogleDriveManager.profiles_config.copy()
57                # if os.path.exists(CONFIG_DIR):
58
59                #       f=open(CONFIG_DIR)
60                #       profiles_info=json.load(f)
61                #       f.close()
62               
63               
64                self.profile_box.load_info(profiles_info)
65       
66        def set_css_info(self):
67               
68               
69                self.style_provider=Gtk.CssProvider()
70                f=Gio.File.new_for_path("lliurex-gdrive.css")
71                self.style_provider.load_from_file(f)
72                Gtk.StyleContext.add_provider_for_screen(Gdk.Screen.get_default(),self.style_provider,Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION)
73                self.main_window.set_name("WINDOW")
74               
75                               
76                       
77        def connect_signals(self):
78               
79                self.main_window.connect("destroy",self.quit)
80                self.exit_button.connect("clicked",self.quit)
81       
82               
83        #def connect_signals
84
85        def quit(self,widget):
86               
87               
88                Gtk.main_quit() 
89       
90        def start_gui(self):
91               
92                GObject.threads_init()
93                Gtk.main()
94               
95        #def start_gui
96
97       
98       
99
100       
101#class LliurexRemoteInstaller
102
103
104if __name__=="__main__":
105       
106        lgd=LliurexGdrive()
107        lgd.start_gui()
108       
Note: See TracBrowser for help on using the repository browser.