Ticket #2205: startscreensaver.patch

File startscreensaver.patch, 6.5 KB (added by Daniel Sherwood, 18 years ago)
  • libs/libmythui/mythmainwindow.cpp

     
    13131313                gContext->DoResetScreensaver();
    13141314                break;
    13151315            }
     1316            case ScreenSaverEvent::ssetForceOn:
     1317            {
     1318                gContext->DoForceOnScreensaver();
     1319                break;
     1320            }
    13161321            default:
    13171322            {
    13181323                cerr << "Unknown ScreenSaverEvent type: " <<
  • libs/libmyth/screensaver-osx.cpp

     
    6161    ScreenSaverOSXPrivate::timerCallback(NULL, NULL);
    6262}
    6363
     64void ScreenSaverOSX::ForceOn(void)
     65{
     66}
     67
    6468bool ScreenSaverOSX::Asleep(void)
    6569{
    6670    return 0;
  • libs/libmyth/screensaver-x11.cpp

     
    8585
    8686void ScreenSaverX11::Disable(void)
    8787{
     88    VERBOSE(VB_GENERAL, "ScreenSaverX11::Disable()");
    8889    if (!d->state.saved)
    8990    {
    9091        XGetScreenSaver(qt_xdisplay(),
     
    125126
    126127void ScreenSaverX11::Restore(void)
    127128{
     129    VERBOSE(VB_GENERAL, "ScreenSaverX11::Restore()");
    128130    XResetScreenSaver(qt_xdisplay());
    129131    XSetScreenSaver(qt_xdisplay(),
    130132                    d->state.timeout, d->state.interval,
     
    145147
    146148void ScreenSaverX11::Reset(void)
    147149{
     150    VERBOSE(VB_GENERAL, "ScreenSaverX11::Reset()");
    148151    XResetScreenSaver(qt_xdisplay());
    149152    if (d->state.xscreensaverRunning)
    150153        resetSlot();
     
    178181{
    179182    myth_system(QString("xscreensaver-command -deactivate >&- 2>&- &"));
    180183}
     184
     185void ScreenSaverX11::ForceOn(void)
     186{
     187    VERBOSE(VB_GENERAL, "ScreenSaverX11::ForceOn()");
     188    myth_system(QString("xscreensaver-command -activate >&- 2>&- &"));
     189}
  • libs/libmyth/screensaver-null.cpp

     
    1818{
    1919}
    2020
     21void ScreenSaverNull::ForceOn(void)
     22{
     23}
     24
    2125bool ScreenSaverNull::Asleep(void)
    2226{
    2327    return 0;
  • libs/libmyth/mythcontext.h

     
    394394    // Reset screensaver idle time, for input events that X doesn't see
    395395    // (e.g., lirc)
    396396    void ResetScreensaver(void);
     397    void ForceOnScreensaver(void);
    397398
    398399    // actually do it
    399400    void DoDisableScreensaver(void);
    400401    void DoRestoreScreensaver(void);
    401402    void DoResetScreensaver(void);
     403    void DoForceOnScreensaver(void);
    402404
    403405    // get the current status
    404406    bool GetScreensaverEnabled(void);
  • libs/libmyth/screensaver.h

     
    66class ScreenSaverEvent : public QCustomEvent
    77{
    88public:
    9     enum ScreenSaverEventType {ssetDisable, ssetRestore, ssetReset};
     9    enum ScreenSaverEventType {ssetDisable, ssetRestore, ssetReset, ssetForceOn};
    1010
    1111    ScreenSaverEvent(ScreenSaverEventType type) :
    1212        QCustomEvent(kScreenSaverEventType), sset(type)
     
    3636    virtual void Disable(void) = 0;
    3737    virtual void Restore(void) = 0;
    3838    virtual void Reset(void) = 0;
    39 
    4039    virtual bool Asleep(void) = 0;
     40    virtual void ForceOn(void) = 0;
    4141};
    4242
    4343#endif // MYTH_SCREENSAVER_H
  • libs/libmyth/screensaver-null.h

     
    1414    void Reset(void);
    1515
    1616    bool Asleep(void);
     17    void ForceOn(void);
    1718};
    1819
    1920#endif // MYTH_SCREENSAVER_NULL_H
  • libs/libmyth/mythcontext.cpp

     
    26342634            new ScreenSaverEvent(ScreenSaverEvent::ssetReset));
    26352635}
    26362636
     2637void MythContext::ForceOnScreensaver(void)
     2638{
     2639    VERBOSE(VB_GENERAL, "MythContext::ForceOnScreensaver()");
     2640    //QApplication::postEvent(GetMainWindow(),
     2641    //        new ScreenSaverEvent(ScreenSaverEvent::ssetForceOn));
     2642    DoForceOnScreensaver();
     2643}
     2644
    26372645void MythContext::DoDisableScreensaver(void)
    26382646{
    26392647    if (d && d->screensaver)
     
    26612669    }
    26622670}
    26632671
     2672void MythContext::DoForceOnScreensaver(void)
     2673{
     2674    VERBOSE(VB_GENERAL, "MythContext::DoForceOnScreensaver()");
     2675    if (d && d->screensaver)
     2676    {
     2677        VERBOSE(VB_GENERAL, "MythContext::DoForceOnScreensaver() - 2");
     2678        d->screensaver->ForceOn();
     2679        //d->screensaverEnabled = false;
     2680    }
     2681}
     2682
    26642683bool MythContext::GetScreensaverEnabled(void)
    26652684{
    26662685    if (!d)
  • libs/libmyth/screensaver-osx.h

     
    1212    void Disable(void);
    1313    void Restore(void);
    1414    void Reset(void);
     15    void ForceOn(void);
    1516
    1617    bool Asleep(void);
    1718
  • libs/libmyth/screensaver-x11.h

     
    1616    void Disable(void);
    1717    void Restore(void);
    1818    void Reset(void);
     19    void ForceOn(void);
    1920
    2021    bool Asleep(void);
    2122
  • programs/mythfrontend/main.cpp

     
    318318    }
    319319}
    320320
     321void startScreenSaver(void)
     322{
     323    VERBOSE(VB_GENERAL, "startScreenSaver()");
     324    gContext->ForceOnScreensaver();
     325}
     326
    321327void TVMenuCallback(void *data, QString &selection)
    322328{
    323329    (void)data;
     
    682688    REG_JUMP("Manual Record Scheduling", "", "", startManual);
    683689    REG_JUMP("Status Screen", "", "", showStatus);
    684690    REG_JUMP("Previously Recorded", "", "", startPrevious);
     691    REG_JUMP("Start Screen Saver", "", "", startScreenSaver);
    685692
    686693    TV::InitKeys();
    687694}