home *** CD-ROM | disk | FTP | other *** search
/ Personal Computer World 2007 September / PCWSEP07.iso / Software / Linux / Linux Mint 3.0 Light / LinuxMint-3.0-Light.iso / casper / filesystem.squashfs / usr / lib / hplip / plugins / powersettingsdialog.py < prev    next >
Encoding:
Python Source  |  2007-04-04  |  3.0 KB  |  88 lines

  1. # -*- coding: utf-8 -*-
  2. #
  3. # (c) Copyright 2001-2007 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.     log.debug("settingsUI(%s)" % __file__)
  73.     
  74.     value = powersettings.getPowerSettings(d)
  75.     log.debug("Battery power settings: %s" % value)
  76.  
  77.     dlg = PowerSettingsDialog(value, parent)
  78.  
  79.     if dlg.exec_loop() == QDialog.Accepted:
  80.         value = dlg.getValue()
  81.         log.debug("Power setting set to %s in dialog" % value)
  82.  
  83.         if dlg.setting == 0:
  84.             powersettings.setPowerSettings(d, '999')
  85.         else:
  86.             powersettings.setPowerSettings(d, value)
  87.  
  88.