void ClientApplication::start() { if (!parseCommandLine()) { QMessageBox::critical(NULL, applicationName(), trUtf8("Error in the command line arguments. Arguments:\n--host <h>\tConnect to the server on host <h>.\n--local\tRun client locally.\n--port <p>\tUse port <p> to connect to the server.")); quit(); return; } if (mode == mUnspecified) { ConnectDialog connectDialog; int code = connectDialog.exec(); if (code == QDialog::Rejected) { quit(); return; } if (connectDialog.local()) { mode = mLocal; } else { mode = mRemote; host = connectDialog.host(); port = connectDialog.port(); } } if (mode == mLocal) { theTrainer.reset(new Trainer()); showMainWindow(); } else { ProxyTrainer *trainer = new ProxyTrainer(); theTrainer.reset(trainer); connect(trainer, SIGNAL(socketConnected()), SLOT(showMainWindow())); connect(trainer, SIGNAL(socketDisconnected()), SLOT(socketDisconnected())); connect(trainer, SIGNAL(socketError(QString)), SLOT(socketError(QString))); trainer->socketConnectToHost(host, port); } }
int runGm(int argc, char *argv[]) { QApplication a(argc, argv); //use utf8 ndstr_set_code(APO_QT_SRC_TEXT_ENCODE); initWorkingPath(); ConnectDialog dlg; _LOAD_XML(editorSetting, CONFIG_FILE_PATH, "utf8", 0); _LOAD_XML(xmlSend, "../cfg/gm_msg.xml", "utf8", 0); //LogicEngineRoot::setSettingFile(CONFIG_FILE_PATH); if (!LogicCompiler::get_Instant()->setConfigFile(CONFIG_FILE_PATH, ND_ENCODE_UTF8)) { QMessageBox::critical(NULL, "Error", "open config file error"); exit(1); } dlg.m_editor_setting = LogicCompiler::get_Instant()->getConfig(); dlg.m_gmCfg = &xmlSend; dlg.LoadClientScript("../data/client_script.bin","../data/cehua_data.dat"); dlg.exec(); ndxml_save_encode(&xmlSend, "../cfg/gm_msg.xml", E_SRC_CODE_UTF_8, E_SRC_CODE_UTF_8); ndxml_destroy(&xmlSend); //WriteLog("...\n connect server end!"); dlg.show(); return a.exec(); }
void Gomoku::on_connectButton_clicked() { ConnectDialog dialog; if (dialog.exec() == QDialog::Accepted) { socket = new QTcpSocket(this); socket->connectToHost(QHostAddress(dialog.getHostIp()), 8888); if (socket->waitForConnected(3000)) { // ui->undoButton->setEnabled(true); ui->quitButton->setEnabled(true); ui->gameboard->playerColor = Qt::white; ui->gameboard->enemyColor = Qt::black; ui->createButton->setEnabled(false); ui->connectButton->setEnabled(false); connect(socket, &QTcpSocket::readyRead, this, &Gomoku::readData); connect(ui->gameboard, &GameBoard::addChess, this, &Gomoku::sendChessInfo); connect(ui->gameboard, &GameBoard::win, this, &Gomoku::sendWin); connect(ui->quitButton, &QPushButton::clicked, this, &Gomoku::requestQuit); connect(ui->undoButton, &QPushButton::clicked, this, &Gomoku::requestUndo); connect(ui->saveButton, &QPushButton::clicked, this, &Gomoku::sendSave); connect(ui->loadButton, &QPushButton::clicked, this, &Gomoku::requestLoad); } else { QMessageBox::warning(this, tr("Error"), tr("Connection failed.")); } } }
QString MainWindow::runConnectionDialog() { QSettings settings; ConnectDialog d; d.url(settings.value("url").toString()); int r = d.exec(); if (r == 0) { return ""; } return d.url(); }
int main(int argc, char *argv[]) { QApplication app(argc,argv); QTranslator qponTranslator; qponTranslator.load("qpon_" + QLocale::system().name()); app.installTranslator(&qponTranslator); ConnectDialog d; d.setWindowIcon(QIcon(":/phone.png")); d.show(); return app.exec(); }
void MainWindow::connectToNetwork() { // Se invoca cuando se presiona el boton Connect. Solicitar los datos de conexion al // usuario usando un dialogo para tal fin ConnectDialog* dialog = new ConnectDialog(this); // Muestra al dialogo en forma modal con el metodo exec(). Es decir, el dialogo reacciona // a eventos, mientras que el mainWindow se mantiene bloqueado. Esto ocurre por invocar al // metodo exec(), el cual impone otro ciclo de eventos que oculta el ciclo de eventos de la // aplicacion. Si se quiere que tanto el dialog como el MainWindow reaccionen a eventos // se invocaria al metodo dialog->show() if ( dialog->exec() ) { // El dialogo fue aceptado. Obtener los datos escritos del usuario y establecer la conexion quint16 port = dialog->getPort().toUInt(); // El establecimiento de la conexion depende de si el usuario marco "Servidor" o "Cliente" if ( dialog->shouldConnectAsServer() ) connectAsServer(port); else connectAsClient(dialog->getHost(), port); } }
void MainWindow::ShowConnectDialog() { const QUrl url("http://autosong.ninjam.com/serverlist.php"); ConnectDialog connectDialog; QSettings settings; QStringList hosts = settings.value("connect/hosts").toStringList(); connectDialog.resize(600, 500); connectDialog.loadServerList(url); connectDialog.setRecentHostsList(hosts); connectDialog.setUser(settings.value("connect/user").toString()); connectDialog.setIsPublicServer(settings.value("connect/public", true).toBool()); if (connectDialog.exec() != QDialog::Accepted) { return; } hosts.prepend(connectDialog.host()); hosts.removeDuplicates(); hosts = hosts.mid(0, 16); /* limit maximum number of elements */ settings.setValue("connect/hosts", hosts); settings.setValue("connect/user", connectDialog.user()); settings.setValue("connect/public", connectDialog.isPublicServer()); QString user = connectDialog.user(); if (connectDialog.isPublicServer()) { user.prepend("anonymous:"); } Connect(connectDialog.host(), user, connectDialog.pass()); }
void Home::openConnectDialog() { ConnectDialog* connectDialog = new ConnectDialog(); this->close(); connectDialog->show(); }