User:Gerbrant/WikiCheck

Wikicheck is a tool designed to make checking your watchlist easier. This program was almost completely rewritten for version 2.0.0. I have tested it and it seems relatively stable, but as with all new things, it's still somewhat experimental. Let me know if things need fixing.
 * Source version: 2.0.0
 * Binary version: 2.0.0

System requirements

 * Win32
 * WebBrowser control
 * (shipped with Internet Explorer, HtmlHelp and recent versions of Windows)

Features

 * Diffs open in a new browser window.
 * Docks to the left screen edge.
 * This prevents browser windows from overlapping the list.
 * Remembers the date the list was last fetched from the server, and shows only new edits.
 * Apart from being practical, this should also decrease serverload and/or accesstimes.
 * Keeps a list of which articles have been checked and which still need to be checked.
 * You don't have to check your entire watchlist in one go.
 * For every article shown, both a full diff since the last time you edited that article or checked the list is displayed, and a list of individual edits with comments.
 * So you can save time, or inspect individual edits, depending on your needs.

Drawbacks
In order to be able to use the normal login information of the user, the Wikipedia API is queried using a hidden browser control and debugging-style API output.
 * Thus the clicking sound. Maybe the clicks can be disabled for the control. I don't want to disable them globally.
 * The API doesn't allow for plain (non-debugging) JSON to be opened in the control itself.

Important information
Please read the following sections before you use this program.

License
(I hate this part, but I have to do this.)

All contributions on Wikipedia are GFDLed, but it is not always that clear how the GFDL would apply to source code. Therefore I feel the need of providing a license designed for software, and importantly one that a) keeps the software open and b) protects me from undue litigation. I think I act in the spirit of the GFDL by adhering to the following license:

GNU General Public License version 3.0 – http://www.gnu.org/licenses/gpl-3.0.html

Tips
Here are a few tips: You may want to check the list of known bugs.
 * Only the English watchlist is supported for now.
 * If some necessary feature is missing, feel free to suggest it.
 * Scan every file you get from the net (including WikiCheck) for viruses. Things may get hijacked on the web.

Comments?
Please post bug reports at the bug reports.

Feature requests and other comments go at this page's talk page.

Compilation instructions

 * 1) Open the pages with the source code.
 * 2) Paste them in text files and give them the names indicated.
 * 3) Open "WikiCheck.frm" in Visual Basic.
 * 4) (Optional: you can safely choose an icon for the form and/or customize project settings.)
 * 5) Compile and run.

Removal instructions
Note: instead of "Project1.vbp" please use the actual filename if applicable.
 * 1) Delete the files above.
 * 2) If present, delete "WikiCheck.frx" and "Project1.vbp".
 * 3) Also delete "parts.bmp" and "parts.css".
 * 4) Delete the following registry key: "HKEY_CURRENT_USER\Software\VB and VBA Program Settings\WikiCheck".

Note: if the registry key is deleted, the program will forget the last time it checked your watchlist.

Links to source
WikiCheck.frm Contains all Windows-specific code, in particular the code that makes it dock to the left screen edge and the code that draws the close, expand and collapse buttons using the system theme.

ui.html Contains the main user interface and the script that does all the real work.

ui.css The styling of the user interface.

lang.js Localizable strings (Dutch version).

lang.js Localizable strings (English version).

Binary
Follow the same procedure as above, but instead of WikiCheck.frm, use this file:

WikiCheck.mht After you paste this in a text file, give it the extension ‘mht’. It contains a 7-Zip archive with the executable.

You may need the following runtime library:

VB40032.dll: Available from Microsoft: Vb4Run.exe Run-Time .dlls for Visual Basic 4.0 Apps