1 # -*- coding: utf-8 -*-
3 # (c) Copyright 2001-2007 Hewlett-Packard Development Company, L.P.
5 # This program is free software; you can redistribute it and/or modify
6 # it under the terms of the GNU General Public License as published by
7 # the Free Software Foundation; either version 2 of the License, or
8 # (at your option) any later version.
10 # This program is distributed in the hope that it will be useful,
11 # but WITHOUT ANY WARRANTY; without even the implied warranty of
12 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 # GNU General Public License for more details.
15 # You should have received a copy of the GNU General Public License
16 # along with this program; if not, write to the Free Software
17 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
28 from powersettingsdialog_base import PowerSettingsDialog_base
31 class PowerSettingsDialog(PowerSettingsDialog_base): # Dyn Ctr (DJ4xx)
33 def __init__(self,value,parent = None,name = None,modal = 0,fl = 0):
34 PowerSettingsDialog_base.__init__(self,parent,name,modal,fl)
35 self.setting = 0 # 0=never off, 1=timed off
37 log.debug("Initializing plugin dialog with power setting: %s" % value)
39 self.power_setting_table = {0 : (self.__tr("15 minutes"), '015'),
40 1 : (self.__tr("30 minutes"), '030'),
41 2 : (self.__tr("45 minutes"), '045'),
42 3 : (self.__tr("1 hour"), '060'),
43 4 : (self.__tr("2 hours"), '120'),
44 5 : (self.__tr("3 hours"), '180'),
47 for x in self.power_setting_table:
48 self.power_setting_combo.insertItem(self.power_setting_table[x][0], x)
51 self.power_setting.setButton(0)
54 self.power_setting.setButton(1)
57 for x in self.power_setting_table:
58 if self.power_setting_table[x][1] == value:
59 self.power_setting_combo.setCurrentItem(x)
62 def power_setting_clicked(self,a0):
64 log.debug("Setting (0=Always on/1=Timed off): %s" % a0)
67 return self.power_setting_table[self.power_setting_combo.currentItem()][1]
69 def __tr(self,s,c = None):
70 return qApp.translate("PowerSettingsDialog",s,c)
73 class PowerSettingsDialog2(PowerSettingsDialog_base): # PML (OJ H4xx)
75 def __init__(self,value,parent = None,name = None,modal = 0,fl = 0):
76 PowerSettingsDialog_base.__init__(self,parent,name,modal,fl)
77 self.setting = 0 # 0=never off, 1=timed off
79 log.debug("Initializing plugin dialog with power setting: %s" % value)
81 self.power_setting_table = {0 : (self.__tr("15 minutes"), pml.OID_POWER_SETTINGS_15MIN),
82 1 : (self.__tr("30 minutes"), pml.OID_POWER_SETTINGS_30MIN),
83 2 : (self.__tr("45 minutes"), pml.OID_POWER_SETTINGS_45MIN),
84 3 : (self.__tr("1 hour"), pml.OID_POWER_SETTINGS_1HR),
85 4 : (self.__tr("2 hours"), pml.OID_POWER_SETTINGS_2HR),
86 5 : (self.__tr("3 hours"), pml.OID_POWER_SETTINGS_3HR),
89 for x in self.power_setting_table:
90 self.power_setting_combo.insertItem(self.power_setting_table[x][0], x)
92 if value == pml.OID_POWER_SETTINGS_NEVER:
93 self.power_setting.setButton(0)
95 self.power_setting.setButton(1)
98 for x in self.power_setting_table:
99 if self.power_setting_table[x][1] == value:
100 self.power_setting_combo.setCurrentItem(x)
103 def power_setting_clicked(self,a0):
105 log.debug("Setting (0=Always on/1=Timed off): %s" % a0)
108 return self.power_setting_table[self.power_setting_combo.currentItem()][1]
110 def __tr(self,s,c = None):
111 return qApp.translate("PowerSettingsDialog2",s,c)
114 def settingsUIDynCtr(d, parent):
115 value = powersettings.getPowerSettings(d)
116 log.debug("Battery power settings: %s" % value)
118 dlg = PowerSettingsDialog(value, parent)
120 if dlg.exec_loop() == QDialog.Accepted:
121 value = dlg.getValue()
122 log.debug("Power setting set to %s in dialog" % value)
125 powersettings.setPowerSettings(d, '999')
127 powersettings.setPowerSettings(d, value)
130 def settingsUIPML(d, parent):
131 value = powersettings2.getPowerSettings(d)
132 log.debug("Battery power settings: %s" % value)
134 dlg = PowerSettingsDialog2(value, parent)
136 if dlg.exec_loop() == QDialog.Accepted:
137 value = dlg.getValue()
138 log.debug("Power setting set to %s in dialog" % value)
141 powersettings2.setPowerSettings(d, pml.OID_POWER_SETTINGS_NEVER)
143 powersettings2.setPowerSettings(d, value)
146 def settingsUI(d, parent=None):
147 log.debug("settingsUI(%s)" % __file__)
149 battery_check = d.mq['power-settings']
151 if battery_check == POWER_SETTINGS_EPML:
152 return settingsUIDynCtr(d, parent)
154 elif battery_check == POWER_SETTINGS_PML:
155 return settingsUIPML(d, parent)