⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tables.cpp

📁 qgo-1.5.4-r3.tar.gz linux下一个很好玩的游戏
💻 CPP
📖 第 1 页 / 共 2 页
字号:
		myAccount->num_players++;		statusUsers->setText(" P: " + QString::number(myAccount->num_players) + " / " + QString::number(myAccount->num_watchedplayers) + " ");				//if (!cmdplayers)		//	ListView_players->sort() ;	}	else	{		// {... has disconnected}		bool found = false;		for (QListViewItem *lvi; (lvi = lv.current()) && !found;)		{			lv++;			// compare names			if (lvi->text(1) == p->name)			{				// check if it was a watched player				if (lvi->text(6) == "W")				{					qgoif->get_qgo()->playLeaveSound();					myAccount->num_watchedplayers--;				}				lv++;				if (lvi == topViewItem)     // are we trying to delete the 'anchor' of the list viewport ?					deleted_topViewItem = true  ;				delete lvi;				found = true;;				// decrease number of players				myAccount->num_players--;				statusUsers->setText(" P: " + QString::number(myAccount->num_players) + " / " + QString::number(myAccount->num_watchedplayers) + " ");			}		}		if (!found)			qWarning("disconnected player not found: " + p->name);	}	if (! deleted_topViewItem) //don't try to refer to a deleted element ...	{		int ip = topViewItem->itemPos();		ListView_players->setContentsPos(0,ip);	}}void ClientWindow::slot_addToObservationList(int flag){	if (flag == -1)	{		if (myAccount->num_observedgames != 0)			myAccount->num_observedgames--;	}	else if (flag == -2)		myAccount->num_observedgames++;	else		myAccount->num_observedgames = flag;	// update status bar	statusGames->setText(" G: " + QString::number(myAccount->num_games) + " / " + QString::number(myAccount->num_observedgames) + " ");}// get channelinfo: ch nr + peoplevoid ClientWindow::slot_channelinfo(int nr, const QString &txt){	qDebug("slot_channelinfo(): " + txt);	QString tipstring;	Channel *h;	Channel *ch = 0;	// check if entering a channel	if (txt == QString("*on*"))	{		switch (myAccount->get_gsname())		{			case IGS:				sendcommand("channel");				break;			default:				sendcommand("inchannel " + QString::number(nr), false);				break;		}		return;	}	else if (txt == QString("*off*"))	{		// check if channel exists in list		bool found = false;		for (h = channellist.first(); h != 0 && !found; h = channellist.next())		{			// compare numbers			if (h->get_nr() == nr)			{				found = true;				channellist.remove();			}		}	}	// check if I'm in given channel	bool flag_add;	if (txt.contains(myAccount->acc_name) && !txt.contains("Topic:") && !txt.contains("Title:"))		flag_add = true;	else		flag_add = false;	// delete string	statusChannel->setText("");	// check if channel exists in list	bool found = false;	for (h = channellist.first(); h != 0 && !found; h = channellist.next())	{		// compare numbers		if (h->get_nr() == nr)		{			found = true;			ch = h;		}	}	// if not found insert channel at it's sorted position	if (!found)	{		// init channel		ch = new Channel(nr);		channellist.inSort(ch);	}	// now insert channel to list	if (flag_add)	{		QString text = txt.simplifyWhiteSpace();		int count = text.contains(" ") + 1;		// set user list and user count		ch->set_channel(nr, QString(), txt, count);	}	else if (txt.contains("Topic:") || txt.contains("Title:"))	{		// set channel's title		ch->set_channel(nr, txt);	}	// reset tooltip	QToolTip::remove(statusChannel);	// set new tooltip	for (h = channellist.first(); h != 0; h = channellist.next())	{		if (h->get_users().length() > 2)		{			// check if users are available; skipped if only title			if (tipstring)				tipstring += "\n";			tipstring += QString("%1: %2\n%3: %4").arg(h->get_nr()).arg(h->get_title()).arg(h->get_nr()).arg(h->get_users());			if (statusChannel->text().length() > 2)				statusChannel->setText(QString("%1 / CH%2:%3").arg(statusChannel->text()).arg(h->get_nr()).arg(h->get_count()));			else				statusChannel->setText(QString("CH%1:%2").arg(h->get_nr()).arg(h->get_count()));		}	}	QToolTip::add(statusChannel, tipstring);}// user buttonsvoid ClientWindow::slot_pbuser1(){	slot_toolbaractivated(setting->readEntry("USER1_2"));}void ClientWindow::slot_pbuser2(){	slot_toolbaractivated(setting->readEntry("USER2_2"));}void ClientWindow::slot_pbuser3(){	slot_toolbaractivated(setting->readEntry("USER3_2"));}void ClientWindow::slot_pbuser4(){	slot_toolbaractivated(setting->readEntry("USER4_2"));}// tell, say, kibitz...void ClientWindow::slot_message(QString txt, QColor c){	//QColor c0 = MultiLineEdit2->color();	MultiLineEdit2->setColor(c);	slot_message( txt);	MultiLineEdit2->setColor(Qt::black);}  void ClientWindow::slot_message(QString txt){	// Scroll at bottom of text, set cursor to end of line	if (MultiLineEdit2->text().endsWith("\n") && txt == "\n")		return ;    	MultiLineEdit2->append(txt);}// shout...void ClientWindow::slot_shout(const QString &player, const QString &txt){	if (getPlayerExcludeListEntry(player) == "X")		return;	// check if send to a special handle:	if (player.length() && player.contains('*'))		slot_talk(player, txt, true);	else		slot_talk("Shouts*", txt, true);}// server name foundvoid ClientWindow::slot_svname(GSName &gs){	// save local at 'gsname'	// and change caption	myAccount->set_gsname(gs);	myAccount->set_caption();}// account name foundvoid ClientWindow::slot_accname(QString &name){	// save local at 'gsname'	// and change caption	myAccount->set_accname(name);	myAccount->set_caption();}// status foundvoid ClientWindow::slot_status(Status s){	myAccount->set_status(s);	myAccount->set_caption();}// correct viewportvoid ClientWindow::slot_playerContentsMoving(int /*x*/, int /*y*/){/*	QPoint p(0,0);	QListViewItem *i = ListView_players->itemAt(p);	if (i)	{		ListView_players->clearSelection();		ListView_players->setSelected(i, true);		ListView_players->clearSelection();	}                         */}// correct viewportvoid ClientWindow::slot_gamesContentsMoving(int /*x*/, int /*y*/){	QPoint p(0,0);	QListViewItem *i = ListView_games->itemAt(p);	if (i)	{		ListView_games->clearSelection();		ListView_games->setSelected(i, true);		ListView_games->clearSelection();	}}/* *   account & caption */Account::Account(QWidget* parent){	// init	this->parent = parent;	standard.sprintf(PACKAGE + QString("V") + VERSION);	set_offline();}Account::~Account(){}// set captionvoid Account::set_caption(){	if ((gsName == GS_UNKNOWN) ||		  (!acc_name))	{		// server unknown or no account name		// -> standard caption		parent->setCaption(standard);	}  else	{		if (status == GUEST)			parent->setCaption(svname + " - " + acc_name + " (guest)");		else			parent->setCaption(svname + " - " + acc_name);	}}// set go server namevoid Account::set_gsname(GSName gs){	gsName = gs;	// now we know which server	switch (gsName)	{		case IGS: svname.sprintf("IGS");			break;		case NNGS: svname.sprintf("NNGS");			break;		case LGS: svname.sprintf("LGS");			break;		case WING: svname.sprintf("WING");			break;		case CTN: svname.sprintf("CTN");			break;		case CWS: svname.sprintf("CWS");			break;		default: svname.sprintf("unknown Server");			break;	}	// set account name	if (!acc_name)	{		// acc_name should be set...		acc_name.sprintf("Lulu");		qWarning("set_gsname() - acc_name not found!");	}		if (status == OFFLINE)		status = (enum Status) REGISTERED;}// set account namevoid Account::set_accname(QString &name){	acc_name = name;}// set statusvoid Account::set_status(Status s){	status = s;}// set to offline modevoid Account::set_offline(){	gsName = GS_UNKNOWN;	svname = (QString) NULL;	acc_name = (QString) NULL;	status = OFFLINE;	set_caption();	num_players = 0;	num_watchedplayers = 0;	num_observedgames = 0;	num_games = 0;}// get some variablesStatus Account::get_status(){	return status;}GSName Account::get_gsname(){	return gsName;}/* *   Host - Class to save Host info */Host::Host(const QString &title, const QString &host, const unsigned int port, const QString &login, const QString &pass, const QString &cod){	t = title;	h = host;	pt = port;	lg = login;	pw = pass;	cdc = cod;}/* *   List to help keeping things sorted */int HostList::compareItems(Item d1, Item d2){	Host *s1 = static_cast<Host*>(d1);	Host *s2 = static_cast<Host*>(d2);	CHECK_PTR(s1);	CHECK_PTR(s2);	if (s1 > s2)		return 1;	else if (s1 < s2)		return -1;	else		// s1 == s2;		return 0;}int ChannelList::compareItems(Item d1, Item d2){	Channel *s1 = static_cast<Channel*>(d1);	Channel *s2 = static_cast<Channel*>(d2);	CHECK_PTR(s1);	CHECK_PTR(s2);	if (s1 > s2)		return 1;	else if (s1 < s2)		return -1;	else		// s1 == s2;		return 0;}/* *   Talk - Class to handle  Talk Dialog Windows */int Talk::counter = 0;Talk::Talk(const QString &playername, QWidget * /* parent */, bool isplayer)	: TalkGui(){	name = playername;	// create a new tab	QString s = "MultiLineEdit1_" + QString::number(++counter);	MultiLineEdit1->setName(s.ascii()) ;  	MultiLineEdit1->setCurrentFont(setting->fontComments); 	s = "LineEdit1_" + QString::number(++counter);	LineEdit1->setName(s.ascii());	LineEdit1->setFont(setting->fontComments);	// do not add a button for shouts* or channels tab	if ( (name.find('*') != -1) || (!isplayer))	{		delete pb_releaseTalkTab;		delete pb_match;		delete stats_layout;	}	}Talk::~Talk(){}// release current Tabvoid Talk::slot_pbRelTab(){	emit signal_pbRelOneTab(this);	}void Talk::slot_returnPressed(){	// read tab	QString txt = LineEdit1->text();	emit signal_talkto(name, txt);	LineEdit1->clear();}void Talk::slot_match(){  QString txt= name+ " " + stats_rating->text();	emit signal_matchrequest(txt,true);}// write to txt field in dialog// if null string -> check edit fieldvoid Talk::write(const QString &text) const{	QString txt;	// check which text to display	if (text)		// ok, text given		txt = text;	else if (LineEdit1->text())	{		// take txt of edit field		txt = LineEdit1->text();		LineEdit1->clear();	}	else	{		// no text found...		return;	}	// Scroll at bottom of text, set cursor to end of line	MultiLineEdit1->append(txt); //eb16}void Talk::setTalkWindowColor(QPalette pal){	MultiLineEdit1->setPalette(pal);	LineEdit1->setPalette(pal);}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -