Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • Orange/OrangeCanvas/orngDlgs.py

    r11094 r11479  
    1111from PyQt4.QtGui import * 
    1212from orngCanvasItems import MyCanvasText 
     13import time 
    1314 
    1415import OWGUI 
     16import Orange.utils.addons 
    1517 
    1618has_pip = True 
     
    742744        self.resize(600,500) 
    743745        self.layout().setSizeConstraint(QLayout.SetMinimumSize) 
     746        self.savetimefn = None 
     747        self.loadtimefn = None 
    744748         
    745749        mainBox = OWGUI.widgetBox(self, orientation="vertical", sizePolicy=QSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding)) 
     
    765769        QObject.connect(lst, SIGNAL("itemChanged(QListWidgetItem *)"), self.cbToggled) 
    766770        QObject.connect(lst, SIGNAL("currentItemChanged(QListWidgetItem *, QListWidgetItem *)"), self.currentItemChanged) 
    767  
    768         import Orange.utils.addons 
    769771 
    770772        # Bottom info pane 
     
    844846    def accept(self): 
    845847        self.to_upgrade.difference_update(self.to_remove()) 
    846         import Orange.utils.addons 
    847848        add, remove, upgrade = self.to_install(), self.to_remove(), self.to_upgrade 
    848849        if len(add) + len(remove) + len(upgrade) > 0: 
     
    938939    def reloadRepo(self): 
    939940        # Reload add-on list. 
    940         import Orange.utils.addons 
    941941        try: 
    942942            self.busy("Reloading add-on repository ...") 
    943943            self.repaint() 
    944944            Orange.utils.addons.refresh_available_addons(progress_callback = self.pcb) 
     945            if self.savetimefn: 
     946                self.savetimefn(int(time.time())) 
    945947        except Exception, e: 
    946948            QMessageBox.critical(self, "Error", "Could not reload repository: %s." % e) 
     
    949951        # Finally, refresh the tree on GUI. 
    950952        self.refreshView() 
     953 
     954    def reloadQ(self): 
     955        #ask the user if he would like to reload the repository 
     956        lastRefresh = 0 
     957        if self.loadtimefn: 
     958            lastRefresh = self.loadtimefn() 
     959        t = time.time() 
     960        if t - lastRefresh > 7*24*3600 or Orange.utils.addons.addons_corrupted: 
     961            if Orange.utils.addons.addons_corrupted or \ 
     962               QMessageBox.question(self, "Refresh", 
     963                                    "List of available add-ons has not been refreshed for more than a week. Do you want to download the list now?", 
     964                                     QMessageBox.Yes | QMessageBox.Default, 
     965                                     QMessageBox.No | QMessageBox.Escape) == QMessageBox.Yes: 
     966                self.reloadRepo() 
    951967             
    952968    def upgradeCandidates(self): 
Note: See TracChangeset for help on using the changeset viewer.