mirror of
				https://github.com/SoftFever/OrcaSlicer.git
				synced 2025-10-30 20:21:12 -06:00 
			
		
		
		
	 1a8e5295b2
			
		
	
	
		1a8e5295b2
		
	
	
	
	
		
			
			1.fix:global shortcut cannot use in webview panel 2.fix:ban original web-shortcut in webview 3.add cmd+q & cmd+h shortcut in macos 4.move some global shortcut to prepare panel Change-Id: I17ba3c86069dab92df754a319d0c0c3d77b34d74
		
			
				
	
	
		
			230 lines
		
	
	
	
		
			5.5 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			230 lines
		
	
	
	
		
			5.5 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| /*var TestData={"sequence_id":"0","command":"studio_send_recentfile","data":[{"path":"D:\\work\\Models\\Toy\\3d-puzzle-cube-model_files\\3d-puzzle-cube.3mf","time":"2022\/3\/24 20:33:10"},{"path":"D:\\work\\Models\\Art\\Carved Stone Vase - remeshed+drainage\\Carved Stone Vase.3mf","time":"2022\/3\/24 17:11:51"},{"path":"D:\\work\\Models\\Art\\Kity & Cat\\Cat.3mf","time":"2022\/3\/24 17:07:55"},{"path":"D:\\work\\Models\\Toy\\鐩村墤.3mf","time":"2022\/3\/24 17:06:02"},{"path":"D:\\work\\Models\\Toy\\minimalistic-dual-tone-whistle-model_files\\minimalistic-dual-tone-whistle.3mf","time":"2022\/3\/22 21:12:22"},{"path":"D:\\work\\Models\\Toy\\spiral-city-model_files\\spiral-city.3mf","time":"2022\/3\/22 18:58:37"},{"path":"D:\\work\\Models\\Toy\\impossible-dovetail-puzzle-box-model_files\\impossible-dovetail-puzzle-box.3mf","time":"2022\/3\/22 20:08:40"}]};*/
 | |
| 
 | |
| 
 | |
| function OnInit()
 | |
| {	
 | |
| 	//-----Test-----
 | |
|     //$("#Login1").hide();
 | |
| 	//$("#UserName").text("ZZZZZZZZ");
 | |
| 	//$("#Login2").css("display","flex");
 | |
| 	
 | |
|     TranslatePage();
 | |
| 
 | |
| 	SendMsg_GetLoginInfo();
 | |
| 	SendMsg_GetRecentFile();
 | |
| }
 | |
| 
 | |
| 
 | |
| function HandleStudio( pVal )
 | |
| {
 | |
| 	let strCmd = pVal['command'];
 | |
| 	//alert(strCmd);
 | |
| 	
 | |
| 	if(strCmd=='get_recent_projects')
 | |
| 	{
 | |
| 		ShowRecentFileList(pVal['response']);
 | |
| 	}
 | |
| 	else if(strCmd=='studio_userlogin')
 | |
| 	{
 | |
| 		SetLoginInfo(pVal['data']['avatar'],pVal['data']['name']);
 | |
| 	}
 | |
| 	else if(strCmd=='studio_useroffline')
 | |
| 	{
 | |
| 		SetUserOffline();
 | |
| 	}
 | |
| 	else if( strCmd=="studio_set_mallurl" )
 | |
| 	{
 | |
| 		SetMallUrl( pVal['data']['url'] );
 | |
| 	}
 | |
| 	else if( strCmd=="studio_clickmenu" )
 | |
| 	{
 | |
| 		let strName=pVal['data']['menu'];
 | |
| 		
 | |
| 		GotoMenu(strName);
 | |
| 	}
 | |
| 	else if( strCmd=="network_plugin_installtip" )
 | |
| 	{
 | |
| 		let nShow=pVal["show"]*1;
 | |
| 		
 | |
| 	    if(nShow==1)
 | |
| 		{
 | |
| 			$("#NoPluginTip").show();
 | |
| 			$("#NoPluginTip").css("display","flex");
 | |
| 		}
 | |
| 		else
 | |
| 		{
 | |
| 			$("#NoPluginTip").hide();
 | |
| 		}
 | |
| 	}	
 | |
| }
 | |
| 
 | |
| function GotoMenu( strMenu )
 | |
| {
 | |
| 	let MenuList=$(".BtnItem");
 | |
| 	let nAll=MenuList.length;
 | |
| 	
 | |
| 	for(let n=0;n<nAll;n++)
 | |
| 	{
 | |
| 		let OneBtn=MenuList[n];
 | |
| 		
 | |
| 		if( $(OneBtn).attr("menu")==strMenu )
 | |
| 		{
 | |
| 			$(".BtnItem").removeClass("BtnItemSelected");			
 | |
| 			
 | |
| 			$(OneBtn).addClass("BtnItemSelected");
 | |
| 			
 | |
| 			$("div[board]").hide();
 | |
| 			$("div[board=\'"+strMenu+"\']").show();
 | |
| 		}
 | |
| 	}
 | |
| }
 | |
| 
 | |
| function SetLoginInfo( strAvatar, strName ) 
 | |
| {
 | |
| 	$("#Login1").hide();
 | |
| 	
 | |
| 	$("#UserAvatarIcon").prop("src",strAvatar);
 | |
| 	$("#UserName").text(strName);
 | |
| 	
 | |
| 	$("#Login2").show();
 | |
| 	$("#Login2").css("display","flex");
 | |
| }
 | |
| 
 | |
| function SetUserOffline()
 | |
| {
 | |
| 	$("#UserAvatarIcon").prop("src","img/c.jpg");
 | |
| 	$("#UserName").text('');
 | |
| 	$("#Login2").hide();	
 | |
| 	
 | |
| 	$("#Login1").show();
 | |
| 	$("#Login1").css("display","flex");
 | |
| }
 | |
| 
 | |
| function SetMallUrl( strUrl )
 | |
| {
 | |
| 	$("#MallWeb").prop("src",strUrl);
 | |
| }
 | |
| 
 | |
| 
 | |
| function ShowRecentFileList( pList )
 | |
| {
 | |
| 	let nTotal=pList.length;
 | |
| 	
 | |
| 	let strHtml='';
 | |
| 	for(let n=0;n<nTotal;n++)
 | |
| 	{
 | |
| 		let OneFile=pList[n];
 | |
| 		
 | |
| 		let sImg=OneFile["image"];
 | |
| 		let sPath=OneFile['path'];
 | |
| 		let sTime=OneFile['time'];
 | |
| 		let sName=OneFile['project_name'];
 | |
| 		
 | |
| 		//let index=sPath.lastIndexOf('\\')>0?sPath.lastIndexOf('\\'):sPath.lastIndexOf('\/');
 | |
| 		//let sShortName=sPath.substring(index+1,sPath.length);
 | |
| 		
 | |
| 		let TmpHtml='<div class="FileItem"  onClick="OnOpenRecentFile(\''+ encodeURI(sPath)+'\')"  >'+
 | |
| 				'<a class="FileTip" title="'+sPath+'"></a>'+
 | |
| 				'<div class="FileImg" ><img src="'+sImg+'" onerror="this.onerror=null;this.src=\'img/d.png\';"  alt="No Image"  /></div>'+
 | |
| 				'<a>'+sName+'</a>'+
 | |
| 				'<div class="FileDate">'+sTime+'</div>'+
 | |
| 			    '</div>';
 | |
| 		
 | |
| 		strHtml+=TmpHtml;
 | |
| 	}
 | |
| 	
 | |
| 	$("#FileList").html(strHtml);	
 | |
| }
 | |
| 
 | |
| 
 | |
| /*-------MX Message------*/
 | |
| function SendMsg_GetLoginInfo()
 | |
