Ticket #3446: mythtv-quit-reboot.diff

File mythtv-quit-reboot.diff, 1.4 KB (added by cythrault@…, 19 years ago)

add exit & reboot

  • programs/mythfrontend/main.cpp

     
    5454#define NO_EXIT  0
    5555#define QUIT     1
    5656#define HALT     2
     57#define REBOOT   3
    5758
    5859static MythThemedMenu *menu;
    5960static MythThemeBase *themeBase;
     
    443444    diag.AddButton(QObject::tr("No"));
    444445    diag.AddButton(QObject::tr("Yes, Exit now"));
    445446    if (frontendOnly)
     447        diag.AddButton(QObject::tr("Yes, Exit and Reboot"));
    446448        diag.AddButton(QObject::tr("Yes, Exit and Shutdown"));
    447449
    448450    int result = diag.exec();
     
    450452    {
    451453        case 1: return NO_EXIT;
    452454        case 2: return QUIT;
    453         case 3: return HALT;
     455        case 3: return REBOOT;
     456        case 4: return HALT;
    454457        default: return NO_EXIT;
    455458    }
    456459}
     
    463466        system(halt_cmd.ascii());
    464467}
    465468
     469void rebootnow()
     470{
     471    QString reboot_cmd = gContext->GetSetting("RebootCommand",
     472                                            "sudo /sbin/reboot");
     473    if (!reboot_cmd.isEmpty())
     474        system(reboot_cmd.ascii());
     475}
     476
    466477bool RunMenu(QString themedir)
    467478{
    468479    menu = new MythThemedMenu(themedir.ascii(), "mainmenu.xml",
     
    12471258    if (exitstatus == HALT)
    12481259        haltnow();
    12491260
     1261    if (exitstatus == REBOOT)
     1262        rebootnow();
     1263
    12501264    pmanager->DestroyAllPlugins();
    12511265
    12521266#ifndef _WIN32