Changeset 11156:1a292badb3b3 in orange


Ignore:
Timestamp:
10/26/12 14:06:12 (18 months ago)
Author:
Ales Erjavec <ales.erjavec@…>
Branch:
default
Message:

Setting windowModified flag.

Location:
Orange/OrangeCanvas
Files:
2 edited

Legend:

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

    r11155 r11156  
    181181 
    182182        self.__scheme_margins_enabled = True 
     183        self.__document_title = "untitled" 
    183184 
    184185        self.widget_registry = None 
     
    238239        # Main window title and title icon. 
    239240        self.setWindowTitle(self.scheme_widget.scheme().title) 
    240         self.scheme_widget.titleChanged.connect(self.setWindowTitle) 
     241        self.scheme_widget.titleChanged.connect(self.set_document_title) 
     242        self.scheme_widget.modificationChanged.connect(self.setWindowModified) 
    241243 
    242244        self.setWindowIcon(canvas_icons("Get Started.svg")) 
     
    712714 
    713715        self.setMenuBar(menu_bar) 
     716 
     717    def set_document_title(self, title): 
     718        if self.__document_title != title: 
     719            self.__document_title = title 
     720            self.setWindowTitle(title + "[*]") 
     721 
     722    def document_title(self): 
     723        return self.__document_title 
    714724 
    715725    def set_widget_registry(self, widget_registry): 
     
    959969 
    960970        """ 
    961         curr_scheme = self.current_document().scheme() 
     971        document = self.current_document() 
     972        curr_scheme = document.scheme() 
    962973 
    963974        if curr_scheme.path: 
     
    10011012 
    10021013            self.add_recent_scheme(curr_scheme) 
     1014            document.setModified(False) 
    10031015            return QFileDialog.Accepted 
    10041016        else: 
     
    11671179        """ 
    11681180        self.close() 
    1169  
    1170     def undo(self): 
    1171         """Undo last action. 
    1172         """ 
    1173         pass 
    1174  
    1175     def redo(self): 
    1176         """Redo last action. 
    1177         """ 
    1178         pass 
    11791181 
    11801182    def select_all(self): 
  • Orange/OrangeCanvas/document/schemeedit.py

    r11154 r11156  
    6868        self.__modified = False 
    6969        self.__registry = None 
    70         self.__scheme = scheme.Scheme() 
     70        self.__scheme = None 
    7171        self.__undoStack = QUndoStack(self) 
    7272        self.__undoStack.cleanChanged[bool].connect(self.__onCleanChanged) 
     
    142142 
    143143    def setModified(self, modified): 
    144         if modified: 
    145             # TODO: 
    146             pass 
     144        if modified and not self.isModified(): 
     145            raise NotImplementedError 
    147146        else: 
    148147            self.__undoStack.setClean() 
     
    157156    def setScheme(self, scheme): 
    158157        if self.__scheme is not scheme: 
     158            if self.__scheme: 
     159                self.__scheme.title_changed.disconnect(self.titleChanged) 
     160 
    159161            self.__scheme = scheme 
     162 
     163            if self.__scheme: 
     164                self.__scheme.title_changed.connect(self.titleChanged) 
     165                self.titleChanged.emit(scheme.title) 
    160166 
    161167            self.__annotationGeomChanged.deleteLater() 
     
    182188            self.__view.setScene(self.__scene) 
    183189            self.__scene.installEventFilter(self) 
    184  
    185             self.__scheme = scheme 
    186190 
    187191            self.__scene.set_registry(self.__registry) 
     
    358362 
    359363    def __onCleanChanged(self, clean): 
    360         if self.__modified != (not clean): 
    361             self.__modified = not clean 
     364        if self.isWindowModified() != (not clean): 
     365            self.setWindowModified(not clean) 
    362366            self.modificationChanged.emit(not clean) 
    363367 
Note: See TracChangeset for help on using the changeset viewer.