In a script I use to set metadata, I'm trying to replace the default progress dialog that appears when setting metadata. I want to handle it on my own, as when using RunCommand() instead of Run(), DO interprets that the total number of files is always 1.
I've simplified what I'm attempting into a shorter example to illustrate my point:
function OnClick(clickData) {
var cmd = DOpus.Create.Command();
var items = clickData.func.sourcetab.selected_files;
if (items.count == 0) {
DOpus.Output(" (none)");
}
else {
cmd.SetModifier("noprogress"); //trying to override progress dialog
var progress = cmd.progress;
var cmdline;
progress.abort = true;
progress.owned = true;
progress.bytes = false;
progress.pause = true;
progress.full = false;
progress.delay = false;
progress.skip = false;
progress.Init(clickData.func.sourcetab.lister, "Progress Override Test");
progress.SetFiles(items.count);
progress.Show();
for (var i = 0; i < items.count; i++) {
try {
if (progress.GetAbortState(true) === 'a') {
aborted = true;
break;
}
progress.SetName(items(i));
progress.SetStatus("Setting comment " + (i + 1) + ' / ' + items.count);
cmdline = 'SetAttr FILE="' + items(i) + '" META "usercomment:a comment for ' + items(i).name + '"';
DOpus.Output("cmdline : " + cmdline);
if (cmd.RunCommand(cmdline) !== 0) {
//here I need to do something irrelevant for the example
}
progress.StepFiles(1);
}
catch (err) {
DOpus.Output(err);
continue;
}
}
progress.SetFilesProgress(items.count);
progress.Hide();
}
return;
}
Override Progress Test.dcf (3.0 KB)
However, DO continues to override my progress dialog with the default one. Is there something I might be overlooking? Thanks, looking forward to your insights.
