Commit Graph

54 Commits

Author SHA1 Message Date
Birunthan Mohanathas
1934c5db72 Change NULL to nullptr 2013-05-31 17:28:39 +03:00
Birunthan Mohanathas
03d529cedc WebParser: Tweaks to DownloadUrl 2013-03-08 09:11:54 +02:00
spx
2ea8710f58 WebParser: Fixed wrong string length since a0113cc 2013-02-04 13:20:03 +09:00
Birunthan Mohanathas
638aaa137d Cleanup and cosmetics 2013-01-27 12:49:23 +02:00
Birunthan Mohanathas
a0113cc74f More tweaks 2013-01-27 12:49:23 +02:00
spx
82eb3ed03f WebParser: Modified proxy handling
- Added new proxy setting switch: /auto, /none
 /auto: use IE setting
 /none: direct connection

Example:
 ProxyServer=/none

- Added global proxy setting. If proxy setting is defined in Rainmeter.data, use it as a global proxy. Default value is /auto.

Example:
 [WebParser.dll]
 ProxyServer=example.net:8080

If ProxyServer= is not defined or is empty string in WebParser measure, use a global proxy. If an individual proxy setting is defined in WebParser measure, use it instead of a global proxy.
2013-01-23 22:04:32 +09:00
spx
7e958bdc23 WebParser: Cleanup 2013-01-23 08:52:20 +09:00
Brian Ferguson
bc4c774b08 Changed WebParser's Debug=2 option to write to the current directory (same as the .ini file calling it) because Windows 8 does not allow writing to the root folder ("C:"). 2012-11-19 12:20:19 -07:00
Birunthan Mohanathas
77ed9e7c92 Removed test code 2012-06-28 10:29:36 +03:00
Birunthan Mohanathas
1b9e1abcad Cosmetics 2012-06-27 15:37:23 +03:00
Birunthan Mohanathas
9a0a75685d WebParser.dll: Fixed that [measures] in FinishAction were not dynamic 2012-05-30 08:42:13 +03:00
spx
b0046d2968 Cosmetic changes. 2012-02-20 09:37:46 +00:00
Birunthan Mohanathas
03829fe739 WebParser.dll: Updated to new API (dynamic variables not supported yet) 2012-02-18 18:08:18 +00:00
Birunthan Mohanathas
e34adf7618 WebParser.dll: Reduced binary size. 2012-02-18 16:02:10 +00:00
Birunthan Mohanathas
87df66ffee Added C# SDK 2012-02-04 10:39:04 +00:00
Birunthan Mohanathas
1560c31510 - FolderInfo.dll: Fixed several memory leaks
- Changed FolderInfo and WebParser to import pcre_* functions from Rainmeter.dll to reduce binary size
- Changed Help in context menu to open Support page (instead of Manual/Manual_beta)
2012-02-04 08:25:11 +00:00
spx
ebec08914a Adjusted copyright notice.
http://www.gnu.org/licenses/gpl-2.0.html
2012-01-23 06:36:15 +00:00
Birunthan Mohanathas
7790449f2a - PowerPlugin: Fixed crash when waking up from sleep/hibernation in some cases
- Code cleanup
2011-10-12 13:34:04 +00:00
Birunthan Mohanathas
6820c67a80 WebParser: Fixed that matching failed with Codepage= other than 0 and 65001 in some cases due to r972 2011-10-10 08:20:31 +00:00
Birunthan Mohanathas
8ca0d0a830 WebParser: Fixed that RegExp matching fails if data contains embedded NULLs 2011-09-24 13:54:24 +00:00
Birunthan Mohanathas
c8694ccf16 WebParser: Errors and warnings are now logged as errors and warnings (instead of as debug) 2011-08-19 13:33:49 +00:00
spx
fdad6fb036 Minor tweaks. 2011-07-14 00:26:53 +00:00
spx
1fbcf6ef74 Added support code for r839 when using CodePage=1200 with an incorrect string. 2011-06-30 09:18:00 +00:00
spx
4bfbb120df WebParser: Added support code for CodePage=1200(UTF-16LE). 2011-06-30 09:04:49 +00:00
spx
62c0268fef WebParser: Changed FinishAction to be sent the !bang to the appropriate skin without #CURRENTCONFIG#. 2011-06-04 08:39:05 +00:00
Birunthan Mohanathas
e13f3a3c2c Got rid of pcre linker warnings. 2011-05-16 09:24:13 +00:00
Birunthan Mohanathas
a92bdd9b18 Cosmetic changes to code. 2011-03-29 19:21:57 +00:00
spx
84c91cb1ba WebParser now logs WININET error string. (errorcode > 12000) 2011-02-18 13:49:27 +00:00
Birunthan Mohanathas
6a5173c860 Upgrading development environment to Visual C++ 2010. 2011-02-10 16:09:05 +00:00
Birunthan Mohanathas
bf79f44e96 Cosmetic changes to code. 2011-02-03 18:09:24 +00:00
Birunthan Mohanathas
a8aa2825a2 Updated installer graphics and made some other minor changes. 2011-02-03 15:52:45 +00:00
spx
92eafce2dc Disabled the DLL_THREAD_ATTACH and DLL_THREAD_DETACH notification calls in all DLLs.
DisableThreadLibraryCalls Function
http://msdn.microsoft.com/en-us/library/ms682579.aspx
Note: Do not call "DisableThreadLibraryCalls" in a DLL which is statically linked to the CRT
http://support.microsoft.com/kb/555563/en-us

