// -*- C++ -*-
/* addressEditor.h		KPilot
**
** Copyright (C) 1998-2000 by Dan Pilone
**
** This is a dialog window that is used to edit a single address record.
*/

/*
** 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.
**
** This program is distributed in the hope that it will be useful,
** but WITHOUT ANY WARRANTY; without even the implied warranty of
** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
** GNU General Public License for more details.
**
** You should have received a copy of the GNU General Public License
** along with this program in a file called COPYING; if not, write to
** the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
** MA 02110-1301, USA.
*/

/*
** Bug reports and questions can be sent to kde-pim@kde.org
*/

#ifndef _KPILOT_ADDRESSEDITOR_H
#define _KPILOT_ADDRESSEDITOR_H

#include <kdialogbase.h>

#include "pilotAddress.h"

class TQLineEdit;

class AddressEditor : public KDialogBase
{
	Q_OBJECT
  TQ_OBJECT


public:
	AddressEditor(PilotAddress *address,
		PilotAddressInfo *appInfo,
		TQWidget *parent, const char *name=0L);
	~AddressEditor();


signals:
	void recordChangeComplete ( PilotAddress* );

public slots:
	void slotOk();
	void slotCancel();
	void updateRecord(PilotAddress *);

private:
	bool fDeleteOnCancel;

	PilotAddress* fAddress;
	PilotAddressInfo *fAppInfo;
	// entry fields
	TQLineEdit *fCustom4Field;
	TQLineEdit *fCustom3Field;
	TQLineEdit *fCustom2Field;
	TQLineEdit *fCustom1Field;
	TQLineEdit *fCountryField;
	TQLineEdit *fZipField;
	TQLineEdit *fStateField;
	TQLineEdit *fCityField;
	TQLineEdit *fAddressField;
	TQLineEdit *fPhoneField[5];
	TQLineEdit *fCompanyField;
	TQLineEdit *fTitleField;
	TQLineEdit *fFirstNameField;
	TQLineEdit *fLastNameField;
	// phone labels (changing!)
	TQLabel    *m_phoneLabel[5];

	void initLayout();
	void fillFields();
	TQString phoneLabelText(PilotAddress *, const PhoneSlot &i);
};
#endif

