summaryrefslogtreecommitdiff
path: root/portato/gui/qt/uncheckbox.py
blob: d87fb068906fa53c4057700c04fc6ac40b7dc026 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
# -*- coding: utf-8 -*-
#
# File: portato/gui/qt/uncheckbox.py
# This file is part of the Portato-Project, a graphical portage-frontend.
#
# Copyright (C) 2007 René 'Necoro' Neumann
# This is free software.  You may redistribute copies of it under the terms of
# the GNU General Public License version 2.
# There is NO WARRANTY, to the extent permitted by law.
#
# Written by René 'Necoro' Neumann <necoro@necoro.net>

from PyQt4.QtGui import QCheckBox
from PyQt4.QtCore import Qt

class UncheckBox (QCheckBox):
	"""A checkbox which looks like a normal one, but cannot be checked by the user.
	Focusing and hovering are disabled too."""

	def __init__ (self, *args):
		QCheckBox.__init__(self, *args)
		self.setFocusPolicy(Qt.NoFocus)

	def mousePressEvent (self, event):
		if event.button() == Qt.LeftButton: # ignore leftbutton clicks
			pass
		else:
			QCheckBox.mousePressEvent(self, event)

	def keyPressEvent (self, event):
		if event.key() == Qt.Key_Space: # ignore space
			pass
		else:
			QCheckBox.keyPressEvent(self, event)

	def enterEvent (self, event):
		# disable hovering - this is set to True somewhere I cannot fix ;)
		self.setAttribute(Qt.WA_Hover, False)
-10 16:46:07 +0100'>2008-03-10Generate correct KeyNotFoundExceptionRené 'Necoro' Neumann1-2/+2 2008-03-09Small changesRené 'Necoro' Neumann3-1/+4 2008-03-07Better session handlingRené 'Necoro' Neumann1-5/+54 2008-03-07Small changesRené 'Necoro' Neumann1-1/+4 2008-03-07Updated shm module to 1.2René 'Necoro' Neumann1-8/+21 2008-03-07Update TODORené 'Necoro' Neumann1-3/+1 2008-03-07hmm ... yesRené 'Necoro' Neumann1-1/+1 2008-03-06Used better exceptions for configuration parserRené 'Necoro' Neumann1-26/+114 2008-03-06Update translationRené 'Necoro' Neumann2-349/+393 2008-03-06Update createpot.shRené 'Necoro' Neumann1-3/+2 2008-03-06Use 'nofork' instead of 'nolistener'René 'Necoro' Neumann1-3/+3 2008-03-05Install glade files into template dir and not data dirRené 'Necoro' Neumann2-2/+1 2008-03-05Added dependency listRené 'Necoro' Neumann3-117/+237