You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tdenetwork/kopete/kopete/contactlist/kopeteaddrbookexport.h

103 lines
2.9 KiB

/*
kopeteaddrbookexport.h - Kopete Online Status
Logic for exporting data acquired from messaging systems to the
KDE address book
Copyright (c) 2004 by Will Stephenson <lists@stevello.free-online.co.uk>
Kopete (c) 2002-2004 by the Kopete developers <kopete-devel@kde.org>
*************************************************************************
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
*************************************************************************
*/
#ifndef KOPETEADDRBOOKEXPORT_H
#define KOPETEADDRBOOKEXPORT_H
#include <tdeabc/stdaddressbook.h>
#include <tdeabc/addressee.h>
#include "kopetecontactproperty.h"
class AddressBookExportUI;
class KDialogBase;
class TDEListBox;
class KComboBox;
namespace Kopete
{
class Contact;
class MetaContact;
}
class KopeteAddressBookExport : public TQObject
{
public:
KopeteAddressBookExport( TQWidget *parent, Kopete::MetaContact *mc );
~KopeteAddressBookExport();
/**
* Display the dialog
* @return a TQDialog return code
*/
int showDialog();
/**
* Export the data to KABC if changed, omitting any duplicates
*/
void exportData();
protected:
/**
* Initialise the GUI labels with labels from KABC
*/
void initLabels();
/**
* Populate the GUI with data from KABC
*/
void fetchKABCData();
/**
* Populate a listbox with a given type of phone number
*/
void fetchPhoneNumbers( TDEListBox * listBox, int type, uint& counter );
/**
* Populate the GUI with data from IM systems
*/
void fetchIMData();
/**
* Populate a combobox with a contact's IM data
*/
void populateIM( const Kopete::Contact *contact, const TQPixmap &icon,
TQComboBox *combo, const Kopete::ContactPropertyTmpl &property );
/**
* Populate a listbox with a contact's IM data
*/
void populateIM( const Kopete::Contact *contact, const TQPixmap &icon,
TDEListBox *combo, const Kopete::ContactPropertyTmpl &property );
/** Check the selected item is not the first (existing KABC) item, or the same as it */
bool newValue( TQComboBox *combo );
TQStringList newValues( TDEListBox *listBox, uint counter );
// the GUI
TQWidget *mParent;
KDialogBase * mDialog;
TQPixmap mAddrBookIcon;
AddressBookExportUI *mUI;
Kopete::MetaContact *mMetaContact;
KABC::AddressBook *mAddressBook;
KABC::Addressee mAddressee;
// counters tracking the number of KABC values where multiple values are possible in a single key
uint numEmails, numHomePhones, numWorkPhones, numMobilePhones;
};
#endif