| {
 | |
| 	var tSend={};
 | |
| 	tSend['sequence_id']=Math.round(new Date() / 1000);
 | |
| 	tSend['command']="get_login_info";
 | |
| 	
 | |
| 	SendWXMessage( JSON.stringify(tSend) );	
 | |
| }
 | |
| 
 | |
| 
 | |
| function SendMsg_GetRecentFile()
 | |
| {
 | |
| 	var tSend={};
 | |
| 	tSend['sequence_id']=Math.round(new Date() / 1000);
 | |
| 	tSend['command']="get_recent_projects";
 | |
| 	
 | |
| 	SendWXMessage( JSON.stringify(tSend) );
 | |
| }
 | |
| 
 | |
| 
 | |
| function OnLoginOrRegister()
 | |
| {
 | |
| 	var tSend={};
 | |
| 	tSend['sequence_id']=Math.round(new Date() / 1000);
 | |
| 	tSend['command']="homepage_login_or_register";
 | |
| 	
 | |
| 	SendWXMessage( JSON.stringify(tSend) );	
 | |
| }
 | |
| 
 | |
| 
 | |
| function OnClickNewProject()
 | |
| {
 | |
| 	var tSend={};
 | |
| 	tSend['sequence_id']=Math.round(new Date() / 1000);
 | |
| 	tSend['command']="homepage_newproject";
 | |
| 	
 | |
| 	SendWXMessage( JSON.stringify(tSend) );		
 | |
| }
 | |
| 
 | |
| function OnClickOpenProject()
 | |
| {
 | |
| 	var tSend={};
 | |
| 	tSend['sequence_id']=Math.round(new Date() / 1000);
 | |
| 	tSend['command']="homepage_openproject";
 | |
| 	
 | |
| 	SendWXMessage( JSON.stringify(tSend) );		
 | |
| }
 | |
| 
 | |
| function OnOpenRecentFile( strPath )
 | |
| {
 | |
| 	var tSend={};
 | |
| 	tSend['sequence_id']=Math.round(new Date() / 1000);
 | |
| 	tSend['command']="homepage_open_recentfile";
 | |
| 	tSend['data']={};
 | |
| 	tSend['data']['path']=decodeURI(strPath);
 | |
| 	
 | |
| 	SendWXMessage( JSON.stringify(tSend) );	
 | |
| }
 | |
| 
 | |
| function OnLogOut()
 | |
| {
 | |
| 	var tSend={};
 | |
| 	tSend['sequence_id']=Math.round(new Date() / 1000);
 | |
| 	tSend['command']="homepage_logout";
 | |
| 	
 | |
| 	SendWXMessage( JSON.stringify(tSend) );	
 | |
| }
 | |
| 
 | |
| function BeginDownloadNetworkPlugin()
 | |
| {
 | |
| 	var tSend={};
 | |
| 	tSend['sequence_id']=Math.round(new Date() / 1000);
 | |
| 	tSend['command']="begin_network_plugin_download";
 | |
| 	
 | |
| 	SendWXMessage( JSON.stringify(tSend) );		
 | |
| }
 | |
| 
 | |
| function OutputKey(keyCode, isCtrlDown, isShiftDown, isCmdDown) {
 | |
| 	var tSend = {};
 | |
| 	tSend['sequence_id'] = Math.round(new Date() / 1000);
 | |
| 	tSend['command'] = "get_web_shortcut";
 | |
| 	tSend['key_event'] = {};
 | |
| 	tSend['key_event']['key'] = keyCode;
 | |
| 	tSend['key_event']['ctrl'] = isCtrlDown;
 | |
| 	tSend['key_event']['shift'] = isShiftDown;
 | |
| 	tSend['key_event']['cmd'] = isCmdDown;
 | |
| 
 | |
| 	SendWXMessage(JSON.stringify(tSend));
 | |
| }
 | |
| window.postMessage = HandleStudio;
 |