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

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

Fix some files and reorder folder to correct package

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