source: lliurex-gdrive/trunk/fuentes/lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py @ 3775

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

Change folder structure

File size: 4.3 KB
Line 
1import gi
2gi.require_version('Gtk', '3.0')
3from gi.repository import Gtk, Pango, GdkPixbuf, Gdk, Gio, GObject,GLib
4
5import copy
6import gettext
7import Core
8
9import Dialog
10import time
11import threading
12import sys
13import os
14
15_=gettext.gettext
16
17
18RSRC="./"
19ADD_IMAGE=RSRC+"rsrc/a1.png"
20
21class ProfileBox(Gtk.VBox):
22       
23        def __init__(self):
24               
25                Gtk.VBox.__init__(self)
26               
27                self.core=Core.Core.get_core()
28               
29                builder=Gtk.Builder()
30                ui_path=RSRC + "lliurex-gdrive.ui"
31                builder.add_from_file(ui_path)
32                self.main_box=builder.get_object("profile_data_box")
33                self.counts_label=builder.get_object("counts_label")
34                self.profile_list_box=builder.get_object("profile_list_box")
35                self.profile_list_vp=builder.get_object("profile_list_viewport")
36                self.add_new_profile_button=builder.get_object("add_new_profile_button")
37                self.exit_button=builder.get_object("exit_button")
38                self.new_profile_window=builder.get_object("new_profile_window")
39                self.profile_label=builder.get_object("profile_label")
40                self.profile_entry=builder.get_object("profile_entry")
41                self.email_entry=builder.get_object("email_entry")
42                self.mountpoint_entry=builder.get_object("mountpoint_entry")
43                self.automount_entry=builder.get_object("automount_entry")
44                self.accept_add_profile_button=builder.get_object("accept_add_profile_button")
45                self.cancel_add_profile_button=builder.get_object("cancel_add_profile_button")
46               
47               
48               
49               
50               
51                self.pack_start(self.main_box,True,True,0)
52                       
53                self.connect_signals()
54                self.set_css_info()
55               
56                #self.current_var=None
57                #self.current_id=None
58               
59                #self.thread=threading.Thread()
60                #self.thread_ret=None
61               
62        #def __init__
63       
64       
65        def set_css_info(self):
66               
67                self.style_provider=Gtk.CssProvider()
68                f=Gio.File.new_for_path("lliurex-gdrive.css")
69                self.style_provider.load_from_file(f)
70                Gtk.StyleContext.add_provider_for_screen(Gdk.Screen.get_default(),self.style_provider,Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION)
71                self.profile_label.set_name("OPTION_LABEL")
72               
73               
74               
75                       
76        #def set-css_info
77       
78               
79        def connect_signals(self):
80
81                self.add_new_profile_button.connect("clicked",self.add_new_profile_button_clicked)
82                #self.exit_button.connect("clicked",self.quit)
83                self.accept_add_profile_button.connect("clicked",self.accept_add_profile_clicked)
84                #self.cancel_add_profile_button.connect("clicked",self.cancel_add_profile_button)
85                self.new_profile_window.connect("delete_event",self.hide_window)
86
87
88        #def connect_signals
89       
90        def hide_window(self,widget,event):
91               
92                widget.hide()
93                return True
94
95        def add_new_profile_button_clicked(self,widget):
96               
97                self.profile_entry.set_text("")
98                self.email_entry.set_text("")
99                self.mountpoint_entry.set_filename(os.environ["HOME"])
100                self.automount_entry.set_state(False)
101                self.new_profile_window.show()
102
103
104        def new_profile_button(self,profile_name,email):
105               
106                hbox=Gtk.HBox()
107                profile=Gtk.Label(profile_name)
108                email=Gtk.Label(email)
109                delete=Gtk.Button()
110                delete_image=Gtk.Image.new_from_file("trash.svg")
111                delete.add(delete_image)
112                delete.set_halign(Gtk.Align.CENTER)
113                delete.set_valign(Gtk.Align.CENTER)
114                delete.set_name("DELETE_ITEM_BUTTON")
115                delete.connect("clicked",self.delete_profile_clicked,hbox)
116                mount=Gtk.Button()
117                mount_image=Gtk.Image.new_from_file("mount.svg")
118                mount.add(mount_image)
119                mount.set_halign(Gtk.Align.CENTER)
120                mount.set_valign(Gtk.Align.CENTER)
121                mount.set_name("MOUNT_ITEM_BUTTON")
122                mount.connect("clicked",self.mount_profile_clicked,hbox)
123                hbox.pack_start(profile,False,False,0)
124                hbox.pack_start(email,False,False,0)
125                hbox.pack_end(delete,False,False,10)
126                hbox.pack_end(mount,False,False,10)
127                hbox.show_all()
128                profile.set_margin_right(20)
129                profile.set_margin_left(20)
130                profile.set_margin_top(20)
131                profile.set_margin_bottom(20)
132                email.set_margin_right(20)
133                email.set_margin_left(20)
134                email.set_margin_top(20)
135                email.set_margin_bottom(20)
136                hbox.set_name("PROFILE_BOX")
137                self.profile_list_box.pack_start(hbox,False,False,5)
138                self.profile_list_box.queue_draw()
139                hbox.queue_draw()
140               
141        #def new_package_button
142
143        def accept_add_profile_clicked(self,widget):
144               
145                profile=self.profile_entry.get_text()
146                profile=profile.strip(" ")
147                email=self.email_entry.get_text()
148                email=email.strip(" ")
149                       
150                self.new_profile_button(profile,email)
151                       
152                self.new_profile_window.hide()
153               
154
155        def delete_profile_clicked(self,widget):       
156                print "BORRANDO"
157
158        def mount_profile_clicked(self,widget):
159                print "SINCRONIZANDO"   
160#class profilebox
Note: See TracBrowser for help on using the repository browser.