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 <tqlineedit.h> 00024 #include <klistview.h> 00025 #include <kdialogbase.h> 00026 00027 #include "alarmevent.h" 00028 00029 class TQCheckBox; 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 TQ_OBJECT 00047 public: 00048 BirthdayDlg(TQWidget* parent = 0); 00049 TQValueList<KAEvent> events() const; 00050 static void close(); 00051 00052 protected slots: 00053 virtual void slotOk(); 00054 00055 private slots: 00056 void slotSelectionChanged(); 00057 void slotTextLostFocus(); 00058 void updateSelectionList(); 00059 00060 private: 00061 void loadAddressBook(); 00062 00063 static const KABC::AddressBook* mAddressBook; 00064 BListView* mAddresseeList; 00065 BLineEdit* mPrefix; 00066 BLineEdit* mSuffix; 00067 Reminder* mReminder; 00068 SoundPicker* mSoundPicker; 00069 FontColourButton* mFontColourButton; 00070 CheckBox* mConfirmAck; 00071 LateCancelSelector* mLateCancel; 00072 SpecialActionsButton* mSpecialActionsButton; 00073 RepetitionButton* mSubRepetition; 00074 TQString mPrefixText; // last entered value of prefix text 00075 TQString mSuffixText; // last entered value of suffix text 00076 int mFlags; // event flag bits 00077 }; 00078 00079 00080 class BLineEdit : public TQLineEdit 00081 { 00082 Q_OBJECT 00083 TQ_OBJECT 00084 public: 00085 BLineEdit(TQWidget* parent = 0, const char* name = 0) 00086 : TQLineEdit(parent, name) {} 00087 BLineEdit(const TQString& text, TQWidget* parent = 0, const char* name = 0) 00088 : TQLineEdit(text, parent, name) {} 00089 signals: 00090 void focusLost(); 00091 protected: 00092 virtual void focusOutEvent(TQFocusEvent*) { emit focusLost(); } 00093 }; 00094 00095 class BListView : public KListView 00096 { 00097 Q_OBJECT 00098 TQ_OBJECT 00099 public: 00100 BListView(TQWidget* parent = 0, const char* name = 0); 00101 public slots: 00102 virtual void slotSelectAll() { selectAll(true); } 00103 virtual void slotDeselect() { selectAll(false); } 00104 }; 00105 00106 #endif // BIRTHDAYDLG_H