summaryrefslogtreecommitdiffstats
path: root/kabc/frontend/mainWindow.ui.h
diff options
context:
space:
mode:
Diffstat (limited to 'kabc/frontend/mainWindow.ui.h')
-rw-r--r--kabc/frontend/mainWindow.ui.h658
1 files changed, 658 insertions, 0 deletions
diff --git a/kabc/frontend/mainWindow.ui.h b/kabc/frontend/mainWindow.ui.h
new file mode 100644
index 000000000..e6a024743
--- /dev/null
+++ b/kabc/frontend/mainWindow.ui.h
@@ -0,0 +1,658 @@
+/****************************************************************************
+** ui.h extension file, included from the uic-generated form implementation.
+**
+** If you wish to add, delete or rename slots use Qt Designer which will
+** update this file, preserving your code. Create an init() slot in place of
+** a constructor, and a destroy() slot in place of a destructor.
+*****************************************************************************/
+
+#include <qfiledialog.h>
+#include <kinputdialog.h>
+#include <qmessagebox.h>
+
+#include <klocale.h>
+#include <kdebug.h>
+
+#include <kabc/stdaddressbook.h>
+
+using namespace KABC;
+
+class AddresseeItem : public QListViewItem
+{
+ public:
+ AddresseeItem( QListView *parent, const Addressee &a ) :
+ QListViewItem( parent, a.realName(), a.uid() ), mAddressee( a ) {}
+
+ void setAddressee( const Addressee &a ) { mAddressee = a; }
+ Addressee &addressee() { return mAddressee; }
+
+ private:
+ Addressee mAddressee;
+};
+
+void MainWindow::init()
+{
+ mAddressBook = KABC::StdAddressBook::self( true );
+
+ mCurrentItem = 0;
+
+ mEmailListView->header()->hide();
+ mCategoryListView->header()->hide();
+
+ connect( mAddressBook, SIGNAL( addressBookChanged( AddressBook * ) ),
+ SLOT( addressBookChanged() ) );
+ connect( mAddressBook, SIGNAL( addressBookLocked( AddressBook * ) ),
+ SLOT( addressBookLocked() ) );
+ connect( mAddressBook, SIGNAL( addressBookUnlocked( AddressBook * ) ),
+ SLOT( addressBookUnlocked() ) );
+}
+
+void MainWindow::destroy()
+{
+ delete mAddressBook;
+}
+
+void MainWindow::fileSave()
+{
+ updateAddressee( mAddresseeList->selectedItem() );
+
+ StdAddressBook::save();
+}
+
+void MainWindow::fileOpen()
+{
+ QString fileName = QFileDialog::getOpenFileName();
+
+ loadAddressBook( fileName );
+}
+
+void MainWindow::loadAddressBook( const QString &fileName )
+{
+ kdDebug() << "loadAddressBook(): '" << fileName << "'" << endl;
+
+ mAddresseeList->clear();
+ mCurrentItem = 0;
+ mCurrentAddress = QString::null;
+ readAddressee( Addressee() );
+
+ KABC::AddressBook::Iterator it;
+ for( it = mAddressBook->begin(); it != mAddressBook->end(); ++it ) {
+ new AddresseeItem( mAddresseeList, (*it) );
+ }
+}
+
+void MainWindow::updateAddressee( QListViewItem *item )
+{
+ AddresseeItem *addresseeItem = dynamic_cast<AddresseeItem *>( item );
+ if ( !addresseeItem ) return;
+
+ if (mCurrentItem ) {
+ writeAddress( mCurrentAddress );
+ writePhone( mCurrentPhone );
+ Addressee a = writeAddressee( mCurrentItem->addressee() );
+ mCurrentItem->setAddressee( a );
+ mAddressBook->insertAddressee( a );
+ }
+ mCurrentItem = addresseeItem;
+
+ readAddressee( addresseeItem->addressee() );
+ updateAddress( mAddressIdCombo->currentItem() );
+ updatePhone( mPhoneIdCombo->currentItem() );
+}
+
+
+void MainWindow::readAddressee( const KABC::Addressee &a )
+{
+ kdDebug() << "MainWindow::readAddressee(): " << a.name() << endl;
+
+ mNameEdit->setText( a.name() );
+ mUrlEdit->setText( a.url().url() );
+ mAdditionalNameEdit->setText( a.additionalName() );
+ mSuffixEdit->setText( a.suffix() );
+ mGivenNameEdit->setText( a.givenName() );
+ mPrefixEdit->setText( a.prefix() );
+ mFamilyNameEdit->setText( a.familyName() );
+ mFormattedNameEdit->setText( a.formattedName() );
+ mNickNameEdit->setText( a.nickName() );
+ mSortStringEdit->setText( a.sortString() );
+ mTitleEdit->setText( a.title() );
+ mRoleEdit->setText( a.role() );
+ mOrganizationEdit->setText( a.organization() );
+ mNoteEdit->setText( a.note() );
+// mLabelEdit->setText( a.label() );
+
+ mEmailListView->clear();
+ QStringList emails = a.emails();
+ QStringList::ConstIterator it3;
+ for( it3 = emails.begin(); it3 != emails.end(); ++it3 ) {
+ new QListViewItem( mEmailListView, *it3 );
+ }
+
+ mCategoryListView->clear();
+ QStringList categories = a.categories();
+ QStringList::ConstIterator it4;
+ for( it4 = categories.begin(); it4 != categories.end(); ++it4 ) {
+ new QListViewItem( mCategoryListView, *it4 );
+ }
+
+ mCustomListView->clear();
+ QStringList customs = a.customs();
+ QStringList::ConstIterator it5;
+ for( it5 = customs.begin(); it5 != customs.end(); ++it5 ) {
+ int posDash = (*it5).find( "-" );
+ int posColon = (*it5).find( ":" );
+
+ QString app = (*it5).left( posDash );
+ QString cname = (*it5).mid( posDash + 1, posColon - posDash - 1 );
+ QString value = (*it5).mid( posColon + 1 );
+
+ new QListViewItem( mCustomListView, app, cname, value );
+ }
+
+ Address::List addresses = a.addresses();
+ mAddressIdCombo->clear();
+ Address::List::ConstIterator it;
+ for( it = addresses.begin(); it != addresses.end(); ++it ) {
+ mAddressIdCombo->insertItem( (*it).id() );
+ }
+ if ( mAddressIdCombo->count() > 0 ) mCurrentAddress = mAddressIdCombo->currentText();
+ else mCurrentAddress = QString::null;
+ readAddress( mCurrentAddress );
+
+ mPhoneIdCombo->clear();
+ PhoneNumber::List pl = a.phoneNumbers();
+ PhoneNumber::List::ConstIterator it2;
+ for( it2 = pl.begin(); it2 != pl.end(); ++it2) {
+ mPhoneIdCombo->insertItem( (*it2).id() );
+ }
+ if ( mPhoneIdCombo->count() > 0 ) mCurrentPhone = mPhoneIdCombo->currentText();
+ readPhone( mCurrentPhone );
+}
+
+KABC::Addressee MainWindow::writeAddressee( const KABC::Addressee &addressee )
+{
+ Addressee a( addressee );
+ a.setName( mNameEdit->text() );
+ if ( !mUrlEdit->text().isEmpty() ) {
+ a.setUrl( KURL( mUrlEdit->text() ) );
+ }
+
+ a.setAdditionalName( mAdditionalNameEdit->text() );
+ a.setSuffix( mSuffixEdit->text() );
+ a.setGivenName( mGivenNameEdit->text() );
+ a.setPrefix( mPrefixEdit->text() );
+ a.setFamilyName( mFamilyNameEdit->text() );
+ a.setFormattedName( mFormattedNameEdit->text() );
+ a.setNickName( mNickNameEdit->text() );
+ a.setSortString( mSortStringEdit->text() );
+ a.setTitle( mTitleEdit->text() );
+ a.setRole( mRoleEdit->text() );
+ a.setOrganization( mOrganizationEdit->text() );
+ a.setNote( mNoteEdit->text() );
+// a.setLabel( mLabelEdit->text() );
+
+ kdDebug() << "MainWindow::writeAddressee()" << endl;
+ a.dump();
+
+ return a;
+}
+
+void MainWindow::newEntry()
+{
+ bool ok = false;
+ QString name = KInputDialog::getText( i18n("New Address Book Entry"),
+ i18n("Please enter name:"),
+ QString::null, &ok,
+ this );
+ if ( !ok || name.isEmpty() ) return;
+
+ Addressee a;
+ a.setName( name );
+ mAddressBook->insertAddressee( a );
+
+ new AddresseeItem( mAddresseeList, a );
+}
+
+void MainWindow::removeEntry()
+{
+ AddresseeItem *item = dynamic_cast<AddresseeItem *>(mAddresseeList->selectedItem());
+ if ( item ) {
+ mAddressBook->removeAddressee( item->addressee() );
+ delete item;
+ mCurrentItem = 0;
+ }
+}
+
+
+void MainWindow::updateAddress( int id )
+{
+ if( !mCurrentItem ) return;
+
+ writeAddress( mCurrentAddress );
+ if ( mAddressIdCombo->count() > 0 ) {
+ mCurrentAddress = mAddressIdCombo->text( id );
+ } else {
+ mCurrentAddress = QString::null;
+ }
+ readAddress( mCurrentAddress );
+}
+
+KABC::Address MainWindow::writeAddress( const KABC::Address &address )
+{
+ Address a( address );
+
+ a.setPostOfficeBox( mAddressPostOfficeBoxEdit->text() );
+ a.setExtended( mAddressExtendedEdit->text() );
+ a.setStreet( mAddressStreetEdit->text() );
+ a.setLocality( mAddressLocalityEdit->text() );
+ a.setRegion( mAddressRegionEdit->text() );
+ a.setLabel( mAddressLabelEdit->text() );
+ a.setPostalCode( mAddressPostalCodeEdit->text() );
+ a.setCountry( mAddressCountryEdit->text() );
+
+ int type = 0;
+ if ( mAddressDomCheck->isChecked() ) type |= Address::Dom;
+ if ( mAddressIntlCheck->isChecked() ) type |= Address::Intl;
+ if ( mAddressParcelCheck->isChecked() ) type |= Address::Parcel;
+ if ( mAddressPostalCheck->isChecked() ) type |= Address::Postal;
+ if ( mAddressHomeCheck->isChecked() ) type |= Address::Home;
+ if ( mAddressPrefCheck->isChecked() ) type |= Address::Pref;
+ if ( mAddressWorkCheck->isChecked() ) type |= Address::Work;
+ a.setType( type );
+
+ return a;
+}
+
+void MainWindow::writeAddress( const QString &id )
+{
+ if ( !mCurrentItem ) return;
+
+ if ( id.isEmpty() ) return;
+
+ Address address;
+ address.setId( id );
+ address = writeAddress( address );
+
+ mCurrentItem->addressee().insertAddress( address );
+}
+
+void MainWindow::readAddress( const KABC::Address &a )
+{
+ mAddressPostOfficeBoxEdit->setText( a.postOfficeBox() );
+ mAddressExtendedEdit->setText( a.extended() );
+ mAddressStreetEdit->setText( a.street() );
+ mAddressLocalityEdit->setText( a.locality() );
+ mAddressRegionEdit->setText( a.region() );
+ mAddressLabelEdit->setText( a.label() );
+ mAddressPostalCodeEdit->setText( a.postalCode() );
+ mAddressCountryEdit->setText( a.country() );
+
+ int type = a.type();
+ if ( type & Address::Dom ) mAddressDomCheck->setChecked( true );
+ else mAddressDomCheck->setChecked( false );
+ if ( type & Address::Intl ) mAddressIntlCheck->setChecked( true );
+ else mAddressIntlCheck->setChecked( false );
+ if ( type & Address::Parcel ) mAddressParcelCheck->setChecked( true );
+ else mAddressParcelCheck->setChecked( false );
+ if ( type & Address::Postal ) mAddressPostalCheck->setChecked( true );
+ else mAddressPostalCheck->setChecked( false );
+ if ( type & Address::Home ) mAddressHomeCheck->setChecked( true );
+ else mAddressHomeCheck->setChecked( false );
+ if ( type & Address::Pref ) mAddressPrefCheck->setChecked( true );
+ else mAddressPrefCheck->setChecked( false );
+ if ( type & Address::Work ) mAddressWorkCheck->setChecked( true );
+ else mAddressWorkCheck->setChecked( false );
+}
+
+void MainWindow::readAddress( const QString &id )
+{
+ if ( !mCurrentItem || id.isEmpty() ) {
+ readAddress( Address() );
+ return;
+ }
+
+ Address address = mCurrentItem->addressee().findAddress( id );
+ readAddress( address );
+}
+
+void MainWindow::updatePhone( int id )
+{
+ if( !mCurrentItem ) return;
+
+ writePhone( mCurrentPhone );
+ if ( mPhoneIdCombo->count() > 0 ) {
+ mCurrentPhone = mPhoneIdCombo->text( id );
+ } else {
+ mCurrentPhone = QString::null;
+ }
+ readPhone( mCurrentPhone );
+}
+
+KABC::PhoneNumber MainWindow::writePhone( const KABC::PhoneNumber &phoneNumber )
+{
+ PhoneNumber p( phoneNumber );
+
+ p.setNumber( mPhoneNumberEdit->text() );
+
+ int type = 0;
+ if ( mPhoneMsgCheck->isChecked() ) type |= PhoneNumber::Msg;
+ if ( mPhoneVoiceCheck->isChecked() ) type |= PhoneNumber::Voice;
+ if ( mPhoneFaxCheck->isChecked() ) type |= PhoneNumber::Fax;
+ if ( mPhoneCellCheck->isChecked() ) type |= PhoneNumber::Cell;
+ if ( mPhoneHomeCheck->isChecked() ) type |= PhoneNumber::Home;
+ if ( mPhonePrefCheck->isChecked() ) type |= PhoneNumber::Pref;
+ if ( mPhoneWorkCheck->isChecked() ) type |= PhoneNumber::Work;
+ if ( mPhoneVideoCheck->isChecked() ) type |= PhoneNumber::Video;
+ if ( mPhoneBbsCheck->isChecked() ) type |= PhoneNumber::Bbs;
+ if ( mPhoneModemCheck->isChecked() ) type |= PhoneNumber::Modem;
+ if ( mPhoneCarCheck->isChecked() ) type |= PhoneNumber::Car;
+ if ( mPhoneIsdnCheck->isChecked() ) type |= PhoneNumber::Isdn;
+ if ( mPhonePcsCheck->isChecked() ) type |= PhoneNumber::Pcs;
+ if ( mPhonePagerCheck->isChecked() ) type |= PhoneNumber::Pager;
+ p.setType( type );
+
+ return p;
+}
+
+void MainWindow::writePhone( const QString &id )
+{
+ if ( !mCurrentItem ) return;
+
+ if ( id.isEmpty() ) return;
+
+ PhoneNumber p;
+ p.setId( id );
+ p = writePhone( p );
+
+ mCurrentItem->addressee().insertPhoneNumber( p );
+}
+
+void MainWindow::readPhone( const KABC::PhoneNumber &p )
+{
+ mPhoneNumberEdit->setText( p.number() );
+
+ int type = p.type();
+ if ( type & PhoneNumber::Msg ) mPhoneMsgCheck->setChecked( true );
+ else mPhoneMsgCheck->setChecked( false );
+ if ( type & PhoneNumber::Voice ) mPhoneVoiceCheck->setChecked( true );
+ else mPhoneVoiceCheck->setChecked( false );
+ if ( type & PhoneNumber::Fax ) mPhoneFaxCheck->setChecked( true );
+ else mPhoneFaxCheck->setChecked( false );
+ if ( type & PhoneNumber::Cell ) mPhoneCellCheck->setChecked( true );
+ else mPhoneCellCheck->setChecked( false );
+ if ( type & PhoneNumber::Home ) mPhoneHomeCheck->setChecked( true );
+ else mPhoneHomeCheck->setChecked( false );
+ if ( type & PhoneNumber::Pref ) mPhonePrefCheck->setChecked( true );
+ else mPhonePrefCheck->setChecked( false );
+ if ( type & PhoneNumber::Work ) mPhoneWorkCheck->setChecked( true );
+ else mPhoneWorkCheck->setChecked( false );
+ if ( type & PhoneNumber::Video ) mPhoneVideoCheck->setChecked( true );
+ else mPhoneVideoCheck->setChecked( false );
+ if ( type & PhoneNumber::Bbs ) mPhoneBbsCheck->setChecked( true );
+ else mPhoneBbsCheck->setChecked( false );
+ if ( type & PhoneNumber::Modem ) mPhoneModemCheck->setChecked( true );
+ else mPhoneModemCheck->setChecked( false );
+ if ( type & PhoneNumber::Car ) mPhoneCarCheck->setChecked( true );
+ else mPhoneCarCheck->setChecked( false );
+ if ( type & PhoneNumber::Isdn ) mPhoneIsdnCheck->setChecked( true );
+ else mPhoneIsdnCheck->setChecked( false );
+ if ( type & PhoneNumber::Pcs ) mPhonePcsCheck->setChecked( true );
+ else mPhonePcsCheck->setChecked( false );
+ if ( type & PhoneNumber::Pager ) mPhonePagerCheck->setChecked( true );
+ else mPhonePagerCheck->setChecked( false );
+}
+
+void MainWindow::readPhone( const QString &id )
+{
+ if ( !mCurrentItem || id.isEmpty() ) {
+ readPhone( PhoneNumber() );
+ return;
+ }
+
+ PhoneNumber p = mCurrentItem->addressee().findPhoneNumber( id );
+ readPhone( p );
+}
+
+
+void MainWindow::newAddress()
+{
+ if( !mCurrentItem ) return;
+
+ Address address;
+ mCurrentItem->addressee().insertAddress( address );
+
+ mAddressIdCombo->insertItem( address.id() );
+}
+
+void MainWindow::removeAddress()
+{
+ if ( !mCurrentItem ) return;
+
+ QString id = mAddressIdCombo->currentText();
+ if ( id.isEmpty() ) return;
+
+ Address address;
+ address.setId( id );
+ mCurrentItem->addressee().removeAddress( address );
+
+ readAddressee( mCurrentItem->addressee() );
+}
+
+
+void MainWindow::dumpAddressBook()
+{
+ mAddressBook->dump();
+}
+
+
+void MainWindow::newEmail()
+{
+ if ( !mCurrentItem ) return;
+
+ bool ok = false;
+ QString name = KInputDialog::getText( i18n("New Email Address"),
+ i18n("Please enter email address:"),
+ QString::null, &ok,
+ this );
+ if ( !ok || name.isEmpty() ) return;
+
+ new QListViewItem( mEmailListView, name );
+ mCurrentItem->addressee().insertEmail( name );
+}
+
+void MainWindow::editEmail()
+{
+ if ( !mCurrentItem ) return;
+
+ QListViewItem *item = mEmailListView->selectedItem();
+ if( !item ) return;
+
+ QString oldName = item->text( 0 );
+
+ bool ok = false;
+ QString name = KInputDialog::getText( i18n("Edit Email Address"),
+ i18n("Please enter new email address:"),
+ oldName, &ok,
+ this );
+ if ( !ok || name.isEmpty() ) return;
+
+ item->setText( 0, name );
+ mCurrentItem->addressee().removeEmail( oldName );
+ mCurrentItem->addressee().insertEmail( name );
+}
+
+void MainWindow::removeEmail()
+{
+ if ( !mCurrentItem ) return;
+
+ QListViewItem *item = mEmailListView->selectedItem();
+ if( !item ) return;
+
+ mCurrentItem->addressee().removeEmail( item->text( 0 ) );
+ delete item;
+}
+
+void MainWindow::newPhoneNumber()
+{
+ if ( !mCurrentItem ) return;
+
+ PhoneNumber p;
+ mCurrentItem->addressee().insertPhoneNumber( p );
+
+ mPhoneIdCombo->insertItem( p.id() );
+}
+
+void MainWindow::removePhoneNumber()
+{
+ if ( !mCurrentItem ) return;
+
+ QString id = mPhoneIdCombo->currentText();
+ if ( id.isEmpty() ) return;
+
+ PhoneNumber p;
+ p.setId( id );
+ mCurrentItem->addressee().removePhoneNumber( p );
+
+ readAddressee( mCurrentItem->addressee() );
+}
+
+
+void MainWindow::newCategory()
+{
+ if ( !mCurrentItem ) return;
+
+ bool ok = false;
+ QString name = KInputDialog::getText( i18n("New Category"),
+ i18n("Please enter category name:"),
+ QString::null, &ok,
+ this );
+ if ( !ok || name.isEmpty() ) return;
+
+ new QListViewItem( mCategoryListView, name );
+ mCurrentItem->addressee().insertCategory( name );
+}
+
+void MainWindow::editCategory()
+{
+ if ( !mCurrentItem ) return;
+
+ QListViewItem *item = mCategoryListView->selectedItem();
+ if( !item ) return;
+
+ QString oldName = item->text( 0 );
+
+ bool ok = false;
+ QString name = KInputDialog::getText( i18n("Edit Category"),
+ i18n("Please enter new category name:"),
+ oldName, &ok,
+ this );
+ if ( !ok || name.isEmpty() ) return;
+
+ item->setText( 0, name );
+ mCurrentItem->addressee().removeCategory( oldName );
+ mCurrentItem->addressee().insertCategory( name );
+}
+
+void MainWindow::removeCategory()
+{
+ if ( !mCurrentItem ) return;
+
+ QListViewItem *item = mCategoryListView->selectedItem();
+ if( !item ) return;
+
+ mCurrentItem->addressee().removeCategory( item->text( 0 ) );
+ delete item;
+}
+
+
+void MainWindow::editCustom()
+{
+ if ( !mCurrentItem ) return;
+
+ QListViewItem *item = mCustomListView->selectedItem();
+ if( !item ) return;
+
+ QString oldName = item->text( 0 ) + "-" + item->text( 1 ) + ":" +
+ item->text( 2 );
+
+ bool ok = false;
+ QString name = KInputDialog::getText( i18n("New Custom Entry"),
+ i18n("Please enter custom entry.\n"
+ "Format: APP-NAME:VALUE"),
+ oldName, &ok,
+ this );
+ if ( !ok || name.isEmpty() ) return;
+
+ int posDash = name.find( "-" );
+ int posColon = name.find( ":" );
+
+ QString app = name.left( posDash );
+ QString cname = name.mid( posDash + 1, posColon - posDash - 1 );
+ QString value = name.mid( posColon + 1 );
+
+ item->setText( 0, app );
+ item->setText( 1, cname );
+ item->setText( 2, value );
+
+ mCurrentItem->addressee().removeCustom( app, cname );
+ mCurrentItem->addressee().insertCustom( app, cname, value );
+}
+
+void MainWindow::newCustom()
+{
+ if ( !mCurrentItem ) return;
+
+ bool ok = false;
+ QString name = KInputDialog::getText( i18n("New Custom Entry"),
+ i18n("Please enter custom entry.\n"
+ "Format: APP-NAME:VALUE"),
+ QString::null, &ok,
+ this );
+ if ( !ok || name.isEmpty() ) return;
+
+ int posDash = name.find( "-" );
+ int posColon = name.find( ":" );
+
+ QString app = name.left( posDash );
+ QString cname = name.mid( posDash + 1, posColon - posDash - 1 );
+ QString value = name.mid( posColon + 1 );
+
+ new QListViewItem( mCustomListView, app, cname, value );
+
+ mCurrentItem->addressee().insertCustom( app, cname, value );
+}
+
+void MainWindow::removeCustom()
+{
+ if ( !mCurrentItem ) return;
+
+ QListViewItem *item = mCustomListView->selectedItem();
+ if( !item ) return;
+
+ mCurrentItem->addressee().removeCustom( item->text( 0 ), item->text( 1 ) );
+ delete item;
+}
+
+void MainWindow::addressBookChanged()
+{
+ QMessageBox::warning( this, i18n("Address Book Changed"),
+ i18n("The address book has changed on disk."),
+ i18n("Reload") );
+ loadAddressBook( "dummy" );
+}
+
+void MainWindow::addressBookLocked()
+{
+ kdDebug() << "AddressBook locked()" << endl;
+}
+
+void MainWindow::addressBookUnlocked()
+{
+ kdDebug() << "AddressBook unlocked()" << endl;
+}
+
+
+void MainWindow::fileOpenStd()
+{
+ loadAddressBook( StdAddressBook::fileName() );
+}