|
|
|
@ -320,6 +320,34 @@ GMainWindow::GMainWindow() |
|
|
|
continue; |
|
|
|
} |
|
|
|
|
|
|
|
// Launch game with a specific user
|
|
|
|
if (args[i] == QStringLiteral("-u")) { |
|
|
|
if (i >= args.size() - 1) { |
|
|
|
continue; |
|
|
|
} |
|
|
|
|
|
|
|
if (args[i + 1].startsWith(QChar::fromLatin1('-'))) { |
|
|
|
continue; |
|
|
|
} |
|
|
|
|
|
|
|
bool argument_ok; |
|
|
|
const std::size_t selected_user = args[++i].toUInt(&argument_ok); |
|
|
|
|
|
|
|
if (!argument_ok) { |
|
|
|
LOG_ERROR(Frontend, "Invalid user argument"); |
|
|
|
continue; |
|
|
|
} |
|
|
|
|
|
|
|
const Service::Account::ProfileManager manager; |
|
|
|
if (!manager.UserExistsIndex(selected_user)) { |
|
|
|
LOG_ERROR(Frontend, "Selected user doesn't exist"); |
|
|
|
continue; |
|
|
|
} |
|
|
|
|
|
|
|
Settings::values.current_user = selected_user; |
|
|
|
continue; |
|
|
|
} |
|
|
|
|
|
|
|
// Launch game at path
|
|
|
|
if (args[i] == QStringLiteral("-g")) { |
|
|
|
if (i >= args.size() - 1) { |
|
|
|
|