-
Notifications
You must be signed in to change notification settings - Fork 0
/
serverlistbox.cpp
64 lines (56 loc) · 1.52 KB
/
serverlistbox.cpp
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
#include "serverlistbox.h"
#include "serveraddbox.h"
#include "ui_serverlistbox.h"
#include "enviroment.h"
#include "tcp.h"
#include "switcher.h"
#include "music.h"
#include <QDebug>
#include <QRegExp>
ServerListBox::ServerListBox(QWidget *parent) :
QWidget(parent),
ui(new Ui::ServerListBox)
{
ui->setupUi(this);
connect(ui->serverList,&QListWidget::itemClicked,[=](QListWidgetItem* item){
ui->label->setText(item->text());
});
//connect(client,SIGNAL(findServer(QString,QString)),this,SLOT(addIP(QString,QString)));
}
void ServerListBox::clear(){
items.clear();
}
ServerListBox::~ServerListBox()
{
delete ui;
}
void ServerListBox::addIP(QString ip,QString name){
QListWidgetItem *item = new QListWidgetItem;
item->setText(ip);
items.push_back(item);
//qDebug()<<"items tot: "<<items.size();
ui->serverList->insertItem(items.size(),item);
ui->serverList->setCurrentItem(item);
qDebug()<<"added";
}
void ServerListBox::on_addServer_clicked()
{
music->playMusic("menuclick");
ServerAddBox *addBox = new ServerAddBox;
connect(addBox,&ServerAddBox::finished,[=](QString ip){
if (checkIP(ip)){
addIP(ip,"");
emit ui->serverList->itemClicked(items[items.size()-1]);
}else{
ui->label->setText("ip地址不合法");
}
});
addBox->show();
}
void ServerListBox::on_joinGame_clicked()
{
music->playMusic("menuclick");
tcp->connectToIP(ui->label->text());
//switcher->showInterface("game");
hide();
}