Files
RRJClient/Widgets/updatefileslot.cpp
2026-03-10 14:35:05 +03:00

75 lines
1.7 KiB
C++

#include "updatefileslot.h"
#include "ui_updatefileslot.h"
#include <QDateTime>
UpdateFileSlot::UpdateFileSlot(QWidget *parent) :
QWidget(parent),
ui(new Ui::UpdateFileSlot),
needUpdate(false)
{
ui->setupUi(this);
}
void UpdateFileSlot::fill(QString itemName, FileData serverData, FileData localData)
{
ui->Path->setText(itemName);
local = localData;
QString result = " Сервер: ";
QDateTime serverFileTime = QDateTime::fromString(serverData.lastUpdate,"dd.MM.yyyy hh:mm:ss");
QDateTime localFileTime = QDateTime::fromString(localData.lastUpdate,"dd.MM.yyyy hh:mm:ss");
result.append(serverFileTime.toString("dd.MM.yyyy"));
result.append(" Локально: ");
result.append(localFileTime.toString("dd.MM.yyyy"));
ui->Dates->setText(result);
bool newest = localFileTime > serverFileTime;
ui->UpdateCheckBox->setChecked(newest);
QPixmap pixmap;
if (newest)
{
pixmap.load(":/resource/Icons/new.png");
}
else
{
pixmap.load(nullptr);
}
QPixmap scaled = pixmap.scaled(ui->Image->size(), Qt::KeepAspectRatio, Qt::SmoothTransformation);
ui->Image->setPixmap(scaled);
}
UpdateFileSlot::~UpdateFileSlot()
{
delete ui;
}
FileData UpdateFileSlot::getLocal() const
{
return local;
}
bool UpdateFileSlot::getNeedUpdate() const
{
return needUpdate;
}
void UpdateFileSlot::setNeedUpdate(bool value)
{
needUpdate = value;
}
void UpdateFileSlot::on_UpdateCheckBox_stateChanged(int arg1)
{
if (ui->UpdateCheckBox->checkState() == Qt::Checked)
{
needUpdate = true;
}
else if (ui->UpdateCheckBox->checkState() == Qt::Unchecked)
{
needUpdate = false;
}
}