Changeset 11188:88e8e2e844b8 in orange


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

Do not create a new scheme when the user cancels the 'Scheme Info' dialog.

File:
1 edited

Legend:

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

    r11173 r11188  
    863863 
    864864        new_scheme = widgetsscheme.WidgetsScheme() 
     865 
     866        settings = QSettings() 
     867        show = settings.value("schemeinfo/show-at-new-scheme", True).toBool() 
     868 
     869        if show: 
     870            status = self.show_scheme_properties_for( 
     871                new_scheme, self.tr("New Scheme") 
     872            ) 
     873 
     874            if status == QDialog.Rejected: 
     875                return QDialog.Rejected 
     876 
    865877        scheme_doc_widget = self.current_document() 
    866878        scheme_doc_widget.setScheme(new_scheme) 
    867  
    868         settings = QSettings() 
    869         show = settings.value("schemeinfo/show-at-new-scheme", True).toBool() 
    870  
    871         if show: 
    872             self.show_properties_action.trigger() 
    873879 
    874880        return QDialog.Accepted 
     
    11631169        """Show current scheme properties. 
    11641170        """ 
     1171        current_doc = self.current_document() 
     1172        scheme = current_doc.scheme() 
     1173        return self.show_scheme_properties_for(scheme) 
     1174 
     1175    def show_scheme_properties_for(self, scheme, window_title=None): 
     1176        """Show scheme properties for `scheme` with `window_title (if None 
     1177        a default 'Scheme Info' title will be used. 
     1178 
     1179        """ 
    11651180        settings = QSettings() 
    11661181        value_key = "schemeinfo/show-at-new-scheme" 
    11671182 
    11681183        dialog = SchemeInfoDialog(self) 
    1169         dialog.setWindowTitle(self.tr("Scheme Info")) 
     1184 
     1185        if window_title is None: 
     1186            window_title = self.tr("Scheme Info") 
     1187 
     1188        dialog.setWindowTitle(window_title) 
    11701189        dialog.setFixedSize(725, 450) 
    11711190 
     
    11741193        ) 
    11751194 
    1176         current_doc = self.current_document() 
    1177         scheme = current_doc.scheme() 
    11781195        dialog.setScheme(scheme) 
    11791196 
    1180         if dialog.exec_() == QDialog.Accepted: 
     1197        status = dialog.exec_() 
     1198        if status == QDialog.Accepted: 
    11811199            # Store the check state. 
    11821200            settings.setValue(value_key, not dialog.dontShowAtNewScheme()) 
     1201 
     1202        return status 
    11831203 
    11841204    def set_canvas_view_zoom(self, zoom): 
Note: See TracChangeset for help on using the changeset viewer.