qTox
Version: nightly | Commit: bc751c8e1cac455f9690654fcfe0f560d2d7dfdd
src
widget
friendwidget.h
Go to the documentation of this file.
1
/*
2
Copyright © 2019 by The qTox Project Contributors
3
4
This file is part of qTox, a Qt-based graphical interface for Tox.
5
6
qTox is libre software: you can redistribute it and/or modify
7
it under the terms of the GNU General Public License as published by
8
the Free Software Foundation, either version 3 of the License, or
9
(at your option) any later version.
10
11
qTox is distributed in the hope that it will be useful,
12
but WITHOUT ANY WARRANTY; without even the implied warranty of
13
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
GNU General Public License for more details.
15
16
You should have received a copy of the GNU General Public License
17
along with qTox. If not, see <http://www.gnu.org/licenses/>.
18
*/
19
20
#pragma once
21
22
#include "
genericchatroomwidget.h
"
23
#include "
src/core/toxpk.h
"
24
#include "
src/model/friendlist/ifriendlistitem.h
"
25
26
#include <memory>
27
28
class
FriendChatroom
;
29
class
QPixmap;
30
class
MaskablePixmapWidget
;
31
class
CircleWidget
;
32
33
class
FriendWidget
:
public
GenericChatroomWidget
,
public
IFriendListItem
34
{
35
Q_OBJECT
36
public
:
37
FriendWidget
(std::shared_ptr<FriendChatroom> chatform,
bool
compact
);
38
39
void
contextMenuEvent
(QContextMenuEvent* event)
final
;
40
void
setAsActiveChatroom
()
final
;
41
void
setAsInactiveChatroom
()
final
;
42
void
updateStatusLight
()
final
;
43
void
resetEventFlags
()
final
;
44
QString
getStatusString
()
const
final
;
45
const
Friend
*
getFriend
()
const
final
;
46
const
Contact
*
getContact
()
const
final
;
47
48
bool
isFriend
()
const
final
;
49
bool
isGroup
()
const
final
;
50
bool
isOnline
()
const
final
;
51
bool
widgetIsVisible
()
const
final
;
52
QString
getNameItem
()
const
final
;
53
QDateTime
getLastActivity
()
const
final
;
54
int
getCircleId
()
const
final
;
55
QWidget*
getWidget
()
final
;
56
void
setWidgetVisible
(
bool
visible)
final
;
57
58
signals:
59
void
friendWidgetClicked
(
FriendWidget
* widget);
60
void
removeFriend
(
const
ToxPk
& friendPk);
61
void
copyFriendIdToClipboard
(
const
ToxPk
& friendPk);
62
void
contextMenuCalled
(QContextMenuEvent* event);
63
void
friendHistoryRemoved
();
64
void
updateFriendActivity
(
Friend
& frnd);
65
66
public
slots:
67
void
onAvatarSet
(
const
ToxPk
& friendPk,
const
QPixmap& pic);
68
void
onAvatarRemoved
(
const
ToxPk
& friendPk);
69
void
onContextMenuCalled
(QContextMenuEvent* event);
70
void
setActive
(
bool
active
);
71
72
protected
:
73
void
mousePressEvent
(QMouseEvent* ev)
override
;
74
void
mouseMoveEvent
(QMouseEvent* ev)
override
;
75
void
setFriendAlias
();
76
77
private
slots:
78
void
removeChatWindow
();
79
void
moveToNewCircle
();
80
void
removeFromCircle
();
81
void
moveToCircle
(
int
circleId);
82
void
changeAutoAccept
(
bool
enable);
83
void
showDetails
();
84
85
public
:
86
std::shared_ptr<FriendChatroom>
chatroom
;
87
bool
isDefaultAvatar
;
88
};
FriendWidget::getWidget
QWidget * getWidget() final
Definition:
friendwidget.cpp:389
FriendWidget::onAvatarSet
void onAvatarSet(const ToxPk &friendPk, const QPixmap &pic)
Definition:
friendwidget.cpp:409
FriendWidget::widgetIsVisible
bool widgetIsVisible() const final
Definition:
friendwidget.cpp:373
GenericChatItemWidget::compact
bool compact
Definition:
genericchatitemwidget.h:47
FriendWidget::friendHistoryRemoved
void friendHistoryRemoved()
FriendWidget::getLastActivity
QDateTime getLastActivity() const final
Definition:
friendwidget.cpp:383
genericchatroomwidget.h
FriendWidget::resetEventFlags
void resetEventFlags() final
Definition:
friendwidget.cpp:404
FriendWidget::moveToCircle
void moveToCircle(int circleId)
Definition:
friendwidget.cpp:244
FriendWidget::isGroup
bool isGroup() const final
Definition:
friendwidget.cpp:362
FriendWidget::moveToNewCircle
void moveToNewCircle()
Definition:
friendwidget.cpp:203
FriendWidget::setAsInactiveChatroom
void setAsInactiveChatroom() final
Definition:
friendwidget.cpp:294
FriendWidget::setActive
void setActive(bool active)
Definition:
friendwidget.cpp:299
IFriendListItem
Definition:
ifriendlistitem.h:26
FriendWidget::onContextMenuCalled
void onContextMenuCalled(QContextMenuEvent *event)
FriendWidget::onContextMenuCalled.
Definition:
friendwidget.cpp:96
FriendWidget::onAvatarRemoved
void onAvatarRemoved(const ToxPk &friendPk)
Definition:
friendwidget.cpp:420
FriendWidget::changeAutoAccept
void changeAutoAccept(bool enable)
Definition:
friendwidget.cpp:266
FriendWidget::removeChatWindow
void removeChatWindow()
Definition:
friendwidget.cpp:184
toxpk.h
FriendWidget::getContact
const Contact * getContact() const final
Definition:
friendwidget.cpp:352
FriendWidget::isFriend
bool isFriend() const final
Definition:
friendwidget.cpp:357
FriendWidget::mousePressEvent
void mousePressEvent(QMouseEvent *ev) override
Definition:
friendwidget.cpp:433
FriendWidget::updateFriendActivity
void updateFriendActivity(Friend &frnd)
FriendWidget::removeFriend
void removeFriend(const ToxPk &friendPk)
ifriendlistitem.h
MaskablePixmapWidget
Definition:
maskablepixmapwidget.h:24
FriendWidget::getCircleId
int getCircleId() const final
Definition:
friendwidget.cpp:399
ToxPk
This class represents a Tox Public Key, which is a part of Tox ID.
Definition:
toxpk.h:26
Contact
Definition:
contact.h:26
Friend
Definition:
friend.h:31
FriendWidget::mouseMoveEvent
void mouseMoveEvent(QMouseEvent *ev) override
Definition:
friendwidget.cpp:442
FriendWidget::getFriend
const Friend * getFriend() const final
Definition:
friendwidget.cpp:347
FriendWidget::getStatusString
QString getStatusString() const final
Definition:
friendwidget.cpp:329
FriendWidget::copyFriendIdToClipboard
void copyFriendIdToClipboard(const ToxPk &friendPk)
FriendWidget::isDefaultAvatar
bool isDefaultAvatar
Definition:
friendwidget.h:87
FriendWidget::showDetails
void showDetails()
Definition:
friendwidget.cpp:279
FriendWidget::setAsActiveChatroom
void setAsActiveChatroom() final
Definition:
friendwidget.cpp:289
FriendWidget::updateStatusLight
void updateStatusLight() final
Definition:
friendwidget.cpp:309
FriendWidget::setWidgetVisible
void setWidgetVisible(bool visible) final
Definition:
friendwidget.cpp:394
FriendWidget::contextMenuCalled
void contextMenuCalled(QContextMenuEvent *event)
FriendWidget::contextMenuEvent
void contextMenuEvent(QContextMenuEvent *event) final
FriendWidget::contextMenuEvent.
Definition:
friendwidget.cpp:85
FriendWidget::friendWidgetClicked
void friendWidgetClicked(FriendWidget *widget)
CircleWidget
Definition:
circlewidget.h:27
GenericChatroomWidget::active
bool active
Definition:
genericchatroomwidget.h:85
FriendWidget::FriendWidget
FriendWidget(std::shared_ptr< FriendChatroom > chatform, bool compact)
Definition:
friendwidget.cpp:59
FriendWidget::removeFromCircle
void removeFromCircle()
Definition:
friendwidget.cpp:224
GenericChatroomWidget
Definition:
genericchatroomwidget.h:32
FriendWidget::getNameItem
QString getNameItem() const final
Definition:
friendwidget.cpp:378
FriendWidget::isOnline
bool isOnline() const final
Definition:
friendwidget.cpp:367
FriendWidget::chatroom
std::shared_ptr< FriendChatroom > chatroom
Definition:
friendwidget.h:86
FriendWidget
Definition:
friendwidget.h:33
FriendWidget::setFriendAlias
void setFriendAlias()
FriendChatroom
Definition:
friendchatroom.h:45
Generated by
1.8.17