Ignore:
Timestamp:
03/29/12 16:54:31 (2 years ago)
Author:
Ales Erjavec <ales.erjavec@…>
Branch:
default
Message:

Canvas improvements as suggested by romzee, fixes #1154.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • Orange/OrangeCanvas/orngCanvas.pyw

    r10581 r10689  
    605605    def readRecentFiles(self): 
    606606        self.menuRecent.clear() 
    607         if not self.settings.has_key("RecentFiles"): return 
    608         recentDocs = self.settings["RecentFiles"] 
     607        recentDocs = self.settings.get("RecentFiles", []) 
    609608 
    610609        # remove missing recent files 
     
    615614        recentDocs = recentDocs[:9] 
    616615        self.settings["RecentFiles"] = recentDocs 
    617  
    618         for i in range(len(recentDocs)): 
    619             shortName = "&" + str(i + 1) + " " + os.path.basename(recentDocs[i]) 
    620             self.menuRecent.addAction(shortName, lambda ind=i: self.openRecentFile(ind + 1)) 
     616         
     617        if len(recentDocs) == 0 : 
     618            self.menuRecent.addAction("None").setEnabled(False) 
     619        else :             
     620            for i in range(len(recentDocs)): 
     621                shortName = "&" + str(i + 1) + " " + os.path.basename(recentDocs[i]) 
     622                self.menuRecent.addAction(shortName, lambda ind=i: self.openRecentFile(ind),) 
    621623 
    622624    def openRecentFile(self, index): 
    623         if len(self.settings["RecentFiles"]) >= index: 
    624             self.schema.clear() 
    625             name = self.settings["RecentFiles"][index - 1] 
    626             dirname = os.path.dirname(name) 
    627             os.chdir(dirname) 
    628             self.schema.loadDocument(name) 
    629             self.addToRecentMenu(name) 
     625        if index < len(self.settings["RecentFiles"]): 
     626            name = self.settings["RecentFiles"][index] 
     627            if self.schema.saveBeforeClose(): 
     628                self.schema.clear() 
     629                dirname = os.path.dirname(name) 
     630                os.chdir(dirname) 
     631                self.schema.loadDocument(name) 
     632                self.addToRecentMenu(name) 
    630633 
    631634    def addToRecentMenu(self, name): 
Note: See TracChangeset for help on using the changeset viewer.