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

Last change on this file since 7325 was 7325, checked in by jrpelegrina, 15 months ago

Rename function

File size: 4.3 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 sys
13import Core
14
15
16signal.signal(signal.SIGINT, signal.SIG_DFL)
17
18import gettext
19gettext.textdomain('lliurex-gdrive')
20_ = gettext.gettext
21
22RSRC="/usr/share/lliurex-gdrive/"
23#CONFIG_DIR=os.path.expanduser("~/.config/lliurex-google-drive-profiles/config")
24CSS_FILE="/usr/share/lliurex-gdrive/lliurex-gdrive.css"
25LOCK_INDICATOR="~/.config/lliurex-google-drive-profiles/lgdIndicator.lock"
26LOCK_GUI="~/.config/lliurex-google-drive-profiles/lgdGUI.lock"
27DISABLE_INDICATOR="~/.config/lliurex-google-drive-profiles/disableIndicator"
28
29
30class LliurexGdrive:
31       
32        def __init__(self):
33
34                self.islgd_running()
35                self.core=Core.Core.get_core()
36                self.disable_indicator=os.path.expanduser(DISABLE_INDICATOR)
37                self.lock_gui=os.path.expanduser(LOCK_GUI)
38                self.lock_indicator=os.path.expanduser(LOCK_INDICATOR)
39               
40                self.createLockToken()
41
42        #def init
43
44       
45        def islgd_running(self):
46
47                if os.path.exists(LOCK_GUI):
48                        dialog = Gtk.MessageDialog(None,0,Gtk.MessageType.ERROR, Gtk.ButtonsType.CANCEL, "Lliurex GDrive")
49                        dialog.format_secondary_text(_("Lliurex GDrive is now running."))
50                        dialog.run()
51                        sys.exit(1)
52
53        #def islgd_running             
54       
55
56        def createLockToken(self):
57
58                if not os.path.exists(self.lock_gui):
59                        f=open(self.lock_gui,'w')
60                        f.close
61
62        #def createLockToken   
63       
64        def load_gui(self):
65               
66                builder=Gtk.Builder()
67                builder.set_translation_domain('lliurex-gdrive')
68                ui_path=RSRC + "rsrc/lliurex-gdrive.ui"
69                builder.add_from_file(ui_path)
70               
71               
72                self.main_window=builder.get_object("main_window")
73                self.main_window.set_title("Lliurex GDrive")
74                self.main_box=builder.get_object("main_box")
75                self.exit_button=builder.get_object("exit_button")
76                self.check_window=builder.get_object("check_window")
77                self.check_pbar=builder.get_object("check_pbar")
78                self.check_plabel=builder.get_object("check_plabel")
79                self.check_window.set_transient_for(self.main_window)
80
81
82                self.indicator_label=builder.get_object("indicator_label")
83                self.indicator_switch=builder.get_object("indicator_switch")
84                if os.path.exists(self.disable_indicator):
85                        self.indicator_switch.set_active(False)
86                               
87
88                self.profile_box=self.core.profile_box
89                self.main_box.add(self.profile_box)
90               
91               
92                # Add components
93                       
94                self.set_css_info()
95                self.connect_signals()
96                self.load_info()
97               
98                self.main_window.show_all()
99               
100        #def load_gui
101
102
103               
104        def load_info(self):
105
106                self.load_profiles=self.core.LliurexGoogleDriveManager.profiles_config.copy()
107                               
108                self.profile_box.load_info(self.load_profiles)
109
110        #def load_info 
111               
112        def set_css_info(self):
113               
114               
115                self.style_provider=Gtk.CssProvider()
116                f=Gio.File.new_for_path(CSS_FILE)
117                self.style_provider.load_from_file(f)
118                Gtk.StyleContext.add_provider_for_screen(Gdk.Screen.get_default(),self.style_provider,Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION)
119                self.main_window.set_name("WINDOW")
120                self.indicator_label.set_name("OPTION_LABEL")
121                self.check_plabel.set_name("MSG_LABEL")
122
123        #def remove_chromium_tmpbin                     
124                       
125        def connect_signals(self):
126               
127                self.main_window.connect("destroy",self.quit)
128                self.exit_button.connect("clicked",self.quit)
129       
130               
131        #def connect_signals
132
133        def launch_indicator(self):
134
135
136                #self.lockpath=R=os.path(LOCK_INDICATOR)
137                if len(self.load_profiles):
138                        if not os.path.exists(self.lock_indicator):
139                                cmd="/usr/bin/lliurexGdriveIndicator" + "&"
140                                os.system(cmd)
141
142        #def launch_indicator
143       
144        def config_indicator(self):
145
146                if self.show_indicator:
147                        if os.path.exists(self.disable_indicator):
148                                os.remove(self.disable_indicator)       
149                else:
150                        if not os.path.exists(self.disable_indicator):
151                                f=open(self.disable_indicator,'w')
152                                f.close
153
154        #def config_indicator                   
155
156        def cleanLockToken(self):
157
158                if os.path.exists(self.lock_gui):
159                        os.remove(self.lock_gui)
160
161        #def cleanIndicatorLock                 
162
163        def quit(self,widget):
164
165                self.show_indicator=self.indicator_switch.get_state()
166                self.config_indicator()
167
168                if self.show_indicator:
169                        self.launch_indicator()
170
171                self.core.LliurexGoogleDriveManager.remove_chromium_tmpbin()
172                self.cleanLockToken()
173                Gtk.main_quit() 
174       
175        #def quit
176       
177        def start_gui(self):
178               
179                GObject.threads_init()
180                Gtk.main()
181               
182        #def start_gui
183
184       
185       
186
187       
188#class LliurexRemoteInstaller
189
190
191if __name__=="__main__":
192       
193        lgd=LliurexGdrive()
194        lgd.start_gui()
195       
Note: See TracBrowser for help on using the repository browser.