1 # -*- coding: utf-8 -*-
3 # (c) Copyright 2001-2008 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
24 from base.codes import *
25 from ui_utils import *
28 from PyQt4.QtCore import *
29 from PyQt4.QtGui import *
30 from settingsdialog_base import Ui_SettingsDialog_base
34 class SettingsDialog(QDialog, Ui_SettingsDialog_base):
35 def __init__(self, parent=None):
36 QDialog.__init__(self, parent)
39 self.connect(self.SetDefaultsButton, SIGNAL("clicked()"), self.SetDefaultsButton_clicked)
41 self.user_settings = UserSettings()
42 self.user_settings.load()
44 cur_vers = sys_conf.get('hplip', 'version')
45 last_ver = user_conf.get('upgrade','latest_available_version')
46 if cur_vers != last_ver:
47 upgrade_msg ="Currently HPLIP-%s version is installed.\nLatest HPLIP-%s version is available for installation"%(cur_vers, last_ver)
49 upgrade_msg ="HPLIP-%s version is installed"%(cur_vers)
51 self.SystemTraySettings.initUi(self.user_settings.systray_visible,
52 self.user_settings.polling,
53 self.user_settings.polling_interval,
54 self.user_settings.device_list,
55 self.user_settings.systray_messages,
56 self.user_settings.upgrade_notify,
57 self.user_settings.upgrade_pending_update_time,
63 def updateControls(self):
64 self.AutoRefreshCheckBox.setChecked(self.user_settings.auto_refresh)
65 self.AutoRefreshRateSpinBox.setValue(self.user_settings.auto_refresh_rate) # min
66 if self.user_settings.auto_refresh_type == 1:
67 self.RefreshCurrentRadioButton.setChecked(True)
69 self.RefreshAllRadioButton.setChecked(True)
71 self.ScanCommandLineEdit.setText(self.user_settings.cmd_scan)
72 self.SystemTraySettings.systray_visible = self.user_settings.systray_visible
73 self.SystemTraySettings.systray_messages = self.user_settings.systray_messages
74 self.SystemTraySettings.updateUi()
78 self.user_settings.systray_visible = self.SystemTraySettings.systray_visible
79 self.user_settings.systray_messages = self.SystemTraySettings.systray_messages
80 self.user_settings.cmd_scan = unicode(self.ScanCommandLineEdit.text())
81 self.user_settings.auto_refresh = bool(self.AutoRefreshCheckBox.isChecked())
83 if self.RefreshCurrentRadioButton.isChecked():
84 self.user_settings.auto_refresh_type = 1
86 self.user_settings.auto_refresh_type = 2
88 self.user_settings.auto_refresh_rate = self.AutoRefreshRateSpinBox.value()
91 def SetDefaultsButton_clicked(self):
92 self.user_settings.loadDefaults()
98 self.user_settings.save()
101 # TODO: Need a way to signal hp-systray if systray_visible has changed
103 def __tr(self,s,c = None):
104 return qApp.translate("SettingsDialog",s,c)