def __init__(self, parent, name='DosboxConfigWidget'): KTabWidget.__init__(self, parent, name) self.sdltab = SDLConfigWidget(self) self.insertTab(self.sdltab, 'sdl') self.machinetab = MachineConfigWidget(self) self.insertTab(self.machinetab, 'machine') self.soundtab = SoundConfigWidget(self) self.insertTab(self.soundtab, 'sound') # testing stuff self.testtab = TestConfigTab(self) self.insertTab(self.testtab, 'test me') self.connect(self.testtab.button, SIGNAL('clicked()'), self.get_config)
class DosboxConfigTabWidget(KTabWidget): def __init__(self, parent, name='DosboxConfigWidget'): KTabWidget.__init__(self, parent, name) self.sdltab = SDLConfigWidget(self) self.insertTab(self.sdltab, 'sdl') self.machinetab = MachineConfigWidget(self) self.insertTab(self.machinetab, 'machine') self.soundtab = SoundConfigWidget(self) self.insertTab(self.soundtab, 'sound') # testing stuff self.testtab = TestConfigTab(self) self.insertTab(self.testtab, 'test me') self.connect(self.testtab.button, SIGNAL('clicked()'), self.get_config) def get_config(self): sdlcfg = self.sdltab.get_config() machinecfg = self.machinetab.get_config() soundcfg = self.soundtab.get_config() mainconfig = ConfigParser() self._import_new_config(mainconfig, sdlcfg) self._import_new_config(mainconfig, machinecfg) self._import_new_config(mainconfig, soundcfg) # testing stuff self.testtab.set_config(mainconfig) return mainconfig def _import_new_config(self, mainconfig, localconfig): cfile = StringIO() localconfig.write(cfile) cfile.seek(0) mainconfig.readfp(cfile) cfile.close() def set_config(self, configobj): self.sdltab.set_config(configobj) self.machinetab.set_config(configobj) self.soundtab.set_config(configobj)