diff options
author | ZackaryWelch <welch.zackary@gmail.com> | 2017-12-22 20:30:23 -0500 |
---|---|---|
committer | ZackaryWelch <welch.zackary@gmail.com> | 2017-12-22 20:30:23 -0500 |
commit | 5162021eb02f0004b77104fa14088ab7504cb66e (patch) | |
tree | 4aee7404ff9a3a4d363c4e1d10a0ae0b183b7c3a /src-qt5/desktop-utils/lumina-pdf | |
parent | Merge branch 'master' of github.com:trueos/lumina (diff) | |
download | lumina-5162021eb02f0004b77104fa14088ab7504cb66e.tar.gz lumina-5162021eb02f0004b77104fa14088ab7504cb66e.tar.bz2 lumina-5162021eb02f0004b77104fa14088ab7504cb66e.zip |
Progress toward search functionality for lumina-pdf
Diffstat (limited to 'src-qt5/desktop-utils/lumina-pdf')
-rw-r--r-- | src-qt5/desktop-utils/lumina-pdf/mainUI.cpp | 98 | ||||
-rw-r--r-- | src-qt5/desktop-utils/lumina-pdf/mainUI.h | 6 | ||||
-rw-r--r-- | src-qt5/desktop-utils/lumina-pdf/mainUI.ui | 118 | ||||
-rw-r--r-- | src-qt5/desktop-utils/lumina-pdf/propDialog.cpp | 2 | ||||
-rw-r--r-- | src-qt5/desktop-utils/lumina-pdf/propDialog.ui | 1040 |
5 files changed, 677 insertions, 587 deletions
diff --git a/src-qt5/desktop-utils/lumina-pdf/mainUI.cpp b/src-qt5/desktop-utils/lumina-pdf/mainUI.cpp index f0429b9d..6045a1bc 100644 --- a/src-qt5/desktop-utils/lumina-pdf/mainUI.cpp +++ b/src-qt5/desktop-utils/lumina-pdf/mainUI.cpp @@ -16,6 +16,7 @@ #include <QApplication> #include <QScreen> #include <QTimer> +#include <iostream> #include <QtConcurrent> @@ -44,6 +45,8 @@ MainUI::MainUI() : QMainWindow(), ui(new Ui::MainUI()){ contextMenu = new QMenu(this); connect(contextMenu, SIGNAL(aboutToShow()), this, SLOT(updateContextMenu())); //Now put the widgets into the UI + ui->bookmarksFrame->setParent(WIDGET); + ui->findGroup->setParent(WIDGET); this->setCentralWidget(WIDGET); WIDGET->setContextMenuPolicy(Qt::CustomContextMenu); connect(qApp, SIGNAL(focusChanged(QWidget*, QWidget*)), this, SLOT(newFocus(QWidget*, QWidget*))); @@ -101,6 +104,23 @@ MainUI::MainUI() : QMainWindow(), ui(new Ui::MainUI()){ 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())); + connect(ui->actionFind, SIGNAL(triggered()), this, SLOT(enableFind())); + connect(ui->actionFind_Next, &QAction::triggered, this, + [&] { find(ui->textEdit->toPlainText(), true); }); + connect(ui->actionFind_Previous, &QAction::triggered, this, + //[&] { find(ui->textEdit->toPlainText(), false); }); + [&] { find("Revision", false); }); + connect(ui->findNextB, &QPushButton::clicked, this, + [&] { find(ui->textEdit->toPlainText(), true); }); + connect(ui->findPrevB, &QPushButton::clicked, this, + [&] { find(ui->textEdit->toPlainText(), false); }); + connect(ui->matchCase, &QPushButton::clicked, this, + [&] (bool value) { this->matchCase = value; }); + connect(ui->closeFind, &QPushButton::clicked, this, + [&] { ui->findGroup->setVisible(false); this->setFocus(); }); + connect(ui->actionClearHighlights, &QAction::triggered, WIDGET, + [&] { clearHighlights = true; WIDGET->update(); }); + connect(ui->actionBookmarks, SIGNAL(triggered()), this, SLOT(showBookmarks())); //int curP = WIDGET->currentPage()-1; //currentPage reports pages starting at 1 //int lastP = numPages-1; @@ -150,11 +170,19 @@ MainUI::MainUI() : QMainWindow(), ui(new Ui::MainUI()){ ui->actionFind_Previous->setIcon(LXDG::findIcon("edit-find-prev","")); ui->actionProperties->setIcon(LXDG::findIcon("dialog-information","")); ui->actionSettings->setIcon(LXDG::findIcon("document-properties","")); + ui->findNextB->setIcon(LXDG::findIcon("go-down-search")); + ui->findPrevB->setIcon(LXDG::findIcon("go-up-search")); + ui->matchCase->setIcon(LXDG::findIcon("format-text-italic")); + ui->closeFind->setIcon(LXDG::findIcon("dialog-close")); //Now set the default state of the menu's and actions ui->actionStop_Presentation->setEnabled(false); ui->actionStart_Here->setEnabled(false); ui->actionStart_Begin->setEnabled(false); + + qDebug() << "Disabling findGroup" << ui->findGroup; + ui->findGroup->setVisible(false); + ui->bookmarksFrame->setVisible(false); } MainUI::~MainUI(){ @@ -399,11 +427,22 @@ void MainUI::paintOnWidget(QPrinter *PRINTER){ 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)); } + if(loadingHash.contains(i)){ + painter.drawImage(0,0, loadingHash[i].scaled(PRINTER->pageRect().size(), + Qt::KeepAspectRatio, Qt::SmoothTransformation)); + if(!clearHighlights and !results.empty()) { + for(int j = 0; j < results.size(); j++) { + Poppler::TextBox *currentText = results.keys()[j]; + if(results.value(currentText) == i) + painter.fillRect(currentText->boundingBox(), QColor(255, 255, 179, 128)); + } + } + } else{ painter.drawImage(0,0, QImage()); } } WIDGET->setContextMenuPolicy(Qt::CustomContextMenu); loadingHash.clear(); + clearHighlights = false; } void MainUI::paintToPrinter(QPrinter *PRINTER){ @@ -564,3 +603,60 @@ void MainUI::showInformation() { PROPDIALOG = new PropDialog(DOC); PROPDIALOG->show(); } + +void MainUI::find(QString text, bool forward) { + qDebug() << "Finding Text"; + bool newText = results.empty(); + bool research = false; + if(!newText) + research = !results.keys()[0]->text().contains(text); + //Clear results if the user gives a new search string + if(research) + results.clear(); + + + if(research or newText) { + //combiner.setPen(Qt::NoPen); + for(int i = 0; i < numPages; i++) { + QList<Poppler::TextBox*> textList = DOC->page(i)->textList(); + for(int j = 0; j < textList.size(); j++) { + if(textList[j]->text().contains(text, (matchCase) ? Qt::CaseSensitive : Qt::CaseInsensitive)) { + results.insert(textList[j], i); + } + } + } + currentHighlight = (forward) ? -1 : results.size(); + } + + qDebug() << "Jumping to next result"; + if(!results.empty()) { + //Jump to the location of the next or previous textbox and highlight + if(forward) { + currentHighlight = (currentHighlight + 1) % results.size(); + }else{ + currentHighlight--; + //Ensure currentHighlight will be between 0 and results.size() - 1 + if(currentHighlight < 0) + currentHighlight = results.size() - 1; + } + + //Extra highlight the current text + Poppler::TextBox *currentText = results.keys()[currentHighlight]; + WIDGET->setCurrentPage(results.value(currentText)); + }else{ + //Print "No results found" + } +} + +void MainUI::enableFind() { + qDebug() << "Enabling"; + std::cout << ui->findGroup << '\n'; + WIDGET->setGeometry(QRect(WIDGET->pos(), QSize(WIDGET->width(), WIDGET->height()-ui->findGroup->height()))); + ui->findGroup->setVisible(true); + ui->findGroup->setFocus(); + ui->textEdit->setText(""); +} + +void MainUI::showBookmarks() { + ui->bookmarksFrame->setVisible(true); +} diff --git a/src-qt5/desktop-utils/lumina-pdf/mainUI.h b/src-qt5/desktop-utils/lumina-pdf/mainUI.h index 18b3d231..8337ed9c 100644 --- a/src-qt5/desktop-utils/lumina-pdf/mainUI.h +++ b/src-qt5/desktop-utils/lumina-pdf/mainUI.h @@ -43,6 +43,9 @@ private: QPrinter* Printer; QPrintDialog *PrintDLG; QString lastdir; + bool matchCase, clearHighlights; + QMap<Poppler::TextBox*, int> results; + int currentHighlight; //Other Interface elements QProgressBar *progress; @@ -81,6 +84,9 @@ private slots: void startPresentationBeginning(){ startPresentation(true); } void closePresentation(){ endPresentation(); } void showInformation(); + void find(QString text, bool forward); + void enableFind(); + void showBookmarks(); void newFocus(QWidget*, QWidget*); void paintOnWidget(QPrinter *PRINTER); diff --git a/src-qt5/desktop-utils/lumina-pdf/mainUI.ui b/src-qt5/desktop-utils/lumina-pdf/mainUI.ui index 70d3167a..c8cd8271 100644 --- a/src-qt5/desktop-utils/lumina-pdf/mainUI.ui +++ b/src-qt5/desktop-utils/lumina-pdf/mainUI.ui @@ -6,20 +6,123 @@ <rect> <x>0</x> <y>0</y> - <width>660</width> - <height>588</height> + <width>695</width> + <height>694</height> </rect> </property> <property name="windowTitle"> <string>MainWindow</string> </property> - <widget class="QWidget" name="centralwidget"/> + <widget class="QWidget" name="centralwidget"> + <widget class="QFrame" name="findGroup"> + <property name="geometry"> + <rect> + <x>0</x> + <y>560</y> + <width>691</width> + <height>61</height> + </rect> + </property> + <property name="frameShape"> + <enum>QFrame::StyledPanel</enum> + </property> + <property name="frameShadow"> + <enum>QFrame::Raised</enum> + </property> + <layout class="QGridLayout" name="gridLayout"> + <item row="1" column="0"> + <layout class="QHBoxLayout" name="horizontalLayout"> + <item> + <widget class="QPushButton" name="closeFind"> + <property name="text"> + <string/> + </property> + </widget> + </item> + <item> + <widget class="QTextEdit" name="textEdit"> + <property name="maximumSize"> + <size> + <width>16777215</width> + <height>24</height> + </size> + </property> + <property name="verticalScrollBarPolicy"> + <enum>Qt::ScrollBarAlwaysOff</enum> + </property> + <property name="horizontalScrollBarPolicy"> + <enum>Qt::ScrollBarAlwaysOff</enum> + </property> + </widget> + </item> + <item> + <widget class="QPushButton" name="findPrevB"> + <property name="text"> + <string/> + </property> + </widget> + </item> + <item> + <widget class="QPushButton" name="findNextB"> + <property name="text"> + <string/> + </property> + </widget> + </item> + <item> + <widget class="QPushButton" name="matchCase"> + <property name="text"> + <string/> + </property> + </widget> + </item> + </layout> + </item> + <item row="0" column="0"> + <widget class="QLabel" name="label"> + <property name="text"> + <string>Find...</string> + </property> + </widget> + </item> + </layout> + </widget> + <widget class="QFrame" name="bookmarksFrame"> + <property name="geometry"> + <rect> + <x>0</x> + <y>9</y> + <width>81</width> + <height>601</height> + </rect> + </property> + <property name="frameShape"> + <enum>QFrame::StyledPanel</enum> + </property> + <property name="frameShadow"> + <enum>QFrame::Raised</enum> + </property> + <widget class="QLabel" name="label_2"> + <property name="geometry"> + <rect> + <x>10</x> + <y>0</y> + <width>71</width> + <height>16</height> + </rect> + </property> + <property name="text"> + <string>Bookmarks</string> + </property> + </widget> + </widget> + </widget> <widget class="QMenuBar" name="menubar"> <property name="geometry"> <rect> <x>0</x> <y>0</y> - <width>660</width> + <width>695</width> <height>21</height> </rect> </property> @@ -50,11 +153,13 @@ <addaction name="actionFind"/> <addaction name="actionFind_Next"/> <addaction name="actionFind_Previous"/> + <addaction name="actionClearHighlights"/> <addaction name="separator"/> <addaction name="actionSettings"/> <addaction name="separator"/> <addaction name="actionScroll_Mode"/> <addaction name="actionSelect_Mode"/> + <addaction name="separator"/> </widget> <widget class="QMenu" name="menuView"> <property name="title"> @@ -286,6 +391,11 @@ <string>Select Mode</string> </property> </action> + <action name="actionClearHighlights"> + <property name="text"> + <string>Clear Highlights</string> + </property> + </action> </widget> <resources/> <connections/> diff --git a/src-qt5/desktop-utils/lumina-pdf/propDialog.cpp b/src-qt5/desktop-utils/lumina-pdf/propDialog.cpp index 6dbdee69..0c26af74 100644 --- a/src-qt5/desktop-utils/lumina-pdf/propDialog.cpp +++ b/src-qt5/desktop-utils/lumina-pdf/propDialog.cpp @@ -23,6 +23,8 @@ PropDialog::PropDialog(Poppler::Document *DOC) : QDialog(), ui(new Ui::PropDialo ui->setupUi(this); + connect(ui->closeButton, SIGNAL(clicked()), this, SLOT(close())); + //Setup translations ui->titleL->setText(tr("Title:")); ui->subjectL->setText(tr("Subject:")); diff --git a/src-qt5/desktop-utils/lumina-pdf/propDialog.ui b/src-qt5/desktop-utils/lumina-pdf/propDialog.ui index ad995473..6806f81a 100644 --- a/src-qt5/desktop-utils/lumina-pdf/propDialog.ui +++ b/src-qt5/desktop-utils/lumina-pdf/propDialog.ui @@ -13,588 +13,464 @@ <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> + <layout class="QGridLayout" name="gridLayout"> + <item row="0" column="0"> + <widget class="QLabel" name="titleL"> + <property name="text"> + <string>Title:</string> + </property> + </widget> + </item> + <item row="0" column="1" colspan="2"> + <widget class="QTextEdit" name="titleE"> + <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> + </item> + <item row="1" column="0"> + <widget class="QLabel" name="subjectL"> + <property name="text"> + <string>Subject:</string> + </property> + </widget> + </item> + <item row="1" column="1" colspan="2"> + <widget class="QTextEdit" name="subjectE"> + <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> + </item> + <item row="2" column="0"> + <widget class="QLabel" name="authorL"> + <property name="text"> + <string>Author:</string> + </property> + </widget> + </item> + <item row="2" column="1" colspan="2"> + <widget class="QTextEdit" name="authorE"> + <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> + </item> + <item row="3" column="0"> + <widget class="QLabel" name="creatorL"> + <property name="text"> + <string>Creator:</string> + </property> + </widget> + </item> + <item row="3" column="1" colspan="2"> + <widget class="QTextEdit" name="creatorE"> + <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> + </item> + <item row="4" column="0"> + <widget class="QLabel" name="producerL"> + <property name="text"> + <string>Producer:</string> + </property> + </widget> + </item> + <item row="4" column="1" colspan="2"> + <widget class="QTextEdit" name="producerE"> + <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> + </item> + <item row="5" column="0"> + <widget class="QLabel" name="keywordsL"> + <property name="text"> + <string>Keywords:</string> + </property> + </widget> + </item> + <item row="5" column="1" colspan="2"> + <widget class="QTextEdit" name="keywordE"> + <property name="enabled"> + <bool>true</bool> + </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> + </item> + <item row="6" column="0"> + <widget class="QLabel" name="createdL"> + <property name="text"> + <string>Created: </string> + </property> + </widget> + </item> + <item row="6" column="1" colspan="2"> + <widget class="QTextEdit" name="createdEntry"> + <property name="enabled"> + <bool>true</bool> + </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> + </item> + <item row="7" column="0"> + <widget class="QLabel" name="modifiedL"> + <property name="text"> + <string>Modified: </string> + </property> + </widget> + </item> + <item row="7" column="1" colspan="2"> + <widget class="QTextEdit" name="modifiedEntry"> + <property name="enabled"> + <bool>true</bool> + </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> + </item> + <item row="8" column="0" colspan="3"> + <widget class="QLabel" name="versionL"> + <property name="text"> + <string>PDF Version:</string> + </property> + </widget> + </item> + <item row="9" column="0" colspan="3"> + <widget class="QLabel" name="sizeL"> + <property name="text"> + <string>Page Size:</string> + </property> + </widget> + </item> + <item row="10" column="0" colspan="3"> + <widget class="QLabel" name="numberL"> + <property name="text"> + <string>Number of Pages:</string> + </property> + </widget> + </item> + <item row="11" column="1"> + <widget class="QPushButton" name="saveButton"> + <property name="text"> + <string>Save</string> + </property> + </widget> + </item> + <item row="11" column="2"> + <widget class="QPushButton" name="closeButton"> + <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> + </item> + </layout> </widget> <resources/> <connections/> |