Test Feedback for the New Version of Dopus (v13.12.4 beta)

  1. When switching between the script editing and resource tab pages, the edit box cannot be undone (bug).

  2. The script edit box does not have the Ctrl+S shortcut key for saving, which may lead to unsaved data in case of unexpected program exit.

  3. The horizontal scrolling with Shift in the file list is ineffective, and it remains ineffective even after unchecking the [Shift + Scroll] navigation option in the preferences settings (bug).

  4. The script edit box does not support horizontal scrolling with Shift + mouse wheel. It is very troublesome to scroll when the code is too long.

  5. The Alt+F2 shortcut key for jumping to the next bookmark in script editing is ineffective, and it will be captured by the dialog box icon settings (bug).

  6. The script button icon does not support graphics encoded in base64 format (bug).

  7. An error occurs when modifying the background color and foreground color attributes (bg/fg) of the script button (bug).

Please Ask one question per thread (or one request/bug report per thread, unless they're closely related).

Having lots of unrelated issues in one post makes it too easy for us to lose track of the individual issues and what needs looking at vs what is already done, and makes even discussing the issues hard.

More detail would also be useful. What does "the edit box cannot be undone" mean, for example.

Sorry, What I mean is that after clicking to switch between the script button editing and the resources, when clicking again to switch back to the script code editing interface, I found that the code editing undo history was lost, and the shortcut key "Ctrl+Z" couldn't be used to perform the undo operation. (Under normal circumstances, changes to the UI resource content should not affect the undo function of the code editing interface)

  1. Not reproducible.
  2. Not reproducible.
  3. Please clarify. Which Preferences settings are you talking about?
  4. Is this the same as #3?
  5. Confirmed (though note that F2 jumps to the next bookmark - Alt+F2 is meant to jump to the first).
  6. You can use StringTools.Decode to decode base64 text and then create an image object using DOpus.LoadImage.
  7. What error?

#6 and #7 example code


/*
	DOpus Version: V13.12.4
*/

var xdlg, $ = this;
var xutil = DOpus.FSUtil;
var xcrt = DOpus.Create;
var xcmd = xcrt.Command;

var dologo = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAANfWlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iWE1QIENvcmUgNS4xLjIiPgogPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIgogICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iCiAgICB4bWxuczpzdEV2dD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlRXZlbnQjIgogICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIDI0LjQgKFdpbmRvd3MpIgogICB4bXA6Q3JlYXRlRGF0ZT0iMjAyMy0wNy0wMVQwOTo1NzowMisxMDowMCIKICAgeG1wOk1vZGlmeURhdGU9IjIwMjMtMDctMDFUMDk6NTk6MjArMTA6MDAiCiAgIHhtcDpNZXRhZGF0YURhdGU9IjIwMjMtMDctMDFUMDk6NTk6MjArMTA6MDAiCiAgIGRjOmZvcm1hdD0iaW1hZ2UvcG5nIgogICBwaG90b3Nob3A6Q29sb3JNb2RlPSIzIgogICB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjFhZjI5ZGJkLWY2OWUtNzE0YS1iNzdjLTlmYWYzNTUwMjkxMSIKICAgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDoxYWYyOWRiZC1mNjllLTcxNGEtYjc3Yy05ZmFmMzU1MDI5MTEiCiAgIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDoxYWYyOWRiZC1mNjllLTcxNGEtYjc3Yy05ZmFmMzU1MDI5MTEiCiAgIHRpZmY6SW1hZ2VXaWR0aD0iMzAiCiAgIHRpZmY6SW1hZ2VMZW5ndGg9IjMwIj4KICAgPHhtcE1NOkhpc3Rvcnk+CiAgICA8cmRmOlNlcT4KICAgICA8cmRmOmxpCiAgICAgIHN0RXZ0OmFjdGlvbj0iY3JlYXRlZCIKICAgICAgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDoxYWYyOWRiZC1mNjllLTcxNGEtYjc3Yy05ZmFmMzU1MDI5MTEiCiAgICAgIHN0RXZ0OndoZW49IjIwMjMtMDctMDFUMDk6NTc6MDIrMTA6MDAiCiAgICAgIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCAyNC40IChXaW5kb3dzKSIvPgogICAgPC9yZGY6U2VxPgogICA8L3htcE1NOkhpc3Rvcnk+CiAgPC9yZGY6RGVzY3JpcHRpb24+CiA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgCjw/eHBhY2tldCBlbmQ9InciPz6yLX5iAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAJpUlEQVRIS6VXCVBUVxa9f+mFXti7m6ZBFtmCQXY1USQkQkwkKIUIo5gw7jVjqhLXrJVERzFoopZmJiaTcqoSJomGiZWAosGxVDIBAUEQ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";

function OnClick(clickData) {

	$.xdlg = DOpus.Dlg;
	$.xdlg.window = DOpus.Listers(0);
	$.xdlg.title = "DService";
	$.xdlg.template = "P0";
	$.xdlg.detach = true;
	$.xdlg.opacity = 200;
	$.xdlg.Show();

	// Test Image Button
	var imgBtn = $.xdlg.Control("imgBtn");
	var imgLabel = $.xdlg.Control("imgLabel");

	// Yes
	imgBtn.image = DOpus.LoadImage("/system/LicenseManagerShellext.exe" ,1);
	imgLabel.image = DOpus.LoadImage("/system/zipfldr.dll" ,1);

	// Yes
	var doblob =  xcrt.StringTools.Decode(dologo, "base64");
	$.xtype(doblob);
	$.xlog("Blob Size: " + doblob.size);
	
	// Error: Empty
	var doimage = DOpus.LoadImage(doblob);
	$.xtype(doimage);
	imgBtn.image = doimage;

	// Error: 0x800a0005
	//imgBtn.fg = "#00FF00";
	//imgBtn.bg = "#00FF00";
	
	
	while(true){
		var Msg = $.xdlg.GetMsg();
		if (!Msg.result) break;
		var focus = Msg.focus;
		var event = Msg.event;
		var mctrl = Msg.control;

		$.rlog("The " + mctrl + " Event: " + event);
		if(focus) $.xlog("The " + mctrl + " Focus...");
		if(event === "enter") $.xmsg("Enter Event...");
	}
}


// print log
function xlog(str){
	DOpus.Output(String(str));
}

// print rlog
function rlog(str){
	$.xlog("<i><font color='#ff5b5b'>"+ str +"</font></i>");
}


// print dopus type
function xtype(obj){
	$.xlog("Type Name: " + DOpus.Typeof(obj));
}

function xmsg(str, icon){
	var xd = DOpus.Dlg;
	xd.icon = icon || "info";
	xd.top = true;
	//var tp = DOpus.Typeof(str);
	xd.message = String(str);
	xd.title = "Tip Message";
	return xd.Show;	//int
}

// Resource

<resources>
	<resource name="P0" type="dialog">
		<dialog height="183" lang="chs" maximize="yes" minimize="yes" opacity="230" resize="yes" title="DService" width="374">
			<control height="175" name="tab1" type="tab" width="366" x="5" y="4">
				<tabs>
					<tab dialog="P2" />
				</tabs>
			</control>
		</dialog>
	</resource>
	<resource name="P2" type="dialog">
		<dialog height="159" lang="chs" title="BaseList" width="360">
			<control entertrap="yes" halign="left" height="12" name="pname" tip=" " type="edit" width="64" x="47" y="6" />
			<control height="134" name="listview2" type="listview" viewmode="details" width="263" x="0" y="25">
				<columns>
					<item text="Id" />
					<item text="Project" />
					<item text="Name" />
					<item text="Price" />
					<item text="Status" />
					<item text="Version" />
					<item text="Remark" />
				</columns>
			</control>
			<control halign="left" height="8" name="sname" title="Name" type="static" valign="top" width="20" x="14" y="8" />
			<control height="41" imagelabel="yes" name="imgBtn" title="imageButton" type="button" width="61" x="279" y="87" />
			<control halign="center" height="18" image="yes" name="imgLabel" title="Static" type="static" valign="center" width="37" x="290" y="33" />
		</dialog>
	</resource>
</resources>

#3: In the file list of DOpus Explorer, when pressing Shift and scrolling the mouse wheel, the horizontal scroll bar doesn't move horizontally. Even after unchecking the option "Use mouse wheel + Shift for forward and backward navigation" in [File Display Column - Mouse], it still doesn't work.

Questions 1, 2, and 4 are all related to the script button dialog box.

Some problems can be seen from the demonstration video below.

  • After switching between the script code and resources, the "Ctrl+Z" function in the menu is ineffective, and there is no "Ctrl+S" shortcut key in the menu.
  • When a single line of script code is too long, pressing "Shift" and scrolling the mouse does not move the scroll bar horizontally.

That isn’t a standard thing in Windows. For example, it doesn’t do anything in File Explorer either, at least on my machine and mouse drivers.

This thread is already very hard to follow and keep track of all the different things it is about, as per my first reply.

Ok, now I can reproduce the undo issue. Will be fixed in the next update! Thanks.

For the base64 issue, remove the data:image/png;base64, from the start of the encoded data, and it will work:

#7 - those properties aren't currently supported by the button control, but we can enable this in the next update.

OK. From now on, post each question separately.