删除图像
新建动作
点击【新建】
弹出新建动作窗口
填写内容
转到槽
/**
* @brief 页码项右键-删除图像
*/
void MainWindow::on_action_delete_triggered()
{
}
编写槽函数
/**
* @brief 页码项右键-删除图像
*/
void MainWindow::on_action_delete_triggered()
{
// 获取当前目录项
QTreeWidgetItem *fileItem = ui->treeWidget_DocFile->currentItem();
if (nullptr == fileItem) {
QMessageBox::information(this, "信息", "请选择图片", QMessageBox::Ok,QMessageBox::NoButton);
return;
}
// 获取档案图片原始文件路径
QString pathOrig = m_docdirmgt->getFileItemPathOrig(fileItem);
if(isFileExit(pathOrig)) {
QFile::remove(pathOrig);
qDebug() << "删除原始文件 :" << pathOrig;
}
// 获取档案图片初处理文件路径
QString pathFst = m_docdirmgt->getFileItemPathFst(fileItem);
if(isFileExit(pathFst)) {
QFile::remove(pathFst);
qDebug() << "删除初处理文件 :" << pathFst;
}
// 获取档案图片优化处理文件路径
QString pathOpt = m_docdirmgt->getFileItemPathOpt(fileItem);
if(isFileExit(pathOpt)) {
QFile::remove(pathOpt);
qDebug() << "删除优化处理文件 :" << pathOpt;
}
// 更新页码项
int inPageNo = m_docdirmgt->getFileItemInPageNo(fileItem);
QString itemText;
int actualStatus;
actualStatus = ITEM_FILE_STATUS_SCANLESS;
itemText.sprintf("第%d页(未扫描)", inPageNo);
fileItem->setText(0, itemText);
// 更新页码项状态
m_docdirmgt->setFileItemStatus(fileItem, actualStatus);
// 更新settings中的ini文件
setConfigInfo(m_docdirmgt->getFileItemBaseDir(fileItem), m_docdirmgt->getFileItemFileName(fileItem), actualStatus);
// 显示图片
openImageFromItem(fileItem);
}
配置右键菜单
/**
* @brief 页码项右键
* @param pos 横纵坐标QPoint对象
*/
void MainWindow::on_treeWidget_DocFile_customContextMenuRequested(const QPoint &pos)
{
QTreeWidgetItem *curFileItem = ui->treeWidget_DocFile->itemAt(pos);
if (nullptr == curFileItem) {
return;
} else {
QMenu menu;
// 删除图像
menu.addAction(ui->action_delete);
// 导入单张图片
menu.addAction(ui->action_import);
menu.exec(QCursor::pos());
}
}