应该完成了
This commit is contained in:
@ -2,9 +2,11 @@
|
||||
|
||||
#include <QSvgRenderer>
|
||||
#include <QPainter>
|
||||
#include <ctime>
|
||||
#include "applicationmanager.h"
|
||||
#include "config.h"
|
||||
|
||||
#include "mainscreen.h"
|
||||
#include "mainwindowlayout.h"
|
||||
ApplicationManagerPage::ApplicationManagerPage(int category, ApplicationManager *application_manager,QWidget *parent)
|
||||
: QWidget(parent)
|
||||
{
|
||||
@ -47,8 +49,12 @@ ApplicationManagerPage::ApplicationManagerPage(int category, ApplicationManager
|
||||
date += QString::number(1 + time->tm_mon, 10);
|
||||
date += "/";
|
||||
date += QString::number(time->tm_mday, 10);
|
||||
if (software.use_time == 0) {
|
||||
date.clear();
|
||||
}
|
||||
table->setItem(i, 4, new QTableWidgetItem(date));
|
||||
Record2 record2;
|
||||
record2.name = software.name;
|
||||
record2.icon = new QSvgWidget;
|
||||
QFile file(software.logo);
|
||||
if(file.exists())
|
||||
@ -65,7 +71,7 @@ ApplicationManagerPage::ApplicationManagerPage(int category, ApplicationManager
|
||||
record2.settings->setMaximumSize(60, 40);
|
||||
connect(record2.settings, &MiniButton::click0, record2.settings, &MiniButton::onclick2);
|
||||
connect(record2.settings, &MiniButton::click2, application_manager, &ApplicationManager::onclick2);
|
||||
record2.open = new MiniButton(software.orig_name, "open");
|
||||
record2.open = new MiniButton(software.orig_name,software.op);
|
||||
record2.open->setText(QString::fromLocal8Bit("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>"));
|
||||
record2.open->setMaximumSize(60, 40);
|
||||
connect(record2.open, &MiniButton::click0, record2.open, &MiniButton::onclick2);
|
||||
@ -73,13 +79,16 @@ ApplicationManagerPage::ApplicationManagerPage(int category, ApplicationManager
|
||||
record2.exe_file = software.path;
|
||||
record2.orig_name = software.orig_name;
|
||||
record2.url = software.url;
|
||||
record2.op = software.op;
|
||||
record2.func = software.func;
|
||||
connect(this, &ApplicationManagerPage::onclick3, (MainWindowLayout*)((MainScreen*)application_manager->parent)->parent, &MainWindowLayout::clickButton);
|
||||
for(int i=0;i<8;i++)
|
||||
{
|
||||
record2.categories[i] = false;
|
||||
}
|
||||
for(int i=0;i<8;i++)
|
||||
{
|
||||
if (software.category_id.contains(QString::number(i)))
|
||||
if (software.category_id.contains(QString::number(i+1)))
|
||||
{
|
||||
record2.categories[i] = true;
|
||||
}
|
||||
@ -129,12 +138,12 @@ void ApplicationManagerPage::onclicked()
|
||||
{
|
||||
for(int i=0;i<table->rowCount();i++)
|
||||
{
|
||||
if(((QCheckBox *)table->cellWidget(i,4))->checkState()==Qt::Checked)
|
||||
if(((QCheckBox *)table->cellWidget(i,5))->checkState()==Qt::Checked)
|
||||
{
|
||||
if(!checked[table->item(i,1)->text()])
|
||||
if(!checked[table->item(i,2)->text()])
|
||||
{
|
||||
QString orig_name = table->item(i, 1)->text();
|
||||
bool ok=sqlite_helper.edit_software(table->item(i, 0)->text(), orig_name, rows[orig_name].exe_file, QString::number(rows[orig_name].sort), rows[orig_name].categories,"navbar");
|
||||
QString orig_name = table->item(i, 2)->text();
|
||||
bool ok=sqlite_helper.edit_software(table->item(i, 1)->text(), orig_name, rows[orig_name].exe_file, QString::number(rows[orig_name].sort), rows[orig_name].categories,"navbar");
|
||||
if(!ok)
|
||||
{
|
||||
QMessageBox::critical(this, QString::fromLocal8Bit("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>"), QString::fromLocal8Bit("<EFBFBD><EFBFBD><EFBFBD>²<EFBFBD><EFBFBD>ֻ<EFBFBD>ȫ<EFBFBD><EFBFBD>ʧ<EFBFBD><EFBFBD>"));
|
||||
@ -143,10 +152,10 @@ void ApplicationManagerPage::onclicked()
|
||||
}
|
||||
}else
|
||||
{
|
||||
if (checked[table->item(i, 1)->text()])
|
||||
if (checked[table->item(i, 2)->text()])
|
||||
{
|
||||
QString orig_name = table->item(i, 1)->text();
|
||||
bool ok = sqlite_helper.edit_software(table->item(i, 0)->text(), orig_name, rows[orig_name].exe_file, QString::number(rows[orig_name].sort), rows[orig_name].categories, "app");
|
||||
QString orig_name = table->item(i, 2)->text();
|
||||
bool ok = sqlite_helper.edit_software(table->item(i, 1)->text(), orig_name, rows[orig_name].exe_file, QString::number(rows[orig_name].sort), rows[orig_name].categories, "app");
|
||||
if (!ok)
|
||||
{
|
||||
QMessageBox::critical(this, QString::fromLocal8Bit("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>"), QString::fromLocal8Bit("<EFBFBD><EFBFBD><EFBFBD>²<EFBFBD><EFBFBD>ֻ<EFBFBD>ȫ<EFBFBD><EFBFBD>ʧ<EFBFBD><EFBFBD>"));
|
||||
@ -179,19 +188,35 @@ void ApplicationManagerPage::refresh()
|
||||
for (auto software : softwares)
|
||||
{
|
||||
table->insertRow(i);
|
||||
table->setItem(i, 0, new QTableWidgetItem(software.name));
|
||||
table->setItem(i, 1, new QTableWidgetItem(software.orig_name));
|
||||
table->setItem(i, 2, new QTableWidgetItem(software.dev));
|
||||
|
||||
table->setItem(i, 1, new QTableWidgetItem(software.name));
|
||||
table->setItem(i, 2, new QTableWidgetItem(software.orig_name));
|
||||
table->setItem(i, 3, new QTableWidgetItem(software.dev));
|
||||
QString date;
|
||||
std::tm* time;
|
||||
time = std::localtime(&software.use_time);
|
||||
date = QString::number(1900 + time->tm_year, 10);
|
||||
date += "/";
|
||||
date += QString::number(1 + time->tm_mon, 10);
|
||||
date += "/";
|
||||
date += QString::number(time->tm_mday, 10);
|
||||
table->setItem(i, 3, new QTableWidgetItem(date));
|
||||
if(software.use_time!=0)
|
||||
{
|
||||
time = std::localtime(&software.use_time);
|
||||
date = QString::number(1900 + time->tm_year, 10);
|
||||
date += "/";
|
||||
date += QString::number(1 + time->tm_mon, 10);
|
||||
date += "/";
|
||||
date += QString::number(time->tm_mday, 10);
|
||||
table->setItem(i, 4, new QTableWidgetItem(date));
|
||||
}
|
||||
Record2 record2;
|
||||
record2.name = software.name;
|
||||
record2.icon = new QSvgWidget;
|
||||
QFile file(software.logo);
|
||||
if (file.exists())
|
||||
{
|
||||
record2.icon->load(software.logo);
|
||||
}
|
||||
else {
|
||||
record2.icon->load(QApplication::applicationDirPath() + DEFAULT_IMAGE);
|
||||
}
|
||||
record2.icon->setMaximumSize(80, 80);
|
||||
table->setCellWidget(i, 0, record2.icon);
|
||||
record2.settings = new MiniButton(software.orig_name, "settings");
|
||||
record2.settings->setText(QString::fromLocal8Bit("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>"));
|
||||
record2.settings->setMaximumSize(60, 40);
|
||||
@ -199,17 +224,19 @@ void ApplicationManagerPage::refresh()
|
||||
connect(record2.settings, &MiniButton::click2, application_manager, &ApplicationManager::onclick2);
|
||||
record2.open = new MiniButton(software.orig_name, "open");
|
||||
record2.open->setText(QString::fromLocal8Bit("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>"));
|
||||
record2.open->setMaximumSize(60, 40); connect(record2.open, &MiniButton::click0, record2.open, &MiniButton::onclick2);
|
||||
record2.open->setMaximumSize(60, 40);
|
||||
connect(record2.open, &MiniButton::click0, record2.open, &MiniButton::onclick2);
|
||||
connect(record2.open, &MiniButton::click2, application_manager, &ApplicationManager::onclick2);
|
||||
record2.exe_file = software.path;
|
||||
record2.orig_name = software.orig_name;
|
||||
record2.url = software.url;
|
||||
for (int i = 0; i < 8; i++)
|
||||
{
|
||||
record2.categories[i] = false;
|
||||
}
|
||||
for (int i = 0; i < 8; i++)
|
||||
{
|
||||
if (software.category_id.contains(QString::number(i)))
|
||||
if (software.category_id.contains(QString::number(i+1)))
|
||||
{
|
||||
record2.categories[i] = true;
|
||||
}
|
||||
@ -227,12 +254,18 @@ void ApplicationManagerPage::refresh()
|
||||
checked.insert(software.orig_name, false);
|
||||
}
|
||||
connect(record2.check_box, &QCheckBox::clicked, this, &ApplicationManagerPage::onclicked);
|
||||
table->setCellWidget(i, 4, record2.check_box);
|
||||
table->setCellWidget(i, 5, record2.settings);
|
||||
QTableWidgetItem* check_box_item = new QTableWidgetItem;
|
||||
table->setItem(i, 5, check_box_item);
|
||||
table->setCellWidget(i, 5, record2.check_box);
|
||||
check_box_item->setTextAlignment(Qt::AlignCenter);
|
||||
table->setCellWidget(i, 6, record2.settings);
|
||||
//table->item(i, 5)->setTextAlignment(Qt::AlignCenter);
|
||||
table->setCellWidget(i, 6, record2.open);
|
||||
table->setCellWidget(i, 7, record2.open);
|
||||
//table->item(i, 6)->setTextAlignment(Qt::AlignCenter);
|
||||
rows.insert(software.orig_name, record2);
|
||||
table->resizeColumnToContents(0);
|
||||
//table->item(i, 0)->setTextAlignment(Qt::AlignCenter);
|
||||
//table->verticalHeader()->setSectionResizeMode(i, QHeaderView::ResizeToContents);
|
||||
i++;
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user