| | 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; |