historyshow.cpp

来自「QT写的自动更新程序 自认为不错 请大家参考」· C++ 代码 · 共 77 行

CPP
77
字号
#include "historyshow.h"
#include "IClientCenter.h"
#include "../UpdateXmlPlist.h"
#include <QtGui>
#include <QtCore>
#include <QStandardItemModel>

HistoryShow::HistoryShow(QWidget *parent)
	: QDialog(parent)
{
	ui.setupUi(this);

	//初始化数据
	QTreeView* pTree = ui.treeHistory;

	//列表
	QStandardItemModel* pStdItemModel = new QStandardItemModel();
	pStdItemModel->clear();
	pStdItemModel->setHorizontalHeaderLabels(QStringList() << tr("name") << tr("date") << tr("soft"));
	QSortFilterProxyModel* pmodelSortFilterProxy = new QSortFilterProxyModel();
	pmodelSortFilterProxy->setDynamicSortFilter(true);
	pmodelSortFilterProxy->setSourceModel(pStdItemModel);
	pTree->setRootIsDecorated(false);
	pTree->setAlternatingRowColors(true);
	pTree->setModel(pmodelSortFilterProxy);
	pTree->setSortingEnabled(true);
	pTree->sortByColumn(2, Qt::AscendingOrder);

	CUpdateXmlPlistTree* pData = (CUpdateXmlPlistTree*)getUpdateXmlPlistClientTree();
	//遍历已安装的所有补丁
	CUpdateXmlPlistTree::TIterEachSoftware iterSoft = pData->begin();
	while (iterSoft != pData->end())
	{
		CUpdateXmlPlistTree::EachSoftUpdate::TIterEachPack iterPack = iterSoft->second.begin();
		while (iterPack != iterSoft->second.end())
		{
			CUpdatePack* pPack = &*iterPack;
			//显示

			if (pPack->isValid())
			{
				QList<QStandardItem*> columns;
				QStandardItem* name = new QStandardItem(pPack->name);
				name->setEditable(false);

				QString datestr = QString::number(pPack->publishTime);
				QStandardItem* date = new QStandardItem(datestr);
				QString dateyear, datemonth, dateday;
				date->setText(datestr);
				datestr.remove(dateyear = datestr.left(4));
				datestr.remove(datemonth = datestr.left(2));
				datestr.remove(dateday = datestr.left(2));
				date->setData(QDate(dateyear.toInt(), datemonth.toInt(), dateday.toInt()));
				date->setEditable(false);

				//QStandardItem* size = new QStandardItem(pPack->packSize);
				//size->setEditable(false);

				QStandardItem* softname = new QStandardItem(pPack->softname);
				softname->setEditable(false);

				columns << name << date /*<< size*/ << softname;
				pStdItemModel->appendRow(columns);
			}

			++iterPack;
		}

		++iterSoft;
	}
}

HistoryShow::~HistoryShow()
{

}

⌨️ 快捷键说明

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