|
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.
|