For plugin author:
If you need to implement DllMain entry point yourself, get rid of the #include "DisableThreadLibraryCalls.h" line.
2011-01-30 09:31:41 +00:00
Birunthan Mohanathas
2aa4d62278 Defined _CRT_SECURE_NO_WARNINGS. 2011-01-27 19:24:09 +00:00
spx
e246e6d6bf Fixed an issue that WebParser causes an infinite loop of downloading in some cases when FinishAction contains !RainmeterUpdate. 2011-01-07 08:18:20 +00:00
Birunthan Mohanathas
afee54a02f Removed MBM5 plugin from build.
Added FolderInfo plugin into build.
Moved pcre-8.10 from Plugins\PluginWebParser into Library\.
2010-11-15 14:38:12 +00:00
spx
77ac096f2c [Webparser]
- Fixed a issue that Download=1 doesn't work correctly in some cases.
- Added [Measure]-name to log messages.
2010-09-21 14:13:43 +00:00
spx
df146e4eb4 Code cleanup & cosmetic. 2010-09-17 08:47:22 +00:00
spx
1343a3ae9e [WebParser] Added new character entity ' 2010-09-09 09:59:30 +00:00
spx
e29b2a2d4b [WebParser]
- Added new option for decoding Character references.

DecodeCharacterReference
Set to 0 : Does nothing. (default)
Set to 1 : Decodes both numeric character references and character entity references.
Set to 2 : Decodes only numeric character references.
Set to 3 : Decodes only character entity references.

- Replaced CreateThread() to _beginthreadex() to fix minor memory leak.
- Fixed the issue that UpdateRate is set to 0 if UpdateRate= is set.
2010-08-31 19:49:47 +00:00
spx
5b7a985a7e - [WebParser] Fixed minor memory leak.
- [WebParser] Modified the routine which finds the Rainmeter window.
2010-08-24 20:23:22 +00:00
spx
080b68fe17 [WebParser] Fixed the issue that Rainmeter crashes if RegExp is invalid. 2010-08-19 09:24:25 +00:00
spx
46b19fbd73 - Now able to use single quote as quotes in Substitute. Reverted r510, r511.
- [WebParser] Updated PCRE library 6.4 to 8.10.
2010-08-18 07:28:55 +00:00
spx
bfa3bdc508 Additional fix for r500. 2010-08-10 12:21:46 +00:00
spx
ab04c130eb Fixed the issue that old StringIndex results remain if the number of RegExp results is less than StringIndex. 2010-08-10 10:51:19 +00:00
spx
ee8d4867c2 - FIXED: inconsistent numerical value via DynamicVariables (issue 130)
- FIXED: Problem with WebParser and "local files" with Cyrillic chars in the path. (issue 139)
- The coded character set of the logfile is changed to UTF-8. (ccs=UTF-8)
  http://msdn.microsoft.com/en-us/library/yeby3zcb%28VS.80%29.aspx
