mirror of
				https://github.com/Swordfish90/cool-retro-term.git
				synced 2025-11-04 00:52:11 +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);
 | 
			
		||||
    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
 | 
			
		||||
    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: {
 | 
			
		||||
        // Manage the arguments from the QML side.
 | 
			
		||||
        var args = Qt.application.arguments;
 | 
			
		||||
        if (args.indexOf("--default-settings") === -1) {
 | 
			
		||||
            loadSettings();
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        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: {
 | 
			
		||||
        storeSettings();
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user