📄 qnewgamedlg.cpp
字号:
/*************************************************************************** qnewgamedlg.cpp - description ------------------- begin : Thu Dec 20 2001 copyright : (C) 2001 by PALM Thomas , DINTILHAC Florian, HIVERT Anthony, PIOC Sebastien email : ***************************************************************************//*************************************************************************** * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * * the Free Software Foundation; either version 2 of the License, or * * (at your option) any later version. * * * ***************************************************************************/#include "qnewgamedlg.h"#include "defines.h"#include "setting.h"#include "komispinbox.h"#include <qmessagebox.h>#include <stdio.h>#include <qfiledialog.h>/* * Constructs a QNewGameDlg which is a child of 'parent', with the * name 'name' and widget flags set to 'f' * * The dialog will by default be modeless, unless you set 'modal' to * TRUE to construct a mod#include "komispinbox.h"al dialog. *///QNewGameDlg::QNewGameDlg( QWidget* parent, const char* name, bool modal, WFlags fl )// : QDialog( parent, name, modal, fl )QNewGameDlg::QNewGameDlg( QWidget* parent, const char* name) : QNewGameDlgGui( parent, name, true ){ init();// initDialog(); // signals and slots connections connect( _BlackTypeComboBox, SIGNAL( activated(int) ), this, SLOT( slotPlayerBlackTypeChanged() ) ); connect( _WhiteTypeComboBox, SIGNAL( activated(int) ), this, SLOT( slotPlayerWhiteTypeChanged() ) ); connect( _WhitePlayerLineEdit, SIGNAL( textChanged(const QString&) ), this, SLOT( slotPlayerWhiteNameChanged() ) ); connect( _BlackPlayerLineEdit, SIGNAL( textChanged(const QString&) ), this, SLOT( slotPlayerBlackNameChanged() ) ); connect( _SizeSpinBox, SIGNAL( valueChanged(int) ), this, SLOT( slotGobanSizeChanged() ) );// connect( komiSpin, SIGNAL( valueChanged() ), this, SLOT( slotKomiChanged() ) ); connect( _HandicapSpinBox, SIGNAL( valueChanged(int) ), this, SLOT( slotHandicapChanged() ) );// connect( _TimeSpinBox, SIGNAL( valueChanged(int) ), this, SLOT( slotTimeChanged() ) ); connect( _WhiteLevelSpinBox, SIGNAL( valueChanged(int) ), this, SLOT( slotLevelWhiteChanged() ) ); connect( _BlackLevelSpinBox, SIGNAL( valueChanged(int) ), this, SLOT( slotLevelBlackChanged() ) ); connect( _OkPushButton, SIGNAL( clicked() ), this, SLOT( slotOk() ) ); connect( _CancelPushButton, SIGNAL( clicked() ), this, SLOT( slotCancel() ) ); connect( _oneColorGoCheckbox, SIGNAL( clicked() ), this, SLOT( slotOneColorGoClicked() ) );}/* * Destroys the object and frees any allocated resources */QNewGameDlg::~QNewGameDlg(){ // no need to delete child widgets, Qt does it all for us}void QNewGameDlg::slotCancel(){ QDialog::reject();}void QNewGameDlg::slotOk(){ if (getPlayerBlackName().simplifyWhiteSpace().isEmpty()) _playerBlackName = getPlayerBlackType() == HUMAN ? tr("Human") : tr("Computer"); if (getPlayerWhiteName().simplifyWhiteSpace().isEmpty()) _playerWhiteName = getPlayerWhiteType() == HUMAN ? tr("Human") : tr("Computer"); if (_handicap == 1) { QMessageBox msg(tr("Error"),tr("You entered an invalid Handicap (1 is not legal)"), QMessageBox::Warning, QMessageBox::Ok | QMessageBox::Default, QMessageBox::NoButton, QMessageBox::NoButton); msg.exec(); QDialog::reject(); } else QDialog::accept();}void QNewGameDlg::slotGobanSizeChanged(){ _size=_SizeSpinBox->text().toInt();}void QNewGameDlg::slotHandicapChanged(){ _handicap=_HandicapSpinBox->text().toInt();}void QNewGameDlg::slotKomiChanged(){ _komi=(float)komiSpin->value() / 10.0;}void QNewGameDlg::slotLevelBlackChanged(){ _levelBlack=_BlackLevelSpinBox->text().toInt();}void QNewGameDlg::slotLevelWhiteChanged(){ _levelWhite=_WhiteLevelSpinBox->text().toInt();}void QNewGameDlg::slotPlayerBlackNameChanged(){ _playerBlackName=_BlackPlayerLineEdit->text();}void QNewGameDlg::slotPlayerBlackTypeChanged(){ _playerBlackType=_BlackTypeComboBox->currentItem(); if (_BlackTypeComboBox->currentItem()==HUMAN) _BlackLevelSpinBox->setDisabled(true); else _BlackLevelSpinBox->setEnabled(true);}void QNewGameDlg::slotPlayerWhiteNameChanged(){ _playerWhiteName=_WhitePlayerLineEdit->text();}void QNewGameDlg::slotPlayerWhiteTypeChanged(){ _playerWhiteType=_WhiteTypeComboBox->currentItem(); if (_WhiteTypeComboBox->currentItem()==HUMAN) _WhiteLevelSpinBox->setDisabled(true); else _WhiteLevelSpinBox->setEnabled(true);}void QNewGameDlg::slotTimeChanged(){// _time=_TimeSpinBox->text().toInt();}void QNewGameDlg::slotOneColorGoClicked(){ _oneColorGo = _oneColorGoCheckbox->isChecked();}int QNewGameDlg::getSize(){ return _size;}int QNewGameDlg::getHandicap(){ return _handicap;}bool QNewGameDlg::getOneColorGo(){ return _oneColorGo;}float QNewGameDlg::getKomi(){ return (float)komiSpin->value() / 10.0;//_komi;}int QNewGameDlg::getLevelBlack(){ return _levelBlack;}int QNewGameDlg::getLevelWhite(){ return _levelWhite;}QString QNewGameDlg::getPlayerBlackName(){ return _playerBlackName;}QString QNewGameDlg::getPlayerWhiteName(){ return _playerWhiteName;}int QNewGameDlg::getPlayerBlackType(){ return _playerBlackType;}int QNewGameDlg::getPlayerWhiteType(){ return _playerWhiteType;}int QNewGameDlg::getTime(){ return _time;}void QNewGameDlg::init(){ _size = setting->readIntEntry("COMPUTER_SIZE") ;//Gothic::size; _komi = 5.5 ;//Gothic::komi; _handicap = setting->readIntEntry("COMPUTER_HANDICAP") ;//Gothic::handicap; _playerBlackType = (setting->readBoolEntry("COMPUTER_BLACK") ? COMPUTER : HUMAN); //Gothic::blackType; _playerWhiteType = (setting->readBoolEntry("COMPUTER_WHITE") ? COMPUTER : HUMAN); //Gothic::whiteType; _levelBlack = 10; //Gothic::levelBlack; _levelWhite = 10; //Gothic::levelWhite; _playerBlackName = "";//Gothic::playerBlackName; _playerWhiteName = "";//Gothic::playerWhiteName; _time = 0;//Gothic::time; _oneColorGo = false; _WhiteTypeComboBox->insertItem(tr("Human")); _WhiteTypeComboBox->insertItem(tr("Computer")); _WhiteTypeComboBox->setCurrentItem(_playerWhiteType); _BlackTypeComboBox->insertItem(tr("Human")); _BlackTypeComboBox->insertItem(tr("Computer")); _BlackTypeComboBox->setCurrentItem(_playerBlackType); _SizeSpinBox->setValue(_size); _HandicapSpinBox->setValue(_handicap); slotPlayerWhiteTypeChanged(); slotPlayerBlackTypeChanged();}void QNewGameDlg::slotGetFileName(){ QString getFileName(QFileDialog::getOpenFileName("",//setting->readEntry("LAST_DIR"), tr("SGF Files (*.sgf);;MGT Files (*.mgt);;XML Files (*.xml);;All Files (*)"), this)); if (getFileName.isEmpty()) return; _LineEdit_GameToLoad->setText(getFileName); fileName = getFileName;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -