Hi,WinSparkle asks the user for update checks at application start, but it doesn't perform these checks.
It just saves the users answer in a registry entry.We need to read this entry and then perform the check if choosen by the user.
Thomas
>From 684198b1480eb8cd0b18b0a462309ab2678e9d85 Mon Sep 17 00:00:00 2001 From: Thomas Arp <manner.moe@gmx.de> Date: Sun, 27 Jan 2013 16:30:43 +0100 Subject: [PATCH 4/4] check for updates at application start if the user applied to this winsparkle option --- qhimdtransfer/qhimdmainwindow.cpp | 2 -- qhimdtransfer/qhimdwinupdate.cpp | 9 +++++++++ 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/qhimdtransfer/qhimdmainwindow.cpp b/qhimdtransfer/qhimdmainwindow.cpp index 70494ab..ed64bb2 100644 --- a/qhimdtransfer/qhimdmainwindow.cpp +++ b/qhimdtransfer/qhimdmainwindow.cpp @@ -400,8 +400,6 @@ QHiMDMainWindow::QHiMDMainWindow(QWidget *parent) ui->statusBar->showMessage(" autodetection disabled", 10000); update = createUpdate(); ui->action_Update->setEnabled(update->is_active()); - if(update->is_active()) - update->check_for_updates(); } QHiMDMainWindow::~QHiMDMainWindow() diff --git a/qhimdtransfer/qhimdwinupdate.cpp b/qhimdtransfer/qhimdwinupdate.cpp index cae25dd..bbce050 100644 --- a/qhimdtransfer/qhimdwinupdate.cpp +++ b/qhimdtransfer/qhimdwinupdate.cpp @@ -1,4 +1,5 @@ #include "qhimdupdate.h" +#include <QSettings> /* a sample appcast rss feed for qhimdtransfer can be found on my web server for testing * TODO: create release notes html site, so winsparkle can display it if an update is available @@ -24,6 +25,7 @@ QHiMDUpdate * createUpdate() QHiMDWinUpdate::QHiMDWinUpdate() { + QSettings s; wchar_t org[strlen(ORG_NAME)+1], app[strlen(APP_NAME)+1], vers[strlen(VER)+1]; size_t t; @@ -36,6 +38,13 @@ QHiMDWinUpdate::QHiMDWinUpdate() win_sparkle_set_appcast_url(WIN_APPCAST_URL); win_sparkle_set_app_details(org, app, vers); win_sparkle_init(); + + /* winsparkle asks the user for automatical update checks at first start, but it does not + * perform the check. It just saves the users answer in a regirtry entry. + * Read this entry first and check for updates if choosen + */ + if(s.value("WinSparkle/CheckForUpdates", false).toBool()) + win_sparkle_check_update_with_ui(); active = true; } -- 1.8.0.msysgit.0