[Ttssh2-commit] [4704] クリッカブル URL で起動するブラウザを指定できるようにした

Back to archive index

svnno****@sourc***** svnno****@sourc*****
2011年 11月 2日 (水) 00:44:22 JST


Revision: 4704
          http://sourceforge.jp/projects/ttssh2/svn/view?view=rev&revision=4704
Author:   maya
Date:     2011-11-02 00:44:22 +0900 (Wed, 02 Nov 2011)

Log Message:
-----------
クリッカブル URL で起動するブラウザを指定できるようにした
  http://sourceforge.jp/ticket/browse.php?group_id=1412&tid=26661

Modified Paths:
--------------
    trunk/doc/en/html/about/history.html
    trunk/doc/en/html/setup/teraterm-misc.html
    trunk/doc/en/html/setup/teraterm.html
    trunk/doc/ja/html/about/history.html
    trunk/doc/ja/html/setup/teraterm-misc.html
    trunk/doc/ja/html/setup/teraterm.html
    trunk/installer/release/TERATERM.INI
    trunk/teraterm/common/tttypes.h
    trunk/teraterm/teraterm/buffer.c
    trunk/teraterm/ttpset/ttset.c


-------------- next part --------------
Modified: trunk/doc/en/html/about/history.html
===================================================================
--- trunk/doc/en/html/about/history.html	2011-11-01 12:27:21 UTC (rev 4703)
+++ trunk/doc/en/html/about/history.html	2011-11-01 15:44:22 UTC (rev 4704)
@@ -42,6 +42,10 @@
         <ul>
           <li><a href="../menu/setup-additional.html">Additional settings ƒ_ƒCƒAƒƒO</a>‚ŃAƒNƒZƒX‚ð‹–‰Â‚·‚é‚©Ý’è‚Å‚«‚é‚悤‚É‚µ‚½B</li>
         </ul></li -->
+      <!-- li>ƒNƒŠƒbƒJƒuƒ‹ URL ‚Å‹N“®‚·‚éƒuƒ‰ƒEƒU‚ðŽw’è‚Å‚«‚é‚悤‚É‚µ‚½B
+        <ul>
+          <li>teraterm.ini ‚É <a href="../setup/teraterm-misc.html#ClickableUrlBrowser">ClickableUrlBrowser</a>,  ClickableUrlBrowserArg ƒGƒ“ƒgƒŠ‚ð’ljÁ‚µ‚½BƒfƒtƒHƒ‹ƒg‚Í ""B</li>
+        </ul></li-->
       <li>added the "<a href="../macro/command/getspecialfolder.html">getspecialfolder</a>" macro command.</li>
       <li>adjusted the up and down space size of the shown message at the "<a href="../macro/command/messagebox.html">messagebox</a>", "<a href="../macro/command/inputbox.html">inputbox</a>" and "<a href="../macro/command/statusbox.html">statusbox</a>" macro commands.</li>
     </ul>

Modified: trunk/doc/en/html/setup/teraterm-misc.html
===================================================================
--- trunk/doc/en/html/setup/teraterm-misc.html	2011-11-01 12:27:21 UTC (rev 4703)
+++ trunk/doc/en/html/setup/teraterm-misc.html	2011-11-01 15:44:22 UTC (rev 4704)
@@ -216,5 +216,35 @@
 </pre>
 
 
