Changeset 2518 for lliurex-mirror


Ignore:
Timestamp:
Sep 27, 2016, 1:10:27 PM (3 years ago)
Author:
hectorgh
Message:

wip on new gui

Location:
lliurex-mirror/trunk/fuentes/lliurex-mirror2
Files:
1 added
2 edited

Legend:

Unmodified
Added
Removed
  • lliurex-mirror/trunk/fuentes/lliurex-mirror2/lliurex-mirror.py

    r2481 r2518  
    1010import json
    1111import random
    12 
     12import xmlrpclib
     13import time
    1314import math
    1415from math import pi
     
    4041                self.info["updating"]=False
    4142                self.info["exporting"]=False
     43                self.info["executing"]=False
    4244                self.info["shadow_alpha"]=0.1
    4345                self.info["animation_active"]=False
     
    146148               
    147149                #self.update_water_colors=self.export_water_colors
     150               
     151                self.login_animation_x=236 + 127/2
     152                self.login_animation_y=131 + 128/2
     153                self.login_animation_r=60
     154               
     155                self.login_enabled=True
    148156               
    149157                self.current_mirror=None
     
    312320                eb.set_valign(Gtk.Align.END)
    313321                eb.set_halign(Gtk.Align.END)
    314                 eb.set_margin_bottom(45)
     322                eb.set_margin_bottom(5)
    315323                eb.set_margin_right(20)
    316324                self.overlay.add_overlay(eb)
    317325               
    318326               
    319                
     327                self.login_da_box=builder.get_object("login_da_box")
     328                self.login_da=builder.get_object("login_drawingarea")
     329                self.login_da.connect("draw",self.draw_login)
     330               
     331                self.login_overlay=Gtk.Overlay()
     332                self.login_overlay.add(self.login_da_box)
     333               
     334                '''
     335                self.login_box=Gtk.VBox()
     336               
     337                self.login_button=Gtk.Button("Login")
     338                self.login_button.connect("clicked",self.login_clicked)
     339               
     340                self.login_box.pack_end(self.login_button,False,True,5)
     341                self.login_box.pack_end(Gtk.Entry(),False,True,5)
     342                self.login_box.pack_end(Gtk.Entry(),False,True,5)
     343                self.tmp_label=Gtk.Label("hola")
     344                self.login_box.pack_start(self.tmp_label,False,True,100)
     345                '''
     346               
     347                self.login_box=builder.get_object("login_box")
     348                self.login_eb=builder.get_object("login_eventbox")
     349                self.login_eb.add_events(Gdk.EventMask.BUTTON_RELEASE_MASK | Gdk.EventMask.POINTER_MOTION_MASK | Gdk.EventMask.LEAVE_NOTIFY_MASK  )
     350                self.login_eb.connect("button-press-event",self.login_clicked)
     351                self.login_eb.connect("motion-notify-event",self.mouse_over_login)
     352                self.login_eb.connect("leave_notify_event",self.mouse_exit_login)
     353                self.user_entry=builder.get_object("user_entry")
     354                self.user_entry.connect("activate",self.entries_press_event)
     355                self.password_entry=builder.get_object("password_entry")
     356                self.password_entry.connect("activate",self.entries_press_event)
     357                self.login_eb_box=builder.get_object("login_eb_box")
     358                self.login_msg_label=builder.get_object("login_msg_label")
     359               
     360                self.server_ip_entry=builder.get_object("server_ip_entry")
     361                self.server_ip_entry.connect("activate",self.entries_press_event)
     362               
     363                self.button1=builder.get_object("button1")
     364                self.button1.grab_focus()
     365               
     366               
     367                self.login_overlay.add_overlay(self.login_box)
     368                self.login_overlay.show_all()
     369               
     370               
     371                self.stack.add_titled(self.login_overlay,"login","Login")
    320372                self.stack.add_titled(self.overlay, "main", "Main")
    321373                self.stack.add_titled(self.content_box, "mirror", "Mirror")
     
    350402                self.window.show_all()
    351403                self.ib.hide()
     404                self.button1.hide()
    352405               
    353406                self.progress_da.connect("draw",self.draw_progress)
     
    470523                }
    471524               
    472 
    473                
     525                #LOGIN_BUTTON {
     526                        background-image:-gtk-gradient (linear, left top, left bottom, from (#448AFF),  to (#448AFF));;
     527                        color: #FFFFFF;
     528                        font: Roboto 12;
     529                }
     530               
     531                #LOGIN_BUTTON_OVER {
     532                        background-image:-gtk-gradient (linear, left top, left bottom, from (#449fff),  to (#449fff));;
     533                        color: #FFFFFF;
     534                        font: Roboto 12;
     535                }
     536               
     537                #LOGIN_BUTTON_DISABLED {
     538                        background-image:-gtk-gradient (linear, left top, left bottom, from (#666666),  to (#666666));;
     539                        color: #FFFFFF;
     540                        font: Roboto 12;
     541                }
     542               
     543                #LOGIN_BUTTON_DISABLED_OVER {
     544                        background-image:-gtk-gradient (linear, left top, left bottom, from (#888888),  to (#888888));;
     545                        color: #FFFFFF;
     546                        font: Roboto 12;
     547                }
     548               
     549                #ERROR_FONT {
     550                        color: #CC0000;
     551                        font: Roboto 10;
     552                }
    474553               
    475554
     
    524603                self.amd64_label.set_name("BLUE_FONT")
    525604               
     605                self.user_entry.set_name("BLUE_FONT")
     606                self.password_entry.set_name("BLUE_FONT")
     607                self.server_ip_entry.set_name("BLUE_FONT")
     608               
    526609                self.update_header_label.set_name("SECTION_LABEL")
    527610                self.export_header_label.set_name("SECTION_LABEL")
     
    534617                self.local_folder_label.set_name("BLUE_FONT")
    535618                self.destination_label.set_name("BLUE_FONT")
     619                self.login_eb.set_name("LOGIN_BUTTON")
     620                #self.login_eb_box.set_name("HEADER_SHADOW")
     621                self.login_msg_label.set_name("ERROR_FONT")
     622               
    536623               
    537624        #def set_css
     
    594681               
    595682               
     683               
    596684                if self.updating_mirror!=None:
    597685                        if self.current_mirror!=self.updating_mirror and self.updating_mirror.info["updating"]:
    598686                                self.update_label_box.set_name("DISABLED_BUTTON")
    599687                                self.update_label.set_text("Update")
     688                               
     689                        if self.current_mirror!=self.updating_mirror and self.updating_mirror.info["exporting"]:
     690                                self.export_label_box.set_name("DISABLED_BUTTON")
     691                                self.export_label.set_text("Export")
     692                               
    600693                        if self.current_mirror==self.updating_mirror:
    601694                               
     
    603696                                        self.update_label.set_text("Cancel")
    604697                                        self.update_label_box.set_name("CANCEL_BUTTON")
     698                                       
     699                                if self.updating_mirror.info["exporting"]:
     700                                        self.export_label.set_text("Cancel")
     701                                        self.export_label_box.set_name("CANCEL_BUTTON")
     702                                       
    605703                               
    606704               
     
    636734                                        m.info["updating"]=False
    637735                                       
    638                                        
    639                                 self.mirrors[m_file.split("/")[-1]]=m
     736                                if t == 0:
     737                                        self.mirrors[m_file.split("/")[-1]]=m
     738                                else:
     739                                        self.mirrors[m_file.split("/")[-1]+"%s"%t]=m
    640740                                self.add_mirror_button(m)
    641741               
    642                 '''                     
    643                
    644                 for m_file in glob.glob(MIRROR_CONF_DIR+"*"):
    645                        
    646                         f=open(m_file,"r")
    647                         data=json.load(f)
    648                         f.close()
    649                                
    650                         m=MirrorButton(data)
    651                                
    652                         if once:
    653                                
    654                                 if m.info["updating"]:
    655                                         if once:
    656                                                 GLib.timeout_add(5,self.update_mirror_button_animation,m)
    657                                                 once=False
    658                                                        
    659                         else:
    660                                        
    661                                 m.info["updating"]=False
    662                                
    663                         self.mirrors.append(m)
    664                         self.add_mirror_button(m)
    665                
    666                
    667                        
    668                 for m_file in glob.glob(MIRROR_CONF_DIR+"*"):
    669                        
    670                         f=open(m_file,"r")
    671                         data=json.load(f)
    672                         f.close()
    673                                
    674                         m=MirrorButton(data)
    675                                
    676                         if once:
    677                                
    678                                 if m.info["updating"]:
    679                                         if once:
    680                                                 GLib.timeout_add(5,self.update_mirror_button_animation,m)
    681                                                 once=False
    682                                                        
    683                         else:
    684                                        
    685                                 m.info["updating"]=False
    686                                
    687                         self.mirrors.append(m)
    688                         self.add_mirror_button(m)
    689                 '''     
    690742                return True
    691743               
     
    715767        def show_content(self,widget):
    716768               
     769                self.ib.hide()
    717770                self.stack.set_transition_type(Gtk.StackTransitionType.SLIDE_LEFT)
    718771                self.stack.set_visible_child_name("mirror")
     
    798851        #def add_mouse_over
    799852       
    800        
     853        def entries_press_event(self,widget):
     854               
     855               
     856               
     857                self.login_clicked(None,None)
    801858
    802859        def ib_response(self,widget,response):
     
    828885                        self.add_flag=False
    829886                        return True
    830                        
     887               
     888                self.ib.hide()                 
    831889                self.stack.set_visible_child_name("mirror")
    832890               
     
    841899               
    842900               
     901               
    843902        #def arrow_clicked
    844903
     
    846905        def mouse_over_update(self,widget,event):
    847906               
    848                 if self.updating_mirror!=None:
    849                         if self.current_mirror!=self.updating_mirror and self.updating_mirror.info["updating"]:
    850                                 self.update_label_box.set_name("DISABLED_BUTTON_OVER")
    851                                 return True
    852                        
    853                         if self.current_mirror==self.updating_mirror and self.updating_mirror.info["updating"]:
     907               
     908                if self.updating_mirror!=None and self.updating_mirror.info["updating"]:
     909                       
     910                        if self.updating_mirror==self.current_mirror:
    854911                                self.update_label_box.set_name("CANCEL_BUTTON_OVER")
    855912                                return True
     913                               
     914                        self.update_label_box.set_name("DISABLED_BUTTON_OVER")
     915                        return True
     916                       
     917               
     918                if self.updating_mirror!=None and self.updating_mirror.info["exporting"]:
     919                       
     920                        self.update_label_box.set_name("DISABLED_BUTTON_OVER")
     921                        return True
     922               
    856923                       
    857924                self.update_label_box.set_name("BUTTON_OVER_COLOR")
     
    861928        def mouse_exit_update(self,widget,event):
    862929               
    863                 if self.updating_mirror!=None:
    864                         if self.current_mirror!=self.updating_mirror and self.updating_mirror.info["updating"]:
    865                                 self.update_label_box.set_name("DISABLED_BUTTON")
    866                                 return True
    867                         if self.current_mirror==self.updating_mirror and self.updating_mirror.info["updating"]:
     930               
     931                if self.updating_mirror!=None and self.updating_mirror.info["updating"]:
     932                       
     933                        if self.updating_mirror==self.current_mirror:
    868934                                self.update_label_box.set_name("CANCEL_BUTTON")
    869935                                return True
    870                
     936                               
     937                        self.update_label_box.set_name("DISABLED_BUTTON")
     938                        return True
     939                       
     940               
     941                if self.updating_mirror!=None and self.updating_mirror.info["exporting"]:
     942                       
     943                        self.update_label_box.set_name("DISABLED_BUTTON")
     944                        return True
     945               
     946                       
    871947                self.update_label_box.set_name("BUTTON_COLOR")
    872948               
     949               
    873950        #def mouse left_update
    874951       
     
    879956                self.current_mirror.info["cancelled"]=False
    880957               
    881                 if self.updating_mirror!=None:
    882                         if self.current_mirror!=self.updating_mirror and self.updating_mirror.info["updating"]:
    883                                 self.set_info_text("'%s' is already updating."%self.updating_mirror.info["NAME"],Gtk.MessageType.ERROR)
     958                if self.updating_mirror!=None and self.updating_mirror!=self.current_mirror:
     959                        if self.updating_mirror.info["executing"]:
     960                                self.set_info_text("'%s' is currently %s."%(self.updating_mirror.info["NAME"], 'updating' if self.updating_mirror.info["updating"] else 'exporting'),Gtk.MessageType.ERROR)
    884961                                return False
     962               
     963                if self.current_mirror.info["exporting"]:
     964                        self.set_info_text("'%s' is currently exporting."%self.updating_mirror.info["NAME"],Gtk.MessageType.ERROR)
     965                        return False
    885966               
    886967                if self.internet_rb.get_active():
     
    894975               
    895976               
    896                 if not self.current_mirror.info["updating"]:
     977                if not self.current_mirror.info["executing"]:
     978                       
    897979                        self.percentage=0
    898980                        self.updating_mirror=self.current_mirror
    899981                        self.current_mirror.info["updating"]=True
     982                        self.current_mirror.info["executing"]=True
     983                        self.current_mirror.info["cancelled"]=False
     984                        GLib.timeout_add(20,self.update_ys)
     985                        GLib.timeout_add(100,self.update_percentage)
     986                        GLib.timeout_add(10,self.update_degree)
     987                       
     988                       
     989                        GLib.timeout_add(5,self.update_mirror_button_animation,self.updating_mirror)
     990                        self.update_label.set_text("Cancel")
     991                        self.update_label_box.set_name("CANCEL_BUTTON_OVER")
     992                       
     993                        self.export_label_box.set_name("DISABLED_BUTTON")
     994                       
     995                else:
     996                       
     997                        self.updating_mirror.info["updating"]=False
     998                        self.updating_mirror.info["executing"]=False
     999                        self.updating_mirror.info["cancelled"]=True
     1000                        self.update_label.set_text("Update")
     1001                        self.update_label_box.set_name("BUTTON_COLOR")
     1002                        self.export_label_box.set_name("BUTTON_COLOR")
     1003
     1004        #def update_clicked
     1005
     1006       
     1007        def mouse_over_export(self,widget,event):
     1008               
     1009               
     1010                if self.updating_mirror!=None and self.updating_mirror.info["exporting"]:
     1011                       
     1012                        if self.updating_mirror==self.current_mirror:
     1013                                self.export_label_box.set_name("CANCEL_BUTTON_OVER")
     1014                                return True
     1015                               
     1016                        self.export_label_box.set_name("DISABLED_BUTTON_OVER")
     1017                        return True
     1018                       
     1019               
     1020                if self.updating_mirror!=None and self.updating_mirror.info["updating"]:
     1021                       
     1022                        self.export_label_box.set_name("DISABLED_BUTTON_OVER")
     1023                        return True
     1024               
     1025                self.export_label_box.set_name("BUTTON_OVER_COLOR")
     1026               
     1027        #def mouse_over_event
     1028       
     1029        def mouse_exit_export(self,widget,event):
     1030               
     1031                if self.updating_mirror!=None and self.updating_mirror.info["exporting"]:
     1032                       
     1033                        if self.updating_mirror==self.current_mirror:
     1034                                self.export_label_box.set_name("CANCEL_BUTTON")
     1035                                return True
     1036                               
     1037                        self.export_label_box.set_name("DISABLED_BUTTON")
     1038                        return True
     1039                       
     1040               
     1041                if self.updating_mirror!=None and self.updating_mirror.info["updating"]:
     1042                       
     1043                        self.export_label_box.set_name("DISABLED_BUTTON")
     1044                        return True
     1045               
     1046                self.export_label_box.set_name("BUTTON_COLOR")
     1047               
     1048        #def mouse left_update
     1049       
     1050        def export_clicked(self,widget,event):
     1051               
     1052                print "Export clicked: %s"%self.destination_fcb.get_filename()
     1053               
     1054               
     1055                if self.updating_mirror!=None and self.updating_mirror!=self.current_mirror:
     1056                        if self.updating_mirror.info["executing"]:
     1057                                self.set_info_text("'%s' is currently %s."%(self.updating_mirror.info["NAME"], 'updating' if self.updating_mirror.info["updating"] else 'exporting'),Gtk.MessageType.ERROR)
     1058                                return False
     1059               
     1060
     1061                if self.current_mirror.info["updating"]:
     1062                        self.set_info_text("'%s' is currently updating."%self.updating_mirror.info["NAME"],Gtk.MessageType.ERROR)
     1063                        return False
     1064
     1065                if not self.current_mirror.info["exporting"]:
     1066                       
     1067                        self.percentage=0
     1068                        self.updating_mirror=self.current_mirror
     1069                        self.current_mirror.info["exporting"]=True
     1070                        self.updating_mirror.info["executing"]=True
     1071                        self.current_mirror.info["cancelled"]=False
    9001072                        GLib.timeout_add(20,self.update_ys)
    9011073                        GLib.timeout_add(50,self.update_percentage)
     
    9041076                       
    9051077                        GLib.timeout_add(5,self.update_mirror_button_animation,self.updating_mirror)
    906                         self.update_label.set_text("Cancel")
    907                         self.update_label_box.set_name("CANCEL_BUTTON_OVER")
     1078                        self.export_label.set_text("Cancel")
     1079                        self.export_label_box.set_name("CANCEL_BUTTON_OVER")
     1080                       
     1081                        self.update_label_box.set_name("DISABLED_BUTTON")
    9081082
    9091083                       
    9101084                else:
    9111085                       
    912                         self.updating_mirror.info["updating"]=False
     1086                        self.updating_mirror.info["exporting"]=False
     1087                        self.updating_mirror.info["executing"]=False
    9131088                        self.updating_mirror.info["cancelled"]=True
    914                         self.update_label.set_text("Update")
     1089                        self.export_label.set_text("Export")
    9151090                        self.update_label_box.set_name("BUTTON_COLOR")
    916 
    917         #def update_clicked
    918 
    919        
    920         def mouse_over_export(self,widget,event):
    921                
    922                 self.export_label_box.set_name("BUTTON_OVER_COLOR")
    923                
    924         #def mouse_over_event
    925        
    926         def mouse_exit_export(self,widget,event):
    927                
    928                 self.export_label_box.set_name("BUTTON_COLOR")
    929                
    930         #def mouse left_update
    931        
    932         def export_clicked(self,widget,event):
    933                
    934                 print "Export clicked: %s"%self.destination_fcb.get_filename()
    935                
    936                 self.set_info_text("ajklshdjklasdajklsdh")
     1091                        self.export_label_box.set_name("BUTTON_COLOR")
     1092               
     1093               
     1094               
     1095               
     1096               
    9371097               
    9381098        #def update_clicked
     
    10371197                        self.add_mirror_button(self.current_mirror)
    10381198                        self.stack.set_transition_type(Gtk.StackTransitionType.SLIDE_RIGHT)
     1199                        self.ib.hide()
    10391200                        self.stack.set_visible_child_name("mirror")
    10401201                       
     
    10441205
    10451206       
     1207        def mouse_over_login(self,widget,event):
     1208               
     1209                if self.login_enabled:
     1210               
     1211                        self.login_eb.set_name("LOGIN_BUTTON_OVER")
     1212                       
     1213                else:
     1214                       
     1215                        self.login_eb.set_name("LOGIN_BUTTON_DISABLED")
     1216               
     1217        #def mouse_over_login
     1218       
     1219        def mouse_exit_login(self,widget,event):
     1220               
     1221                if self.login_enabled:
     1222               
     1223                        self.login_eb.set_name("LOGIN_BUTTON")
     1224                else:
     1225                       
     1226                        self.login_eb.set_name("LOGIN_BUTTON_DISABLED")
     1227               
     1228        #def mouse_over_login
     1229
     1230        def validate_user(self):
     1231               
     1232                GLib.idle_add(self.validate_thread)
     1233               
     1234        #validate_user
     1235       
     1236        def validate_thread(self):
     1237               
     1238               
     1239               
     1240                c=xmlrpclib.ServerProxy("https://"+self.server_ip+":9779")
     1241                self.ret=None
     1242
     1243                try:
     1244                        self.ret=c.validate_user(self.user,self.password)
     1245                except Exception as e:
     1246                        self.ret=[False,str(e)]
     1247
     1248               
     1249                if self.ret[0]:
     1250                        GLib.timeout_add(10,self.update_login_animation)
     1251                        GLib.idle_add(self.set_login_msg,"")
     1252                else:
     1253                        GLib.idle_add(self.set_login_msg,"Wrong user and/or password")
     1254                        GLib.idle_add(self.login_form_sensitive)
     1255                       
     1256               
     1257        #def validate_thread
     1258
     1259        def set_login_msg(self,msg):
     1260               
     1261                self.login_msg_label.set_text(msg)
     1262               
     1263        #def set_login_msg
     1264       
     1265       
     1266        def login_form_sensitive(self,state=None):
     1267               
     1268                if state==None:
     1269                        state=not self.login_enabled
     1270               
     1271                self.login_enabled=state
     1272               
     1273                self.user_entry.set_sensitive(state)
     1274                self.password_entry.set_sensitive(state)
     1275                self.server_ip_entry.set_sensitive(state)
     1276               
     1277                if state:
     1278                        self.login_eb.set_name("LOGIN_BUTTON")
     1279                else:
     1280                        self.login_eb.set_name("LOGIN_BUTTON_DISABLED")
     1281               
     1282               
     1283        #def login_form_sensible
     1284       
     1285
     1286        def login_clicked(self,widget,event):
     1287               
     1288               
     1289                if self.login_enabled:
     1290               
     1291                       
     1292                        self.user=self.user_entry.get_text()
     1293                        self.password=self.password_entry.get_text()
     1294                        self.server_ip=self.server_ip_entry.get_text()
     1295                       
     1296                        if self.server_ip=="":
     1297                                #self.server_ip="server"
     1298                                self.server_ip="localhost"
     1299                               
     1300                        self.login_animation_r=60
     1301                        self.login_form_sensitive()
     1302                       
     1303                       
     1304                       
     1305                        self.t=threading.Thread(target=self.validate_thread)
     1306                        self.t.daemon=True
     1307                        self.t.start()
     1308                       
     1309                       
     1310                       
     1311               
     1312               
     1313        #def login_clicked
     1314       
     1315        def update_login_animation(self):
     1316               
     1317                self.login_animation_r+=8
     1318               
     1319                if self.login_animation_r<650:
     1320                        self.login_da.queue_draw()
     1321                        return True
     1322                else:
     1323                        #return False
     1324                        self.stack.set_transition_type(Gtk.StackTransitionType.CROSSFADE)
     1325                        self.stack.set_visible_child_name("main")
     1326                       
    10461327        def update_mirror_button_animation(self,mirror_button):
    10471328               
    10481329                mirror_button.info["degree_offset"]+=1
    10491330               
    1050                 if self.updating_mirror.info["updating"]:
     1331                if self.updating_mirror.info["executing"]:
    10511332                        return True
    10521333               
    10531334        #def update_mirror_animation
     1335       
     1336                       
     1337               
    10541338
    10551339
     
    10621346                self.progress_da.queue_draw()
    10631347
    1064                 if self.updating_mirror.info["updating"]:
     1348                if self.updating_mirror.info["executing"]:
    10651349               
    10661350                        return True
    10671351               
     1352               
     1353               
    10681354        #def update_ys
    10691355
     
    10711357        def update_percentage(self):
    10721358               
    1073                 if self.updating_mirror.info["updating"]:
     1359                if self.updating_mirror.info["executing"]:
    10741360               
    10751361                        if self.percentage<99:
    1076                                 self.percentage+=1
     1362                                self.percentage+=0.5
    10771363                        else:
    10781364                                self.percentage=0
    10791365                       
    1080                         if self.current_mirror==self.updating_mirror and self.updating_mirror.info["updating"]:
     1366                        if self.current_mirror==self.updating_mirror and self.updating_mirror.info["executing"]:
    10811367                               
    10821368                                self.progress_label.set_text(str(self.percentage) + "%")
     
    10941380                        self.dregree_offset=0
    10951381               
    1096                 if self.updating_mirror.info["updating"]:
     1382                if self.updating_mirror.info["executing"]:
    10971383                       
    10981384                        self.updating_mirror.info["da"].queue_draw()
     
    11291415
    11301416
    1131                 if self.current_mirror==self.updating_mirror and self.updating_mirror.info["updating"]:
     1417                if self.current_mirror==self.updating_mirror and self.updating_mirror.info["executing"]:
    11321418                        percentage=self.percentage
    11331419                else:
     
    12521538        #
    12531539
     1540        def draw_login(self,widget,ctx):
     1541               
     1542               
     1543               
     1544               
     1545                ctx.move_to(0,0)
     1546                ctx.set_source_rgba(1,1,1,1)
     1547                ctx.rectangle(0,0,600,1000)
     1548                ctx.fill()
     1549               
     1550               
     1551                '''
     1552                ctx.set_source_rgba(0.4,0.4,1,1)
     1553                ctx.arc(300,150,50,self.to_rad(0),self.to_rad(360))
     1554                ctx.fill()
     1555                '''
     1556               
     1557               
     1558               
     1559                #ctx.set_source_rgba(0,0,0,0.1)
     1560               
     1561       
     1562               
     1563                ctx.set_source_rgba(69/255.0,90/255.0,100/255.0,1)
     1564               
     1565               
     1566                ctx.arc(self.login_animation_x,self.login_animation_y,self.login_animation_r,self.to_rad(0),self.to_rad(360))
     1567                ctx.fill()
     1568               
     1569                               
     1570                '''
     1571                ctx.arc(self.login_animation_x,self.login_animation_y,self.login_animation_r,self.to_rad(0),self.to_rad(360))
     1572                x,y=ctx.get_current_point()
     1573
     1574                r2 = cairo.RadialGradient(x, y, self.login_animation_r/2,x, y, self.login_animation_r)
     1575                r2.add_color_stop_rgba(0, 1,1,0,1)
     1576                r2.add_color_stop_rgba(1, 0, 0, ,1)
     1577                ctx.set_line_width(8)
     1578                ctx.set_source(r2)
     1579                       
     1580                ctx.stroke()
     1581                '''
     1582               
     1583               
     1584        #def draw_login
     1585
    12541586
    12551587        def draw_button(self,widget,ctx,mirror_button):
     
    12901622               
    12911623               
    1292                 if mirror_button.info["updating"]:
     1624                if mirror_button.info["executing"]:
    12931625                       
    12941626                        ctx.move_to(0,0)
  • lliurex-mirror/trunk/fuentes/lliurex-mirror2/rsrc/lliurex-mirror.ui

    r2481 r2518  
    487487            <property name="margin_left">10</property>
    488488            <property name="margin_right">10</property>
     489            <property name="margin_bottom">15</property>
    489490            <property name="shadow_type">none</property>
    490491            <child>
     
    501502    </child>
    502503    <child>
    503       <object class="GtkSeparator" id="separator3">
    504         <property name="visible">True</property>
    505         <property name="can_focus">False</property>
    506         <property name="margin_left">15</property>
    507         <property name="margin_right">15</property>
    508         <property name="margin_top">5</property>
    509         <property name="margin_bottom">5</property>
    510       </object>
    511       <packing>
    512         <property name="expand">False</property>
    513         <property name="fill">True</property>
    514         <property name="padding">5</property>
    515         <property name="position">3</property>
    516       </packing>
     504      <placeholder/>
    517505    </child>
    518506    <child>
     
    521509        <property name="can_focus">False</property>
    522510        <child>
    523           <object class="GtkButton" id="test_button">
    524             <property name="label" translatable="yes">button</property>
    525             <property name="visible">True</property>
    526             <property name="can_focus">True</property>
    527             <property name="receives_default">True</property>
    528             <property name="margin_right">15</property>
    529             <property name="margin_bottom">10</property>
    530           </object>
    531           <packing>
    532             <property name="expand">False</property>
    533             <property name="fill">True</property>
    534             <property name="pack_type">end</property>
    535             <property name="position">0</property>
    536           </packing>
     511          <placeholder/>
    537512        </child>
    538513      </object>
     
    541516        <property name="fill">True</property>
    542517        <property name="position">4</property>
     518      </packing>
     519    </child>
     520  </object>
     521  <object class="GtkBox" id="login_box">
     522    <property name="visible">True</property>
     523    <property name="can_focus">False</property>
     524    <property name="orientation">vertical</property>
     525    <property name="spacing">12</property>
     526    <child>
     527      <object class="GtkBox" id="box14">
     528        <property name="visible">True</property>
     529        <property name="can_focus">False</property>
     530        <property name="orientation">vertical</property>
     531        <child>
     532          <object class="GtkGrid" id="grid2">
     533            <property name="visible">True</property>
     534            <property name="can_focus">False</property>
     535            <property name="margin_left">120</property>
     536            <property name="margin_right">120</property>
     537            <property name="margin_top">5</property>
     538            <property name="margin_bottom">5</property>
     539            <property name="row_spacing">16</property>
     540            <property name="column_homogeneous">True</property>
     541            <child>
     542              <object class="GtkImage" id="image3">
     543                <property name="visible">True</property>
     544                <property name="can_focus">False</property>
     545                <property name="margin_bottom">20</property>
     546                <property name="pixbuf">mirror-logo.svg</property>
     547              </object>
     548              <packing>
     549                <property name="left_attach">0</property>
     550                <property name="top_attach">0</property>
     551              </packing>
     552            </child>
     553            <child>
     554              <object class="GtkEntry" id="user_entry">
     555                <property name="visible">True</property>
     556                <property name="can_focus">True</property>
     557                <property name="primary_icon_name">emblem-personal</property>
     558                <property name="placeholder_text" translatable="yes">Username</property>
     559              </object>
     560              <packing>
     561                <property name="left_attach">0</property>
     562                <property name="top_attach">1</property>
     563              </packing>
     564            </child>
     565            <child>
     566              <object class="GtkEntry" id="password_entry">
     567                <property name="visible">True</property>
     568                <property name="can_focus">True</property>
     569                <property name="visibility">False</property>
     570                <property name="invisible_char">•</property>
     571                <property name="primary_icon_name">badge-small</property>
     572                <property name="placeholder_text" translatable="yes">Password</property>
     573              </object>
     574              <packing>
     575                <property name="left_attach">0</property>
     576                <property name="top_attach">2</property>
     577              </packing>
     578            </child>
     579            <child>
     580              <object class="GtkBox" id="login_eb_box">
     581                <property name="height_request">50</property>
     582                <property name="visible">True</property>
     583                <property name="can_focus">False</property>
     584                <property name="orientation">vertical</property>
     585                <child>
     586                  <object class="GtkEventBox" id="login_eventbox">
     587                    <property name="visible">True</property>
     588                    <property name="can_focus">False</property>
     589                    <property name="is_focus">True</property>
     590                    <child>
     591                      <object class="GtkLabel" id="login_label">
     592                        <property name="visible">True</property>
     593                        <property name="can_focus">False</property>
     594                        <property name="margin_top">10</property>
     595                        <property name="margin_bottom">10</property>
     596                        <property name="label" translatable="yes">Login</property>
     597                      </object>
     598                    </child>
     599                  </object>
     600                  <packing>
     601                    <property name="expand">False</property>
     602                    <property name="fill">True</property>
     603                    <property name="position">0</property>
     604                  </packing>
     605                </child>
     606                <child>
     607                  <placeholder/>
     608                </child>
     609              </object>
     610              <packing>
     611                <property name="left_attach">0</property>
     612                <property name="top_attach">4</property>
     613              </packing>
     614            </child>
     615            <child>
     616              <object class="GtkEntry" id="server_ip_entry">
     617                <property name="visible">True</property>
     618                <property name="can_focus">True</property>
     619                <property name="primary_icon_name">server</property>
     620                <property name="placeholder_text" translatable="yes">Server IP    (Default value : server)</property>
     621              </object>
     622              <packing>
     623                <property name="left_attach">0</property>
     624                <property name="top_attach">3</property>
     625              </packing>
     626            </child>
     627            <child>
     628              <object class="GtkLabel" id="login_msg_label">
     629                <property name="visible">True</property>
     630                <property name="can_focus">False</property>
     631              </object>
     632              <packing>
     633                <property name="left_attach">0</property>
     634                <property name="top_attach">5</property>
     635              </packing>
     636            </child>
     637          </object>
     638          <packing>
     639            <property name="expand">True</property>
     640            <property name="fill">False</property>
     641            <property name="position">0</property>
     642          </packing>
     643        </child>
     644        <child>
     645          <object class="GtkBox" id="box15">
     646            <property name="visible">True</property>
     647            <property name="can_focus">False</property>
     648            <child>
     649              <object class="GtkButton" id="button1">
     650                <property name="label" translatable="yes">button</property>
     651                <property name="visible">True</property>
     652                <property name="can_focus">True</property>
     653                <property name="receives_default">True</property>
     654              </object>
     655              <packing>
     656                <property name="expand">False</property>
     657                <property name="fill">True</property>
     658                <property name="pack_type">end</property>
     659                <property name="position">0</property>
     660              </packing>
     661            </child>
     662          </object>
     663          <packing>
     664            <property name="expand">False</property>
     665            <property name="fill">True</property>
     666            <property name="position">1</property>
     667          </packing>
     668        </child>
     669      </object>
     670      <packing>
     671        <property name="expand">True</property>
     672        <property name="fill">True</property>
     673        <property name="position">0</property>
     674      </packing>
     675    </child>
     676  </object>
     677  <object class="GtkBox" id="login_da_box">
     678    <property name="visible">True</property>
     679    <property name="can_focus">False</property>
     680    <property name="orientation">vertical</property>
     681    <child>
     682      <object class="GtkDrawingArea" id="login_drawingarea">
     683        <property name="visible">True</property>
     684        <property name="can_focus">False</property>
     685      </object>
     686      <packing>
     687        <property name="expand">True</property>
     688        <property name="fill">True</property>
     689        <property name="position">0</property>
    543690      </packing>
    544691    </child>
     
    773920            <property name="can_focus">False</property>
    774921            <property name="margin_left">10</property>
     922            <property name="margin_right">10</property>
    775923            <child>
    776924              <object class="GtkEventBox" id="configuration_eventbox">
     
    799947            <property name="expand">False</property>
    800948            <property name="fill">True</property>
     949            <property name="pack_type">end</property>
    801950            <property name="position">0</property>
    802951          </packing>
    803952        </child>
    804953        <child>
    805           <object class="GtkButton" id="close_button">
    806             <property name="label">gtk-close</property>
    807             <property name="visible">True</property>
    808             <property name="can_focus">True</property>
    809             <property name="receives_default">True</property>
    810             <property name="margin_right">10</property>
    811             <property name="use_stock">True</property>
    812           </object>
    813           <packing>
    814             <property name="expand">False</property>
    815             <property name="fill">True</property>
    816             <property name="pack_type">end</property>
    817             <property name="position">1</property>
    818           </packing>
     954          <placeholder/>
    819955        </child>
    820956      </object>
Note: See TracChangeset for help on using the changeset viewer.