aboutsummaryrefslogtreecommitdiff
path: root/src-qt5/desktop-utils/lumina-pdf/mainUI.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src-qt5/desktop-utils/lumina-pdf/mainUI.cpp')
-rw-r--r--src-qt5/desktop-utils/lumina-pdf/mainUI.cpp47
1 files changed, 20 insertions, 27 deletions
diff --git a/src-qt5/desktop-utils/lumina-pdf/mainUI.cpp b/src-qt5/desktop-utils/lumina-pdf/mainUI.cpp
index b25f61fb..24955bb1 100644
--- a/src-qt5/desktop-utils/lumina-pdf/mainUI.cpp
+++ b/src-qt5/desktop-utils/lumina-pdf/mainUI.cpp
@@ -15,8 +15,8 @@
#include <QDebug>
#include <QApplication>
#include <QScreen>
-#include <iostream>
#include <QtConcurrent>
+#include <QSplitter>
#include <LuminaXDG.h>
#include "PrintWidget.h"
@@ -29,44 +29,35 @@ MainUI::MainUI() : QMainWindow(), ui(new Ui::MainUI()){
CurrentPage = 1;
lastdir = QDir::homePath();
BACKEND = new Renderer();
+
+ //Create the interface widgets
PROPDIALOG = new PropDialog(BACKEND);
- BOOKMARKS = new BookmarkMenu(BACKEND, this->centralWidget());
+ BOOKMARKS = new BookmarkMenu(BACKEND, ui->splitter);
BOOKMARKS->setContextMenuPolicy(Qt::CustomContextMenu);
- //BOOKMARKS->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
- //Create the interface widgets
- WIDGET = new PrintWidget(BACKEND, this->centralWidget());
+ WIDGET = new PrintWidget(BACKEND, ui->splitter);
WIDGET->setContextMenuPolicy(Qt::CustomContextMenu);
- //WIDGET->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
- loadingQueue.clear();
+ ui->splitter->setCollapsible(0, true);
+ ui->splitter->setCollapsible(1, false);
clockTimer = new QTimer(this);
clockTimer->setInterval(1000); //1-second updates to clock
connect(clockTimer, SIGNAL(timeout()), this, SLOT(updateClock()) );
- //frame_presenter = new QFrame(this);
label_clock = new QLabel(this);
label_clock->setAlignment(Qt::AlignCenter );
label_clock->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Preferred);
label_clock->setStyleSheet("QLabel{color: palette(highlight-text); background-color: palette(highlight); border-radius: 5px; }");
-
label_page = new QLabel(this);
label_page->setAlignment(Qt::AlignRight | Qt::AlignVCenter);
label_page->setSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::Preferred);
- //Context Menu
+
contextMenu = new QMenu(this);
connect(contextMenu, SIGNAL(aboutToShow()), this, SLOT(updateContextMenu()));
- this->centralWidget()->layout()->replaceWidget(ui->label_replaceme, WIDGET);
- ui->label_replaceme->setVisible(false);
- this->centralWidget()->layout()->replaceWidget(ui->label_replaceme2, BOOKMARKS);
- ui->label_replaceme2->setVisible(false);
- QSizePolicy policy(QSizePolicy::Expanding, QSizePolicy::Expanding);
- policy.setHorizontalStretch(1);
- BOOKMARKS->setSizePolicy(policy);
- policy.setHorizontalStretch(4);
- WIDGET->setSizePolicy(policy);
+
connect(WIDGET, SIGNAL(customContextMenuRequested(const QPoint&)),this, SLOT(showContextMenu(const QPoint&)) );
connect(WIDGET, SIGNAL(currentPageChanged()), this, SLOT(updatePageNumber()) );
connect(BACKEND, SIGNAL(PageLoaded(int)), this, SLOT(slotPageLoaded(int)) );
connect(BACKEND, SIGNAL(reloadPages(int)), this, SLOT(startLoadingPages(int)));
connect(BACKEND, SIGNAL(goToPosition(int, float, float)), WIDGET, SLOT(goToPosition(int, float, float)));
+ connect(ui->splitter, SIGNAL(splitterMoved(int, int)), this, SLOT(splitterMoved()) );
PrintDLG = new QPrintDialog(this);
connect(PrintDLG, SIGNAL(accepted(QPrinter*)), this, SLOT(paintToPrinter(QPrinter*)) );
@@ -97,8 +88,6 @@ MainUI::MainUI() : QMainWindow(), ui(new Ui::MainUI()){
tmp->addAction(ui->actionAll_Pages);
ui->actionSingle_Page->setChecked(true);
- //qDebug() << "Starting connections";
-
//Connect up the buttons
connect(ui->actionClose, SIGNAL(triggered()), this, SLOT(close()) );
connect(ui->actionPrint, SIGNAL(triggered()), PrintDLG, SLOT(open()) );
@@ -145,9 +134,7 @@ MainUI::MainUI() : QMainWindow(), ui(new Ui::MainUI()){
[&] { ui->findGroup->setVisible(false); this->setFocus(); });
connect(ui->actionClearHighlights, &QAction::triggered, WIDGET,
[&] { WIDGET->updatePreview(); });
- connect(ui->actionBookmarks, &QAction::triggered, this, [=] () { BOOKMARKS->setVisible(true); });
-
- //qDebug() << "Finished connctions";
+ connect(ui->actionBookmarks, &QAction::triggered, this, [=] () { ui->splitter->setSizes( QList<int>() << this->width()/4 << 3*this->width()/4); });
//int curP = WIDGET->currentPage()-1; //currentPage reports pages starting at 1
//int lastP = numPages-1;
@@ -371,6 +358,7 @@ void MainUI::startLoadingPages(int degrees){
loadingQueue.clear();
BACKEND->clearHash();
WIDGET->setVisible(false);
+ BOOKMARKS->setVisible(false);
//qDebug() << "Update Progress Bar";
progress->setRange(0, BACKEND->numPages());
progress->setValue(0);
@@ -408,6 +396,8 @@ void MainUI::slotPageLoaded(int page){
if(finished == BACKEND->numPages()){
progAct->setVisible(false);
WIDGET->setVisible(true);
+ BOOKMARKS->setVisible(true);
+ ui->splitter->setSizes(QList<int>() << 0 << this->width());
WIDGET->setCurrentPage(1);
ui->actionStop_Presentation->setEnabled(false);
ui->actionStart_Here->setEnabled(true);
@@ -628,9 +618,6 @@ void MainUI::find(QString text, bool forward) {
ui->resultsLabel->setText(QString::number(currentHighlight+1) + " of " + QString::number(results.size()) + " results");
TextData *currentText = results[currentHighlight];
- WIDGET->setCurrentPage(currentText->page());
-
- //qDebug() << "Jump to page: " << currentText.page;
if(BACKEND->supportsExtraFeatures())
WIDGET->highlightText(currentText);
@@ -639,3 +626,9 @@ void MainUI::find(QString text, bool forward) {
}
}
}
+
+void MainUI::splitterMoved() {
+ float percent = (ui->splitter->sizes().first() / ( (float) this->width()) )*100.0;
+ percent = percent > 33.3 ? 33.3 : percent;
+ ui->splitter->setSizes( QList<int>() << this->width()*(percent/100.0) << this->width() * ((100.0-percent)/100.0) );
+}
bgstack15