Tizen 2.1 base
[platform/upstream/hplip.git] / ui / nodevicesform.py
1 # -*- coding: utf-8 -*-
2 #
3 # (c) Copyright 2001-2008 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 # Std Lib
23 import os.path
24
25 # Local
26 from base.g import *
27 from base import utils
28 from prnt import cups
29 from ui_utils import load_pixmap
30
31 # Qt
32 from qt import *
33 from nodevicesform_base import NoDevicesForm_base
34
35
36
37 class NoDevicesForm(NoDevicesForm_base):
38     def __init__(self,parent = None,name = None,modal = 0,fl = 0):
39         NoDevicesForm_base.__init__(self, parent, name, modal, fl)
40
41         self.Icon.setPixmap(load_pixmap("warning.png", '32x32'))
42
43
44     def CUPSButton_clicked(self):
45         self.close()
46         utils.openURL("http://localhost:631/admin")
47
48
49     def ExitButton_clicked(self):
50         self.close()
51
52
53     def setupPushButton_clicked(self):
54         self.close()
55
56         if utils.which('hp-setup'):
57             cmd = 'hp-setup -u'
58         else:
59             cmd = 'python ./setup.py -u'
60
61         log.debug(cmd)
62         utils.run(cmd, log_output=True, password_func=None, timeout=1)
63
64         try:
65             self.parent().RescanDevices()
66         except Error:
67             QMessageBox.critical(self,
68                                     self.caption(),
69                                     self.__tr("<b>An error occurred.</b><p>Please re-start the Device Manager and try again."),
70                                     QMessageBox.Ok,
71                                     QMessageBox.NoButton,
72                                     QMessageBox.NoButton)
73
74
75     def __tr(self,s,c = None):
76         return qApp.translate("NoDevicesForm",s,c)