Adding command line parameters to reset the default settings and to change the initial profile.

This commit is contained in:
Filippo Scognamiglio 2014-10-04 00:43:15 +02:00
parent f8db912f5f
commit dab4b13bfd
2 changed files with 32 additions and 2 deletions

View File

@ -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();

View File

@ -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: {
loadSettings();
// 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();