Use UpdateChecker class in win_sparkle_check_update_without_ui() in the
same way that the initial update does, so that silent check respects the
"skip this version" state.
Rationale: manual check should report the latest version even if
previously ignored, but win_sparkle_check_update_without_ui() is more
likely than not used as a replacement for the automatic checks and so
shouldn't annoy people.
See #32.
The HTML view would sometimes (but not always) show nonsense when the
text comes from <description> instead of a separate URL. Fix it by
using the same ugly gross hack that wxWebView does - set the content
twice. Ugh.
Hopefully fixes#29.
A modal message dialog is more appropriate for this situation, so use
that instead of another state of the updater window. Makes for much
simpler code as well.
There might be cases where the application would want to check for
updates manually. This would override the users request to not perform
update checks, if that is enabled, so should be used with care.
Add in_sparkle_check_update_without_ui() for this purpose. It is not
completely UI-less, as it still shows the "update available" window, but
it doesn't show any UI unless there actually is an update.
Instead of polling the host app for termination we now just display a
message to the user saying that we were unable to shutdown the
application at this time and presenting them with a retry button. If the
application isn't ready when the user presses the retry button nothing
happens. Otherwise we launch the installer and terminate the host.
Now we continuously poll the host if it's ready to terminate (every .5
second) in a thread while displaying an indefinite progressbar to the
user and telling him that we are waiting for the host to terminate.
You can now set up winsparkle with two callbacks:
ShutDownPollCallback and ShutDownRequestCallback.
ShutDownPollCallback asks the application if it's ready to shut down
ShutDownRequestCallback shuts down the application.
These can be set by implementing the functions and calling
win_sparkle_set_shutdown_poll_callback(&shutDownPollCallback);
win_sparkle_set_shutdown_request_callback(&shutDownRequestCallback);
If this is not set, WinSparkle will not try to shut down the host.