From 6121b486e168334db70cbbe7a67afe56c0272748 Mon Sep 17 00:00:00 2001 From: Aleks Kissinger Date: Mon, 17 Dec 2018 12:37:15 +0100 Subject: preview almost works --- src/tikzit.cpp | 33 +++++++++++++++++++++++++++++++-- 1 file changed, 31 insertions(+), 2 deletions(-) (limited to 'src/tikzit.cpp') diff --git a/src/tikzit.cpp b/src/tikzit.cpp index d69f4a8..5f74d0b 100644 --- a/src/tikzit.cpp +++ b/src/tikzit.cpp @@ -20,6 +20,7 @@ #include "tikzassembler.h" #include "tikzstyles.h" #include "previewwindow.h" +#include "latexprocess.h" #include #include @@ -30,6 +31,7 @@ #include #include + // application-level instance of Tikzit Tikzit *tikzit; @@ -107,6 +109,8 @@ void Tikzit::init() _windows << new MainWindow(); _windows[0]->show(); + _styleFile = ""; + _styleFilePath = ""; QString styleFile = settings.value("previous-tikzstyles-file").toString(); if (!styleFile.isEmpty()) loadStyles(styleFile); @@ -128,8 +132,8 @@ void Tikzit::init() checkForUpdates(); } - PreviewWindow *preview = new PreviewWindow(); - preview->show(); + _preview = new PreviewWindow(); + _latex = nullptr; } //QMenuBar *Tikzit::mainMenu() const @@ -415,6 +419,31 @@ void Tikzit::updateReply(QNetworkReply *reply) } } +void Tikzit::makePreview() +{ + if (activeWindow()) { + LatexProcess *oldProc = _latex; + _latex = new LatexProcess(_preview, this); + if (oldProc != nullptr) { + oldProc->kill(); + oldProc->deleteLater(); + } + + connect(_latex, SIGNAL(previewFinished()), this, SLOT(cleanupLatex())); + _latex->makePreview(activeWindow()->tikzSource()); + _preview->show(); + } +} + +void Tikzit::cleanupLatex() +{ + LatexProcess *oldProc = _latex; + _latex = nullptr; + if (oldProc != nullptr) { + oldProc->deleteLater(); + } +} + //StylePalette *Tikzit::stylePalette() const //{ // return _stylePalette; -- cgit v1.2.3