- "MS Shell Dlg 2" is now used for the ABOUT dialog box.
  http://support.microsoft.com/kb/282187
2010-02-03 08:01:50 +00:00
spx
5ae810d00a [WebParser]
Solved problems:

    * Multiple files of the same file name cannot be downloaded. (Issue 132)
    * The file including the character that cannot be used for the filename cannot be downloaded. (Issue 13)
    * As for the same file downloaded from the same URL, cache is not cleared and the file is not updated until the skin is restarted. (Issue 87)
    * Some kinds of files cannot be downloaded in Windows in which IE of an old version is installed. (because API used in WebParser depends on IE)

--------------------

Added new "Download" option:
The user can now download the file to the "DownloadFile" folder in a current skin folder as a file name defined in "DownloadFile=...".
If you define it as "DownloadFile=image.jpg", a "DownloadFile" folder will be created in the current skin path then the downloaded file is saved as "image.jpg"
Since this file is not a temporary file, it is not deleted even if it close a skin. And, when the refresh of skin or update of Webparser, the file will be overwrited by the latest file.
The user can also make the subfolder in the "DownloadFile" folder. If you define as "DownloadFile=photo\image.jpg", the subfolder "photo" is created and a file is saved in it.

As for specification of path, it is not possible to specify by the absolute path and also specification to the outside of a "DownloadFile" folder is not possible. It means that save of a file is limited to under the "DownloadFile" directory, and this does not permit save to other directories. This limitation is the measures that considered security.

Valid specification examples:

    * DownloadFile=filename.jpg
    * DownloadFile=subfolder\filename.jpg

these specification is invalid:

    * DownloadFile=C:\foo\filename.jpg
    * DownloadFile=#CURRENTPATH#filename.jpg
    * DownloadFile=..\filename.jpg
2010-01-12 21:45:47 +00:00
spx
cc3ad487a7 * Changed the way to get the information of the multiple display monitors.
This change brings the order of monitors close to the order of "Display Properties" due to using EnumDisplayDevices and EnumDisplaySettings instead of EnumDisplayMonitors. (If EnumDisplayDevices failed, EnumDisplayMonitors is used as before.)

-----

* Added the "Display Monitor" submenu in [Skins Menu]-[Position].

