Ignore:
Timestamp:
01/10/13 19:49:16 (15 months ago)
Author:
Ales Erjavec <ales.erjavec@…>
Branch:
default
Message:

Update from the new settings after the settings dialog is closed.

File:
1 edited

Legend:

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

    r11253 r11256  
    122122        """Setup main canvas ui 
    123123        """ 
    124         QSettings.setDefaultFormat(QSettings.IniFormat) 
    125         settings = QSettings() 
    126         settings.beginGroup("mainwindow") 
    127124 
    128125        log.info("Setting up Canvas main window.") 
     
    563560        settings = QSettings() 
    564561        settings.beginGroup("mainwindow") 
    565  
    566         state = settings.value("state") 
    567         if state.isValid(): 
    568             self.restoreState(state.toByteArray(), 
    569                               version=self.SETTINGS_VERSION) 
    570562 
    571563        self.dock_widget.setExpanded( 
     
    12421234        dlg.show() 
    12431235        status = dlg.exec_() 
    1244  
    1245         if status == QDialog.Accepted: 
     1236        if status == 0: 
    12461237            self.__update_from_settings() 
    12471238 
     
    13921383    def showEvent(self, event): 
    13931384        settings = QSettings() 
    1394         geom_data = settings.value("mainwindow/geometry") 
     1385        settings.beginGroup("mainwindow") 
     1386 
     1387        # Restore geometry and dock/toolbar state 
     1388        state = settings.value("state") 
     1389        if state.isValid(): 
     1390            self.restoreState(state.toByteArray(), 
     1391                              version=self.SETTINGS_VERSION) 
     1392        geom_data = settings.value("geometry") 
    13951393        if geom_data.isValid(): 
    13961394            self.restoreGeometry(geom_data.toByteArray()) 
     
    14451443        return unicode(QMainWindow.tr(self, sourceText, disambiguation, n)) 
    14461444 
     1445    def __update_from_settings(self): 
     1446        settings = QSettings() 
     1447        settings.beginGroup("mainwindow") 
     1448        toolbox_floatable = settings.value("toolbox-dock-floatable", 
     1449                                           defaultValue=False) 
     1450 
     1451        features = self.dock_widget.features() 
     1452        features = updated_flags(features, QDockWidget.DockWidgetFloatable, 
     1453                                 toolbox_floatable.toBool()) 
     1454        self.dock_widget.setFeatures(features) 
     1455 
     1456        toolbox_exclusive = settings.value("toolbox-dock-exclusive", 
     1457                                           defaultValue=False) 
     1458        self.widgets_tool_box.setExclusive(toolbox_exclusive.toBool()) 
     1459 
     1460        settings.endGroup() 
     1461        settings.beginGroup("quickmenu") 
     1462 
     1463        triggers = 0 
     1464        dbl_click = settings.value("trigger-on-double-click", 
     1465                                   defaultValue=True) 
     1466        if dbl_click.toBool(): 
     1467            triggers |= SchemeEditWidget.DoubleClicked 
     1468 
     1469        left_click = settings.value("trigger-on-left-click", 
     1470                                    defaultValue=False) 
     1471        if left_click.toBool(): 
     1472            triggers |= SchemeEditWidget.Clicked 
     1473 
     1474        space_press = settings.value("trigger-on-space-key", 
     1475                                     defaultValue=True) 
     1476        if space_press.toBool(): 
     1477            triggers |= SchemeEditWidget.SpaceKey 
     1478 
     1479        any_press = settings.value("trigger-on-any-key", 
     1480                                   defaultValue=False) 
     1481        if any_press.toBool(): 
     1482            triggers |= SchemeEditWidget.AnyKey 
     1483 
     1484        self.scheme_widget.setQuickMenuTriggers(triggers) 
     1485 
     1486 
     1487def updated_flags(flags, mask, state): 
     1488    if state: 
     1489        flags |= mask 
     1490    else: 
     1491        flags &= ~mask 
     1492    return flags 
     1493 
    14471494 
    14481495def identity(item): 
Note: See TracChangeset for help on using the changeset viewer.