diff --git a/contents/code/config_ui.py b/contents/code/config_ui.py index ae318438f68b4cc1f2bcfe0bfcf4afcbf3fb9d2c..5febd5719511916c4b6674d7ba55df9144bc4bb2 100644 --- a/contents/code/config_ui.py +++ b/contents/code/config_ui.py @@ -2,7 +2,7 @@ # Form implementation generated from reading ui file 'ui/config.ui' # -# Created: Sat May 11 23:55:31 2013 +# Created: Sun May 12 00:55:31 2013 # by: PyQt4 UI code generator 4.9.3 # # WARNING! All changes made in this file will be lost! @@ -22,6 +22,7 @@ class Ui_configDialog(object): self.formLayoutWidget.setGeometry(QtCore.QRect(0, 0, 401, 301)) self.formLayoutWidget.setObjectName(_fromUtf8("formLayoutWidget")) self.formLayout = QtGui.QFormLayout(self.formLayoutWidget) + self.formLayout.setFieldGrowthPolicy(QtGui.QFormLayout.AllNonFixedFieldsGrow) self.formLayout.setMargin(0) self.formLayout.setObjectName(_fromUtf8("formLayout")) self.lblName = QtGui.QLabel(self.formLayoutWidget) @@ -30,18 +31,26 @@ class Ui_configDialog(object): self.linName = QtGui.QLineEdit(self.formLayoutWidget) self.linName.setObjectName(_fromUtf8("linName")) self.formLayout.setWidget(0, QtGui.QFormLayout.FieldRole, self.linName) - self.cmbAnimal = QtGui.QComboBox(self.formLayoutWidget) - self.cmbAnimal.setObjectName(_fromUtf8("cmbAnimal")) - self.formLayout.setWidget(1, QtGui.QFormLayout.FieldRole, self.cmbAnimal) self.lblAnimal = QtGui.QLabel(self.formLayoutWidget) self.lblAnimal.setObjectName(_fromUtf8("lblAnimal")) self.formLayout.setWidget(1, QtGui.QFormLayout.LabelRole, self.lblAnimal) - self.timBrushtime = QtGui.QTimeEdit(self.formLayoutWidget) - self.timBrushtime.setObjectName(_fromUtf8("timBrushtime")) - self.formLayout.setWidget(2, QtGui.QFormLayout.FieldRole, self.timBrushtime) + self.cmbAnimal = QtGui.QComboBox(self.formLayoutWidget) + self.cmbAnimal.setObjectName(_fromUtf8("cmbAnimal")) + self.formLayout.setWidget(1, QtGui.QFormLayout.FieldRole, self.cmbAnimal) self.lblBrushtime = QtGui.QLabel(self.formLayoutWidget) self.lblBrushtime.setObjectName(_fromUtf8("lblBrushtime")) self.formLayout.setWidget(2, QtGui.QFormLayout.LabelRole, self.lblBrushtime) + self.timBrushtime = QtGui.QTimeEdit(self.formLayoutWidget) + self.timBrushtime.setObjectName(_fromUtf8("timBrushtime")) + self.formLayout.setWidget(2, QtGui.QFormLayout.FieldRole, self.timBrushtime) + self.lblTimeout = QtGui.QLabel(self.formLayoutWidget) + self.lblTimeout.setObjectName(_fromUtf8("lblTimeout")) + self.formLayout.setWidget(3, QtGui.QFormLayout.LabelRole, self.lblTimeout) + self.spnTimeout = QtGui.QSpinBox(self.formLayoutWidget) + self.spnTimeout.setMinimum(1) + self.spnTimeout.setMaximum(120) + self.spnTimeout.setObjectName(_fromUtf8("spnTimeout")) + self.formLayout.setWidget(3, QtGui.QFormLayout.FieldRole, self.spnTimeout) self.retranslateUi(configDialog) QtCore.QMetaObject.connectSlotsByName(configDialog) @@ -50,8 +59,10 @@ class Ui_configDialog(object): configDialog.setWindowTitle(QtGui.QApplication.translate("configDialog", "Form", None, QtGui.QApplication.UnicodeUTF8)) self.lblName.setText(QtGui.QApplication.translate("configDialog", "Name:", None, QtGui.QApplication.UnicodeUTF8)) self.linName.setToolTip(QtGui.QApplication.translate("configDialog", "<html><head/><body><p>Name of the pet.</p></body></html>", None, QtGui.QApplication.UnicodeUTF8)) - self.cmbAnimal.setToolTip(QtGui.QApplication.translate("configDialog", "<html><head/><body><p>The kind of animal to use.</p></body></html>", None, QtGui.QApplication.UnicodeUTF8)) self.lblAnimal.setText(QtGui.QApplication.translate("configDialog", "Animal", None, QtGui.QApplication.UnicodeUTF8)) - self.timBrushtime.setToolTip(QtGui.QApplication.translate("configDialog", "<html><head/><body><p>Time of day the animal needs to brush its teeth.</p></body></html>", None, QtGui.QApplication.UnicodeUTF8)) + self.cmbAnimal.setToolTip(QtGui.QApplication.translate("configDialog", "<html><head/><body><p>The kind of animal to use.</p></body></html>", None, QtGui.QApplication.UnicodeUTF8)) self.lblBrushtime.setText(QtGui.QApplication.translate("configDialog", "Brush time", None, QtGui.QApplication.UnicodeUTF8)) + self.timBrushtime.setToolTip(QtGui.QApplication.translate("configDialog", "<html><head/><body><p>Time of day the animal needs to brush its teeth.</p></body></html>", None, QtGui.QApplication.UnicodeUTF8)) + self.lblTimeout.setText(QtGui.QApplication.translate("configDialog", "Cycle length", None, QtGui.QApplication.UnicodeUTF8)) + self.spnTimeout.setToolTip(QtGui.QApplication.translate("configDialog", "<html><head/><body><p>Seconds between changes in the animal\'s state over time</p></body></html>", None, QtGui.QApplication.UnicodeUTF8)) diff --git a/contents/code/main.py b/contents/code/main.py index 8dd99b692ccd2bbffdb3dd3470c78edc4381a9b8..df1947f950f61c878a2854b2472f91f33cac2a73 100644 --- a/contents/code/main.py +++ b/contents/code/main.py @@ -45,6 +45,7 @@ class Koala(): self.weight = 10 self.name = "Tim" self.animal = "koala" + self.timeout = 5000 self.load() @@ -105,6 +106,7 @@ class Koala(): cfgParser.set('koala', 'name', self.name) cfgParser.set('koala', 'animal', self.animal) cfgParser.set('behaviour', 'brushtime', self.brushtime) + cfgParser.set('behaviour', 'timeout', self.timeout) cfgParser.set('state', 'happiness', self.happiness) cfgParser.set('state', 'hunger', self.hunger) @@ -128,6 +130,7 @@ class Koala(): self.name = cfgParser.get('koala', 'name') self.animal = cfgParser.get('koala', 'animal') self.brushtime = cfgParser.get('behaviour', 'brushtime') + self.timeout = int(cfgParser.get('behaviour', 'timeout')) self.happiness = float(cfgParser.get('state', 'happiness')) self.hunger = float(cfgParser.get('state', 'hunger')) @@ -196,7 +199,6 @@ class Deskoala(plasmascript.Applet): def init(self): self.setHasConfigurationInterface(True) self.resize(320, 260) -# self.setAspectRatioMode(Plasma.Square) self.layout = QGraphicsLinearLayout(Qt.Horizontal,self.applet) self.label = Plasma.Label(self.applet) self.layout.addItem(self.label) @@ -219,7 +221,7 @@ class Deskoala(plasmascript.Applet): self.buttons.append(buttons) self.layout.addItem(buttons) - self.startTimer(5000) + self.startTimer(self.koala.timeout) def createConfigurationInterface(self,parent): self.koalaConfig = KoalaConfig(self) @@ -230,6 +232,7 @@ class Deskoala(plasmascript.Applet): self.koalaConfig.linName.setText(self.koala.name) self.koalaConfig.timBrushtime.setTime(QTime.fromString(self.koala.brushtime, "h:m")) + self.koalaConfig.spnTimeout.setValue(self.koala.timeout / 1000) animals = ["koala", "kangaroo"] for i in animals: @@ -249,8 +252,11 @@ class Deskoala(plasmascript.Applet): self.koala.name = self.koalaConfig.linName.text() self.koala.brushtime = str(self.koalaConfig.timBrushtime.time().toString("h:m")) self.koala.animal = self.koalaConfig.cmbAnimal.currentText() + self.koala.timeout = self.koalaConfig.spnTimeout.value() * 1000 self.koala.save() + self.startTimer(self.koala.timeout) + def configDenied(self): pass diff --git a/ui/config.ui b/ui/config.ui index e1cec5371ba61a1c2acc5d4b262f18813120e5b5..7e08d39fd86b25752f570ed1ac63c539662e9e04 100644 --- a/ui/config.ui +++ b/ui/config.ui @@ -23,6 +23,9 @@ </rect> </property> <layout class="QFormLayout" name="formLayout"> + <property name="fieldGrowthPolicy"> + <enum>QFormLayout::AllNonFixedFieldsGrow</enum> + </property> <item row="0" column="0"> <widget class="QLabel" name="lblName"> <property name="text"> @@ -37,6 +40,13 @@ </property> </widget> </item> + <item row="1" column="0"> + <widget class="QLabel" name="lblAnimal"> + <property name="text"> + <string>Animal</string> + </property> + </widget> + </item> <item row="1" column="1"> <widget class="QComboBox" name="cmbAnimal"> <property name="toolTip"> @@ -44,10 +54,10 @@ </property> </widget> </item> - <item row="1" column="0"> - <widget class="QLabel" name="lblAnimal"> + <item row="2" column="0"> + <widget class="QLabel" name="lblBrushtime"> <property name="text"> - <string>Animal</string> + <string>Brush time</string> </property> </widget> </item> @@ -58,10 +68,23 @@ </property> </widget> </item> - <item row="2" column="0"> - <widget class="QLabel" name="lblBrushtime"> + <item row="3" column="0"> + <widget class="QLabel" name="lblTimeout"> <property name="text"> - <string>Brush time</string> + <string>Cycle length</string> + </property> + </widget> + </item> + <item row="3" column="1"> + <widget class="QSpinBox" name="spnTimeout"> + <property name="toolTip"> + <string><html><head/><body><p>Seconds between changes in the animal's state over time</p></body></html></string> + </property> + <property name="minimum"> + <number>1</number> + </property> + <property name="maximum"> + <number>120</number> </property> </widget> </item>