45 GBClayout->setColumnStretch(2, 1); |
45 GBClayout->setColumnStretch(2, 1); |
46 |
46 |
47 BtnNetConnect = new QPushButton(ConnGroupBox); |
47 BtnNetConnect = new QPushButton(ConnGroupBox); |
48 BtnNetConnect->setFont(*font14); |
48 BtnNetConnect->setFont(*font14); |
49 BtnNetConnect->setText(QPushButton::tr("Connect")); |
49 BtnNetConnect->setText(QPushButton::tr("Connect")); |
|
50 BtnNetConnect->setWhatsThis(tr("Connect to the selected server")); |
50 GBClayout->addWidget(BtnNetConnect, 2, 2); |
51 GBClayout->addWidget(BtnNetConnect, 2, 2); |
51 |
52 |
52 tvServersList = new QTableView(ConnGroupBox); |
53 tvServersList = new QTableView(ConnGroupBox); |
53 tvServersList->setSelectionBehavior(QAbstractItemView::SelectRows); |
54 tvServersList->setSelectionBehavior(QAbstractItemView::SelectRows); |
|
55 tvServersList->setSelectionMode(QAbstractItemView::SingleSelection); |
|
56 tvServersList->setShowGrid(false); |
|
57 tvServersList->setAlternatingRowColors(true); |
|
58 tvServersList->verticalHeader()->setVisible(false); |
|
59 |
54 GBClayout->addWidget(tvServersList, 1, 0, 1, 3); |
60 GBClayout->addWidget(tvServersList, 1, 0, 1, 3); |
55 |
61 |
56 BtnUpdateSList = new QPushButton(ConnGroupBox); |
62 BtnUpdateSList = new QPushButton(ConnGroupBox); |
57 BtnUpdateSList->setFont(*font14); |
63 BtnUpdateSList->setFont(*font14); |
58 BtnUpdateSList->setText(QPushButton::tr("Update")); |
64 BtnUpdateSList->setText(QPushButton::tr("Update")); |
|
65 BtnUpdateSList->setWhatsThis(tr("Update the list of servers")); |
59 GBClayout->addWidget(BtnUpdateSList, 2, 0); |
66 GBClayout->addWidget(BtnUpdateSList, 2, 0); |
60 |
67 |
61 BtnSpecifyServer = new QPushButton(ConnGroupBox); |
68 BtnSpecifyServer = new QPushButton(ConnGroupBox); |
62 BtnSpecifyServer->setFont(*font14); |
69 BtnSpecifyServer->setFont(*font14); |
63 BtnSpecifyServer->setText(QPushButton::tr("Specify")); |
70 BtnSpecifyServer->setText(QPushButton::tr("Specify address")); |
|
71 BtnSpecifyServer->setWhatsThis(tr("Specify the address and port number of a known server and connect to it directly")); |
64 GBClayout->addWidget(BtnSpecifyServer, 2, 1); |
72 GBClayout->addWidget(BtnSpecifyServer, 2, 1); |
65 |
73 |
66 return pageLayout; |
74 return pageLayout; |
67 } |
75 } |
68 |
76 |
69 QLayout * PageNet::footerLayoutDefinition() |
77 QLayout * PageNet::footerLayoutDefinition() |
70 { |
78 { |
71 QHBoxLayout * footerLayout = new QHBoxLayout(); |
79 QHBoxLayout * footerLayout = new QHBoxLayout(); |
72 |
80 |
73 BtnNetSvrStart = formattedButton(QPushButton::tr("Start server")); |
81 BtnNetSvrStart = formattedButton(QPushButton::tr("Start server")); |
|
82 BtnNetSvrStart->setWhatsThis(tr("Start private server")); |
74 BtnNetSvrStart->setMinimumSize(180, 50); |
83 BtnNetSvrStart->setMinimumSize(180, 50); |
75 QString serverPath = bindir->absolutePath() + "/hedgewars-server"; |
84 QString serverPath = bindir->absolutePath() + "/hedgewars-server"; |
76 #ifdef Q_OS_WIN |
85 #ifdef Q_OS_WIN |
77 serverPath += + ".exe"; |
86 serverPath += + ".exe"; |
78 #endif |
87 #endif |
98 void PageNet::updateServersList() |
107 void PageNet::updateServersList() |
99 { |
108 { |
100 tvServersList->setModel(new HWNetUdpModel(tvServersList)); |
109 tvServersList->setModel(new HWNetUdpModel(tvServersList)); |
101 |
110 |
102 tvServersList->horizontalHeader()->setSectionResizeMode(0, QHeaderView::Stretch); |
111 tvServersList->horizontalHeader()->setSectionResizeMode(0, QHeaderView::Stretch); |
|
112 tvServersList->horizontalHeader()->setSectionsClickable(false); |
103 |
113 |
104 static_cast<HWNetServersModel *>(tvServersList->model())->updateList(); |
114 static_cast<HWNetServersModel *>(tvServersList->model())->updateList(); |
105 |
115 |
106 connect(BtnUpdateSList, SIGNAL(clicked()), static_cast<HWNetServersModel *>(tvServersList->model()), SLOT(updateList())); |
116 connect(BtnUpdateSList, SIGNAL(clicked()), static_cast<HWNetServersModel *>(tvServersList->model()), SLOT(updateList())); |
107 connect(tvServersList, SIGNAL(doubleClicked(const QModelIndex &)), this, SLOT(slotConnect())); |
117 connect(tvServersList, SIGNAL(doubleClicked(const QModelIndex &)), this, SLOT(slotConnect())); |