- && (target[s-2]=='b')
- && (target[s-3]=='b')
- && (target[s-4]=='.'))
- {
- mWxGUITextEditor->Open(target);
-#if NOTEBOOK
- mwxNotebook->SetSelection(0);
-#endif
- mWxGUITextEditor->SetFocus();
- return false;
- }
+ && (target[s-2]=='b')
+ && (target[s-3]=='b')
+ && (target[s-4]=='.'))
+ {
+ mWxGUITextEditor->Open(target);
+ #if NOTEBOOK
+ mwxNotebook->SetSelection(0);
+ #endif
+ mWxGUITextEditor->SetFocus();
+ return false;
+ }
+
+ if ((s>3) && (target[s-1]=='f')
+ && (target[s-2]=='d')
+ && (target[s-3]=='p')
+ && (target[s-4]=='.'))
+ {
+
+ // Open pdf in linux
+ // gnome-open target
+
+ // Open pdf in macOS
+
+ // Open pdf in windows
+ int size=target.size();
+ int pos=target.rfind("\\");
+ std::string commandStart("start ");
+ std::string commandPath("/D \""+target.substr(0,pos) +"\"");
+ std::string commandPDF( target.substr(pos+1,size-pos+1) );
+
+ printf("EED WxGUIScriptingInterface::WxGUIHtmlBrowserUserOnLinkClicked cc %s \n",commandPath.c_str() );
+ // cleanning path
+ while (commandPath.rfind("\\\\")!=-1 )
+ {
+ commandPath.erase( commandPath.rfind("\\\\") , 1 );
+ printf("EED WxGUIScriptingInterface::WxGUIHtmlBrowserUserOnLinkClicked cc %s \n",commandPath.c_str() );
+ }
+
+ std::string command = commandStart+commandPath+" "+commandPDF;
+ printf("EED WxGUIScriptingInterface::WxGUIHtmlBrowserUserOnLinkClicked BB %s \n",command.c_str() );
+ system( command.c_str() );
+ return false;
+ }