These menus convert the present position to the relative position from the specified monitor.
(But the meter window doesn't move to the specified monitor area immediately. Only converts.)

- "Use default: Primary monitor" removes the @-directive from WindowX/Y.
- @0(@1, @2, ...) adds the specified monitor number to WindowX/Y. @0 means "The Virtual Screen". (http://msdn.microsoft.com/en-us/library/dd145136%28VS.85%29.aspx)
- If "Auto-select based on window position" is checked, the WindowX and WindowY "@n" settings are made automatically based on the position of the meter's window. If a monitor is selected directly using "Display Monitor" in the Rainmeter / skin context menu, this menu is unchecked. This setting can be manually made in either the [Rainmeter] (all configs) or individual config sections of Rainmeter.ini.

AutoSelectScreen
If set to 1, the WindowX and WindowY "@n" settings are made automatically based on the position of the meter's window. If a monitor is selected directly using "Display Monitor" in the Rainmeter / skin context menu, this setting is reset to 0.

-----

* Added the variables for multiple display monitors and the virtual screen.
All X/Y positions are represented in the virtual screen coordinates.

The following variables are for the virtual screen.

 #VSCREENAREAX# is the X-position of the left-side of the virtual screen.
 #VSCREENAREAY# is the Y-position of the top-side of the virtual screen.
 #VSCREENAREAWIDTH# is the width of the virtual screen.
 #VSCREENAREAHEIGHT# is the height of the virtual screen.

The following variables are for the PRESENT monitor.
Note that these variables automatically change by the WindowX and WindowY "@n" settings. If "@n" is not set, these variables return the value of the primary monitor.

 #WORKAREAX# is the X-position of the left-side of the work area.
 #WORKAREAY# is the Y-position of the top-side of the work area.
 #WORKAREAWIDTH# is the width of the work area.
 #WORKAREAHEIGHT# is the height of the work area.
 #SCREENAREAX# is the X-position of the left-side of the monitor screen.
 #SCREENAREAY# is the Y-position of the top-side of the monitor screen.
 #SCREENAREAWIDTH# is the width of the display resolution.
 #SCREENAREAHEIGHT# is the height of the display resolution.

The following variables are for the PRIMARY monitor.

 #PWORKAREAX# is the X-position of the left-side of the work area.
 #PWORKAREAY# is the Y-position of the top-side of the work area.
 #PWORKAREAWIDTH# is the width of the work area.
 #PWORKAREAHEIGHT# is the height of the work area.
 #PSCREENAREAX# is the X-position of the left-side of the monitor screen. (maybe, always 0)
 #PSCREENAREAY# is the Y-position of the top-side of the monitor screen. (maybe, always 0)
 #PSCREENAREAWIDTH# is the width of the display resolution.
 #PSCREENAREAHEIGHT# is the height of the display resolution.

The following variables are for the SPECIFIED monitor. (@n = @1, @2, ...)

 #WORKAREAX@n# is the X-position of the left-side of the work area.
 #WORKAREAY@n# is the Y-position of the top-side of the work area.
 #WORKAREAWIDTH@n# is the width of the work area.
 #WORKAREAHEIGHT@n# is the height of the work area.
 #SCREENAREAX@n# is the X-position of the left-side of the monitor screen.
 #SCREENAREAY@n# is the Y-position of the top-side of the monitor screen.
 #SCREENAREAWIDTH@n# is the width of the display resolution.
 #SCREENAREAHEIGHT@n# is the height of the display resolution.

-----

* Other related changes:

- Fixed the problem that the primary monitor isn't recognized correctly.

- Fixed the problem that the information of the multiple display monitors is refreshed excessively.

- For DynamicVariables, when display setting or workarea size has been changed, all variables are now updated to apply changed WORKAREA/SCREENAREA variables.

- Fixed the problem that the "On Desktop" window isn't dragged correctly when the top-left corner of the virtual screen has negative coordinates.

- Changed the way to stick the "On Desktop" window. ("SysListView32/FolderView" is used instead of "Progman/Program Manager".)

-----

* Other changes:

- When the meter window is draggable and isn't dragged, LeftMouseUpAction is now executed.

- Added MouseDoubleClickAction (LeftMouseDoubleClickAction, RightMouseDoubleClickAction, MiddleMouseDoubleClickAction). If MouseDoubleClickAction is empty when mouse button is double-clicked, MouseDownAction is executed instead.

- Fixed the problem that the Meter's hit-test code checks outside the area.

- Changed the way to set the #CURRENTCONFIG#. (CMeterWindow::GetSkinName() is now used instead of parsing the path.)
2009-12-18 05:58:37 +00:00
jsmorley
dd1369c440 Added MattKing's code to allow a user to set the path and name of the text file to have Debug=2 write to. This will allow persistence for html files retrieved by WebParser, so they can be parsed as a local file as needed.
Usage:

[WebParserMeasure]
Debug2File="[path\]Filename.ext"
Debug=2

Examples:

[WebParserMeasure]
Debug2File="Debug2File.txt" (saves to current skin folder)
Debug=2

[WebParserMeasure]
Debug2File="#SKINSPATH#DebugFiles\Debug2File.txt" (saves to 
\DebugFiles under the \Skins folder)
Debug=2

Notes:

Must be enclosed in quotes.

Must include at least a filename.  Path alone will not work.

Must be a directory which already exists.  Does not create the target directory.

If the Debug2File= parameter is not used, WebParser will save webparserdbump.txt in the root of C: as it always has.
2009-09-21 17:02:48 +00:00
spx
f8bd5fb2eb A silly mistake on r217 was fixed. 2009-09-20 08:53:28 +00:00
spx
9d96ec61c1 - Fixed: Multibang [] not assumed when [Measure] is replaced in CConfigParser::ReadString().
- Minor changes of ConvertToXXX(): Get an appropriate buffer size to convert the string. And using [] when deleting arrays.
- Fixed a few memory leaks.
- It's now possible to send the !BANG command when all windows are "On Desktop". (Rainmeter.exe and WebParser)
2009-09-12 11:11:40 +00:00