diff --git a/bin/hpdf.pro b/bin/hpdf.pro index 1c8c6b9..c2429fa 100644 --- a/bin/hpdf.pro +++ b/bin/hpdf.pro @@ -7,19 +7,16 @@ INCLUDEPATH += /usr/include/poppler/qt5/ LIBS += -L/usr/lib -lpoppler-qt5 HEADERS += \ - ../src/file_widget.h \ ../src/pdf_factory.h \ ../src/pdf_page_widget.h \ ../src/table_view.h \ - ../src/file_frame_widget.h - + ../src/pdf_file_widget.h SOURCES += \ ../src/main.cpp \ - ../src/file_widget.cpp \ ../src/pdf_factory.cpp \ ../src/pdf_page_widget.cpp \ ../src/table_view.cpp \ - ../src/file_frame_widget.cpp + ../src/pdf_file_widget.cpp RESOURCES += hpdf.qrc diff --git a/src/file_frame_widget.cpp b/src/file_frame_widget.cpp deleted file mode 100644 index ab5dc0b..0000000 --- a/src/file_frame_widget.cpp +++ /dev/null @@ -1,60 +0,0 @@ -#include -#include -#include "file_frame_widget.h" - -#define COLLAPSE_BUTTON_WIDTH 60 -#define COLLAPSE_BUTTON_HEIGHT 40 - -FileFrameWidget::FileFrameWidget(QWidget* parent) { - setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed); - - topLayout = new QGridLayout(); - - scrollArea = new QScrollArea(); - mainChild = new FileWidget(); - - widgetName = new QLabel(); - widgetName->setText(tr("File 1")); - topLayout->addWidget(widgetName, 0, 1); - - collapseButton = new QPushButton(tr("X")); - collapseButton->setMinimumSize(QSize(COLLAPSE_BUTTON_WIDTH, COLLAPSE_BUTTON_HEIGHT)); - collapseButton->setMaximumSize(QSize(COLLAPSE_BUTTON_WIDTH, COLLAPSE_BUTTON_HEIGHT)); - connect(collapseButton, SIGNAL(released()), this, SLOT(collapsedButtonClick())); - topLayout->addWidget(collapseButton, 0, 0); - - topLayout->addWidget(scrollArea, 1, 0, 1, 5); - scrollArea->setWidget(mainChild); - - setLayout(topLayout); - - setCollapsed(false); - adjustSize(); -} - -QSize FileFrameWidget::sizeHint() const { - if(collapsed == true) - return QSize(mainChild->width(), collapseButton->height()); - else - return QSize(mainChild->width(), collapseButton->height() + mainChild->height() + 50); -} - -void FileFrameWidget::setCollapsed(bool state) { - if(state == true) { - collapsed = true; - scrollArea->hide(); - } else { - collapsed = false; - scrollArea->show(); - } - - adjustSize(); -} - -void FileFrameWidget::collapsedButtonClick(void) { - if(collapsed == true) - setCollapsed(false); - else - setCollapsed(true); -} - diff --git a/src/file_frame_widget.h b/src/file_frame_widget.h deleted file mode 100644 index 71e0f66..0000000 --- a/src/file_frame_widget.h +++ /dev/null @@ -1,35 +0,0 @@ -#include -#include -#include -#include -#include -#include - -#include "file_widget.h" - -class FileFrameWidget : public QWidget { - Q_OBJECT - Q_PROPERTY(bool collapsed READ isCollapsed WRITE setCollapsed) - -public: - FileFrameWidget(QWidget* parent = 0); - QSize sizeHint(void) const; - - bool isCollapsed() { return collapsed; } - void setCollapsed(bool collapsed); - -protected: - -private slots: - void collapsedButtonClick(void); -private: - QGridLayout* topLayout; - - QLabel* widgetName; - QPushButton* collapseButton; - QScrollArea* scrollArea; - FileWidget* mainChild; - - bool collapsed; -}; - diff --git a/src/file_widget.cpp b/src/pdf_file_widget.cpp similarity index 60% rename from src/file_widget.cpp rename to src/pdf_file_widget.cpp index 1fcccc6..50d0349 100644 --- a/src/file_widget.cpp +++ b/src/pdf_file_widget.cpp @@ -1,3 +1,6 @@ +#include +#include + #include #include #include @@ -5,13 +8,15 @@ #include #include #include -#include -#include "file_widget.h" +#include "pdf_file_widget.h" #include "pdf_page_widget.h" -#define CHILD_AREA_WIDTH 150 -#define CHILD_AREA_HEIGHT 150 +#define COLLAPSE_BUTTON_WIDTH 60 +#define COLLAPSE_BUTTON_HEIGHT 40 + +#define CHILD_AREA_WIDTH 150 +#define CHILD_AREA_HEIGHT 150 FileWidget::FileWidget(QWidget* parent) { setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed); @@ -94,3 +99,56 @@ int FileWidget::findChildPositionInLayout(PDFPageWidget* child) { return getChildCount()-1; } +PDFFileWidget::PDFFileWidget(QWidget* parent) { + setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed); + + topLayout = new QGridLayout(); + + scrollArea = new QScrollArea(); + mainChild = new FileWidget(); + + widgetName = new QLabel(); + widgetName->setText(tr("File 1")); + topLayout->addWidget(widgetName, 0, 1); + + collapseButton = new QPushButton(tr("X")); + collapseButton->setMinimumSize(QSize(COLLAPSE_BUTTON_WIDTH, COLLAPSE_BUTTON_HEIGHT)); + collapseButton->setMaximumSize(QSize(COLLAPSE_BUTTON_WIDTH, COLLAPSE_BUTTON_HEIGHT)); + connect(collapseButton, SIGNAL(released()), this, SLOT(collapsedButtonClick())); + topLayout->addWidget(collapseButton, 0, 0); + + topLayout->addWidget(scrollArea, 1, 0, 1, 5); + scrollArea->setWidget(mainChild); + + setLayout(topLayout); + + setCollapsed(false); + adjustSize(); +} + +QSize PDFFileWidget::sizeHint() const { + if(collapsed == true) + return QSize(mainChild->width(), collapseButton->height()); + else + return QSize(mainChild->width(), collapseButton->height() + mainChild->height() + 50); +} + +void PDFFileWidget::setCollapsed(bool state) { + if(state == true) { + collapsed = true; + scrollArea->hide(); + } else { + collapsed = false; + scrollArea->show(); + } + + adjustSize(); +} + +void PDFFileWidget::collapsedButtonClick(void) { + if(collapsed == true) + setCollapsed(false); + else + setCollapsed(true); +} + diff --git a/src/file_widget.h b/src/pdf_file_widget.h similarity index 51% rename from src/file_widget.h rename to src/pdf_file_widget.h index 215ddbe..8ca2307 100644 --- a/src/file_widget.h +++ b/src/pdf_file_widget.h @@ -1,5 +1,9 @@ #include +#include #include +#include +#include +#include #include #include #include @@ -26,3 +30,31 @@ private: int getChildCount() const; }; +class PDFFileWidget : public QWidget { + Q_OBJECT + Q_PROPERTY(bool collapsed READ isCollapsed WRITE setCollapsed) + +public: + PDFFileWidget(QWidget* parent = 0); + QSize sizeHint() const; + + bool isCollapsed(void) { return collapsed; } + void setCollapsed(bool collapsed); + +protected: + + +private slots: + void collapsedButtonClick(); + +private: + QGridLayout* topLayout; + + QLabel* widgetName; + QPushButton* collapseButton; + QScrollArea* scrollArea; + FileWidget* mainChild; + + bool collapsed; +}; + diff --git a/src/table_view.cpp b/src/table_view.cpp index 0905af9..e94a000 100644 --- a/src/table_view.cpp +++ b/src/table_view.cpp @@ -3,9 +3,9 @@ #include #include "table_view.h" #include "pdf_page_widget.h" -#include "file_frame_widget.h" +#include "pdf_file_widget.h" -FileFrameWidget* test[10]; +PDFFileWidget* test[10]; TableView::TableView(QWidget* parent) : QWidget(parent) { outerLayout = new QVBoxLayout(); @@ -32,7 +32,7 @@ TableView::TableView(QWidget* parent) : QWidget(parent) { }*/ for(i = 0; i < 10; i++) { - test[i] = new FileFrameWidget(); + test[i] = new PDFFileWidget(); /*test[i]->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Ignored);*/ layout->addWidget(test[i]);