summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAleks Kissinger <aleks0@gmail.com>2018-07-20 14:40:41 +0200
committerAleks Kissinger <aleks0@gmail.com>2018-07-20 14:40:41 +0200
commita287cd28623e8f25ead557b069a10022fae68747 (patch)
treeb58e8fa729f96f4a8304f0cf57e9a8a3f3963ede /src
parent02986e09367f74cfca6fe391db22cffcd0affe68 (diff)
automatically resize source pane when jumping and parsing
Diffstat (limited to 'src')
-rw-r--r--src/gui/mainmenu.cpp14
-rw-r--r--src/gui/mainwindow.cpp4
-rw-r--r--src/gui/mainwindow.h2
-rw-r--r--src/gui/tikzscene.cpp6
-rw-r--r--src/gui/tikzscene.h2
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);