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

📄 playertable.cpp

📁 qgo-1.5.4-r3.tar.gz linux下一个很好玩的游戏
💻 CPP
字号:
/* *   playertable.cpp */#include "playertable.h"#include "misc.h"#include "setting.h"#include <qheader.h>#include <qvariant.h>#include <qwhatsthis.h>#include <qevent.h>#include <qlistview.h>PlayerTable::PlayerTable(QWidget *parent, const char *name, bool /*modal*/, WFlags fl)	: QListView(parent, name, fl){	addColumn(QObject::tr("Stat", "PlayerTable: status [X!SQ]"));	addColumn(QObject::tr("Name", "PlayerTable: player's name"));	addColumn(QObject::tr("Rk", "PlayerTable: rank"));	addColumn(QObject::tr("pl", "PlayerTable: playing in game"));	addColumn(QObject::tr("ob", "PlayerTable: observing game"));	addColumn(QObject::tr("Idle", "PlayerTable: idle time"));	addColumn("X");	setColumnAlignment(3, AlignRight);	setColumnAlignment(4, AlignRight);	setColumnAlignment(5, AlignRight);	setColumnAlignment(6, AlignRight);	setProperty( "focusPolicy", (int)QListView::NoFocus );	setProperty( "resizePolicy", (int)QListView::AutoOneFit );	// set sorting order for players by rank	setSorting(2);	setAllColumnsShowFocus(true);}void PlayerTable::showOpen(bool show){	QListViewItemIterator lv(this);		for (; lv.current() ;lv++)	{		// player is not open or is playing a match		if ((lv.current()->text(0).contains('X')) || (!lv.current()->text(3).contains('-')))			lv.current()->setVisible(!show);			}}/* *   PlayerTableItem */PlayerTableItem::PlayerTableItem(PlayerTable *parent, const char* name)	: QListViewItem(parent, name)  {;}PlayerTableItem::PlayerTableItem(PlayerTableItem *parent, const char* name)	: QListViewItem(parent, name)  {;}PlayerTableItem::PlayerTableItem(PlayerTable *parent, QString label1, QString label2,                QString label3, QString label4, QString label5,                QString label6, QString label7, QString label8,				QString label9, QString label10, QString label11, QString label12, QString label13)	: QListViewItem(parent, label1, label2, label3, label4, label5, label6, label7, label8){	open = label1.contains('X') == 0;	if (label7)	{		watched = label7[0] == 'W';		its_me = label7[0] == 'M';		exclude = label7[0] == 'X';	}	else	{		watched = false;		its_me = false;		exclude = false;	}	seeking = false;		// QListViewItem only supports up to 8 labels, check for the rest	if (label9)	{		setText(8, label9);		if (label10)		{			setText(9, label10);			if (label11)			{				setText(10, label11);				if (label12)				{					setText(11, label12);					if (label13)					{						setText(12, label13);					}				}			}		}	}}PlayerTableItem::~PlayerTableItem(){}void PlayerTableItem::paintCell( QPainter *p, const QColorGroup &cg, int column, int width, int alignment ){	QColorGroup _cg( cg );	if (itemPos() % (2*height()))		_cg.setColor(QColorGroup::Base, setting->colorAltBackground);//QColor::QColor(242,242,242,QColor::Rgb));//cg.color(QColorGroup::Midlight));//QColor::QColor("AliceBlue"));   	if (its_me)		_cg.setColor(QColorGroup::Text, Qt::blue);	else if (watched)		_cg.setColor(QColorGroup::Text, Qt::darkGreen);	else if (!open)		_cg.setColor(QColorGroup::Text, Qt::gray);	else if (exclude)		_cg.setColor(QColorGroup::Text, Qt::red);	else if (seeking)		_cg.setColor(QColorGroup::Text, Qt::magenta);	QListViewItem::paintCell(p, _cg, column, width, alignment);}void PlayerTableItem::ownRepaint(){	open = text(0).contains('X') == 0;	if (text(6))	{		watched = text(6).at(0) == 'W';		its_me = text(6).at(0) == 'M';		exclude = text(6).at(0) == 'X';	}	else	{		watched = false;		its_me = false;		exclude = false;	}}int PlayerTableItem::compare(  QListViewItem *p, int col, bool ascending ) const{	if (col == 2)		return  text(12).compare( p->text(12) );	return  QListViewItem::compare( p, col , ascending );}void PlayerTableItem::set_nmatchSettings(Player *p){	nmatch = p->nmatch;	nmatch_black = 		p->nmatch_black ;	nmatch_white = 		p->nmatch_white;	nmatch_nigiri = 	p->nmatch_nigiri ;	nmatch_handicapMin = 	p->nmatch_handicapMin;	nmatch_handicapMax  = 	p->nmatch_handicapMax;	nmatch_timeMin = 	p->nmatch_timeMin;	nmatch_timeMax  = 	p->nmatch_timeMax;	nmatch_BYMin = 		p->nmatch_BYMin;	nmatch_BYMax = 		p->nmatch_BYMax;	nmatch_stonesMin = 	p->nmatch_stonesMin;	nmatch_stonesMax = 	p->nmatch_stonesMax;	nmatch_KoryoMin = 	p->nmatch_KoryoMin;	nmatch_KoryoMax = 	p->nmatch_KoryoMax ;	nmatch_settings =  !(p->nmatch_settings == "No match conditions");}

⌨️ 快捷键说明

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