Commit Graph

42 Commits

Author SHA1 Message Date
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
6445e42cf6 Some housekeeping. 2011-01-28 10:00:50 +00:00
Birunthan Mohanathas
2aa4d62278 Defined _CRT_SECURE_NO_WARNINGS. 2011-01-27 19:24:09 +00:00
spx
7ae8f298f8 - Modified font caching. (Fixed an issue that LocalFont file is locked until exiting Rainmeter.)
- Disabled checked iterators in release mode. (_SECURE_SCL=0)
http://msdn.microsoft.com/en-us/library/aa985965.aspx
Note: _SECURE_SCL defaults to 0 in release mode in VC10(=VC2010).
2011-01-17 22:39:40 +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
spx
fc046ac4eb Removed /GA compiler option from DLL project files. 2010-11-15 23:43:15 +00:00
spx
d11964ddf9 - Removed "Release64|Win32" and "Release64|x64" from projects. Use "Release|Win32" (for 32-bit) and "Release|x64" (for 64-bit).
- Removed unused option from projects.
2010-11-15 20:59: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
Birunthan Mohanathas
dd3a84b5f8 Updating Illustro to 0.9.1
Cosmetic changes to .rc files
Minor changes to Rainstaller
2010-11-14 10:28:17 +00:00
Birunthan Mohanathas
0a5d07eef2 Small change to how PRODUCTVERSION is determined (thanks spx!). 2010-11-13 20:16:04 +00:00
spx
2c6272e1f4 Added _WIN64 to preprocessor for 64bit resource compiler. 2010-11-13 19:30:24 +00:00
Birunthan Mohanathas
5ff09cbd96 Adding version info to Rainmeter.dll.
Some other minor changes.
2010-11-13 14:51:58 +00:00
Birunthan Mohanathas
fa351991a5 Replaced UpdateApplicationRC.exe and UpdatePluginRC.exe with a more efficient method. 2010-11-13 12:51:20 +00:00
jsmorley
14f4a1b5a3 * Added .rc files for each of the plugins / updated the project files to use these resource files.
* This will allow a user to verify the version and architecture (x32/x64) by using the "Properties / Details" dialog in Windows Explorer on plugin dll files just as can be done today with Rainmeter.exe.
* Added a new AutoIt utility UpdatePluginRC.exe and source which will modify the new .rc files during the build to set the current Rainmeter version and the x32/x64 architecture.
* Modified the existing Build.py and UpdateRevision.py to use this new functionality (NOTE: WHEN YOU DOWNLOAD BUILD.PY, BE SURE TO CHANGE THE PATHS AT THE TOP TO YOURS)

JamesAC & JSMorley

====

* Minor change to RainThemes.au3 to address an issue where on some systems it was failing to stop Rainemter.exe properly.
2010-11-13 04:40:21 +00:00
Birunthan Mohanathas
461f8757c1 Fixed Debug x64.
Also some minor changes to the installer and Rainmeter.cpp.
2010-10-30 11:21:19 +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
cae7c84431 Fixed AdditionalDependencies for Debug. 2010-07-06 07:30:45 +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
Kimmo Pekkola
d98c79e0fc WebParser reads the resource now only if it has been modified. This can be overridden with ForceReload=1. 2009-08-19 18:07:56 +00:00
jsmorley
7c3c4e1bf1 2009-08-10 19:48:27 +00:00
Kimmo Pekkola
a7c6c939ac Skins are now read from the My Documents by default.
Added the revision number to the about dialog (use UpdateRevision.py to update it).
Added a check to the startup which verifies that the rainmeter.ini is writable.
The skin folder can be opened from the context menu.
2009-07-24 07:56:37 +00:00
Kimmo Pekkola
bf4f61f0e8 The normal release build had link error. Fixed. 2009-07-21 12:54:18 +00:00
Kimmo Pekkola
e2448f42b1 Added 64-bit compilation configuration.
The bitmap meter supports transition frames now.
Few Vista/Win7 fixes (the rainmeter.ini is now in %APPDATA%).
2009-07-21 12:26:50 +00:00
Kimmo Pekkola
2d2247d3d8 Upgraded the project to VC 2008. 2009-03-21 09:35:03 +00:00
Kimmo Pekkola
5d2f960552 Code cleanup. 2009-02-14 10:11:28 +00:00
Kimmo Pekkola
30edc895f2 2009-02-10 18:37:48 +00:00