+<h1><a name="ClickableUrlBrowser"><!--ƒNƒŠƒbƒJƒuƒ‹ URL ‚Å‹N“®‚·‚éƒuƒ‰ƒEƒU--></a></h1>
+
+<p>
+<!--
+URL ƒNƒŠƒbƒN‚ª—LŒø‚ȏꍇA’ʏí‚Í URL ‚̃XƒL[ƒ€‚É OS ‚ÅŠÖ˜A•t‚¯‚ç‚ꂽƒvƒƒOƒ‰ƒ€‚ª‹N“®‚µ‚Ü‚·B<br />
+‹N“®‚·‚éƒuƒ‰ƒEƒU‚ƈø”‚ðŽw’è‚·‚é‚ɂ́AÝ’èƒtƒ@ƒCƒ‹‚Ì [Tera Term] ƒZƒNƒVƒ‡ƒ“‚Ì ClickableUrlBrowser s‚Æ ClickableUrlBrowserArg s‚ðˆÈ‰º‚̂悤‚ɕύX‚µ‚Ä‚­‚¾‚³‚¢B
+-->
+</p>
+
+<pre>
+ClickableUrlBrowser=firefox
+ClickableUrlBrowserArg=-new-tab
+
+ClickableUrlBrowser=opera
+ClickableUrlBrowserArg=-newpage
+
+ClickableUrlBrowser=iexplore
+ClickableUrlBrowserArg=
+
+ClickableUrlBrowser=chrome
+ClickableUrlBrowserArg=
+</pre>
+
+<pre>
+Default:
+ClickableUrlBrowser=
+ClickableUrlBrowserArg=
+</pre>
+
+
 </BODY>
 </HTML>

Modified: trunk/doc/en/html/setup/teraterm.html
===================================================================
--- trunk/doc/en/html/setup/teraterm.html	2011-11-01 12:27:21 UTC (rev 4703)
+++ trunk/doc/en/html/setup/teraterm.html	2011-11-01 15:44:22 UTC (rev 4704)
@@ -126,6 +126,7 @@
  <li><a href="teraterm-misc.html#DisableMenuSendBreak">Disable "Send break" menu</a></li>
  <li><a href="teraterm-misc.html#ClearScreenOnCloseConnection">Clear the screen when disconnected</a></li>
  <li><a href="teraterm-misc.html#DisableAcceleratorDuplicateSession">Disable accelerator key of Duplicate session</a></li>
+ <!--li><a href="teraterm-misc.html#ClickableUrlBrowser">ƒNƒŠƒbƒJƒuƒ‹ URL ‚Å‹N“®‚·‚éƒuƒ‰ƒEƒU</a></li-->
 </ul>
 
 </body>

Modified: trunk/doc/ja/html/about/history.html
===================================================================
--- trunk/doc/ja/html/about/history.html	2011-11-01 12:27:21 UTC (rev 4703)
+++ trunk/doc/ja/html/about/history.html	2011-11-01 15:44:22 UTC (rev 4704)
@@ -42,6 +42,10 @@
         <ul>
           <li><a href="../menu/setup-additional.html">Additional settings ƒ_ƒCƒAƒƒO</a>‚ŃAƒNƒZƒX‚ð‹–‰Â‚·‚é‚©Ý’è‚Å‚«‚é‚悤‚É‚µ‚½B</li>
         </ul></li>
+      <li>ƒNƒŠƒbƒJƒuƒ‹ URL ‚Å‹N“®‚·‚éƒuƒ‰ƒEƒU‚ðŽw’è‚Å‚«‚é‚悤‚É‚µ‚½B
+        <ul>
+          <li>teraterm.ini ‚É <a href="../setup/teraterm-misc.html#ClickableUrlBrowser">ClickableUrlBrowser</a>,  ClickableUrlBrowserArg ƒGƒ“ƒgƒŠ‚ð’ljÁ‚µ‚½BƒfƒtƒHƒ‹ƒg‚Í ""B</li>
+        </ul></li>
       <li>ƒ}ƒNƒƒRƒ}ƒ“ƒh "<a href="../macro/command/getspecialfolder.html">getspecialfolder</a>" ‚ð’ljÁ‚µ‚½B</li>
       <li>ƒ}ƒNƒƒRƒ}ƒ“ƒh "<a href="../macro/command/messagebox.html">messagebox</a>", "<a href="../macro/command/inputbox.html">inputbox</a>", "<a href="../macro/command/statusbox.html">statusbox</a>"‚ŁA•\Ž¦‚³‚ê‚郁ƒbƒZ[ƒW‚̏㉺‚Ì—]”’‚Ì‘å‚«‚³‚𒲐®‚µ‚½B </li>
     </ul>

Modified: trunk/doc/ja/html/setup/teraterm-misc.html
===================================================================
--- trunk/doc/ja/html/setup/teraterm-misc.html	2011-11-01 12:27:21 UTC (rev 4703)
+++ trunk/doc/ja/html/setup/teraterm-misc.html	2011-11-01 15:44:22 UTC (rev 4704)
@@ -243,5 +243,33 @@
 </pre>
 
 
