Fix some memory leaks, not really causing any leaks really. but still
parent
7f76913183
commit
2f2384b8cb
|
@ -0,0 +1,2 @@
|
|||
#!/usr/bin/env bash
|
||||
valgrind --leak-check=full --track-origins=yes ./build/bin/browser
|
|
@ -30,12 +30,12 @@ MainWindow::MainWindow()
|
|||
resize(600, 400);
|
||||
setWindowTitle("Browser");
|
||||
|
||||
QMenu *fileMenu = new QMenu("File");
|
||||
fileMenu->addAction("Open...");
|
||||
fileMenu->addAction("New...");
|
||||
fileMenu->addAction("Exit");
|
||||
QMenu fileMenu("File");
|
||||
fileMenu.addAction("Open...");
|
||||
fileMenu.addAction("New...");
|
||||
fileMenu.addAction("Exit");
|
||||
|
||||
menuBar()->addMenu(fileMenu);
|
||||
menuBar()->addMenu(&fileMenu);
|
||||
|
||||
QWidget *centralWidget = new QWidget;
|
||||
setCentralWidget(centralWidget);
|
||||
|
@ -58,6 +58,16 @@ MainWindow::MainWindow()
|
|||
setupParser();
|
||||
}
|
||||
|
||||
MainWindow::~MainWindow()
|
||||
{
|
||||
delete scene;
|
||||
delete view;
|
||||
delete textEdit;
|
||||
delete parser;
|
||||
delete renderer;
|
||||
delete menuBar();
|
||||
}
|
||||
|
||||
void MainWindow::setupParser()
|
||||
{
|
||||
parser = new Parser();
|
||||
|
|
|
@ -18,15 +18,16 @@ class MainWindow : public QMainWindow
|
|||
|
||||
public:
|
||||
MainWindow();
|
||||
~MainWindow();
|
||||
void setOutputToTextEdit(const QString& text);
|
||||
|
||||
//private slots:
|
||||
// void newFile();
|
||||
|
||||
private:
|
||||
Scene *scene;
|
||||
QGraphicsView *view;
|
||||
QTextEdit *textEdit;
|
||||
Scene *scene;
|
||||
Parser *parser;
|
||||
QtRenderer *renderer;
|
||||
|
||||
|
|
|
@ -32,6 +32,11 @@ QtRenderer::QtRenderer():
|
|||
font->setFamily(fontFamilty);
|
||||
}
|
||||
|
||||
QtRenderer::~QtRenderer()
|
||||
{
|
||||
delete font;
|
||||
}
|
||||
|
||||
void QtRenderer::setScene(Scene* scene)
|
||||
{
|
||||
this->scene = scene;
|
||||
|
@ -213,11 +218,11 @@ QRectF const QtRenderer::drawText(const QString& text)
|
|||
// We can still extend the QGraphicsSimpleTextItem class (or QAbstractGraphicsShapeItem) and override paint method.
|
||||
// Or just use QPainter with a paint device (like QWidgets), to have maximal control.
|
||||
QGraphicsSimpleTextItem *textItem = new QGraphicsSimpleTextItem(text);
|
||||
//font->setBold(bold);
|
||||
//font->setItalic(italic);
|
||||
font->setBold(bold);
|
||||
font->setItalic(italic);
|
||||
|
||||
if (headingLevel > 0) {
|
||||
//font->setBold(true);
|
||||
font->setBold(true);
|
||||
switch(headingLevel) {
|
||||
case 1:
|
||||
font->setPixelSize(24);
|
||||
|
|
|
@ -18,6 +18,7 @@ class QtRenderer : public RendererI
|
|||
{
|
||||
public:
|
||||
explicit QtRenderer();
|
||||
~QtRenderer();
|
||||
|
||||
void setScene(Scene *scene) override;
|
||||
void setUnknownYet() override {}; // No implementation
|
||||
|
|
|
@ -10,6 +10,7 @@ struct cmark_node;
|
|||
class RendererI
|
||||
{
|
||||
public:
|
||||
virtual ~RendererI() {};
|
||||
// TODO: Combien those two sets to 1, create an abstract class for setting a scene in Qt and/or Imgui.
|
||||
virtual void setScene(Scene *scene) = 0;// For Qt
|
||||
virtual void setUnknownYet() = 0; // For Imgui
|
||||
|
|
Loading…
Reference in New Issue