[Change] Remove file before an mkdir.
This commit is contained in:
parent
671e75bf52
commit
68d4bb443f
@ -7,11 +7,11 @@
|
|||||||
PDFJam::PDFJam(void) {
|
PDFJam::PDFJam(void) {
|
||||||
|
|
||||||
}
|
}
|
||||||
#if 0
|
|
||||||
/* Ensure the folder exists. */
|
/* Ensure the folder exists. */
|
||||||
void PDFJam::makeFolder(QString path) {
|
void PDFJam::makeFolder(QString path) {
|
||||||
QString tmp = "mkdir -p %1";
|
QString tmp = "mksir -p %1 && rm %2*";
|
||||||
int value = system(tmp.arg(path).toStdString().c_str());
|
int value = system(tmp.arg(path).arg(path).toStdString().c_str());
|
||||||
if(value != 0)
|
if(value != 0)
|
||||||
qDebug() << "ERROR: Failed to make " << path;
|
qDebug() << "ERROR: Failed to make " << path;
|
||||||
}
|
}
|
||||||
@ -61,11 +61,4 @@ void PDFJam::run(void) {
|
|||||||
|
|
||||||
/*system("echo 'tata' > /tmp/test.txt");*/
|
/*system("echo 'tata' > /tmp/test.txt");*/
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
void PDFJam::run(void) {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,14 +1,28 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
#include <QThread>
|
||||||
|
#include <QMutex>
|
||||||
|
#include <QImage>
|
||||||
|
#include <poppler-qt5.h>
|
||||||
|
|
||||||
class PDFJam {/*: public QThread {*/
|
class PDFPageWidget;
|
||||||
/*Q_OBJECT*/
|
class QImage;
|
||||||
|
|
||||||
|
class PDFJam : public QThread {
|
||||||
|
Q_OBJECT
|
||||||
public:
|
public:
|
||||||
PDFJam(void);
|
PDFJam(void);
|
||||||
|
|
||||||
|
void pushCommand(QString);
|
||||||
|
void loadFile(QString fileName, int, int);
|
||||||
|
void makeFolder(QString);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
void run(void);
|
void run(void);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
volatile bool stopped;
|
QVector<QString> cmdQueue;
|
||||||
|
QString nextCommand(void);
|
||||||
|
bool isQueueEmpty(void);
|
||||||
|
QMutex mutex;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -12,6 +12,7 @@ PDFPageWidget::PDFPageWidget(QWidget* parent) :
|
|||||||
this->resize(150, 150);
|
this->resize(150, 150);
|
||||||
this->setMinimumSize(150, 150);
|
this->setMinimumSize(150, 150);
|
||||||
this->setMinimumSize(150, 150);
|
this->setMinimumSize(150, 150);
|
||||||
|
this->setAutoFillBackground(true);
|
||||||
|
|
||||||
this->setMouseTracking(true);
|
this->setMouseTracking(true);
|
||||||
this->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
|
this->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
|
||||||
@ -79,7 +80,7 @@ void PDFPageWidget::setPopplerPage(Poppler::Page* pp) {
|
|||||||
void PDFPageWidget::setThumbnail(QImage pageImage) {
|
void PDFPageWidget::setThumbnail(QImage pageImage) {
|
||||||
image = pageImage;
|
image = pageImage;
|
||||||
pixmap = QPixmap::fromImage(image);
|
pixmap = QPixmap::fromImage(image);
|
||||||
pixmap = pixmap.scaled(size(), Qt::KeepAspectRatio);
|
pixmap = pixmap.scaled(size() - QSize(6,6), Qt::KeepAspectRatio);
|
||||||
|
|
||||||
update();
|
update();
|
||||||
}
|
}
|
||||||
@ -88,20 +89,35 @@ void PDFPageWidget::mousePressEvent(QMouseEvent* event) {
|
|||||||
if(pPage != NULL) {
|
if(pPage != NULL) {
|
||||||
emit pageClicked(event, path);
|
emit pageClicked(event, path);
|
||||||
emit previewUpdate(pPage);
|
emit previewUpdate(pPage);
|
||||||
|
|
||||||
|
selected = !selected;
|
||||||
|
update();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void PDFPageWidget::leaveEvent(QEvent* event) {
|
void PDFPageWidget::leaveEvent(QEvent* event) {
|
||||||
btn1->hide();
|
btn1->hide();
|
||||||
btn2->hide();
|
btn2->hide();
|
||||||
|
|
||||||
|
this->setFrameStyle(QFrame::Plain);
|
||||||
}
|
}
|
||||||
|
|
||||||
void PDFPageWidget::enterEvent(QEvent* event) {
|
void PDFPageWidget::enterEvent(QEvent* event) {
|
||||||
btn1->show();
|
btn1->show();
|
||||||
btn2->show();
|
btn2->show();
|
||||||
|
|
||||||
|
this->setFrameStyle(QFrame::StyledPanel | QFrame::Raised);
|
||||||
}
|
}
|
||||||
|
|
||||||
void PDFPageWidget::paintEvent(QPaintEvent* event) {
|
void PDFPageWidget::paintEvent(QPaintEvent* event) {
|
||||||
|
QPalette palette = this->palette();
|
||||||
|
if(selected)
|
||||||
|
palette.setColor(backgroundRole(), palette.color(QPalette::Highlight));
|
||||||
|
else
|
||||||
|
palette.setColor(backgroundRole(), palette.color(QPalette::AlternateBase));
|
||||||
|
this->setPalette(palette);
|
||||||
|
|
||||||
|
QFrame::paintEvent(event);
|
||||||
QPainter painter(this);
|
QPainter painter(this);
|
||||||
painter.drawPixmap(QRect((size().width() - pixmap.width()) / 2,
|
painter.drawPixmap(QRect((size().width() - pixmap.width()) / 2,
|
||||||
(size().height() - pixmap.height()) / 2,
|
(size().height() - pixmap.height()) / 2,
|
||||||
|
@ -46,6 +46,8 @@ private:
|
|||||||
QPixmap pixmap;
|
QPixmap pixmap;
|
||||||
QPushButton* btn1, *btn2;
|
QPushButton* btn1, *btn2;
|
||||||
|
|
||||||
|
bool selected = false;
|
||||||
|
|
||||||
signals:
|
signals:
|
||||||
void pageClicked(QMouseEvent* event, QString path);
|
void pageClicked(QMouseEvent* event, QString path);
|
||||||
void previewUpdate(Poppler::Page*);
|
void previewUpdate(Poppler::Page*);
|
||||||
|
@ -12,21 +12,20 @@ void PDFPreviewWidget::setImage(QImage image) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void PDFPreviewWidget::regenImage(void) {
|
void PDFPreviewWidget::regenImage(void) {
|
||||||
if(pPage != NULL) {
|
double dpi;
|
||||||
double dpi;
|
double dpi2;
|
||||||
double dpi2;
|
QSize targetSize = this->size();
|
||||||
QSize targetSize = this->size();
|
QSizeF oriSize = pPage->pageSizeF();
|
||||||
QSizeF oriSize = pPage->pageSizeF();
|
double oriDpi = 72;
|
||||||
double oriDpi = 72;
|
dpi = targetSize.height() / (float)oriSize.height()*72;
|
||||||
dpi = targetSize.height() / (float)oriSize.height()*72;
|
dpi2 = targetSize.width() / (float)oriSize.width()*72;
|
||||||
dpi2 = targetSize.width() / (float)oriSize.width()*72;
|
dpi = dpi<dpi2?dpi:dpi2;
|
||||||
dpi = dpi<dpi2?dpi:dpi2;
|
previewImage = pPage->renderToImage(dpi, dpi);
|
||||||
previewImage = pPage->renderToImage(dpi, dpi);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void PDFPreviewWidget::previewUpdate(Poppler::Page* pp) {
|
void PDFPreviewWidget::previewUpdate(Poppler::Page* pp) {
|
||||||
pPage = pp;
|
pPage = pp;
|
||||||
|
qDebug() << "Set new popler page" << pp;
|
||||||
regenImage();
|
regenImage();
|
||||||
update();
|
update();
|
||||||
}
|
}
|
||||||
@ -36,7 +35,8 @@ void PDFPreviewWidget::pageClicked(QMouseEvent* mouseEvent, QImage image) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void PDFPreviewWidget::resizeEvent(QResizeEvent* event) {
|
void PDFPreviewWidget::resizeEvent(QResizeEvent* event) {
|
||||||
regenImage();
|
if(pPage != NULL)
|
||||||
|
regenImage();
|
||||||
}
|
}
|
||||||
|
|
||||||
void PDFPreviewWidget::paintEvent(QPaintEvent* event) {
|
void PDFPreviewWidget::paintEvent(QPaintEvent* event) {
|
||||||
|
@ -39,6 +39,7 @@ void PDFTableWidget::loadFile(QString fileName) {
|
|||||||
PDFFileWidget* fileWidget = new PDFFileWidget();
|
PDFFileWidget* fileWidget = new PDFFileWidget();
|
||||||
fileWidget->setAncestor(this);
|
fileWidget->setAncestor(this);
|
||||||
fileWidget->setDocument(doc, fileName);
|
fileWidget->setDocument(doc, fileName);
|
||||||
|
pdfJam.loadFile(fileName, files.size()-1, doc->numPages());
|
||||||
|
|
||||||
fileWidgets.append(fileWidget);
|
fileWidgets.append(fileWidget);
|
||||||
|
|
||||||
|
@ -3,6 +3,7 @@
|
|||||||
#include <QHash>
|
#include <QHash>
|
||||||
#include <poppler-qt5.h>
|
#include <poppler-qt5.h>
|
||||||
|
|
||||||
|
#include "pdf_jam.h"
|
||||||
#include "pdf_page_widget.h"
|
#include "pdf_page_widget.h"
|
||||||
|
|
||||||
class QImage;
|
class QImage;
|
||||||
@ -20,7 +21,7 @@ public:
|
|||||||
void registerPage(PDFPageWidget* child);
|
void registerPage(PDFPageWidget* child);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
PDFJam pdfJam;
|
||||||
private:
|
private:
|
||||||
QVBoxLayout* outerLayout;
|
QVBoxLayout* outerLayout;
|
||||||
QScrollArea* scrollArea;
|
QScrollArea* scrollArea;
|
||||||
|
Loading…
Reference in New Issue
Block a user