summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAleks Kissinger <aleks0@gmail.com>2018-10-11 13:34:08 +0200
committerAleks Kissinger <aleks0@gmail.com>2018-10-11 13:34:08 +0200
commitd83ee761d8f93def60199932462baee818c2c1eb (patch)
tree302ec879497c2ac319ed267b55482644ffb6ddfd
parent68921d37da4f2268af5006c0aed68d70ee7b6dff (diff)
can now create new tikzstyles
-rw-r--r--src/gui/stylepalette.cpp7
-rw-r--r--src/gui/stylepalette.h1
-rw-r--r--src/tikzit.cpp37
-rw-r--r--src/tikzit.h1
4 files changed, 43 insertions, 3 deletions
diff --git a/src/gui/stylepalette.cpp b/src/gui/stylepalette.cpp
index 5e6de43..1fad721 100644
--- a/src/gui/stylepalette.cpp
+++ b/src/gui/stylepalette.cpp
@@ -137,7 +137,12 @@ void StylePalette::nodeStyleDoubleClicked(const QModelIndex &)
void StylePalette::edgeStyleDoubleClicked(const QModelIndex &)
{
- tikzit->activeWindow()->tikzScene()->applyActiveStyleToEdges();
+ tikzit->activeWindow()->tikzScene()->applyActiveStyleToEdges();
+}
+
+void StylePalette::on_buttonNewTikzstyles_clicked()
+{
+ tikzit->newTikzStyles();
}
void StylePalette::on_buttonOpenTikzstyles_clicked()
diff --git a/src/gui/stylepalette.h b/src/gui/stylepalette.h
index b76aa03..e83f961 100644
--- a/src/gui/stylepalette.h
+++ b/src/gui/stylepalette.h
@@ -43,6 +43,7 @@ public:
public slots:
void nodeStyleDoubleClicked(const QModelIndex &);
void edgeStyleDoubleClicked(const QModelIndex &);
+ void on_buttonNewTikzstyles_clicked();
void on_buttonOpenTikzstyles_clicked();
void on_buttonEditTikzstyles_clicked();
void on_buttonRefreshTikzstyles_clicked();
diff --git a/src/tikzit.cpp b/src/tikzit.cpp
index c649969..2210f3a 100644
--- a/src/tikzit.cpp
+++ b/src/tikzit.cpp
@@ -136,6 +136,41 @@ QString Tikzit::nameForColor(QColor col)
"; blue," + QString::number(col.blue());
}
+void Tikzit::newTikzStyles()
+{
+ QSettings settings("tikzit", "tikzit");
+ QFileDialog dialog;
+ dialog.setDefaultSuffix("tikzstyles");
+ dialog.setWindowTitle(tr("Create TikZ Style File"));
+ dialog.setAcceptMode(QFileDialog::AcceptSave);
+ dialog.setLabelText(QFileDialog::Accept, "Create");
+ dialog.setNameFilter(tr("TiKZ Style File (*.tikzstyles)"));
+ dialog.setFileMode(QFileDialog::AnyFile);
+ dialog.setDirectory(settings.value("previous-file-path").toString());
+ dialog.setOption(QFileDialog::DontUseNativeDialog);
+
+ if (dialog.exec() && !dialog.selectedFiles().isEmpty()) {
+ QString fileName = dialog.selectedFiles()[0];
+ TikzStyles *st = new TikzStyles;
+
+ if (st->saveStyles(fileName)) {
+ QFileInfo fi(fileName);
+ _styleFile = fi.fileName();
+ _styleFilePath = fi.absoluteFilePath();
+ delete _styles;
+ _styles = st;
+
+ foreach (MainWindow *w, _windows) {
+ w->tikzScene()->reloadStyles();
+ }
+ } else {
+ QMessageBox::warning(0,
+ "Could not write to style file.",
+ "Could not write to: '" + fileName + "'. Check file permissions or choose a new location.");
+ }
+ }
+}
+
ToolPalette *Tikzit::toolPalette() const
{
return _toolPalette;
@@ -222,8 +257,6 @@ void Tikzit::openTikzStyles() {
QSettings settings("tikzit", "tikzit");
settings.setValue("previous-tikzstyles-path", fi.absolutePath());
settings.setValue("previous-tikzstyles-file", fileName);
- } else {
- // BAD STYLE FILE
}
}
}
diff --git a/src/tikzit.h b/src/tikzit.h
index 6612ff1..8980f17 100644
--- a/src/tikzit.h
+++ b/src/tikzit.h
@@ -121,6 +121,7 @@ public:
QColor colorByName(QString name);
QString nameForColor(QColor col);
+ void newTikzStyles();
void openTikzStyles();
bool loadStyles(QString fileName);
void showStyleEditor();