kalarm

birthdaydlg.h

00001 /*
00002  *  birthdaydlg.h  -  dialog to pick birthdays from address book
00003  *  Program:  kalarm
00004  *  Copyright (C) 2002 - 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 #ifndef BIRTHDAYDLG_H
00021 #define BIRTHDAYDLG_H
00022 
00023 #include <qlineedit.h>
00024 #include <kdialogbase.h>
00025 
00026 #include "alarmevent.h"
00027 
00028 class QCheckBox;
00029 class KListView;
00030 class CheckBox;
00031 class ColourCombo;
00032 class FontColourButton;
00033 class SoundPicker;
00034 class SpecialActionsButton;
00035 class RepetitionButton;
00036 class LateCancelSelector;
00037 class Reminder;
00038 namespace KABC { class AddressBook; }
00039 class BLineEdit;
00040 
00041 
00042 class BirthdayDlg : public KDialogBase
00043 {
00044         Q_OBJECT
00045     public:
00046         BirthdayDlg(QWidget* parent = 0);
00047         QValueList<KAEvent> events() const;
00048 
00049     protected slots:
00050         virtual void      slotOk();
00051 
00052     private slots:
00053         void              slotSelectionChanged();
00054         void              slotTextLostFocus();
00055         void              slotFontColourSelected();
00056         void              slotBgColourSelected(const QColor&);
00057         void              updateSelectionList();
00058 
00059     private:
00060         void              loadAddressBook();
00061 
00062         static const KABC::AddressBook* mAddressBook;
00063         KListView*               mAddresseeList;
00064         BLineEdit*               mPrefix;
00065         BLineEdit*               mSuffix;
00066         Reminder*                mReminder;
00067         SoundPicker*             mSoundPicker;
00068         FontColourButton*        mFontColourButton;
00069         ColourCombo*             mBgColourChoose;
00070         CheckBox*                mConfirmAck;
00071         LateCancelSelector*      mLateCancel;
00072         SpecialActionsButton*    mSpecialActionsButton;
00073         RepetitionButton*        mSimpleRepetition;
00074         QString                  mPrefixText;   // last entered value of prefix text
00075         QString                  mSuffixText;   // last entered value of suffix text
00076         int                      mFlags;        // event flag bits
00077 };
00078 
00079 
00080 class BLineEdit : public QLineEdit
00081 {
00082         Q_OBJECT
00083     public:
00084         BLineEdit(QWidget* parent = 0, const char* name = 0)
00085                  : QLineEdit(parent, name) { }
00086         BLineEdit(const QString& text, QWidget* parent = 0, const char* name = 0)
00087                  : QLineEdit(text, parent, name) { }
00088     signals:
00089         void         focusLost();
00090     protected:
00091         virtual void focusOutEvent(QFocusEvent*)  { emit focusLost(); }
00092 };
00093 
00094 #endif // BIRTHDAYDLG_H
KDE Home | KDE Accessibility Home | Description of Access Keys