Commit Graph

335 Commits

Author SHA1 Message Date
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
Kimmo Pekkola
5d3d148b46 PowerPlugin could unload the powrprof.dll even if some other skin was still using it. Fixed. 2009-11-01 10:00:12 +00:00
jsmorley
6b760ac3cd New 1.9 version of WiFiStatus plugin by nvme, including changes to the manual. 2009-10-10 20:25:00 +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
Kimmo Pekkola
71c1d052a7 The relative coordinates got broken by the previous changes. They should be fixed now.
Changed the meter bangs to case insensitive.
2009-09-19 07:15: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
Kimmo Pekkola
8d6fd32613 Added couple of NULL checks for the iTunesPlugin. 2009-08-14 16:06:42 +00:00
Kimmo Pekkola
425e0c7b15 Applied the new changes to the correct version of the iTunesPlugin. 2009-08-12 16:14:17 +00:00
kenz0
cf8bb22e3a Fix ToggleiTunes command 2009-08-11 04:44:11 +00:00
jsmorley
7c3c4e1bf1 2009-08-10 19:48:27 +00:00
Kimmo Pekkola
428669287a The iTunes artwork path is now relative to the current skin's ini folder. 2009-08-04 09:20:22 +00:00
Kimmo Pekkola
9cc9310ad8 iTunes is not opened automatically anymore when Rainmeter starts because it caused flickering in Rainmeter's windows. 2009-08-02 08:35:00 +00:00
Kimmo Pekkola
f097a7d71d Added the PluginWifiStatus to the project. 2009-07-31 07:53:33 +00:00
Kimmo Pekkola
3c98bd5de4 Fixed the crash bug in the iTunesPlugin. 2009-07-30 20:31:52 +00:00
Kimmo Pekkola
86f75fe243 EmptyBinSilent !bang should be silent now. 2009-07-30 20:15:10 +00:00
Kimmo Pekkola
7440667743 New build-in variables: #WORKAREAWIDTH#, #WORKAREAHEIGHT#, #SCREENAREAWIDTH#, #SCREENAREAHEIGHT#
Added support for math formulas for the X, Y, W, H, WindowX and WindowY (e.g. "WindowX=(#WORKAREAWIDTH# / 2)"). The formula must be surrounded by parenthesis.
2009-07-30 15:19:47 +00:00
Kimmo Pekkola
c42e61b4de Added elestel's iTunes plugin to the project. 2009-07-30 07:49:58 +00:00
Kimmo Pekkola
b5618bfb92 Quote plugin caused crash if the file was empty. Fixed. 2009-07-27 20:06:07 +00:00
Kimmo Pekkola
b3fc191b58 ASysInfo plugin can show Vista and Win7 in OS_VERSION.
Added OS_BITS to the SysInfo plugin.
2009-07-27 11:52:07 +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
gschoppe
dffcaab6d9 This is the April 21 update to recycle manager, long overdue for commit 2009-06-25 02:17:56 +00:00
kbuffington
9b30effafd Fixed a potential crash in SCREEN_WIDTH & SCREEN_HEIGHT when not passing a SysInfoData. 2009-04-29 16:22:02 +00:00
Brian Todoroff
2f96eeed10 -Fixed issue 7 by adding extended range of data for IP_ADDRESS in SysInfo.dll. 0-999 works as before and selects the installed interface. 1000-1999 will select only the active interfaces. 2009-04-13 05:45:08 +00:00
kbuffington
d592a189e9 Added a bunch of new SysInfoTypes. 2009-04-11 00:04:19 +00:00
Kimmo Pekkola
fe5c131833 Added recycle manager to the solution. 2009-04-05 13:12:26 +00:00
Kimmo Pekkola
2d2247d3d8 Upgraded the project to VC 2008. 2009-03-21 09:35:03 +00:00
Kimmo Pekkola
b4b2d3b9b0 Free disk space can be read from the removable drives too.
Size and count were reversed in the recycle manager. Fixed.
2009-03-10 17:32:35 +00:00
Kimmo Pekkola
6706010d1f New plugin: RecycleManager 2009-03-08 17:03:08 +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