diff --git a/screenshot.c b/screenshot.c
index cae9a61..641cc49 100755
--- a/screenshot.c
+++ b/screenshot.c
@@ -58,15 +58,19 @@ void cThreadScreenshot::Action(void) {
Skins.Flush();
}
*/
+ int iResX = screenshotConfig.iResX;
int iResY = screenshotConfig.iResY;
- if( iResY == 0 )
+ if( iResX <= 0 && iResY <= 0 ) {
+ iResX = -1;
+ iResY = -1;
+ }
+ else if( iResY == 0 )
{
iResY = screenshotConfig.iResX / (1.25 * Setup.OSDAspect);
}
isOk = cDevice::PrimaryDevice()->GrabImageFile(fileName, screenshotConfig.iFileformat,
screenshotConfig.iQuality,
- screenshotConfig.iResX,
- iResY);
+ iResX, iResY);
i++;
}
@@ -78,7 +82,9 @@ void cThreadScreenshot::Action(void) {
// show result
if (isOk) {
isyslog("screenshot: %d image%s saved", screenshotConfig.iNoOfPics, (screenshotConfig.iNoOfPics > 1) ? "s" : "");
- const char *tmp = tr(screenshotConfig.iNoOfPics > 1 ? "OK - Images saved." : "OK - Image saved.");
+ const char *tmp = screenshotConfig.iNoOfPics > 1 ?
+ tr("Images successfully saved.") :
+ tr("Image successfully saved.");
Skins.QueueMessage(mtInfo, tmp);
Skins.Flush();
} else {
@@ -120,14 +126,13 @@ void cMenuScreenshot::Show(void) {
-------------------------------------------------------------------------------------------------*/
cScreenshotConfig::cScreenshotConfig(void) {
- strcpy(sPath, "/tmp");
+
iFileformat = 1;
- iQuality = 95;
- iResX = 768;
- iResY = 576;
+ iQuality = 85;
+ iResX = 0;
+ iResY = 0;
iNoOfPics = 1;
iHideMenuEntry = false;
- iUserKey = 0;
iHideOsd = true;
iShowDate = false;
iDelayed = false;
@@ -155,7 +160,6 @@ void cMenuSetupScreenshot::Store(void) {
SetupStore("ResY", screenshotConfig.iResY);
SetupStore("NoOfPics", screenshotConfig.iNoOfPics);
SetupStore("HideMenuEntry", screenshotConfig.iHideMenuEntry);
- SetupStore("UserKey", screenshotConfig.iUserKey);
SetupStore("HideOsd", screenshotConfig.iHideOsd);
SetupStore("ShowDate", screenshotConfig.iShowDate);
SetupStore("Delayed", screenshotConfig.iDelayed);
@@ -169,17 +173,17 @@ cMenuSetupScreenshot::cMenuSetupScreenshot(void) {
iNewResY = screenshotConfig.iResY;
iNewNoOfPics = screenshotConfig.iNoOfPics;
iNewHideMenuEntry = screenshotConfig.iHideMenuEntry;
- iNewUserKey = screenshotConfig.iUserKey;
iNewHideOsd = screenshotConfig.iHideOsd;
iNewShowDate = screenshotConfig.iShowDate;
iNewDelayed = screenshotConfig.iDelayed;
- char allowedChars[100];
- sprintf(allowedChars, "%s/", tr(FileNameChars));
+
+ cString allowedChars = cString::sprintf("%s/", tr(FileNameChars));
+
Add(new cMenuEditStrItem (tr("Image directory"), sNewPath, sizeof(sNewPath), allowedChars));
Add(new cMenuEditStraItem (tr("Fileformat"), &iNewFileformat, 2, FILEFORMATS));
Add(new cMenuEditIntItem (tr("Image quality (1-100)"), &iNewQuality, 1, 100));
- Add(new cMenuEditIntItem (tr("Image width (Pixel)"), &iNewResX, 1, 768));
- Add(new cMenuEditIntItem (tr("Image height (Pixel)"), &iNewResY, 0, 576));
+ Add(new cMenuEditIntItem (tr("Image width (Pixel)"), &iNewResX, 0, MAXOSDWIDTH));
+ Add(new cMenuEditIntItem (tr("Image height (Pixel)"), &iNewResY, 0, MAXOSDHEIGHT));
Add(new cMenuEditIntItem (tr("No. of pictures to take"), &iNewNoOfPics, 1, 100));
Add(new cMenuEditBoolItem (tr("Hide mainmenu entry"), &iNewHideMenuEntry));
// Add(new cMenuEditBoolItem (tr("Hide OSD"), &iNewHideOsd));
@@ -223,6 +227,8 @@ bool cPluginScreenshot::Initialize(void) {
}
bool cPluginScreenshot::Start(void) {
+
+ strcpy(screenshotConfig.sPath, cString::sprintf("%s/", cPlugin::CacheDirectory(PLUGIN_NAME_I18N)));
// Start any background activities the plugin shall perform.
// Make dummy picture at startup, because the first screenshot using
// GrabImage(...) only takes a gray image.
@@ -268,7 +274,6 @@ bool cPluginScreenshot::SetupParse(const char *Name, const char *Value) {
else if (!strcasecmp(Name, "Fileformat")) screenshotConfig.iFileformat = atoi(Value);
else if (!strcasecmp(Name, "NoOfPics")) screenshotConfig.iNoOfPics = atoi(Value);
else if (!strcasecmp(Name, "HideMenuEntry")) screenshotConfig.iHideMenuEntry = atoi(Value);
- else if (!strcasecmp(Name, "UserKey")) screenshotConfig.iUserKey = atoi(Value);
else if (!strcasecmp(Name, "HideOsd")) screenshotConfig.iHideOsd = atoi(Value);
else if (!strcasecmp(Name, "ShowDate")) screenshotConfig.iShowDate = atoi(Value);
else if (!strcasecmp(Name, "Delayed")) screenshotConfig.iDelayed = atoi(Value);