Changeset 11189:6e8b14ab7b9a in orange


Ignore:
Timestamp:
11/20/12 16:11:48 (17 months ago)
Author:
Ales Erjavec <ales.erjavec@…>
Branch:
default
Message:

Preserve empty scheme title, display 'untitled' placeholders where appropriate.

Location:
Orange/OrangeCanvas
Files:
5 edited

Legend:

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

    r11188 r11189  
    245245 
    246246        # Main window title and title icon. 
    247         self.setWindowTitle(self.scheme_widget.scheme().title) 
     247        self.set_document_title(self.scheme_widget.scheme().title) 
    248248        self.scheme_widget.titleChanged.connect(self.set_document_title) 
    249249        self.scheme_widget.modificationChanged.connect(self.setWindowModified) 
     
    743743 
    744744    def set_document_title(self, title): 
     745        """Set the document title (and the main window title). If `title` 
     746        is an empty string a default 'untitled' placeholder will be used. 
     747 
     748        """ 
    745749        if self.__document_title != title: 
    746750            self.__document_title = title 
     751 
     752            if not title: 
     753                # TODO: should the default name be platform specific 
     754                title = self.tr("untitled") 
     755 
    747756            self.setWindowTitle(title + "[*]") 
    748757 
    749758    def document_title(self): 
     759        """Return the document title. 
     760        """ 
    750761        return self.__document_title 
    751762 
  • Orange/OrangeCanvas/application/schemeinfo.py

    r11166 r11189  
    3737        layout.addRow(self.tr("Description"), self.desc_edit) 
    3838 
     39        self.__schemeIsUntitled = True 
     40 
    3941        self.setLayout(layout) 
    4042 
     
    4446        """ 
    4547        self.scheme = scheme 
    46         self.name_edit.setText(scheme.title or "") 
     48        if not scheme.title: 
     49            self.name_edit.setText(self.tr("untitled")) 
     50            self.__schemeIsUntitled = True 
     51        else: 
     52            self.name_edit.setText(scheme.title) 
     53            self.__schemeIsUntitled = False 
    4754        self.desc_edit.setPlainText(scheme.description or "") 
    4855 
     
    5259 
    5360        """ 
    54         name = unicode(self.name_edit.text()).strip() 
     61        if self.__schemeIsUntitled and \ 
     62            self.name_edit.text() == self.tr("untitled"): 
     63            # 'untitled' text was not changed 
     64            name = "" 
     65        else: 
     66            name = unicode(self.name_edit.text()).strip() 
     67 
    5568        description = unicode(self.desc_edit.toPlainText()).strip() 
    5669        self.scheme.title = name 
  • Orange/OrangeCanvas/preview/previewmodel.py

    r11139 r11189  
    8585        QStandardItem.__init__(self) 
    8686 
     87        self.__name = "" 
     88 
    8789        if name is None: 
    8890            name = "Untitled" 
     91 
    8992        self.setName(name) 
    9093 
     
    106109        """Return the name (title) of the item (same as `text()`. 
    107110        """ 
    108         return self.text() 
     111        return self.__name 
    109112 
    110113    def setName(self, value): 
    111         """Set the name. 
     114        """Set the item name. `value` if not empty will be used as 
     115        the items DisplayRole otherwise an 'untitled' placeholder will 
     116        be used. 
     117 
    112118        """ 
    113         self.setText(value) 
     119        self.__name = value 
     120 
     121        if not value: 
     122            self.setText("untitled") 
     123        else: 
     124            self.setText(value) 
    114125 
    115126    def description(self): 
  • Orange/OrangeCanvas/preview/scanner.py

    r11139 r11189  
    106106        return 
    107107 
    108     if not title: 
    109         title = os.path.splitext(os.path.basename(path))[0] 
    110  
    111108    if not svg: 
    112109        try: 
  • Orange/OrangeCanvas/scheme/scheme.py

    r11111 r11189  
    6262        "Filename path associated with this schema (empty string by default)" 
    6363 
    64         self.__title = title or "untitled" 
    65         "Scheme title ('untitled' by default)." 
     64        self.__title = title or "" 
     65        "Scheme title (empty string by default)." 
    6666 
    6767        self.__description = description or "" 
Note: See TracChangeset for help on using the changeset viewer.