+<h1><a name="ClickableUrlBrowser">ƒNƒŠƒbƒJƒuƒ‹ URL ‚Å‹N“®‚·‚éƒuƒ‰ƒEƒU</a></h1>
+
+<p>
+URL ƒNƒŠƒbƒN‚ª—LŒø‚ȏꍇA’ʏí‚Í URL ‚̃XƒL[ƒ€‚É OS ‚ÅŠÖ˜A•t‚¯‚ç‚ꂽƒvƒƒOƒ‰ƒ€‚ª‹N“®‚µ‚Ü‚·B<br />
+‹N“®‚·‚éƒuƒ‰ƒEƒU‚ƈø”‚ðŽw’è‚·‚é‚ɂ́AÝ’èƒtƒ@ƒCƒ‹‚Ì [Tera Term] ƒZƒNƒVƒ‡ƒ“‚Ì ClickableUrlBrowser s‚Æ ClickableUrlBrowserArg s‚ðˆÈ‰º‚̂悤‚ɕύX‚µ‚Ä‚­‚¾‚³‚¢B
+</p>
+
+<pre>
+ClickableUrlBrowser=firefox
+ClickableUrlBrowserArg=-new-tab
+
+ClickableUrlBrowser=opera
+ClickableUrlBrowserArg=-newpage
+
+ClickableUrlBrowser=iexplore
+ClickableUrlBrowserArg=
+
+ClickableUrlBrowser=chrome
+ClickableUrlBrowserArg=
+</pre>
+
+<pre>
+È—ªŽž:
+ClickableUrlBrowser=
+ClickableUrlBrowserArg=
+</pre>
+
+
 </BODY>
 </HTML>

Modified: trunk/doc/ja/html/setup/teraterm.html
===================================================================
--- trunk/doc/ja/html/setup/teraterm.html	2011-11-01 12:27:21 UTC (rev 4703)
+++ trunk/doc/ja/html/setup/teraterm.html	2011-11-01 15:44:22 UTC (rev 4704)
@@ -130,6 +130,7 @@
  <li><a href="teraterm-misc.html#DisableMenuSendBreak">ƒƒjƒ…[‚Ì Send break ‚𖳌ø‚É‚·‚é</a></li>
  <li><a href="teraterm-misc.html#ClearScreenOnCloseConnection">Ø’fŽž‚ɉæ–Ê‚ðƒNƒŠƒA‚·‚é</a></li>
  <li><a href="teraterm-misc.html#DisableAcceleratorDuplicateSession">Duplicate session ‚̃AƒNƒZƒ‰ƒŒ[ƒ^ƒL[‚𖳌ø‚É‚·‚é</a></li>
+ <li><a href="teraterm-misc.html#ClickableUrlBrowser">ƒNƒŠƒbƒJƒuƒ‹ URL ‚Å‹N“®‚·‚éƒuƒ‰ƒEƒU</a></li>
 </ul>
 
 </body>

Modified: trunk/installer/release/TERATERM.INI
===================================================================
--- trunk/installer/release/TERATERM.INI	2011-11-01 12:27:21 UTC (rev 4703)
+++ trunk/installer/release/TERATERM.INI	2011-11-01 15:44:22 UTC (rev 4704)
@@ -209,6 +209,23 @@
 ; Enable clickable URL
 EnableClickableUrl=on
 
+; Launched Browser
+;   Firefox example
+;     ClickableUrlBrowser=firefox
+;     ClickableUrlBrowserArg=-new-tab
+;   Opera example
+;     ClickableUrlBrowser=opera
+;     ClickableUrlBrowserArg=-newpage
+;   IE example
+;     ClickableUrlBrowser=iexplore
+;     ClickableUrlBrowserArg=
+;   Chrome example
+;     ClickableUrlBrowser=chrome
+;     ClickableUrlBrowserArg=
+ClickableUrlBrowser=
+ClickableUrlBrowserArg=
+
+
 ;		for TEK window
 TEKColor=0,0,0,255,255,255
 

Modified: trunk/teraterm/common/tttypes.h
===================================================================
--- trunk/teraterm/common/tttypes.h	2011-11-01 12:27:21 UTC (rev 4703)
+++ trunk/teraterm/common/tttypes.h	2011-11-01 15:44:22 UTC (rev 4704)
@@ -540,6 +540,8 @@
 	WORD JumpList;
 	WORD TabStopFlag;
 	DWORD CtrlFlag;
+	char ClickableUrlBrowser[MAX_PATH];
+	char ClickableUrlBrowserArg[MAX_PATH];
 };
 
 typedef struct tttset TTTSet, *PTTSet;
@@ -987,6 +989,8 @@
  * - At version 4.72, ttset_memfilemap was replaced with ttset_memfilemap_17.
  *   added tttset.TabStopFlag.
  *   added tttset.CtrlFlag.
+ *   added tttset.ClickableUrlBrowser.
+ *   added tttset.ClickableUrlBrowserArg.
  *
  * - At version 4.70, ttset_memfilemap was replaced with ttset_memfilemap_16.
  *   added tttset.JumpList.

Modified: trunk/teraterm/teraterm/buffer.c
===================================================================
--- trunk/teraterm/teraterm/buffer.c	2011-11-01 12:27:21 UTC (rev 4703)
+++ trunk/teraterm/teraterm/buffer.c	2011-11-01 15:44:22 UTC (rev 4704)
@@ -2030,7 +2030,7 @@
 {
 #ifdef URL_EMPHASIS
 	LONG i, start, end;
-	char url[1024];
+	char url[1024], param[1024];
 	char *uptr, ch;
 
 	start = ptr;
@@ -2044,7 +2044,7 @@
 		end++;
 	}
 	end--;
- 
+
 	if (start + (LONG)sizeof(url) <= end) {
 		end = start + sizeof(url) - 1;
 		end--;  // '\0'‚Ì•ª‚͈ø‚¢‚Ä‚¨‚­B
@@ -2063,7 +2063,25 @@
 		}
 	}
 	*uptr = '\0';
-	ShellExecute(NULL, NULL, url, NULL, NULL,SW_SHOWNORMAL);
+
+	if (strncmp(url, "http://", strlen("http://")) == 0 ||
+	    strncmp(url, "https://", strlen("https://")) == 0 ||
+	    strncmp(url, "ftp://", strlen("ftp://")) == 0) {
+		if (strlen(ts.ClickableUrlBrowser) > 0) {
+			_snprintf_s(param, sizeof(param), _TRUNCATE, "%s %s",
+			            ts.ClickableUrlBrowserArg, url);
+			if ((int)ShellExecute(NULL, NULL, ts.ClickableUrlBrowser, param, NULL,SW_SHOWNORMAL) < 32) {
+				// ƒRƒ}ƒ“ƒh‚ÌŽÀs‚ÉŽ¸”s‚µ‚½ê‡‚͒ʏí‚Æ“¯‚¶ˆ—‚ð‚·‚é
+				ShellExecute(NULL, NULL, url, NULL, NULL,SW_SHOWNORMAL);
+			}
+		}
+		else {
+			ShellExecute(NULL, NULL, url, NULL, NULL,SW_SHOWNORMAL);
+		}
+	}
+	else {
+		ShellExecute(NULL, NULL, url, NULL, NULL,SW_SHOWNORMAL);
+	}
 #endif
 }
 /* end - ishizaki */

Modified: trunk/teraterm/ttpset/ttset.c
===================================================================
--- trunk/teraterm/ttpset/ttset.c	2011-11-01 12:27:21 UTC (rev 4703)
+++ trunk/teraterm/ttpset/ttset.c	2011-11-01 15:44:22 UTC (rev 4704)
@@ -1455,6 +1455,12 @@
 	// Use invalid DECRPSS (for testing)
 	if (GetOnOff(Section, "UseInvalidDECRQSSResponse", FName, FALSE))
 		ts->TermFlag |= TF_INVALIDDECRPSS;
+
+	// ClickableUrlBrowser
+	GetPrivateProfileString(Section, "ClickableUrlBrowser", "",
+	                        ts->ClickableUrlBrowser, sizeof(ts->ClickableUrlBrowser), FName);
+	GetPrivateProfileString(Section, "ClickableUrlBrowserArg", "",
+	                        ts->ClickableUrlBrowserArg, sizeof(ts->ClickableUrlBrowserArg), FName);
 }
 
 void FAR PASCAL WriteIniFile(PCHAR FName, PTTSet ts)
@@ -2551,6 +2557,10 @@
 		WritePrivateProfileString(Section, "ClipboardAccessFromRemote", "off", FName);
 		break;
 	}
+
+	// ClickableUrlBrowser
+	WritePrivateProfileString(Section, "ClickableUrlBrowser", ts->ClickableUrlBrowser, FName);
+	WritePrivateProfileString(Section, "ClickableUrlBrowserArg", ts->ClickableUrlBrowserArg, FName);
 }
 
 #define VTEditor "VT editor keypad"



Ttssh2-commit メーリングリストの案内
Back to archive index