kaddressbook
nameeditdialog.h
Go to the documentation of this file.00001 /* 00002 This file is part of KAddressBook. 00003 Copyright (c) 2002 Mike Pilone <mpilone@slac.com> 00004 00005 This program is free software; you can redistribute it and/or modify 00006 it under the terms of the GNU General Public License as published by 00007 the Free Software Foundation; either version 2 of the License, or 00008 (at your option) any later version. 00009 00010 This program is distributed in the hope that it will be useful, 00011 but WITHOUT ANY WARRANTY; without even the implied warranty of 00012 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00013 GNU General Public License for more details. 00014 00015 You should have received a copy of the GNU General Public License 00016 along with this program; if not, write to the Free Software 00017 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 00018 00019 As a special exception, permission is given to link this program 00020 with any edition of Qt, and distribute the resulting executable, 00021 without including the source code for Qt in the source distribution. 00022 */ 00023 00024 #ifndef NAMEEDITDIALOG_H 00025 #define NAMEEDITDIALOG_H 00026 00027 #include <kdialog.h> 00028 #include <kabc/addressee.h> 00029 00030 #include "addresseeconfig.h" 00031 00032 class QCheckBox; 00033 00034 class KLineEdit; 00035 class KComboBox; 00036 00040 class NameEditDialog : public KDialog 00041 { 00042 Q_OBJECT 00043 00044 public: 00045 enum FormattedNameType 00046 { 00047 CustomName, // returned by @ref customFormattedName() 00048 SimpleName, // form: givenName familyName 00049 FullName, // form: prefix givenName additionalName familyName suffix 00050 ReverseNameWithComma, // form: familyName, givenName 00051 ReverseName, // form: familyName givenName 00052 Organization // the organization name 00053 }; 00054 00055 NameEditDialog( const KABC::Addressee &addr, int type, 00056 bool readOnly, QWidget *parent ); 00057 ~NameEditDialog(); 00058 00059 QString familyName() const; 00060 QString givenName() const; 00061 QString prefix() const; 00062 QString suffix() const; 00063 QString additionalName() const; 00064 QString customFormattedName() const; 00065 int formattedNameType() const; 00066 00067 bool changed() const; 00068 00069 static QString formattedName( const KABC::Addressee &addr, int type ); 00070 00071 protected Q_SLOTS: 00072 void slotHelp(); 00073 00074 private Q_SLOTS: 00075 void parseBoxChanged( bool ); 00076 void formattedNameTypeChanged(); 00077 void formattedNameChanged( const QString& ); 00078 void typeChanged( int ); 00079 void initTypeCombo(); 00080 void modified(); 00081 00082 private: 00083 KComboBox *mSuffixCombo; 00084 KComboBox *mPrefixCombo; 00085 KComboBox *mFormattedNameCombo; 00086 KLineEdit *mFamilyNameEdit; 00087 KLineEdit *mGivenNameEdit; 00088 KLineEdit *mAdditionalNameEdit; 00089 KLineEdit *mFormattedNameEdit; 00090 QCheckBox *mParseBox; 00091 00092 AddresseeConfig mAddresseeConfig; 00093 KABC::Addressee mAddressee; 00094 QString mCustomFormattedName; 00095 bool mChanged; 00096 }; 00097 00098 #endif
KDE 4.2 API Reference