Ignore:
File:
1 edited

Legend:

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

    r11495 r11496  
    1111import pkg_resources 
    1212 
     13import Orange.utils.addons 
     14 
    1315from PyQt4.QtGui import ( 
    1416    QMainWindow, QWidget, QAction, QActionGroup, QMenu, QMenuBar, QDialog, 
     
    4547from .outputview import OutputView 
    4648from .settings import UserSettingsDialog 
     49from .addons import AddOnManagerDialog 
     50 
    4751from ..document.schemeedit import SchemeEditWidget 
    4852 
     
    312316                       [self.freeze_action, 
    313317                        self.dock_help_action] 
     318 
     319 
     320        def addOnRefreshCallback(): 
     321            pass #TODO add new category 
     322 
     323        Orange.utils.addons.addon_refresh_callback.append(addOnRefreshCallback) 
    314324 
    315325        # Tool bar in the collapsed dock state (has the same actions as 
     
    504514                    ) 
    505515 
     516        self.canvas_addons_action = \ 
     517            QAction(self.tr("&Add-ons..."), self, 
     518                    objectName="canvas-addons-action", 
     519                    toolTip=self.tr("Manage add-ons."), 
     520                    triggered=self.open_addons, 
     521                    menuRole=QAction.PreferencesRole 
     522                    ) 
     523 
     524 
    506525        self.show_output_action = \ 
    507526            QAction(self.tr("Show Output View"), self, 
     
    625644        self.options_menu.addSeparator() 
    626645        self.options_menu.addAction(self.canvas_settings_action) 
     646        self.options_menu.addAction(self.canvas_addons_action) 
    627647 
    628648        # Widget menu 
     
    13751395            self.__update_from_settings() 
    13761396 
     1397    def open_addons(self): 
     1398 
     1399        def getlr(): 
     1400            settings = QSettings() 
     1401            settings.beginGroup("addons") 
     1402            lastRefresh = settings.value("addons-last-refresh", 
     1403                          defaultValue=0, type=int) 
     1404            settings.endGroup() 
     1405            return lastRefresh 
     1406         
     1407        def setlr(v): 
     1408            settings = QSettings() 
     1409            settings.beginGroup("addons") 
     1410            lastRefresh = settings.setValue("addons-last-refresh", int(v)) 
     1411            settings.endGroup() 
     1412             
     1413        dlg = AddOnManagerDialog(self, self) 
     1414        dlg.loadtimefn = getlr 
     1415        dlg.savetimefn = setlr 
     1416        dlg.show() 
     1417        dlg.reloadQ() 
     1418        status = dlg.exec_() 
     1419 
    13771420    def show_output_view(self): 
    13781421        """Show a window with application output. 
Note: See TracChangeset for help on using the changeset viewer.