Ignore:
Timestamp:
04/25/13 14:51:08 (12 months ago)
Author:
markotoplak
Branch:
default
Message:

Add-on update interface available from the new canvas.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • Orange/OrangeCanvas/application/canvasmain.py

    r11469 r11479  
    1111import pkg_resources 
    1212 
     13import Orange.utils.addons 
     14 
    1315from PyQt4.QtGui import ( 
    1416    QMainWindow, QWidget, QAction, QActionGroup, QMenu, QMenuBar, QDialog, 
     
    4345from .outputview import OutputView 
    4446from .settings import UserSettingsDialog 
     47from .addons import AddOnManagerDialog 
     48 
    4549from ..document.schemeedit import SchemeEditWidget 
    4650 
     
    310314                       [self.freeze_action, 
    311315                        self.dock_help_action] 
     316 
     317 
     318        def addOnRefreshCallback(): 
     319            pass #TODO add new category 
     320 
     321        Orange.utils.addons.addon_refresh_callback.append(addOnRefreshCallback) 
    312322 
    313323        # Tool bar in the collapsed dock state (has the same actions as 
     
    502512                    ) 
    503513 
     514        self.canvas_addons_action = \ 
     515            QAction(self.tr("&Add-ons..."), self, 
     516                    objectName="canvas-addons-action", 
     517                    toolTip=self.tr("Manage add-ons."), 
     518                    triggered=self.open_addons, 
     519                    menuRole=QAction.PreferencesRole 
     520                    ) 
     521 
     522 
    504523        self.show_output_action = \ 
    505524            QAction(self.tr("Show Output View"), self, 
     
    623642        self.options_menu.addSeparator() 
    624643        self.options_menu.addAction(self.canvas_settings_action) 
     644        self.options_menu.addAction(self.canvas_addons_action) 
    625645 
    626646        # Widget menu 
     
    13691389            self.__update_from_settings() 
    13701390 
     1391    def open_addons(self): 
     1392 
     1393        def getlr(): 
     1394            settings = QSettings() 
     1395            settings.beginGroup("addons") 
     1396            lastRefresh = settings.value("addons-last-refresh", 
     1397                          defaultValue=0, type=int) 
     1398            settings.endGroup() 
     1399            return lastRefresh 
     1400         
     1401        def setlr(v): 
     1402            settings = QSettings() 
     1403            settings.beginGroup("addons") 
     1404            lastRefresh = settings.setValue("addons-last-refresh", int(v)) 
     1405            settings.endGroup() 
     1406             
     1407        dlg = AddOnManagerDialog(self, self) 
     1408        dlg.loadtimefn = getlr 
     1409        dlg.savetimefn = setlr 
     1410        dlg.show() 
     1411        dlg.reloadQ() 
     1412        status = dlg.exec_() 
     1413 
    13711414    def show_output_view(self): 
    13721415        """Show a window with application output. 
Note: See TracChangeset for help on using the changeset viewer.