//FFSubmenu=Exif
//FFName=EXIF UserComment editieren
//FFPath=Edit_UserComment.js
// angepasst auf <UserComment>
/*############################################################################
Programm: EditComment
Beschreibung: Bearbeiten der Bildbeschreibungen aller ausgewählten Bilder
Datum: Sonntag, 8. Juni 2003
Autor: Jacques.Nietsch@gmx.de
Das ursprünglich zum Editieren der Bildbeschreibung entwickelte Skript wurde
einfach durch Austausch der Tag-Bezeichnung auf 'UserComment' angepasst.
############################################################################*/
var g_fso;
var g_BoxName = [COLOR="sandybrown"]"Inhalt"[/COLOR];
var g_Current = 0;
var g_NumImages = 0;
g_fso = new ActiveXObject("Scripting.FileSystemObject");
g_NumImages = FF_GetImageCount();
fnOpenCommentBox();
//======================================================================================
function fnOpenCommentBox()
{
var nYPos = 3;
var nRand = 3;
var nCtrlHght = 10;
FF_AddDialog( g_BoxName , 300, 200 );
FF_AddControl( g_BoxName, 'Info', "EDIT", nRand, nYPos, 300-2*nRand, nCtrlHght );
FF_EnableControl( g_BoxName, 'Info', false );
nYPos += nCtrlHght + 3;
FF_AddControl( g_BoxName, 'Image', "IMAGE", nRand, nYPos, 150, 150);
nYPos += 150 + 3;
FF_AddControl( g_BoxName, g_BoxName, "STATIC", nRand, nYPos, 40, nCtrlHght);
FF_AddControl( g_BoxName, 'Comment', "EDIT", 45, nYPos, 250, nCtrlHght);
nYPos += nCtrlHght + 3;
FF_AddControl( g_BoxName, 'Zurück', "BUTTON", nRand, nYPos, 20, nCtrlHght);
FF_AddControl( g_BoxName, 'Weiter', "BUTTON", 25, nYPos, 20, nCtrlHght);
fnExecuteCommentBox();
FF_CloseDialog( g_BoxName );
}
//======================================================================================
function fnExecuteCommentBox()
{
var cImageName = "";
var cDescription = "";
var cNewDescription = "";
var cBaseName = ' ';
var cResult = "";
var lHasEXIF = false;
while ( cResult != 'OK' && cResult != 'CANCEL' )
{
cImageName = FF_GetImageName( g_Current );
cBaseName = g_fso.GetBaseName( cImageName );
FF_SetControl( g_BoxName, 'Info', (g_Current+1) + ' von ' + g_NumImages + ' : ' + cImageName );
FF_SetControl( g_BoxName, 'Image', cImageName );
FF_LoadExif( cImageName );
if ( lHasEXIF = FF_HasExif() )
{
cDescription = FF_GetExifTag( [COLOR="SandyBrown"]'UserComment'[/COLOR] );
}
FF_EnableControl( g_BoxName, 'Zurück', g_Current > 0 );
FF_EnableControl( g_BoxName, 'Weiter', g_Current < (g_NumImages-1) );
FF_EnableControl( g_BoxName, 'Comment', lHasEXIF );
FF_SetControl( g_BoxName, 'Comment', cDescription );
cResult = FF_ShowDialog( g_BoxName );
cNewDescription = FF_GetControl( g_BoxName, 'Comment' );
if ( cResult == 'Weiter' )
g_Current++;
if ( cResult == 'Zurück' )
g_Current--;
if ( cResult != 'CANCEL' )
fnSaveComment( cImageName, cDescription, cNewDescription );
}
}
//======================================================================================
function fnSaveComment( cImageName, cDescription, cNewDescription )
{
if ( cNewDescription != cDescription )
{
FF_SetExifTag( [COLOR="sandybrown"]'UserComment'[/COLOR], cNewDescription );
FF_SaveExif( cImageName );
}
}
//======================================================================================
function fnMessageBox( cLabel, cText )
{
var cBoxName = "MESSAGEBOX";
var nYPos = 3;
var nCtrlHght = 12;
var cResult = "";
FF_AddDialog( cBoxName , 300, 50 );
FF_AddControl(cBoxName, cLabel, "STATIC", 3, nYPos, 25, nCtrlHght);
FF_AddControl(cBoxName, cText, "STATIC", 30, nYPos, 200, nCtrlHght);
cResult = FF_ShowDialog( cBoxName );
FF_CloseDialog( cBoxName );
}