From 9e5481071fe381e91c921ed55510e27b642f26cc Mon Sep 17 00:00:00 2001 From: cxl Date: Fri, 28 Oct 2016 10:14:55 +0000 Subject: [PATCH] ide: Online search improved git-svn-id: svn://ultimatepp.org/upp/trunk@10373 f0d560ea-af0d-0410-9eb7-867de7ffcac7 --- uppsrc/CtrlLib/TextEdit.h | 1 + uppsrc/CtrlLib/src.tpp/TextCtrl$en-us.tpp | 5 + uppsrc/ide/OnlineSearch.cpp | 19 +- uppsrc/ide/icon.ico | Bin 2862 -> 2862 bytes uppsrc/ide/ide.h | 1 + uppsrc/ide/ide.iml | 217 +++++++++++++--------- uppsrc/ide/ide.key | 5 +- uppsrc/ide/idebar.cpp | 8 +- 8 files changed, 152 insertions(+), 104 deletions(-) diff --git a/uppsrc/CtrlLib/TextEdit.h b/uppsrc/CtrlLib/TextEdit.h index e19189545..caeeccd9b 100644 --- a/uppsrc/CtrlLib/TextEdit.h +++ b/uppsrc/CtrlLib/TextEdit.h @@ -146,6 +146,7 @@ public: int GetLineCount() const { return line.GetCount(); } int GetChar(int pos) const; + int GetChar() const { return cursor < total ? GetChar(cursor) : 0; } int operator[](int pos) const { return GetChar(pos); } int GetLength() const { return total; } diff --git a/uppsrc/CtrlLib/src.tpp/TextCtrl$en-us.tpp b/uppsrc/CtrlLib/src.tpp/TextCtrl$en-us.tpp index cff66b90b..857031e70 100644 --- a/uppsrc/CtrlLib/src.tpp/TextCtrl$en-us.tpp +++ b/uppsrc/CtrlLib/src.tpp/TextCtrl$en-us.tpp @@ -257,6 +257,11 @@ t]_[*@3 pos])_[@(0.0.255) const]&] [s2;%% Returns the UNICODE character at [%-*@3 pos] offset.&] [s3;%% &] [s4; &] +[s5;:Upp`:`:TextCtrl`:`:GetChar`(`)const: [@(0.0.255) int]_[* GetChar]()_[@(0.0.255) const]&] +[s2;%% Returns UNICODE character at cursor, or 0 if cursor is behind +the last character.&] +[s3; &] +[s4; &] [s5;:TextCtrl`:`:GetLength`(`)const: [@(0.0.255) virtual] [@(0.0.255) int]_[* GetLength]()_ [@(0.0.255) const]&] [s2;%% Returns the total number of characters in the text.&] diff --git a/uppsrc/ide/OnlineSearch.cpp b/uppsrc/ide/OnlineSearch.cpp index 353bad3dc..38c2e049d 100644 --- a/uppsrc/ide/OnlineSearch.cpp +++ b/uppsrc/ide/OnlineSearch.cpp @@ -1,22 +1,17 @@ #include "ide.h" +String Ide::GetSearchPhrase() +{ + return UrlEncode(Nvl(editor.GetSelection(), editor.GetWord())); +} + void Ide::OnlineSearch() { - String selection = editor.GetSelection(); - if (selection.IsEmpty()) { - return; - } - - LaunchWebBrowser("https://www.google.com/search?q=" + UrlEncode(selection)); + LaunchWebBrowser("https://www.google.com/search?q=" + GetSearchPhrase()); } void Ide::OnlineSearchOnTheOfficialSite() { - String selection = editor.GetSelection(); - if (selection.IsEmpty()) { - return; - } - - LaunchWebBrowser("https://www.google.com/search?q=" + UrlEncode(selection) + + LaunchWebBrowser("https://www.google.com/search?q=" + GetSearchPhrase() + "&domains=www.ultimatepp.org&sitesearch=www.ultimatepp.org"); } diff --git a/uppsrc/ide/icon.ico b/uppsrc/ide/icon.ico index 85b1dac39f0da1851fda0dcd4451bdc3e02c8d23..1aa7661cb0129c4da6bd88951b26e44fdae89d2b 100644 GIT binary patch literal 2862 zcmcguy^ho{5T2~FS)1y30!}n{Wu!&aDc}W=mI7%jBt%EYNms2z0UaeB&ys?Mp2tB7 z^UZi{$NQrNRyWdQJU`#(@g%ZB)R3dAD-wC%5GTpwG#)XaU4a@;F7xCZZ|@}FLMVPnIMc%1s1EwA^UU0xGTKu zCpBDeHn9~k%SFpZB%O11-rS9FS`L;`P?Mv0u99!;7;rc(CNdSU&4ty}`YD4ooBQ7r}Z4m(=ZuZ!=cZ18*Gg%N+Z) zV73OC;SuCw$r*PAj(Mw7D}dO8;^+B-Bb~E8uW+;&>nK^P!V(cc_n|~Y~+K+wkZ5H2cLgmFp@Ot&>emY02)km(FZQfZ|vsrN{y%WPD zR;Z$mKErv^IhP7u(}b>bfsKeChOq6rFhn20?Y7fo2#zK6+btG|so&52q3uk+XkOoWUe;hPcAU?%iXj3BR3wH_Br?LJ>Spcw|jyeUVjifzEOLC zvRfnQ9(QjW{-gAp)w`wqjIKT+zFsfx99OWtQM-H!OSF82r{A<2)U$ml_KSPrdt}@* KJS+L%IsE|+y{EYV literal 2862 zcmdT`y^ho{5T3;L#-=(XLCSqg{ytI$9bK^}WEgDQM{F z?p2V?eB;>h`jTwW9Y~BcJD#8K^LV_nLR68WqazY|tBGFlD*1-!E61XLS`lsT5uKuj z^_aDiU!pUv`-kFruTqz`FKayqeBbw?E4ZX?x7&Fr>Vc0O@blb6BObztpul1^aLE1~ ziQENV_LCZ}k2bMov6vey8Gf3?s ze&CCJ1sf)q@Dnvz3+OXVY~U$;&dT>cbp>4S3|zZ1T>-dgwXK z3j3jU92ie+F!vvn=o?~I;CF=k7J8qvx^ha8r*k51EY%rfiy}C;Kk)-hQH>W{et)T!DoU! zeiZDthrv!zZng-j`g3%Tu_egkTo-8ldN diff --git a/uppsrc/ide/ide.h b/uppsrc/ide/ide.h index 9e97ccfdd..93a6b0a9d 100644 --- a/uppsrc/ide/ide.h +++ b/uppsrc/ide/ide.h @@ -803,6 +803,7 @@ public: void EditorMenu(Bar& bar); void OnlineSearchMenu(Bar& menu); + String GetSearchPhrase(); void OnlineSearch(); void OnlineSearchOnTheOfficialSite(); diff --git a/uppsrc/ide/ide.iml b/uppsrc/ide/ide.iml index 231d32639..5c9e2b41b 100644 --- a/uppsrc/ide/ide.iml +++ b/uppsrc/ide/ide.iml @@ -105,6 +105,8 @@ IMAGE_ID(AssistGoForward) IMAGE_ID(EditDesigner) IMAGE_ID(EditHex) IMAGE_ID(EditText) +IMAGE_ID(Google) +IMAGE_ID(GoogleUpp) IMAGE_BEGIN_DATA IMAGE_DATA(120,156,237,152,141,153,131,32,12,134,29,161,35,220,116,157,163,163,117,179,92,181,141,66,126,72,20,17,84,194,147,167) @@ -932,92 +934,129 @@ IMAGE_DATA(142,188,56,130,142,75,190,243,35,184,22,132,252,15,57,38,231,224,0,0, IMAGE_END_DATA(1952, 17) IMAGE_BEGIN_DATA -IMAGE_DATA(120,156,237,89,105,84,20,87,22,46,18,163,97,50,110,17,200,32,139,58,154,96,140,78,162,68,100,146,40,139,113,198) -IMAGE_DATA(144,25,143,103,2,46,128,113,73,60,70,153,24,17,81,99,92,72,142,104,112,38,8,182,40,68,52,46,68,217,132,56) -IMAGE_DATA(48,224,58,194,24,215,160,168,72,96,4,109,104,214,70,26,16,154,77,72,125,83,183,232,234,116,55,85,116,183,240,35) -IMAGE_DATA(57,201,61,231,158,234,122,239,126,223,253,222,123,247,190,110,133,25,202,12,97,126,33,230,195,57,204,116,67,67,81,17) -IMAGE_DATA(3,192,184,103,102,138,114,248,248,248,152,134,39,167,88,141,238,199,210,64,113,61,105,72,76,28,135,49,99,86,114,121) -IMAGE_DATA(124,68,223,77,209,64,177,132,33,172,216,187,49,13,63,133,125,232,141,6,58,231,94,104,96,24,243,107,210,80,195,79) -IMAGE_DATA(199,126,189,76,204,187,76,126,87,20,2,123,68,113,190,71,196,163,180,110,149,25,32,90,192,150,62,147,96,199,197,146) -IMAGE_DATA(15,139,156,139,97,75,166,177,182,181,59,240,156,131,29,107,215,190,75,203,69,243,20,203,136,20,176,160,129,231,240,123) -IMAGE_DATA(141,181,138,241,131,117,218,10,88,253,233,101,86,192,218,113,243,20,39,165,129,226,172,51,255,14,91,91,219,238,62,255) -IMAGE_DATA(117,147,52,216,105,180,218,124,27,4,235,201,47,240,185,173,39,59,177,54,151,130,181,248,158,52,8,120,202,39,166,131) -IMAGE_DATA(244,217,27,213,16,165,229,177,242,154,200,90,167,46,131,213,193,133,24,230,251,71,214,78,115,38,166,104,224,245,118,200) -IMAGE_DATA(240,220,8,123,214,86,25,134,97,203,61,88,171,157,115,180,103,37,165,129,206,89,247,220,165,234,66,66,3,195,252,122) -IMAGE_DATA(153,252,44,173,79,46,147,236,236,108,148,148,148,116,243,210,210,82,61,63,116,232,144,104,1,123,121,121,241,241,66,14) -IMAGE_DATA(11,11,11,214,193,193,129,141,138,138,130,92,46,215,242,209,103,138,101,68,10,152,52,80,14,250,76,184,251,247,239,35) -IMAGE_DATA(46,46,14,131,7,15,102,105,92,224,160,56,41,13,196,47,112,80,172,192,49,114,228,72,45,135,49,13,194,186,117,247) -IMAGE_DATA(172,95,191,126,108,108,108,44,4,14,99,26,116,57,132,156,241,241,241,112,116,116,228,117,152,162,65,151,67,216,71,226) -IMAGE_DATA(16,246,195,20,13,66,110,157,181,176,195,135,15,103,101,50,25,63,39,165,129,206,217,240,236,197,234,67,66,3,195,152) -IMAGE_DATA(87,143,191,248,203,228,113,154,182,27,71,162,189,248,207,71,26,55,145,195,199,103,144,196,79,216,65,102,29,18,238,140) -IMAGE_DATA(214,199,211,187,137,26,36,181,152,169,161,155,150,199,208,208,77,203,99,106,208,106,49,227,44,36,181,48,125,211,48,189) -IMAGE_DATA(209,64,22,200,121,162,230,249,56,166,112,117,165,127,54,50,160,39,189,155,137,247,33,156,110,125,104,120,204,217,23,123) -IMAGE_DATA(206,241,197,23,93,120,122,50,93,251,98,111,166,22,87,206,47,105,176,151,52,239,226,54,164,167,203,196,242,121,47,102) -IMAGE_DATA(164,111,236,64,143,8,165,141,247,65,181,141,247,87,234,129,30,145,74,26,227,231,164,204,226,41,75,198,97,217,233,241) -IMAGE_DATA(27,179,225,119,82,129,53,119,154,176,169,168,25,155,138,91,17,252,125,19,63,70,115,20,195,199,234,97,251,61,205,76) -IMAGE_DATA(254,103,133,111,138,28,59,74,219,176,241,78,3,150,93,172,198,146,236,74,204,74,41,135,239,127,42,17,82,248,16,97) -IMAGE_DATA(220,156,111,42,247,77,194,197,242,24,193,156,62,60,185,60,67,129,61,21,173,88,120,174,26,111,165,149,195,45,85,129) -IMAGE_DATA(177,113,165,112,136,41,194,156,195,119,49,33,174,132,227,171,134,76,209,138,101,92,44,97,120,236,224,151,102,122,69,92) -IMAGE_DATA(71,84,121,27,220,147,228,248,195,17,57,92,190,46,193,27,241,93,88,114,50,247,232,124,76,73,80,96,222,153,42,236) -IMAGE_DATA(42,107,135,87,68,14,8,219,255,149,21,251,183,222,168,195,172,180,42,109,188,161,147,181,183,181,195,83,118,19,51,190) -IMAGE_DATA(41,67,192,181,58,132,92,171,1,97,71,45,78,82,126,90,220,6,143,99,114,220,84,52,162,39,107,82,183,193,45,236) -IMAGE_DATA(59,188,149,172,192,182,210,78,140,90,148,164,124,49,248,92,107,84,213,35,76,63,90,140,204,188,218,30,241,93,198,194) -IMAGE_DATA(95,150,131,64,78,195,203,27,178,90,167,124,118,185,117,127,29,48,56,36,23,241,103,20,38,224,129,169,65,103,177,244) -IMAGE_DATA(108,5,166,133,125,215,58,46,248,172,114,85,81,39,6,109,184,129,244,51,197,70,144,63,96,244,188,227,176,9,205,71) -IMAGE_DATA(80,113,39,198,5,159,81,14,241,218,180,127,97,110,11,166,196,20,98,90,112,150,168,147,213,215,53,99,244,236,120,56) -IMAGE_DATA(197,220,67,64,193,35,120,103,215,131,176,253,29,93,103,122,165,86,96,229,247,173,152,113,162,26,110,201,21,240,72,169) -IMAGE_DATA(128,103,106,21,198,124,89,204,227,59,30,181,99,224,212,88,184,38,148,99,213,221,54,124,116,91,13,47,46,134,176,84) -IMAGE_DATA(2,195,22,68,159,92,113,147,171,215,123,237,88,125,167,25,171,243,155,177,166,160,21,203,243,154,121,252,80,247,3,248) -IMAGE_DATA(235,57,21,214,203,59,184,186,110,198,7,215,27,97,197,97,180,245,215,175,255,211,99,182,94,170,8,188,221,132,144,226) -IMAGE_DATA(22,172,205,87,99,117,30,121,35,191,222,37,185,106,132,86,118,32,164,168,5,129,121,77,120,62,244,82,5,97,244,91) -IMAGE_DATA(96,128,165,237,138,195,167,125,47,212,225,227,187,45,216,198,213,233,231,92,157,133,213,0,225,181,44,214,21,168,65,115) -IMAGE_DATA(20,67,177,82,109,248,244,139,110,94,142,239,253,35,214,245,64,158,210,51,73,174,158,158,92,162,158,18,123,71,73,99) -IMAGE_DATA(52,215,13,240,27,230,183,210,151,129,121,102,242,175,132,159,113,156,57,191,144,204,249,21,101,206,47,173,199,255,246,238) -IMAGE_DATA(241,230,231,108,192,8,198,205,126,11,3,93,167,49,99,188,90,92,36,231,89,156,95,213,120,150,102,172,7,30,30,107) -IMAGE_DATA(136,51,116,13,143,33,135,22,155,161,137,203,208,228,219,44,194,145,209,157,131,215,156,245,227,188,107,244,8,92,150,103) -IMAGE_DATA(117,173,93,74,199,150,174,205,215,230,54,192,146,73,226,175,254,168,65,155,59,75,31,203,227,55,235,159,1,239,155,245) -IMAGE_DATA(53,104,115,112,124,101,245,114,163,183,182,158,166,190,194,247,66,127,111,247,175,183,231,215,23,245,211,219,250,237,139,254) -IMAGE_DATA(17,229,49,165,127,141,93,6,207,46,96,114,13,201,104,204,152,8,45,174,135,197,72,241,240,88,19,55,211,144,67,139) -IMAGE_DATA(205,16,193,108,214,228,54,56,104,93,14,189,98,50,116,110,142,10,139,10,76,203,161,83,76,218,220,82,154,183,48,124) -IMAGE_DATA(97,119,227,208,104,208,203,45,209,60,130,105,57,178,152,238,151,129,78,174,158,140,26,94,171,183,175,240,189,208,223,219) -IMAGE_DATA(253,235,237,249,245,69,253,244,182,126,251,162,127,68,121,76,233,95,99,151,1,217,148,23,108,61,215,191,51,57,34,121) -IMAGE_DATA(221,219,183,227,215,204,204,221,224,237,28,227,242,188,205,12,99,56,219,161,207,56,70,46,245,76,41,142,91,135,242,83) -IMAGE_DATA(187,80,123,45,1,181,151,143,66,145,17,142,219,251,150,227,88,160,91,209,107,78,214,179,196,176,75,222,28,31,124,61) -IMAGE_DATA(220,191,165,44,115,39,154,10,78,163,35,255,93,32,255,37,116,220,242,68,227,237,116,60,188,249,47,40,78,201,144,179) -IMAGE_DATA(231,61,188,63,125,212,14,1,247,212,147,79,244,15,93,48,245,171,210,212,109,104,79,243,3,226,198,163,35,209,3,108) -IMAGE_DATA(222,68,64,241,33,199,49,30,213,39,66,80,149,178,9,245,215,18,161,186,116,20,105,107,167,116,142,178,177,124,133,240) -IMAGE_DATA(129,179,156,183,151,126,179,157,207,201,30,115,6,178,62,228,57,26,206,47,67,199,141,215,241,240,188,31,14,165,191,131) -IMAGE_DATA(13,39,223,64,100,250,76,212,93,137,199,247,71,215,35,96,134,67,236,56,135,97,206,185,17,126,157,205,95,203,208,226) -IMAGE_DATA(231,11,245,246,191,161,227,216,27,104,76,94,128,170,111,182,112,57,55,162,50,233,99,124,154,233,142,232,43,139,241,9) -IMAGE_DATA(199,81,117,124,51,202,50,34,16,238,63,58,63,100,158,107,108,197,105,14,27,252,17,154,67,63,67,131,135,7,30,156) -IMAGE_DATA(141,68,195,245,84,52,228,28,71,195,181,36,40,211,182,225,191,137,11,17,158,62,3,153,9,115,81,126,56,16,213,103) -IMAGE_DATA(162,177,239,189,209,170,180,79,254,114,95,117,53,1,170,248,80,168,2,230,67,185,51,128,195,166,224,246,129,149,56,189) -IMAGE_DATA(201,13,55,190,252,0,117,220,122,87,236,219,3,167,232,20,204,138,62,0,69,236,50,212,156,141,193,254,247,71,182,92) -IMAGE_DATA(216,54,187,133,207,149,123,2,181,89,49,168,74,221,194,237,81,18,78,109,156,198,55,75,250,58,23,168,190,61,130,73) -IMAGE_DATA(209,9,240,203,184,200,113,28,135,124,183,63,167,49,6,7,151,58,32,104,214,4,89,110,244,82,252,47,97,35,20,255) -IMAGE_DATA(14,135,234,98,28,234,46,199,227,58,55,150,182,118,50,174,238,94,4,85,246,65,196,237,253,24,111,237,253,10,187,162) -IMAGE_DATA(54,65,153,30,142,194,163,27,16,250,142,117,33,229,152,56,234,89,207,37,30,191,223,26,58,127,66,102,234,26,215,166) -IMAGE_DATA(130,175,215,65,117,225,48,143,83,101,29,64,121,92,48,228,50,63,220,143,156,143,202,248,141,168,206,148,225,100,200,155) -IMAGE_DATA(112,25,53,192,215,176,134,70,88,89,78,72,89,61,177,179,150,195,41,246,175,224,181,202,119,205,71,73,212,34,212,156) -IMAGE_DATA(218,131,210,148,237,56,187,213,11,115,38,63,19,33,85,195,107,222,118,76,186,197,237,223,131,115,95,162,236,208,106,212) -IMAGE_DATA(156,222,203,97,163,112,109,247,98,68,191,107,221,249,231,241,150,235,123,234,129,17,86,3,94,137,91,62,166,147,114,21) -IMAGE_DATA(39,108,193,85,217,34,36,7,77,68,128,231,160,19,195,135,60,57,193,88,15,145,205,156,48,104,117,244,34,187,166,144) -IMAGE_DATA(217,214,185,115,93,6,70,56,62,251,164,179,41,56,179,173,135,203,192,194,4,55,52,7,206,73,168,139,137,62,146,243) -IMAGE_DATA(39,116,240,206,42,149,170,233,209,163,71,63,116,118,118,194,152,207,153,51,39,210,128,195,69,192,182,183,183,163,181,181) -IMAGE_DATA(21,205,205,205,188,55,53,53,161,190,190,30,74,165,18,101,101,101,60,94,173,86,195,219,219,91,151,195,69,224,38,124) -IMAGE_DATA(75,75,11,239,196,67,177,13,13,13,168,173,173,69,117,117,53,31,67,115,85,85,85,186,28,60,158,123,130,211,129,156) -IMAGE_DATA(156,28,254,51,61,219,218,218,248,207,15,31,62,212,27,167,120,205,156,139,46,190,163,163,131,127,10,56,210,67,79,90) -IMAGE_DATA(11,61,73,7,61,31,60,120,0,13,70,20,47,60,133,113,129,143,246,67,208,99,14,94,120,167,61,161,39,237,139,24) -IMAGE_DATA(222,48,222,112,92,88,15,241,72,225,13,247,73,108,156,214,99,136,55,197,73,23,157,145,33,222,212,218,19,240,180,14) -IMAGE_DATA(206,127,208,224,95,229,106,172,153,155,99,77,213,65,88,174,38,27,52,125,67,253,243,170,25,253,35,56,97,117,255,23) -IMAGE_DATA(217,148,222,237,222,195,34,151,129,61,99,90,67,11,13,100,104,206,180,56,90,164,212,6,208,1,24,52,161,174,185,16) -IMAGE_DATA(150,138,76,104,100,114,42,90,161,153,137,195,160,9,5,14,11,161,32,168,200,132,11,129,156,138,159,154,185,166,166,70) -IMAGE_DATA(219,200,148,99,238,220,185,2,135,30,94,115,200,90,14,138,111,108,108,212,54,159,174,107,246,195,66,23,79,90,143,28) -IMAGE_DATA(57,194,10,133,67,107,22,214,65,127,235,220,187,119,47,91,89,89,41,137,191,123,247,46,220,221,221,245,138,79,224,184) -IMAGE_DATA(117,235,22,166,78,157,10,238,226,148,196,7,5,5,193,218,218,26,251,246,237,99,61,60,60,216,139,23,47,178,201,201) -IMAGE_DATA(201,172,191,191,63,27,24,24,8,43,43,43,250,155,47,107,74,254,123,247,238,177,174,174,174,236,164,73,147,88,110,255) -IMAGE_DATA(216,130,130,2,184,185,185,241,123,98,170,254,217,179,103,179,171,86,173,98,105,29,132,167,57,131,70,148,196,159,63,127) -IMAGE_DATA(158,37,60,247,206,230,229,229,161,176,176,144,207,223,19,158,246,105,236,216,177,108,88,88,24,235,236,236,204,22,23,23) -IMAGE_DATA(179,87,174,92,225,247,130,106,193,201,201,137,13,15,15,151,92,191,88,243,139,185,24,222,156,203,128,46,31,13,94,48) -IMAGE_DATA(254,66,49,229,82,162,24,250,242,212,244,171,96,230,94,40,194,37,196,252,31,72,21,44,182,0,0,0,0,0,0,0) -IMAGE_END_DATA(2816, 11) +IMAGE_DATA(120,156,237,89,103,88,84,215,22,29,197,134,34,88,128,136,84,69,131,81,20,165,12,136,180,25,68,17,21,27,69,138) +IMAGE_DATA(98,13,81,99,65,69,141,13,76,68,31,38,1,148,160,160,216,81,81,9,36,65,197,150,12,38,209,168,209,16,91,240) +IMAGE_DATA(41,138,96,161,72,83,122,241,174,119,207,117,238,188,153,203,12,204,136,63,222,251,146,253,125,251,187,115,239,222,107,157) +IMAGE_DATA(117,206,217,251,204,29,224,245,228,245,224,253,77,204,155,118,168,232,92,195,195,135,60,0,173,123,70,134,92,14,111,111) +IMAGE_DATA(111,229,240,196,73,174,88,247,59,105,32,121,45,105,56,113,98,48,6,12,88,66,143,227,45,247,94,25,13,36,151,96) +IMAGE_DATA(8,86,222,125,107,26,254,23,214,161,45,26,200,62,183,65,3,143,167,122,77,114,53,252,239,216,63,135,137,106,135,73) +IMAGE_DATA(159,135,225,48,64,28,237,59,229,120,156,196,181,51,22,201,45,96,117,111,75,232,211,185,196,123,111,247,69,239,57,78) +IMAGE_DATA(148,94,201,54,124,96,168,79,233,215,239,144,112,145,56,201,229,201,41,96,86,3,195,17,96,79,105,39,4,64,39,125) +IMAGE_DATA(33,180,199,88,80,44,86,159,142,147,60,69,26,72,158,78,198,167,208,211,211,107,238,126,163,148,210,160,47,214,170,251) +IMAGE_DATA(235,10,232,216,124,200,140,173,99,99,70,233,94,9,149,224,91,210,192,226,201,120,242,116,16,125,6,173,106,136,147,240) +IMAGE_DATA(104,123,140,160,116,210,130,161,125,32,8,189,253,71,82,250,226,61,81,70,3,163,183,49,22,31,24,27,80,122,69,145) +IMAGE_DATA(232,189,64,64,105,71,251,72,246,74,145,6,178,207,210,251,174,168,46,20,104,224,241,254,57,76,254,47,237,189,28,38) +IMAGE_DATA(151,46,93,194,147,39,79,154,121,94,94,158,140,31,60,120,80,110,1,123,120,120,48,249,236,24,237,218,181,163,12,13) +IMAGE_DATA(13,169,184,184,56,228,230,230,74,248,200,103,146,203,147,83,192,68,3,25,131,124,38,184,199,143,31,35,41,41,9,90) +IMAGE_DATA(90,90,20,121,206,114,144,60,69,26,8,63,203,65,114,89,14,19,19,19,9,71,107,26,216,121,75,175,89,135,14,29) +IMAGE_DATA(168,196,196,68,176,28,173,105,144,230,96,199,76,78,78,134,145,145,17,163,67,25,13,210,28,236,58,18,14,118,61,148) +IMAGE_DATA(209,192,142,45,53,23,170,111,223,190,84,108,108,44,19,83,164,129,236,51,119,239,229,213,135,2,13,60,158,106,245,248) +IMAGE_DATA(183,63,76,222,165,105,155,113,156,48,144,255,250,72,158,43,201,225,237,173,169,224,21,86,83,165,77,194,93,83,89,60) +IMAGE_DATA(185,87,82,131,66,45,42,106,104,166,229,29,52,52,211,242,142,26,36,90,84,216,11,133,90,120,239,167,97,218,162,129) +IMAGE_DATA(88,8,237,39,196,215,119,177,124,59,59,242,179,145,7,114,37,247,42,226,189,9,78,186,62,196,60,170,172,139,1,237) +IMAGE_DATA(248,250,235,183,120,114,229,189,93,23,3,21,181,216,209,126,69,140,189,34,190,151,111,61,90,58,76,212,7,122,240,76) +IMAGE_DATA(252,19,187,11,98,138,116,189,14,84,233,122,237,175,234,46,216,94,68,158,49,49,69,214,174,163,58,207,48,248,188,249) +IMAGE_DATA(250,75,8,56,155,143,149,119,43,177,225,97,53,54,228,212,34,244,175,74,230,25,137,145,28,38,87,6,219,161,11,207) +IMAGE_DATA(230,171,231,254,169,185,216,150,87,135,245,119,43,16,124,185,16,115,46,189,128,103,234,51,248,255,244,2,225,247,95,33) +IMAGE_DATA(146,142,249,167,209,223,36,116,46,131,97,205,108,241,217,5,103,242,177,243,121,45,130,126,44,196,184,244,103,112,78,203) +IMAGE_DATA(199,160,164,60,24,38,60,132,207,161,7,24,154,244,132,230,43,68,108,126,45,130,233,92,130,97,176,90,67,220,61,98) +IMAGE_DATA(110,34,238,89,29,92,78,230,98,216,225,92,240,143,60,129,67,242,91,44,113,98,46,241,247,96,123,60,31,211,47,20) +IMAGE_DATA(96,199,211,122,120,196,220,0,193,118,26,190,112,239,230,63,202,224,153,94,32,201,231,58,177,250,186,122,8,99,255,132) +IMAGE_DATA(219,119,79,177,232,122,25,194,175,23,131,96,251,205,62,89,180,41,167,14,130,99,185,248,51,255,53,90,178,202,170,58) +IMAGE_DATA(56,71,254,142,113,41,249,216,146,215,132,126,179,78,22,125,20,250,99,109,92,65,3,92,143,230,32,227,78,73,139,248) +IMAGE_DATA(183,70,33,48,246,6,66,104,13,22,107,51,107,109,63,255,173,118,111,25,160,21,158,133,228,11,249,74,224,1,199,21) +IMAGE_DATA(23,49,255,226,115,56,69,254,94,59,56,244,98,209,178,135,77,208,92,251,7,78,93,200,105,5,249,6,166,211,191,133) +IMAGE_DATA(110,196,61,172,200,105,194,224,208,11,69,61,60,54,236,13,202,170,129,109,194,125,56,133,102,202,117,98,229,101,213,48) +IMAGE_DATA(157,156,12,179,132,71,88,148,221,0,175,75,229,32,216,78,70,118,238,30,105,207,177,228,175,90,184,125,95,8,231,148) +IMAGE_DATA(231,16,164,62,135,48,173,0,3,118,231,48,248,198,134,122,116,119,76,132,221,241,103,88,246,160,14,75,111,87,193,131) +IMAGE_DATA(206,33,88,82,2,189,103,196,159,93,248,39,93,175,143,234,177,252,110,53,150,223,171,198,202,236,90,44,184,83,205,224) +IMAGE_DATA(123,186,236,195,196,31,75,177,38,183,145,174,235,106,124,114,243,53,180,105,140,164,254,58,116,234,50,96,243,149,231,33) +IMAGE_DATA(183,43,17,158,83,131,85,247,170,176,252,14,241,215,204,124,231,100,85,33,226,69,35,194,31,214,32,228,78,37,6,70) +IMAGE_DATA(92,121,78,48,178,45,208,89,93,111,225,161,243,254,191,148,225,179,7,53,216,66,215,233,191,232,58,139,44,6,162,74) +IMAGE_DATA(40,172,206,174,2,137,145,28,146,171,168,13,187,124,228,236,97,52,247,203,68,187,125,119,138,132,39,115,171,92,83,158) +IMAGE_DATA(84,217,38,222,45,34,207,72,172,25,160,43,79,67,241,97,160,154,41,253,150,240,127,156,167,202,27,146,42,111,81,170) +IMAGE_DATA(188,105,189,251,183,119,139,39,63,109,157,141,121,206,6,97,60,72,59,121,214,26,175,4,183,157,246,76,218,175,137,61) +IMAGE_DATA(83,252,172,5,30,6,203,197,113,93,204,195,229,144,96,207,136,243,206,136,199,219,40,135,227,76,115,14,70,115,230,127) +IMAGE_DATA(227,118,241,198,248,45,55,243,237,220,21,233,8,123,187,248,146,177,57,88,98,10,241,215,254,171,65,50,118,166,44,150) +IMAGE_DATA(193,111,148,221,3,198,55,202,106,144,140,65,243,61,45,207,109,245,212,150,209,244,190,240,109,208,223,214,245,107,235,254) +IMAGE_DATA(189,143,250,105,107,253,190,143,254,145,203,163,76,255,182,118,24,244,154,193,203,226,146,145,103,173,137,144,224,90,152,140) +IMAGE_DATA(34,30,6,171,228,98,114,57,36,216,51,114,48,27,197,99,115,54,90,154,67,166,152,184,78,199,72,97,145,2,147,112) +IMAGE_DATA(72,21,147,100,108,69,154,195,120,76,97,55,227,16,107,144,25,91,65,243,176,38,225,200,228,53,63,12,164,198,106,201) +IMAGE_DATA(72,195,75,244,190,47,124,27,244,183,117,253,218,186,127,239,163,126,218,90,191,239,163,127,228,242,40,211,191,173,29,6) +IMAGE_DATA(196,108,63,212,19,174,153,102,19,147,178,122,252,237,228,149,238,89,107,189,172,18,248,3,117,221,90,195,233,245,236,102) +IMAGE_DATA(180,125,190,48,53,39,105,53,158,157,219,129,146,235,199,81,242,219,81,228,159,137,194,237,61,11,112,44,196,249,161,189) +IMAGE_DATA(153,142,167,60,236,156,209,230,161,55,163,2,107,158,102,68,163,50,251,60,26,239,205,4,238,13,65,227,45,33,94,223) +IMAGE_DATA(62,133,87,127,254,128,252,115,177,184,177,115,46,230,185,246,219,198,226,58,170,181,239,20,49,195,113,127,94,218,22,212) +IMAGE_DATA(167,7,0,73,230,104,60,33,0,117,103,4,144,191,152,230,48,71,225,247,225,40,72,221,128,242,235,39,80,122,229,40) +IMAGE_DATA(210,87,217,54,245,211,85,31,78,240,33,158,86,91,243,190,219,202,140,73,29,179,2,50,23,51,28,21,162,96,52,254) +IMAGE_DATA(49,10,175,68,1,56,120,106,26,214,158,117,192,246,83,238,40,187,154,140,191,142,174,193,34,55,195,196,193,134,189,173) +IMAGE_DATA(178,98,2,154,170,143,196,162,38,192,31,85,91,167,162,241,152,3,94,167,204,64,193,119,97,244,152,235,241,226,228,103) +IMAGE_DATA(216,148,225,130,248,171,179,177,142,230,40,248,118,35,158,158,137,65,84,160,233,189,240,233,118,137,207,207,211,216,208,165) +IMAGE_DATA(168,142,248,28,21,2,1,94,94,220,142,138,155,105,168,184,241,45,42,174,159,68,81,250,22,252,124,34,8,81,167,220) +IMAGE_DATA(144,113,220,23,207,14,133,160,240,66,60,246,204,53,45,77,95,55,225,113,233,181,227,40,77,142,64,233,34,63,20,69) +IMAGE_DATA(47,162,177,169,184,189,111,9,206,111,112,198,31,187,63,65,25,61,223,133,123,118,194,44,62,21,158,241,251,144,159,24) +IMAGE_DATA(140,226,139,9,216,59,207,164,230,151,45,147,107,152,177,178,190,71,73,102,2,10,210,194,232,53,58,137,115,235,157,152) +IMAGE_DATA(102,57,181,154,143,210,95,15,195,50,254,56,2,206,92,166,57,190,69,238,55,129,180,198,4,28,152,111,136,21,158,67) +IMAGE_DATA(99,179,226,231,227,223,199,215,35,255,116,20,74,47,39,161,236,183,100,220,164,159,165,175,178,193,181,111,102,161,244,210) +IMAGE_DATA(1,36,237,250,12,227,118,237,199,142,184,13,40,58,21,133,251,71,215,34,98,154,206,125,50,198,136,126,189,132,115,4) +IMAGE_DATA(253,55,71,248,13,205,72,91,105,87,153,125,100,53,74,127,57,196,224,74,51,247,225,89,82,40,114,99,3,240,120,187) +IMAGE_DATA(31,94,36,175,71,97,70,44,206,134,143,6,191,95,103,127,110,13,25,107,171,15,77,93,62,162,169,132,198,229,239,93) +IMAGE_DATA(200,104,205,221,225,135,39,113,179,80,124,110,39,242,82,183,226,226,102,15,248,216,116,139,81,84,195,43,199,27,157,188) +IMAGE_DATA(69,175,223,203,31,119,227,233,193,229,40,62,191,139,198,198,225,250,55,179,17,63,83,167,105,172,185,250,154,150,122,192) +IMAGE_DATA(88,187,243,240,164,5,3,154,200,88,57,199,195,112,45,118,22,82,86,140,192,34,161,230,247,125,123,168,13,109,173,135) +IMAGE_DATA(136,185,15,213,92,30,63,75,191,50,124,178,78,150,47,191,123,140,81,47,53,43,101,112,42,91,11,135,65,59,37,156) +IMAGE_DATA(107,134,180,19,161,124,37,221,132,246,246,82,120,171,210,210,210,202,134,134,134,55,77,77,77,104,205,125,124,124,182,115) +IMAGE_DATA(56,248,44,182,190,190,30,181,181,181,168,174,174,102,188,178,178,18,229,229,229,40,42,42,194,211,167,79,25,124,85,85) +IMAGE_DATA(21,188,188,188,164,57,248,44,55,193,215,212,212,48,78,120,72,110,69,69,5,74,74,74,80,88,88,200,228,144,88,65) +IMAGE_DATA(65,129,52,7,131,167,175,160,117,224,198,141,27,204,103,114,173,171,171,99,62,191,122,245,74,230,57,201,23,199,248,210) +IMAGE_DATA(248,198,198,70,230,202,226,136,30,114,37,115,33,87,162,131,92,95,190,124,9,49,70,46,158,189,178,207,89,62,178,30) +IMAGE_DATA(172,30,85,240,236,61,89,19,114,37,235,34,15,207,205,231,62,103,231,67,120,20,225,185,235,36,239,57,153,15,23,175) +IMAGE_DATA(140,19,93,100,143,184,120,101,107,143,197,147,121,208,254,70,140,183,166,107,172,154,142,81,202,234,32,88,186,38,43,196) +IMAGE_DATA(125,67,250,199,90,133,254,97,157,96,165,255,138,172,76,239,54,239,97,57,135,129,1,79,185,134,102,27,136,107,86,100) +IMAGE_DATA(114,100,146,138,22,128,108,0,167,9,165,141,79,176,164,200,216,70,38,78,138,150,109,102,194,193,105,66,150,163,29,91) +IMAGE_DATA(16,164,200,216,3,129,56,41,126,210,204,197,197,197,146,70,38,99,248,250,250,178,28,50,120,241,38,75,56,72,254,235) +IMAGE_DATA(215,175,37,205,39,237,226,245,104,39,141,39,90,15,31,62,76,177,133,67,230,204,206,131,252,175,115,215,174,93,212,139) +IMAGE_DATA(23,47,20,226,31,60,120,0,23,23,23,153,226,99,57,110,221,186,5,71,71,71,208,7,167,66,252,138,21,43,160,163) +IMAGE_DATA(163,131,61,123,246,80,2,129,128,186,124,249,50,149,146,146,66,5,6,6,82,33,33,33,208,214,214,38,255,243,165,148) +IMAGE_DATA(25,255,209,163,71,148,157,157,29,101,105,105,73,209,235,71,101,103,103,195,217,217,153,89,19,101,245,79,158,60,153,90) +IMAGE_DATA(182,108,25,69,230,65,240,36,198,105,68,133,120,145,72,68,17,60,125,79,221,185,115,7,247,239,223,103,198,111,9,79) +IMAGE_DATA(214,105,208,160,65,84,100,100,36,101,101,101,69,229,228,228,80,87,175,94,101,214,130,212,130,153,153,25,21,21,21,165) +IMAGE_DATA(112,254,242,154,95,158,203,195,171,114,24,144,195,71,140,103,141,57,80,148,57,148,72,14,249,242,20,247,43,107,170,30) +IMAGE_DATA(40,236,33,164,240,205,128,61,49,52,134,105,247,10,137,228,91,252,156,196,55,191,119,200,114,208,221,120,123,203,155,99) +IMAGE_DATA(12,251,126,217,81,77,237,67,121,64,214,76,52,53,102,102,143,177,175,106,114,31,137,42,87,107,84,8,105,119,181,193) +IMAGE_DATA(43,161,21,154,198,218,161,98,130,19,220,250,234,146,215,123,233,63,155,51,227,58,232,233,110,162,60,70,161,84,96,133) +IMAGE_DATA(23,46,150,111,106,221,248,104,24,103,143,6,250,89,61,141,45,166,57,74,157,135,3,94,99,208,173,115,39,91,105,172) +IMAGE_DATA(137,166,230,76,76,116,192,51,23,203,166,50,122,204,242,113,163,48,119,160,241,145,1,61,181,230,25,116,215,240,115,55) +IMAGE_DATA(232,243,117,182,144,95,85,51,89,136,94,93,213,199,112,230,219,245,182,191,117,121,169,29,31,101,180,230,108,183,145,85) +IMAGE_DATA(93,59,118,148,222,40,198,58,180,111,111,170,213,165,179,128,189,21,227,219,13,50,233,246,49,110,168,163,120,137,113,211) +IMAGE_DATA(107,193,40,244,232,210,217,85,156,163,214,210,90,177,182,196,187,231,113,92,109,15,92,229,33,58,160,239,47,226,199,236) +IMAGE_DATA(65,215,209,204,218,227,171,97,46,51,246,14,117,244,223,61,212,201,127,143,185,163,95,130,185,131,95,194,8,183,249,135) +IMAGE_DATA(181,251,14,152,147,188,89,255,22,232,223,148,184,214,9,174,182,221,54,115,240,90,147,163,171,225,250,21,224,198,113,247) +IMAGE_DATA(111,128,143,60,54,157,75,221,106,120,151,197,143,182,214,224,226,53,199,71,150,52,184,252,11,16,70,190,161,157,130,32) +IMAGE_DATA(162,26,206,225,47,27,8,135,177,195,210,148,117,65,186,63,224,10,173,255,87,30,86,127,106,148,201,193,119,30,62,97) +IMAGE_DATA(205,15,54,211,119,92,182,246,137,250,217,114,106,196,69,199,21,215,11,5,17,53,24,253,37,96,62,118,229,119,22,3) +IMAGE_DATA(187,47,193,239,106,248,58,101,112,147,117,106,32,58,117,237,108,47,181,198,205,204,97,241,79,121,130,45,117,24,27,13) +IMAGE_DATA(244,25,96,183,142,104,92,116,212,173,182,255,81,95,88,157,244,130,237,142,73,197,237,213,218,247,147,135,53,181,255,228) +IMAGE_DATA(48,25,215,121,83,197,27,247,109,117,104,175,214,113,0,51,73,211,62,203,28,207,7,98,248,1,207,122,171,148,105,176) +IMAGE_DATA(63,234,219,168,107,99,252,165,122,143,110,227,187,245,212,240,232,97,162,243,169,101,216,216,251,14,123,46,192,105,93,101) +IMAGE_DATA(253,216,24,192,116,212,172,3,210,220,134,2,179,221,246,231,104,142,35,147,40,203,99,83,193,255,193,23,14,167,3,225) +IMAGE_DATA(116,122,38,70,158,246,167,181,77,133,197,97,151,6,219,35,187,224,184,56,253,17,13,105,246,239,31,157,33,6,235,157) +IMAGE_DATA(211,102,192,246,180,31,44,233,124,243,131,227,223,208,222,100,113,108,18,195,103,127,42,16,230,193,182,100,141,53,197,144) +IMAGE_DATA(102,111,234,237,213,212,250,247,177,233,183,205,122,221,216,123,19,210,23,192,227,84,48,156,98,189,11,77,38,154,39,119) +IMAGE_DATA(209,234,58,78,42,245,45,86,209,207,4,11,115,243,73,102,3,7,6,77,26,239,33,154,58,113,130,72,139,54,233,184) +IMAGE_DATA(137,161,129,197,188,217,179,163,73,156,184,137,145,161,204,95,40,71,187,10,163,233,111,146,176,249,243,231,99,186,175,111) +IMAGE_DATA(179,63,88,88,141,24,17,244,197,23,95,136,72,252,147,224,96,114,138,203,224,189,166,78,17,177,120,111,111,239,52,46) +IMAGE_DATA(222,85,32,136,102,241,92,126,162,117,205,170,80,176,120,161,80,16,198,197,79,155,50,89,196,226,233,159,27,50,252,122) +IMAGE_DATA(186,186,198,4,171,167,167,231,76,174,26,26,26,198,92,188,208,197,37,140,254,150,9,34,241,190,116,158,116,44,192,206) +IMAGE_DATA(122,233,181,197,243,48,143,111,25,150,185,236,227,114,238,218,89,155,24,57,147,248,137,173,155,68,228,106,251,145,153,12) +IMAGE_DATA(126,157,3,127,255,79,158,110,8,50,235,31,22,35,176,23,113,199,246,181,24,178,148,196,143,174,93,41,58,61,197,189) +IMAGE_DATA(156,27,79,245,155,154,203,226,151,216,12,143,230,198,215,142,122,203,79,240,219,93,29,100,248,13,62,208,53,22,77,113) +IMAGE_DATA(7,139,159,56,108,72,16,23,159,226,227,153,203,226,151,141,180,150,225,119,54,53,153,68,98,12,126,144,105,216,96,99) +IMAGE_DATA(35,11,25,126,93,29,154,127,44,88,188,147,177,225,36,233,248,236,97,131,195,88,124,128,61,127,41,119,236,9,67,6) +IMAGE_DATA(5,177,241,99,27,86,139,134,152,246,151,225,39,154,217,248,36,203,225,205,180,199,186,11,69,108,124,134,211,168,102,252) +IMAGE_DATA(62,67,204,150,178,241,207,167,76,216,239,229,226,200,112,116,87,87,215,10,115,23,238,103,99,151,124,39,97,144,129,190) +IMAGE_DATA(5,23,175,167,169,97,252,179,255,20,38,231,140,215,132,242,143,237,249,97,191,6,249,64,52,117,28,88,44,241,208,113) +IMAGE_DATA(163,155,237,11,107,238,38,6,65,151,124,60,153,188,61,130,145,89,171,198,143,137,254,204,118,196,254,40,123,43,209,22) +IMAGE_DATA(23,251,52,207,225,195,154,205,139,107,100,31,226,38,140,17,157,159,53,189,252,234,162,57,8,27,231,186,127,229,220,89) +IMAGE_DATA(97,70,6,250,205,106,153,181,255,0,29,198,84,242,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0) +IMAGE_END_DATA(4000, 13) diff --git a/uppsrc/ide/ide.key b/uppsrc/ide/ide.key index 9c6904cd6..1134df194 100644 --- a/uppsrc/ide/ide.key +++ b/uppsrc/ide/ide.key @@ -120,4 +120,7 @@ KEY(SVNDIFF, "Show svn history of file..", 0) KEY(PATCH, "Patch/diff..", 0) KEY(DIRDIFF, "Compare directories..", 0) -KEY(RESCANCURRENTFILE, "Rescan current file", 0) \ No newline at end of file +KEY(RESCANCURRENTFILE, "Rescan current file", 0) + +KEY(GOOGLE, "Search the web..", K_ALT_G) +KEY(GOOGLEUPP, "Search on the official site..", K_ALT|K_SHIFT_G) diff --git a/uppsrc/ide/idebar.cpp b/uppsrc/ide/idebar.cpp index b64a5820a..6a8975f3e 100644 --- a/uppsrc/ide/idebar.cpp +++ b/uppsrc/ide/idebar.cpp @@ -109,8 +109,10 @@ void Ide::File(Bar& menu) void Ide::OnlineSearchMenu(Bar& menu) { - menu.Add(editor.IsSelection(), "Search the web..", THISBACK(OnlineSearch)); - menu.Add(editor.IsSelection(), "Search on the official site..", THISBACK(OnlineSearchOnTheOfficialSite)); + bool b = editor.IsSelection() || IsAlNum(editor.GetChar()); + menu.Add(b, AK_GOOGLE, IdeImg::Google(), + THISBACK(OnlineSearch)); + menu.Add(b, AK_GOOGLEUPP, IdeImg::GoogleUpp(), THISBACK(OnlineSearchOnTheOfficialSite)); } void Ide::EditSpecial(Bar& menu) @@ -641,6 +643,8 @@ void Ide::HelpMenu(Bar& menu) menu.AddMenu("Online documentation..", IdeImg::Go_forward(), callback1(LaunchWebBrowser, "http://www.ultimatepp.org/www$uppweb$documentation$en-us.html")); menu.AddMenu("Common information..", IdeImg::Go_forward(), callback1(LaunchWebBrowser, "http://www.ultimatepp.org/www$uppweb$community$en-us.html")); menu.MenuSeparator(); + OnlineSearchMenu(menu); + menu.MenuSeparator(); menu.Add("About..", THISBACK(About)); }