summaryrefslogtreecommitdiffstats
blob: 57cc2df8e46354a555e0ec94abef35dca8cde97d (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
/*
 * Copyright (c) 2011 Remko Tronçon
 * Licensed under the GNU General Public License v3.
 * See Documentation/Licenses/GPLv3.txt for more information.
 */

/*
 * Copyright (c) 2012 Tobias Markmann
 * Licensed under the simplified BSD license.
 * See Documentation/Licenses/BSD-simplified.txt for more information.
 */

#pragma once

#include <Swiften/JID/JID.h>

#include <Swift/Controllers/UIInterfaces/ProfileWindow.h>

#include <QWidget>

namespace Ui {
	class QtProfileWindow;
}

namespace Swift {

class QtProfileWindow : public QWidget, public ProfileWindow {
	Q_OBJECT

	public:
		QtProfileWindow();
		virtual ~QtProfileWindow();

		virtual void setJID(const JID& jid);
		virtual void setVCard(VCard::ref vcard);

		virtual void setEnabled(bool b);
		virtual void setProcessing(bool processing);
		virtual void setError(const std::string& error);
		virtual void setEditable(bool b);

		virtual void show();
		virtual void hide();

	private:
		void updateTitle();
		void updateWindowSize();
		virtual void closeEvent(QCloseEvent* event);

	private slots:
		void handleSave();

	private:
		Ui::QtProfileWindow* ui;
		JID jid;
};

}