MCPcopy Create free account
hub / github.com/TeXworks/texworks / PDFViewer

Method PDFViewer

modules/QtPDF/PDFViewer.cpp:19–94  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

17QString PDFViewer::_translatorLanguage;
18
19PDFViewer::PDFViewer(const QString & pdf_doc, QWidget *parent, Qt::WindowFlags flags) :
20 QMainWindow(parent, flags)
21{
22 QtPDF::PDFDocumentWidget *docWidget = new QtPDF::PDFDocumentWidget(this);
23 connect(this, SIGNAL(switchInterfaceLocale(QLocale)), docWidget, SLOT(switchInterfaceLocale(QLocale)));
24
25 if (!pdf_doc.isEmpty())
26 docWidget->load(pdf_doc);
27 docWidget->goFirst();
28
29 _counter = new PageCounter(this->statusBar());
30 _zoomWdgt = new ZoomTracker(this);
31 _search = new SearchLineEdit(this);
32 _toolBar = new QToolBar(this);
33
34 _toolBar->addAction(QIcon::fromTheme(QStringLiteral("document-open")), tr("Open..."), this, SLOT(open()));
35 _toolBar->addSeparator();
36
37 _toolBar->addAction(QIcon::fromTheme(QStringLiteral("zoom-in")), tr("Zoom In"), docWidget, SLOT(zoomIn()));
38 _toolBar->addAction(QIcon::fromTheme(QStringLiteral("zoom-out")), tr("Zoom Out"), docWidget, SLOT(zoomOut()));
39 _toolBar->addAction(QIcon::fromTheme(QStringLiteral("zoom-fit-width")), tr("Fit to Width"), docWidget, SLOT(zoomFitWidth()));
40 _toolBar->addAction(QIcon::fromTheme(QStringLiteral("zoom-fit-best")), tr("Fit to Window"), docWidget, SLOT(zoomFitWindow()));
41
42 _toolBar->addSeparator();
43 _toolBar->addAction(QIcon::fromTheme(QStringLiteral("view-pages-single")), tr("Single Page Mode"), docWidget, SLOT(setSinglePageMode()));
44 _toolBar->addAction(QIcon::fromTheme(QStringLiteral("view-pages-continuous")), tr("One Column Continuous Page Mode"), docWidget, SLOT(setOneColContPageMode()));
45 _toolBar->addAction(QIcon::fromTheme(QStringLiteral("view-pages-facing-continuous")), tr("Two Columns Continuous Page Mode"), docWidget, SLOT(setTwoColContPageMode()));
46 _toolBar->addAction(QIcon::fromTheme(QStringLiteral("view-presentation")), tr("Presentation Mode"), docWidget, SLOT(setPresentationMode()));
47 // TODO: fullscreen mode for presentations
48
49 _toolBar->addSeparator();
50 _toolBar->addAction(QIcon::fromTheme(QStringLiteral("tool-magnifier")), tr("Magnify"), docWidget, SLOT(setMouseModeMagnifyingGlass()));
51 _toolBar->addAction(QIcon::fromTheme(QStringLiteral("tool-pan")), tr("Pan"), docWidget, SLOT(setMouseModeMove()));
52 _toolBar->addAction(QIcon::fromTheme(QStringLiteral("tool-zoom-select")), tr("Marquee Zoom"), docWidget, SLOT(setMouseModeMarqueeZoom()));
53 _toolBar->addAction(QIcon::fromTheme(QStringLiteral("tool-measure")), tr("Measure"), docWidget, SLOT(setMouseModeMeasure()));
54 _toolBar->addAction(QIcon::fromTheme(QStringLiteral("tool-select-text")), tr("Select"), docWidget, SLOT(setMouseModeSelect()));
55
56 _counter->setLastPage(docWidget->lastPage());
57 connect(docWidget, SIGNAL(changedPage(int)), _counter, SLOT(setCurrentPage(int)));
58 connect(docWidget, SIGNAL(changedZoom(qreal)), _zoomWdgt, SLOT(setZoom(qreal)));
59 connect(docWidget, SIGNAL(requestOpenUrl(const QUrl)), this, SLOT(openUrl(const QUrl)));
60 connect(docWidget, SIGNAL(requestOpenPdf(QString, QtPDF::PDFDestination, bool)), this, SLOT(openPdf(QString, QtPDF::PDFDestination, bool)));
61 connect(docWidget, SIGNAL(contextClick(const int, const QPointF)), this, SLOT(syncFromPdf(const int, const QPointF)));
62 connect(docWidget, SIGNAL(searchProgressChanged(int, int)), this, SLOT(searchProgressChanged(int, int)));
63 connect(docWidget, SIGNAL(changedDocument(const QWeakPointer<QtPDF::Backend::Document>)), this, SLOT(documentChanged(const QWeakPointer<QtPDF::Backend::Document>)));
64
65 _toolBar->addSeparator();
66#ifdef DEBUG
67 // TODO: Make this more general or remove it altogether
68 _toolBar->addAction(QString::fromUtf8("en"), this, SLOT(setEnglishLocale()));
69 _toolBar->addAction(QString::fromUtf8("de"), this, SLOT(setGermanLocale()));
70 _toolBar->addSeparator();
71#endif
72 _toolBar->addWidget(_search);
73 connect(_search, SIGNAL(searchRequested(QString)), docWidget, SLOT(search(QString)));
74 connect(_search, SIGNAL(gotoNextResult()), docWidget, SLOT(nextSearchResult()));
75 connect(_search, SIGNAL(gotoPreviousResult()), docWidget, SLOT(previousSearchResult()));
76 connect(_search, SIGNAL(searchCleared()), docWidget, SLOT(clearSearchResults()));

Callers

nothing calls this directly

Calls 14

setSinglePageModeFunction · 0.85
setOneColContPageModeFunction · 0.85
setTwoColContPageModeFunction · 0.85
setPresentationModeFunction · 0.85
setMouseModeMoveFunction · 0.85
setMouseModeMarqueeZoomFunction · 0.85
setMouseModeMeasureFunction · 0.85
setMouseModeSelectFunction · 0.85
goFirstMethod · 0.80
setLastPageMethod · 0.80
dockWidgetMethod · 0.80

Tested by

no test coverage detected