[Change] Refactored a bunch of stuff.
This commit is contained in:
parent
97f0f9dee9
commit
9576e17f40
@ -9,13 +9,13 @@ LIBS += -L/usr/lib -lpoppler-qt5
|
|||||||
HEADERS += \
|
HEADERS += \
|
||||||
../src/pdf_factory.h \
|
../src/pdf_factory.h \
|
||||||
../src/pdf_page_widget.h \
|
../src/pdf_page_widget.h \
|
||||||
../src/table_view.h \
|
../src/pdf_table_view.h \
|
||||||
../src/pdf_file_widget.h
|
../src/pdf_file_widget.h
|
||||||
SOURCES += \
|
SOURCES += \
|
||||||
../src/main.cpp \
|
../src/main.cpp \
|
||||||
../src/pdf_factory.cpp \
|
../src/pdf_factory.cpp \
|
||||||
../src/pdf_page_widget.cpp \
|
../src/pdf_page_widget.cpp \
|
||||||
../src/table_view.cpp \
|
../src/pdf_table_view.cpp \
|
||||||
../src/pdf_file_widget.cpp
|
../src/pdf_file_widget.cpp
|
||||||
|
|
||||||
RESOURCES += hpdf.qrc
|
RESOURCES += hpdf.qrc
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#include <QtWidgets>
|
#include <QtWidgets>
|
||||||
#include <QtGlobal>
|
#include <QtGlobal>
|
||||||
#include "pdf_factory.h"
|
#include "pdf_factory.h"
|
||||||
#include "table_view.h"
|
#include "pdf_table_view.h"
|
||||||
#include "pdf_page_widget.h"
|
#include "pdf_page_widget.h"
|
||||||
|
|
||||||
PDFFactory::PDFFactory(void) {
|
PDFFactory::PDFFactory(void) {
|
||||||
@ -32,7 +32,7 @@ void PDFFactory::createWidgets(void) {
|
|||||||
layout->addWidget(ribbon);
|
layout->addWidget(ribbon);
|
||||||
|
|
||||||
/* Create main area (table). */
|
/* Create main area (table). */
|
||||||
pdfTableView = new TableView();
|
pdfTableView = new PDFTableView();
|
||||||
pdfTableView->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
|
pdfTableView->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
|
||||||
|
|
||||||
splitter = new QSplitter();
|
splitter = new QSplitter();
|
||||||
@ -43,8 +43,10 @@ void PDFFactory::createWidgets(void) {
|
|||||||
splitter->addWidget(pdfTableView);
|
splitter->addWidget(pdfTableView);
|
||||||
splitter->addWidget(pdfPreview);
|
splitter->addWidget(pdfPreview);
|
||||||
QList<int> splitterWidgetSizes;
|
QList<int> splitterWidgetSizes;
|
||||||
splitterWidgetSizes << 700 << 300;
|
splitterWidgetSizes << 600 << 400;
|
||||||
splitter->setSizes(splitterWidgetSizes);
|
splitter->setSizes(splitterWidgetSizes);
|
||||||
|
splitter->setStretchFactor(0, 1);
|
||||||
|
splitter->setStretchFactor(1, 0.5);
|
||||||
layout->addWidget(splitter);
|
layout->addWidget(splitter);
|
||||||
|
|
||||||
setWindowIcon(QIcon(":/img/hpdf.png"));
|
setWindowIcon(QIcon(":/img/hpdf.png"));
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
#include <QMainWindow>
|
#include <QMainWindow>
|
||||||
#include "table_view.h"
|
#include "pdf_table_view.h"
|
||||||
|
|
||||||
class QAction;
|
class QAction;
|
||||||
class QWidget;
|
class QWidget;
|
||||||
@ -41,7 +41,7 @@ private:
|
|||||||
|
|
||||||
QTabWidget* ribbon;
|
QTabWidget* ribbon;
|
||||||
QScrollArea* scrollArea;
|
QScrollArea* scrollArea;
|
||||||
TableView* pdfTableView;
|
PDFTableView* pdfTableView;
|
||||||
QSplitter* splitter;
|
QSplitter* splitter;
|
||||||
QWidget* pdfPreview;
|
QWidget* pdfPreview;
|
||||||
|
|
||||||
|
@ -10,7 +10,7 @@
|
|||||||
#define CHILD_AREA_WIDTH 150
|
#define CHILD_AREA_WIDTH 150
|
||||||
#define CHILD_AREA_HEIGHT 150
|
#define CHILD_AREA_HEIGHT 150
|
||||||
|
|
||||||
FileWidget::FileWidget(QWidget* parent) {
|
FilesContainerWidget::FilesContainerWidget(QWidget* parent) {
|
||||||
setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed);
|
setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed);
|
||||||
setAcceptDrops(true);
|
setAcceptDrops(true);
|
||||||
mainLayout = new QHBoxLayout();
|
mainLayout = new QHBoxLayout();
|
||||||
@ -18,31 +18,26 @@ FileWidget::FileWidget(QWidget* parent) {
|
|||||||
setLayout(mainLayout);
|
setLayout(mainLayout);
|
||||||
}
|
}
|
||||||
|
|
||||||
int FileWidget::getPagesCount() const {
|
int FilesContainerWidget::getPagesCount() const {
|
||||||
return pageWidgets.size();
|
return pageWidgets.size();
|
||||||
}
|
}
|
||||||
|
|
||||||
QSize FileWidget::sizeHint() const {
|
QSize FilesContainerWidget::sizeHint() const {
|
||||||
return QSize(CHILD_AREA_WIDTH*getPagesCount(), CHILD_AREA_HEIGHT + 20);
|
return QSize(CHILD_AREA_WIDTH*getPagesCount(), CHILD_AREA_HEIGHT + 20);
|
||||||
}
|
}
|
||||||
|
|
||||||
void FileWidget::addPageWidget(QImage* image) {
|
void FilesContainerWidget::addPageWidget(PDFPageWidget* pageWidget) {
|
||||||
PDFPageWidget* newPageWidget;
|
pageWidgets.append(pageWidget);
|
||||||
newPageWidget = new PDFPageWidget();
|
mainLayout->addWidget(pageWidget);
|
||||||
newPageWidget->setThumbnail(image);
|
|
||||||
|
|
||||||
pageWidgets.push_back(newPageWidget);
|
|
||||||
|
|
||||||
mainLayout->addWidget(newPageWidget);
|
|
||||||
adjustSize();
|
adjustSize();
|
||||||
}
|
}
|
||||||
|
|
||||||
void FileWidget::dragEnterEvent(QDragEnterEvent* event) {
|
void FilesContainerWidget::dragEnterEvent(QDragEnterEvent* event) {
|
||||||
if(event->mimeData()->hasFormat("text/plain"))
|
if(event->mimeData()->hasFormat("text/plain"))
|
||||||
event->acceptProposedAction();
|
event->acceptProposedAction();
|
||||||
}
|
}
|
||||||
|
|
||||||
void FileWidget::dropEvent(QDropEvent* event) {
|
void FilesContainerWidget::dropEvent(QDropEvent* event) {
|
||||||
int from = event->mimeData()->text().toInt();
|
int from = event->mimeData()->text().toInt();
|
||||||
int to = findPageWidgetInLayout(pageWidgets[findPageContainingClickEvent(event->pos())]);
|
int to = findPageWidgetInLayout(pageWidgets[findPageContainingClickEvent(event->pos())]);
|
||||||
|
|
||||||
@ -52,7 +47,7 @@ void FileWidget::dropEvent(QDropEvent* event) {
|
|||||||
event->acceptProposedAction();
|
event->acceptProposedAction();
|
||||||
}
|
}
|
||||||
|
|
||||||
void FileWidget::mousePressEvent(QMouseEvent* event) {
|
void FilesContainerWidget::mousePressEvent(QMouseEvent* event) {
|
||||||
if(event->button() == Qt::LeftButton) {
|
if(event->button() == Qt::LeftButton) {
|
||||||
int draggedChild = (findPageContainingClickEvent(event->pos()));
|
int draggedChild = (findPageContainingClickEvent(event->pos()));
|
||||||
|
|
||||||
@ -67,7 +62,7 @@ void FileWidget::mousePressEvent(QMouseEvent* event) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
int FileWidget::findPageContainingClickEvent(QPoint pos) {
|
int FilesContainerWidget::findPageContainingClickEvent(QPoint pos) {
|
||||||
for(int i = 0; i < getPagesCount(); i++)
|
for(int i = 0; i < getPagesCount(); i++)
|
||||||
if(pageWidgets[i]->geometry().contains(pos))
|
if(pageWidgets[i]->geometry().contains(pos))
|
||||||
return i;
|
return i;
|
||||||
@ -75,7 +70,7 @@ int FileWidget::findPageContainingClickEvent(QPoint pos) {
|
|||||||
return getPagesCount()-1;
|
return getPagesCount()-1;
|
||||||
}
|
}
|
||||||
|
|
||||||
int FileWidget::findPageWidgetInLayout(PDFPageWidget* pageWidget) {
|
int FilesContainerWidget::findPageWidgetInLayout(PDFPageWidget* pageWidget) {
|
||||||
for(int i = 0; i < getPagesCount(); i++)
|
for(int i = 0; i < getPagesCount(); i++)
|
||||||
if(mainLayout->itemAt(i)->widget() == pageWidget)
|
if(mainLayout->itemAt(i)->widget() == pageWidget)
|
||||||
return i;
|
return i;
|
||||||
@ -88,66 +83,52 @@ PDFFileWidget::PDFFileWidget(QWidget* parent) {
|
|||||||
|
|
||||||
topLayout = new QGridLayout();
|
topLayout = new QGridLayout();
|
||||||
|
|
||||||
scrollArea = new QScrollArea();
|
|
||||||
fileWidget = new FileWidget();
|
|
||||||
scrollArea->setWidget(fileWidget);
|
|
||||||
|
|
||||||
fileNameLabel = new QLabel();
|
|
||||||
fileNameLabel->setText(tr("File 1"));
|
|
||||||
|
|
||||||
topLayout->addWidget(fileNameLabel, 0, 1);
|
|
||||||
|
|
||||||
collapseButton = new QPushButton(tr("X"));
|
collapseButton = new QPushButton(tr("X"));
|
||||||
collapseButton->setMinimumSize(QSize(COLLAPSE_BUTTON_WIDTH, COLLAPSE_BUTTON_HEIGHT));
|
collapseButton->setMinimumSize(QSize(COLLAPSE_BUTTON_WIDTH, COLLAPSE_BUTTON_HEIGHT));
|
||||||
collapseButton->setMaximumSize(QSize(COLLAPSE_BUTTON_WIDTH, COLLAPSE_BUTTON_HEIGHT));
|
collapseButton->setMaximumSize(QSize(COLLAPSE_BUTTON_WIDTH, COLLAPSE_BUTTON_HEIGHT));
|
||||||
connect(collapseButton, SIGNAL(released()), this, SLOT(collapsedButtonClick()));
|
connect(collapseButton, SIGNAL(released()), this, SLOT(collapsedButtonClick()));
|
||||||
topLayout->addWidget(collapseButton, 0, 0);
|
topLayout->addWidget(collapseButton, 0, 0);
|
||||||
|
|
||||||
|
fileNameLabel = new QLabel();
|
||||||
|
fileNameLabel->setText(tr("File 1"));
|
||||||
|
|
||||||
|
topLayout->addWidget(fileNameLabel, 0, 1);
|
||||||
|
|
||||||
|
filesContainerWidget = new FilesContainerWidget();
|
||||||
|
scrollArea = new QScrollArea();
|
||||||
|
scrollArea->setWidget(filesContainerWidget);
|
||||||
topLayout->addWidget(scrollArea, 1, 0, 1, 5);
|
topLayout->addWidget(scrollArea, 1, 0, 1, 5);
|
||||||
|
|
||||||
setLayout(topLayout);
|
setLayout(topLayout);
|
||||||
|
|
||||||
setCollapsed(false);
|
setCollapsed(false);
|
||||||
adjustSize();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#if 0
|
|
||||||
QSize PDFFileWidget::sizeHint() const {
|
|
||||||
if(collapsed == true)
|
|
||||||
return QSize(mainChild->width(), collapseButton->height());
|
|
||||||
else
|
|
||||||
return QSize(mainChild->width(), collapseButton->height() + mainChild->height() + 50);
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
void PDFFileWidget::setCollapsed(bool state) {
|
void PDFFileWidget::setCollapsed(bool state) {
|
||||||
|
collapsed = state;
|
||||||
if(state == true) {
|
if(state == true) {
|
||||||
collapsed = true;
|
|
||||||
setFixedHeight(collapseButton->height() + 80);
|
|
||||||
scrollArea->hide();
|
scrollArea->hide();
|
||||||
} else {
|
} else {
|
||||||
collapsed = false;
|
|
||||||
setFixedHeight(collapseButton->height() + fileWidget->height() + 50);
|
|
||||||
scrollArea->show();
|
scrollArea->show();
|
||||||
}
|
}
|
||||||
|
|
||||||
adjustSize();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void PDFFileWidget::collapsedButtonClick(void) {
|
void PDFFileWidget::collapsedButtonClick(void) {
|
||||||
if(collapsed == true)
|
setCollapsed(!collapsed);
|
||||||
setCollapsed(false);
|
|
||||||
else
|
|
||||||
setCollapsed(true);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void PDFFileWidget::setDocument(Poppler::Document* document, QString fileName) {
|
void PDFFileWidget::setDocument(Poppler::Document* document, QString fileName) {
|
||||||
int numPages = document->numPages();
|
int numPages = document->numPages();
|
||||||
for(int i; i < numPages; i++) {
|
for(int i = 0; i < numPages; i++) {
|
||||||
Poppler::Page* pdfPage = document->page(i);
|
Poppler::Page* pdfPage = document->page(i);
|
||||||
QImage* image = new QImage();
|
|
||||||
*image = pdfPage->renderToImage(144, 144);
|
|
||||||
|
|
||||||
fileWidget->addPageWidget(image);
|
QImage* pageImage = new QImage();
|
||||||
|
*pageImage = pdfPage->renderToImage(144, 144);
|
||||||
|
|
||||||
|
PDFPageWidget* pageWidget = new PDFPageWidget();
|
||||||
|
pageWidget->setThumbnail(pageImage);
|
||||||
|
|
||||||
|
filesContainerWidget->addPageWidget(pageWidget);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
#include <QWidget>
|
#include <QWidget>
|
||||||
#include <vector>
|
|
||||||
#include <poppler-qt5.h>
|
#include <poppler-qt5.h>
|
||||||
#include "pdf_page_widget.h"
|
#include "pdf_page_widget.h"
|
||||||
|
|
||||||
@ -18,21 +17,20 @@ class QDropEvent;
|
|||||||
class QMouseEvent;
|
class QMouseEvent;
|
||||||
class PDFPageWidget;
|
class PDFPageWidget;
|
||||||
|
|
||||||
class FileWidget : public QWidget {
|
class FilesContainerWidget : public QWidget {
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
public:
|
public:
|
||||||
FileWidget(QWidget* parent = 0);
|
FilesContainerWidget(QWidget* parent = 0);
|
||||||
QSize sizeHint() const;
|
QSize sizeHint() const;
|
||||||
|
|
||||||
void addPageWidget(QImage* image);
|
void addPageWidget(PDFPageWidget* image);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
void dragEnterEvent(QDragEnterEvent* event);
|
void dragEnterEvent(QDragEnterEvent* event);
|
||||||
void dropEvent(QDropEvent* event);
|
void dropEvent(QDropEvent* event);
|
||||||
void mousePressEvent(QMouseEvent* event);
|
void mousePressEvent(QMouseEvent* event);
|
||||||
private:
|
private:
|
||||||
std::vector<PDFPageWidget*> pageWidgets;
|
QVector<PDFPageWidget*> pageWidgets;
|
||||||
|
|
||||||
QHBoxLayout* mainLayout;
|
QHBoxLayout* mainLayout;
|
||||||
|
|
||||||
int findPageContainingClickEvent(QPoint pos);
|
int findPageContainingClickEvent(QPoint pos);
|
||||||
@ -46,7 +44,6 @@ class PDFFileWidget : public QWidget {
|
|||||||
|
|
||||||
public:
|
public:
|
||||||
PDFFileWidget(QWidget* parent = 0);
|
PDFFileWidget(QWidget* parent = 0);
|
||||||
/*QSize sizeHint() const;*/
|
|
||||||
|
|
||||||
void setAncestor(QWidget* ancestor) { this->ancestor = ancestor; }
|
void setAncestor(QWidget* ancestor) { this->ancestor = ancestor; }
|
||||||
void setDocument(Poppler::Document* document, QString fileName);
|
void setDocument(Poppler::Document* document, QString fileName);
|
||||||
@ -65,8 +62,8 @@ private:
|
|||||||
|
|
||||||
QLabel* fileNameLabel;
|
QLabel* fileNameLabel;
|
||||||
QPushButton* collapseButton;
|
QPushButton* collapseButton;
|
||||||
|
FilesContainerWidget* filesContainerWidget;
|
||||||
QScrollArea* scrollArea;
|
QScrollArea* scrollArea;
|
||||||
FileWidget* fileWidget;
|
|
||||||
QWidget* ancestor;
|
QWidget* ancestor;
|
||||||
bool collapsed;
|
bool collapsed;
|
||||||
};
|
};
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
#include "pdf_page_widget.h"
|
#include "pdf_page_widget.h"
|
||||||
|
|
||||||
PDFPageWidget::PDFPageWidget(QWidget* parent) :
|
PDFPageWidget::PDFPageWidget(QWidget* parent) :
|
||||||
QWidget(parent) {
|
QFrame(parent) {
|
||||||
|
|
||||||
/* Resize widget. */
|
/* Resize widget. */
|
||||||
this->resize(150, 150);
|
this->resize(150, 150);
|
||||||
@ -13,7 +13,6 @@ PDFPageWidget::PDFPageWidget(QWidget* parent) :
|
|||||||
this->setMouseTracking(true);
|
this->setMouseTracking(true);
|
||||||
this->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
|
this->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
|
||||||
|
|
||||||
QVBoxLayout* vbox = new QVBoxLayout(this);
|
|
||||||
QHBoxLayout* hbox = new QHBoxLayout();
|
QHBoxLayout* hbox = new QHBoxLayout();
|
||||||
|
|
||||||
btn1 = new QPushButton("", this);
|
btn1 = new QPushButton("", this);
|
||||||
@ -33,11 +32,13 @@ PDFPageWidget::PDFPageWidget(QWidget* parent) :
|
|||||||
hbox->addWidget(btn1, 1, Qt::AlignRight);
|
hbox->addWidget(btn1, 1, Qt::AlignRight);
|
||||||
hbox->addWidget(btn2, 0, Qt::AlignLeft);
|
hbox->addWidget(btn2, 0, Qt::AlignLeft);
|
||||||
|
|
||||||
|
QVBoxLayout* vbox = new QVBoxLayout();
|
||||||
vbox->addStretch(1);
|
vbox->addStretch(1);
|
||||||
vbox->addLayout(hbox);
|
vbox->addLayout(hbox);
|
||||||
|
|
||||||
this->setLayout(vbox);
|
this->setLayout(vbox);
|
||||||
|
|
||||||
|
vbox->setContentsMargins(0, 0, 0, 0);
|
||||||
this->setThumbnail(new QImage("../img/img.jpg"));
|
this->setThumbnail(new QImage("../img/img.jpg"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,14 +1,15 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
#include <QWidget>
|
#include <QFrame>
|
||||||
|
|
||||||
|
class QWidget;
|
||||||
class QPushButton;
|
class QPushButton;
|
||||||
class QImage;
|
class QImage;
|
||||||
class QPixmap;
|
class QPixmap;
|
||||||
class QPaintEvent;
|
class QPaintEvent;
|
||||||
class QSize;
|
|
||||||
class QEvent;
|
class QEvent;
|
||||||
|
class QSize;
|
||||||
|
|
||||||
class PDFPageWidget : public QWidget {
|
class PDFPageWidget : public QFrame {
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
public:
|
public:
|
||||||
PDFPageWidget(QWidget* parent = 0);
|
PDFPageWidget(QWidget* parent = 0);
|
||||||
|
36
src/pdf_table_view.cpp
Normal file
36
src/pdf_table_view.cpp
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
#include <QtWidgets>
|
||||||
|
#include "pdf_table_view.h"
|
||||||
|
#include "pdf_page_widget.h"
|
||||||
|
#include "pdf_file_widget.h"
|
||||||
|
|
||||||
|
PDFTableView::PDFTableView(QWidget* parent) : QFrame(parent) {
|
||||||
|
setFrameStyle(QFrame::StyledPanel | QFrame::Plain);
|
||||||
|
setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
|
||||||
|
|
||||||
|
outerLayout = new QVBoxLayout();
|
||||||
|
outerLayout->setContentsMargins(0, 0, 0, 0);
|
||||||
|
|
||||||
|
/* Spacer item. */
|
||||||
|
QWidget* spacer = new QWidget();
|
||||||
|
spacer->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
|
||||||
|
outerLayout->addWidget(spacer);
|
||||||
|
|
||||||
|
setLayout(outerLayout);
|
||||||
|
|
||||||
|
loadFile("/home/allanis/docs/loa.pdf");
|
||||||
|
}
|
||||||
|
|
||||||
|
void PDFTableView::loadFile(QString fileName) {
|
||||||
|
fileNames.append(fileName);
|
||||||
|
|
||||||
|
Poppler::Document* doc = Poppler::Document::load(fileName);
|
||||||
|
files.append(doc);
|
||||||
|
|
||||||
|
PDFFileWidget* fileWidget = new PDFFileWidget();
|
||||||
|
fileWidget->setAncestor(this);
|
||||||
|
fileWidget->setDocument(doc, fileName);
|
||||||
|
|
||||||
|
fileWidgets.append(fileWidget);
|
||||||
|
outerLayout->insertWidget(outerLayout->count()-1, fileWidget);
|
||||||
|
}
|
||||||
|
|
26
src/pdf_table_view.h
Normal file
26
src/pdf_table_view.h
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
#pragma once
|
||||||
|
#include <QFrame>
|
||||||
|
#include <poppler-qt5.h>
|
||||||
|
|
||||||
|
class QVBoxLayout;
|
||||||
|
class QString;
|
||||||
|
|
||||||
|
class PDFFileWidget;
|
||||||
|
|
||||||
|
class PDFTableView : public QFrame {
|
||||||
|
Q_OBJECT
|
||||||
|
public:
|
||||||
|
PDFTableView(QWidget* parent = 0);
|
||||||
|
|
||||||
|
protected:
|
||||||
|
|
||||||
|
private:
|
||||||
|
QVBoxLayout* outerLayout;
|
||||||
|
|
||||||
|
void loadFile(QString fileName);
|
||||||
|
|
||||||
|
QVector<Poppler::Document*> files;
|
||||||
|
QVector<QString> fileNames;
|
||||||
|
QVector<PDFFileWidget*> fileWidgets;
|
||||||
|
};
|
||||||
|
|
@ -1,48 +0,0 @@
|
|||||||
#include <QtWidgets>
|
|
||||||
#include "table_view.h"
|
|
||||||
#include "pdf_page_widget.h"
|
|
||||||
#include "pdf_file_widget.h"
|
|
||||||
|
|
||||||
TableView::TableView(QWidget* parent) : QWidget(parent) {
|
|
||||||
layout = new QVBoxLayout();
|
|
||||||
|
|
||||||
frame->setLayout(layout);
|
|
||||||
frame = new QFrame();
|
|
||||||
frame->setLayout(layout);
|
|
||||||
frame->setSizePolicy(QSizePolicy::Ignored, QSizePolicy::Ignored);
|
|
||||||
frame->adjustSize();
|
|
||||||
|
|
||||||
scrollArea = new QScrollArea();
|
|
||||||
scrollArea->setWidget(frame);
|
|
||||||
|
|
||||||
outerLayout = new QVBoxLayout();
|
|
||||||
setLayout(outerLayout);
|
|
||||||
outerLayout->addWidget(scrollArea);
|
|
||||||
|
|
||||||
loadFile("/home/allanis/docs/loa.pdf");
|
|
||||||
}
|
|
||||||
|
|
||||||
void TableView::loadFile(QString fileName) {
|
|
||||||
fileNames.append(fileName);
|
|
||||||
Poppler::Document* doc = Poppler::Document::load(fileName);
|
|
||||||
files.append(doc);
|
|
||||||
|
|
||||||
PDFFileWidget* pfw = new PDFFileWidget();
|
|
||||||
pfw->setAncestor(this);
|
|
||||||
pfw->setDocument(doc, fileName);
|
|
||||||
|
|
||||||
fileWidgets.append(pfw);
|
|
||||||
layout->addWidget(pfw);
|
|
||||||
}
|
|
||||||
|
|
||||||
void TableView::paintEvent(QPaintEvent* event) {
|
|
||||||
frame->adjustSize();
|
|
||||||
int newWidth = width() - 50;
|
|
||||||
|
|
||||||
for(int i = 0; i < fileWidgets.size(); i++) {
|
|
||||||
fileWidgets.at(i)->resize(newWidth, fileWidgets.at(i)->height());
|
|
||||||
}
|
|
||||||
|
|
||||||
frame->resize(newWidth, frame->height());
|
|
||||||
}
|
|
||||||
|
|
@ -1,37 +0,0 @@
|
|||||||
#pragma once
|
|
||||||
#include <QWidget>
|
|
||||||
#include <poppler-qt5.h>
|
|
||||||
#include "pdf_page_widget.h"
|
|
||||||
#include "pdf_file_widget.h"
|
|
||||||
|
|
||||||
class QPushButton;
|
|
||||||
class QScrollArea;
|
|
||||||
class QVBoxLayout;
|
|
||||||
class QSplitter;
|
|
||||||
class QFrame;
|
|
||||||
class QPaintEvent;
|
|
||||||
class QString;
|
|
||||||
|
|
||||||
class PDFFileWidget;
|
|
||||||
|
|
||||||
class TableView : public QWidget {
|
|
||||||
Q_OBJECT
|
|
||||||
public:
|
|
||||||
TableView(QWidget* parent = 0);
|
|
||||||
|
|
||||||
protected:
|
|
||||||
|
|
||||||
private:
|
|
||||||
QScrollArea* scrollArea;
|
|
||||||
QVBoxLayout* layout;
|
|
||||||
QFrame* frame;
|
|
||||||
QVBoxLayout* outerLayout;
|
|
||||||
|
|
||||||
void paintEvent(QPaintEvent* event);
|
|
||||||
void loadFile(QString fileName);
|
|
||||||
|
|
||||||
QVector<Poppler::Document*> files;
|
|
||||||
QVector<QString> fileNames;
|
|
||||||
QVector<PDFFileWidget*> fileWidgets;
|
|
||||||
};
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user