diff options
author | Aleks Kissinger <aleks0@gmail.com> | 2018-07-20 14:40:41 +0200 |
---|---|---|
committer | Aleks Kissinger <aleks0@gmail.com> | 2018-07-20 14:40:41 +0200 |
commit | a287cd28623e8f25ead557b069a10022fae68747 (patch) | |
tree | b58e8fa729f96f4a8304f0cf57e9a8a3f3963ede /src | |
parent | 02986e09367f74cfca6fe391db22cffcd0affe68 (diff) |
automatically resize source pane when jumping and parsing
Diffstat (limited to 'src')
-rw-r--r-- | src/gui/mainmenu.cpp | 14 | ||||
-rw-r--r-- | src/gui/mainwindow.cpp | 4 | ||||
-rw-r--r-- | src/gui/mainwindow.h | 2 | ||||
-rw-r--r-- | src/gui/tikzscene.cpp | 6 | ||||
-rw-r--r-- | src/gui/tikzscene.h | 2 |
5 files changed, 24 insertions, 4 deletions
diff --git a/src/gui/mainmenu.cpp b/src/gui/mainmenu.cpp index fa52138..e297625 100644 --- a/src/gui/mainmenu.cpp +++ b/src/gui/mainmenu.cpp @@ -127,7 +127,12 @@ void MainMenu::on_actionParse_triggered() { MainWindow *win = tikzit->activeWindow(); if (win != 0) { - win->tikzScene()->parseTikz(win->tikzSource()); + if (win->tikzScene()->parseTikz(win->tikzSource())) { + QList<int> sz = win->splitter()->sizes(); + sz[0] = sz[0] + sz[1]; + sz[1] = 0; + win->splitter()->setSizes(sz); + } } } @@ -144,7 +149,12 @@ void MainMenu::on_actionJump_to_Selection_triggered() { MainWindow *win = tikzit->activeWindow(); if (win != 0) { - qDebug() << "jump to selection on line:" << win->tikzScene()->lineNumberForSelection(); + //qDebug() << "jump to selection on line:" << win->tikzScene()->lineNumberForSelection(); + QList<int> sz = win->splitter()->sizes(); + if (sz[1] == 0) { + sz[1] = 200; + win->splitter()->setSizes(sz); + } win->setSourceLine(win->tikzScene()->lineNumberForSelection()); } } diff --git a/src/gui/mainwindow.cpp b/src/gui/mainwindow.cpp index 15b6943..537a612 100644 --- a/src/gui/mainwindow.cpp +++ b/src/gui/mainwindow.cpp @@ -77,6 +77,10 @@ void MainWindow::open(QString fileName) } +QSplitter *MainWindow::splitter() const { + return ui->splitter; +} + void MainWindow::closeEvent(QCloseEvent *event) { qDebug() << "got close event"; diff --git a/src/gui/mainwindow.h b/src/gui/mainwindow.h index 1e05239..10695b7 100644 --- a/src/gui/mainwindow.h +++ b/src/gui/mainwindow.h @@ -15,6 +15,7 @@ #include <QMainWindow> #include <QGraphicsView> +#include <QSplitter> namespace Ui { class MainWindow; @@ -35,6 +36,7 @@ public: TikzDocument *tikzDocument() const; ToolPalette *toolPalette() const; StylePalette *stylePalette() const; + QSplitter *splitter() const; QString tikzSource(); void setSourceLine(int line); diff --git a/src/gui/tikzscene.cpp b/src/gui/tikzscene.cpp index 50ad246..001ab40 100644 --- a/src/gui/tikzscene.cpp +++ b/src/gui/tikzscene.cpp @@ -670,7 +670,7 @@ void TikzScene::deselectAll() selectedItems().clear(); } -void TikzScene::parseTikz(QString tikz) +bool TikzScene::parseTikz(QString tikz) { Graph *newGraph = new Graph(this); TikzAssembler ass(newGraph); @@ -678,6 +678,10 @@ void TikzScene::parseTikz(QString tikz) ReplaceGraphCommand *cmd = new ReplaceGraphCommand(this, graph(), newGraph); tikzDocument()->undoStack()->push(cmd); setEnabled(true); + views()[0]->setFocus(); + return true; + } else { + return false; } } diff --git a/src/gui/tikzscene.h b/src/gui/tikzscene.h index b0e3835..a1d7e26 100644 --- a/src/gui/tikzscene.h +++ b/src/gui/tikzscene.h @@ -63,7 +63,7 @@ public: void pasteFromClipboard(); void selectAllNodes(); void deselectAll(); - void parseTikz(QString tikz); + bool parseTikz(QString tikz); void reflectNodes(bool horizontal); bool enabled() const; void setEnabled(bool enabled); |