#include <QItemEditorFactory>
#include <QFile>
+#include <QFileDialog>
#include "colorlisteditor.h"
#include "graph.h"
graph->setMode(Graph::EditMode);
}
+void MainWindow::on_actionNew_triggered()
+{
+ graph->clear();
+ currentFile = "";
+}
+
void MainWindow::on_actionSave_triggered()
{
- QFile f("out.txt");
+ if (currentFile.isEmpty())
+ return on_actionSaveAs_triggered();
+
+ QFile f(currentFile);
if (!f.open(QIODevice::WriteOnly))
{
- qDebug() << "Cannot open file";
+ ui->statusBar->showMessage(tr("Cannot open %1 for writing").arg(currentFile));
return;
}
graph->save(&f);
+ ui->statusBar->showMessage(tr("Saved"));
+}
+
+void MainWindow::on_actionSaveAs_triggered()
+{
+ currentFile = QFileDialog::getSaveFileName(this, "Save graph");
+
+ if (!currentFile.isEmpty())
+ return on_actionSave_triggered();
}
void MainWindow::on_actionOpen_triggered()
{
- QFile f("out.txt");
+ currentFile = QFileDialog::getOpenFileName(this, "Open graph");
+
+ if (currentFile.isEmpty())
+ return;
+
+ on_actionReload_triggered();
+}
+
+void MainWindow::on_actionReload_triggered()
+{
+ if (currentFile.isEmpty())
+ return on_actionOpen_triggered();
+
+ QFile f(currentFile);
if (!f.open(QIODevice::ReadOnly))
{
- qDebug() << "Cannot open file";
+ ui->statusBar->showMessage(tr("Cannot open %1 for reading").arg(currentFile));
return;
}
graph->load(&f);
+ ui->statusBar->showMessage(tr("Opened %1").arg(currentFile));
+}
+
+void MainWindow::on_actionQuit_triggered()
+{
+ qApp->quit();
}
void MainWindow::on_actionCompleteCurrentGraph_triggered()
private slots:
void modeChanged(QAction *action);
- void on_actionSave_triggered();
+
+ void on_actionNew_triggered();
void on_actionOpen_triggered();
+ void on_actionReload_triggered();
+ void on_actionSave_triggered();
+ void on_actionSaveAs_triggered();
+ void on_actionQuit_triggered();
void on_actionCompleteCurrentGraph_triggered();
void on_actionGenerateGraph_triggered();
Graph *graph;
QActionGroup *modes;
+
+ QString currentFile;
};
#endif // MAINWINDOW_H
<property name="title">
<string>File</string>
</property>
+ <addaction name="actionNew"/>
<addaction name="actionOpen"/>
+ <addaction name="actionReload"/>
+ <addaction name="separator"/>
<addaction name="actionSave"/>
+ <addaction name="actionSaveAs"/>
<addaction name="separator"/>
<addaction name="actionQuit"/>
</widget>
<property name="text">
<string>Open...</string>
</property>
+ <property name="shortcut">
+ <string>Ctrl+O</string>
+ </property>
</action>
<action name="actionSave">
<property name="text">
<string>Save...</string>
</property>
+ <property name="shortcut">
+ <string>Ctrl+S</string>
+ </property>
</action>
<action name="actionQuit">
<property name="text">
<string>Complete Current Graph</string>
</property>
</action>
+ <action name="actionNew">
+ <property name="text">
+ <string>New</string>
+ </property>
+ <property name="shortcut">
+ <string>Ctrl+N</string>
+ </property>
+ </action>
+ <action name="actionReload">
+ <property name="text">
+ <string>Reload</string>
+ </property>
+ </action>
+ <action name="actionSaveAs">
+ <property name="text">
+ <string>Save As...</string>
+ </property>
+ <property name="shortcut">
+ <string>Ctrl+Shift+S</string>
+ </property>
+ </action>
</widget>
<layoutdefault spacing="6" margin="11"/>
<resources/>