From d7ac1fecd045979cd60d9ec49534f0584cc4514c Mon Sep 17 00:00:00 2001
From: am0ebe <am0ebe@gmx.de>
Date: Tue, 21 May 2024 14:09:20 +0200
Subject: [PATCH] give configfilename as arg, to quickly switch between setups

---
 src/cam.cpp      |  8 ++++----
 src/cmd/main.cpp |  9 +++++++--
 src/core.cpp     |  6 ++----
 src/utils.cpp    | 15 +++++++++++----
 src/utils.h      |  2 +-
 5 files changed, 25 insertions(+), 15 deletions(-)

diff --git a/src/cam.cpp b/src/cam.cpp
index 67d599e..561194c 100644
--- a/src/cam.cpp
+++ b/src/cam.cpp
@@ -226,11 +226,11 @@ QString Cam::info()
 
 	try
 	{
-		std::string str;
-		g(_cam->GetID( str ));
-		_id = QString::fromStdString(str);
-		camInfo += _id + DELIM;
+		camInfo += name() + DELIM;
+		camInfo += ip() + DELIM;
+		camInfo += id() + DELIM;
 
+		std::string str;
 		// g(_cam->GetName( str ));
 		// _name = QString::fromStdString(str);
 		// camInfo += _name + DELIM;
diff --git a/src/cmd/main.cpp b/src/cmd/main.cpp
index 5c4c5aa..345b698 100644
--- a/src/cmd/main.cpp
+++ b/src/cmd/main.cpp
@@ -17,8 +17,13 @@ int main(int argc, char *argv[])
 	QCoreApplication::setApplicationVersion(getVersion());
 	QCoreApplication::setApplicationName("recorder");
 
-//parse from arg
-	// configFile("cams23.json");
+	//parse from arg
+	QStringList arguments = a.arguments();
+	if (arguments.size()>=1)
+	{
+		configFile(arguments.at(1));
+	}
+
 
 	Controller controller;
 	Core core;
diff --git a/src/core.cpp b/src/core.cpp
index 2bee444..4974c01 100644
--- a/src/core.cpp
+++ b/src/core.cpp
@@ -43,7 +43,7 @@ void Core::init()
 
 	//parse config file
 	QList<QPair<QString, QString>> parsedCameras;
-	parseConfig(configFile(), parsedCameras);
+	parseConfig(parsedCameras);
 
 	//add to cam list
 	for ( auto cam : parsedCameras )
@@ -74,7 +74,7 @@ void Core::detectCams()
 			CameraPtr pcam;
 			if( VmbErrorSuccess == _sys.GetCameraByID( cam->ip().toStdString(), VmbAccessModeFull, pcam ) )
 			{
-				cam->setCameraPtr(pcam); //triggers camobserver changed signal > set state closed
+				cam->setCameraPtr(pcam); //triggers camobserver changed signal > set state
 			}
 		}
 	}
@@ -89,8 +89,6 @@ void Core::onCameraChanged(CameraPtr vcam, UpdateTriggerType type)
 	listCams();
 }
 
-
-// update + print camlist
 void Core::listCams()
 {
 	// qDebug() << __LINE__ << "-" << __PRETTY_FUNCTION__ << "";
diff --git a/src/utils.cpp b/src/utils.cpp
index 8c939d9..505a0b6 100644
--- a/src/utils.cpp
+++ b/src/utils.cpp
@@ -138,12 +138,12 @@ bool maybeCreateDir(QDir out_dir)
 	return true;
 }
 
-void parseConfig(const QString& filename, QList<QPair<QString,QString>>& parsedCameras)
+void parseConfig(QList<QPair<QString,QString>>& parsedCameras)
 {
-	QFile file(filename);
+	QFile file(configFile());
 	if (!file.open(QIODevice::ReadOnly))
 	{
-		qWarning() << "Failed to open file:" << filename;
+		qWarning() << "Failed to open file:" << configFile();
 		return;
 	}
 
@@ -193,7 +193,14 @@ QString configFile(QString filename)
 	static QString _filename;
 	if( _filename.isEmpty() )
 	{
-		_filename = filename.isEmpty() ? QCoreApplication::applicationDirPath() + "/test.json" : filename;
+		if(filename.isEmpty())
+		{
+			_filename = QCoreApplication::applicationDirPath() + "/test.json" ;
+		}
+		else
+		{
+			_filename = filename;
+		}
 	}
 	return _filename;
 }
diff --git a/src/utils.h b/src/utils.h
index 70ebc48..f91e1de 100644
--- a/src/utils.h
+++ b/src/utils.h
@@ -9,7 +9,7 @@
 
 class QDir;
 
-void parseConfig(const QString& filename, QList<QPair<QString,QString>>& parsedCameras);
+void parseConfig(QList<QPair<QString,QString>>& parsedCameras);
 QString configFile(QString filename="");
 
 const QStringList getVersions();
-- 
GitLab