Update of /home/kde/kdegames/atlantik/client
In directory office:/tmp/cvs-serv3360
Modified Files:
selectserver_widget.cpp selectserver_widget.h
Log Message:
gui support for adding custom servers (no backend support yet)
Index: selectserver_widget.cpp
===================================================================
RCS file: /home/kde/kdegames/atlantik/client/selectserver_widget.cpp,v
retrieving revision 1.23
retrieving revision 1.24
diff -u -d -r1.23 -r1.24
--- selectserver_widget.cpp 24 Feb 2003 21:16:46 -0000 1.23
+++ selectserver_widget.cpp 6 Mar 2003 13:42:53 -0000 1.24
@@ -19,6 +19,7 @@
#include <kdialog.h>
#include <kextendedsocket.h>
+#include <klineeditdlg.h>
#include <klocale.h>
#include <kiconloader.h>
@@ -30,20 +31,10 @@
Q_CHECK_PTR(m_mainLayout);
QVButtonGroup *bgroup;
-// bgroup = new QVButtonGroup(i18n("Start or select a monopd server"), this, "bgroup");
bgroup = new QVButtonGroup(i18n("Select monopd Server"), this, "bgroup");
bgroup->setExclusive(true);
m_mainLayout->addWidget(bgroup);
- // Button for local games
-// m_localGameButton = new QRadioButton(i18n("Start a local server"), bgroup, "m_localGameButton");
-// connect(m_localGameButton, SIGNAL(stateChanged(int)), this, SLOT(validateConnectButton()));
-
- // Button for on-line games
-// m_onlineGameButton = new QRadioButton(i18n("Select a server to play a game on-line"), bgroup, "m_onlineGameButton");
-// m_localGameButton->setEnabled(true);
-// connect(m_onlineGameButton, SIGNAL(stateChanged(int)), this, SLOT(validateConnectButton()));
-
// List of servers
m_serverList = new KListView(bgroup, "m_serverList");
m_serverList->addColumn(i18n("Host"));
@@ -63,12 +54,19 @@
buttonBox->addItem(new QSpacerItem(20, 20, QSizePolicy::Expanding, QSizePolicy::Minimum));
- m_refreshButton = new KPushButton( KGuiItem(useMonopigatorOnStart ? i18n("Refresh") : i18n("Server List"),
- useMonopigatorOnStart ? "reload" : "network"), this);
+ // Add Server
+ m_addServerButton = new KPushButton( KGuiItem(i18n("Add Server"), "bookmark_add"), this);
+ buttonBox->addWidget(m_addServerButton);
+
+ connect(m_addServerButton, SIGNAL(clicked()), this, SLOT(slotAddServer()));
+
+ // Server List / Refresh
+ m_refreshButton = new KPushButton( KGuiItem(useMonopigatorOnStart ? i18n("Refresh") : i18n("Server List"), useMonopigatorOnStart ? "reload" : "network"), this);
buttonBox->addWidget(m_refreshButton);
connect(m_refreshButton, SIGNAL(clicked()), this, SLOT(slotRefresh()));
+ // Connect
m_connectButton = new KPushButton(BarIcon("forward", KIcon::SizeSmall), i18n("Connect"), this);
m_connectButton->setEnabled(false);
buttonBox->addWidget(m_connectButton);
@@ -188,6 +186,17 @@
checkLocalServer();
if (useMonopigator)
initMonopigator();
+}
+
+void SelectServer::slotAddServer()
+{
+ KLineEditDlg dlg(i18n("Host:"), "", 0);
+ dlg.setCaption(i18n("Add monopd Server"));
+ dlg.enableButtonOK(false); // text is empty by default
+ if (!dlg.exec())
+ return;
+
+ // TODO: add a server entry for dlg.text()
}
void SelectServer::slotConnect()
Index: selectserver_widget.h
===================================================================
RCS file: /home/kde/kdegames/atlantik/client/selectserver_widget.h,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -d -r1.12 -r1.13
--- selectserver_widget.h 9 Jan 2003 01:35:43 -0000 1.12
+++ selectserver_widget.h 6 Mar 2003 13:42:53 -0000 1.13
@@ -52,6 +52,7 @@
private slots:
void slotConnect();
void slotRefresh(bool useMonopigator = true);
+ void slotAddServer();
void slotLocalConnected();
void slotLocalError();
void monopigatorFinished();
@@ -68,7 +69,7 @@
QLabel *status_label;
QRadioButton *m_localGameButton, *m_onlineGameButton;
KListView *m_serverList;
- KPushButton *m_refreshButton, *m_connectButton;
+ KPushButton *m_addServerButton, *m_refreshButton, *m_connectButton;
Monopigator *m_monopigator;
KExtendedSocket *m_localSocket;
bool m_localServerAvailable;
lmpx.com only provides a reader for public news (NNTP) servers. It is not
affiliated with the servers or forums shown here and is not responsible for
the content of articles, which is written by their respective authors.