亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? qgo.cpp

?? qgo-1.5.4-r3.tar.gz linux下一個很好玩的游戲
?? CPP
字號:
/** qgo.cpp*/#include "qgo.h"#include "helpviewer.h"#include "board.h"#include "mainwindow.h"#include "setting.h"#include "config.h"#include <qmessagebox.h>#include <qsound.h>#include <qdir.h>#include <qmessagebox.h>#include <qlineedit.h>#include "searchpath.h"#ifdef Q_OS_MACX#include <CoreFoundation/CFString.h>#include <CoreFoundation/CFBundle.h>#endif //Q_OS_MACXqGo::qGo() : QObject(){	boardList = new QPtrList<MainWindow>;	boardList->setAutoDelete(false);	helpViewer = NULL;	clickSound = NULL;	talkSound = NULL;	matchSound = NULL;	passSound = NULL;	gameEndSound = NULL;	timeSound = NULL;	saySound = NULL;	enterSound = NULL;	leaveSound = NULL;	connectSound = NULL;}qGo::~qGo(){	boardList->clear();	delete boardList;		delete helpViewer;	delete clickSound;	//	settings = 0;	boardList = 0;	helpViewer = 0;}void qGo::quit(){	emit signal_leave_qgo();	int check;	if ((check = checkModified()) == 1 ||		(!check &&		!QMessageBox::warning(0, PACKAGE,		tr("At least one board is modified.\n"		"If you exit the application now, all changes will be lost!"		"\nExit anyway?"),		tr("Yes"), tr("No"), QString::null,		1, 0)))	{		//	qApp->quit();		qDebug("Program quits now...");	}		//    emit signal_leave_qgo();}MainWindow* qGo::addBoardWindow(MainWindow *w){	if (w == NULL)	{		qWarning("*** BOARD HAS NO PARENT");		w = new MainWindow(0, PACKAGE);		w->getInterfaceHandler()->toggleMode();		w->getInterfaceHandler()->toggleMode();	}	w->show();	boardList->append(w);		return w;}void qGo::removeBoardWindow(MainWindow *w){	if (w == NULL)	{		qWarning("qGo::removeBoardWindow(QWidget *w) - paramter w is 0!");		return;	}		if (!boardList->removeRef(w))		qWarning("Failed to remove board from list.");}void qGo::openManual(){	if (helpViewer == NULL)		helpViewer = new HelpViewer(0, "helpviewer");	helpViewer->show();	helpViewer->raise();}int qGo::checkModified(){	// Just closed the last board?	if (boardList->isEmpty())		return 1;		// One board, same as closing a single window	if (boardList->count() == 1)		return ((MainWindow*)(boardList->first()))->checkModified(true);    	// Several boards. Check if one is modified.	QWidget *b;	for (b=boardList->first(); b != 0; b=boardList->next())		if (!((MainWindow*)b)->checkModified(false))			return 0;			return 1;}void qGo::updateAllBoardSettings(){	for (QWidget *w=boardList->first(); w != 0; w=boardList->next())		((MainWindow*)w)->updateBoard();}void qGo::updateFont(){	for (QWidget *w=boardList->first(); w != 0; w=boardList->next())		((MainWindow*)w)->updateFont();	emit signal_updateFont();}QSound * qGo::retrieveSound(const char * filename, SearchPath& sp){  	QFile qfile(filename);  	QFile * foundFile = sp.findFile(qfile);	QString msg(filename);  	if (! foundFile) 	{    		QString msg(filename);    		msg.append(" not found");    		qDebug(msg);    		return (QSound *) NULL;  	}	else 	{		msg.append(" found : " + foundFile->name());		qDebug(msg);    		return new QSound(foundFile->name());  	}}bool qGo::testSound(bool showmsg){	// qDebug("qGo::testSound()");		// Sound system supported?	if (!QSound::available())	{		if (showmsg)		{#ifdef Q_WS_WIN			QMessageBox::information(0, PACKAGE, tr("No sound available."));			clickSound = NULL;			return false;#elif defined (Q_OS_MACX) 			QMessageBox::information(0, PACKAGE, tr("No sound available. Qt on Mac uses QuickTime sound."));#else			QMessageBox::information(0, PACKAGE, tr("You are not running the Network Audio system.\n"				"If you have the `au' command, run it in the background before this program. The latest release of the Network Audio System can be obtained from:\n\n"				"ftp.ncd.com:/pub/ncd/technology/src/nas\n"				"ftp.x.org:/contrib/audio/nas\n\n"				"Release 1.2 of NAS is also included with the X11R6 contrib distribution. After installing NAS, you will then need to reconfigure Qt with NAS sound support.\n\n"				"Nevertheless, if you have oss, sound should be working and directed to /dev/dsp"));#endif		}	}	else if (showmsg)	{		QMessageBox::information(0, PACKAGE, tr("Sound available."));		return true;	}		//    qDebug("Sound available, checking for sound files...");	// Sound files found?	QStringList list;	ASSERT(setting->program_dir);#ifdef Q_WS_WIN	list << applicationPath + "/sounds"		<< setting->program_dir + "/sounds"		<< "C:/Program Files/qGo/sounds"		<< "D:/Program Files/qGo/sounds"		<< "E:/Program Files/qGo/sounds"		<< "C:/Programme/qGo/sounds"		<< "D:/Programme/qGo/sounds"		<< "E:/Programme/qGo/sounds"		<< "./sounds";#elif defined(Q_OS_MACX)	//get the bundle path and find our resources like sounds	CFURLRef bundleRef = CFBundleCopyBundleURL(CFBundleGetMainBundle());	CFStringRef bundlePath = CFURLCopyFileSystemPath(bundleRef, kCFURLPOSIXPathStyle);	list << (QString)CFStringGetCStringPtr(bundlePath, CFStringGetSystemEncoding())				+ "/Contents/Resources";#else	// BUG 1165950 -- it may be better to use binreloc rather than	// DATADIR	list << DATADIR "/" PACKAGE "/sounds"	     << setting->program_dir + "/sounds"		<< "./share/" PACKAGE "/sounds"		<< "/usr/share/" PACKAGE "/sounds"		<< "/usr/local/share/" PACKAGE "/sounds"		<< "/sounds"		<< "./sounds"		<< "./src/sounds";                           //SL added eb 7	#endif	SearchPath sp;	sp << list;	clickSound   = retrieveSound("stone.wav", sp);	talkSound    = retrieveSound("talk.wav" , sp);	matchSound   = retrieveSound("match.wav" , sp);	passSound    = retrieveSound("pass.wav", sp);	gameEndSound = retrieveSound("gameend.wav" , sp);	timeSound    = retrieveSound("tictoc.wav" , sp);	saySound     = retrieveSound("say.wav" , sp);	enterSound   = retrieveSound("enter.wav", sp);	leaveSound   = retrieveSound("leave.wav" , sp);	connectSound = retrieveSound("connect.wav", sp);#ifdef Q_WS_WIN	if (soundsFound() && !applicationPath) 	{	  QFile qFile = QFile(connectSound->fileName()); // QQQ	  QDir * dir = sp.findDirContainingFile(qFile); // QQQ	  QString s = dir->dirName();	  applicationPath = s.left(s.find("/sounds"));	  // QMessageBox::information(0, "SAVING", applicationPath);	}			#endif	if (soundsFound())	  return true;#ifdef Q_OS_MACX	QMessageBox::information(0, PACKAGE, tr("No sound files in bundle, strange.\n"));#elif ! defined(Q_WS_WIN)	QMessageBox::information(0, PACKAGE, tr("Sound files not found.") + "\n" +		tr("Please check for the directories") + " /usr/local/share/" + PACKAGE + "/sounds/ " + tr("or") +		" /usr/share/" + PACKAGE + "/sounds/, " + tr("depending on your installation."));#else	if (applicationPath = setting->readEntry("PATH_SOUND"))		return testSound(false);	QMessageBox::information(0, PACKAGE, tr("Sound files not found.") + "\n" +			     tr("You can navigate to the main qGo directory (for example:") + " C:\\Program Files\\" + PACKAGE + " .\n" +				 tr("If the directory was given correctly, this data will be saved and you won't"				 "be asked\nanymore except you install qGo again into a different directory.\n"				 "To abort this procedure, click 'Cancel' in the following dialog."));    	applicationPath = QFileDialog::getExistingDirectory(NULL, NULL, "appdir", tr("qGo directory"), true);		if (applicationPath.isNull() || applicationPath.isEmpty())	{		QMessageBox::warning(0, PACKAGE, tr("No valid directory was given. Sound is not available."));		return false;	}	// save path   	setting->writeEntry("PATH_SOUND", applicationPath);	// QMessageBox::information(0, "TRYING AGAIN", applicationPath);	return testSound(false);#endif	return false;}bool qGo::soundsFound(){  // success means all sounds were found  if (clickSound && talkSound && matchSound && passSound      && gameEndSound && timeSound && saySound && enterSound      && leaveSound && connectSound)    return true;  else    return false;}void qGo::playClick(){	if (clickSound) //setting->readBoolEntry("SOUND_STONE") && clickSound)	{                                                                      //added eb 7#ifdef Q_OS_LINUX		if (!clickSound->isAvailable())			play(clickSound->fileName().latin1());		else#endif			clickSound->play();	}                                                                      //end add eb 7}void qGo::playAutoPlayClick(){	if (setting->readBoolEntry("SOUND_AUTOPLAY") && clickSound)	{                                                                      //added eb 7#ifdef Q_OS_LINUX		if (!clickSound->isAvailable())			play(clickSound->fileName().latin1());		else#endif			clickSound->play();	}                                                                      //end add eb 7}void qGo::playTalkSound(){	if (setting->readBoolEntry("SOUND_TALK") && talkSound)	{                                                                      //added eb 7#ifdef Q_OS_LINUX		if (!talkSound->isAvailable())			play(talkSound->fileName().latin1());		else#endif			talkSound->play();	}                                                                      //end add eb 7}void qGo::playMatchSound(){	if (setting->readBoolEntry("SOUND_MATCH") && matchSound)	{                                                                      //added eb 7#ifdef Q_OS_LINUX		if (!matchSound->isAvailable())			play(matchSound->fileName().latin1());		else#endif			matchSound->play();	}                                                                      //end add eb 7}void qGo::playPassSound(){	if (setting->readBoolEntry("SOUND_PASS") && passSound)	{                                                                      //added eb 7#ifdef Q_OS_LINUX		if (!passSound->isAvailable())			play(passSound->fileName().latin1());		else#endif			passSound->play();	}                                                                      //end add eb 7}void qGo::playGameEndSound(){	if (setting->readBoolEntry("SOUND_GAMEEND") && gameEndSound)	{                                                                      //added eb 7#ifdef Q_OS_LINUX		if (!gameEndSound->isAvailable())			play(gameEndSound->fileName().latin1());		else#endif			gameEndSound->play();	}                                                                      //end add eb 7}void qGo::playTimeSound(){	if (setting->readBoolEntry("SOUND_TIME") && timeSound)	{                                                                      //added eb 7#ifdef Q_OS_LINUX		if (!timeSound->isAvailable())			play(timeSound->fileName().latin1());		else#endif			timeSound->play();	}                                                                      //end add eb 7}void qGo::playSaySound(){	if (setting->readBoolEntry("SOUND_SAY") && saySound)	{                                                                      //added eb 7#ifdef Q_OS_LINUX		if (!saySound->isAvailable())			play(saySound->fileName().latin1());		else#endif			saySound->play();	}                                                                      //end add eb 7}void qGo::playEnterSound(){	if (setting->readBoolEntry("SOUND_ENTER") && enterSound)	{                                                                      //added eb 7#ifdef Q_OS_LINUX		if (!enterSound->isAvailable())			play(enterSound->fileName().latin1());		else#endif			enterSound->play();	}                                                                      //end add eb 7}void qGo::playLeaveSound(){	if (setting->readBoolEntry("SOUND_LEAVE") && leaveSound)	{                                                                      //added eb 7#ifdef Q_OS_LINUX		if (!leaveSound->isAvailable())			play(leaveSound->fileName().latin1());		else#endif			leaveSound->play();	}                                                                      //end add eb 7}void qGo::playConnectSound(){	if (setting->readBoolEntry("SOUND_CONNECT") && connectSound)	{                                                                      //added eb 7#ifdef Q_OS_LINUX		if (!connectSound->isAvailable())			play(connectSound->fileName().latin1());		else#endif			connectSound->play();	}                                                                      //end add eb 7}void qGo::playDisConnectSound(){	if (setting->readBoolEntry("SOUND_DISCONNECT") && connectSound)	{                                                                      //added eb 7#ifdef Q_OS_LINUX		if (!connectSound->isAvailable())			play(connectSound->fileName().latin1());		else#endif			connectSound->play();	}                                                                      //end add eb 7}void qGo::slotHelpAbout(){	QString txt = PACKAGE " " VERSION		"\n\nCopyright (c) 2001-2006\nPeter Strempel <pstrempel@t-online.de>\nJohannes Mesa <frosla@gmx.at>\nEmmanuel B閞anger <yfh2@hotmail.com>\n\n" +		tr("GTP code from Goliath, thanks to:") + "\nPALM Thomas\nDINTILHAC Florian\nHIVERT Anthony\nPIOC Sebastien";		QString translation = tr("English translation by:\nPeter Strempel\nJohannes Mesa\nEmmanuel Beranger", "Please set your own language and your name! Use your own language!");	//if (translation != "English translation by:\nPeter Strempel\nJohannes Mesa\nEmmanuel B閞anger")		txt += "\n\n" + translation;		QMessageBox::about(0, tr("About..."), txt);}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品二三区| 91国产免费看| 色综合欧美在线| 欧美色爱综合网| 亚洲精品一区二区三区福利| 欧美国产欧美亚州国产日韩mv天天看完整| 亚洲欧美另类久久久精品| 日韩精品色哟哟| 欧美经典一区二区| 成人免费在线视频| 一区二区三区加勒比av| 亚洲一区二区三区四区在线观看| 亚洲成a人v欧美综合天堂下载| 夜夜嗨av一区二区三区| 午夜精品一区二区三区免费视频| 日韩精品欧美精品| 99国产精品久| 7777精品伊人久久久大香线蕉| 久久网站热最新地址| 国产欧美日韩视频一区二区| 夜夜操天天操亚洲| 国产美女主播视频一区| 欧亚洲嫩模精品一区三区| 亚洲国产精品成人综合| 1024亚洲合集| 国产精品影视网| 懂色av一区二区夜夜嗨| 韩国一区二区三区| 欧美精品乱码久久久久久按摩| 一区二区中文字幕在线| 欧亚洲嫩模精品一区三区| 香蕉成人啪国产精品视频综合网| 国产精品毛片大码女人| 免费观看一级特黄欧美大片| 一本久久精品一区二区 | 国产精品国产三级国产| 全国精品久久少妇| 色综合久久久久久久| 国产精品一区二区在线观看不卡 | 日韩午夜激情av| 日日摸夜夜添夜夜添亚洲女人| 国产一区二区导航在线播放| 欧美性大战久久久久久久 | 亚洲成av人综合在线观看| 欧美三级电影网站| 午夜激情一区二区| 亚洲精品美国一| 成人免费视频网站在线观看| 日韩视频中午一区| 日韩中文字幕1| 欧美视频一区二区三区| 亚洲免费观看高清完整版在线观看 | 捆绑调教一区二区三区| 欧美猛男gaygay网站| 一区二区三区精品在线观看| 粉嫩高潮美女一区二区三区| 久久综合给合久久狠狠狠97色69| 美女视频黄久久| 日韩一级片在线播放| 日本aⅴ免费视频一区二区三区| 欧美视频中文一区二区三区在线观看| 最新热久久免费视频| 成人av片在线观看| 日本一区二区久久| 成人教育av在线| 中文字幕的久久| 成人综合在线观看| 国产精品久久久久精k8| 丰满白嫩尤物一区二区| 国产日韩欧美亚洲| 国产精品一区二区果冻传媒| 26uuu国产电影一区二区| 精一区二区三区| 欧美成人女星排行榜| 久久99精品久久久久久| 欧美精品一区视频| 国产成人在线视频网址| 国产欧美一区在线| 99久久久久久99| 亚洲激情图片qvod| 欧美亚洲高清一区| 婷婷国产在线综合| 欧美日韩在线三区| 国产又粗又猛又爽又黄91精品| 国产精品久线观看视频| 欧美精品在线一区二区| 99亚偷拍自图区亚洲| 三级精品在线观看| 中文字幕一区二区三区乱码在线| 91美女蜜桃在线| 日韩免费在线观看| 色综合天天视频在线观看| 久久激情五月激情| 亚洲成a人v欧美综合天堂 | 99精品视频一区| 日韩国产在线观看| 一区二区视频在线| 国产精品久久久久精k8| 国产欧美一区二区精品婷婷 | 国产精品欧美综合在线| 精品视频1区2区3区| 国产一区久久久| 亚洲国产一区二区a毛片| 国产欧美日韩在线| 国产精品麻豆欧美日韩ww| 免费在线成人网| 欧美疯狂做受xxxx富婆| 99视频精品免费视频| 一区二区在线观看av| 欧美一级在线视频| 国产999精品久久久久久| 夜夜精品浪潮av一区二区三区| 91精品国产综合久久福利| 国产成人在线视频免费播放| 一级女性全黄久久生活片免费| 日韩一区二区三区精品视频| 成人一区二区三区视频在线观看 | 国产成人精品亚洲午夜麻豆| 亚洲精品免费一二三区| 日韩一二三区不卡| 成人app网站| 亚洲国产精品v| 国产精品黄色在线观看 | 国产精品初高中害羞小美女文| 国产欧美久久久精品影院| 久久久99精品久久| 18欧美亚洲精品| 午夜影视日本亚洲欧洲精品| 日韩成人午夜精品| 日韩激情视频在线观看| 久久国产生活片100| 国产成人av一区二区三区在线观看| 毛片一区二区三区| 69av一区二区三区| 久久99国产精品久久| 精品国产在天天线2019| 丝袜诱惑亚洲看片| 最新高清无码专区| 久久伊人蜜桃av一区二区| 在线观看成人小视频| 丁香婷婷深情五月亚洲| 蜜桃av一区二区三区| 一区二区三区日韩| 国产午夜精品一区二区三区嫩草 | 一区二区久久久久久| 国产欧美一区二区精品性色| 欧美一区二区三区视频免费| 色综合久久久久综合体桃花网| 国产盗摄视频一区二区三区| 日韩电影一二三区| 一区二区三区四区视频精品免费| 久久女同精品一区二区| 91精品国产色综合久久ai换脸| 日韩女优视频免费观看| 欧美日韩一级片在线观看| av亚洲精华国产精华精| 国产成人丝袜美腿| 国产一区二区三区免费观看| 丝袜国产日韩另类美女| 亚洲国产sm捆绑调教视频 | 91亚洲男人天堂| 国产麻豆成人精品| 蜜臂av日日欢夜夜爽一区| 五月婷婷综合在线| 亚洲五码中文字幕| 一区二区在线电影| 亚洲乱码国产乱码精品精小说 | 91丝袜国产在线播放| 懂色av一区二区三区免费观看 | 久久久影院官网| 亚洲精品在线三区| 日韩欧美专区在线| 欧美一区二区日韩| 欧美日韩aaaaa| 欧美日本韩国一区二区三区视频| 欧美视频在线一区二区三区| av中文字幕一区| 成人免费高清视频| 99久久99久久综合| 91网站最新网址| 一本色道久久综合亚洲精品按摩| 99久久99久久精品国产片果冻 | 亚洲成人资源网| 亚洲欧美另类综合偷拍| 亚洲男同1069视频| 亚洲一区二区影院| 天天综合天天综合色| 免费xxxx性欧美18vr| 蜜桃av一区二区在线观看 | 中文字幕一区二区三区在线播放 | 国产一本一道久久香蕉| 国产精品一区二区久久不卡| 国产91在线观看| 色天天综合久久久久综合片| 欧美性xxxxx极品少妇| 欧美伦理影视网| 2024国产精品视频| 国产欧美精品区一区二区三区| 亚洲欧美怡红院| 亚洲大片一区二区三区|