kalarm

emailidcombo.cpp

00001 /*
00002  *  emailidcombo.cpp  -  email identity combo box with read-only option
00003  *  Program:  kalarm
00004  *  Copyright (C) 2004 by David Jarvie <software@astrojar.org.uk>
00005  *
00006  *  This program is free software; you can redistribute it and/or modify
00007  *  it under the terms of the GNU General Public License as published by
00008  *  the Free Software Foundation; either version 2 of the License, or
00009  *  (at your option) any later version.
00010  *
00011  *  This program is distributed in the hope that it will be useful,
00012  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
00013  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
00014  *  GNU General Public License for more details.
00015  *
00016  *  You should have received a copy of the GNU General Public License along
00017  *  with this program; if not, write to the Free Software Foundation, Inc.,
00018  *  51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
00019  */
00020 
00021 #include "emailidcombo.moc"
00022 
00023 
00024 EmailIdCombo::EmailIdCombo(KPIM::IdentityManager* manager, QWidget* parent, const char* name)
00025     : KPIM::IdentityCombo(manager, parent, name),
00026       mReadOnly(false)
00027 { }
00028 
00029 void EmailIdCombo::mousePressEvent(QMouseEvent* e)
00030 {
00031     if (mReadOnly)
00032     {
00033         // Swallow up the event if it's the left button
00034         if (e->button() == LeftButton)
00035             return;
00036     }
00037     KPIM::IdentityCombo::mousePressEvent(e);
00038 }
00039 
00040 void EmailIdCombo::mouseReleaseEvent(QMouseEvent* e)
00041 {
00042     if (!mReadOnly)
00043         KPIM::IdentityCombo::mouseReleaseEvent(e);
00044 }
00045 
00046 void EmailIdCombo::mouseMoveEvent(QMouseEvent* e)
00047 {
00048     if (!mReadOnly)
00049         KPIM::IdentityCombo::mouseMoveEvent(e);
00050 }
00051 
00052 void EmailIdCombo::keyPressEvent(QKeyEvent* e)
00053 {
00054     if (!mReadOnly  ||  e->key() == Qt::Key_Escape)
00055         KPIM::IdentityCombo::keyPressEvent(e);
00056 }
00057 
00058 void EmailIdCombo::keyReleaseEvent(QKeyEvent* e)
00059 {
00060     if (!mReadOnly)
00061         KPIM::IdentityCombo::keyReleaseEvent(e);
00062 }
KDE Home | KDE Accessibility Home | Description of Access Keys