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

📄 evahistoryviewer.cpp

📁 linux下的eva源代码
💻 CPP
字号:
/*************************************************************************** *   Copyright (C) 2005 by yunfan                                          * *   yunfan_zg@163.com                                                     * *                                                                         * *   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.                                   * *                                                                         * *   This program is distributed in the hope that it will be useful,       * *   but WITHOUT ANY WARRANTY; without even the implied warranty of        * *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         * *   GNU General Public License for more details.                          * *                                                                         * *   You should have received a copy of the GNU General Public License     * *   along with this program; if not, write to the                         * *   Free Software Foundation, Inc.,                                       * *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             * ***************************************************************************/ #include "evahistoryviewer.h"#include <qpushbutton.h>#include <qtable.h>#include <qcheckbox.h>#include <qdatetime.h>#include <qdatetimeedit.h>#include <klocale.h>EvaHistoryViewer::EvaHistoryViewer(const int id, const QString &nickname, EvaUserSetting *userSetting, const bool isQunMsg)	: EvaHistoryUIBase(0,0,Qt::WStyle_Customize | Qt::WStyle_Title | Qt::WStyle_SysMenu | Qt::WStyle_Minimize				| Qt::WStyle_Maximize | Qt::WStyle_NormalBorder | Qt::WDestructiveClose), 	qqNum(id), nick(nickname), setting(userSetting), isQun(isQunMsg){	page = 0;	setCaption(QString(i18n("IM History of %1")).arg(nick));	QObject::connect( chbSelect, SIGNAL( clicked() ), this, SLOT( slotChbSelectClick() ) );	QObject::connect( pbShow, SIGNAL( clicked() ), this, SLOT( slotPbShowClick() ) );	QObject::connect( pbPrev, SIGNAL( clicked() ), this, SLOT( slotPbPrevClick() ) );	QObject::connect( pbNext, SIGNAL( clicked() ), this, SLOT( slotPbNextClick() ) );	QObject::connect(tblDisplay, SIGNAL(doubleClicked( int,int, int, const QPoint &)), 					this, SLOT( slotTblDisplayDoubleClick(int)));		chbSelect->setChecked(false);	deFrom->setEnabled(false);	deTo->setEnabled(false);	pbShow->setEnabled(false);	pbPrev->setEnabled(false);	display();}EvaHistoryViewer::~EvaHistoryViewer(){}void EvaHistoryViewer::display(){	if(chbSelect->isChecked()){		list = setting->getMessages(qqNum, page, QDateTime(deFrom->date()), QDateTime(deTo->date()), isQun);	}else{		list = setting->getMessages(qqNum, page, isQun);	}	int numRows = list.size();	tblDisplay->setNumRows(numRows);	std::list<EvaUserSetting::chatMessage>::iterator iter;	int i=0;	for(iter = list.begin(); iter!=list.end(); iter++){		tblDisplay->setText(i,0, iter->message);		tblDisplay->setText(i,1,iter->sNick);				tblDisplay->setText(i,2, iter->time.toString("yyyy/MM/dd hh:mm:ss"));			tblDisplay->adjustRow(i);			//tblDisplay->adjustRow(numRows-i-1);			i++;	}	tblDisplay->setColumnWidth(0, tblDisplay->width()/2);	tblDisplay->setColumnWidth(1, tblDisplay->width()/4);	tblDisplay->setColumnWidth(2, tblDisplay->width()/4);		}void EvaHistoryViewer::slotChbSelectClick(){	bool enabled = (chbSelect->isChecked())?true:false;	deFrom->setEnabled(enabled);	deTo->setEnabled(enabled);	pbShow->setEnabled(enabled);	page = 0;}void EvaHistoryViewer::slotPbShowClick(){	display();}void EvaHistoryViewer::slotPbPrevClick(){	if(page==0)   return;	pbNext->setEnabled(true);		page--;	display();	if(page==0) {		pbPrev->setEnabled(false);		pbNext->setEnabled(true);	}}void EvaHistoryViewer::slotPbNextClick(){	pbPrev->setEnabled(true);	page++;	display();	if(!list.size()){		pbPrev->setEnabled(true);		pbNext->setEnabled(false);	}}void EvaHistoryViewer::slotTblDisplayDoubleClick(int row){	std::list<EvaUserSetting::chatMessage>::iterator iter;	int i= 0;		for(iter = list.begin(); iter!=list.end(); iter++){		if(i==row)	break;		i++;	}	if(iter == list.end()) return;	emit historyDoubleClicked(iter->sender, iter->sNick, iter->receiver, iter->rNick, iter->type, iter->message, 				iter->time, iter->fontSize,				((iter->flag)&0x01), ((iter->flag)&0x02), ((iter->flag)&0x04),				iter->blue, iter->green, iter->red);}

⌨️ 快捷键说明

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