Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:jloehel
diffpdf
us-Add-option-to-save-and-quit.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File us-Add-option-to-save-and-quit.patch of Package diffpdf
From 2805545c63678cf21dbde5f4a1f0c15525311895 Mon Sep 17 00:00:00 2001 From: pianoslum <pianoslum@mailbox.org> Date: Fri, 22 Mar 2019 22:53:13 +0100 Subject: [PATCH] Add option to save and quit --- main.cpp | 8 +++++++- mainwindow.cpp | 15 ++++++++++++--- mainwindow.hpp | 3 ++- 3 files changed, 21 insertions(+), 5 deletions(-) diff --git a/main.cpp b/main.cpp index 321ecc4..7a6566d 100644 --- a/main.cpp +++ b/main.cpp @@ -41,6 +41,7 @@ int main(int argc, char *argv[]) const QString LanguageOption = "--language="; QString filename1; QString filename2; + bool saveAndQuit = false; QString language = QLocale::system().name(); bool optionsOK = true; Debug debug = DebugOff; @@ -78,6 +79,7 @@ int main(int argc, char *argv[]) "etc.)\n" "--debug=3 as --debug=3 but also includes " "coordinates in y, x order\n" + "--save-and-quit save the diff to diff.pdf and quit immediately\n" "\nRun the program without the --help option and click " "About to see copyright and license details\n" ; @@ -90,6 +92,8 @@ int main(int argc, char *argv[]) debug = DebugShowTexts; else if (optionsOK && (arg == "--debug=3" || arg == "--debug3")) debug = DebugShowTextsAndYX; + else if (optionsOK && arg == "--save-and-quit") + saveAndQuit = true; else if (optionsOK && arg == "--") optionsOK = false; else if (filename1.isEmpty() && arg.toLower().endsWith(".pdf")) @@ -100,6 +104,7 @@ int main(int argc, char *argv[]) out << "unrecognized argument '" << arg << "'\n"; } + QTranslator qtTranslator; qtTranslator.load("qt_" + language, QLibraryInfo::location(QLibraryInfo::TranslationsPath)); @@ -109,7 +114,8 @@ int main(int argc, char *argv[]) app.installTranslator(&appTranslator); MainWindow window(debug, comparisonMode, filename1, filename2, - language.left(2)); // We want de not de_DE etc. + language.left(2), saveAndQuit); // We want de not de_DE etc. + window.show(); return app.exec(); } diff --git a/mainwindow.cpp b/mainwindow.cpp index 30b369b..0a26f9d 100644 --- a/mainwindow.cpp +++ b/mainwindow.cpp @@ -49,7 +49,7 @@ MainWindow::MainWindow(const Debug debug, const InitialComparisonMode comparisonMode, const QString &filename1, const QString &filename2, - const QString &language, QWidget *parent) + const QString &language, const bool saveAndQuit, QWidget *parent) : QMainWindow(parent), controlDockArea(Qt::RightDockWidgetArea), actionDockArea(Qt::RightDockWidgetArea), @@ -57,7 +57,8 @@ MainWindow::MainWindow(const Debug debug, zoningDockArea(Qt::RightDockWidgetArea), logDockArea(Qt::RightDockWidgetArea), cancel(false), saveAll(true), savePages(SaveBothPages), language(language), - debug(debug), aboutForm(0), helpForm(0) + debug(debug), aboutForm(0), helpForm(0), + saveAndQuit(saveAndQuit) { currentPath = QDir::homePath(); QSettings settings; @@ -626,6 +627,15 @@ void MainWindow::initialize(const QString &filename1, if (!filename2.isEmpty()) { setFile2(filename2); compare(); + + if (saveAndQuit) { + saveFilename = "diff.pdf"; + PdfDocument pdf1 = PdfDocument(Poppler::Document::load(filename1)); + PdfDocument pdf2 = PdfDocument(Poppler::Document::load(filename2)); + const int page_count = std::max(pdf1->numPages(), pdf2->numPages()); + saveAsPdf(0, page_count, pdf1, pdf2, filename1 + " - " + filename2); + QApplication::quit(); + } } } else @@ -1675,7 +1685,6 @@ void MainWindow::saveAsImages(const int start, const int end, } } - void MainWindow::saveAsPdf(const int start, const int end, const PdfDocument &pdf1, const PdfDocument &pdf2, const QString &header) diff --git a/mainwindow.hpp b/mainwindow.hpp index 448d21c..aa62a7a 100644 --- a/mainwindow.hpp +++ b/mainwindow.hpp @@ -51,7 +51,7 @@ public: MainWindow(const Debug debug, const InitialComparisonMode comparisonMode, const QString &filename1, const QString &filename2, - const QString &language, QWidget *parent=0); + const QString &language, const bool saveAndQuit = false, QWidget *parent=0); protected: void closeEvent(QCloseEvent *event); @@ -214,6 +214,7 @@ private: Debug debug; AboutForm *aboutForm; HelpForm *helpForm; + const bool saveAndQuit; }; #endif // MAINWINDOW_HPP -- GitLab
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor