summaryrefslogtreecommitdiffstats
path: root/kopete/kopete/contactlist/kopetelviprops.h
blob: ac28d7fd5c58c788d53f41e400a0ca04dfe0e2a3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
/*
    kopetelviprops.h

    Kopete Contactlist Properties GUI for Groups and MetaContacts

    Copyright (c) 2002-2003 by Stefan Gehn            <metz AT gehn.net>
    Kopete    (c) 2002-2003 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 KOPETELVIPROPS_H
#define KOPETELVIPROPS_H

#include <kdialogbase.h>
#include <tdeabc/sound.h>

#include "kopetemetacontact.h"

#include "kopetegvipropswidget.h"
#include "kopetemetalvipropswidget.h"

class TQButtonGroup;

class AddressBookLinkWidget;
class CustomNotificationProps;
class KPushButton;
class KopeteGroupViewItem;
class KopeteMetaContactLVI;
class KopeteAddressBookExport;
class KURLRequester;

namespace TDEABC { class Addressee; }
namespace Kopete { class Contact; }

class KopeteGVIProps: public KDialogBase
{
	TQ_OBJECT
  

	public:
		KopeteGVIProps(KopeteGroupViewItem *gvi, TQWidget *parent, const char *name=0L);
		~KopeteGVIProps();

	private:
		CustomNotificationProps * mNotificationProps;
		KopeteGVIPropsWidget *mainWidget;
		KopeteGroupViewItem *item;
		bool m_dirty;

	private slots:
		void slotOkClicked();
		void slotUseCustomIconsToggled(bool on);
		void slotIconChanged();
};


class KopeteMetaLVIProps: public KDialogBase
{
	TQ_OBJECT
  

	public:
		KopeteMetaLVIProps(KopeteMetaContactLVI *gvi, TQWidget *parent, const char *name=0L);
		~KopeteMetaLVIProps();

	private:
		CustomNotificationProps * mNotificationProps;
		TQPushButton *mFromKABC;
		KopeteMetaLVIPropsWidget *mainWidget;
		AddressBookLinkWidget *linkWidget;
		KopeteMetaContactLVI *item;
		KopeteAddressBookExport *mExport;
		TDEABC::Sound mSound;
		int m_countPhotoCapable;
		TQMap<int, Kopete::Contact *> m_withPhotoContacts;
		TQString mAddressBookUid; // the currently selected addressbook UID
		
		Kopete::MetaContact::PropertySource selectedNameSource() const;
		Kopete::MetaContact::PropertySource selectedPhotoSource() const;
		Kopete::Contact* selectedNameSourceContact() const;
		Kopete::Contact* selectedPhotoSourceContact() const;
	private slots:
		void slotOkClicked();
		void slotUseCustomIconsToggled( bool on );
		void slotClearPhotoClicked();
		void slotAddresseeChanged( const TDEABC::Addressee & );
		void slotExportClicked();
		void slotImportClicked();
		void slotFromKABCClicked();
		void slotOpenSoundDialog( KURLRequester *requester );
		void slotLoadNameSources();
		void slotLoadPhotoSources();
		void slotEnableAndDisableWidgets();
};

#endif