Ignore:
Timestamp:
Mar 14, 2017, 2:09:45 PM (2 years ago)
Author:
jrpelegrina
Message:

WIP in indicator

Location:
lliurex-gdrive/trunk/fuentes/lliurex-gdrive-indicator.install/usr/sbin
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • lliurex-gdrive/trunk/fuentes/lliurex-gdrive-indicator.install/usr/sbin/LliurexGoogleDriveManager.py

    r3914 r3939  
    229229                        status=False
    230230
    231                 return {"status":status,"size":mountpoint_size,"used":mountpoint_used,"available":mountpoint_available,"Used%":mountpoint_per}         
     231                return {"status":status,"size":mountpoint_size,"used":mountpoint_used,"available":mountpoint_available,"used%":mountpoint_per}         
    232232               
    233233        #def check_mountpoint_status   
  • lliurex-gdrive/trunk/fuentes/lliurex-gdrive-indicator.install/usr/sbin/lliurexGdriveIndicator.py

    r3914 r3939  
    2424import LliurexGoogleDriveManager
    2525
     26import gettext
     27gettext.textdomain('lliurex-gdrive')
     28_ = gettext.gettext
     29
    2630
    2731class LlliurexGdriveIndicator:
     
    5963                self.start_inotify()
    6064
    61                 GLib.timeout_add(2000,self.check_status)
     65                GLib.timeout_add(60000,self.check_status)
    6266               
    6367        #def __init__
     
    9094                                for profile in self.main.update_profiles:
    9195                                        if not profile in self.main.profiles_info:
    92                                                 self.main.add_menu_item(profile,self.main.update_profiles)
     96                                                print "CREANDO"
     97                                                mountpoint=self.main.update_profiles[profile]["mountpoint"]
     98                                                print mountpoint
     99                                                self.main.add_menu_item(profile,mountpoint)
    93100
    94101                                for item in self.main.menu.get_children():
     
    97104                                                        self.main.menu.remove(item)     
    98105                               
     106                                self.main.profiles_info=self.main.update_profiles.copy()
    99107                                self.main.menu.show_all()                                       
    100108                                                               
     
    131139
    132140       
    133         def add_menu_item(self,profile,info):
    134 
    135                 p=profile
    136                 mountpoint=info[profile]["mountpoint"]
    137 
    138                 status=self.LliurexGoogleDriveManager.check_mountpoint_status(mountpoint)
    139                        
    140                 size=status["size"]
    141                 label=profile+ ", Space available: %s"%size
    142                        
    143                 if status["status"]:
    144                         img=Gtk.Image.new_from_file("/home/lliurex/Descargas/mount_on.svg")
    145                 else:
    146                         img=Gtk.Image.new_from_file("/home/lliurex/Descargas/mount_off.svg")
     141        def add_menu_item(self,profile,mountpoint):
     142
     143                status_info=self.LliurexGoogleDriveManager.check_mountpoint_status(mountpoint)
     144                info=self.item_status_info(status_info)
     145
     146                # print status
     147                # size=status["size"]
     148                # used=status["used%"]
     149
     150                label_item=profile     
     151                item=Gtk.ImageMenuItem()
     152                item.set_label(label_item)
     153                # if status["status"]:
     154                #       img=Gtk.Image.new_from_file("/home/lliurex/Descargas/mount_on.png")
     155                #       tooltip=_("Dismount now")
     156                #       used_size=_("Used: %s of %s")%(used,size)
     157                # else:
     158                #       img=Gtk.Image.new_from_file("/home/lliurex/Descargas/mount_off.png")
     159                #       tooltip=_("Mount now")
     160                #       used_size=_("Used: not available")
     161
     162                item.set_image(info["img"])
     163                item.set_tooltip_text(info["tooltip"])
     164                item.profile=profile
     165                item.size=False
     166                item.status=True
     167                item.set_always_show_image(True)
     168                item.connect("activate",self.item_clicked,profile)
     169                self.menu.insert(item,0)
     170
     171               
     172                item=Gtk.MenuItem()
     173                label_item=info["used_size"]
     174                item.set_label(label_item)
     175                item.profile=profile
     176                item.size=True
     177                item.status=False
     178                self.menu.insert(item,1)
     179
     180                item=Gtk.MenuItem()
     181                label_item=_("Open folder")
     182                item.set_label(label_item)
     183                item.connect("activate",self.open_folder,profile)
     184                item.profile=profile
     185                item.size=False
     186                item.status=False
     187                self.menu.insert(item,2)
     188
     189                item=Gtk.SeparatorMenuItem()
     190                item.profile=profile
     191                item.size=False
     192                item.status=False
     193                self.menu.insert(item,3)
     194
     195
     196
     197
     198        def populate_menu(self,empty=True):
     199               
     200               
     201                if empty:
     202                        for c in self.menu.get_children():
     203                                self.menu.remove(c)
     204               
     205               
     206                for profile in self.profiles_info:
     207                        mountpoint=self.profiles_info[profile]["mountpoint"]
     208                        self.add_menu_item(profile,mountpoint)
    147209                       
    148210                       
    149211                item=Gtk.ImageMenuItem()
    150                 item.set_tooltip_text("asdasdasd")
    151                 item.set_label(label)
     212                label_item=_("Open Lliurex Gdrive")
     213                item.set_label(label_item)
     214                img=Gtk.Image()
     215                img.set_from_stock(Gtk.STOCK_PREFERENCES,Gtk.IconSize.MENU)
    152216                item.set_image(img)
    153                 #item.email=self.profiles_info[profile]["email"]
    154                 item.profile=profile
    155217                item.set_always_show_image(True)
    156                
    157                 item.connect("activate",self.item_clicked,p)
    158                
     218                item.connect("activate",self.open_config)
     219                item.profile=""
     220                item.size=False
     221                item.status=False
    159222                self.menu.append(item)
    160                 mens=Gtk.MenuItem()
    161                 mens.set_label("HOLA")
    162                 mens.profile=profile
    163                 self.menu.append(mens)
    164 
    165 
    166         def populate_menu(self,empty=True):
    167                
    168                
    169                 if empty:
    170                         for c in self.menu.get_children():
    171                                 self.menu.remove(c)
    172                
    173                
    174                 for profile in self.profiles_info:
    175                        
    176                         self.add_menu_item(profile,self.profiles_info)
    177                         # p=profile
    178                         # #profile=self.profiles_info[item]
    179                         # mounpoint=self.profiles_info[profile]["mountpoint"]
    180 
    181                         # status=self.LliurexGoogleDriveManager.check_mountpoint_status(mounpoint)
    182                        
    183                         # size=status["size"]
    184                         # label=self.profiles_info[profile]["email"]+ ", Space available: %s"%size
    185                        
    186                         # if status["status"]:
    187                         #       img=Gtk.Image.new_from_file("/home/lliurex/Descargas/mount_on.svg")
    188                         # else:
    189                         #       img=Gtk.Image.new_from_file("/home/lliurex/Descargas/mount_off.svg")
    190                        
    191                        
    192                         # item=Gtk.ImageMenuItem()
    193                         # item.set_tooltip_text("asdasdasd")
    194                         # item.set_label(label)
    195                         # item.set_image(img)
    196                         # item.email=self.profiles_info[profile]["email"]
    197                         # item.set_always_show_image(True)
    198                
    199                         # item.connect("activate",self.item_clicked,p)
    200                
    201                         # self.menu.append(item)
    202                         # mens=Gtk.MenuItem()
    203                         # mens.set_label("HOLA")
    204                         # mens.email=""
    205                         # self.menu.append(mens)
    206                        
    207                        
     223
     224
     225                # item=Gtk.SeparatorMenuItem()
     226                # item.profile=""
     227                # item.size=False
     228                # item.status=False
     229                # self.menu.append(item)
     230               
     231
     232                item=Gtk.ImageMenuItem()
     233                img=Gtk.Image()
     234                img.set_from_stock(Gtk.STOCK_CLOSE,Gtk.IconSize.MENU)
     235                item.set_image(img)
     236                item.set_always_show_image(True)
     237                label_item=_("Close")
     238                item.set_label(label_item)
     239                item.connect("activate",self.quit)
     240                item.profile=""
     241                item.size=False
     242                item.status=False
     243                self.menu.append(item)
     244
     245
    208246                self.menu.show_all()
    209247               
     
    217255                status_mod=self.LliurexGoogleDriveManager.sync_profile(profile,mountpoint)
    218256
    219                 #status=self.LliurexGoogleDriveManager.check_mountpoint_status(mounpoint)
    220                
    221257                if status_mod["result"]:
    222                         if status_mod["action"]=="Mount":
    223                                 img=Gtk.Image.new_from_file("/home/lliurex/Descargas/mount_on.svg")
    224                        
    225                         else:
    226                                 img=Gtk.Image.new_from_file("/home/lliurex/Descargas/mount_off.svg")
    227                
    228                
    229                 #self.mounts[profile]["is_mounted"]=not status
    230                 #print self.mounts[profile]
    231                 widget.set_image(img)
    232                
    233                
    234         #def
    235        
    236         def check_statur(self):
    237                
    238                 size=int(random.random()*1000)
    239                
    240                 for profile in self.mounts:
    241                        
    242                         self.mounts[profile]["size"]=str(size)+"Gb"
     258                        status_info=self.LliurexGoogleDriveManager.check_mountpoint_status(mountpoint)
     259                        # info=self.item_status_info(status_info)
     260                        # size=status_info["size"]
     261                        # used=status_info["used%"]
     262                        # if status_info["status"]:
     263                        #       img=Gtk.Image.new_from_file("/home/lliurex/Descargas/mount_on.png")
     264                        #       tooltip=_("Dismount now")
     265                        #       used_size=_("Used: %s of %s")%(used,size)
     266               
     267                        # else:
     268                        #       img=Gtk.Image.new_from_file("/home/lliurex/Descargas/mount_off.png")
     269                        #       tooltip=_("Mount now")
     270                        #       used_size=_("Used: not available")
     271               
    243272                        for item in self.menu.get_children():
    244                        
    245                                 if item.email==self.mounts[profile]["email"]:
    246                                         label=self.mounts[profile]["email"]+ ", Space available: %s"%size
    247                                         item.set_label(label)
    248                                         break
    249                        
    250                
    251                        
     273                                if item.size:
     274                                        if item.profile==profile:
     275                                                item.set_label(info["used_size"])
     276               
     277                        widget.set_tooltip_text(info["tooltip"])
     278                        widget.set_image(info["img"])
     279               
     280               
     281        #def item_clicked
     282
     283        def open_folder(self,widget,profile):
     284
     285               
     286                mountpoint=self.profiles_info[profile]["mountpoint"]
     287                cmd="caja " + mountpoint.encode("utf-8")
     288
     289                os.system(cmd) 
     290
     291        #def open_folder       
     292
     293        def open_config(self,widget):
     294               
     295                print "Pending"
     296
     297        def item_status_info(self,status_info):
     298       
     299                size=status_info["size"]
     300                used=status_info["used%"]
     301
     302                if status_info["status"]:
     303                        img=Gtk.Image.new_from_file("/home/lliurex/Descargas/mount_on.png")
     304                        tooltip=_("Dismount now")
     305                        used_size=_("Used: %s of %s")%(used,size)
     306               
     307                else:
     308                        img=Gtk.Image.new_from_file("/home/lliurex/Descargas/mount_off.png")
     309                        tooltip=_("Mount now")
     310                        used_size=_("Used: not available")     
     311
     312                return {"img":img ,"tooltip":tooltip, "used_size":used_size}                   
     313
     314        def check_status(self):
     315               
     316       
     317                for profile in self.profiles_info:
     318                        mountpoint=self.profiles_info[profile]["mountpoint"]
     319                        status_info=self.LliurexGoogleDriveManager.check_mountpoint_status(mountpoint)
     320                        info=self.item_status_info(status_info)
     321               
     322                        for item in self.menu.get_children():
     323                                if item.profile==profile:
     324                                        if item.size:
     325                                                item.set_label(info["used_size"])
     326                                       
     327                                        if item.status:
     328                                                item.set_tooltip_text(info["tooltip"])
     329                                                item.set_image(info["img"])
     330               
    252331                return True
    253332               
     
    255334        #def check
    256335       
     336        def quit(self,widget):
     337
     338                Gtk.main_quit()
     339
    257340       
    258341#class Test
Note: See TracChangeset for help on using the changeset viewer.