|
@@ -13,6 +13,7 @@
|
|
|
#include <QActionGroup>
|
|
|
#include <QTimer>
|
|
|
#include <QPrinter>
|
|
|
+ #include <QWebEngineSettings>
|
|
|
|
|
|
#include <core/fileopenparameters.h>
|
|
|
#include <core/editorconfig.h>
|
|
@@ -394,6 +395,8 @@ void MarkdownViewWindow::setupTextEditor()
|
|
|
|
|
|
connect(m_editor, &MarkdownEditor::applySnippetRequested,
|
|
|
this, QOverload<>::of(&MarkdownViewWindow::applySnippet));
|
|
|
+ connect(m_viewer, &MarkdownViewer::printFinished, this, &MarkdownViewWindow::onPrintFinish);
|
|
|
+
|
|
|
}
|
|
|
|
|
|
QStackedWidget *MarkdownViewWindow::getMainStatusWidget() const
|
|
@@ -502,6 +505,7 @@ void MarkdownViewWindow::setupViewer()
|
|
|
setEditViewMode(m_editViewMode);
|
|
|
}
|
|
|
});
|
|
|
+ m_viewer->settings()->resetAttribute(QWebEngineSettings::LocalContentCanAccessRemoteUrls);
|
|
|
}
|
|
|
|
|
|
void MarkdownViewWindow::syncTextEditorFromBuffer(bool p_syncPositionFromReadMode)
|
|
@@ -1398,15 +1402,31 @@ void MarkdownViewWindow::print()
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
- auto printer = PrintUtils::promptForPrint(m_viewer->hasSelection(), this);
|
|
|
- if (printer) {
|
|
|
- m_viewer->page()->print(printer.data(), [printer](bool p_succeeded) mutable {
|
|
|
- Q_UNUSED(p_succeeded);
|
|
|
- printer.reset();
|
|
|
- });
|
|
|
+ m_printer = PrintUtils::promptForPrint(m_viewer->hasSelection(), this);
|
|
|
+
|
|
|
+ if (m_printer)
|
|
|
+ {
|
|
|
+ m_printer->setOutputFormat(QPrinter::PdfFormat);
|
|
|
+ m_viewer->print(m_printer.get());
|
|
|
}
|
|
|
}
|
|
|
+void MarkdownViewWindow::onPrintFinish(bool isSeccess)
|
|
|
+{
|
|
|
+ m_printer.reset();
|
|
|
+ QString message;
|
|
|
+ if (isSeccess) {
|
|
|
+ message = "print to pdf suceess.";
|
|
|
+ } else {
|
|
|
+ message = "print to pdf failed.";
|
|
|
+ }
|
|
|
+ showMessage(message);
|
|
|
|
|
|
+// MessageBoxHelper::notify(MessageBoxHelper::Information,
|
|
|
+// message,
|
|
|
+// QString(),
|
|
|
+// QString(),
|
|
|
+// this);
|
|
|
+}
|
|
|
void MarkdownViewWindow::handleExternalCodeBlockHighlightRequest(int p_idx, quint64 p_timeStamp, const QString &p_text)
|
|
|
{
|
|
|
static bool stylesInitialized = false;
|