Ignore:
File:
1 edited

Legend:

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

    r11557 r11598  
    399399                    ) 
    400400 
     401        self.open_and_freeze_action = \ 
     402            QAction(self.tr("Open and Freeze"), self, 
     403                    objectName="action-open-and-freeze", 
     404                    toolTip=self.tr("Open a new scheme and freeze signal " 
     405                                    "propagation."), 
     406                    triggered=self.open_and_freeze_scheme 
     407                    ) 
     408 
    401409        self.save_action = \ 
    402410            QAction(self.tr("Save"), self, 
     
    576584        file_menu.addAction(self.new_action) 
    577585        file_menu.addAction(self.open_action) 
     586        file_menu.addAction(self.open_and_freeze_action) 
    578587        file_menu.addAction(self.reload_last_action) 
    579588 
     
    881890        else: 
    882891            return QDialog.Rejected 
     892 
     893    def open_and_freeze_scheme(self): 
     894        """ 
     895        Open a new scheme and freeze signal propagation. Return 
     896        QDialog.Rejected if the user canceled the operation and 
     897        QDialog.Accepted otherwise. 
     898 
     899        """ 
     900        frozen = self.freeze_action.isChecked() 
     901        if not frozen: 
     902            self.freeze_action.trigger() 
     903 
     904        state = self.open_scheme() 
     905        if state == QDialog.Rejected: 
     906            # If the action was rejected restore the original frozen state 
     907            if not frozen: 
     908                self.freeze_action.trigger() 
     909        return state 
    883910 
    884911    def open_scheme_file(self, filename): 
Note: See TracChangeset for help on using the changeset viewer.