-
Notifications
You must be signed in to change notification settings - Fork 6
Expand file tree
/
Copy pathusrinfo.cpp
More file actions
executable file
·81 lines (70 loc) · 1.72 KB
/
usrinfo.cpp
File metadata and controls
executable file
·81 lines (70 loc) · 1.72 KB
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
#include "usrinfo.h"
#include "ui_usrinfo.h"
#include<QDebug>
#include<QSqlQuery>
UsrInfo::UsrInfo(QWidget *parent) :
QWidget(parent),
ui(new Ui::UsrInfo)
{
ui->setupUi(this);
}
QString UsrInfo::getNick()const{
return nick;
}
unsigned int UsrInfo::getId()const{
return id;
}
QString UsrInfo::getMotto()const{
return motto;
}
void UsrInfo::init(MainWindow*mainWin,unsigned int id, QMap<unsigned int, ChatWindow *> *chatWins/*, QString motto*/){
this->mainWin=mainWin;
this->id=id;
this->chatWindows=chatWins;
//设置motto(签名)
QSqlQuery query;
query.prepare("select motto from Account where id=?;");
query.addBindValue(id);
bool ok = query.exec();
if(ok&&query.next()){
this->motto = query.value(0).toString();
}
else{
qDebug()<<"getMotto error!"<<endl;
}
//设置nick(昵称)
query.prepare("select nick from Account where id=?;");
query.addBindValue(id);
ok = query.exec();
if(ok&&query.next()){
this->nick = query.value(0).toString();
}
else{
qDebug()<<"getNick error!"<<endl;
}
QString idText=nick+'('+QString::number(id)+')';//昵称(id号)
ui->idLabel->setText(idText);
ui->mottoLabel->setText(motto);
}
void UsrInfo::updateInfo(){
this->init(mainWin,id,chatWindows);
}
UsrInfo::~UsrInfo()
{
delete ui;
}
void UsrInfo::on_pushButton_clicked()
{
auto&chatWins=*chatWindows;
if(chatWins.find(id)==chatWins.end()){
ChatWindow*p=new ChatWindow(mainWin,mainWin->infoMap[mainWin->getId()],mainWin->infoMap[id],mainWin->getUdpServer());
chatWins[id]=p;
}
ChatWindow*p=chatWins[id];
if(p==nullptr){
return;
}
else{
p->show();
}
}