| 84 | class BookmarkDialog : MythScreenType |
| 85 | { |
| 86 | public: |
| 87 | BookmarkDialog(ProgramInfo *pginfo, MythScreenStack *parent) : |
| 88 | MythScreenType(parent, "bookmarkdialog"), |
| 89 | pgi(pginfo) |
| 90 | { |
| 91 | } |
| 92 | |
| 93 | bool Create() |
| 94 | { |
| 95 | QString msg = QObject::tr("DVD/Video contains a bookmark"); |
| 96 | QString btn0msg = QObject::tr("Play from bookmark"); |
| 97 | QString btn1msg = QObject::tr("Play from beginning"); |
| 98 | |
| 99 | MythDialogBox *popup = new MythDialogBox(msg, GetScreenStack(), "bookmarkdialog"); |
| 100 | if (!popup->Create()) |
| 101 | { |
| 102 | delete popup; |
| 103 | return false; |
| 104 | } |
| 105 | |
| 106 | GetScreenStack()->AddScreen(popup); |
| 107 | |
| 108 | popup->SetReturnEvent(this, "bookmarkdialog"); |
| 109 | popup->AddButton(btn0msg); |
| 110 | popup->AddButton(btn1msg); |
| 111 | return true; |
| 112 | } |
| 113 | |
| 114 | void customEvent(QEvent *event) |
| 115 | { |
| 116 | if (event->type() == kMythDialogBoxCompletionEventType) |
| 117 | { |
| 118 | DialogCompletionEvent *dce = dynamic_cast<DialogCompletionEvent*>(event); |
| 119 | int buttonnum = dce->GetResult(); |
| 120 | |
| 121 | if (dce->GetId() == "bookmarkdialog") |
| 122 | { |
| 123 | if (buttonnum == 1) |
| 124 | pgi->setIgnoreBookmark(true); |
| 125 | else if (buttonnum != 0) |
| 126 | { |
| 127 | delete pgi; |
| 128 | return; |
| 129 | } |
| 130 | |
| 131 | TV::StartTV(pgi); |
| 132 | |
| 133 | sleep(1); |
| 134 | delete pgi; |
| 135 | } |
| 136 | } |
| 137 | } |
| 138 | |
| 139 | private: |
| 140 | ProgramInfo* pgi; |
| 141 | }; |
| 142 | |
798 | | QString msg = QObject::tr("DVD/Video contains a bookmark"); |
799 | | QString btn0msg = QObject::tr("Play from bookmark"); |
800 | | QString btn1msg = QObject::tr("Play from beginning"); |
801 | | |
802 | | DialogCode ret = MythPopupBox::Show2ButtonPopup( |
803 | | gContext->GetMainWindow(), |
804 | | "", msg, |
805 | | btn0msg, |
806 | | btn1msg, |
807 | | kDialogCodeButton0); |
808 | | if (kDialogCodeButton1 == ret) |
809 | | pginfo->setIgnoreBookmark(true); |
810 | | else if (kDialogCodeRejected == ret) |
811 | | { |
812 | | delete pginfo; |
| 855 | MythScreenStack *mainStack = GetMythMainWindow()->GetMainStack(); |
| 856 | BookmarkDialog *bookmarkdialog = new BookmarkDialog(pginfo, mainStack); |
| 857 | if (!bookmarkdialog->Create()) |
| 858 | { |
| 859 | delete bookmarkdialog; |