00001 # Copyright (C) 2009 by Albert Cervera i Areny albert@nan-tic.com 00002 # 00003 # This program is free software; you can redistribute it and/or modify 00004 # it under the terms of the GNU General Public License as published by 00005 # the Free Software Foundation; either version 2 of the License, or 00006 # (at your option) any later version. 00007 # 00008 # This program is distributed in the hope that it will be useful, 00009 # but WITHOUT ANY WARRANTY; without even the implied warranty of 00010 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00011 # GNU General Public License for more details. 00012 # 00013 # You should have received a copy of the GNU General Public License 00014 # along with this program; if not, write to the 00015 # Free Software Foundation, Inc., 00016 # 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 00017 00018 from PyQt4.QtCore import * 00019 from PyQt4.QtGui import * 00020 from Koo.Common import Shortcuts 00021 00022 ## @brief The WhatsThisEventFilter class provides an eventFilter that allows 00023 # viewing the What's This information of the current widget by pressing a key. 00024 # 00025 # This is mostly interesting for viewing help of form fields. By default the shortcut is F10. 00026 # 00027 # To install it in an application use 'app.installEventFilter( Koo.Common.WhatsThisEventFilter( mainWindow ) )' 00028 class WhatsThisEventFilter(QObject): 00029 ## @brief Creates a new WhatsThisEventFilter object. 00030 def __init__(self, parent=None): 00031 QObject.__init__(self, parent) 00032 00033 def eventFilter(self, obj, event): 00034 if event.type() == QEvent.KeyRelease and event.key() == Shortcuts.WhatsThis: 00035 QApplication.postEvent( obj, QEvent( QEvent.WhatsThis ) ) 00036 return True 00037 return QObject.eventFilter( self, obj, event ) 00038