diff options
Diffstat (limited to 'Swift/QtUI/QtRosterHeader.h')
-rw-r--r-- | Swift/QtUI/QtRosterHeader.h | 92 |
1 files changed, 50 insertions, 42 deletions
diff --git a/Swift/QtUI/QtRosterHeader.h b/Swift/QtUI/QtRosterHeader.h index ad19178..8370eb5 100644 --- a/Swift/QtUI/QtRosterHeader.h +++ b/Swift/QtUI/QtRosterHeader.h @@ -1,58 +1,66 @@ /* - * Copyright (c) 2010 Kevin Smith - * Licensed under the GNU General Public License v3. - * See Documentation/Licenses/GPLv3.txt for more information. + * Copyright (c) 2010-2016 Isode Limited. + * All rights reserved. + * See the COPYING file for more information. */ #pragma once -#include <QWidget> +#include <string> + #include <QLabel> #include <QPixmap> #include <QSize> #include <QToolButton> +#include <QWidget> -#include <string> -#include "Swiften/Elements/StatusShow.h" +#include <Swiften/Elements/StatusShow.h> +#include <Swiften/Elements/VCard.h> -#include "QtTextEdit.h" +#include <Swift/Controllers/Roster/ContactRosterItem.h> + +#include <Swift/QtUI/QtTextEdit.h> class QHBoxLayout; namespace Swift { - class QtClickableLabel; - class QtStatusWidget; - class QtNameWidget; - class SettingsProvider; - class StatusCache; - - class QtRosterHeader : public QWidget { - Q_OBJECT - public: - QtRosterHeader(SettingsProvider* settings, StatusCache* statusCache, QWidget* parent = NULL); - void setAvatar(const QString& path); - - void setJID(const QString& jid); - void setNick(const QString& nick); - - void setStatusText(const QString& statusMessage); - void setStatusType(StatusShow::Type type); - void setConnecting(); - void setStreamEncryptionStatus(bool tlsInPlace); - signals: - void onChangeStatusRequest(StatusShow::Type showType, const QString &statusMessage); - void onEditProfileRequest(); - void onShowCertificateInfo(); - - private slots: - void handleChangeStatusRequest(StatusShow::Type type, const QString &statusMessage); - private: - QString name_; - QtClickableLabel* avatarLabel_; - QtNameWidget* nameWidget_; - QtTextEdit* statusEdit_; - QtStatusWidget* statusWidget_; - QToolButton* securityInfoButton_; - static const int avatarSize_; - }; + class QtClickableLabel; + class QtStatusWidget; + class QtNameWidget; + class SettingsProvider; + class StatusCache; + + class QtRosterHeader : public QWidget { + Q_OBJECT + public: + QtRosterHeader(SettingsProvider* settings, StatusCache* statusCache, QWidget* parent = nullptr); + void setAvatar(const QString& path); + + void setJID(const QString& jid); + void setNick(const QString& nick); + void setContactRosterItem(std::shared_ptr<ContactRosterItem> contact); + + void setStatusText(const QString& statusMessage); + void setStatusType(StatusShow::Type type); + void setConnecting(); + void setStreamEncryptionStatus(bool tlsInPlace); + private: + bool event(QEvent* event); + signals: + void onChangeStatusRequest(StatusShow::Type showType, const QString &statusMessage); + void onEditProfileRequest(); + void onShowCertificateInfo(); + + private slots: + void handleChangeStatusRequest(StatusShow::Type type, const QString &statusMessage); + private: + QString name_; + QtClickableLabel* avatarLabel_; + QtNameWidget* nameWidget_; + QtTextEdit* statusEdit_; + QtStatusWidget* statusWidget_; + QToolButton* securityInfoButton_; + static const int avatarSize_; + std::shared_ptr<ContactRosterItem> contact_; + }; } |