diff options
author | Ken Moore <ken@ixsystems.com> | 2017-12-21 09:47:39 -0500 |
---|---|---|
committer | Ken Moore <ken@ixsystems.com> | 2017-12-21 09:47:39 -0500 |
commit | 6fa4f14708a67c57d7b6753c4e933df2e6b2f583 (patch) | |
tree | e867e7fc3c61535b1c74d956556cc31c630a5ead /src-qt5/desktop-utils | |
parent | Turn of some stdout messages within the Qt theme plugin. (diff) | |
parent | Merge branch 'master' of https://github.com/trueos/lumina (diff) | |
download | lumina-6fa4f14708a67c57d7b6753c4e933df2e6b2f583.tar.gz lumina-6fa4f14708a67c57d7b6753c4e933df2e6b2f583.tar.bz2 lumina-6fa4f14708a67c57d7b6753c4e933df2e6b2f583.zip |
Merge branch 'master' of github.com:trueos/lumina
Diffstat (limited to 'src-qt5/desktop-utils')
-rw-r--r-- | src-qt5/desktop-utils/lumina-mediaplayer/i18n/l-mediap_cs.ts | 26 | ||||
-rw-r--r-- | src-qt5/desktop-utils/lumina-mediaplayer/i18n/l-mediap_da.ts | 26 | ||||
-rw-r--r-- | src-qt5/desktop-utils/lumina-mediaplayer/i18n/l-mediap_hu.ts | 70 | ||||
-rw-r--r-- | src-qt5/desktop-utils/lumina-mediaplayer/i18n/l-mediap_lt.ts | 4 | ||||
-rw-r--r-- | src-qt5/desktop-utils/lumina-pdf/lumina-pdf.pro | 9 | ||||
-rw-r--r-- | src-qt5/desktop-utils/lumina-pdf/mainUI.cpp | 186 | ||||
-rw-r--r-- | src-qt5/desktop-utils/lumina-pdf/mainUI.h | 55 | ||||
-rw-r--r-- | src-qt5/desktop-utils/lumina-pdf/mainUI.ui | 57 | ||||
-rw-r--r-- | src-qt5/desktop-utils/lumina-pdf/propDialog.cpp | 54 | ||||
-rw-r--r-- | src-qt5/desktop-utils/lumina-pdf/propDialog.h | 25 | ||||
-rw-r--r-- | src-qt5/desktop-utils/lumina-pdf/propDialog.ui | 601 |
11 files changed, 896 insertions, 217 deletions
diff --git a/src-qt5/desktop-utils/lumina-mediaplayer/i18n/l-mediap_cs.ts b/src-qt5/desktop-utils/lumina-mediaplayer/i18n/l-mediap_cs.ts index b434a529..d1e93554 100644 --- a/src-qt5/desktop-utils/lumina-mediaplayer/i18n/l-mediap_cs.ts +++ b/src-qt5/desktop-utils/lumina-mediaplayer/i18n/l-mediap_cs.ts @@ -368,67 +368,67 @@ <message> <location filename="../../../core/libLumina/LuminaXDG.cpp" line="608"/> <source>Multimedia</source> - <translation type="unfinished"></translation> + <translation>Multimédia</translation> </message> <message> <location filename="../../../core/libLumina/LuminaXDG.cpp" line="609"/> <source>Development</source> - <translation type="unfinished"></translation> + <translation>Vývoj</translation> </message> <message> <location filename="../../../core/libLumina/LuminaXDG.cpp" line="610"/> <source>Education</source> - <translation type="unfinished"></translation> + <translation>Výuka</translation> </message> <message> <location filename="../../../core/libLumina/LuminaXDG.cpp" line="611"/> <source>Games</source> - <translation type="unfinished"></translation> + <translation>Hry</translation> </message> <message> <location filename="../../../core/libLumina/LuminaXDG.cpp" line="612"/> <source>Graphics</source> - <translation type="unfinished"></translation> + <translation>Grafika</translation> </message> <message> <location filename="../../../core/libLumina/LuminaXDG.cpp" line="613"/> <source>Network</source> - <translation type="unfinished"></translation> + <translation>Sítě</translation> </message> <message> <location filename="../../../core/libLumina/LuminaXDG.cpp" line="614"/> <source>Office</source> - <translation type="unfinished"></translation> + <translation>Kancelář</translation> </message> <message> <location filename="../../../core/libLumina/LuminaXDG.cpp" line="615"/> <source>Science</source> - <translation type="unfinished"></translation> + <translation>Věda</translation> </message> <message> <location filename="../../../core/libLumina/LuminaXDG.cpp" line="616"/> <source>Settings</source> - <translation type="unfinished">Nastavení</translation> + <translation>Nastavení</translation> </message> <message> <location filename="../../../core/libLumina/LuminaXDG.cpp" line="617"/> <source>System</source> - <translation type="unfinished"></translation> + <translation>Systém</translation> </message> <message> <location filename="../../../core/libLumina/LuminaXDG.cpp" line="618"/> <source>Utility</source> - <translation type="unfinished"></translation> + <translation>Nástroje</translation> </message> <message> <location filename="../../../core/libLumina/LuminaXDG.cpp" line="619"/> <source>Wine</source> - <translation type="unfinished"></translation> + <translation>Wine</translation> </message> <message> <location filename="../../../core/libLumina/LuminaXDG.cpp" line="620"/> <source>Unsorted</source> - <translation type="unfinished"></translation> + <translation>Různé</translation> </message> </context> </TS> diff --git a/src-qt5/desktop-utils/lumina-mediaplayer/i18n/l-mediap_da.ts b/src-qt5/desktop-utils/lumina-mediaplayer/i18n/l-mediap_da.ts index b2f87e32..f428d94e 100644 --- a/src-qt5/desktop-utils/lumina-mediaplayer/i18n/l-mediap_da.ts +++ b/src-qt5/desktop-utils/lumina-mediaplayer/i18n/l-mediap_da.ts @@ -368,67 +368,67 @@ <message> <location filename="../../../core/libLumina/LuminaXDG.cpp" line="608"/> <source>Multimedia</source> - <translation type="unfinished"></translation> + <translation>Multimedie</translation> </message> <message> <location filename="../../../core/libLumina/LuminaXDG.cpp" line="609"/> <source>Development</source> - <translation type="unfinished"></translation> + <translation>Udvikling</translation> </message> <message> <location filename="../../../core/libLumina/LuminaXDG.cpp" line="610"/> <source>Education</source> - <translation type="unfinished"></translation> + <translation>Læring</translation> </message> <message> <location filename="../../../core/libLumina/LuminaXDG.cpp" line="611"/> <source>Games</source> - <translation type="unfinished"></translation> + <translation>Spil</translation> </message> <message> <location filename="../../../core/libLumina/LuminaXDG.cpp" line="612"/> <source>Graphics</source> - <translation type="unfinished"></translation> + <translation>Grafik</translation> </message> <message> <location filename="../../../core/libLumina/LuminaXDG.cpp" line="613"/> <source>Network</source> - <translation type="unfinished"></translation> + <translation>Netværk</translation> </message> <message> <location filename="../../../core/libLumina/LuminaXDG.cpp" line="614"/> <source>Office</source> - <translation type="unfinished"></translation> + <translation>Kontor</translation> </message> <message> <location filename="../../../core/libLumina/LuminaXDG.cpp" line="615"/> <source>Science</source> - <translation type="unfinished"></translation> + <translation>Videnskab</translation> </message> <message> <location filename="../../../core/libLumina/LuminaXDG.cpp" line="616"/> <source>Settings</source> - <translation type="unfinished">Indstillinger</translation> + <translation>Indstillinger</translation> </message> <message> <location filename="../../../core/libLumina/LuminaXDG.cpp" line="617"/> <source>System</source> - <translation type="unfinished"></translation> + <translation>System</translation> </message> <message> <location filename="../../../core/libLumina/LuminaXDG.cpp" line="618"/> <source>Utility</source> - <translation type="unfinished"></translation> + <translation>Redskab</translation> </message> <message> <location filename="../../../core/libLumina/LuminaXDG.cpp" line="619"/> <source>Wine</source> - <translation type="unfinished"></translation> + <translation>Wine</translation> </message> <message> <location filename="../../../core/libLumina/LuminaXDG.cpp" line="620"/> <source>Unsorted</source> - <translation type="unfinished"></translation> + <translation>Usorteret</translation> </message> </context> </TS> diff --git a/src-qt5/desktop-utils/lumina-mediaplayer/i18n/l-mediap_hu.ts b/src-qt5/desktop-utils/lumina-mediaplayer/i18n/l-mediap_hu.ts index e9b03cec..1a2cf1aa 100644 --- a/src-qt5/desktop-utils/lumina-mediaplayer/i18n/l-mediap_hu.ts +++ b/src-qt5/desktop-utils/lumina-mediaplayer/i18n/l-mediap_hu.ts @@ -7,7 +7,7 @@ <location filename="../mainUI.ui" line="14"/> <location filename="../mainUI.cpp" line="285"/> <source>Media Player</source> - <translation type="unfinished"></translation> + <translation>Média lejátszó</translation> </message> <message> <location filename="../mainUI.ui" line="50"/> @@ -362,72 +362,4 @@ <translation type="unfinished"></translation> </message> </context> -<context> - <name>XDGDesktopList</name> - <message> - <location filename="../../../core/libLumina/LuminaXDG.cpp" line="608"/> - <source>Multimedia</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../../../core/libLumina/LuminaXDG.cpp" line="609"/> - <source>Development</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../../../core/libLumina/LuminaXDG.cpp" line="610"/> - <source>Education</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../../../core/libLumina/LuminaXDG.cpp" line="611"/> - <source>Games</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../../../core/libLumina/LuminaXDG.cpp" line="612"/> - <source>Graphics</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../../../core/libLumina/LuminaXDG.cpp" line="613"/> - <source>Network</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../../../core/libLumina/LuminaXDG.cpp" line="614"/> - <source>Office</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../../../core/libLumina/LuminaXDG.cpp" line="615"/> - <source>Science</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../../../core/libLumina/LuminaXDG.cpp" line="616"/> - <source>Settings</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../../../core/libLumina/LuminaXDG.cpp" line="617"/> - <source>System</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../../../core/libLumina/LuminaXDG.cpp" line="618"/> - <source>Utility</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../../../core/libLumina/LuminaXDG.cpp" line="619"/> - <source>Wine</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../../../core/libLumina/LuminaXDG.cpp" line="620"/> - <source>Unsorted</source> - <translation type="unfinished"></translation> - </message> -</context> </TS> diff --git a/src-qt5/desktop-utils/lumina-mediaplayer/i18n/l-mediap_lt.ts b/src-qt5/desktop-utils/lumina-mediaplayer/i18n/l-mediap_lt.ts index 8064f28a..8b7d56ba 100644 --- a/src-qt5/desktop-utils/lumina-mediaplayer/i18n/l-mediap_lt.ts +++ b/src-qt5/desktop-utils/lumina-mediaplayer/i18n/l-mediap_lt.ts @@ -280,7 +280,7 @@ <message> <location filename="../mainUI.cpp" line="105"/> <source>Please install the `pianobar` utility to enable this functionality</source> - <translation>Norėdami įjungti šį funkcionalumą, įdiekite "pianobar" paslaugų programą</translation> + <translation>Norėdami įjungti šį funkcionalumą, įdiekite "pianobar" paslaugų programą</translation> </message> <message> <location filename="../mainUI.cpp" line="109"/> @@ -368,7 +368,7 @@ <message> <location filename="../../../core/libLumina/LuminaXDG.cpp" line="608"/> <source>Multimedia</source> - <translation type="unfinished"></translation> + <translation>Multimedija</translation> </message> <message> <location filename="../../../core/libLumina/LuminaXDG.cpp" line="609"/> diff --git a/src-qt5/desktop-utils/lumina-pdf/lumina-pdf.pro b/src-qt5/desktop-utils/lumina-pdf/lumina-pdf.pro index 894d21f2..3a031067 100644 --- a/src-qt5/desktop-utils/lumina-pdf/lumina-pdf.pro +++ b/src-qt5/desktop-utils/lumina-pdf/lumina-pdf.pro @@ -18,13 +18,16 @@ include(../../core/libLumina/LuminaXDG.pri) message("Qt Modules Needed: $${QT}") SOURCES += main.cpp \ - mainUI.cpp + mainUI.cpp \ + propDialog.cpp HEADERS += mainUI.h \ CM_PrintPreviewWidget.h \ - PresentationLabel.h + PresentationLabel.h \ + PropDialog.h -FORMS += mainUI.ui +FORMS += mainUI.ui \ + propDialog.ui LIBS += -lpoppler-qt5 diff --git a/src-qt5/desktop-utils/lumina-pdf/mainUI.cpp b/src-qt5/desktop-utils/lumina-pdf/mainUI.cpp index ce2707c9..f0429b9d 100644 --- a/src-qt5/desktop-utils/lumina-pdf/mainUI.cpp +++ b/src-qt5/desktop-utils/lumina-pdf/mainUI.cpp @@ -28,7 +28,6 @@ MainUI::MainUI() : QMainWindow(), ui(new Ui::MainUI()){ this->setWindowIcon( LXDG::findIcon("application-pdf","unknown")); presentationLabel = 0; CurrentPage = 0; - ccw = 0; lastdir = QDir::homePath(); Printer = new QPrinter(); //Create the interface widgets @@ -47,6 +46,7 @@ MainUI::MainUI() : QMainWindow(), ui(new Ui::MainUI()){ //Now put the widgets into the UI this->setCentralWidget(WIDGET); WIDGET->setContextMenuPolicy(Qt::CustomContextMenu); + connect(qApp, SIGNAL(focusChanged(QWidget*, QWidget*)), this, SLOT(newFocus(QWidget*, QWidget*))); connect(WIDGET, SIGNAL(customContextMenuRequested(const QPoint&)),this, SLOT(showContextMenu(const QPoint&)) ); connect(WIDGET, SIGNAL(paintRequested(QPrinter*)), this, SLOT(paintOnWidget(QPrinter*)) ); DOC = 0; @@ -54,7 +54,7 @@ MainUI::MainUI() : QMainWindow(), ui(new Ui::MainUI()){ PrintDLG = new QPrintDialog(this); connect(PrintDLG, SIGNAL(accepted(QPrinter*)), this, SLOT(paintToPrinter(QPrinter*)) ); - connect(ui->menuStart_Presentation, SIGNAL(triggered(QAction*)), this, SLOT(slotStartPresentation(QAction*)) ); + //connect(ui->menuStart_Presentation, SIGNAL(triggered(QAction*)), this, SLOT(slotStartPresentation(QAction*)) ); //Create the other interface widgets progress = new QProgressBar(this); @@ -88,11 +88,37 @@ MainUI::MainUI() : QMainWindow(), ui(new Ui::MainUI()){ connect(ui->actionSingle_Page, SIGNAL(triggered()), WIDGET, SLOT(setSinglePageViewMode()) ); connect(ui->actionDual_Pages, SIGNAL(triggered()), WIDGET, SLOT(setFacingPagesViewMode()) ); connect(ui->actionAll_Pages, SIGNAL(triggered()), WIDGET, SLOT(setAllPagesViewMode()) ); - connect(ui->actionScroll_Mode, SIGNAL(toggled(bool)), this, SLOT(setScroll(bool)) ); + //connect(ui->actionScroll_Mode, &QAction::triggered, this, [&] { this->setScroll(true); }); + //connect(ui->actionSelect_Mode, &QAction::triggered, this, [&] { this->setScroll(false); }); connect(ui->actionZoom_In, &QAction::triggered, WIDGET, [&] { WIDGET->zoomIn(1.2); }); connect(ui->actionZoom_Out, &QAction::triggered, WIDGET, [&] { WIDGET->zoomOut(1.2); }); - connect(ui->actionRotate_Counterclockwise, &QAction::triggered, this, [&] { this->rotate(Printer, true); }); - connect(ui->actionRotate_Clockwise, &QAction::triggered, this, [&] { this->rotate(Printer, false); }); + connect(ui->actionRotate_Counterclockwise, &QAction::triggered, this, [&] { this->rotate(true); }); + connect(ui->actionRotate_Clockwise, &QAction::triggered, this, [&] { this->rotate(false); }); + connect(ui->actionZoom_In_2, &QAction::triggered, WIDGET, [&] { WIDGET->zoomIn(1.2); }); + connect(ui->actionZoom_Out_2, &QAction::triggered, WIDGET, [&] { WIDGET->zoomOut(1.2); }); + connect(ui->actionFirst_Page, SIGNAL(triggered()), this, SLOT(firstPage()) ); + connect(ui->actionPrevious_Page, SIGNAL(triggered()), this, SLOT(prevPage()) ); + connect(ui->actionNext_Page, SIGNAL(triggered()), this, SLOT(nextPage()) ); + connect(ui->actionLast_Page, SIGNAL(triggered()), this, SLOT(lastPage()) ); + connect(ui->actionProperties, SIGNAL(triggered()), this, SLOT(showInformation())); + + //int curP = WIDGET->currentPage()-1; //currentPage reports pages starting at 1 + //int lastP = numPages-1; + ui->actionFirst_Page->setText(tr("First Page")); + ui->actionPrevious_Page->setText(tr("Previous Page")); + ui->actionNext_Page->setText(tr("Next Page")); + ui->actionLast_Page->setText(tr("Last Page")); + /*ui->actionFirst_Page->setEnabled(curP!=0); + ui->actionPrevious_Page->setEnabled(curP>0); + ui->actionNext_Page->setEnabled(curP<lastP); + ui->actionLast_Page->setEnabled(curP!=lastP);*/ + + ui->actionStart_Here->setText(tr("Start Presentation (current slide)")); + connect(ui->actionStart_Here, SIGNAL(triggered()), this, SLOT(startPresentationHere()) ); + ui->actionStart_Begin->setText(tr("Start Presentation (at beginning)")); + connect(ui->actionStart_Begin, SIGNAL(triggered()), this, SLOT(startPresentationBeginning()) ); + ui->actionStop_Presentation->setText(tr("Stop Presentation")); + connect(ui->actionStop_Presentation, SIGNAL(triggered()), this, SLOT(closePresentation()) ); //Setup all the icons ui->actionPrint->setIcon( LXDG::findIcon("document-print","")); @@ -104,14 +130,31 @@ MainUI::MainUI() : QMainWindow(), ui(new Ui::MainUI()){ ui->actionDual_Pages->setIcon(LXDG::findIcon("format-view-grid-small","")); ui->actionAll_Pages->setIcon(LXDG::findIcon("format-view-grid-large","")); ui->actionScroll_Mode->setIcon(LXDG::findIcon("cursor-pointer","")); + ui->actionSelect_Mode->setIcon(LXDG::findIcon("cursor-text","")); ui->actionZoom_In->setIcon(LXDG::findIcon("zoom-in","")); ui->actionZoom_Out->setIcon(LXDG::findIcon("zoom-out","")); + ui->actionZoom_In_2->setIcon(LXDG::findIcon("zoom-in","")); + ui->actionZoom_Out_2->setIcon(LXDG::findIcon("zoom-out","")); ui->actionRotate_Counterclockwise->setIcon(LXDG::findIcon("object-rotate-left","")); ui->actionRotate_Clockwise->setIcon(LXDG::findIcon("object-rotate-right","")); + ui->actionFirst_Page->setIcon(LXDG::findIcon("go-first","")); + ui->actionPrevious_Page->setIcon(LXDG::findIcon("go-previous","")); + ui->actionNext_Page->setIcon(LXDG::findIcon("go-next","")); + ui->actionLast_Page->setIcon(LXDG::findIcon("go-last","")); + ui->actionStart_Here->setIcon(LXDG::findIcon("media-playback-start-circled","")); + ui->actionStart_Begin->setIcon(LXDG::findIcon("presentation-play","")); + ui->actionStop_Presentation->setIcon(LXDG::findIcon("media-playback-stop-circled","")); + ui->actionBookmarks->setIcon(LXDG::findIcon("bookmark-new","")); + ui->actionFind->setIcon(LXDG::findIcon("edit-find","")); + ui->actionFind_Next->setIcon(LXDG::findIcon("edit-find-next","")); + ui->actionFind_Previous->setIcon(LXDG::findIcon("edit-find-prev","")); + ui->actionProperties->setIcon(LXDG::findIcon("dialog-information","")); + ui->actionSettings->setIcon(LXDG::findIcon("document-properties","")); //Now set the default state of the menu's and actions - ui->menuStart_Presentation->setEnabled(false); ui->actionStop_Presentation->setEnabled(false); + ui->actionStart_Here->setEnabled(false); + ui->actionStart_Begin->setEnabled(false); } MainUI::~MainUI(){ @@ -256,7 +299,8 @@ void MainUI::startPresentation(bool atStart){ presentationLabel->showFullScreen(); ui->actionStop_Presentation->setEnabled(true); - ui->menuStart_Presentation->setEnabled(false); + ui->actionStart_Here->setEnabled(false); + ui->actionStart_Begin->setEnabled(false); updateClock(); clockAct->setVisible(true); clockTimer->start(); @@ -296,7 +340,8 @@ void MainUI::endPresentation(){ if(presentationLabel==0 || !presentationLabel->isVisible()){ return; } //not in presentation mode presentationLabel->hide(); //just hide this (no need to re-create the label for future presentations) ui->actionStop_Presentation->setEnabled(false); - ui->menuStart_Presentation->setEnabled(true); + ui->actionStart_Here->setEnabled(true); + ui->actionStart_Begin->setEnabled(true); clockTimer->stop(); clockAct->setVisible(false); this->releaseKeyboard(); @@ -311,8 +356,6 @@ void MainUI::startLoadingPages(QPrinter *printer){ progress->setValue(0); progAct->setVisible(true); QRectF pageSize = printer->pageRect(QPrinter::DevicePixel); - printer->setPageSize(QPageSize(QSize(pageSize.width()*2, pageSize.height()*2))); - qDebug() << "Starting size" << pageSize.size(); QSize DPI(printer->resolution(),printer->resolution()); /*qDebug() << "Screen Resolutions:"; QList<QScreen*> screens = QApplication::screens(); @@ -321,49 +364,46 @@ void MainUI::startLoadingPages(QPrinter *printer){ }*/ for(int i=0; i<numPages; i++){ //qDebug() << " - Kickoff page load:" << i; - this->ccw = 0; + //this->ccw = 0; QtConcurrent::run(this, &MainUI::loadPage, i, DOC, this, DPI, pageSize.size()); } } void MainUI::slotPageLoaded(int page){ + Q_UNUSED(page); //qDebug() << "Page Loaded:" << page; int finished = loadingHash.keys().length(); if(finished == numPages){ progAct->setVisible(false); QTimer::singleShot(0, WIDGET, SLOT(updatePreview())); - qDebug() << "Updating"; + //qDebug() << "Updating"; ui->actionStop_Presentation->setEnabled(false); - ui->menuStart_Presentation->setEnabled(true); + ui->actionStart_Here->setEnabled(true); + ui->actionStart_Begin->setEnabled(true); }else{ progress->setValue(finished); } } -void MainUI::slotStartPresentation(QAction *act){ +/*void MainUI::slotStartPresentation(QAction *act){ startPresentation(act == ui->actionAt_Beginning); -} +}*/ void MainUI::paintOnWidget(QPrinter *PRINTER){ if(DOC==0){ return; } - //this->show(); - qDebug() << "Painting"; - qDebug() << numPages << loadingHash.keys().length(); if(loadingHash.keys().length() != numPages){ startLoadingPages(PRINTER); return; } + //Increase the resolution of the page to match the image to prevent downscaling + PRINTER->setPageSize(QPageSize(PRINTER->pageRect().size()*2)); + qDebug() << PRINTER->pageRect().size() << loadingHash[0].size(); QPainter painter(PRINTER); - for(int i=0; i<numPages; i++){ - if(i != 0){ PRINTER->newPage(); } //this is the start of the next page (not needed for first) - if(loadingHash.contains(i)){ painter.drawImage(0,0, loadingHash[i].scaled(PRINTER->pageRect().size(), Qt::KeepAspectRatio, Qt::SmoothTransformation)); qDebug() << PRINTER->pageRect().size();} - else{ painter.drawImage(0,0, QImage()); } - if(ccw != 0) { - QTransform transform; - transform.rotate((ccw-1) ? 270 : 90); - painter.setTransform(transform); - //painter.rotate((ccw-1) ? 270 : 90); - } - } + for(int i=0; i<numPages; i++){ + if(i != 0){ PRINTER->newPage(); } //this is the start of the next page (not needed for first) + if(loadingHash.contains(i)){ painter.drawImage(0,0, loadingHash[i].scaled(PRINTER->pageRect().size(), Qt::KeepAspectRatio, Qt::SmoothTransformation)); } + else{ painter.drawImage(0,0, QImage()); } + } WIDGET->setContextMenuPolicy(Qt::CustomContextMenu); + loadingHash.clear(); } void MainUI::paintToPrinter(QPrinter *PRINTER){ @@ -403,7 +443,6 @@ void MainUI::paintToPrinter(QPrinter *PRINTER){ } } //qDebug() << "Final Page Range:" << pageCount; - //return; //Generate the sizing information for the printer QSize sz(PRINTER->pageRect().width(), PRINTER->pageRect().height()); bool landscape = PRINTER->orientation()==QPrinter::Landscape; @@ -443,32 +482,85 @@ void MainUI::setScroll(bool tog) { }else{ QApplication::setOverrideCursor(Qt::IBeamCursor); } - //WIDGET-> } -void MainUI::rotate(QPrinter *printer, bool ccw) { - QRectF pageSize = printer->pageRect(QPrinter::DevicePixel); - QSize dpi(printer->resolution(),printer->resolution()); - this->ccw = ccw+1; - for(int i=0; i < numPages; i++) - QtConcurrent::run(this, &MainUI::loadPage, i, DOC, this, dpi, pageSize.size()); +void MainUI::rotate(bool ccw) { + for(int i = 0; i < numPages; i++) { + QImage image = loadingHash[i]; + //Setup a rotation matrix that rotates 90 degrees clockwise or counterclockwise + QMatrix matrix = (ccw) ? QMatrix(0, -1, 1, 0, 0, 0) : QMatrix(0, 1, -1, 0, 0, 0); + image = image.transformed(matrix, Qt::SmoothTransformation); + //Updates the image in the hash + loadingHash.insert(i, image); + } + //Rotates the page as well as the image + WIDGET->setOrientation((WIDGET->orientation() == QPrinter::Landscape) ? + QPrinter::Portrait : QPrinter::Landscape); + WIDGET->updatePreview(); } void MainUI::updateContextMenu(){ contextMenu->clear(); - int curP = WIDGET->currentPage()-1; //currentPage reports pages starting at 1 - int lastP = numPages-1; - contextMenu->addSection( QString(tr("Page %1 of %2")).arg(QString::number(curP+1), QString::number(lastP+1) ) ); - contextMenu->addAction(tr("Next Page"), this, SLOT(nextPage()))->setEnabled(curP<lastP); - contextMenu->addAction(tr("Previous Page"), this, SLOT(prevPage()))->setEnabled( curP>0 ); + contextMenu->addSection( QString(tr("Page %1 of %2")).arg(QString::number(WIDGET->currentPage()), + QString::number(numPages) ) ); + contextMenu->addAction(ui->actionPrevious_Page); + contextMenu->addAction(ui->actionNext_Page); contextMenu->addSeparator(); - contextMenu->addAction(tr("First Page"), this, SLOT(firstPage()))->setEnabled(curP!=0); - contextMenu->addAction(tr("Last Page"), this, SLOT(lastPage()))->setEnabled(curP!=lastP); + contextMenu->addAction(ui->actionFirst_Page); + contextMenu->addAction(ui->actionLast_Page); contextMenu->addSeparator(); if(presentationLabel==0 || !presentationLabel->isVisible()){ - contextMenu->addAction(tr("Start Presentation (current slide)"), this, SLOT(startPresentationHere()) ); - contextMenu->addAction(tr("Start Presentation (at beginning)"), this, SLOT(startPresentationBeginning()) ); + contextMenu->addAction(ui->actionStart_Begin); + contextMenu->addAction(ui->actionStart_Here); + }else{ + contextMenu->addAction(ui->actionStop_Presentation); + } +} + +void MainUI::keyPressEvent(QKeyEvent *event){ + //See if this is one of the special hotkeys and act appropriately + bool inPresentation = (presentationLabel!=0); + if( event->key()==Qt::Key_Escape || event->key()==Qt::Key_Backspace){ + if(inPresentation){ endPresentation(); } + }else if(event->key()==Qt::Key_Right || event->key()==Qt::Key_Space || + event->key()==Qt::Key_PageDown){ + nextPage(); + }else if(event->key()==Qt::Key_Left || event->key()==Qt::Key_PageUp){ + prevPage(); + }else if(event->key()==Qt::Key_Home){ + firstPage(); + }else if(event->key()==Qt::Key_End){ + lastPage(); + }else if(event->key()==Qt::Key_F11){ + if(inPresentation){ endPresentation(); } + else{ startPresentationHere(); } + }else if(event->key() == Qt::Key_Up) { + //Scroll the widget up + }else if(event->key() == Qt::Key_Down) { + //Scroll the widget down + /*qDebug() << "Send Wheel Event"; + QWheelEvent wEvent( WIDGET->mapFromGlobal(QCursor::pos()), QCursor::pos(),QPoint(0,0), QPoint(0,30), 0, Qt::Vertical, Qt::LeftButton, Qt::NoModifier); + QApplication::sendEvent(WIDGET, &wEvent);*/ }else{ - contextMenu->addAction(tr("Stop Presentation"), this, SLOT(closePresentation()) ); + QMainWindow::keyPressEvent(event); } } + +void MainUI::wheelEvent(QWheelEvent *event) { + //Scroll the window according to the mouse wheel + QMainWindow::wheelEvent(event); +} + +void MainUI::newFocus(QWidget *oldW, QWidget *newW) { + Q_UNUSED(oldW); + //qDebug() << "NEW: " << newW << "OLD: " << oldW; + if(newW and newW != this) { + newW->setFocusPolicy(Qt::NoFocus); + this->setFocus(); + } +} + +void MainUI::showInformation() { + PROPDIALOG = new PropDialog(DOC); + PROPDIALOG->show(); +} diff --git a/src-qt5/desktop-utils/lumina-pdf/mainUI.h b/src-qt5/desktop-utils/lumina-pdf/mainUI.h index 527bcb2a..18b3d231 100644 --- a/src-qt5/desktop-utils/lumina-pdf/mainUI.h +++ b/src-qt5/desktop-utils/lumina-pdf/mainUI.h @@ -21,6 +21,7 @@ #include <poppler/qt5/poppler-qt5.h> #include "PresentationLabel.h" +#include "propDialog.h" namespace Ui{ class MainUI; @@ -34,16 +35,13 @@ public: void loadFile(QString path); - private: Poppler::Document *DOC; QPrintPreviewWidget *WIDGET; Ui::MainUI *ui; + PropDialog *PROPDIALOG; QPrinter* Printer; QPrintDialog *PrintDLG; - - int ccw; - QString lastdir; //Other Interface elements @@ -72,7 +70,7 @@ private: private slots: void startLoadingPages(QPrinter *printer); void slotPageLoaded(int); - void slotStartPresentation(QAction *act); + //void slotStartPresentation(QAction *act); //Simplification routines void nextPage(){ ShowPage( WIDGET->currentPage() ); } //currentPage() starts at 1 rather than 0 @@ -82,8 +80,9 @@ private slots: void startPresentationHere(){ startPresentation(false); } void startPresentationBeginning(){ startPresentation(true); } void closePresentation(){ endPresentation(); } + void showInformation(); - + void newFocus(QWidget*, QWidget*); void paintOnWidget(QPrinter *PRINTER); void paintToPrinter(QPrinter *PRINTER); @@ -96,51 +95,13 @@ private slots: void updateContextMenu(); void setScroll(bool); - void rotate(QPrinter*, bool); + void rotate(bool); signals: void PageLoaded(int); protected: - void keyPressEvent(QKeyEvent *event){ - //See if this is one of the special hotkeys and act appropriately - //qDebug() << "Got Key Press:"; - bool inPresentation = (presentationLabel!=0); - if(!inPresentation){ - //Alternate functionality when **not** in presentation mode - /*if(event->key()==Qt::Key_Down){ - qDebug() << "Send Wheel Event"; - QWheelEvent event( WIDGET->mapFromGlobal(QCursor::pos()), QCursor::pos(),QPoint(0,0), QPoint(0,30), 0, Qt::Vertical, Qt::LeftButton, Qt::NoModifier); - QApplication::sendEvent(WIDGET, &event); - //WIDGET->scrollDown(); - return; - }else if(event->key()==Qt::Key_Up){ - return; - }*/ - } - - if( event->key()==Qt::Key_Escape || event->key()==Qt::Key_Backspace){ - //qDebug() << " - Escape/Backspace"; - if(inPresentation){ endPresentation(); } - }else if(event->key()==Qt::Key_Right || event->key()==Qt::Key_Down || event->key()==Qt::Key_Space || event->key()==Qt::Key_PageDown){ - //qDebug() << " - Right/Down/Spacebar" << inPresentation; - nextPage(); - }else if(event->key()==Qt::Key_Left || event->key()==Qt::Key_Up || event->key()==Qt::Key_PageUp){ - //qDebug() << " - Left/Up"; - prevPage(); - }else if(event->key()==Qt::Key_Home){ - //qDebug() << " - Home"; - firstPage(); - }else if(event->key()==Qt::Key_End){ - //qDebug() << " - End"; - lastPage(); - }else if(event->key()==Qt::Key_F11){ - //qDebug() << " - F11"; - if(inPresentation){ endPresentation(); } - else{ startPresentationHere(); } - }else{ - QMainWindow::keyPressEvent(event); - } - } + void keyPressEvent(QKeyEvent*); + void wheelEvent(QWheelEvent*); }; #endif diff --git a/src-qt5/desktop-utils/lumina-pdf/mainUI.ui b/src-qt5/desktop-utils/lumina-pdf/mainUI.ui index 20a79cf2..70d3167a 100644 --- a/src-qt5/desktop-utils/lumina-pdf/mainUI.ui +++ b/src-qt5/desktop-utils/lumina-pdf/mainUI.ui @@ -33,19 +33,14 @@ <addaction name="separator"/> <addaction name="actionClose"/> <addaction name="separator"/> - <addaction name="actionPDF_Info"/> + <addaction name="actionProperties"/> </widget> <widget class="QMenu" name="menuPresentation"> <property name="title"> <string>&Presentation</string> </property> - <widget class="QMenu" name="menuStart_Presentation"> - <property name="title"> - <string>Start Presentation</string> - </property> - <addaction name="actionAt_Beginning"/> - </widget> - <addaction name="menuStart_Presentation"/> + <addaction name="actionStart_Begin"/> + <addaction name="actionStart_Here"/> <addaction name="actionStop_Presentation"/> </widget> <widget class="QMenu" name="menuSettings"> @@ -59,6 +54,7 @@ <addaction name="actionSettings"/> <addaction name="separator"/> <addaction name="actionScroll_Mode"/> + <addaction name="actionSelect_Mode"/> </widget> <widget class="QMenu" name="menuView"> <property name="title"> @@ -105,6 +101,9 @@ <addaction name="actionSingle_Page"/> <addaction name="actionDual_Pages"/> <addaction name="actionAll_Pages"/> + <addaction name="separator"/> + <addaction name="actionZoom_In_2"/> + <addaction name="actionZoom_Out_2"/> </widget> <action name="actionOpen_PDF"> <property name="text"> @@ -170,9 +169,9 @@ <string>All Pages</string> </property> </action> - <action name="actionAt_Beginning"> + <action name="actionStart_Begin"> <property name="text"> - <string>At Beginning</string> + <string>Start Presentation (at beginning)</string> </property> </action> <action name="actionStop_Presentation"> @@ -230,9 +229,9 @@ <string>Last Page</string> </property> </action> - <action name="actionPDF_Info"> + <action name="actionProperties"> <property name="text"> - <string>PDF Info</string> + <string>Properties</string> </property> </action> <action name="actionBookmarks"> @@ -250,29 +249,41 @@ <string>Rotate Clockwise</string> </property> </action> - <action name="actionSelect_Mode"> + <action name="actionScroll_Mode"> <property name="checkable"> - <bool>true</bool> + <bool>false</bool> </property> <property name="checked"> + <bool>false</bool> + </property> + <property name="enabled"> <bool>true</bool> </property> <property name="text"> - <string>Select Mode</string> + <string>Scroll Mode</string> </property> </action> - <action name="actionScroll_Mode"> - <property name="checkable"> - <bool>true</bool> + <action name="actionZoom_Out_2"> + <property name="text"> + <string/> </property> - <property name="checked"> - <bool>false</bool> + </action> + <action name="actionZoom_In_2"> + <property name="text"> + <string/> </property> - <property name="enabled"> - <bool>true</bool> + </action> + <action name="actionStart_Here"> + <property name="text"> + <string>Start Presentation (current slide)</string> + </property> + </action> + <action name="actionSelect_Mode"> + <property name="checkable"> + <bool>false</bool> </property> <property name="text"> - <string>Scroll Mode</string> + <string>Select Mode</string> </property> </action> </widget> diff --git a/src-qt5/desktop-utils/lumina-pdf/propDialog.cpp b/src-qt5/desktop-utils/lumina-pdf/propDialog.cpp new file mode 100644 index 00000000..6dbdee69 --- /dev/null +++ b/src-qt5/desktop-utils/lumina-pdf/propDialog.cpp @@ -0,0 +1,54 @@ +//=========================================== +// Lumina Desktop source code +// Copyright (c) 2017, Ken Moore +// Available under the 3-clause BSD license +// See the LICENSE file for full details +//=========================================== + +#include "propDialog.h" +#include "ui_propDialog.h" + +#include <LuminaXDG.h> + +PropDialog::PropDialog(Poppler::Document *DOC) : QDialog(), ui(new Ui::PropDialog()){ + this->setWindowTitle(tr("PDF Information")); + this->setWindowIcon( LXDG::findIcon("dialog-information","unknown")); + int verMa, verMi; + QString version; + QSize size = DOC->page(0)->pageSize(); + + //Grab the version + DOC->getPdfVersion(&verMa, &verMi); + version = QString::number(verMa)+"."+QString::number(verMi); + + ui->setupUi(this); + + //Setup translations + ui->titleL->setText(tr("Title:")); + ui->subjectL->setText(tr("Subject:")); + ui->authorL->setText(tr("Author:")); + ui->creatorL->setText(tr("Creator:")); + ui->producerL->setText(tr("Producer:")); + ui->keywordsL->setText(tr("Keywords:")); + ui->createdL->setText(tr("Created:")); + ui->modifiedL->setText(tr("Modified:")); + ui->versionL->setText(tr("PDF Version:")); + ui->sizeL->setText(tr("Page Size:")); + ui->numberL->setText(tr("Number of Pages:")); + ui->saveButton->setText(tr("Save")); + ui->closeButton->setText(tr("Close")); + + //Fill the text boxes with information from the document + ui->titleE->setText(DOC->title()); + ui->subjectE->setText(DOC->subject()); + ui->authorE->setText(DOC->author()); + ui->creatorE->setText(DOC->creator()); + ui->producerE->setText(DOC->producer()); + ui->keywordE->setText(DOC->keywords()); + ui->createdEntry->setText(DOC->creationDate().toString(Qt::TextDate)); + ui->modifiedEntry->setText(DOC->modificationDate().toString(Qt::TextDate)); + ui->versionL->setText(ui->versionL->text()+version); + ui->sizeL->setText(ui->sizeL->text()+QString::number(size.height())+ + ", "+QString::number(size.width())); + ui->numberL->setText(ui->numberL->text()+QString::number(DOC->numPages())); +} diff --git a/src-qt5/desktop-utils/lumina-pdf/propDialog.h b/src-qt5/desktop-utils/lumina-pdf/propDialog.h new file mode 100644 index 00000000..be67ebd3 --- /dev/null +++ b/src-qt5/desktop-utils/lumina-pdf/propDialog.h @@ -0,0 +1,25 @@ +//=========================================== +// Lumina Desktop source code +// Copyright (c) 2017, Ken Moore +// Available under the 3-clause BSD license +// See the LICENSE file for full details +//=========================================== +#ifndef _LUMINA_PDF_VIEWER_PROP_DIALOG_H +#define _LUMINA_PDF_VIEWER_PROP_DIALOG_H + +#include <QDialog> +#include <poppler/qt5/poppler-qt5.h> + +namespace Ui{ + class PropDialog; +}; + +class PropDialog : public QDialog { + Q_OBJECT + public: + PropDialog(Poppler::Document*); + + private: + Ui::PropDialog *ui; +}; +#endif diff --git a/src-qt5/desktop-utils/lumina-pdf/propDialog.ui b/src-qt5/desktop-utils/lumina-pdf/propDialog.ui new file mode 100644 index 00000000..ad995473 --- /dev/null +++ b/src-qt5/desktop-utils/lumina-pdf/propDialog.ui @@ -0,0 +1,601 @@ +<?xml version="1.0" encoding="UTF-8"?> +<ui version="4.0"> + <class>PropDialog</class> + <widget class="QDialog" name="PropDialog"> + <property name="geometry"> + <rect> + <x>0</x> + <y>0</y> + <width>400</width> + <height>300</height> + </rect> + </property> + <property name="windowTitle"> + <string>PDF Information</string> + </property> + <widget class="QTextEdit" name="titleE"> + <property name="geometry"> + <rect> + <x>100</x> + <y>30</y> + <width>291</width> + <height>16</height> + </rect> + </property> + <property name="sizePolicy"> + <sizepolicy hsizetype="Fixed" vsizetype="Fixed"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="minimumSize"> + <size> + <width>256</width> + <height>16</height> + </size> + </property> + <property name="maximumSize"> + <size> + <width>512</width> + <height>16</height> + </size> + </property> + <property name="acceptDrops"> + <bool>false</bool> + </property> + <property name="verticalScrollBarPolicy"> + <enum>Qt::ScrollBarAlwaysOff</enum> + </property> + <property name="horizontalScrollBarPolicy"> + <enum>Qt::ScrollBarAlwaysOff</enum> + </property> + <property name="sizeAdjustPolicy"> + <enum>QAbstractScrollArea::AdjustToContents</enum> + </property> + <property name="readOnly"> + <bool>false</bool> + </property> + <property name="acceptRichText"> + <bool>false</bool> + </property> + </widget> + <widget class="QLabel" name="titleL"> + <property name="geometry"> + <rect> + <x>20</x> + <y>30</y> + <width>71</width> + <height>16</height> + </rect> + </property> + <property name="text"> + <string>Title:</string> + </property> + </widget> + <widget class="QLabel" name="subjectL"> + <property name="geometry"> + <rect> + <x>20</x> + <y>50</y> + <width>71</width> + <height>16</height> + </rect> + </property> + <property name="text"> + <string>Subject:</string> + </property> + </widget> + <widget class="QLabel" name="authorL"> + <property name="geometry"> + <rect> + <x>20</x> + <y>70</y> + <width>71</width> + <height>16</height> + </rect> + </property> + <property name="text"> + <string>Author:</string> + </property> + </widget> + <widget class="QLabel" name="creatorL"> + <property name="geometry"> + <rect> + <x>20</x> + <y>90</y> + <width>71</width> + <height>16</height> + </rect> + </property> + <property name="text"> + <string>Creator:</string> + </property> + </widget> + <widget class="QLabel" name="createdL"> + <property name="geometry"> + <rect> + <x>20</x> + <y>150</y> + <width>81</width> + <height>16</height> + </rect> + </property> + <property name="text"> + <string>Created: </string> + </property> + </widget> + <widget class="QLabel" name="producerL"> + <property name="geometry"> + <rect> + <x>20</x> + <y>110</y> + <width>71</width> + <height>16</height> + </rect> + </property> + <property name="text"> + <string>Producer:</string> + </property> + </widget> + <widget class="QLabel" name="keywordsL"> + <property name="geometry"> + <rect> + <x>20</x> + <y>130</y> + <width>71</width> + <height>16</height> + </rect> + </property> + <property name="text"> + <string>Keywords:</string> + </property> + </widget> + <widget class="QTextEdit" name="subjectE"> + <property name="geometry"> + <rect> + <x>100</x> + <y>50</y> + <width>291</width> + <height>16</height> + </rect> + </property> + <property name="sizePolicy"> + <sizepolicy hsizetype="Fixed" vsizetype="Fixed"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="minimumSize"> + <size> + <width>256</width> + <height>16</height> + </size> + </property> + <property name="maximumSize"> + <size> + <width>512</width> + <height>16</height> + </size> + </property> + <property name="acceptDrops"> + <bool>false</bool> + </property> + <property name="verticalScrollBarPolicy"> + <enum>Qt::ScrollBarAlwaysOff</enum> + </property> + <property name="horizontalScrollBarPolicy"> + <enum>Qt::ScrollBarAlwaysOff</enum> + </property> + <property name="sizeAdjustPolicy"> + <enum>QAbstractScrollArea::AdjustToContents</enum> + </property> + <property name="readOnly"> + <bool>false</bool> + </property> + <property name="acceptRichText"> + <bool>false</bool> + </property> + </widget> + <widget class="QTextEdit" name="creatorE"> + <property name="geometry"> + <rect> + <x>100</x> + <y>90</y> + <width>291</width> + <height>16</height> + </rect> + </property> + <property name="sizePolicy"> + <sizepolicy hsizetype="Fixed" vsizetype="Fixed"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="minimumSize"> + <size> + <width>256</width> + <height>16</height> + </size> + </property> + <property name="maximumSize"> + <size> + <width>512</width> + <height>16</height> + </size> + </property> + <property name="acceptDrops"> + <bool>false</bool> + </property> + <property name="verticalScrollBarPolicy"> + <enum>Qt::ScrollBarAlwaysOff</enum> + </property> + <property name="horizontalScrollBarPolicy"> + <enum>Qt::ScrollBarAlwaysOff</enum> + </property> + <property name="sizeAdjustPolicy"> + <enum>QAbstractScrollArea::AdjustToContents</enum> + </property> + <property name="readOnly"> + <bool>false</bool> + </property> + <property name="acceptRichText"> + <bool>false</bool> + </property> + </widget> + <widget class="QTextEdit" name="authorE"> + <property name="geometry"> + <rect> + <x>100</x> + <y>70</y> + <width>291</width> + <height>16</height> + </rect> + </property> + <property name="sizePolicy"> + <sizepolicy hsizetype="Fixed" vsizetype="Fixed"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="minimumSize"> + <size> + <width>256</width> + <height>16</height> + </size> + </property> + <property name="maximumSize"> + <size> + <width>512</width> + <height>16</height> + </size> + </property> + <property name="acceptDrops"> + <bool>false</bool> + </property> + <property name="verticalScrollBarPolicy"> + <enum>Qt::ScrollBarAlwaysOff</enum> + </property> + <property name="horizontalScrollBarPolicy"> + <enum>Qt::ScrollBarAlwaysOff</enum> + </property> + <property name="sizeAdjustPolicy"> + <enum>QAbstractScrollArea::AdjustToContents</enum> + </property> + <property name="readOnly"> + <bool>false</bool> + </property> + <property name="acceptRichText"> + <bool>false</bool> + </property> + </widget> + <widget class="QTextEdit" name="keywordE"> + <property name="enabled"> + <bool>true</bool> + </property> + <property name="geometry"> + <rect> + <x>100</x> + <y>130</y> + <width>291</width> + <height>16</height> + </rect> + </property> + <property name="sizePolicy"> + <sizepolicy hsizetype="Fixed" vsizetype="Fixed"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="minimumSize"> + <size> + <width>256</width> + <height>16</height> + </size> + </property> + <property name="maximumSize"> + <size> + <width>512</width> + <height>16</height> + </size> + </property> + <property name="acceptDrops"> + <bool>false</bool> + </property> + <property name="autoFillBackground"> + <bool>false</bool> + </property> + <property name="frameShape"> + <enum>QFrame::StyledPanel</enum> + </property> + <property name="frameShadow"> + <enum>QFrame::Sunken</enum> + </property> + <property name="verticalScrollBarPolicy"> + <enum>Qt::ScrollBarAlwaysOff</enum> + </property> + <property name="horizontalScrollBarPolicy"> + <enum>Qt::ScrollBarAlwaysOff</enum> + </property> + <property name="sizeAdjustPolicy"> + <enum>QAbstractScrollArea::AdjustToContents</enum> + </property> + <property name="readOnly"> + <bool>false</bool> + </property> + <property name="acceptRichText"> + <bool>false</bool> + </property> + </widget> + <widget class="QTextEdit" name="producerE"> + <property name="geometry"> + <rect> + <x>100</x> + <y>110</y> + <width>291</width> + <height>16</height> + </rect> + </property> + <property name="sizePolicy"> + <sizepolicy hsizetype="Fixed" vsizetype="Fixed"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="minimumSize"> + <size> + <width>256</width> + <height>16</height> + </size> + </property> + <property name="maximumSize"> + <size> + <width>512</width> + <height>16</height> + </size> + </property> + <property name="acceptDrops"> + <bool>false</bool> + </property> + <property name="verticalScrollBarPolicy"> + <enum>Qt::ScrollBarAlwaysOff</enum> + </property> + <property name="horizontalScrollBarPolicy"> + <enum>Qt::ScrollBarAlwaysOff</enum> + </property> + <property name="sizeAdjustPolicy"> + <enum>QAbstractScrollArea::AdjustToContents</enum> + </property> + <property name="readOnly"> + <bool>false</bool> + </property> + <property name="acceptRichText"> + <bool>false</bool> + </property> + </widget> + <widget class="QLabel" name="versionL"> + <property name="geometry"> + <rect> + <x>20</x> + <y>200</y> + <width>311</width> + <height>16</height> + </rect> + </property> + <property name="text"> + <string>PDF Version:</string> + </property> + </widget> + <widget class="QLabel" name="sizeL"> + <property name="geometry"> + <rect> + <x>20</x> + <y>220</y> + <width>301</width> + <height>16</height> + </rect> + </property> + <property name="text"> + <string>Page Size:</string> + </property> + </widget> + <widget class="QLabel" name="numberL"> + <property name="geometry"> + <rect> + <x>20</x> + <y>240</y> + <width>321</width> + <height>16</height> + </rect> + </property> + <property name="text"> + <string>Number of Pages:</string> + </property> + </widget> + <widget class="QLabel" name="modifiedL"> + <property name="geometry"> + <rect> + <x>20</x> + <y>170</y> + <width>81</width> + <height>16</height> + </rect> + </property> + <property name="text"> + <string>Modified: </string> + </property> + </widget> + <widget class="QTextEdit" name="createdEntry"> + <property name="enabled"> + <bool>true</bool> + </property> + <property name="geometry"> + <rect> + <x>100</x> + <y>150</y> + <width>291</width> + <height>16</height> + </rect> + </property> + <property name="sizePolicy"> + <sizepolicy hsizetype="Fixed" vsizetype="Fixed"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="minimumSize"> + <size> + <width>256</width> + <height>16</height> + </size> + </property> + <property name="maximumSize"> + <size> + <width>512</width> + <height>16</height> + </size> + </property> + <property name="acceptDrops"> + <bool>false</bool> + </property> + <property name="autoFillBackground"> + <bool>false</bool> + </property> + <property name="frameShape"> + <enum>QFrame::StyledPanel</enum> + </property> + <property name="frameShadow"> + <enum>QFrame::Sunken</enum> + </property> + <property name="verticalScrollBarPolicy"> + <enum>Qt::ScrollBarAlwaysOff</enum> + </property> + <property name="horizontalScrollBarPolicy"> + <enum>Qt::ScrollBarAlwaysOff</enum> + </property> + <property name="sizeAdjustPolicy"> + <enum>QAbstractScrollArea::AdjustToContents</enum> + </property> + <property name="readOnly"> + <bool>true</bool> + </property> + <property name="acceptRichText"> + <bool>false</bool> + </property> + </widget> + <widget class="QTextEdit" name="modifiedEntry"> + <property name="enabled"> + <bool>true</bool> + </property> + <property name="geometry"> + <rect> + <x>100</x> + <y>170</y> + <width>291</width> + <height>16</height> + </rect> + </property> + <property name="sizePolicy"> + <sizepolicy hsizetype="Fixed" vsizetype="Fixed"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="minimumSize"> + <size> + <width>256</width> + <height>16</height> + </size> + </property> + <property name="maximumSize"> + <size> + <width>512</width> + <height>16</height> + </size> + </property> + <property name="acceptDrops"> + <bool>false</bool> + </property> + <property name="autoFillBackground"> + <bool>false</bool> + </property> + <property name="frameShape"> + <enum>QFrame::StyledPanel</enum> + </property> + <property name="frameShadow"> + <enum>QFrame::Sunken</enum> + </property> + <property name="verticalScrollBarPolicy"> + <enum>Qt::ScrollBarAlwaysOff</enum> + </property> + <property name="horizontalScrollBarPolicy"> + <enum>Qt::ScrollBarAlwaysOff</enum> + </property> + <property name="sizeAdjustPolicy"> + <enum>QAbstractScrollArea::AdjustToContents</enum> + </property> + <property name="readOnly"> + <bool>true</bool> + </property> + <property name="acceptRichText"> + <bool>false</bool> + </property> + </widget> + <widget class="QPushButton" name="saveButton"> + <property name="geometry"> + <rect> + <x>230</x> + <y>270</y> + <width>80</width> + <height>23</height> + </rect> + </property> + <property name="text"> + <string>Save</string> + </property> + </widget> + <widget class="QPushButton" name="closeButton"> + <property name="geometry"> + <rect> + <x>310</x> + <y>270</y> + <width>80</width> + <height>23</height> + </rect> + </property> + <property name="text"> + <string>Close</string> + </property> + <property name="autoDefault"> + <bool>true</bool> + </property> + <property name="default"> + <bool>true</bool> + </property> + <property name="flat"> + <bool>false</bool> + </property> + </widget> + </widget> + <resources/> + <connections/> +</ui> |