Merge pull request #8308 from CookiePLMonster/cmdline-headless

Make --batch run Dolphin headless
This commit is contained in:
Connor McLaughlin 2019-08-20 12:22:50 +10:00 committed by GitHub
commit 82fe8f61b6
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 15 additions and 9 deletions

View file

@ -138,7 +138,7 @@ int main(int argc, char* argv[])
UICommon::CreateDirectories();
UICommon::Init();
Resources::Init();
Settings::Instance().SetBatchModeEnabled(options.is_set("batch"));
Settings::Instance().SetBatchModeEnabled(options.is_set("batch") && options.is_set("exec"));
// Hook up alerts from core
Common::RegisterMsgAlertHandler(QtMsgAlertHandler);
@ -217,8 +217,11 @@ int main(int argc, char* argv[])
}
#endif
if (!Settings::Instance().IsBatchModeEnabled())
{
auto* updater = new Updater(&win);
updater->start();
}
retval = app.exec();
}

View file

@ -1714,6 +1714,7 @@ void MainWindow::OnUpdateProgressDialog(QString title, int progress, int total)
void MainWindow::Show()
{
if (!Settings::Instance().IsBatchModeEnabled())
QWidget::show();
// If the booting of a game was requested on start up, do that now

View file

@ -26,11 +26,10 @@ public:
: ConfigLayerLoader(Config::LayerType::CommandLine)
{
if (!video_backend.empty())
m_values.emplace_back(std::make_tuple(Config::MAIN_GFX_BACKEND.location, video_backend));
m_values.emplace_back(Config::MAIN_GFX_BACKEND.location, video_backend);
if (!audio_backend.empty())
m_values.emplace_back(
std::make_tuple(Config::MAIN_DSP_HLE.location, ValueToString(audio_backend == "HLE")));
m_values.emplace_back(Config::MAIN_DSP_HLE.location, ValueToString(audio_backend == "HLE"));
// Arguments are in the format of <System>.<Section>.<Key>=Value
for (const auto& arg : args)
@ -45,7 +44,8 @@ public:
if (system)
{
m_values.emplace_back(
std::make_tuple(Config::ConfigLocation{*system, section, key}, value));
Config::ConfigLocation{std::move(*system), std::move(section), std::move(key)},
std::move(value));
}
}
}
@ -96,7 +96,9 @@ std::unique_ptr<optparse::OptionParser> CreateParser(ParserOptions options)
.action("store_true")
.help("Show the debugger pane and additional View menu options");
parser->add_option("-l", "--logger").action("store_true").help("Open the logger");
parser->add_option("-b", "--batch").action("store_true").help("Exit Dolphin with emulation");
parser->add_option("-b", "--batch")
.action("store_true")
.help("Run Dolphin without the user interface (Requires --exec)");
parser->add_option("-c", "--confirm").action("store_true").help("Set Confirm on Stop");
}