Print a note after a software upgrade.
authorWerner Koch <wk@gnupg.org>
Fri, 7 Mar 2008 11:30:33 +0000 (11:30 +0000)
committerWerner Koch <wk@gnupg.org>
Fri, 7 Mar 2008 11:30:33 +0000 (11:30 +0000)
ChangeLog
configure.ac
doc/gpgol.texi
src/ChangeLog
src/common.h
src/main.c
src/olflange-dlgs.cpp
src/olflange.cpp

index a992a9f..9ffab30 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2008-03-07  Werner Koch  <wk@g10code.com>
+
+       * configure.ac (SVN_REVISION): New AC_DEFINE.
+
 2008-03-06  Werner Koch  <wk@g10code.com>
 
        * doc/gpgol.texi (SIGN): Extend the SIGNER command to allow
index 9eabd01..1b15540 100644 (file)
@@ -57,6 +57,7 @@ AC_DEFINE_UNQUOTED(PACKAGE_BUGREPORT, "$PACKAGE_BUGREPORT",
                                         [Bug report address])
 AC_DEFINE_UNQUOTED(NEED_GPGME_VERSION, "$NEED_GPGME_VERSION",
                                        [Required version of GPGME])
+AC_DEFINE_UNQUOTED(SVN_REVISION, ${SVN_REVISION}, [Current SVN revision])
 
 
 BUILD_TIMESTAMP=`date --iso-8601=minutes`
index 1cc3258..5938506 100644 (file)
@@ -671,6 +671,8 @@ Tell what the filter I/O system is doing.
 Tell how the filter I/O locks the resources.
 @item 32 (0x0020)
 Tell about resource allocation.
+@item 64 (0x0040)
+Tell about command events.
 @end table
 You may use the regular C-syntax for entering the value.
 
@@ -696,6 +698,12 @@ description.
 @itemx HKCU\Software\GNU\GpgOL:preferHtml 
 These registry keys store the values from the configuration dialog.
 
+@item HKCU\Software\GNU\GpgOL:svnRevision
+When leaving GpgOL's options dialog, the SVN revision number of the current
+version will be stored in this entry.  This is used to display a note
+after software upgrades.
+
+
 @end table
 
 
index bd72721..8e26ebb 100644 (file)
@@ -1,5 +1,9 @@
 2008-03-07  Werner Koch  <wk@g10code.com>
 
+       * common.h (opt): Add field SVN_REVISION.
+       * main.c (read_options, write_options): Set it.
+       * olflange.cpp (GpgolExt): Print a warning on program update.
+
        * engine.c (struct engine_filter_s): Add field ADD_EXTRA_LF.
        (engine_request_exra_lf): New.
        (engine_wait): Implement that.
index 15b96ab..698f586 100644 (file)
@@ -130,6 +130,9 @@ struct
     unsigned int auto_decrypt: 1;   /* Try to decrypt when clicked. */
     unsigned int no_attestation: 1; /* Don't create an attestation. */
   } compat; 
+
+  /* The SVN revision as stored in the registry.  */
+  int svn_revision; 
 } opt;
 
 
index 4a642cb..c8354ae 100644 (file)
@@ -571,6 +571,10 @@ read_options (void)
   opt.prefer_html = val == NULL || *val != '1'? 0 : 1;
   xfree (val); val = NULL;
 
+  load_extension_value ("svnRevision", &val);
+  opt.svn_revision = val? atol (val) : 0;
+  xfree (val); val = NULL;
+
   /* Note, that on purpose these flags are only Registry changeable.
      The format of the entry is a string of of "0" and "1" digits; see
      the switch below for a description. */
@@ -643,6 +647,7 @@ write_options (void)
     {"defaultKey",               2, 0, opt.default_key},
     {"enableDefaultKey",         0, opt.enable_default_key},
     {"preferHtml",               0, opt.prefer_html},
+    {"svnRevision",              1, opt.svn_revision},
     {NULL, 0}
   };
   char buf[32];
index b0b5284..6b41b12 100644 (file)
@@ -1,6 +1,6 @@
 /* olflange-dlgs.cpp - New dialogs for Outlook.
  *     Copyright (C) 2001 G Data Software AG, http://www.gdata.de
- *     Copyright (C) 2004, 2005, 2006, 2007 g10 Code GmbH
+ *     Copyright (C) 2004, 2005, 2006, 2007, 2008 g10 Code GmbH
  * 
  * This file is part of GpgOL.
  * 
@@ -298,6 +298,10 @@ GPGOptionsDlgProc (HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
             opt.prefer_html = !!SendDlgItemMessage
               (hDlg, IDC_PREFER_HTML, BM_GETCHECK, 0, 0L);
 
+            /* Now that the user has confirmed the options dialog, we
+               mark the Registry with revision of this build.  */
+            opt.svn_revision = SVN_REVISION;
+
            write_options ();
            bMsgResult = PSNRET_NOERROR;
            break; }
index ade09fe..8439b79 100644 (file)
@@ -334,6 +334,15 @@ GpgolExt::GpgolExt (void)
       g_initdll = TRUE;
       log_debug ("%s:%s: first time initialization done\n",
                  SRCNAME, __func__);
+      if ( SVN_REVISION > opt.svn_revision )
+        MessageBox (NULL,
+                    _("You have installed a new version of GpgOL.\n"
+                      "\n"
+                      "Please open the option dialog and check that"
+                      " the settings are correct for your needs.  The option"
+                      " dialog can be found in the main menu at:"
+                      " Extras->Options->GpgOL.\n"),
+                      "GpgOL", MB_ICONHAND|MB_OK);
     }
 }