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

Last change on this file since 3997 was 3997, checked in by jrpelegrina, 4 years ago

Add po files

File size: 3.1 KB
Line 
1#!/usr/bin/env python
2
3import gi
4gi.require_version('Gtk', '3.0')
5from gi.repository import Gtk, Pango, GdkPixbuf, Gdk, Gio, GObject,GLib
6
7
8
9import signal
10import os
11import json
12import Core
13
14
15signal.signal(signal.SIGINT, signal.SIG_DFL)
16
17import gettext
18gettext.textdomain('lliurex-gdrive')
19_ = gettext.gettext
20
21RSRC="/usr/share/lliurex-gdrive/"
22#CONFIG_DIR=os.path.expanduser("~/.config/lliurex-google-drive-profiles/config")
23CSS_FILE="/usr/share/lliurex-gdrive/lliurex-gdrive.css"
24LOCK_PATH="/tmp/lgdIndicator.lock"
25DISABLE_INDICATOR="~/.config/lliurex-google-drive-profiles/disableIndicator"
26
27
28class LliurexGdrive:
29       
30        def __init__(self):
31               
32                self.core=Core.Core.get_core()
33                self.disable_indicator=os.path.expanduser(DISABLE_INDICATOR)
34
35        #def init
36       
37        def load_gui(self):
38               
39                builder=Gtk.Builder()
40                builder.set_translation_domain('lliurex-gdrive')
41                ui_path=RSRC + "rsrc/lliurex-gdrive.ui"
42                builder.add_from_file(ui_path)
43               
44               
45                self.main_window=builder.get_object("main_window")
46                self.main_box=builder.get_object("main_box")
47                self.exit_button=builder.get_object("exit_button")
48                self.indicator_label=builder.get_object("indicator_label")
49                self.indicator_switch=builder.get_object("indicator_switch")
50                if os.path.exists(self.disable_indicator):
51                        self.indicator_switch.set_active(False)
52                               
53                self.profile_box=self.core.profile_box
54                self.main_box.add(self.profile_box)
55               
56               
57                # Add components
58                       
59                self.set_css_info()
60                self.connect_signals()
61                self.load_info()
62               
63                self.main_window.show_all()
64               
65        #def load_gui
66
67        def load_info(self):
68
69                profiles_info=self.core.LliurexGoogleDriveManager.profiles_config.copy()
70                # if os.path.exists(CONFIG_DIR):
71
72                #       f=open(CONFIG_DIR)
73                #       profiles_info=json.load(f)
74                #       f.close()
75               
76               
77                self.profile_box.load_info(profiles_info)
78
79               
80        def set_css_info(self):
81               
82               
83                self.style_provider=Gtk.CssProvider()
84                f=Gio.File.new_for_path(CSS_FILE)
85                self.style_provider.load_from_file(f)
86                Gtk.StyleContext.add_provider_for_screen(Gdk.Screen.get_default(),self.style_provider,Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION)
87                self.main_window.set_name("WINDOW")
88                self.indicator_label.set_name("OPTION_LABEL")
89
90                               
91                       
92        def connect_signals(self):
93               
94                self.main_window.connect("destroy",self.quit)
95                self.exit_button.connect("clicked",self.quit)
96       
97               
98        #def connect_signals
99
100        def launch_indicator(self):
101
102
103                #self.lockpath=R=os.path(LOCK_PATH)
104                if not os.path.exists(LOCK_PATH):
105                        cmd="lliurexGdriveIndicator" + "&"
106                        os.system(cmd)
107
108        #def launch_indicator
109       
110        def config_indicator(self):
111
112                if self.show_indicator:
113                        if os.path.exists(self.disable_indicator):
114                                os.remove(self.disable_indicator)       
115                else:
116                        if not os.path.exists(self.disable_indicator):
117                                f=open(self.disable_indicator,'w')
118                                f.close
119
120
121        def quit(self,widget):
122
123                self.show_indicator=self.indicator_switch.get_state()
124                self.config_indicator()
125
126                if self.show_indicator:
127                        self.launch_indicator()
128
129                Gtk.main_quit() 
130       
131        def start_gui(self):
132               
133                GObject.threads_init()
134                Gtk.main()
135               
136        #def start_gui
137
138       
139       
140
141       
142#class LliurexRemoteInstaller
143
144
145if __name__=="__main__":
146       
147        lgd=LliurexGdrive()
148        lgd.start_gui()
149       
Note: See TracBrowser for help on using the repository browser.