home *** CD-ROM | disk | FTP | other *** search
/ PC Welt 2006 November (DVD) / PCWELT_11_2006.ISO / casper / filesystem.squashfs / usr / lib / hplip / plugins / powersettingsdialog.py < prev    next >
Encoding:
Python Source  |  2006-08-30  |  3.0 KB  |  87 lines

  1. # -*- coding: utf-8 -*-
  2. #
  3. # (c) Copyright 2001-2006 Hewlett-Packard Development Company, L.P.
  4. #
  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.
  9. #
  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.
  14. #
  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
  18. #
  19. # Author: Don Welch
  20. #
  21.  
  22. from base.g import *
  23. import powersettings
  24.  
  25. from qt import *
  26. from powersettingsdialog_base import PowerSettingsDialog_base
  27.  
  28.  
  29. class PowerSettingsDialog(PowerSettingsDialog_base):
  30.  
  31.     def __init__(self,value,parent = None,name = None,modal = 0,fl = 0):
  32.         PowerSettingsDialog_base.__init__(self,parent,name,modal,fl)
  33.         self.setting = 0 # 0=never off, 1=timed off
  34.  
  35.         log.debug("Initializing plugin dialog with power setting: %s" % value)
  36.  
  37.         self.power_setting_table = {0 : (self.__tr("15 minutes"), '015'),
  38.                                      1 : (self.__tr("30 minutes"), '030'),
  39.                                      2 : (self.__tr("45 minutes"), '045'),
  40.                                      3 : (self.__tr("1 hour"), '060'),
  41.                                      4 : (self.__tr("2 hours"), '120'),
  42.                                      5 : (self.__tr("3 hours"), '180'),
  43.                                     }
  44.  
  45.         for x in self.power_setting_table:
  46.             self.power_setting_combo.insertItem(self.power_setting_table[x][0], x)
  47.  
  48.         if value == '999':
  49.             self.power_setting.setButton(0)
  50.             #self.setting = 0
  51.         else:
  52.             self.power_setting.setButton(1)
  53.             self.setting = 1
  54.  
  55.             for x in self.power_setting_table:
  56.                 if self.power_setting_table[x][1] == value:
  57.                     self.power_setting_combo.setCurrentItem(x)
  58.  
  59.  
  60.     def power_setting_clicked(self,a0):
  61.         self.setting = a0
  62.         log.debug("Setting (0=Always on/1=Timed off): %s" % a0)
  63.  
  64.     def getValue(self):
  65.         return self.power_setting_table[self.power_setting_combo.currentItem()][1]
  66.  
  67.     def __tr(self,s,c = None):
  68.         return qApp.translate("PowerSettingsDialog",s,c)
  69.  
  70.  
  71. def settingsUI(d, parent=None):
  72.  
  73.     value = powersettings.getPowerSettings(d)
  74.     log.debug("Battery power settings: %s" % value)
  75.  
  76.     dlg = PowerSettingsDialog(value, parent)
  77.  
  78.     if dlg.exec_loop() == QDialog.Accepted:
  79.         value = dlg.getValue()
  80.         log.debug("Power setting set to %s in dialog" % value)
  81.  
  82.         if dlg.setting == 0:
  83.             powersettings.setPowerSettings(d, '999')
  84.         else:
  85.             powersettings.setPowerSettings(d, value)
  86.  
  87.