[Pymoul-svn] SF.net SVN: pymoul: [130] pymoul/trunk/src/moul
Status: Alpha
Brought to you by:
tiran
From: <ti...@us...> - 2007-02-03 19:27:04
|
Revision: 130 http://pymoul.svn.sourceforge.net/pymoul/?rev=130&view=rev Author: tiran Date: 2007-02-03 11:26:53 -0800 (Sat, 03 Feb 2007) Log Message: ----------- Completely moved loc and wdysini gui code to seperate containers. Fixed signal loc decorator to forward pyqtSignature Modified Paths: -------------- pymoul/trunk/src/moul/log.py pymoul/trunk/src/moul/qt/localization.py pymoul/trunk/src/moul/qt/mainwindow.py pymoul/trunk/src/moul/qt/utils.py Added Paths: ----------- pymoul/trunk/src/moul/qt/wdysini.py Modified: pymoul/trunk/src/moul/log.py =================================================================== --- pymoul/trunk/src/moul/log.py 2007-02-03 18:41:23 UTC (rev 129) +++ pymoul/trunk/src/moul/log.py 2007-02-03 19:26:53 UTC (rev 130) @@ -146,6 +146,7 @@ __logger__.debug("%s(*%s, **%s)" % (func.__name__, repr(args[1:]), repr(kwargs))) return func(*args, **kwargs) + logwrapper._signature = getattr(func, '_signature', None) logwrapper.__name__ = func.__name__ logwrapper.__doc__ = func.__doc__ return logwrapper Modified: pymoul/trunk/src/moul/qt/localization.py =================================================================== --- pymoul/trunk/src/moul/qt/localization.py 2007-02-03 18:41:23 UTC (rev 129) +++ pymoul/trunk/src/moul/qt/localization.py 2007-02-03 19:26:53 UTC (rev 130) @@ -41,10 +41,6 @@ LOG = getLogger('moul.loc') -def insertDummyQ(lst): - dummy = type(lst)(["<choose>"]) - return QtCore.QStringList(dummy+lst) - class LocalizationContainer(QNamespaceContainer): """ Mixin for documentation tab @@ -64,6 +60,12 @@ self.connect(self.cb_doc_set, SIGNAL("currentIndexChanged(int)"), self.on_cb_doc_set_currentIndexChanged) + @staticmethod + def insertDummyQ(lst): + dummy = type(lst)(["<choose>"]) + return QtCore.QStringList(dummy+lst) + + @pyqtSignature("") @signalLogDecorator(LOG) def on_localization_doload(self): """ @@ -79,7 +81,7 @@ self.lb_doc_status.setText( self.trUtf8("Unable to load journals.")) return - + loc.findLocs() if not len(loc): self.lb_doc_status.setText( @@ -98,6 +100,7 @@ self.progressbar.increase) self.threadlet.detach(loc) + @pyqtSignature("") @signalLogDecorator(LOG) def on_localization_loaded(self): """ @@ -122,7 +125,7 @@ languages = sorted(tr.languages()) self._documents_state['languages'] = languages self.cb_doc_language.clear() - self.cb_doc_language.addItems(insertDummyQ(languages)) + self.cb_doc_language.addItems(self.insertDummyQ(languages)) self.cb_doc_language.setCurrentIndex(0) self.cb_doc_language.setEnabled(True) @@ -157,7 +160,7 @@ ages = sorted(tr._tree[lang].keys()) self._documents_state['curlanguage'] = lang self._documents_state['ages'] = ages - self.cb_doc_age.addItems(insertDummyQ(ages)) + self.cb_doc_age.addItems(self.insertDummyQ(ages)) self.cb_doc_age.setEnabled(True) @pyqtSignature("int") @@ -171,7 +174,7 @@ sets = sorted(tr._tree[lang][age].keys()) self._documents_state['curage'] = (lang, age) self._documents_state['sets'] = sets - self.cb_doc_set.addItems(insertDummyQ(sets)) + self.cb_doc_set.addItems(self.insertDummyQ(sets)) self.cb_doc_set.setEnabled(True) @pyqtSignature("int") @@ -185,7 +188,7 @@ elements = sorted(tr._tree[lang][age][set].keys()) self._documents_state['curset'] = (lang, age, set) self._documents_state['elements'] = elements - self.cb_doc_element.addItems(insertDummyQ(elements)) + self.cb_doc_element.addItems(self.insertDummyQ(elements)) self.cb_doc_element.setEnabled(True) @pyqtSignature("int") Modified: pymoul/trunk/src/moul/qt/mainwindow.py =================================================================== --- pymoul/trunk/src/moul/qt/mainwindow.py 2007-02-03 18:41:23 UTC (rev 129) +++ pymoul/trunk/src/moul/qt/mainwindow.py 2007-02-03 19:26:53 UTC (rev 130) @@ -44,11 +44,11 @@ from moul.time.cavern import CavernTime from moul.qt.localization import LocalizationContainer +from moul.qt.wdysini import IniFileContainer from moul.qt.simpleprogressbar import SimpleProgressbar from moul.qt.threadlet import YieldingThreadlet from moul.qt.ui.mainwindow import Ui_MainWindow - LOG = getLogger('moul.qt') class MainWindow(QtGui.QMainWindow, Ui_MainWindow): @@ -75,16 +75,12 @@ # init handlers self._timezone_init() - self._graphics_init() - self._audio_init() self._ping_init() self._systray_init() self._about_init() self.qcLocalization = LocalizationContainer(self) + self.qcIniFile = IniFileContainer(self) - # connect additional - QtCore.QMetaObject.connectSlotsByName(self) - # run checker self._moulrunning = None self._moulrunning_thread = MoulRunningThread() @@ -165,19 +161,7 @@ self.main_buttonbox_reset.setEnabled(True) # ************************************************************************ - # system tray - def _systray_init(self): - self.systemtray = QtGui.QSystemTrayIcon() - self.systemtray.setIcon(QtGui.QIcon(":/resources/uru_icon_32x32.png")) - self.systemtray.setVisible(True) - self.systemtray.setToolTip(QtCore.QString('pyMoul')) - - def _systray_close(self): - self.systemtray.setVisible(False) - - # ************************************************************************ # tasks - @pyqtSignature("") @signalLogDecorator(LOG) def on_pb_kiimage_repair_clicked(self): @@ -219,278 +203,23 @@ # TODO: msg # ************************************************************************ - # graphics settings - def _about_init(self): - self.te_license.setPlainText(metadata.LICENSE) + # system tray + def _systray_init(self): + self.systemtray = QtGui.QSystemTrayIcon() + self.systemtray.setIcon(QtGui.QIcon(":/resources/uru_icon_32x32.png")) + self.systemtray.setVisible(True) + self.systemtray.setToolTip(QtCore.QString('pyMoul')) - # ************************************************************************ - # graphics settings - def _graphics_init(self): - """ - init graphics tab - """ - self.connect(self, SIGNAL("graphicsini_loaded()"), self.on_graphicsini_loaded) - self.connect(self, SIGNAL("graphicsini_reset()"), self.on_graphicsini_reset) - self.connect(self, SIGNAL("graphicsini_save()"), self.on_graphicsini_save) - self.connect(self.main_buttonbox_reset, SIGNAL("clicked()"), self.on_graphicsini_reset) - self.connect(self.main_buttonbox_save, SIGNAL("clicked()"), self.on_graphicsini_save) - self.emit(SIGNAL("graphicsini_loaded()")) # XXX: hard coded emit + def _systray_close(self): + self.systemtray.setVisible(False) - @signalLogDecorator(LOG) - def on_graphicsini_loaded(self): - """ - @qtslot graphicsini_loaded(): notify when a graphics.ini is loaded - """ - gini = self.urupersonaldir.graphicsini - try: - gini.read() - except Exception, msg: - LOG.exception("Something bad happened while parsing the graphics.ini file") - QtGui.QMessageBox.critical(None, - self.trUtf8("Error opening graphics.ini"), - self.trUtf8("""Something bad happend while opening the graphics.ini\n%s""" % msg)) - return - self._graphicsini_setstate() - - @signalLogDecorator(LOG) - def on_graphicsini_reset(self): - """ - SIGNAL graphicsini_reset() - """ - self.urupersonaldir.graphicsini.reset() - self._graphicsini_setstate() - - @signalLogDecorator(LOG) - def on_graphicsini_save(self): - """ - SIGNAL graphicsini_save() - """ - #self._notimplemented() - self.urupersonaldir.graphicsini.write() - self.setDirty(False) - - def _graphicsini_setstate(self): - """ - Set sliders according to graphics ini settings - """ - gini = self.urupersonaldir.graphicsini - length = len(videoModes) - 1 - self.sl_gra_screenres.setMaximum(length) - - self.sl_gra_screenres.setValue(gini.screenres) - self.sl_gra_quality.setValue(gini.quality) - self.sl_gra_texture.setValue(gini.texture) - self.sl_gra_antialias.setValue(gini.antialias) - self.sl_gra_anisotropic.setValue(gini.anisotropic) - self.sl_gra_shadow.setValue(gini.shadow) - self.cb_gra_windowed.setChecked(gini.windowed) - self.cb_gra_vsync.setChecked(gini.vsync) - self.cb_gra_shadow.setChecked(gini.shadow_enabled) - - @signalLogDecorator(LOG) - @pyqtSignature("int") - def on_sl_gra_screenres_valueChanged(self, idx): - """ - SIGNAL: valueChanged (int) - """ - # XXX: fixme - txt = videoModes.getVidModeHuman(idx) - self.lb_screenres.setText(QtCore.QString(txt)) - self.urupersonaldir.graphicsini.screenres = idx - - @signalLogDecorator(LOG) - @pyqtSignature("int") - def on_sl_gra_screenres_sliderMoved(self, idx): - """ - SIGNAL: sliderMoved(int) - """ - txt = videoModes.getVidModeHuman(idx) - self.lb_screenres.setText(QtCore.QString(txt)) - - @signalLogDecorator(LOG) - @pyqtSignature("int") - def on_sl_gra_quality_valueChanged(self, idx): - """ - SIGNAL: valueChanged (int) - """ - self.urupersonaldir.graphicsini.quality = idx - - @signalLogDecorator(LOG) - @pyqtSignature("int") - def on_sl_gra_texture_valueChanged(self, idx): - """ - SIGNAL: valueChanged (int) - """ - self.urupersonaldir.graphicsini.texture = idx - - @signalLogDecorator(LOG) - @pyqtSignature("int") - def on_sl_gra_antialias_valueChanged(self, idx): - """ - SIGNAL: valueChanged (int) - """ - self.urupersonaldir.graphicsini.antialias = idx - - @signalLogDecorator(LOG) - @pyqtSignature("int") - def on_sl_gra_anisotropic_valueChanged(self, idx): - """ - SIGNAL: valueChanged (int) - """ - self.urupersonaldir.graphicsini.anisotropic = idx - - @signalLogDecorator(LOG) - @pyqtSignature("int") - def on_sl_gra_shadow_valueChanged(self, idx): - """ - SIGNAL: valueChanged (int) - """ - self.urupersonaldir.graphicsini.shadow = idx - - @signalLogDecorator(LOG) - @pyqtSignature("int") - def on_cb_gra_windowed_stateChanged(self, state): - """ - SIGNAL: stateChanged(int) - """ - self.urupersonaldir.graphicsini.windowed = state - - @signalLogDecorator(LOG) - @pyqtSignature("int") - def on_cb_gra_vsync_stateChanged (self, state): - """ - SIGNAL: stateChanged(int) - """ - self.urupersonaldir.graphicsini.vsync = state - - @signalLogDecorator(LOG) - @pyqtSignature("int") - def on_cb_gra_shadow_stateChanged (self, state): - """ - SIGNAL: stateChanged(int) - """ - self.urupersonaldir.graphicsini.shadow_enabled = state - # ************************************************************************ - # audio settings + # about tab + def _about_init(self): + self.te_license.setPlainText(metadata.LICENSE) - def _audio_init(self): - """ - init graphics tab - """ - self.connect(self, SIGNAL("audioini_loaded()"), self.on_audioini_loaded) - self.connect(self, SIGNAL("audiini_reset()"), self.on_audioini_reset) - self.connect(self, SIGNAL("audiini_save()"), self.on_audioini_save) - self.connect(self.main_buttonbox_reset, SIGNAL("clicked()"), self.on_audioini_reset) - self.connect(self.main_buttonbox_save, SIGNAL("clicked()"), self.on_audioini_save) - self.emit(SIGNAL("audioini_loaded()")) # XXX: hard coded emit - - @signalLogDecorator(LOG) - def on_audioini_loaded(self): - """ - SIGNAL: audioini_loaded() - """ - aini = self.urupersonaldir.audioini - try: - aini.read() - except Exception, msg: - LOG.exception("Something bad happened while parsing the audio.ini file") - QtGui.QMessageBox.critical(None, - self.trUtf8("Error opening audio.ini"), - self.trUtf8("""Something bad happend while opening the audio.ini\n%s""" % msg)) - return - self._audioini_setstate() - - @signalLogDecorator(LOG) - def on_audioini_reset(self): - """ - SIGNAL audioini_reset() - """ - self.urupersonaldir.audioini.reset() - self._audioini_setstate() - - @signalLogDecorator(LOG) - def on_audioini_save(self): - """ - SIGNAL audioini_save() - """ - #self._notimplemented() - self.urupersonaldir.audioini.write() - self.setDirty(False) # urks - - def _audioini_setstate(self): - """ - Set sliders according to audio ini settings - """ - aini = self.urupersonaldir.audioini - self.sl_aud_device.setMaximum(aini.numberOfDevices()-1) - - self.sl_aud_npc.setValue(aini.npc) - self.sl_aud_music.setValue(aini.music) - self.sl_aud_fx.setValue(aini.fx) - self.sl_aud_ambience.setValue(aini.ambience) - self.sl_aud_priority.setValue(aini.priority) - self.sl_aud_device.setValue(aini.device) - self.cb_aud_eax.setChecked(aini.eax) - self.cb_aud_mute.setChecked(aini.mute) - self.cb_aud_voicechat.setChecked(aini.enablevoice) - - @signalLogDecorator(LOG) - @pyqtSignature("int") - def on_sl_aud_device_valueChanged(self, idx): - self.urupersonaldir.audioini.device = idx - txt = self.urupersonaldir.audioini.getDeviceName(idx) - self.lb_aud_device.setText(QtCore.QString(txt[1:-1])) - - @signalLogDecorator(LOG) - @pyqtSignature("int") - def on_sl_aud_device_sliderMoved(self, idx): - txt = self.urupersonaldir.audioini.getDeviceName(idx) - self.lb_aud_device.setText(QtCore.QString(txt[1:-1])) - - @signalLogDecorator(LOG) - @pyqtSignature("int") - def on_sl_aud_npc_valueChanged(self, idx): - self.urupersonaldir.audioini.npc = idx - - @signalLogDecorator(LOG) - @pyqtSignature("int") - def on_sl_aud_music_valueChanged(self, idx): - self.urupersonaldir.audioini.music = idx - - @signalLogDecorator(LOG) - @pyqtSignature("int") - def on_sl_aud_fx_valueChanged(self, idx): - self.urupersonaldir.audioini.fx = idx - - @signalLogDecorator(LOG) - @pyqtSignature("int") - def on_sl_aud_ambience_valueChanged(self, idx): - self.urupersonaldir.audioini.ambience = idx - - @signalLogDecorator(LOG) - @pyqtSignature("int") - def on_sl_aud_priority_valueChanged(self, idx): - self.urupersonaldir.audioini.priority = idx - - @signalLogDecorator(LOG) - @pyqtSignature("int") - def on_cb_aud_eax_stateChanged (self, state): - self.urupersonaldir.audioini.eax = state - - @signalLogDecorator(LOG) - @pyqtSignature("int") - def on_cb_aud_mute_stateChanged (self, state): - self.urupersonaldir.audioini.mute = state - - @signalLogDecorator(LOG) - @pyqtSignature("int") - def on_cb_aud_voicechat_stateChanged (self, state): - self.urupersonaldir.audioini.voicechat = state - # ************************************************************************ # time zones - def _timezone_init(self): """ Init time zone tab""" Modified: pymoul/trunk/src/moul/qt/utils.py =================================================================== --- pymoul/trunk/src/moul/qt/utils.py 2007-02-03 18:41:23 UTC (rev 129) +++ pymoul/trunk/src/moul/qt/utils.py 2007-02-03 19:26:53 UTC (rev 130) @@ -25,6 +25,7 @@ __version__ = "$Id" __revision__ = "$Revision$" +import logging import re import warnings from PyQt4.QtCore import QObject @@ -32,10 +33,6 @@ from PyQt4 import QtGui from types import UnboundMethodType as UnboundMethod -from moul.log import getLogger - - -LOG = getLogger('moul.qt.utils') _marker=object() SLOT_RE = re.compile('^on_(.+)_([^_]+)$') @@ -95,8 +92,8 @@ Shortcut for self.parent().connect(*args) """ if args[0] is self: - warnings.warn("You used self as first argument but should use " - "self.context!", SyntaxWarning, stacklevel=2) + warnings.warn("You are using self as first argument but should " + "use self.context!", SyntaxWarning, stacklevel=2) self.parent().connect(*args) def disconnect(self, *args): @@ -104,8 +101,8 @@ Shortcut for self.parent().disconnect(*args) """ if args[0] is self: - warnings.warn("You used self as first argument but should use " - "self.context!", SyntaxWarning, stacklevel=2) + warnings.warn("You used self as first argument but should " + "use self.context!", SyntaxWarning, stacklevel=2) self.parent().disconnect(*args) def emit(self, *args): @@ -178,7 +175,13 @@ continue # Support the QtCore.pyqtSignature decorator. - signature = '%s(%s)' % (nsignal, getattr(method, '_signature', '')) + qtsig = getattr(method, '_signature', _marker) + if qtsig is _marker: + warnings.warn("No signature found for %s.%s. use @pyqtSignature()!" + % (callobj.__class__.__name__, method.__name__), + stacklevel=3) + qtsig = '' + signature = '%s(%s)' % (nsignal, qtsig) #logging.debug('Connecting: %s to %s: %s' % (widget, signature, method)) QObject.connect(widget, SIGNAL(signature), method) Copied: pymoul/trunk/src/moul/qt/wdysini.py (from rev 129, pymoul/trunk/src/moul/qt/mainwindow.py) =================================================================== --- pymoul/trunk/src/moul/qt/wdysini.py (rev 0) +++ pymoul/trunk/src/moul/qt/wdysini.py 2007-02-03 19:26:53 UTC (rev 130) @@ -0,0 +1,303 @@ +# pyMoul - Python interface to Myst Online URU Live +# Copyright (C) 2007 Christian Heimes <christian (at) cheimes (dot) de> + +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 2 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for +# more details. +# +# You should have received a copy of the GNU General Public License along +# with this program; if not, write to the Free Software Foundation, Inc., 59 +# Temple Place, Suite 330, Boston, MA 02111-1307 USA +# + +"""Moul QT GUI main windows +""" +from __future__ import with_statement + +__author__ = "Christian Heimes" +__version__ = "$Id$" +__revision__ = "$Revision$" + +import sys +from PyQt4 import QtCore +from PyQt4 import QtGui +from PyQt4.QtCore import Qt +from PyQt4.QtCore import SIGNAL +from PyQt4.QtCore import pyqtSignature + +from moul import metadata +from moul.config import lookupDir +from moul.file.directory import UruGameDataDirectory +from moul.file.directory import UruPersonalDataDirectory +from moul.file.wdysini import videoModes +from moul.log import getLogger +from moul.log import signalLogDecorator +from moul.qt.utils import QNamespaceContainer + +LOG = getLogger('moul.qt') + +class IniFileContainer(QNamespaceContainer): + def initialize(self): + # graphics.ini + self.connect(self.context, SIGNAL("graphicsini_loaded()"), self.on_graphicsini_loaded) + self.connect(self.context, SIGNAL("graphicsini_reset()"), self.on_graphicsini_reset) + self.connect(self.context, SIGNAL("graphicsini_save()"), self.on_graphicsini_save) + self.connect(self.main_buttonbox_reset, SIGNAL("clicked()"), self.on_graphicsini_reset) + self.connect(self.main_buttonbox_save, SIGNAL("clicked()"), self.on_graphicsini_save) + self.context.emit(SIGNAL("graphicsini_loaded()")) # XXX: hard coded emit + # audio.ini + self.connect(self.context, SIGNAL("audioini_loaded()"), self.on_audioini_loaded) + self.connect(self.context, SIGNAL("audiini_reset()"), self.on_audioini_reset) + self.connect(self.context, SIGNAL("audiini_save()"), self.on_audioini_save) + self.connect(self.main_buttonbox_reset, SIGNAL("clicked()"), self.on_audioini_reset) + self.connect(self.main_buttonbox_save, SIGNAL("clicked()"), self.on_audioini_save) + self.context.emit(SIGNAL("audioini_loaded()")) # XXX: hard coded emit + + @signalLogDecorator(LOG) + @pyqtSignature("") + def on_graphicsini_loaded(self): + """ + @qtslot graphicsini_loaded(): notify when a graphics.ini is loaded + """ + gini = self.urupersonaldir.graphicsini + try: + gini.read() + except Exception, msg: + LOG.exception("Something bad happened while parsing the graphics.ini file") + QtGui.QMessageBox.critical(None, + self.trUtf8("Error opening graphics.ini"), + self.trUtf8("""Something bad happend while opening the graphics.ini\n%s""" % msg)) + return + self._graphicsini_setstate() + + @signalLogDecorator(LOG) + @pyqtSignature("") + def on_graphicsini_reset(self): + """ + SIGNAL graphicsini_reset() + """ + self.urupersonaldir.graphicsini.reset() + self._graphicsini_setstate() + + @signalLogDecorator(LOG) + @pyqtSignature("") + def on_graphicsini_save(self): + """ + SIGNAL graphicsini_save() + """ + #self._notimplemented() + self.urupersonaldir.graphicsini.write() + self.setDirty(False) + + def _graphicsini_setstate(self): + """ + Set sliders according to graphics ini settings + """ + gini = self.urupersonaldir.graphicsini + length = len(videoModes) - 1 + txt = videoModes.getVidModeHuman(gini.screenres) + + self.sl_gra_screenres.setMaximum(length) + self.sl_gra_screenres.setValue(gini.screenres) + self.lb_screenres.setText(QtCore.QString(txt)) + self.sl_gra_quality.setValue(gini.quality) + self.sl_gra_texture.setValue(gini.texture) + self.sl_gra_antialias.setValue(gini.antialias) + self.sl_gra_anisotropic.setValue(gini.anisotropic) + self.sl_gra_shadow.setValue(gini.shadow) + self.cb_gra_windowed.setChecked(gini.windowed) + self.cb_gra_vsync.setChecked(gini.vsync) + self.cb_gra_shadow.setChecked(gini.shadow_enabled) + + @signalLogDecorator(LOG) + @pyqtSignature("int") + def on_sl_gra_screenres_valueChanged(self, idx): + """ + SIGNAL: valueChanged (int) + """ + self.urupersonaldir.graphicsini.screenres = idx + + @signalLogDecorator(LOG) + @pyqtSignature("int") + def on_sl_gra_screenres_sliderMoved(self, idx): + """ + SIGNAL: sliderMoved(int) + """ + txt = videoModes.getVidModeHuman(idx) + self.lb_screenres.setText(QtCore.QString(txt)) + + @signalLogDecorator(LOG) + @pyqtSignature("int") + def on_sl_gra_quality_valueChanged(self, idx): + """ + SIGNAL: valueChanged (int) + """ + self.urupersonaldir.graphicsini.quality = idx + + @signalLogDecorator(LOG) + @pyqtSignature("int") + def on_sl_gra_texture_valueChanged(self, idx): + """ + SIGNAL: valueChanged (int) + """ + self.urupersonaldir.graphicsini.texture = idx + + @signalLogDecorator(LOG) + @pyqtSignature("int") + def on_sl_gra_antialias_valueChanged(self, idx): + """ + SIGNAL: valueChanged (int) + """ + self.urupersonaldir.graphicsini.antialias = idx + + @signalLogDecorator(LOG) + @pyqtSignature("int") + def on_sl_gra_anisotropic_valueChanged(self, idx): + """ + SIGNAL: valueChanged (int) + """ + self.urupersonaldir.graphicsini.anisotropic = idx + + @signalLogDecorator(LOG) + @pyqtSignature("int") + def on_sl_gra_shadow_valueChanged(self, idx): + """ + SIGNAL: valueChanged (int) + """ + self.urupersonaldir.graphicsini.shadow = idx + + @signalLogDecorator(LOG) + @pyqtSignature("int") + def on_cb_gra_windowed_stateChanged(self, state): + """ + SIGNAL: stateChanged(int) + """ + self.urupersonaldir.graphicsini.windowed = state + + @signalLogDecorator(LOG) + @pyqtSignature("int") + def on_cb_gra_vsync_stateChanged (self, state): + """ + SIGNAL: stateChanged(int) + """ + self.urupersonaldir.graphicsini.vsync = state + + @signalLogDecorator(LOG) + @pyqtSignature("int") + def on_cb_gra_shadow_stateChanged (self, state): + """ + SIGNAL: stateChanged(int) + """ + self.urupersonaldir.graphicsini.shadow_enabled = state + + # ************************************************************************ + # audio settings + + @signalLogDecorator(LOG) + def on_audioini_loaded(self): + """ + SIGNAL: audioini_loaded() + """ + aini = self.urupersonaldir.audioini + try: + aini.read() + except Exception, msg: + LOG.exception("Something bad happened while parsing the audio.ini file") + QtGui.QMessageBox.critical(None, + self.trUtf8("Error opening audio.ini"), + self.trUtf8("""Something bad happend while opening the audio.ini\n%s""" % msg)) + return + self._audioini_setstate() + + @signalLogDecorator(LOG) + def on_audioini_reset(self): + """ + SIGNAL audioini_reset() + """ + self.urupersonaldir.audioini.reset() + self._audioini_setstate() + + @signalLogDecorator(LOG) + def on_audioini_save(self): + """ + SIGNAL audioini_save() + """ + #self._notimplemented() + self.urupersonaldir.audioini.write() + self.setDirty(False) # urks + + def _audioini_setstate(self): + """ + Set sliders according to audio ini settings + """ + aini = self.urupersonaldir.audioini + txt = self.urupersonaldir.audioini.getDeviceName(aini.device) + + self.sl_aud_device.setMaximum(aini.numberOfDevices()-1) + self.sl_aud_npc.setValue(aini.npc) + self.sl_aud_music.setValue(aini.music) + self.sl_aud_fx.setValue(aini.fx) + self.sl_aud_ambience.setValue(aini.ambience) + self.sl_aud_priority.setValue(aini.priority) + self.sl_aud_device.setValue(aini.device) + self.lb_aud_device.setText(QtCore.QString(txt[1:-1])) + self.cb_aud_eax.setChecked(aini.eax) + self.cb_aud_mute.setChecked(aini.mute) + self.cb_aud_voicechat.setChecked(aini.enablevoice) + + @signalLogDecorator(LOG) + @pyqtSignature("int") + def on_sl_aud_device_valueChanged(self, idx): + self.urupersonaldir.audioini.device = idx + + @signalLogDecorator(LOG) + @pyqtSignature("int") + def on_sl_aud_device_sliderMoved(self, idx): + txt = self.urupersonaldir.audioini.getDeviceName(idx) + self.lb_aud_device.setText(QtCore.QString(txt[1:-1])) + + @signalLogDecorator(LOG) + @pyqtSignature("int") + def on_sl_aud_npc_valueChanged(self, idx): + self.urupersonaldir.audioini.npc = idx + + @signalLogDecorator(LOG) + @pyqtSignature("int") + def on_sl_aud_music_valueChanged(self, idx): + self.urupersonaldir.audioini.music = idx + + @signalLogDecorator(LOG) + @pyqtSignature("int") + def on_sl_aud_fx_valueChanged(self, idx): + self.urupersonaldir.audioini.fx = idx + + @signalLogDecorator(LOG) + @pyqtSignature("int") + def on_sl_aud_ambience_valueChanged(self, idx): + self.urupersonaldir.audioini.ambience = idx + + @signalLogDecorator(LOG) + @pyqtSignature("int") + def on_sl_aud_priority_valueChanged(self, idx): + self.urupersonaldir.audioini.priority = idx + + @signalLogDecorator(LOG) + @pyqtSignature("int") + def on_cb_aud_eax_stateChanged (self, state): + self.urupersonaldir.audioini.eax = state + + @signalLogDecorator(LOG) + @pyqtSignature("int") + def on_cb_aud_mute_stateChanged (self, state): + self.urupersonaldir.audioini.mute = state + + @signalLogDecorator(LOG) + @pyqtSignature("int") + def on_cb_aud_voicechat_stateChanged (self, state): + self.urupersonaldir.audioini.voicechat = state This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |