Changeset 8474


Ignore:
Timestamp:
Feb 26, 2019, 1:59:57 PM (3 months ago)
Author:
daduve
Message:

Adding new files for initial release

Location:
first-aid-kit/trunk/fuentes/first-aid-kit.install/usr
Files:
9 edited

Legend:

Unmodified
Added
Removed
  • first-aid-kit/trunk/fuentes/first-aid-kit.install/usr/sbin/first-aid-kit

    r8454 r8474  
    11#!/bin/bash
     2env > /tmp/.first-aid-kit.$USER
    23pkexec /usr/share/first-aid-kit/first-aid-kit.py
  • first-aid-kit/trunk/fuentes/first-aid-kit.install/usr/share/first-aid-kit/Core.py

    r8456 r8474  
    77import N4dManager
    88import os
     9import subprocess
     10import pwd
    911import sys
    1012
     
    2931                self.dprint("Init...")
    3032                self.var=None
    31                
     33
     34                self.get_current_user()
     35                self.get_other_info()
     36
     37                print self.current_user
     38                print self.current_session
     39
    3240        #def __init__
     41
     42
     43        def get_other_info(self):
     44
     45                env_file="/tmp/.first-aid-kit.%s"%self.current_user
     46                f=open(env_file)
     47                lines=f.readlines()
     48                f.close()
     49                os.remove(env_file)
     50
     51                for line in lines:
     52                        if "DESKTOP_SESSION=" in line:
     53                                self.current_session=line.split("=")[1].strip("\n")
     54
     55
     56
     57        #def get_useful_info
     58
     59
     60        def get_current_user(self):
     61
     62                if "PKEXEC_UID" in os.environ:
     63                        self.current_user=pwd.getpwuid(int(os.environ["PKEXEC_UID"])).pw_name
     64                else:
     65                        self.current_user=os.environ["SUDO_USER"]
     66
     67        #def get_current_user
     68
     69
     70
    3371       
    3472        def init(self):
  • first-aid-kit/trunk/fuentes/first-aid-kit.install/usr/share/first-aid-kit/EpoptesBox.py

    r8451 r8474  
    1212import sys
    1313import os
     14import time
    1415
    1516gettext.textdomain('first-aid-kit-gui')
     
    3839                self.epoptes_box3=builder.get_object("box3")
    3940                self.renew_button=builder.get_object("renew_button")
    40                 self.txt_check_netfiles=builder.get_object("txt_check_epoptes")
     41                self.renew_spinner=builder.get_object("renew_spinner")
     42                self.txt_check_epoptes=builder.get_object("txt_check_epoptes")
    4143                self.spinner_netfiles=builder.get_object("spinner_epoptes")
    4244                self.section_label_3=builder.get_object("section_label_3")
    4345                self.label3=builder.get_object("label3")
     46                self.info_box=builder.get_object("info_epoptes")
     47                self.info_box_into=builder.get_object("box23")
    4448
    4549                self.add(self.epoptes_box)
    4650               
    47                 #self.connect_signals()
     51                self.connect_signals()
    4852                self.set_css_info()
     53
    4954               
    50                 #self.core.current_var=None
    51                 #self.current_id=None
    52                
    53                 #self.thread=threading.Thread()
    54                 #self.thread_ret=None
    55                
    56                
     55                self.info_box_stack=Gtk.Stack()
     56                self.info_box_stack.set_transition_type(Gtk.StackTransitionType.CROSSFADE)
     57                self.info_box_stack.set_transition_duration(500)
     58                hbox_epoptes=Gtk.HBox()
     59                hbox_epoptes.show()
     60                self.info_box_stack.add_titled(hbox_epoptes,"empty_box_epoptes","Empty Box Epoptes")
     61                self.info_box_stack.add_titled(self.info_box,"infobox","InfoBox")
     62
     63                self.wawabox2=Gtk.HBox()
     64                self.wawabox2.pack_start(self.info_box_stack,True,True,0)
     65
     66                self.epoptes_box.pack_start(self.wawabox2,False,False,5)
     67
     68
     69                self.info_box.set_margin_bottom(20)
     70                self.info_box.set_margin_left(5)
     71                self.info_box.set_margin_right(5)
     72
     73                self.info_box_stack.set_visible_child_name("empty_box_epoptes")
     74                               
    5775               
    5876        #def __init__
    5977       
     78       
     79
     80
    6081        def set_css_info(self):
    6182               
     
    6586                Gtk.StyleContext.add_provider_for_screen(Gdk.Screen.get_default(),self.style_provider,Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION)
    6687               
    67                 #self.net_box.set_name("MENU_WINDOW")
    6888                self.renew_button.set_name("EXECUTE_BUTTON")
    69                 #self.execute_button.set_name("DELETE_ITEM_BUTTON")
    7089                self.epoptes_box3.set_name("PKG_BOX")
     90                self.info_box.set_name("PKG_BOX")
     91
    7192                self.label3.set_name("OPTION_LABEL")
     93                self.txt_check_epoptes.set_name("INFO_LABEL")
    7294                self.section_label_3.set_name("SECTION_LABEL")
    7395                       
    7496        #def set-css_info
     97
     98
     99
     100
     101
     102        def connect_signals(self):
     103               
     104                self.renew_button.connect("clicked",self.renew_button_clicked)
     105               
     106        #def connect_signals
     107
     108
     109
     110
     111
     112        def renew_button_clicked(self,widget):
     113               
     114                self.thread=threading.Thread(target=self.renew_button_thread)
     115                self.renew_button.set_sensitive(False)
     116                self.thread.daemon=True
     117                self.thread.start()
     118               
     119                allocation=self.renew_button.get_allocation()
     120                w=allocation.width
     121                h=allocation.height
     122
     123                self.renew_button.hide()
     124                self.renew_spinner.start()
     125                self.renew_spinner.set_size_request(w,h)
     126                self.renew_spinner.show()
     127
     128                GLib.timeout_add(500,self.check_renew_thread)
     129       
     130        #def_gparted_button_clicked
     131
     132
     133
     134        def renew_button_thread(self):
     135       
     136                try:
     137                        self.core.dprint("renewing the certificate of the epoptes....")
     138                        os.system('epoptes-client -c')
     139                        time.sleep(1)
     140                        self.thread_ret={"status":True,"msg":"BROKEN"}
     141                       
     142                except Exception as e:
     143                        print e
     144                        return False
     145                       
     146        #def gparted_button_thread
     147
     148
     149        def check_renew_thread(self):
     150               
     151                if self.thread.is_alive():
     152                        return True
     153               
     154
     155                self.renew_spinner.hide()
     156                self.renew_button.show()
     157                self.renew_button.set_sensitive(True)
     158                self.info_box_stack.set_visible_child_name("infobox")
     159                self.txt_check_epoptes.set_text("The Epoptes certificate has been renewed")
     160               
     161        #check_gparted_thread
  • first-aid-kit/trunk/fuentes/first-aid-kit.install/usr/share/first-aid-kit/FirstAidKit.py

    r8457 r8474  
    109109                self.start_bar_box=self.core.start_bar_box
    110110                self.main_stack.add_titled(self.start_bar_box,"startbarbox","StartBarBox")
     111
    111112               
    112113               
     
    121122               
    122123                self.validate_spinner.hide()
     124                self.bar_button.hide()
     125                self.netfiles_button.hide()
     126               
     127                self.core.net_box.restart_txt.hide()
     128                self.core.net_box.configure_network_button.hide()
     129                self.core.net_box.restart_button.hide()
     130                self.core.net_box.box9.hide()
     131
     132
    123133               
    124134       
     
    183193                self.bar_button.set_name("OPTION_BUTTON")
    184194                self.login_msg_label.set_name("ERROR_LABEL")
    185                
     195
    186196                self.main_button_box.set_name("GREY")
    187197                       
  • first-aid-kit/trunk/fuentes/first-aid-kit.install/usr/share/first-aid-kit/HdBox.py

    r8451 r8474  
    77import Core
    88
    9 #import Dialog
     9import Dialog
    1010import time
    1111import threading
     
    4444                self.label12=builder.get_object("label12")
    4545                self.section_label_2=builder.get_object("section_label_2")
     46                self.gparted_spinner=builder.get_object("gparted_spinner")
     47                self.gparted_box=builder.get_object("gparted_box")
     48                self.hdbox_check=builder.get_object("info_box")
     49                self.hdbox_check_into=builder.get_object("box12")
     50
    4651               
    4752
    4853                self.add(self.hd_box)
    4954               
     55                self.hdbox_check_stack=Gtk.Stack()
     56                self.hdbox_check_stack.set_transition_type(Gtk.StackTransitionType.CROSSFADE)
     57                self.hdbox_check_stack.set_transition_duration(500)
     58                hbox=Gtk.HBox()
     59                hbox.show()
     60                self.hdbox_check_stack.add_titled(hbox,"empty_box","Empty Box")
     61                self.hdbox_check_stack.add_titled(self.hdbox_check,"hdboxcheck","HDboxCheck")
     62
     63                self.wawabox=Gtk.HBox()
     64                self.wawabox.pack_start(self.hdbox_check_stack,True,True,0)
     65
     66                self.hd_box.pack_start(self.wawabox,False,False,5)
     67
     68
     69                self.hdbox_check.set_margin_bottom(20)
     70                self.hdbox_check.set_margin_left(5)
     71                self.hdbox_check.set_margin_right(5)
     72
    5073                self.connect_signals()
    5174                self.set_css_info()
    52                
    53                 #self.core.current_var=None
    54                 #self.current_id=None
    55                
    56                 #self.thread=threading.Thread()
    57                 #self.thread_ret=None
    58                
    59                
    60                
     75
     76               
     77                #test fsck
     78                self.fsck_path='/forcefsck'
     79                if not os.path.exists(self.fsck_path):
     80                        self.fsck=False
     81                        self.fsck_button.set_label(_("Enable"))
     82                        self.hdbox_check_stack.set_visible_child_name("empty_box")
     83                else:
     84                        self.fsck=True
     85                        self.fsck_button.set_label(_("Disable"))
     86                        self.hdbox_check_stack.set_visible_child_name("hdboxcheck")
     87                        self.txt_check_netfiles.set_text("Programmed a fscky in principal HD on the reboot")
     88               
     89
     90
     91
     92
    6193        #def __init__
    6294       
     
    71103                Gtk.StyleContext.add_provider_for_screen(Gdk.Screen.get_default(),self.style_provider,Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION)
    72104               
    73                 #self.net_box.set_name("MENU_WINDOW")
     105
    74106                self.gparted_button.set_name("EXECUTE_BUTTON")
    75107                self.fsck_button.set_name("EXECUTE_BUTTON")
    76                 #self.execute_button.set_name("DELETE_ITEM_BUTTON")
    77108                self.hd_box10.set_name("PKG_BOX")
     109                #self.hdbox_check_into.set_name("PKG_BOX")
     110                self.hdbox_check.set_name("PKG_BOX")
     111                #self.wawabox.set_name("PKG_BOX")
     112
    78113                self.label11.set_name("OPTION_LABEL")
    79114                self.label12.set_name("OPTION_LABEL")
    80115                self.section_label_2.set_name("SECTION_LABEL")
     116                self.txt_check_netfiles.set_name("INFO_LABEL")
    81117                       
    82118        #def set-css_info
     
    88124               
    89125                self.gparted_button.connect("clicked",self.gparted_button_clicked)
    90                 #self.fsck_button.connect("clicked",self.fsck_button_clicked)
     126                self.fsck_button.connect("clicked",self.fsck_button_clicked)
    91127               
    92128        #def connect_signals
    93129       
     130
     131
    94132        def gparted_button_clicked(self,widget):
    95        
    96                 os.system('gparted')
     133               
     134                self.thread=threading.Thread(target=self.gparted_button_thread)
     135                self.gparted_button.set_sensitive(False)
     136                self.thread.daemon=True
     137                self.thread.start()
     138               
     139                allocation=self.gparted_button.get_allocation()
     140                w=allocation.width
     141                h=allocation.height
     142
     143                self.gparted_button.hide()
     144                self.gparted_spinner.start()
     145                self.gparted_spinner.set_size_request(w,h)
     146                self.gparted_spinner.show()
     147
     148                GLib.timeout_add(500,self.check_gparted_thread)
    97149       
    98150        #def_gparted_button_clicked
    99        
    100        
    101        
     151
     152
     153
     154        def gparted_button_thread(self):
     155       
     156                try:
     157                        self.core.dprint("Opening Partition Manager for HD....")
     158
     159                        if self.core.current_session=='lliurex-mate':
     160                                os.system('gparted')
     161                        else:
     162                                os.system('partition-manager')
     163
     164                        self.thread_ret={"status":True,"msg":"BROKEN"}
     165                       
     166                except Exception as e:
     167                        print e
     168                        return False
     169                       
     170        #def gparted_button_thread
     171
     172
     173        def check_gparted_thread(self):
     174               
     175                if self.thread.is_alive():
     176                        return True
     177               
     178
     179                self.gparted_spinner.hide()
     180                self.gparted_button.show()
     181                self.gparted_button.set_sensitive(True)
     182               
     183        #check_gparted_thread
     184
     185
     186
     187
     188        def fsck_button_clicked(self,widget):
     189               
     190
     191               
     192
     193                if self.fsck == False:
     194                        os.system('touch %s'%self.fsck_path)
     195                        self.fsck_button.set_label(_("Disable"))
     196                        self.fsck = True
     197                        self.hdbox_check_stack.set_visible_child_name("hdboxcheck")
     198                        self.txt_check_netfiles.set_text("Programmed a fscky in principal HD on the reboot")
     199                        #self.txt_check_netfiles.show()
     200                else:
     201                        os.system('rm %s'%self.fsck_path)
     202                        self.fsck_button.set_label(_("Enable"))
     203                        self.fsck = False
     204                        self.hdbox_check_stack.set_visible_child_name("empty_box")
     205                        #self.txt_check_netfiles.hide()
     206
     207                '''
     208
     209                if self.hdbox_check_stack.get_visible_child_name()=="empty_box":
     210                        self.hdbox_check_stack.set_visible_child_name("hdboxcheck")
     211                else:
     212                        self.hdbox_check_stack.set_visible_child_name("empty_box")
     213
     214                '''
     215       
     216        #def_fsck_button_clicked
     217       
     218       
     219       
  • first-aid-kit/trunk/fuentes/first-aid-kit.install/usr/share/first-aid-kit/NetBox.py

    r8451 r8474  
    1212import sys
    1313import os
     14import urllib2
     15import lliurex.net
     16import subprocess
    1417
    1518gettext.textdomain('first-aid-kit-gui')
     
    3336                ui_path=RSRC + "first-aid-kit.ui"
    3437                builder.add_from_file(ui_path)
    35                
     38
    3639               
    3740                self.net_box=builder.get_object("net_box")
    38                 self.execute_button=builder.get_object("execute_button")
     41                self.test_button=builder.get_object("test_button")
     42                self.test_combobox=builder.get_object("test_combobox")
     43                self.test_spinner=builder.get_object("test_spinner")
    3944                self.restart_button=builder.get_object("restart_button")
    40                 self.chek3_button=builder.get_object("checkbutton3")
    41                 self.chek2_button=builder.get_object("checkbutton2")
    42                 self.chek1_button=builder.get_object("checkbutton1")
     45                self.restart_spinner=builder.get_object("restart_spinner")
     46                self.configure_network_button=builder.get_object("configure_network_button")
     47                self.configure_network_spinner=builder.get_object("configure_network_spinner")
     48                self.check4_image=builder.get_object("image7")
     49                self.check2_image=builder.get_object("image5")
     50                self.check1_image=builder.get_object("image4")
     51               
     52
    4353                self.section_label_01=builder.get_object("section_label_01")
    4454                self.label5=builder.get_object("label5")
    45                 self.label8=builder.get_object("label8")
    46                 #self.label9=builder.get_object("label9")
     55                self.label2=builder.get_object("label2")
     56                self.speed_net=builder.get_object("label4")
     57                self.link_label=builder.get_object("label9")
     58                self.ip_address_label=builder.get_object("label13")
     59                self.ip_address=builder.get_object("label14")
    4760                self.label6=builder.get_object("label6")
    4861                self.restart_txt=builder.get_object("restart_txt")
     62                self.configure_network_txt=builder.get_object("configure_network_txt")
    4963                self.txt_check=builder.get_object("txt_check")
    5064                self.spinner=builder.get_object("spinner")
     
    5468                self.box9=builder.get_object("box9")
    5569               
     70                self.load_eth_cards()
    5671                self.pack_start(self.net_box,True,True,5)
    57                 #self.connect_signals()
     72                self.connect_signals()
    5873                self.set_css_info()
    5974               
    60                 #self.core.current_var=None
    61                 #self.current_id=None
    62                
    63                 #self.thread=threading.Thread()
    64                 #self.thread_ret=None
    65                
    66                
    67                
    6875        #def __init__
    6976       
     77
     78
     79
     80
    7081       
    7182        def set_css_info(self):
     
    7990                self.box9.set_name("PKG_BOX")
    8091               
    81                 #self.net_box.set_name("MENU_WINDOW")
    82                 self.execute_button.set_name("EXECUTE_BUTTON")
     92                self.test_button.set_name("EXECUTE_BUTTON")
    8393                self.restart_button.set_name("EXECUTE_BUTTON")
    84                 #self.execute_button.set_name("DELETE_ITEM_BUTTON")
    85                
    86 
     94                self.configure_network_button.set_name("EXECUTE_BUTTON")
    8795                               
    8896                self.section_label_01.set_name("SECTION_LABEL")
    8997                self.label5.set_name("OPTION_LABEL")
    90                 self.label8.set_name("OPTION_LABEL")
    91                 #self.label9.set_name("OPTION_LABEL")
     98                self.label2.set_name("OPTION_LABEL")
     99                self.speed_net.set_name("OPTION_LABEL")
    92100                self.label6.set_name("OPTION_LABEL")
    93101                self.restart_txt.set_name("OPTION_LABEL")
     102                self.configure_network_txt.set_name("OPTION_LABEL")
     103                self.ip_address_label.set_name("OPTION_LABEL")
     104                self.ip_address.set_name("OPTION_LABEL")
     105                self.link_label.set_name("OPTION_LABEL")
    94106                self.separator5.set_name("SEPARATOR_MAIN")
    95107                       
    96108        #def set-css_info
    97        
     109
     110
     111
     112        def connect_signals(self):
     113               
     114                self.test_combobox.connect("changed",self.eth_changed)
     115                self.test_button.connect("clicked",self.test_button_clicked)
     116                self.restart_button.connect("clicked",self.restart_button_clicked)
     117                self.configure_network_button.connect("clicked",self.configure_network_button_clicked)
     118               
     119        #def connect_signals
     120
     121
     122
     123
     124        def load_eth_cards(self):
     125
     126                self.eth_store=Gtk.ListStore(str)
     127
     128                self.devices=lliurex.net.get_devices_info()
     129                self.num_devices=len(self.devices)
     130                self.core.dprint("Netcards detected %s"%self.num_devices)
     131                self.eth_wharehouse={}
     132
     133                if self.num_devices > 1:
     134                        for i in range(0,self.num_devices):
     135                                eth_name=self.devices[i]['name']
     136                                self.eth_store.append([eth_name])
     137                                self.eth_wharehouse[eth_name]=""
     138                                self.eth_wharehouse[eth_name]=i
     139                else:
     140                        self.test_combobox.hide()
     141
     142                print (self.eth_wharehouse)
     143                renderer=Gtk.CellRendererText()
     144                self.test_combobox.pack_start(renderer,True)
     145                self.test_combobox.add_attribute(renderer,"text",0)
     146                self.test_combobox.set_model(self.eth_store)
     147                self.test_combobox.set_active(0)
     148                self.eth_po=0
     149
     150        #def load_eth
     151
     152
     153
     154        def eth_changed(self,widget):
     155
     156                it=self.test_combobox.get_active_iter()
     157                eth_selected=self.eth_store.get(it,0)[0]
     158                self.eth_po=self.eth_wharehouse[eth_selected]
     159                self.core.dprint("Network selected to test: %s  in position: %s"%(eth_selected,self.eth_po))
     160
     161        #def eth_changed
     162
     163
     164        def test_button_clicked(self,widget):
     165               
     166                self.thread=threading.Thread(target=self.test_button_thread)
     167                self.test_button.set_sensitive(False)
     168                self.thread.daemon=True
     169                self.thread.start()
     170               
     171                allocation=self.test_button.get_allocation()
     172                w=allocation.width
     173                h=allocation.height
     174
     175                self.test_combobox.hide()
     176                self.test_button.hide()
     177                self.test_spinner.start()
     178                self.test_spinner.set_size_request(w,h)
     179                self.test_spinner.show()
     180
     181                GLib.timeout_add(500,self.check_test_thread)
     182       
     183        #def_test_button_clicked
     184
     185
     186
     187        def test_button_thread(self):
     188       
     189                try:
     190                        self.device_info()
     191                        if self.server_on():
     192                                self.core.dprint("Server connection is avaiable.")
     193                                self.check1_image.set_from_stock("gtk-yes",Gtk.IconSize.BUTTON)
     194                        else:
     195                                self.core.dprint("Server connection is UNAVAIABLE....")
     196                                self.check1_image.set_from_stock("gtk-no",Gtk.IconSize.BUTTON)
     197
     198                        self.core.dprint("Test Network....")
     199                        if self.internet_on():
     200                                self.core.dprint("Ping to google is ok....")
     201                                self.check2_image.set_from_stock("gtk-yes",Gtk.IconSize.BUTTON)
     202                        else:
     203                                self.core.dprint("Internet is unavaiable")
     204                                self.check2_image.set_from_stock("gtk-no",Gtk.IconSize.BUTTON)
     205
     206                        self.thread_ret={"status":True,"msg":"BROKEN"}
     207                       
     208                except Exception as e:
     209                        print e
     210                        return False
     211                       
     212        #def Test_button_thread
     213
     214
     215        def check_test_thread(self):
     216               
     217                if self.thread.is_alive():
     218                        return True
     219               
     220
     221                self.test_spinner.hide()
     222                self.test_button.show()
     223                self.test_combobox.show()
     224                self.test_button.set_sensitive(True)
     225                #self.info_box_network_stack.set_visible_child_name("infobox")
     226                #self.txt_check_network.set_text("The network card has been reset")
     227               
     228        #check_test_thread
     229
     230
     231
     232        def server_on(self):
     233                try:
     234                        import xmlrpclib as x
     235                        proxy="https://server:9779"
     236                        client=x.ServerProxy(proxy)
     237                        client.get_methods()
     238                        return True
     239                except:
     240                        return False
     241
     242
     243        #def_internet_on
     244
     245
     246        def internet_on(self):
     247                try:
     248                        urllib2.urlopen('https://www.google.com/', timeout=10)
     249                        return True
     250                except:
     251                        return False
     252
     253
     254        #def_internet_on
     255
     256        def device_info(self):
     257                try:
     258                        self.core.dprint ("Device info...............")
     259                        self.name_device=self.devices[self.eth_po]['name']
     260                        print self.name_device
     261                        self.speed_device=self.devices[self.eth_po]['Speed']
     262                        self.link_device=self.devices[self.eth_po]['Link detected']
     263                        self.ip_device=self.devices[self.eth_po]['ip']
     264                        self.core.dprint("Name:%s - Speed:%s - Link:%s - Ip:%s"%(self.name_device,self.speed_device,self.link_device,self.ip_device))
     265                       
     266                        self.speed_net.set_text(self.speed_device[0])
     267                        self.ip_address.set_text(self.ip_device)
     268                        if self.link_device[0] == 'yes':
     269                                self.check4_image.set_from_stock("gtk-yes",Gtk.IconSize.BUTTON)
     270                        else:
     271                                self.check4_image.set_from_stock("gtk-no",Gtk.IconSize.BUTTON)
     272                        return True
     273
     274                except Exception as e:
     275                        print(e)
     276                        self.core.dprint("Problems detecting netcard info")
     277                        return False
     278
     279
     280        #def_internet_on
     281
     282
     283
     284
     285
     286
     287
     288
     289
     290        def configure_network_button_clicked(self,widget):
     291               
     292                self.thread=threading.Thread(target=self.configure_network_button_thread)
     293                self.configure_network_button.set_sensitive(False)
     294                self.thread.daemon=True
     295                self.thread.start()
     296               
     297                allocation=self.configure_network_button.get_allocation()
     298                w=allocation.width
     299                h=allocation.height
     300
     301                self.configure_network_button.hide()
     302                self.configure_network_spinner.start()
     303                self.configure_network_spinner.set_size_request(w,h)
     304                self.configure_network_spinner.show()
     305
     306                GLib.timeout_add(500,self.check_configure_network_thread)
     307       
     308        #def_configure_network_button_clicked
     309
     310
     311
     312
     313        def restart_button_clicked(self,widget):
     314               
     315                self.thread=threading.Thread(target=self.restart_button_thread)
     316                self.restart_button.set_sensitive(False)
     317                self.thread.daemon=True
     318                self.thread.start()
     319               
     320                allocation=self.restart_button.get_allocation()
     321                w=allocation.width
     322                h=allocation.height
     323
     324                self.restart_button.hide()
     325                self.restart_spinner.start()
     326                self.restart_spinner.set_size_request(w,h)
     327                self.restart_spinner.show()
     328
     329                GLib.timeout_add(500,self.check_restart_thread)
     330       
     331        #def_restart_button_clicked
     332
     333
     334
     335        def restart_button_thread(self):
     336       
     337                try:
     338                        self.core.dprint("Restart networking....")
     339                        #os.system('epoptes-client -c')
     340                        time.sleep(1)
     341                        self.thread_ret={"status":True,"msg":"BROKEN"}
     342                       
     343                except Exception as e:
     344                        print e
     345                        return False
     346                       
     347        #def restart_button_thread
     348
     349
     350        def check_restart_thread(self):
     351               
     352                if self.thread.is_alive():
     353                        return True
     354               
     355
     356                self.restart_spinner.hide()
     357                self.restart_button.show()
     358                self.restart_button.set_sensitive(True)
     359                #self.info_box_network_stack.set_visible_child_name("infobox")
     360                #self.txt_check_network.set_text("The network card has been reset")
     361               
     362        #check_restart_thread
     363
     364
     365
     366        def configure_network_button_clicked(self,widget):
     367               
     368                self.thread=threading.Thread(target=self.configure_network_button_thread)
     369                self.configure_network_button.set_sensitive(False)
     370                self.thread.daemon=True
     371                self.thread.start()
     372               
     373                allocation=self.configure_network_button.get_allocation()
     374                w=allocation.width
     375                h=allocation.height
     376
     377                self.configure_network_button.hide()
     378                self.configure_network_spinner.start()
     379                self.configure_network_spinner.set_size_request(w,h)
     380                self.configure_network_spinner.show()
     381
     382                GLib.timeout_add(500,self.check_configure_network_thread)
     383       
     384        #def_configure_network_button_clicked
     385
     386
     387
     388        def configure_network_button_thread(self):
     389       
     390                try:
     391                        self.core.dprint("Configure network....")
     392                        #os.system('epoptes-client -c')
     393                        time.sleep(1)
     394                        self.thread_ret={"status":True,"msg":"BROKEN"}
     395                       
     396                except Exception as e:
     397                        print e
     398                        return False
     399                       
     400        #def configure_network_button_thread
     401
     402
     403        def check_configure_network_thread(self):
     404               
     405                if self.thread.is_alive():
     406                        return True
     407               
     408
     409                self.configure_network_spinner.hide()
     410                self.configure_network_button.show()
     411                self.configure_network_button.set_sensitive(True)
     412                #self.info_box_network_stack.set_visible_child_name("infobox")
     413                #self.txt_check_network.set_text("The network card has been reset")
     414               
     415        #check_configure_network_thread
     416       
  • first-aid-kit/trunk/fuentes/first-aid-kit.install/usr/share/first-aid-kit/StartBarBox.py

    r8451 r8474  
    3838                self.start_bar_box2=builder.get_object("box2")
    3939                self.start_bar_button=builder.get_object("start_bar_button")
     40                self.start_bar_button_box=builder.get_object("start_bar_button_box")
     41                self.start_bar_spinner=builder.get_object("start_bar_spinner")
    4042                self.txt_check_start_bar=builder.get_object("txt_check_start_bar")
    4143                self.spinner_start_bar=builder.get_object("spinner_start_bar")
    4244                self.section_label_4=builder.get_object("section_label_4")
    4345                self.label1=builder.get_object("label1")
     46                self.info_box=builder.get_object("info_start_bar")
     47                self.info_box_into=builder.get_object("box15")
    4448
    4549                self.add(self.start_bar_box)
    4650               
    47                 #self.connect_signals()
     51                self.connect_signals()
    4852                self.set_css_info()
    49                
    50                 #self.core.current_var=None
    51                 #self.current_id=None
    52                
    53                 #self.thread=threading.Thread()
    54                 #self.thread_ret=None
    55                
    56                
     53
     54                self.info_box_stack=Gtk.Stack()
     55                self.info_box_stack.set_transition_type(Gtk.StackTransitionType.CROSSFADE)
     56                self.info_box_stack.set_transition_duration(500)
     57                hbox_epoptes=Gtk.HBox()
     58                hbox_epoptes.show()
     59                self.info_box_stack.add_titled(hbox_epoptes,"empty_box_start_bar","Empty Box Start Bar")
     60                self.info_box_stack.add_titled(self.info_box,"info_start_bar","InfoBoxStartBar")
     61
     62                self.wawabox3=Gtk.HBox()
     63                self.wawabox3.pack_start(self.info_box_stack,True,True,0)
     64
     65                self.start_bar_box.pack_start(self.wawabox3,False,False,5)
     66
     67
     68                self.info_box.set_margin_bottom(20)
     69                self.info_box.set_margin_left(5)
     70                self.info_box.set_margin_right(5)
     71
     72                self.info_box_stack.set_visible_child_name("empty_box_start_bar")
     73                       
    5774               
    5875        #def __init__
    5976       
     77
     78
     79
     80
    6081        def set_css_info(self):
    6182               
     
    6586                Gtk.StyleContext.add_provider_for_screen(Gdk.Screen.get_default(),self.style_provider,Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION)
    6687               
    67                 #self.net_box.set_name("MENU_WINDOW")
    6888                self.start_bar_button.set_name("EXECUTE_BUTTON")
    69                 #self.execute_button.set_name("DELETE_ITEM_BUTTON")
    7089                self.start_bar_box2.set_name("PKG_BOX")
     90                self.info_box.set_name("PKG_BOX")
     91
    7192                self.section_label_4.set_name("SECTION_LABEL")
    7293                self.label1.set_name("OPTION_LABEL")
     94                self.txt_check_start_bar.set_name("INFO_LABEL")
    7395                       
    7496        #def set-css_info
     97
     98
     99
     100        def connect_signals(self):
     101               
     102                self.start_bar_button.connect("clicked",self.start_bar_button_clicked)
     103               
     104        #def connect_signals
     105
     106
     107
     108
     109
     110        def start_bar_button_clicked(self,widget):
     111               
     112                self.thread=threading.Thread(target=self.start_bar_button_thread)
     113                self.start_bar_button.set_sensitive(False)
     114                self.thread.daemon=True
     115                self.thread.start()
     116               
     117                allocation=self.start_bar_button.get_allocation()
     118                w=allocation.width
     119                h=allocation.height
     120
     121                self.start_bar_button.hide()
     122                self.start_bar_spinner.start()
     123                self.start_bar_spinner.set_size_request(w,h)
     124                self.start_bar_spinner.show()
     125
     126                GLib.timeout_add(500,self.check_start_bar_thread)
     127       
     128        #def_gparted_button_clicked
     129
     130
     131
     132        def start_bar_button_thread(self):
     133       
     134                try:
     135                        self.core.dprint("The start bar has been removed from your system.")
     136                        #os.system('epoptes-client -c')
     137                        time.sleep(1)
     138                        self.thread_ret={"status":True,"msg":"BROKEN"}
     139                       
     140                except Exception as e:
     141                        print e
     142                        return False
     143                       
     144        #def gparted_button_thread
     145
     146
     147        def check_start_bar_thread(self):
     148               
     149                if self.thread.is_alive():
     150                        return True
     151               
     152
     153                self.start_bar_spinner.hide()
     154                self.start_bar_button.show()
     155                self.start_bar_button.set_sensitive(True)
     156                self.info_box_stack.set_visible_child_name("info_start_bar")
     157                self.txt_check_start_bar.set_text("The start bar has been removed from your system.")
     158               
     159        #check_gparted_thread
  • first-aid-kit/trunk/fuentes/first-aid-kit.install/usr/share/first-aid-kit/first-aid-kit.css

    r8451 r8474  
    1515        #OPTION_LABEL {
    1616                font: Roboto Light;
     17                font-weight: bold;
     18
     19        }
     20
     21        #INFO_LABEL {
     22                font: Roboto Light;
     23                color: #ff0000;
    1724
    1825        }
     
    2431        #SECTION_LABEL{
    2532                font: Roboto;
    26                 font-weight:bold;
     33                font-weight: bold;
    2734                color: @arc-blue;
    2835        }
     
    3340{
    3441        background-color: #f5f5f5;
     42       
     43}
     44
     45#RED
     46{
     47        background-color: #ff0000;
    3548       
    3649}
     
    5972                text-shadow: none;*/
    6073                border-color: #76819a;
     74                font-weight: bold;
    6175                background-image:-gtk-gradient (linear, left top, left bottom, from (#76819a),  to (#76819a));
    6276               
  • first-aid-kit/trunk/fuentes/first-aid-kit.install/usr/share/first-aid-kit/rsrc/first-aid-kit.ui

    r8451 r8474  
    182182                <property name="can_focus">False</property>
    183183                <property name="xpad">10</property>
    184                 <property name="label" translatable="yes">Renew certificates</property>
     184                <property name="label" translatable="yes">Renew certificate</property>
    185185                <property name="xalign">0</property>
    186186              </object>
     
    192192            </child>
    193193            <child>
    194               <object class="GtkButton" id="renew_button">
    195                 <property name="label" translatable="yes">Execute</property>
    196                 <property name="visible">True</property>
    197                 <property name="can_focus">True</property>
    198                 <property name="receives_default">True</property>
     194              <object class="GtkBox" id="renew_button_box">
     195                <property name="visible">True</property>
     196                <property name="can_focus">False</property>
     197                <property name="halign">end</property>
     198                <property name="spacing">5</property>
     199                <child>
     200                  <object class="GtkSpinner" id="renew_spinner">
     201                    <property name="can_focus">False</property>
     202                  </object>
     203                  <packing>
     204                    <property name="expand">True</property>
     205                    <property name="fill">True</property>
     206                    <property name="position">0</property>
     207                  </packing>
     208                </child>
     209                <child>
     210                  <object class="GtkButton" id="renew_button">
     211                    <property name="label" translatable="yes">Execute</property>
     212                    <property name="visible">True</property>
     213                    <property name="can_focus">True</property>
     214                    <property name="receives_default">True</property>
     215                    <property name="halign">end</property>
     216                    <property name="valign">center</property>
     217                  </object>
     218                  <packing>
     219                    <property name="expand">False</property>
     220                    <property name="fill">True</property>
     221                    <property name="position">1</property>
     222                  </packing>
     223                </child>
    199224              </object>
    200225              <packing>
     
    220245    </child>
    221246    <child>
    222       <object class="GtkBox" id="box23">
    223         <property name="visible">True</property>
    224         <property name="can_focus">False</property>
    225         <property name="margin_top">10</property>
    226         <property name="margin_bottom">10</property>
    227         <child>
    228           <object class="GtkLabel" id="txt_check_epoptes">
    229             <property name="visible">True</property>
    230             <property name="can_focus">False</property>
    231             <property name="xpad">10</property>
    232           </object>
    233           <packing>
    234             <property name="expand">False</property>
    235             <property name="fill">True</property>
    236             <property name="position">0</property>
    237           </packing>
    238         </child>
    239         <child>
    240           <object class="GtkSpinner" id="spinner_epoptes">
    241             <property name="visible">True</property>
    242             <property name="can_focus">False</property>
    243           </object>
    244           <packing>
    245             <property name="expand">False</property>
    246             <property name="fill">True</property>
    247             <property name="position">1</property>
    248           </packing>
    249         </child>
    250       </object>
    251       <packing>
    252         <property name="expand">False</property>
    253         <property name="fill">True</property>
    254         <property name="pack_type">end</property>
    255         <property name="position">4</property>
    256       </packing>
     247      <placeholder/>
    257248    </child>
    258249  </object>
     
    338329            </child>
    339330            <child>
    340               <object class="GtkButton" id="gparted_button">
     331              <object class="GtkButton" id="fsck_button">
    341332                <property name="label" translatable="yes">Execute</property>
    342333                <property name="visible">True</property>
     
    348339              <packing>
    349340                <property name="left_attach">1</property>
     341                <property name="top_attach">1</property>
     342              </packing>
     343            </child>
     344            <child>
     345              <object class="GtkBox" id="gparted_box">
     346                <property name="visible">True</property>
     347                <property name="can_focus">False</property>
     348                <property name="halign">end</property>
     349                <property name="spacing">5</property>
     350                <child>
     351                  <object class="GtkSpinner" id="gparted_spinner">
     352                    <property name="can_focus">False</property>
     353                  </object>
     354                  <packing>
     355                    <property name="expand">True</property>
     356                    <property name="fill">True</property>
     357                    <property name="position">0</property>
     358                  </packing>
     359                </child>
     360                <child>
     361                  <object class="GtkButton" id="gparted_button">
     362                    <property name="label" translatable="yes">Execute</property>
     363                    <property name="visible">True</property>
     364                    <property name="can_focus">True</property>
     365                    <property name="receives_default">True</property>
     366                    <property name="halign">end</property>
     367                    <property name="valign">center</property>
     368                  </object>
     369                  <packing>
     370                    <property name="expand">False</property>
     371                    <property name="fill">True</property>
     372                    <property name="position">1</property>
     373                  </packing>
     374                </child>
     375              </object>
     376              <packing>
     377                <property name="left_attach">1</property>
    350378                <property name="top_attach">0</property>
    351379              </packing>
    352380            </child>
    353             <child>
    354               <object class="GtkButton" id="fsck_button">
    355                 <property name="label" translatable="yes">Execute</property>
    356                 <property name="visible">True</property>
    357                 <property name="can_focus">True</property>
    358                 <property name="receives_default">True</property>
    359                 <property name="halign">end</property>
    360                 <property name="valign">center</property>
    361               </object>
    362               <packing>
    363                 <property name="left_attach">1</property>
    364                 <property name="top_attach">1</property>
    365               </packing>
    366             </child>
    367381          </object>
    368382          <packing>
     
    380394    </child>
    381395    <child>
    382       <object class="GtkBox" id="box22">
     396      <placeholder/>
     397    </child>
     398  </object>
     399  <object class="GtkBox" id="info_box">
     400    <property name="visible">True</property>
     401    <property name="can_focus">False</property>
     402    <child>
     403      <object class="GtkBox" id="box12">
     404        <property name="visible">True</property>
     405        <property name="can_focus">False</property>
     406        <property name="margin_top">5</property>
     407        <property name="margin_bottom">5</property>
     408        <child>
     409          <object class="GtkSpinner" id="spinner_hd">
     410            <property name="visible">True</property>
     411            <property name="can_focus">False</property>
     412          </object>
     413          <packing>
     414            <property name="expand">False</property>
     415            <property name="fill">True</property>
     416            <property name="position">0</property>
     417          </packing>
     418        </child>
     419        <child>
     420          <object class="GtkLabel" id="txt_check_hd">
     421            <property name="visible">True</property>
     422            <property name="can_focus">False</property>
     423            <property name="halign">start</property>
     424            <property name="hexpand">True</property>
     425            <property name="xpad">10</property>
     426          </object>
     427          <packing>
     428            <property name="expand">True</property>
     429            <property name="fill">True</property>
     430            <property name="position">1</property>
     431          </packing>
     432        </child>
     433      </object>
     434      <packing>
     435        <property name="expand">False</property>
     436        <property name="fill">True</property>
     437        <property name="position">0</property>
     438      </packing>
     439    </child>
     440  </object>
     441  <object class="GtkBox" id="info_epoptes">
     442    <property name="visible">True</property>
     443    <property name="can_focus">False</property>
     444    <property name="orientation">vertical</property>
     445    <child>
     446      <object class="GtkBox" id="box23">
    383447        <property name="visible">True</property>
    384448        <property name="can_focus">False</property>
     
    386450        <property name="margin_bottom">10</property>
    387451        <child>
    388           <object class="GtkLabel" id="txt_check_hd">
     452          <object class="GtkLabel" id="txt_check_epoptes">
    389453            <property name="visible">True</property>
    390454            <property name="can_focus">False</property>
     
    398462        </child>
    399463        <child>
    400           <object class="GtkSpinner" id="spinner_hd">
     464          <object class="GtkSpinner" id="spinner_epoptes">
    401465            <property name="visible">True</property>
    402466            <property name="can_focus">False</property>
     
    413477        <property name="fill">True</property>
    414478        <property name="pack_type">end</property>
    415         <property name="position">4</property>
     479        <property name="position">0</property>
     480      </packing>
     481    </child>
     482  </object>
     483  <object class="GtkBox" id="info_start_bar">
     484    <property name="visible">True</property>
     485    <property name="can_focus">False</property>
     486    <property name="orientation">vertical</property>
     487    <child>
     488      <object class="GtkBox" id="box15">
     489        <property name="visible">True</property>
     490        <property name="can_focus">False</property>
     491        <property name="margin_top">10</property>
     492        <property name="margin_bottom">10</property>
     493        <child>
     494          <object class="GtkLabel" id="txt_check_start_bar">
     495            <property name="visible">True</property>
     496            <property name="can_focus">False</property>
     497            <property name="xpad">10</property>
     498          </object>
     499          <packing>
     500            <property name="expand">False</property>
     501            <property name="fill">True</property>
     502            <property name="position">0</property>
     503          </packing>
     504        </child>
     505        <child>
     506          <object class="GtkSpinner" id="spinner_start_bar">
     507            <property name="visible">True</property>
     508            <property name="can_focus">False</property>
     509          </object>
     510          <packing>
     511            <property name="expand">False</property>
     512            <property name="fill">True</property>
     513            <property name="position">1</property>
     514          </packing>
     515        </child>
     516      </object>
     517      <packing>
     518        <property name="expand">False</property>
     519        <property name="fill">True</property>
     520        <property name="pack_type">end</property>
     521        <property name="position">0</property>
    416522      </packing>
    417523    </child>
     
    663769            </child>
    664770            <child>
    665               <object class="GtkLabel" id="label8">
    666                 <property name="visible">True</property>
    667                 <property name="can_focus">False</property>
    668                 <property name="label" translatable="yes">Net files access</property>
     771              <object class="GtkImage" id="image4">
     772                <property name="visible">True</property>
     773                <property name="can_focus">False</property>
     774                <property name="halign">end</property>
     775                <property name="margin_right">45</property>
     776                <property name="stock">gtk-dialog-question</property>
     777              </object>
     778              <packing>
     779                <property name="left_attach">1</property>
     780                <property name="top_attach">1</property>
     781              </packing>
     782            </child>
     783            <child>
     784              <object class="GtkImage" id="image5">
     785                <property name="visible">True</property>
     786                <property name="can_focus">False</property>
     787                <property name="halign">end</property>
     788                <property name="margin_right">45</property>
     789                <property name="stock">gtk-dialog-question</property>
     790              </object>
     791              <packing>
     792                <property name="left_attach">1</property>
     793                <property name="top_attach">2</property>
     794              </packing>
     795            </child>
     796            <child>
     797              <object class="GtkLabel" id="label2">
     798                <property name="visible">True</property>
     799                <property name="can_focus">False</property>
     800                <property name="label" translatable="yes">Speed</property>
     801                <property name="xalign">0</property>
     802              </object>
     803              <packing>
     804                <property name="left_attach">0</property>
     805                <property name="top_attach">4</property>
     806              </packing>
     807            </child>
     808            <child>
     809              <object class="GtkLabel" id="label4">
     810                <property name="visible">True</property>
     811                <property name="can_focus">False</property>
     812                <property name="halign">end</property>
     813                <property name="margin_right">30</property>
     814                <property name="label" translatable="yes">Speed</property>
     815                <property name="xalign">0</property>
     816              </object>
     817              <packing>
     818                <property name="left_attach">1</property>
     819                <property name="top_attach">4</property>
     820              </packing>
     821            </child>
     822            <child>
     823              <object class="GtkBox" id="test_box1">
     824                <property name="visible">True</property>
     825                <property name="can_focus">False</property>
     826                <property name="halign">end</property>
     827                <property name="spacing">5</property>
     828                <child>
     829                  <object class="GtkComboBox" id="test_combobox">
     830                    <property name="visible">True</property>
     831                    <property name="can_focus">False</property>
     832                  </object>
     833                  <packing>
     834                    <property name="expand">False</property>
     835                    <property name="fill">True</property>
     836                    <property name="position">0</property>
     837                  </packing>
     838                </child>
     839                <child>
     840                  <object class="GtkSpinner" id="test_spinner">
     841                    <property name="can_focus">False</property>
     842                  </object>
     843                  <packing>
     844                    <property name="expand">True</property>
     845                    <property name="fill">True</property>
     846                    <property name="position">1</property>
     847                  </packing>
     848                </child>
     849                <child>
     850                  <object class="GtkButton" id="test_button">
     851                    <property name="label" translatable="yes">Test Network</property>
     852                    <property name="visible">True</property>
     853                    <property name="can_focus">True</property>
     854                    <property name="receives_default">True</property>
     855                    <property name="halign">end</property>
     856                    <property name="valign">center</property>
     857                  </object>
     858                  <packing>
     859                    <property name="expand">False</property>
     860                    <property name="fill">True</property>
     861                    <property name="position">2</property>
     862                  </packing>
     863                </child>
     864              </object>
     865              <packing>
     866                <property name="left_attach">1</property>
     867                <property name="top_attach">0</property>
     868              </packing>
     869            </child>
     870            <child>
     871              <object class="GtkLabel" id="label9">
     872                <property name="visible">True</property>
     873                <property name="can_focus">False</property>
     874                <property name="label" translatable="yes">Link</property>
    669875                <property name="xalign">0</property>
    670876              </object>
     
    675881            </child>
    676882            <child>
    677               <object class="GtkImage" id="image4">
     883              <object class="GtkImage" id="image7">
    678884                <property name="visible">True</property>
    679885                <property name="can_focus">False</property>
    680886                <property name="halign">end</property>
    681887                <property name="margin_right">45</property>
    682                 <property name="stock">gtk-yes</property>
    683               </object>
    684               <packing>
    685                 <property name="left_attach">1</property>
    686                 <property name="top_attach">1</property>
    687               </packing>
    688             </child>
    689             <child>
    690               <object class="GtkImage" id="image5">
    691                 <property name="visible">True</property>
    692                 <property name="can_focus">False</property>
    693                 <property name="halign">end</property>
    694                 <property name="margin_right">45</property>
    695                 <property name="stock">gtk-yes</property>
    696               </object>
    697               <packing>
    698                 <property name="left_attach">1</property>
    699                 <property name="top_attach">2</property>
    700               </packing>
    701             </child>
    702             <child>
    703               <object class="GtkImage" id="image6">
    704                 <property name="visible">True</property>
    705                 <property name="can_focus">False</property>
    706                 <property name="halign">end</property>
    707                 <property name="margin_right">45</property>
    708                 <property name="stock">gtk-yes</property>
     888                <property name="stock">gtk-dialog-question</property>
    709889              </object>
    710890              <packing>
     
    714894            </child>
    715895            <child>
    716               <object class="GtkButton" id="execute_button">
    717                 <property name="label" translatable="yes">Test Network</property>
    718                 <property name="use_action_appearance">True</property>
    719                 <property name="visible">True</property>
    720                 <property name="can_focus">True</property>
    721                 <property name="receives_default">True</property>
     896              <object class="GtkLabel" id="label13">
     897                <property name="visible">True</property>
     898                <property name="can_focus">False</property>
     899                <property name="label" translatable="yes">Ip address:</property>
     900                <property name="xalign">0</property>
     901              </object>
     902              <packing>
     903                <property name="left_attach">0</property>
     904                <property name="top_attach">5</property>
     905              </packing>
     906            </child>
     907            <child>
     908              <object class="GtkLabel" id="label14">
     909                <property name="visible">True</property>
     910                <property name="can_focus">False</property>
    722911                <property name="halign">end</property>
    723                 <property name="valign">center</property>
     912                <property name="margin_right">30</property>
     913                <property name="xalign">0</property>
    724914              </object>
    725915              <packing>
    726916                <property name="left_attach">1</property>
    727                 <property name="top_attach">0</property>
     917                <property name="top_attach">5</property>
    728918              </packing>
    729919            </child>
     
    772962            </child>
    773963            <child>
    774               <object class="GtkButton" id="restart_button">
    775                 <property name="label" translatable="yes">Restart</property>
    776                 <property name="use_action_appearance">True</property>
    777                 <property name="visible">True</property>
    778                 <property name="app_paintable">True</property>
    779                 <property name="can_focus">True</property>
    780                 <property name="receives_default">True</property>
    781                 <property name="halign">center</property>
    782                 <property name="valign">center</property>
     964              <object class="GtkBox" id="restart_box">
     965                <property name="visible">True</property>
     966                <property name="can_focus">False</property>
     967                <property name="halign">end</property>
     968                <property name="spacing">5</property>
     969                <child>
     970                  <object class="GtkSpinner" id="restart_spinner">
     971                    <property name="can_focus">False</property>
     972                  </object>
     973                  <packing>
     974                    <property name="expand">True</property>
     975                    <property name="fill">True</property>
     976                    <property name="position">0</property>
     977                  </packing>
     978                </child>
     979                <child>
     980                  <object class="GtkButton" id="restart_button">
     981                    <property name="label" translatable="yes">Restart</property>
     982                    <property name="visible">True</property>
     983                    <property name="can_focus">True</property>
     984                    <property name="receives_default">True</property>
     985                    <property name="halign">end</property>
     986                    <property name="valign">center</property>
     987                  </object>
     988                  <packing>
     989                    <property name="expand">False</property>
     990                    <property name="fill">True</property>
     991                    <property name="position">1</property>
     992                  </packing>
     993                </child>
    783994              </object>
    784995              <packing>
    785996                <property name="expand">False</property>
    786                 <property name="fill">False</property>
     997                <property name="fill">True</property>
    787998                <property name="pack_type">end</property>
    788999                <property name="position">1</property>
     
    7941005            <property name="fill">True</property>
    7951006            <property name="position">0</property>
     1007          </packing>
     1008        </child>
     1009        <child>
     1010          <object class="GtkBox" id="box9_1">
     1011            <property name="visible">True</property>
     1012            <property name="can_focus">False</property>
     1013            <property name="valign">center</property>
     1014            <property name="margin_left">20</property>
     1015            <property name="margin_right">30</property>
     1016            <property name="margin_top">20</property>
     1017            <property name="margin_bottom">20</property>
     1018            <child>
     1019              <object class="GtkLabel" id="configure_network_txt">
     1020                <property name="visible">True</property>
     1021                <property name="can_focus">False</property>
     1022                <property name="label" translatable="yes">Configure Network</property>
     1023              </object>
     1024              <packing>
     1025                <property name="expand">False</property>
     1026                <property name="fill">True</property>
     1027                <property name="position">0</property>
     1028              </packing>
     1029            </child>
     1030            <child>
     1031              <object class="GtkBox" id="configure_network_box">
     1032                <property name="visible">True</property>
     1033                <property name="can_focus">False</property>
     1034                <property name="halign">end</property>
     1035                <property name="spacing">5</property>
     1036                <child>
     1037                  <object class="GtkSpinner" id="configure_network_spinner">
     1038                    <property name="can_focus">False</property>
     1039                  </object>
     1040                  <packing>
     1041                    <property name="expand">True</property>
     1042                    <property name="fill">True</property>
     1043                    <property name="position">0</property>
     1044                  </packing>
     1045                </child>
     1046                <child>
     1047                  <object class="GtkButton" id="configure_network_button">
     1048                    <property name="label" translatable="yes">Configure</property>
     1049                    <property name="visible">True</property>
     1050                    <property name="can_focus">True</property>
     1051                    <property name="receives_default">True</property>
     1052                    <property name="halign">end</property>
     1053                    <property name="valign">center</property>
     1054                  </object>
     1055                  <packing>
     1056                    <property name="expand">False</property>
     1057                    <property name="fill">True</property>
     1058                    <property name="position">1</property>
     1059                  </packing>
     1060                </child>
     1061              </object>
     1062              <packing>
     1063                <property name="expand">False</property>
     1064                <property name="fill">True</property>
     1065                <property name="pack_type">end</property>
     1066                <property name="position">1</property>
     1067              </packing>
     1068            </child>
     1069          </object>
     1070          <packing>
     1071            <property name="expand">False</property>
     1072            <property name="fill">True</property>
     1073            <property name="position">1</property>
    7961074          </packing>
    7971075        </child>
     
    11941472            </child>
    11951473            <child>
    1196               <object class="GtkButton" id="start_bar_button">
    1197                 <property name="label" translatable="yes">Execute</property>
    1198                 <property name="visible">True</property>
    1199                 <property name="can_focus">True</property>
    1200                 <property name="receives_default">True</property>
     1474              <object class="GtkBox" id="start_bar_button_box">
     1475                <property name="visible">True</property>
     1476                <property name="can_focus">False</property>
     1477                <property name="halign">end</property>
     1478                <property name="spacing">5</property>
     1479                <child>
     1480                  <object class="GtkSpinner" id="start_bar_spinner">
     1481                    <property name="can_focus">False</property>
     1482                  </object>
     1483                  <packing>
     1484                    <property name="expand">True</property>
     1485                    <property name="fill">True</property>
     1486                    <property name="position">0</property>
     1487                  </packing>
     1488                </child>
     1489                <child>
     1490                  <object class="GtkButton" id="start_bar_button">
     1491                    <property name="label" translatable="yes">Execute</property>
     1492                    <property name="visible">True</property>
     1493                    <property name="can_focus">True</property>
     1494                    <property name="receives_default">True</property>
     1495                    <property name="halign">end</property>
     1496                    <property name="valign">center</property>
     1497                  </object>
     1498                  <packing>
     1499                    <property name="expand">False</property>
     1500                    <property name="fill">True</property>
     1501                    <property name="position">1</property>
     1502                  </packing>
     1503                </child>
    12011504              </object>
    12021505              <packing>
     
    12221525    </child>
    12231526    <child>
    1224       <object class="GtkBox" id="box8">
    1225         <property name="visible">True</property>
    1226         <property name="can_focus">False</property>
    1227         <property name="margin_top">10</property>
    1228         <property name="margin_bottom">10</property>
    1229         <child>
    1230           <object class="GtkLabel" id="txt_check_epoptes1">
    1231             <property name="visible">True</property>
    1232             <property name="can_focus">False</property>
    1233             <property name="xpad">10</property>
    1234           </object>
    1235           <packing>
    1236             <property name="expand">False</property>
    1237             <property name="fill">True</property>
    1238             <property name="position">0</property>
    1239           </packing>
    1240         </child>
    1241         <child>
    1242           <object class="GtkSpinner" id="spinner_epoptes1">
    1243             <property name="visible">True</property>
    1244             <property name="can_focus">False</property>
    1245           </object>
    1246           <packing>
    1247             <property name="expand">False</property>
    1248             <property name="fill">True</property>
    1249             <property name="position">1</property>
    1250           </packing>
    1251         </child>
    1252       </object>
    1253       <packing>
    1254         <property name="expand">False</property>
    1255         <property name="fill">True</property>
    1256         <property name="pack_type">end</property>
    1257         <property name="position">4</property>
    1258       </packing>
     1527      <placeholder/>
    12591528    </child>
    12601529  </object>
Note: See TracChangeset for help on using the changeset viewer.