Floating panel showing an enlarged user card, quick action buttons, and a live scrollable games list.
More...
#include <user_info_popup.h>
|
| | UserInfoPopup (TabSupervisor *tabSupervisor, AbstractClient *client, const QMap< QString, QPixmap > *avatarCache, const QMap< QString, QPixmap > *cardArtCache, const QMap< QString, CardArtParams > *cardArtParamsMap, QWidget *parent) |
| void | showForUser (const QString &userName, const ServerInfo_User &userInfo, bool online, bool isBuddy, bool isIgnored) |
| void | fetchGames () |
| QString | currentUser () const |
| void | updateActionButtons (const ServerInfo_User &userInfo, bool online, bool isBuddy, bool isIgnored) |
Floating panel showing an enlarged user card, quick action buttons, and a live scrollable games list.
Lifecycle (mirrors DeckEditorDeckDockWidget):
- showForUser() — populate, position externally, call show()
- mouseEnteredPopup / mouseLeftPopup — caller manages hide timer
- closeRequested() — emitted by the internal close button
The popup is a Qt::Tool frameless child so windowOpacity animations and move() in screen coordinates work identically to CardInfoPictureEnlargedWidget.
Action signals map 1-to-1 to UserContextMenu::exec*() methods so all action logic stays in one place.
◆ UserInfoPopup()
| UserInfoPopup::UserInfoPopup |
( |
TabSupervisor * | tabSupervisor, |
|
|
AbstractClient * | client, |
|
|
const QMap< QString, QPixmap > * | avatarCache, |
|
|
const QMap< QString, QPixmap > * | cardArtCache, |
|
|
const QMap< QString, CardArtParams > * | cardArtParamsMap, |
|
|
QWidget * | parent ) |
|
explicit |
◆ addBuddyRequested
| void UserInfoPopup::addBuddyRequested |
( |
const QString & | userName | ) |
|
|
signal |
◆ addIgnoreRequested
| void UserInfoPopup::addIgnoreRequested |
( |
const QString & | userName | ) |
|
|
signal |
◆ adminNotesRequested
| void UserInfoPopup::adminNotesRequested |
( |
const QString & | userName | ) |
|
|
signal |
◆ banHistoryRequested
| void UserInfoPopup::banHistoryRequested |
( |
const QString & | userName | ) |
|
|
signal |
◆ banRequested
| void UserInfoPopup::banRequested |
( |
const QString & | userName | ) |
|
|
signal |
◆ buildUi()
| void UserInfoPopup::buildUi |
( |
| ) |
|
|
private |
◆ chatRequested
| void UserInfoPopup::chatRequested |
( |
const QString & | userName | ) |
|
|
signal |
◆ closeRequested
| void UserInfoPopup::closeRequested |
( |
| ) |
|
|
signal |
◆ currentUser()
| QString UserInfoPopup::currentUser |
( |
| ) |
const |
|
inlinenodiscard |
◆ demoteFromJudgeRequested
| void UserInfoPopup::demoteFromJudgeRequested |
( |
const QString & | userName | ) |
|
|
signal |
◆ demoteFromModRequested
| void UserInfoPopup::demoteFromModRequested |
( |
const QString & | userName | ) |
|
|
signal |
◆ detailsRequested
| void UserInfoPopup::detailsRequested |
( |
const QString & | userName | ) |
|
|
signal |
◆ enterEvent()
| void UserInfoPopup::enterEvent |
( |
QEnterEvent * | e | ) |
|
|
overrideprotected |
◆ fetchGames()
| void UserInfoPopup::fetchGames |
( |
| ) |
|
◆ joinGameRequested
| void UserInfoPopup::joinGameRequested |
( |
int | gameId, |
|
|
int | roomId, |
|
|
bool | asSpectator ) |
|
signal |
Emitted when the user requests joining or spectating a game in the list.
◆ leaveEvent()
| void UserInfoPopup::leaveEvent |
( |
QEvent * | e | ) |
|
|
overrideprotected |
◆ mouseEnteredPopup
| void UserInfoPopup::mouseEnteredPopup |
( |
| ) |
|
|
signal |
◆ mouseLeftPopup
| void UserInfoPopup::mouseLeftPopup |
( |
| ) |
|
|
signal |
◆ onGamesContextMenu
| void UserInfoPopup::onGamesContextMenu |
( |
const QPoint & | pos | ) |
|
|
privateslot |
◆ onGamesReceived
| void UserInfoPopup::onGamesReceived |
( |
const Response & | r, |
|
|
const QString & | forUser ) |
|
privateslot |
◆ promoteToJudgeRequested
| void UserInfoPopup::promoteToJudgeRequested |
( |
const QString & | userName | ) |
|
|
signal |
◆ promoteToModRequested
| void UserInfoPopup::promoteToModRequested |
( |
const QString & | userName | ) |
|
|
signal |
◆ rebuildActionButtons()
| void UserInfoPopup::rebuildActionButtons |
( |
const ServerInfo_User & | userInfo, |
|
|
bool | online, |
|
|
bool | isBuddy, |
|
|
bool | isIgnored ) |
|
private |
◆ refreshGames
| void UserInfoPopup::refreshGames |
( |
| ) |
|
|
privateslot |
◆ removeBuddyRequested
| void UserInfoPopup::removeBuddyRequested |
( |
const QString & | userName | ) |
|
|
signal |
◆ removeIgnoreRequested
| void UserInfoPopup::removeIgnoreRequested |
( |
const QString & | userName | ) |
|
|
signal |
◆ showForUser()
| void UserInfoPopup::showForUser |
( |
const QString & | userName, |
|
|
const ServerInfo_User & | userInfo, |
|
|
bool | online, |
|
|
bool | isBuddy, |
|
|
bool | isIgnored ) |
Populate the popup for userName and kick off a game list fetch. Call show() / move() externally after this.
◆ showGamesRequested
| void UserInfoPopup::showGamesRequested |
( |
const QString & | userName | ) |
|
|
signal |
◆ updateActionButtons()
| void UserInfoPopup::updateActionButtons |
( |
const ServerInfo_User & | userInfo, |
|
|
bool | online, |
|
|
bool | isBuddy, |
|
|
bool | isIgnored ) |
Called when buddy/ignore status changes externally while popup is open.
◆ warnHistoryRequested
| void UserInfoPopup::warnHistoryRequested |
( |
const QString & | userName | ) |
|
|
signal |
◆ warnRequested
| void UserInfoPopup::warnRequested |
( |
const QString & | userName | ) |
|
|
signal |
◆ m_actionArea
| QWidget* UserInfoPopup::m_actionArea |
|
private |
◆ m_avatarCache
| const QMap<QString, QPixmap>* UserInfoPopup::m_avatarCache |
|
private |
◆ m_cardArtCache
| const QMap<QString, QPixmap>* UserInfoPopup::m_cardArtCache |
|
private |
◆ m_cardArtParamsMap
| const QMap<QString, CardArtParams>* UserInfoPopup::m_cardArtParamsMap |
|
private |
◆ m_client
◆ m_closeBtn
| QPushButton* UserInfoPopup::m_closeBtn |
|
private |
◆ m_currentOnline
| bool UserInfoPopup::m_currentOnline = false |
|
private |
◆ m_currentUser
| QString UserInfoPopup::m_currentUser |
|
private |
◆ m_currentUserInfo
| ServerInfo_User UserInfoPopup::m_currentUserInfo |
|
private |
◆ m_gamesModel
| QStandardItemModel* UserInfoPopup::m_gamesModel |
|
private |
◆ m_gamesStatus
| QLabel* UserInfoPopup::m_gamesStatus |
|
private |
◆ m_gamesView
| QListView* UserInfoPopup::m_gamesView |
|
private |
◆ m_header
◆ m_refreshBtn
| QPushButton* UserInfoPopup::m_refreshBtn |
|
private |
◆ m_ts
◆ PopupWidth
| int UserInfoPopup::PopupWidth = 316 |
|
staticconstexprprivate |
The documentation for this class was generated from the following files: