--- main.cpp.orig 2007-05-11 12:03:06.000000000 +0100 +++ main.cpp 2007-05-11 12:02:17.000000000 +0100 @@ -451,15 +451,22 @@ // first of all find out, if this is a frontend only host... bool frontendOnly = gContext->IsFrontendOnly(); + // how do you want to quit today? + int exitMenuStyle = gContext->GetNumSetting("OverrideExitMenu", 0); + QString title = QObject::tr("Do you really want to exit MythTV?"); DialogBox diag(gContext->GetMainWindow(), title); diag.AddButton(QObject::tr("No")); - diag.AddButton(QObject::tr("Yes, Exit now")); - if (frontendOnly) + if (exitMenuStyle < 3) + diag.AddButton(QObject::tr("Yes, Exit now")); + if ((exitMenuStyle == 0 && frontendOnly) || + (exitMenuStyle > 1 && exitMenuStyle < 4)) diag.AddButton(QObject::tr("Yes, Exit and Shutdown")); int result = diag.exec(); + if ((exitMenuStyle == 3) && (result == 2)) + result = 3; switch (result) { case 1: return NO_EXIT; --- globalsettings.cpp.orig 2007-05-11 12:14:31.000000000 +0100 +++ globalsettings.cpp 2007-05-11 12:22:43.000000000 +0100 @@ -1337,6 +1337,21 @@ return gc; } +static HostComboBox *OverrideExitMenu() +{ + HostComboBox *gc = new HostComboBox("OverrideExitMenu"); + gc->setLabel(QObject::tr("Exit menu style")); + gc->addSelection(QObject::tr("Autodetect"), "0"); + gc->addSelection(QObject::tr("Show quit"), "1"); + gc->addSelection(QObject::tr("Show quit and shutdown"), "2"); + gc->addSelection(QObject::tr("Show shutdown"), "3"); + gc->setHelpText(QObject::tr("MythTV automatically determines which " + "options to show in the exit menu. If you wish, you may " + "force specific options to display, to suit your " + "configuration.")); + return gc; +} + static HostCheckBox *NoPromptOnExit() { HostCheckBox *gc = new HostCheckBox("NoPromptOnExit"); @@ -3374,6 +3389,7 @@ general->addChild(AllowQuitShutdown()); general->addChild(NoPromptOnExit()); general->addChild(HaltCommand()); + general->addChild(OverrideExitMenu()); general->addChild(LircKeyPressedApp()); general->addChild(UseArrowAccels()); general->addChild(NetworkControlEnabled());