Added the command-line parameter "-loop".
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@287 3789f03b-4d11-0410-bbf8-ca57d06f2519
diff --git a/rfbplayer/PlayerOptions.cxx b/rfbplayer/PlayerOptions.cxx
index 8bf8ff2..4494e26 100644
--- a/rfbplayer/PlayerOptions.cxx
+++ b/rfbplayer/PlayerOptions.cxx
@@ -42,7 +42,6 @@
acceptBell = regKey.getBool(_T("AcceptBell"), DEFAULT_ACCEPT_BELL);
acceptCutText = regKey.getBool(_T("AcceptCutText"), DEFAULT_ACCEPT_CUT_TEXT);
autoPlay = regKey.getBool(_T("AutoPlay"), DEFAULT_AUTOPLAY);
- loopPlayback = regKey.getBool(_T("LoopPlayback"), DEFAULT_LOOP_PLAYBACK);
askPixelFormat = regKey.getBool(_T("AskPixelFormat"), DEFAULT_ASK_PF);
if (pPF) delete pPF;
} catch (rdr::Exception e) {
@@ -62,7 +61,6 @@
regKey.setBool(_T("AcceptBell"), acceptBell);
regKey.setBool(_T("AcceptCutText"), acceptCutText);
regKey.setBool(_T("AutoPlay"), autoPlay);
- regKey.setBool(_T("LoopPlayback"), loopPlayback);
regKey.setBool(_T("AskPixelFormat"), askPixelFormat);
} catch (rdr::Exception e) {
MessageBox(0, e.str(), e.type(), MB_OK | MB_ICONERROR);
diff --git a/rfbplayer/rfbplayer.cxx b/rfbplayer/rfbplayer.cxx
index 552da3d..87f4886 100644
--- a/rfbplayer/rfbplayer.cxx
+++ b/rfbplayer/rfbplayer.cxx
@@ -64,7 +64,8 @@
" \t is double speed, 0.5 is half speed. Default: 1.0.\r\n"
" -pos <ms> \t- Sets initial time position in the session file,\r\n"
" \t in milliseconds. Default: 0.\r\n"
- " -autoplay \t- Runs the player in the playback mode.\r\n";
+ " -autoplay \t- Runs the player in the playback mode.\r\n"
+ " -loop \t- Replays the rfb session.";
// -=- RfbPlayer's defines
@@ -276,6 +277,7 @@
disableTBandMenuItems();
setTitle("None");
}
+ init();
}
RfbPlayer::~RfbPlayer() {
@@ -1071,6 +1073,11 @@
return 0;
}
+void RfbPlayer::init() {
+ if (options.loopPlayback) CheckMenuItem(hMenu, ID_LOOP, MF_CHECKED);
+ else CheckMenuItem(hMenu, ID_LOOP, MF_UNCHECKED);
+}
+
void RfbPlayer::closeSessionFile() {
char speedStr[10];
DWORD dwStyle;
@@ -1367,6 +1374,12 @@
continue;
}
+ if ((strcasecmp(argv[i], "-loop") == 0) ||
+ (strcasecmp(argv[i], "/loop") == 0) && (i < argc-1)) {
+ playerOptions.loopPlayback = true;
+ continue;
+ }
+
if (i != argc - 1)
return false;
}
diff --git a/rfbplayer/rfbplayer.h b/rfbplayer/rfbplayer.h
index ec4eef0..e1c0b3d 100644
--- a/rfbplayer/rfbplayer.h
+++ b/rfbplayer/rfbplayer.h
@@ -59,6 +59,7 @@
void calculateScrollBars();
void close(const char* reason=0);
void updatePos(long pos);
+ void init();
// -=- Coordinate conversions