kalarm

birthdaydlg.h

00001 /*
00002  *  birthdaydlg.h  -  dialog to pick birthdays from address book
00003  *  Program:  kalarm
00004  *  Copyright © 2002-2004,2006,2008 by David Jarvie <djarvie@kde.org>
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 <klistview.h>
00025 #include <kdialogbase.h>
00026 
00027 #include "alarmevent.h"
00028 
00029 class QCheckBox;
00030 class KListView;
00031 class CheckBox;
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 class BListView;
00041 
00042 
00043 class BirthdayDlg : public KDialogBase
00044 {
00045         Q_OBJECT
00046     public:
00047         BirthdayDlg(QWidget* parent = 0);
00048         QValueList<KAEvent> events() const;
00049 
00050     protected slots:
00051         virtual void      slotOk();
00052 
00053     private slots:
00054         void              slotSelectionChanged();
00055         void              slotTextLostFocus();
00056         void              updateSelectionList();
00057 
00058     private:
00059         void              loadAddressBook();
00060 
00061         static const KABC::AddressBook* mAddressBook;
00062         BListView*               mAddresseeList;
00063         BLineEdit*               mPrefix;
00064         BLineEdit*               mSuffix;
00065         Reminder*                mReminder;
00066         SoundPicker*             mSoundPicker;
00067         FontColourButton*        mFontColourButton;
00068         CheckBox*                mConfirmAck;
00069         LateCancelSelector*      mLateCancel;
00070         SpecialActionsButton*    mSpecialActionsButton;
00071         RepetitionButton*        mSubRepetition;
00072         QString                  mPrefixText;   // last entered value of prefix text
00073         QString                  mSuffixText;   // last entered value of suffix text
00074         int                      mFlags;        // event flag bits
00075 };
00076 
00077 
00078 class BLineEdit : public QLineEdit
00079 {
00080         Q_OBJECT
00081     public:
00082         BLineEdit(QWidget* parent = 0, const char* name = 0)
00083                  : QLineEdit(parent, name) {}
00084         BLineEdit(const QString& text, QWidget* parent = 0, const char* name = 0)
00085                  : QLineEdit(text, parent, name) {}
00086     signals:
00087         void         focusLost();
00088     protected:
00089         virtual void focusOutEvent(QFocusEvent*)  { emit focusLost(); }
00090 };
00091 
00092 class BListView : public KListView
00093 {
00094         Q_OBJECT
00095     public:
00096         BListView(QWidget* parent = 0, const char* name = 0);
00097     public slots:
00098         virtual void slotSelectAll()   { selectAll(true); }
00099         virtual void slotDeselect()    { selectAll(false); }
00100 };
00101 
00102 #endif // BIRTHDAYDLG_H
KDE Home | KDE Accessibility Home | Description of Access Keys