[mythtv] PATCH - Prompt on playback exit.....
John
mythtv-dev@snowman.net
Thu, 19 Dec 2002 21:46:41 -0500 (EST)
------=_20021219214641_36959
Content-Type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: 8bit
This patch prompts you before exiting playback of a recording. It gives
the following options:
1) Save this poision and exit the recording
2) Don't save the posisiton just exit
3) Keep playing
4) Delete the recording
Isaac, let me know if I should have taken a different approach..
John
-------------------------------------
diff -ru cvs/MC/libs/libmythtv/tv_play.cpp
cvs.jrs/MC/libs/libmythtv/tv_play.cpp--- cvs/MC/libs/libmythtv/tv_play.cpp Thu Dec 19 15:11:13 2002
+++ cvs.jrs/MC/libs/libmythtv/tv_play.cpp Thu Dec 19 21:17:03 2002
@@ -46,6 +46,7 @@
editmode = false;
prbuffer = NULL;
nvp = NULL;
+ requestDelete = false;
}
void TV::Init(void)
@@ -686,7 +687,33 @@
case wsUp: osd->DialogUp(dialogname); break;
case wsDown: osd->DialogDown(dialogname); break;
case ' ': case wsEnter: case wsReturn:
- osd->TurnDialogOff(dialogname); break;
+ osd->TurnDialogOff(dialogname);
+ if ( dialogname == "exitplayoptions" ) {
+
+ int result = osd->GetDialogResponse(dialogname);
+ dialogname = "";
+
+ if (result == 3)
+ {
+ nvp->Unpause();
+ }
+ else if (result == 1)
+ {
+ nvp->SetBookmark();
+ exitPlayer = true;
+ }
+ else if (result == 4)
+ {
+ exitPlayer = true;
+ requestDelete = true;
+ }
+ else
+ {
+ exitPlayer = true;
+ }
+ break;
+ }
+
default: break;
}
@@ -722,7 +749,27 @@
DoRew();
break;
}
- case wsEscape: exitPlayer = true; break;
+ case wsEscape: {
+ if (StateIsPlaying(internalState)) {
+ nvp->Pause();
+
+ QString message = QString("You are exiting this
recording");+
+ QString option1 = "Save this position and go to the
menu";+ QString option2 = "Do not save, just exit to the menu";
+ QString option3 = "Keep watching";
+ QString option4 = "Delete this recording";
+
+ dialogname = "exitplayoptions";
+ osd->NewDialogBox(dialogname, message, option1,
option2, option3,+ option4, 0);
+
+ } else {
+ exitPlayer = true;
+ break;
+ }
+
+ }
default:
{
diff -ru cvs/MC/libs/libmythtv/tv_play.h cvs.jrs/MC/libs/libmythtv/tv_play.h
--- cvs/MC/libs/libmythtv/tv_play.h Sun Dec 15 17:06:49 2002
+++ cvs.jrs/MC/libs/libmythtv/tv_play.h Thu Dec 19 20:38:35 2002
@@ -43,6 +43,8 @@
void EmbedOutput(unsigned long wid, int x, int y, int w, int h);
void StopEmbeddingOutput(void);
+ bool getRequestDelete(void) {return requestDelete; }
+
protected:
void doLoadMenu(void);
static void *MenuHandler(void *param);
@@ -151,6 +153,8 @@
QString dialogname;
bool editmode;
+
+ bool requestDelete; // if set to true the user has requested that
the current recording be deleted. };
#endif
diff -ru cvs/MC/programs/mythfrontend/playbackbox.cpp
cvs.jrs/MC/programs/mythfrontend/playbackbox.cpp--- cvs/MC/programs/mythfrontend/playbackbox.cpp Tue Dec 17 01:09:26 2002
+++ cvs.jrs/MC/programs/mythfrontend/playbackbox.cpp Thu Dec 19 20:29:30 2002
@@ -375,6 +375,10 @@
qApp->processEvents();
qApp->lock();
}
+ if (tv->getRequestDelete()) { // the user requested the current
recording be deleted.+ remove(lvitem);
+ }
+
listview->SetAllowKeypress(true);
delete tv;
------=_20021219214641_36959
Content-Type: application/octet-stream; name="playbackprompt.diff"
Content-Disposition: attachment; filename="playbackprompt.diff"
Content-Transfer-Encoding: base64
ZGlmZiAtcnUgY3ZzL01DL2xpYnMvbGlibXl0aHR2L3R2X3BsYXkuY3BwIGN2cy5qcnMvTUMvbGli
cy9saWJteXRodHYvdHZfcGxheS5jcHAKLS0tIGN2cy9NQy9saWJzL2xpYm15dGh0di90dl9wbGF5
LmNwcAlUaHUgRGVjIDE5IDE1OjExOjEzIDIwMDIKKysrIGN2cy5qcnMvTUMvbGlicy9saWJteXRo
dHYvdHZfcGxheS5jcHAJVGh1IERlYyAxOSAyMToxNzowMyAyMDAyCkBAIC00Niw2ICs0Niw3IEBA
CiAgICAgZWRpdG1vZGUgPSBmYWxzZTsKICAgICBwcmJ1ZmZlciA9IE5VTEw7CiAgICAgbnZwID0g
TlVMTDsKKyAgICByZXF1ZXN0RGVsZXRlID0gZmFsc2U7CiB9CiAKIHZvaWQgVFY6OkluaXQodm9p
ZCkKQEAgLTY4Niw3ICs2ODcsMzMgQEAKICAgICAgICAgICAgIGNhc2Ugd3NVcDogb3NkLT5EaWFs
b2dVcChkaWFsb2duYW1lKTsgYnJlYWs7CiAgICAgICAgICAgICBjYXNlIHdzRG93bjogb3NkLT5E
aWFsb2dEb3duKGRpYWxvZ25hbWUpOyBicmVhazsKICAgICAgICAgICAgIGNhc2UgJyAnOiBjYXNl
IHdzRW50ZXI6IGNhc2Ugd3NSZXR1cm46IAotICAgICAgICAgICAgICAgICAgICAgICAgICBvc2Qt
PlR1cm5EaWFsb2dPZmYoZGlhbG9nbmFtZSk7IGJyZWFrOworICAgICAgICAgICAgICAgICAgICAg
ICAgb3NkLT5UdXJuRGlhbG9nT2ZmKGRpYWxvZ25hbWUpOworCQkJaWYgKCBkaWFsb2duYW1lID09
ICJleGl0cGxheW9wdGlvbnMiICkgeworCisJCQkgICAgIGludCByZXN1bHQgPSBvc2QtPkdldERp
YWxvZ1Jlc3BvbnNlKGRpYWxvZ25hbWUpOworCQkJICAgICBkaWFsb2duYW1lID0gIiI7CisKKwkJ
CSAgICAgaWYgKHJlc3VsdCA9PSAzKQorCQkJICAgICB7CisJCQkgICAgICAgICAgICAgbnZwLT5V
bnBhdXNlKCk7CisJCQkgICAgIH0KKwkJCSAgICAgZWxzZSBpZiAocmVzdWx0ID09IDEpCisJCQkg
ICAgIHsKKwkJCSAgICAgICAgICAgICBudnAtPlNldEJvb2ttYXJrKCk7CisJCQkgICAgICAgICAg
ICAgZXhpdFBsYXllciA9IHRydWU7CisJCQkgICAgIH0KKwkJCSAgICAgZWxzZSBpZiAocmVzdWx0
ID09IDQpCisJCQkgICAgIHsKKwkJCSAgICAgICAgICAgICBleGl0UGxheWVyID0gdHJ1ZTsKKyAJ
CQkgICAgICAgICAgICByZXF1ZXN0RGVsZXRlID0gdHJ1ZTsKKwkJCSAgICAgfQorCQkJICAgICBl
bHNlCisJCQkgICAgIHsKKwkJCSAgICAgICAgICAgICBleGl0UGxheWVyID0gdHJ1ZTsKKwkJCSAg
ICAgfQorCQkJICAgICBicmVhazsKKwkJCX0KKwogICAgICAgICAgICAgZGVmYXVsdDogYnJlYWs7
CiAgICAgICAgIH0KICAgICAgICAgCkBAIC03MjIsNyArNzQ5LDI3IEBACiAgICAgICAgICAgICBE
b1JldygpOyAKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9Ci0gICAgICAgIGNhc2Ugd3NF
c2NhcGU6IGV4aXRQbGF5ZXIgPSB0cnVlOyBicmVhazsKKyAgICAgICAgY2FzZSB3c0VzY2FwZTog
eworICAgICAgICAgICAgICAgIGlmIChTdGF0ZUlzUGxheWluZyhpbnRlcm5hbFN0YXRlKSkgewor
ICAgICAgICAgICAgICAgICBudnAtPlBhdXNlKCk7CisKKyAgICAgICAgICAgICAgICAgICBRU3Ry
aW5nIG1lc3NhZ2UgPSBRU3RyaW5nKCJZb3UgYXJlIGV4aXRpbmcgdGhpcyByZWNvcmRpbmciKTsK
KworICAgICAgICAgICAgICAgICAgICBRU3RyaW5nIG9wdGlvbjEgPSAiU2F2ZSB0aGlzIHBvc2l0
aW9uIGFuZCBnbyB0byB0aGUgbWVudSI7CisgICAgICAgICAgICAgICAgICAgICBRU3RyaW5nIG9w
dGlvbjIgPSAiRG8gbm90IHNhdmUsIGp1c3QgZXhpdCB0byB0aGUgbWVudSI7CisgICAgICAgICAg
ICAgICAgICAgICBRU3RyaW5nIG9wdGlvbjMgPSAiS2VlcCB3YXRjaGluZyI7CisgICAgICAgICAg
ICAgICAgICAgICBRU3RyaW5nIG9wdGlvbjQgPSAiRGVsZXRlIHRoaXMgcmVjb3JkaW5nIjsKKwor
ICAgICAgICAgICAgICAgICAgICAgZGlhbG9nbmFtZSA9ICJleGl0cGxheW9wdGlvbnMiOworICAg
ICAgICAgICAgICAgICAgICAgb3NkLT5OZXdEaWFsb2dCb3goZGlhbG9nbmFtZSwgbWVzc2FnZSwg
b3B0aW9uMSwgb3B0aW9uMiwgb3B0aW9uMywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIG9wdGlvbjQsIDApOworCisgICAgICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAg
ICAgICAgICAgICAgICAgICAgIGV4aXRQbGF5ZXIgPSB0cnVlOworICAgICAgICAgICAgICAgICAg
ICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgfQorCisgICAgICAgIH0KIAogICAgICAgICBk
ZWZhdWx0OiAKICAgICAgICAgewpkaWZmIC1ydSBjdnMvTUMvbGlicy9saWJteXRodHYvdHZfcGxh
eS5oIGN2cy5qcnMvTUMvbGlicy9saWJteXRodHYvdHZfcGxheS5oCi0tLSBjdnMvTUMvbGlicy9s
aWJteXRodHYvdHZfcGxheS5oCVN1biBEZWMgMTUgMTc6MDY6NDkgMjAwMgorKysgY3ZzLmpycy9N
Qy9saWJzL2xpYm15dGh0di90dl9wbGF5LmgJVGh1IERlYyAxOSAyMDozODozNSAyMDAyCkBAIC00
Myw2ICs0Myw4IEBACiAgICAgdm9pZCBFbWJlZE91dHB1dCh1bnNpZ25lZCBsb25nIHdpZCwgaW50
IHgsIGludCB5LCBpbnQgdywgaW50IGgpOwogICAgIHZvaWQgU3RvcEVtYmVkZGluZ091dHB1dCh2
b2lkKTsKIAorICAgIGJvb2wgZ2V0UmVxdWVzdERlbGV0ZSh2b2lkKSB7cmV0dXJuIHJlcXVlc3RE
ZWxldGU7IH0KKwogIHByb3RlY3RlZDoKICAgICB2b2lkIGRvTG9hZE1lbnUodm9pZCk7CiAgICAg
c3RhdGljIHZvaWQgKk1lbnVIYW5kbGVyKHZvaWQgKnBhcmFtKTsKQEAgLTE1MSw2ICsxNTMsOCBA
QAogCiAgICAgUVN0cmluZyBkaWFsb2duYW1lOwogICAgIGJvb2wgZWRpdG1vZGU7CisKKyAgICBi
b29sIHJlcXVlc3REZWxldGU7ICAvLyBpZiBzZXQgdG8gdHJ1ZSB0aGUgdXNlciBoYXMgcmVxdWVz
dGVkIHRoYXQgdGhlIGN1cnJlbnQgcmVjb3JkaW5nIGJlIGRlbGV0ZWQuCiB9OwogCiAjZW5kaWYK
ZGlmZiAtcnUgY3ZzL01DL3Byb2dyYW1zL215dGhmcm9udGVuZC9wbGF5YmFja2JveC5jcHAgY3Zz
Lmpycy9NQy9wcm9ncmFtcy9teXRoZnJvbnRlbmQvcGxheWJhY2tib3guY3BwCi0tLSBjdnMvTUMv
cHJvZ3JhbXMvbXl0aGZyb250ZW5kL3BsYXliYWNrYm94LmNwcAlUdWUgRGVjIDE3IDAxOjA5OjI2
IDIwMDIKKysrIGN2cy5qcnMvTUMvcHJvZ3JhbXMvbXl0aGZyb250ZW5kL3BsYXliYWNrYm94LmNw
cAlUaHUgRGVjIDE5IDIwOjI5OjMwIDIwMDIKQEAgLTM3NSw2ICszNzUsMTAgQEAKICAgICAgICAg
cUFwcC0+cHJvY2Vzc0V2ZW50cygpOwogICAgICAgICBxQXBwLT5sb2NrKCk7CiAgICAgfQorICAg
IGlmICh0di0+Z2V0UmVxdWVzdERlbGV0ZSgpKSB7ICAvLyB0aGUgdXNlciByZXF1ZXN0ZWQgdGhl
IGN1cnJlbnQgcmVjb3JkaW5nIGJlIGRlbGV0ZWQuCisgICAgICAgIHJlbW92ZShsdml0ZW0pOwor
ICAgIH0KKwogICAgIGxpc3R2aWV3LT5TZXRBbGxvd0tleXByZXNzKHRydWUpOwogCiAgICAgZGVs
ZXRlIHR2Owo=
------=_20021219214641_36959--