From: <dos...@us...> - 2012-07-01 19:18:10
|
Revision: 4494 http://mp-plugins.svn.sourceforge.net/mp-plugins/?rev=4494&view=rev Author: doskabouter Date: 2012-07-01 19:17:59 +0000 (Sun, 01 Jul 2012) Log Message: ----------- - Fixed toggle mouse option - released version 0.3.7 Modified Paths: -------------- trunk/plugins/BrowseTheWeb/Release/BrowseTheWeb.mpe1 trunk/plugins/BrowseTheWeb/Release/BrowseTheWeb.xml trunk/plugins/BrowseTheWeb/Release/BrowseTheWeb.xmp2 trunk/plugins/BrowseTheWeb/Release/Plugins/Windows/BrowseTheWeb.dll trunk/plugins/BrowseTheWeb/Release/Plugins/Windows/Skybound.Gecko.dll trunk/plugins/BrowseTheWeb/Source/BrowseTheWeb/BrowseTheWeb.csproj trunk/plugins/BrowseTheWeb/Source/BrowseTheWeb/GUIPlugin.cs trunk/plugins/BrowseTheWeb/Source/BrowseTheWeb/HtmlInputType.cs trunk/plugins/BrowseTheWeb/Source/BrowseTheWeb/HtmlLinkNumber.cs trunk/plugins/BrowseTheWeb/Source/BrowseTheWeb/Properties/AssemblyInfo.cs trunk/plugins/BrowseTheWeb/Source/BrowseTheWeb/Properties/Resources.Designer.cs trunk/plugins/BrowseTheWeb/Source/BrowseTheWeb/Properties/Resources.resx Added Paths: ----------- trunk/plugins/BrowseTheWeb/Source/BrowseTheWeb/res/MouseCursor.cur Modified: trunk/plugins/BrowseTheWeb/Release/BrowseTheWeb.mpe1 =================================================================== (Binary files differ) Modified: trunk/plugins/BrowseTheWeb/Release/BrowseTheWeb.xml =================================================================== --- trunk/plugins/BrowseTheWeb/Release/BrowseTheWeb.xml 2012-07-01 18:51:22 UTC (rev 4493) +++ trunk/plugins/BrowseTheWeb/Release/BrowseTheWeb.xml 2012-07-01 19:17:59 UTC (rev 4494) @@ -1744,5 +1744,137 @@ </ProjectSettings> <IsSkin>false</IsSkin> </PackageClass> + <PackageClass> + <Version>2.0</Version> + <Groups> + <Items> + <GroupItem Name="Default"> + <DisplayName>Default</DisplayName> + <DefaulChecked>true</DefaulChecked> + <Description>Default</Description> + <Files> + <Items /> + </Files> + </GroupItem> + <GroupItem Name="Blue3"> + <DisplayName>Blue3</DisplayName> + <DefaulChecked>true</DefaulChecked> + <Description>Blue3</Description> + <Files> + <Items /> + </Files> + </GroupItem> + <GroupItem Name="Blue3wide"> + <DisplayName>Blue3wide</DisplayName> + <DefaulChecked>true</DefaulChecked> + <Description>Blue3wide</Description> + <Files> + <Items /> + </Files> + </GroupItem> + </Items> + </Groups> + <Sections> + <Items /> + </Sections> + <Dependencies> + <Items> + <DependencyItem> + <Type>MediaPortal</Type> + <Id /> + <MinVersion> + <Major>1</Major> + <Minor>1</Minor> + <Build>6</Build> + <Revision>27644</Revision> + </MinVersion> + <MaxVersion> + <Major>1</Major> + <Minor>1</Minor> + <Build>6</Build> + <Revision>27644</Revision> + </MaxVersion> + <WarnOnly>false</WarnOnly> + <Message>requires MediaPortal version 1.1.6.27644 to 1.1.6.27644.</Message> + <Name>MediaPortal</Name> + </DependencyItem> + </Items> + </Dependencies> + <PluginDependencies> + <Items> + <PluginDependencyItem AssemblyName="BrowseTheWeb.dll"> + <CompatibleVersion> + <Items> + <CompatibleVersionItem> + <MinRequiredVersion>1.1.7.0</MinRequiredVersion> + <DesignedForVersion>1.2.100.0</DesignedForVersion> + </CompatibleVersionItem> + </Items> + </CompatibleVersion> + <SubSystemsUsed> + <Items> + <SubSystemItem Name="MP.SkinEngine" /> + <SubSystemItem Name="MP.Config" /> + <SubSystemItem Name="MP.DB" /> + </Items> + </SubSystemsUsed> + </PluginDependencyItem> + </Items> + </PluginDependencies> + <GeneralInfo> + <Name>Browse The Web</Name> + <Id>2869e8cd-579e-4fdb-ad6d-19ff5bd4e46f</Id> + <Author>Mark Koenig (kroko) 2010</Author> + <HomePage>http://www.team-mediaportal.com/extensions/news-info/browse-the-web-webbrowser</HomePage> + <ForumPage>http://forum.team-mediaportal.com/threads/browse-the-web-webbrowser.107285/</ForumPage> + <UpdateUrl>https://mp-plugins.svn.sourceforge.net/svnroot/mp-plugins/trunk/plugins/BrowseTheWeb/Release/BrowseTheWeb.xml</UpdateUrl> + <Version> + <Major>0</Major> + <Minor>3</Minor> + <Build>7</Build> + <Revision>0</Revision> + </Version> + <ExtensionDescription>Webrowser based on xulrunner and the "Gecko Browser" / " Webbrowser.</ExtensionDescription> + <VersionDescription>Fixed toggle mouse option, added linkid to flash objects (performs a click in the middle of the object), added compatibility with MP 1.3.0 Alpha</VersionDescription> + <DevelopmentStatus>Stable</DevelopmentStatus> + <OnlineLocation>https://mp-plugins.svn.sourceforge.net/svnroot/mp-plugins/trunk/plugins/BrowseTheWeb/Release/BrowseTheWeb.mpe1</OnlineLocation> + <ReleaseDate>2012-07-01T21:15:38.2282677+02:00</ReleaseDate> + <Tags>webbrowser, internet, web</Tags> + <Location>..\..\BrowseTheWeb.mpe1</Location> + <Params> + <Items> + <SectionParam Name="Online Icon"> + <Value /> + <ValueType>String</ValueType> + <Description>The icon file of the package stored online (jpg,png,bmp)</Description> + </SectionParam> + <SectionParam Name="Configuration file"> + <Value /> + <ValueType>Template</ValueType> + <Description>The file used to configure the extension. +If have .exe extension the will be executed +If have .dll extension used like MP plugin configuration</Description> + </SectionParam> + <SectionParam Name="Online Screenshots"> + <Value>https://mp-plugins.svn.sourceforge.net/svnroot/mp-plugins/trunk/plugins/BrowseTheWeb/Release/browser1.jpg;https://mp-plugins.svn.sourceforge.net/svnroot/mp-plugins/trunk/plugins/BrowseTheWeb/Release/setup3.jpg</Value> + <ValueType>String</ValueType> + <Description>Online stored screenshot urls separated by ; </Description> + </SectionParam> + <SectionParam Name="Force to uninstall on update"> + <Value>YES</Value> + <ValueType>Bool</ValueType> + <Description>Show dialog and force to uninstall previous version when updating an extension. Should only be disabled if you are using an NSIS/MSI installer.</Description> + </SectionParam> + </Items> + </Params> + </GeneralInfo> + <UniqueFileList> + <Items /> + </UniqueFileList> + <ProjectSettings> + <FolderGroups /> + </ProjectSettings> + <IsSkin>false</IsSkin> + </PackageClass> </Items> </ExtensionCollection> \ No newline at end of file Modified: trunk/plugins/BrowseTheWeb/Release/BrowseTheWeb.xmp2 =================================================================== --- trunk/plugins/BrowseTheWeb/Release/BrowseTheWeb.xmp2 2012-07-01 18:51:22 UTC (rev 4493) +++ trunk/plugins/BrowseTheWeb/Release/BrowseTheWeb.xmp2 2012-07-01 19:17:59 UTC (rev 4494) @@ -280,7 +280,7 @@ <Items> <CompatibleVersionItem> <MinRequiredVersion>1.1.7.0</MinRequiredVersion> - <DesignedForVersion>1.1.7.0</DesignedForVersion> + <DesignedForVersion>1.2.100.0</DesignedForVersion> </CompatibleVersionItem> </Items> </CompatibleVersion> @@ -304,14 +304,14 @@ <Version> <Major>0</Major> <Minor>3</Minor> - <Build>6</Build> + <Build>7</Build> <Revision>0</Revision> </Version> <ExtensionDescription>Webrowser based on xulrunner and the "Gecko Browser" / " Webbrowser.</ExtensionDescription> - <VersionDescription>Fixed initial defaultzoom again, improved display of numbers of the urls, fixed password dialog (show *), fixed mouse cursor not disappearing</VersionDescription> + <VersionDescription>Fixed toggle mouse option, added linkid to flash objects (performs a click in the middle of the object), added compatibility with MP 1.3.0 Alpha</VersionDescription> <DevelopmentStatus>Stable</DevelopmentStatus> <OnlineLocation>https://mp-plugins.svn.sourceforge.net/svnroot/mp-plugins/trunk/plugins/BrowseTheWeb/Release/BrowseTheWeb.mpe1</OnlineLocation> - <ReleaseDate>2012-04-17T23:12:57.385693+02:00</ReleaseDate> + <ReleaseDate>2012-07-01T21:15:38.2282677+02:00</ReleaseDate> <Tags>webbrowser, internet, web</Tags> <Location>..\..\BrowseTheWeb.mpe1</Location> <Params> Modified: trunk/plugins/BrowseTheWeb/Release/Plugins/Windows/BrowseTheWeb.dll =================================================================== (Binary files differ) Modified: trunk/plugins/BrowseTheWeb/Release/Plugins/Windows/Skybound.Gecko.dll =================================================================== (Binary files differ) Modified: trunk/plugins/BrowseTheWeb/Source/BrowseTheWeb/BrowseTheWeb.csproj =================================================================== --- trunk/plugins/BrowseTheWeb/Source/BrowseTheWeb/BrowseTheWeb.csproj 2012-07-01 18:51:22 UTC (rev 4493) +++ trunk/plugins/BrowseTheWeb/Source/BrowseTheWeb/BrowseTheWeb.csproj 2012-07-01 19:17:59 UTC (rev 4494) @@ -175,6 +175,7 @@ <ItemGroup> <None Include="res\edit-icon.png" /> <Content Include="res\fav-b-icon.png" /> + <Content Include="res\MouseCursor.cur" /> <Content Include="todo.txt" /> <EmbeddedResource Include="GetThumb.resx"> <DependentUpon>GetThumb.cs</DependentUpon> Modified: trunk/plugins/BrowseTheWeb/Source/BrowseTheWeb/GUIPlugin.cs =================================================================== --- trunk/plugins/BrowseTheWeb/Source/BrowseTheWeb/GUIPlugin.cs 2012-07-01 18:51:22 UTC (rev 4493) +++ trunk/plugins/BrowseTheWeb/Source/BrowseTheWeb/GUIPlugin.cs 2012-07-01 19:17:59 UTC (rev 4494) @@ -25,6 +25,7 @@ using System; using System.Collections.Generic; using System.Drawing; +using System.IO; using MediaPortal.GUI.Library; using MediaPortal.Dialogs; @@ -43,6 +44,8 @@ { [DllImport("user32.dll", CharSet = CharSet.Auto, CallingConvention = CallingConvention.StdCall)] public static extern void mouse_event(long dwFlags, long dx, long dy, long cButtons, long dwExtraInfo); + [DllImport("user32.dll", CharSet = CharSet.Auto, CallingConvention = CallingConvention.StdCall)] + public static extern int ShowCursor(bool bShow); private const int MOUSEEVENTF_LEFTDOWN = 0x02; private const int MOUSEEVENTF_LEFTUP = 0x04; @@ -50,6 +53,7 @@ private const int MOUSEEVENTF_RIGHTUP = 0x10; private const bool logHtml = false; private bool mouseVisible = false; + private bool clickFromPlugin = false; #region Links private Dictionary<int, HtmlLinkNumber> _htmlLinkNumbers = new Dictionary<int, HtmlLinkNumber>(); @@ -440,21 +444,11 @@ else { webBrowser.Enabled = true; - webBrowser.BringToFront(); - - Cursor.Show(); System.Threading.Thread.Sleep(200); - - + clickFromPlugin = true; int X = Cursor.Position.X; int Y = Cursor.Position.Y; - mouse_event(MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_LEFTUP, X, Y, 0, 0); - - Cursor.Hide(); - //webBrowser.Enabled = false; - - GUIGraphicsContext.form.BringToFront(); - //mouse.BringToFront(); + mouse_event(MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_LEFTUP, 0, 0, 0, 0); } } if (action.wID == settings.Remote_Bookmark) @@ -503,17 +497,23 @@ } break; case MediaPortal.GUI.Library.Action.ActionType.ACTION_NEXT_SUBTITLE: - if (mouseVisible) + if (!settings.UseMouse) { - mouseVisible = false; + if (mouseVisible) + { + mouseVisible = false; + Cursor.Hide(); + } + else + { + using (MemoryStream memoryStream = new MemoryStream(Properties.Resources.MouseCursor)) + { + GUIGraphicsContext.form.Cursor = new Cursor(memoryStream); + } + mouseVisible = true; + while (ShowCursor(true) < 0) ; + } } - else - { - Point x = Cursor.Position; - //mouse.Location = x; - mouseVisible = true; - //mouse.BringToFront(); - } break; case MediaPortal.GUI.Library.Action.ActionType.ACTION_KEY_PRESSED: if (!settings.UseMouse) @@ -648,6 +648,13 @@ } } } + + if (clickFromPlugin) // click succeeded, so focus can safely be reset + { + clickFromPlugin = false; + webBrowser.Enabled = false; + GUIGraphicsContext.form.Focus(); + } } private void OnEnterNewLink() @@ -951,6 +958,25 @@ } } + GeckoElementCollection objects = webBrowser.Document.GetElementsByTagName("object"); + MyLog.debug("page objects cnt : " + objects.Count); + foreach (GeckoElement element in objects) + if (element.GetAttribute("type") == "application/x-shockwave-flash") + { + string id, name; + GeckoElement element2 = element.Parent; + SetLinkAttributes(element2, i, out id, out name); + + if (!element2.InnerHtml.Contains("gecko_id=\"" + i + "\"")) + { + insertSpan(i, String.Empty, "LINK", null, element2); + } + RectangleF rect = element2.BoundingClientRect; + Point p = new Point(Convert.ToInt32(rect.Left + rect.Width / 2), Convert.ToInt32(rect.Top + rect.Height / 2)); + _htmlLinkNumbers.Add(i, new HtmlLinkNumber(i, id, name, p, HtmlInputType.FlashObject)); + i++; + } + GeckoElementCollection forms = webBrowser.Document.GetElementsByTagName("form"); MyLog.debug("page forms cnt : " + forms.Count); @@ -1055,8 +1081,9 @@ switch (hln.Type) { case HtmlInputType.Link: - webBrowser.Navigate(hln.Link); - MyLog.debug("navigate to linkid=" + LinkId + " URL=" + hln.Link); + string link = (string)hln.Obj; + webBrowser.Navigate(link); + MyLog.debug("navigate to linkid=" + LinkId + " URL=" + link); break; case HtmlInputType.Input: case HtmlInputType.InputPassword: @@ -1066,6 +1093,18 @@ webBrowser.Navigate("javascript:document.getElementById(\"" + hln.Id + "\").click()"); MyLog.debug("action linkid=" + LinkId); break; + case HtmlInputType.FlashObject: + MyLog.debug("flash click on " + Cursor.Position.ToString()); + Point p = (Point)hln.Obj; + webBrowser.Enabled = true; + + System.Threading.Thread.Sleep(200); + Cursor.Position = webBrowser.PointToScreen(p); + int X = Cursor.Position.X; + int Y = Cursor.Position.Y; + clickFromPlugin = true; + mouse_event(MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_LEFTUP, 0, 0, 0, 0); + break; } } } @@ -1078,7 +1117,8 @@ { case HtmlInputType.Link: { - if (!Uri.IsWellFormedUriString(id.Link, UriKind.Absolute)) + string link = (string)id.Obj; + if (!Uri.IsWellFormedUriString(link, UriKind.Absolute)) { Uri baseUri = webBrowser.Url; @@ -1089,11 +1129,12 @@ if (gn != null && !String.IsNullOrEmpty(gn.NodeValue)) baseUri = new Uri(gn.NodeValue); } - id.Link = new Uri(baseUri, id.Link).AbsoluteUri; + id.Obj = new Uri(baseUri, link).AbsoluteUri; } hln = id; return true; } + case HtmlInputType.FlashObject: case HtmlInputType.Input: case HtmlInputType.InputPassword: case HtmlInputType.Action: Modified: trunk/plugins/BrowseTheWeb/Source/BrowseTheWeb/HtmlInputType.cs =================================================================== --- trunk/plugins/BrowseTheWeb/Source/BrowseTheWeb/HtmlInputType.cs 2012-07-01 18:51:22 UTC (rev 4493) +++ trunk/plugins/BrowseTheWeb/Source/BrowseTheWeb/HtmlInputType.cs 2012-07-01 19:17:59 UTC (rev 4494) @@ -30,6 +30,7 @@ Input, InputPassword, Link, - Action + Action, + FlashObject } } Modified: trunk/plugins/BrowseTheWeb/Source/BrowseTheWeb/HtmlLinkNumber.cs =================================================================== --- trunk/plugins/BrowseTheWeb/Source/BrowseTheWeb/HtmlLinkNumber.cs 2012-07-01 18:51:22 UTC (rev 4493) +++ trunk/plugins/BrowseTheWeb/Source/BrowseTheWeb/HtmlLinkNumber.cs 2012-07-01 19:17:59 UTC (rev 4494) @@ -27,13 +27,13 @@ { public class HtmlLinkNumber { - public HtmlLinkNumber(int number, string id, string name, string link, HtmlInputType type) + public HtmlLinkNumber(int number, string id, string name, object obj, HtmlInputType type) { Type = type; Number = number; Name = name; Id = id; - Link = link; + Obj =obj; } @@ -41,6 +41,6 @@ public string Id { get; set; } public string Name { get; set; } public HtmlInputType Type { get; set; } - public string Link { get; set; } + public object Obj { get; set; } } } Modified: trunk/plugins/BrowseTheWeb/Source/BrowseTheWeb/Properties/AssemblyInfo.cs =================================================================== --- trunk/plugins/BrowseTheWeb/Source/BrowseTheWeb/Properties/AssemblyInfo.cs 2012-07-01 18:51:22 UTC (rev 4493) +++ trunk/plugins/BrowseTheWeb/Source/BrowseTheWeb/Properties/AssemblyInfo.cs 2012-07-01 19:17:59 UTC (rev 4494) @@ -38,5 +38,5 @@ // Sie können alle Werte angeben oder die standardmäßigen Build- und Revisionsnummern // übernehmen, indem Sie "*" eingeben: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("0.3.5.0")] -[assembly: AssemblyFileVersion("0.3.5.0")] +[assembly: AssemblyVersion("0.3.7.0")] +[assembly: AssemblyFileVersion("0.3.7.0")] Modified: trunk/plugins/BrowseTheWeb/Source/BrowseTheWeb/Properties/Resources.Designer.cs =================================================================== --- trunk/plugins/BrowseTheWeb/Source/BrowseTheWeb/Properties/Resources.Designer.cs 2012-07-01 18:51:22 UTC (rev 4493) +++ trunk/plugins/BrowseTheWeb/Source/BrowseTheWeb/Properties/Resources.Designer.cs 2012-07-01 19:17:59 UTC (rev 4494) @@ -87,5 +87,12 @@ return ((System.Drawing.Bitmap)(obj)); } } + + internal static byte[] MouseCursor { + get { + object obj = ResourceManager.GetObject("MouseCursor", resourceCulture); + return ((byte[])(obj)); + } + } } } Modified: trunk/plugins/BrowseTheWeb/Source/BrowseTheWeb/Properties/Resources.resx =================================================================== --- trunk/plugins/BrowseTheWeb/Source/BrowseTheWeb/Properties/Resources.resx 2012-07-01 18:51:22 UTC (rev 4493) +++ trunk/plugins/BrowseTheWeb/Source/BrowseTheWeb/Properties/Resources.resx 2012-07-01 19:17:59 UTC (rev 4494) @@ -130,4 +130,7 @@ <data name="file-icon" type="System.Resources.ResXFileRef, System.Windows.Forms"> <value>..\res\file-icon.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> </data> + <data name="MouseCursor" type="System.Resources.ResXFileRef, System.Windows.Forms"> + <value>..\res\MouseCursor.cur;System.Byte[], mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </data> </root> \ No newline at end of file Added: trunk/plugins/BrowseTheWeb/Source/BrowseTheWeb/res/MouseCursor.cur =================================================================== (Binary files differ) Property changes on: trunk/plugins/BrowseTheWeb/Source/BrowseTheWeb/res/MouseCursor.cur ___________________________________________________________________ Added: svn:mime-type + application/octet-stream This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |