Ticket #311: gtkui_statusbar_tooltip.patch

File gtkui_statusbar_tooltip.patch, 3.0 KB (added by sadrul, 16 years ago)
  • deluge/ui/gtkui/statusbar.py

     
    101101        component.Component.__init__(self, "StatusBar", interval=3000) 
    102102        self.window = component.get("MainWindow") 
    103103        self.statusbar = self.window.main_glade.get_widget("statusbar") 
     104        self.tooltips = gtk.Tooltips() 
    104105        self.config = ConfigManager("gtkui.conf") 
    105106         
    106107        # Status variables that are updated via callback 
     
    138139    def start(self): 
    139140        # Add in images and labels 
    140141        self.remove_item(self.not_connected_item) 
    141         self.connections_item = StatusBarItem( 
     142 
     143        self.connections_item = self.add_item( 
    142144            stock=gtk.STOCK_NETWORK, 
    143             callback=self._on_connection_item_clicked) 
    144         self.hbox.pack_start( 
    145             self.connections_item.get_eventbox(), expand=False, fill=False) 
    146         self.download_item = StatusBarItem( 
     145            callback=self._on_connection_item_clicked, 
     146            tooltip="Connections") 
     147 
     148        self.download_item = self.add_item( 
    147149            image=deluge.common.get_pixmap("downloading16.png"), 
    148             callback=self._on_download_item_clicked) 
    149         self.hbox.pack_start( 
    150             self.download_item.get_eventbox(), expand=False, fill=False) 
    151         self.upload_item = StatusBarItem( 
     150            callback=self._on_download_item_clicked, 
     151            tooltip="Download Speed") 
     152 
     153        self.upload_item = self.add_item( 
    152154            image=deluge.common.get_pixmap("seeding16.png"), 
    153             callback=self._on_upload_item_clicked) 
    154         self.hbox.pack_start( 
    155             self.upload_item.get_eventbox(), expand=False, fill=False) 
     155            callback=self._on_upload_item_clicked, 
     156            tooltip="Upload Speed") 
     157 
    156158        self.dht_item = StatusBarItem( 
    157159            image=deluge.common.get_pixmap("dht16.png")) 
     160        self.tooltips.set_tip(self.dht_item.get_eventbox(), "DHT Nodes") 
     161 
    158162        self.health_item = self.add_item( 
    159163                stock=gtk.STOCK_DIALOG_ERROR, 
    160164                text=_("No Incoming Connections!"), 
    161165                callback=self._on_health_icon_clicked) 
    162            
     166 
    163167        self.health = False 
    164168         
    165169        # Get some config values 
     
    198202        self.hbox.pack_start( 
    199203            self.not_connected_item.get_eventbox(), expand=False, fill=False) 
    200204     
    201     def add_item(self, image=None, stock=None, text=None, callback=None): 
     205    def add_item(self, image=None, stock=None, text=None, callback=None, tooltip=None): 
    202206        """Adds an item to the status bar""" 
    203207        # The return tuple.. we return whatever widgets we add 
    204208        item = StatusBarItem(image, stock, text, callback) 
    205209        self.hbox.pack_start(item.get_eventbox(), expand=False, fill=False) 
     210        if tooltip: 
     211            self.tooltips.set_tip(item.get_eventbox(), tooltip) 
    206212        return item 
    207213     
    208214    def remove_item(self, item):