diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/gui/stylepalette.cpp | 7 | ||||
-rw-r--r-- | src/gui/stylepalette.h | 1 | ||||
-rw-r--r-- | src/tikzit.cpp | 37 | ||||
-rw-r--r-- | src/tikzit.h | 1 |
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(); |