mirror of
				https://github.com/Swordfish90/cool-retro-term.git
				synced 2025-11-04 09:02:14 +00:00 
			
		
		
		
	Adding command line parameters to reset the default settings and to change the initial profile.
This commit is contained in:
		
							
								
								
									
										10
									
								
								app/main.cpp
									
									
									
									
									
								
							
							
						
						
									
										10
									
								
								app/main.cpp
									
									
									
									
									
								
							@@ -13,7 +13,15 @@ int main(int argc, char *argv[])
 | 
				
			|||||||
    QApplication app(argc, argv);
 | 
					    QApplication app(argc, argv);
 | 
				
			||||||
    QQmlApplicationEngine engine;
 | 
					    QQmlApplicationEngine engine;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    // Managing some env variables
 | 
					    // Manage command line arguments from the cpp side
 | 
				
			||||||
 | 
					    QStringList args = app.arguments();
 | 
				
			||||||
 | 
					    if (args.contains("-h") || args.contains("--help")) {
 | 
				
			||||||
 | 
					        qDebug() << "Usage: " + args.at(0) + " [--default-settings] [-h|--help]";
 | 
				
			||||||
 | 
					        qDebug() << "    --default-settings  Run cool-old-term with the default settings";
 | 
				
			||||||
 | 
					        qDebug() << "    -p|--profile        Run cool-old-term with the given profile.";
 | 
				
			||||||
 | 
					        qDebug() << "    -h|--help           Print this help.";
 | 
				
			||||||
 | 
					        return 0;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    // Manage import paths
 | 
					    // Manage import paths
 | 
				
			||||||
    QStringList importPathList = engine.importPathList();
 | 
					    QStringList importPathList = engine.importPathList();
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -379,9 +379,31 @@ Item{
 | 
				
			|||||||
        }
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    function getProfileIndexByName(name) {
 | 
				
			||||||
 | 
					        for (var i = 0; i < profileslist.count; i++) {
 | 
				
			||||||
 | 
					            if(profileslist.get(i).text === name)
 | 
				
			||||||
 | 
					                return i;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        return -1;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    Component.onCompleted: {
 | 
					    Component.onCompleted: {
 | 
				
			||||||
        loadSettings();
 | 
					        // Manage the arguments from the QML side.
 | 
				
			||||||
 | 
					        var args = Qt.application.arguments;
 | 
				
			||||||
 | 
					        if (args.indexOf("--default-settings") === -1) {
 | 
				
			||||||
 | 
					            loadSettings();
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        loadCustomProfiles();
 | 
					        loadCustomProfiles();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        var profileArgPosition = args.indexOf("--profile");
 | 
				
			||||||
 | 
					        if (profileArgPosition !== -1) {
 | 
				
			||||||
 | 
					            var profileIndex = getProfileIndexByName(args[profileArgPosition + 1]);
 | 
				
			||||||
 | 
					            if (profileIndex !== -1)
 | 
				
			||||||
 | 
					                loadProfile(profileIndex);
 | 
				
			||||||
 | 
					            else
 | 
				
			||||||
 | 
					                console.log("Warning: selected profile is not valid; ignoring it");
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    Component.onDestruction: {
 | 
					    Component.onDestruction: {
 | 
				
			||||||
        storeSettings();
 | 
					        storeSettings();
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user