120 lines
4.0 KiB
C++
120 lines
4.0 KiB
C++
#include "printinfodialog.h"
|
|
#include "ui_printinfodialog.h"
|
|
|
|
PrintInfoDialog::PrintInfoDialog(QWidget *parent) :
|
|
QDialog(parent),
|
|
ui(new Ui::PrintInfoDialog)
|
|
{
|
|
ui->setupUi(this);
|
|
setWindowModality(Qt::ApplicationModal);
|
|
setWindowFlags(Qt::CustomizeWindowHint | Qt::WindowCloseButtonHint);
|
|
|
|
//QListView
|
|
ui->listView_blockList->setDragEnabled(false); //控件不允许拖动
|
|
// 设置listView为不可编辑状态
|
|
ui->listView_blockList->setEditTriggers(QAbstractItemView::NoEditTriggers);
|
|
m_listViewModel = new QStringListModel(ui->listView_blockList);
|
|
ui->listView_blockList->setModel(m_listViewModel);
|
|
|
|
m_curBlockRow = -1;
|
|
m_preView = new MyGraphicsView();
|
|
ui->horizontalLayout->addWidget(m_preView);
|
|
}
|
|
|
|
PrintInfoDialog::~PrintInfoDialog()
|
|
{
|
|
delete ui;
|
|
}
|
|
|
|
void PrintInfoDialog::refreshLanguage()
|
|
{
|
|
ui->retranslateUi(this);
|
|
}
|
|
|
|
void PrintInfoDialog::on_listView_blockList_clicked(const QModelIndex &index)
|
|
{
|
|
QString str = "0 - ";
|
|
int row = index.row();
|
|
QString str1;
|
|
if(m_curBlockRow != row)
|
|
{
|
|
int x = row * PIXMAPWIDTH;
|
|
QPoint p;
|
|
p.setX(x);
|
|
p.setY(0);
|
|
m_preView->reflushBlockView(p);
|
|
m_curBlockRow = row;
|
|
m_curFilesInfo.m_selectBlockNum = row+1;
|
|
str = QString::number((m_curFilesInfo.m_selectBlockNum-1)*BLOCK_MM)+" - ";
|
|
if(row == m_listViewModel->rowCount() - 1)
|
|
{
|
|
str1 = QString::number((int)((m_curFilesInfo.m_fileRect.right() - m_curFilesInfo.m_fileRect.left())/MMPIXELY));
|
|
}
|
|
else
|
|
{
|
|
str1 = QString::number(m_curFilesInfo.m_selectBlockNum*BLOCK_MM);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
QPoint p;
|
|
p.setX(-1);
|
|
p.setY(-1);
|
|
m_preView->reflushBlockView(p);
|
|
ui->listView_blockList->clearSelection();
|
|
m_curBlockRow = -1;
|
|
m_curFilesInfo.m_selectBlockNum = 0;
|
|
str1 = QString::number(m_curFilesInfo.m_selectBlockNum*BLOCK_MM);
|
|
}
|
|
ui->label_selectBlockNumVal->setText(QString::number(m_curFilesInfo.m_selectBlockNum)+"("+str+str1+"mm)");
|
|
}
|
|
|
|
void PrintInfoDialog::reflushFileInfo()
|
|
{
|
|
//刷新块数列表和文件信息
|
|
QStringList strList;
|
|
strList.clear();
|
|
int totalBlocks = m_curFilesInfo.m_totalBlocks;
|
|
for(int i = 1; i <= totalBlocks; i++)
|
|
{
|
|
QString str = QString::number(i) + " " + tr("piece");//块
|
|
strList.append(str);
|
|
}
|
|
m_listViewModel->setStringList(strList);
|
|
|
|
ui->label_fileNameVal->setText(m_curFilesInfo.m_fileName);
|
|
|
|
int length = (m_curFilesInfo.m_fileRect.right() - m_curFilesInfo.m_fileRect.left())/MMPIXELY;
|
|
int height = (m_curFilesInfo.m_fileRect.bottom() - m_curFilesInfo.m_fileRect.top())/MMPIXELY;
|
|
QString WH = QString::number(length) + "x" + QString::number(height)+ "mm";
|
|
ui->label_drawWHVal->setText(WH);
|
|
|
|
ui->label_printNumVal->setText(QString::number(m_curFilesInfo.m_printNum));
|
|
ui->label_startPointVal->setText(QString::number(m_curFilesInfo.m_startPoint)+"mm");
|
|
|
|
ui->label_fileBlockNumVal->setText(QString::number(m_curFilesInfo.m_totalBlocks));
|
|
ui->label_currentBlockVal->setText(QString::number(m_curFilesInfo.m_curPrintBlock)+"("+QString::number(m_curFilesInfo.m_curPrintBlock*BLOCK_MM)+"mm)");
|
|
ui->label_printedBlockNumVal->setText(QString::number(m_curFilesInfo.m_printedBlockNum)+"("+QString::number(m_curFilesInfo.m_printedBlockNum*BLOCK_MM)+"mm)");
|
|
|
|
int leaveLength = length - m_curFilesInfo.m_printedBlockNum*BLOCK_MM;
|
|
ui->label_leaveBlockNumVal->setText(QString::number(m_curFilesInfo.m_leaveBlockNum)+"("+QString::number(leaveLength)+"mm)");
|
|
ui->label_selectBlockNumVal->setText(QString::number(m_curFilesInfo.m_selectBlockNum)+"("+"0 - "+QString::number(m_curFilesInfo.m_selectBlockNum*BLOCK_MM)+"mm)");
|
|
}
|
|
|
|
void PrintInfoDialog::setFilesInfo(McFilesInfo info)
|
|
{
|
|
m_curFilesInfo = info;
|
|
|
|
m_preView->cleanView();
|
|
m_preView->swithViewByPic(m_curFilesInfo.m_showPic);//刷新显示
|
|
|
|
reflushFileInfo();
|
|
|
|
QDialog::exec();
|
|
}
|
|
|
|
void PrintInfoDialog::on_pushButton_back_clicked()
|
|
{
|
|
done(0);
|
|
}
|