qt/LedOK/wProgramManager/wEditProgram/wElement/ephotoattr.cpp
2022-01-04 18:11:48 +08:00

117 lines
3.5 KiB
C++
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#include "ephotoattr.h"
#include "ui_ephotoattr.h"
#include "ephoto.h"
#include <LoUIClass/x_uimsgboxok.h>
ePhotoAttr::ePhotoAttr(const ePhoto::Data &data, QWidget *parent) :
eAttr(parent),
ui(new Ui::ePhotoAttr)
{
ui->setupUi(this);
ui->wFile ->setText (data.name);
ui->wPlayDuration ->setValue (data.playDuration);
ui->wPlayTimes ->setValue (data.playTimes);
ui->wEnterStyle ->setCurrentIndex(data.enterStyle);
ui->wEnterDuration->setValue (data.enterDuration);
connect(ui->wPlayDuration, SIGNAL(valueChanged(int)), this, SLOT(onAttrChanged()));
connect(ui->wPlayTimes, SIGNAL(valueChanged(int)), this, SLOT(onAttrChanged()));
connect(ui->wEnterStyle, SIGNAL(currentIndexChanged(int)), this, SLOT(onAttrChanged()));
connect(ui->wEnterDuration, SIGNAL(valueChanged(int)), this, SLOT(onAttrChanged()));
connect(ui->bnSelectFile, SIGNAL(clicked(bool)), this, SLOT(onSelectFile()));
//我们的m2m文件结构中没有图片播放次数的参数所以设置这两个为不可见以免客户误解
ui->label_7->setVisible(false);
ui->wPlayTimes->setVisible(false);
bool bFileExistFlag=true;
QFileInfo file1(data.path+"/"+data.yuanshi_name);
if(!file1.exists())
{
QFileInfo file2(data.computer_pic_file);
if(!file2.exists())
{
bFileExistFlag=false;
}
else {
if(file2.isDir())
{
bFileExistFlag=false;
}
else {
ui->wFile->setText(QFileInfo(data.computer_pic_file).fileName());
emit sResChanged(data.computer_pic_file);
}
}
}
else {
if(file1.isDir())
{
QFileInfo file2(data.computer_pic_file);
if(!file2.exists())
{
bFileExistFlag=false;
}
else {
if(file2.isDir())
{
bFileExistFlag=false;
}
else {
ui->wFile->setText(QFileInfo(data.computer_pic_file).fileName());
emit sResChanged(data.computer_pic_file);
}
}
}
}
if(bFileExistFlag==false)
{
X_UIMsgBoxOk *dlg=new X_UIMsgBoxOk(tr("Attention"),tr("file(")+data.path+"/"+data.name+tr(") is not exist"),this,1);
dlg->exec();
}
}
ePhotoAttr::~ePhotoAttr()
{
delete ui;
}
void ePhotoAttr::onSelectFile()
{
QString file = LoAppTools::getInstance()->selectFile(ePhoto::filters(), this);
if(!file.isNull()) {
ui->wFile->setText(QFileInfo(file).fileName());
emit sResChanged(file);
}
}
void ePhotoAttr::onAttrChanged()
{
ePhoto::Data data;
data.playDuration = ui->wPlayDuration->value();
data.playTimes = ui->wPlayTimes->value();
data.enterStyle = ui->wEnterStyle->currentIndex();
data.enterDuration = ui->wEnterDuration->value();
if(data.enterDuration>data.playDuration)
{
X_UIMsgBoxOk *dlg=new X_UIMsgBoxOk(tr("Tip Info"),tr("Effect time cannot be longer than duration time"),this,0);
dlg->exec();
data.enterDuration=data.playDuration/2;
ui->wEnterDuration->setValue(data.enterDuration);
}
emit sAttrChanged(data);
}