diff --git a/src/Charts/ChartBar.cpp b/src/Charts/ChartBar.cpp index 1d6e89dda..265c95417 100644 --- a/src/Charts/ChartBar.cpp +++ b/src/Charts/ChartBar.cpp @@ -122,6 +122,8 @@ ChartBar::ChartBar(Context *context) : QWidget(context->mainWindow), context(con barMenu = new QMenu("Add"); chartMenu = barMenu->addMenu(tr("Add Chart")); + barMenu->addAction(tr("Import Chart..."), context->mainWindow, SLOT(importChart())); + #ifdef GC_HAS_CLOUD_DB barMenu->addAction(tr("Upload Chart..."), context->mainWindow, SLOT(exportChartToCloudDB())); barMenu->addAction(tr("Download Chart..."), context->mainWindow, SLOT(addChartFromCloudDB())); diff --git a/src/Gui/MainWindow.cpp b/src/Gui/MainWindow.cpp index 034bd304d..c5478d2e3 100644 --- a/src/Gui/MainWindow.cpp +++ b/src/Gui/MainWindow.cpp @@ -554,6 +554,7 @@ MainWindow::MainWindow(const QDir &home) #endif viewMenu->addSeparator(); subChartMenu = viewMenu->addMenu(tr("Add Chart")); + viewMenu->addAction(tr("Import Chart..."), this, SLOT(importChart())); #ifdef GC_HAS_CLOUD_DB viewMenu->addAction(tr("Upload Chart..."), this, SLOT(exportChartToCloudDB())); viewMenu->addAction(tr("Download Chart..."), this, SLOT(addChartFromCloudDB())); @@ -820,6 +821,18 @@ MainWindow::addChart(QAction*action) currentTab->addChart(id); // called from MainWindow to inset chart } +void +MainWindow::importChart() +{ + QString fileName = QFileDialog::getOpenFileName(this, tr("Select Chart file to import"), "", tr("GoldenCheetah Chart Files (*.gchart)")); + + if (fileName.isEmpty()) { + QMessageBox::critical(this, tr("Import Chart"), tr("No chart file selected!")); + } else { + importCharts(QStringList()<