From 6c6b7f26ff5ac80c33bd7a09da7967b6ea2b9bf8 Mon Sep 17 00:00:00 2001
From: Norihiro Watanabe <norihiro.watanabe@ufz.de>
Date: Tue, 13 Jan 2015 11:48:36 +0100
Subject: [PATCH] automatically load a file given as a command line argument

---
 Applications/DataExplorer/main.cpp       |  3 +++
 Applications/DataExplorer/mainwindow.cpp | 10 ++++++++++
 Applications/DataExplorer/mainwindow.h   |  1 +
 3 files changed, 14 insertions(+)

diff --git a/Applications/DataExplorer/main.cpp b/Applications/DataExplorer/main.cpp
index 88b73df9541..d3163eabe75 100644
--- a/Applications/DataExplorer/main.cpp
+++ b/Applications/DataExplorer/main.cpp
@@ -37,6 +37,9 @@ int main(int argc, char* argv[])
 	MainWindow* w = new MainWindow();
 	w->setWindowTitle( w->windowTitle() + " - " +
 		QString::fromStdString(BaseLib::BuildInfo::git_describe));
+	if (QCoreApplication::arguments().size()>1) {
+		w->LoadFile(QCoreApplication::arguments().at(1));
+	}
 	w->show();
 	int returncode = a.exec();
 	delete w;
diff --git a/Applications/DataExplorer/mainwindow.cpp b/Applications/DataExplorer/mainwindow.cpp
index d24e173c6a1..6f1a47389c3 100644
--- a/Applications/DataExplorer/mainwindow.cpp
+++ b/Applications/DataExplorer/mainwindow.cpp
@@ -1096,6 +1096,16 @@ void MainWindow::HideWindow()
 	this->hide();
 }
 
+void MainWindow::LoadFile(const QString &fileName)
+{
+	ImportFileType::type t;
+	QString ext = QFileInfo(fileName).suffix();
+	if (ext=="msh" || ext=="vtu" || ext=="gli" || ext=="gml") {
+		t = ImportFileType::OGS_MSH;
+		this->loadFile(t,fileName);
+	}
+}
+
 void MainWindow::on_actionExportVTK_triggered(bool checked /*= false*/)
 {
 	Q_UNUSED(checked)
diff --git a/Applications/DataExplorer/mainwindow.h b/Applications/DataExplorer/mainwindow.h
index 36837c99f54..59be10bda70 100644
--- a/Applications/DataExplorer/mainwindow.h
+++ b/Applications/DataExplorer/mainwindow.h
@@ -45,6 +45,7 @@ public:
 
 	void ShowWindow();
 	void HideWindow();
+	void LoadFile(const QString &fileName);
 
 protected:
 	void closeEvent( QCloseEvent* event );
-- 
GitLab