[git] GpgEX - branch, master, updated. gpgex-1.0.5-3-g4fbbd13

by Andre Heinecke cvs at cvs.gnupg.org
Thu Mar 29 12:03:12 CEST 2018


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GnupG extension for the Windows Explorer".

The branch, master has been updated
       via  4fbbd134b865b1203b1914eb1623fa65aab8cb75 (commit)
      from  1f6817197c17c1bd92b7547860b4a8119774f902 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 4fbbd134b865b1203b1914eb1623fa65aab8cb75
Author: Andre Heinecke <aheinecke at intevation.de>
Date:   Thu Mar 29 11:59:19 2018 +0200

    Use PNG icon and update to modern GpgEX icon
    
    * src/bitmaps.cc, src/bitmaps.h: Removed.
    * src/gpgex.cc (getBitmap, getBitmapCached, setupContextMenuIcon):
    New.
    (gpgex_t::QueryContextMenu): Use new helpers.
    * src/Makefile.am: Update accordingly.
    * src/gpgex.h: Rmeove bitmap code.
    * src/icon*.bmp: Removed.
    * src/standalone.svg, src/gpgex_logo.svg: New.
    * src/versioninfo.rc.in: Update accordingly.
    
    --
    This fixes white background uglyness and should be more flexible
    in the future to just update an image by using a PNG.
    
    GnuPG-Bug-Id: T3851

diff --git a/po/pt.po b/po/pt.po
index 9486899..697ecc4 100644
--- a/po/pt.po
+++ b/po/pt.po
@@ -17,7 +17,6 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "X-Poedit-SourceCharset: UTF-8\n"
 "X-Generator: Poedit 2.0.4\n"
-"POT-Creation-Date: \n"
 
 #, c-format
 msgid ""
diff --git a/src/Makefile.am b/src/Makefile.am
index d7dfe7a..54329a8 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -13,14 +13,14 @@
 
 bin_PROGRAMS = gpgex
 EXTRA_DIST = versioninfo.rc.in gpgex.manifest.in \
-	     GNU.GnuPG.Gcc64Support.manifest gnupg.ico
+	     GNU.GnuPG.Gcc64Support.manifest gnupg.ico \
+	     gpgex_logo.svg standalone.svg
 EXEEXT = .dll
 
 AM_CFLAGS = $(LIBASSUAN_CFLAGS) $(GPG_ERROR_CFLAGS) -shared
 AM_CXXFLAGS = $(LIBASSUAN_CFLAGS) $(GPG_ERROR_CFLAGS) -shared
 
-ICONS = icon-key-12.bmp icon-key-16.bmp     \
-        icon-lock-12.bmp  icon-lock-16.bmp
+ICONS = icon-16.png
 
 nodist_gpgex_SOURCES = versioninfo.rc gpgex.manifest
 gpgex_SOURCES = 				\
@@ -29,10 +29,10 @@ gpgex_SOURCES = 				\
 	exechelp.h exechelp.c			\
 	gpgex-class.h gpgex-class.cc		\
 	gpgex-factory.h gpgex-factory.cc	\
-	bitmaps.h bitmaps.cc			\
 	gpgex.h gpgex.cc			\
 	client.h client.cc			\
 	main.h debug.h main.cc				\
+	resource.h \
 	$(ICONS)
 
 libgpg-error.a:
@@ -50,7 +50,7 @@ clean-local:
 gpgex_LDFLAGS = -static-libgcc -static-libstdc++
 # We need -loleaut32 for start_help() in gpgex.cc.
 gpgex_LDADD = $(srcdir)/gpgex.def -L . \
-	-lshell32 -lgdi32 -lole32 -luuid \
+	-lshell32 -lgdi32 -lole32 -luuid -lgdiplus \
 	./libassuan.a ./libgpg-error.a -lws2_32 -loleaut32
 
 .rc.o:
diff --git a/src/bitmaps.cc b/src/bitmaps.cc
deleted file mode 100644
index 4928412..0000000
--- a/src/bitmaps.cc
+++ /dev/null
@@ -1,94 +0,0 @@
-/* bitmaps.cc - gpgex bitmap implementation
-   Copyright (C) 2007 g10 Code GmbH
-
-   This file is part of GpgEX.
-
-   GpgEX is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2 of the License, or (at your option) any later version.
-
-   GpgEX is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-   GNU Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-   02110-1301, USA.  */
-
-#if HAVE_CONFIG_H
-#include <config.h>
-#endif
-
-#include <string>
-#include <sstream>
-
-using std::string;
-
-#include <windows.h>
-
-#include "main.h"
-
-#include "bitmaps.h"
-
-

-/* The size of the icons.  */
-int gpgex_bitmaps_t::size;
-
-/* The available bitmap sizes in ascending order.  */
-int gpgex_bitmaps_t::available_sizes[] = { 12, 16 };
-
-

-/* The global singleton object.  */
-class gpgex_bitmaps_t gpgex_bitmaps;
-
-

-gpgex_bitmaps_t::gpgex_bitmaps_t (void)
-{
-  /* Note about bitmaps: The required size is given by
-     GetSystemMetrics and can vary depending on the display size.  A
-     typical value is 12x12.  The color depth should be 8 bits.  The
-     upper left corner pixel color is replaced by transparent
-     automatically.  */
-  int width = GetSystemMetrics (SM_CXMENUCHECK);
-  int height = GetSystemMetrics (SM_CYMENUCHECK);
-
-  /* All our images are square, so take the minimum and look for the
-     biggest available size that fits in there.  */
-  int max_size = (width < height) ? width : height;
-
-  for (unsigned int i = 0; i < (sizeof (this->available_sizes)
-				/ sizeof (this->available_sizes[0])); i++)
-    if (max_size >= this->available_sizes[i])
-      this->size = this->available_sizes[i];
-    else
-      break;
-
-  (void) TRACE3 (DEBUG_INIT, "gpgex_bitmaps_t::gpgex_bitmaps_t", this,
-		 "GetSystemMetrics: %ix%i (using %i)", width, height,
-		 this->size);
-}
-
-
-/* Load the bitmap with name NAME.  */
-HBITMAP gpgex_bitmaps_t::load_bitmap (string name)
-{
-  HBITMAP bmap;
-  std::ostringstream out;
-
-  out << name << "_" << this->size;
-  bmap = LoadBitmap (gpgex_server::instance, out.str().c_str());
-  if (bmap == NULL)
-    (void) TRACE2 (DEBUG_INIT, "gpgex_bitmaps_t::load_bitmap", this,
-		   "LoadImage %s failed: ec=%x",
-		   out.str().c_str(), GetLastError ());
-  else
-    (void) TRACE1 (DEBUG_INIT, "gpgex_bitmaps_t::load_bitmap", this,
-		   "loaded image %s", out.str().c_str());
-
-  /* FIXME: Create cache of images.  */
-  return bmap;
-}
-
diff --git a/src/gpgex.cc b/src/gpgex.cc
index 84e9901..bdac2d0 100644
--- a/src/gpgex.cc
+++ b/src/gpgex.cc
@@ -25,11 +25,15 @@
 #include <vector>
 #include <string>
 #include <stdexcept>
+#include <map>
 
 using std::vector;
 using std::string;
 
 #include <windows.h>
+#include <gdiplus.h>
+#include <olectl.h>
+#include <objidl.h>
 
 /* For the start_help() function.  */
 #include <exdisp.h>
@@ -40,6 +44,8 @@ using std::string;
 
 #include "gpgex.h"
 
+#include "resource.h"
+
 

 /* For context menus.  */
 #define ID_CMD_HELP		0
@@ -235,6 +241,126 @@ gpgex_t::Initialize (LPCITEMIDLIST pIDFolder, IDataObject *pDataObj,
   return TRACE_RES (err);
 }
 
+static HBITMAP
+getBitmap (int id)
+{
+  TRACE_BEG0 (DEBUG_CONTEXT_MENU, __func__, nullptr, "get bitmap");
+  PICTDESC pdesc;
+  Gdiplus::GdiplusStartupInput gdiplusStartupInput;
+  Gdiplus::Bitmap* pbitmap;
+  ULONG_PTR gdiplusToken;
+  HRSRC hResource;
+  DWORD imageSize;
+  const void* pResourceData;
+  HGLOBAL hBuffer;
+
+  memset (&pdesc, 0, sizeof pdesc);
+  pdesc.cbSizeofstruct = sizeof pdesc;
+  pdesc.picType = PICTYPE_BITMAP;
+
+  /* Initialize GDI */
+  gdiplusStartupInput.DebugEventCallback = NULL;
+  gdiplusStartupInput.SuppressBackgroundThread = FALSE;
+  gdiplusStartupInput.SuppressExternalCodecs = FALSE;
+  gdiplusStartupInput.GdiplusVersion = 1;
+  GdiplusStartup (&gdiplusToken, &gdiplusStartupInput, NULL);
+
+  /* Get the image from the resource file */
+  hResource = FindResource (gpgex_server::instance, MAKEINTRESOURCE(id), RT_RCDATA);
+  if (!hResource)
+    {
+      TRACE1 (DEBUG_CONTEXT_MENU, __func__, nullptr, "Failed to find id: %i",
+                  id);
+      return nullptr;
+    }
+
+  imageSize = SizeofResource (gpgex_server::instance, hResource);
+  if (!imageSize)
+    {
+      TRACE1 (DEBUG_CONTEXT_MENU, __func__, nullptr, "WTF: %i",
+                  __LINE__);
+      return nullptr;
+    }
+
+  pResourceData = LockResource (LoadResource (gpgex_server::instance, hResource));
+
+  if (!pResourceData)
+    {
+      TRACE1 (DEBUG_CONTEXT_MENU, __func__, nullptr, "WTF: %i",
+                  __LINE__);
+      return nullptr;
+    }
+
+  hBuffer = GlobalAlloc (GMEM_MOVEABLE, imageSize);
+
+  if (hBuffer)
+    {
+      void* pBuffer = GlobalLock (hBuffer);
+      if (pBuffer)
+        {
+          IStream* pStream = NULL;
+          CopyMemory (pBuffer, pResourceData, imageSize);
+
+          if (CreateStreamOnHGlobal (hBuffer, FALSE, &pStream) == S_OK)
+            {
+              pbitmap = Gdiplus::Bitmap::FromStream (pStream);
+              pStream->Release();
+              if (!pbitmap || pbitmap->GetHBITMAP (0, &pdesc.bmp.hbitmap))
+                {
+                  TRACE1 (DEBUG_CONTEXT_MENU, __func__, nullptr, "WTF: %i",
+                  __LINE__);
+                  return nullptr;
+                }
+            }
+        }
+      GlobalUnlock (pBuffer);
+    }
+  GlobalFree (hBuffer);
+
+  Gdiplus::GdiplusShutdown (gdiplusToken);
+
+  return pdesc.bmp.hbitmap;
+}
+
+static HBITMAP
+getBitmapCached (int id)
+{
+  static std::map<int, HBITMAP> s_id_map;
+
+  const auto it = s_id_map.find (id);
+  if (it == s_id_map.end ())
+    {
+      const HBITMAP icon = getBitmap (id);
+      s_id_map.insert (std::make_pair (id, icon));
+      return icon;
+    }
+  return it->second;
+}
+
+static bool
+setupContextMenuIcon (int id, HMENU hMenu, UINT indexMenu)
+{
+  TRACE_BEG2 (DEBUG_CONTEXT_MENU, __func__, nullptr, "Start. menu: %p index %u",
+              hMenu, indexMenu);
+  int width = GetSystemMetrics (SM_CXMENUCHECK);
+  int height = GetSystemMetrics (SM_CYMENUCHECK);
+
+  TRACE2 (DEBUG_CONTEXT_MENU, __func__, nullptr, "width %i height %i",
+          width, height);
+
+  HBITMAP bmp = getBitmapCached (id);
+
+  if (!bmp)
+    {
+      TRACE1 (DEBUG_CONTEXT_MENU, __func__, nullptr, "WTF: %i",
+              __LINE__);
+      return false;
+    }
+
+  return SetMenuItemBitmaps (hMenu, indexMenu - 1, MF_BYPOSITION,
+                             bmp, bmp);
+}
+
 

 /* IContextMenu methods.  */
 
@@ -304,12 +430,8 @@ gpgex_t::QueryContextMenu (HMENU hMenu, UINT indexMenu, UINT idCmdFirst,
       return TRACE_RES (HRESULT_FROM_WIN32 (last_error));
     }
 
-  if (this->key_bitmap)
-    {
-      // indexMenu - 1!!!
-      res = SetMenuItemBitmaps (hMenu, indexMenu - 1, MF_BYPOSITION,
-				this->key_bitmap, this->key_bitmap);
-    }
+  res = setupContextMenuIcon (IDI_ICON_16, hMenu, indexMenu);
+
   if (res)
     res = InsertMenu (hMenu, indexMenu++, MF_BYPOSITION | MF_SEPARATOR,
 		      0, NULL);
diff --git a/src/gpgex.h b/src/gpgex.h
index 6402dce..9f5e5e0 100644
--- a/src/gpgex.h
+++ b/src/gpgex.h
@@ -30,8 +30,6 @@ using std::string;
 #include <windows.h>
 #include <shlobj.h>
 
-#include "bitmaps.h"
-
 /* Our shell extension interface.  We use multiple inheritance to
    achieve polymorphy.
 
@@ -88,9 +86,6 @@ class gpgex_t : public IShellExtInit, public IContextMenu3
   /* TRUE if all files in filenames are directly related to GPG.  */
   BOOL all_files_gpg;
 
-  /* Support for the context menu.  */
-  HBITMAP key_bitmap;
-
  public:
   /* Constructors and destructors.  For these, we update the global
      component reference counter.  */
@@ -101,8 +96,6 @@ class gpgex_t : public IShellExtInit, public IContextMenu3
 
       gpgex_server::add_ref ();
 
-      this->key_bitmap = gpgex_bitmaps.load_bitmap ("Lock");
-
       (void) TRACE_SUC ();
     }
 
@@ -110,9 +103,6 @@ class gpgex_t : public IShellExtInit, public IContextMenu3
     {
       TRACE_BEG (DEBUG_INIT, "gpgex_t::~gpgex_t", this);
 
-      if (this->key_bitmap != NULL)
-	DeleteObject (this->key_bitmap);
-
       gpgex_server::release ();
 
       (void) TRACE_SUC ();
diff --git a/src/gpgex_logo.svg b/src/gpgex_logo.svg
new file mode 100644
index 0000000..149047f
--- /dev/null
+++ b/src/gpgex_logo.svg
@@ -0,0 +1,191 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   id="Ebene_1"
+   data-name="Ebene 1"
+   viewBox="0 0 237.54922 153.26009"
+   version="1.1"
+   inkscape:version="0.48.3.1 r9886"
+   width="100%"
+   height="100%"
+   sodipodi:docname="GpgEX finnished Logo.svg">
+  <metadata
+     id="metadata47">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title>GpgEX finnished Logo</dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="1680"
+     inkscape:window-height="993"
+     id="namedview45"
+     showgrid="false"
+     inkscape:zoom="1.2281081"
+     inkscape:cx="83.154878"
+     inkscape:cy="-78.285513"
+     inkscape:window-x="-3"
+     inkscape:window-y="-3"
+     inkscape:window-maximized="1"
+     inkscape:current-layer="Ebene_1"
+     fit-margin-top="8"
+     fit-margin-left="10"
+     fit-margin-right="10"
+     fit-margin-bottom="5">
+    <inkscape:grid
+       type="xygrid"
+       id="grid3061"
+       empspacing="5"
+       visible="true"
+       enabled="true"
+       snapvisiblegridlinesonly="true"
+       originx="9.9995072px"
+       originy="4.3963347px" />
+  </sodipodi:namedview>
+  <defs
+     id="defs3">
+    <style
+       id="style5">.cls-1{fill:#1f8fcf;}.cls-2{fill:#fff;}.cls-3{fill:#3d3d3b;}.cls-4{fill:#1f90cf;}.cls-5{fill:#3d3c3b;}.cls-6{fill:#1f8ece;}</style>
+  </defs>
+  <title
+     id="title7">GpgEX finnished Logo</title>
+  <path
+     class="cls-7"
+     d="m 178.54922,68.424571 v 36.779999 h 19.4 v -5.56 h -12.66 V 88.964571 h 10.57 v -5.56 h -10.57 v -9.4 h 12.61 v -5.58 h -19.35 z m 40.63,0 -4.92,13 h -0.14 l -4.84,-13 h -7.73 l 8.62,18.24 -8.81,18.539999 h 7.79 l 5.06,-13.289999 h 0.14 l 5.08,13.289999 h 8.12 l -9.17,-18.539999 8.6,-18.24 h -7.76 z"
+     id="path69"
+     inkscape:connector-curvature="0"
+     style="fill:#1f90cf" />
+  <path
+     style="fill:#3d3c3b"
+     class="cls-5"
+     d="M 218.89,140.51"
+     id="path85"
+     inkscape:connector-curvature="0" />
+  <polygon
+     id="polygon3893"
+     points="418.14,454.82 418.14,428.92 366.33,428.92 366.33,503.4 444.05,503.4 444.05,454.82 418.14,454.82 "
+     class="cls-1"
+     transform="matrix(1.0441536,0,0,1,-372.50479,-360.94)"
+     style="fill:#1f8fcf" />
+  <polygon
+     id="polygon3895"
+     points="421.38,428.9 421.38,451.58 444.03,451.58 421.38,428.9 "
+     class="cls-1"
+     transform="matrix(1.0441536,0,0,1,-372.50479,-360.94)"
+     style="fill:#1f8fcf" />
+  <rect
+     id="rect3897"
+     height="8.5299997"
+     width="34.843403"
+     y="82.329987"
+     x="22.247902"
+     class="cls-2"
+     style="fill:#ffffff" />
+  <rect
+     id="rect3899"
+     height="8.5299997"
+     width="56.551357"
+     y="102.45001"
+     x="22.352324"
+     class="cls-2"
+     style="fill:#ffffff" />
+  <rect
+     id="rect3901"
+     height="8.5299997"
+     width="56.467827"
+     y="121.82001"
+     x="22.352324"
+     class="cls-2"
+     style="fill:#ffffff" />
+  <path
+     id="path3903"
+     d="m 15.711502,43.31 v 20.72 h 14.87919 V 43.31 c 0,-11.35 8.990162,-20.58 20.037307,-20.58 11.047145,0 20.037308,9.23 20.037308,20.58 V 64.03 H 85.534054 V 43.31 c 0,-19.47 -15.662304,-35.3099998 -34.895613,-35.3099998 h 0 C 31.39469,8.0000002 15.732385,23.84 15.732385,43.31"
+     class="cls-3"
+     inkscape:connector-curvature="0"
+     style="fill:#3d3d3b" />
+  <g
+     transform="matrix(1.2069615,0,0,1.2836039,-1215.4117,-80.113099)"
+     style="font-size:40px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0.30000001px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#3d3d3b;fill-opacity:1;stroke:none;font-family:Roboto Condensed;-inkscape-font-specification:'Roboto Condensed, Bold'"
+     id="flowRoot3905">
+    <path
+       d="m 1110.6414,141.23568 c -0.2995,0.32552 -0.7031,0.69661 -1.2109,1.11328 -0.5079,0.41667 -1.1459,0.8138 -1.9141,1.1914 -0.7552,0.36459 -1.6471,0.67058 -2.6758,0.91797 -1.0286,0.26042 -2.2135,0.39063 -3.5547,0.39063 -1.5885,0 -3.0208,-0.2474 -4.2968,-0.74219 -1.2761,-0.49479 -2.3698,-1.24349 -3.2813,-2.24609 -0.9114,-1.0026 -1.6146,-2.26562 -2.1094,-3.78907 -0.4817,-1.53645 -0.7226,-3.33983 -0.7226,-5.41015 l 0,-4.80469 c 0,-2.07029 0.2344,-3.86717 0.7031,-5.39062 0.4688,-1.53644 1.1328,-2.81248 1.9922,-3.82813 0.8724,-1.0156 1.9271,-1.7708 3.1641,-2.26562 1.2499,-0.49477 2.6497,-0.74216 4.1992,-0.74219 1.6145,3e-5 3.0078,0.20185 4.1797,0.60547 1.1718,0.40367 2.1484,1.00914 2.9296,1.8164 0.7813,0.7943 1.3802,1.78388 1.7969,2.96875 0.4167,1.1719 0.6836,2.52607 0.8008,4.0625 l -5.5859,0 c -0.078,-0.89841 -0.2084,-1.64711 -0.3907,-2.24609 -0.1692,-0.59894 -0.4166,-1.0742 -0.7421,-1.42578 -0.3126,-0.36456 -0.7032,-0.62498 -1.1719,-0.78125 -0.4558,-0.15623 -1.0026,-0.23435 -1.6406,-0.23438 -0.7553,3e-5 -1.4128,0.13675 -1.9727,0.41016 -0.5599,0.26044 -1.0287,0.69013 -1.4063,1.28906 -0.3645,0.58596 -0.638,1.35419 -0.8203,2.30469 -0.1823,0.93752 -0.2734,2.07684 -0.2734,3.41797 l 0,4.84375 c 0,1.35418 0.098,2.50001 0.293,3.4375 0.2083,0.93751 0.5143,1.70573 0.9179,2.30469 0.4167,0.58594 0.9375,1.01563 1.5625,1.28906 0.625,0.26042 1.3607,0.39063 2.2071,0.39062 0.5078,1e-5 0.9375,-0.0391 1.289,-0.11718 0.3646,-0.0781 0.6706,-0.16927 0.918,-0.27344 0.2604,-0.11718 0.4687,-0.23437 0.625,-0.35156 0.1693,-0.11719 0.3125,-0.21484 0.4297,-0.29297 l 0,-5.21485 -4.0235,0 0,-4.33593 9.7852,0 0,11.73828"
+       id="path3023"
+       inkscape:connector-curvature="0" />
+    <path
+       d="m 1131.2344,134.55599 c 0,3.32032 -0.573,5.86589 -1.7188,7.63672 -1.1328,1.77083 -2.8255,2.65625 -5.0781,2.65625 -0.8984,0 -1.6927,-0.18229 -2.3828,-0.54688 -0.6771,-0.36458 -1.263,-0.8789 -1.7578,-1.54297 l 0,9.82422 -5.5274,0 0,-29.25781 5.1172,0 0.1953,1.93359 c 0.5078,-0.74216 1.1133,-1.31508 1.8164,-1.71875 0.7162,-0.40362 1.5495,-0.60544 2.5,-0.60546 2.2787,2e-5 3.9844,0.83986 5.1172,2.51953 1.1458,1.6797 1.7188,4.25131 1.7188,7.71484 l 0,1.38672 m -5.5078,-1.38672 c -10e-5,-1.00259 -0.052,-1.85545 -0.1563,-2.55859 -0.1042,-0.71613 -0.2734,-1.29556 -0.5078,-1.73828 -0.2344,-0.45572 -0.5404,-0.78775 -0.918,-0.9961 -0.3646,-0.20831 -0.8203,-0.31248 -1.3672,-0.3125 -0.5859,2e-5 -1.0872,0.12372 -1.5039,0.3711 -0.4036,0.24741 -0.7291,0.59897 -0.9765,1.05468 l 0,9.90235 c 0.2343,0.42969 0.5534,0.76823 0.957,1.01562 0.4167,0.23438 0.9375,0.35157 1.5625,0.35156 1.0937,1e-5 1.849,-0.46223 2.2656,-1.38671 0.4297,-0.92448 0.6445,-2.36328 0.6446,-4.31641 l 0,-1.38672"
+       id="path3025"
+       inkscape:connector-curvature="0" />
+    <path
+       d="m 1134.2492,133.2474 c 0,-3.46353 0.625,-6.04816 1.875,-7.75391 1.25,-1.70571 3.0013,-2.55857 5.2539,-2.55859 1.0287,2e-5 1.9011,0.20184 2.6172,0.60546 0.7161,0.39065 1.3216,0.94403 1.8164,1.66016 l 0.2149,-1.875 4.9804,0 0,21.13281 c 0,1.44531 -0.2148,2.6888 -0.6445,3.73047 -0.4167,1.05468 -1.0091,1.92057 -1.7773,2.59766 -0.7683,0.67707 -1.6928,1.17838 -2.7735,1.5039 -1.0677,0.32552 -2.2591,0.48828 -3.5742,0.48829 -0.4948,-1e-5 -1.0417,-0.0521 -1.6406,-0.15625 -0.599,-0.10418 -1.1979,-0.26043 -1.7969,-0.46875 -0.599,-0.19532 -1.1719,-0.44923 -1.7188,-0.76172 -0.5338,-0.29949 -0.983,-0.65756 -1.3476,-1.07422 l 1.8555,-3.82813 c 0.2474,0.26042 0.5403,0.5013 0.8789,0.72266 0.3515,0.23437 0.7161,0.42968 1.0937,0.58594 0.3906,0.16926 0.7943,0.29947 1.211,0.39062 0.4166,0.10416 0.8203,0.15625 1.2109,0.15625 0.5599,0 1.0547,-0.0651 1.4844,-0.19531 0.4427,-0.11719 0.8138,-0.32552 1.1132,-0.625 0.2995,-0.29948 0.5209,-0.69662 0.6641,-1.19141 0.1562,-0.49479 0.2344,-1.11328 0.2344,-1.85547 l 0,-1.69921 c -0.5078,0.66406 -1.1003,1.17838 -1.7774,1.54296 -0.664,0.35157 -1.4453,0.52735 -2.3437,0.52735 -1.1198,0 -2.1224,-0.22136 -3.0078,-0.66406 -0.8724,-0.44271 -1.6146,-1.09375 -2.2266,-1.95313 -0.5989,-0.85937 -1.0612,-1.92057 -1.3867,-3.18359 -0.3255,-1.27604 -0.4883,-2.74739 -0.4883,-4.41407 l 0,-1.38671 m 5.5274,1.38671 c 0,1.95314 0.2539,3.37892 0.7617,4.27735 0.5078,0.88542 1.3151,1.32813 2.4219,1.32812 0.5989,1e-5 1.1002,-0.10416 1.5039,-0.3125 0.4166,-0.22135 0.7552,-0.52734 1.0156,-0.91797 l 0,-10.09765 c -0.2735,-0.42967 -0.6185,-0.7617 -1.0352,-0.9961 -0.4036,-0.23435 -0.8854,-0.35154 -1.4453,-0.35156 -1.0937,2e-5 -1.9075,0.44924 -2.4414,1.34766 -0.5208,0.89845 -0.7812,2.34376 -0.7812,4.33594 l 0,1.38671"
+       id="path3027"
+       inkscape:connector-curvature="0" />
+  </g>
+  <g
+     transform="matrix(0.98456381,0,0,1.0156782,9.9995074,8.09376)"
+     style="font-size:26.2523365px;font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0.19689253px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#3d3d3b;fill-opacity:1;stroke:none;font-family:Roboto Condensed;-inkscape-font-specification:'Roboto Condensed, Light'"
+     id="text3915">
+    <path
+       d="m 107.05211,126.58139 c -0.13675,2.0937 -0.70076,3.63192 -1.69205,4.61467 -0.99131,0.97421 -2.36289,1.46131 -4.11474,1.46131 -0.89731,0 -1.709146,-0.17519 -2.435523,-0.52556 -0.717842,-0.35037 -1.328858,-0.85457 -1.833049,-1.51258 -0.504198,-0.65802 -0.893027,-1.45704 -1.166486,-2.39707 -0.273464,-0.94856 -0.410194,-2.01677 -0.410193,-3.20463 l 0,-4.0122 c -10e-7,-1.17074 0.136729,-2.22186 0.410193,-3.15335 0.273459,-0.93147 0.66656,-1.71767 1.179304,-2.35861 0.512737,-0.64946 1.136572,-1.14511 1.871505,-1.48695 0.734922,-0.35035 1.568129,-0.52554 2.499609,-0.52556 0.84602,2e-5 1.60231,0.11966 2.26888,0.35892 0.6751,0.2393 1.25621,0.60676 1.74332,1.10239 0.48709,0.49567 0.87165,1.12805 1.15367,1.89714 0.28199,0.76913 0.45718,1.68352 0.52556,2.74317 l -1.48695,0 c -0.0684,-0.85456 -0.20084,-1.58094 -0.39738,-2.17915 -0.19656,-0.59818 -0.47002,-1.08529 -0.82038,-1.46131 -0.34184,-0.376 -0.76058,-0.64946 -1.25622,-0.82039 -0.49566,-0.1709 -1.07249,-0.25635 -1.7305,-0.25637 -0.72639,2e-5 -1.367313,0.14102 -1.922776,0.42301 -0.555474,0.27348 -1.025486,0.67085 -1.410037,1.19212 -0.376014,0.52131 -0.662294,1.16223 -0.858841,1.92278 -0.188009,0.76058 -0.282011,1.61942 -0.282008,2.57653 l 0,4.03783 c -3e-6,0.94858 0.08973,1.81169 0.269189,2.58934 0.188001,0.76912 0.461463,1.42714 0.820386,1.97406 0.367459,0.54692 0.82038,0.96993 1.358763,1.26903 0.546918,0.2991 1.183574,0.44865 1.909964,0.44865 0.68364,0 1.28184,-0.0769 1.79459,-0.23074 0.51273,-0.16236 0.94429,-0.42728 1.29467,-0.79474 0.35036,-0.36747 0.62382,-0.8503 0.82039,-1.4485 0.20508,-0.60674 0.34181,-1.35448 0.41019,-2.24324 l 1.48695,0"
+       id="path3000"
+       inkscape:connector-curvature="0" />
+    <path
+       d="m 116.05533,119.86448 c -0.14529,-0.0256 -0.29056,-0.047 -0.43583,-0.0641 -0.13674,-0.0171 -0.29056,-0.0256 -0.46147,-0.0256 -0.41874,10e-6 -0.79903,0.0769 -1.14085,0.23073 -0.33329,0.14529 -0.62811,0.35466 -0.88448,0.62811 -0.25637,0.26492 -0.47856,0.58539 -0.66656,0.96139 -0.17946,0.37602 -0.32047,0.78621 -0.42301,1.23057 l 0,9.57544 -1.42286,0 0,-13.86964 1.39722,0 0.0256,2.0766 c 0.31618,-0.72637 0.73492,-1.29466 1.25621,-1.70486 0.52129,-0.41873 1.16221,-0.6281 1.92278,-0.62811 0.15382,1e-5 0.31619,0.0171 0.48711,0.0513 0.1709,0.0342 0.29481,0.0726 0.37173,0.11537 l -0.0256,1.42285"
+       id="path3002"
+       inkscape:connector-curvature="0" />
+    <path
+       d="m 122.71276,130.05521 3.30717,-11.52385 1.52541,0 -4.88386,16.08725 c -0.10255,0.31618 -0.23074,0.67083 -0.38455,1.06393 -0.15383,0.3931 -0.35893,0.76056 -0.61529,1.1024 -0.25638,0.34182 -0.57257,0.6281 -0.94857,0.85884 -0.36747,0.23927 -0.81612,0.35891 -1.34595,0.35892 -0.0769,-1e-5 -0.16237,-0.009 -0.25637,-0.0256 -0.094,-0.009 -0.19228,-0.0214 -0.29483,-0.0385 -0.094,-0.0171 -0.18373,-0.0385 -0.26919,-0.0641 -0.0854,-0.0171 -0.15382,-0.0342 -0.20509,-0.0513 l -0.0128,-1.30749 c 0.0855,0.0256 0.19655,0.047 0.33328,0.0641 0.14528,0.0171 0.2521,0.0256 0.32046,0.0256 0.34183,-1e-5 0.64093,-0.0556 0.8973,-0.16664 0.26491,-0.10256 0.49565,-0.26065 0.6922,-0.47429 0.20509,-0.2051 0.38455,-0.46574 0.53838,-0.78193 0.15382,-0.30765 0.29055,-0.66656 0.41019,-1.07676 l 0.53838,-1.79459 -4.3583,-13.77991 1.56386,0 3.44819,11.52385"
+       id="path3004"
+       inkscape:connector-curvature="0" />
+    <path
+       d="m 139.65064,126.11992 c -1e-5,1.11949 -0.10256,2.08943 -0.30765,2.90981 -0.19656,0.82039 -0.48284,1.49977 -0.85884,2.03814 -0.37602,0.53838 -0.84176,0.94003 -1.39722,1.20495 -0.55547,0.25637 -1.18358,0.38455 -1.88432,0.38455 -0.83748,0 -1.55532,-0.16664 -2.15351,-0.49992 -0.58966,-0.34183 -1.07249,-0.81611 -1.44849,-1.42286 l 0,6.99892 -1.41004,0 0,-19.20215 1.30749,0 0.0641,1.89714 c 0.38455,-0.6751 0.87166,-1.20066 1.46131,-1.57668 0.58965,-0.38454 1.30321,-0.57682 2.1407,-0.57683 0.71783,1e-5 1.35448,0.12392 1.90996,0.37174 0.55546,0.24783 1.02547,0.63666 1.41003,1.16648 0.38455,0.52985 0.6751,1.20923 0.87166,2.03815 0.19654,0.82039 0.29482,1.81169 0.29483,2.97389 l 0,1.29467 m -1.42286,-1.29467 c -1e-5,-1.77749 -0.27774,-3.08498 -0.8332,-3.92246 -0.54693,-0.83747 -1.40577,-1.25621 -2.57652,-1.25622 -0.43584,1e-5 -0.82894,0.0641 -1.17931,0.19228 -0.34183,0.11965 -0.6452,0.28629 -0.91011,0.49992 -0.25638,0.21365 -0.47857,0.45721 -0.66657,0.73066 -0.17946,0.27347 -0.33328,0.56402 -0.46146,0.87166 l 0,7.30655 c 0.13672,0.29911 0.30336,0.57684 0.49992,0.83321 0.20509,0.25637 0.4401,0.47856 0.70502,0.66656 0.26491,0.18801 0.56401,0.33328 0.89729,0.43583 0.34183,0.10255 0.72211,0.15382 1.14085,0.15382 1.15366,0 2.00396,-0.42301 2.55089,-1.26903 0.55546,-0.85457 0.83319,-2.1706 0.8332,-3.94811 l 0,-1.29467"
+       id="path3006"
+       inkscape:connector-curvature="0" />
+    <path
+       d="m 145.2954,114.99345 0,3.53791 2.37143,0 0,1.28185 -2.37143,0 0,9.21652 c 0,0.47856 0.0385,0.86739 0.11537,1.16648 0.0854,0.29056 0.19655,0.51702 0.33328,0.67939 0.13673,0.16237 0.29055,0.27346 0.46147,0.33328 0.17945,0.0513 0.36746,0.0769 0.56401,0.0769 0.188,0 0.37174,-0.0128 0.5512,-0.0385 0.17945,-0.0342 0.33755,-0.0641 0.47429,-0.0897 l 0.0385,1.28186 c -0.15383,0.0684 -0.35892,0.11964 -0.61529,0.15382 -0.24783,0.0427 -0.50847,0.0641 -0.78193,0.0641 -0.36747,0 -0.70929,-0.0598 -1.02548,-0.17946 -0.30765,-0.11964 -0.57684,-0.32046 -0.80757,-0.60247 -0.23073,-0.28201 -0.41019,-0.65374 -0.53837,-1.11521 -0.12819,-0.47001 -0.19229,-1.05112 -0.19228,-1.74332 l 0,-9.2037 -2.1407,0 0,-1.28185 2.1407,0 0,-3.53791 1.42285,0"
+       id="path3008"
+       inkscape:connector-curvature="0" />
+    <path
+       d="m 150.14542,124.76116 c 0,-1.05111 0.12391,-1.97832 0.37174,-2.78162 0.24782,-0.80328 0.59392,-1.47839 1.0383,-2.02533 0.44437,-0.55545 0.9742,-0.97419 1.5895,-1.25621 0.62383,-0.28199 1.31175,-0.423 2.06378,-0.42301 0.76056,1e-5 1.45276,0.14102 2.0766,0.42301 0.62383,0.28202 1.15793,0.70076 1.60232,1.25621 0.44436,0.54694 0.78619,1.22205 1.02548,2.02533 0.24781,0.8033 0.37172,1.73051 0.37174,2.78162 l 0,1.43568 c -2e-5,1.05112 -0.12393,1.97833 -0.37174,2.78162 -0.23929,0.80329 -0.58112,1.4784 -1.02548,2.02532 -0.44439,0.53838 -0.97849,0.94857 -1.60232,1.23058 -0.6153,0.28201 -1.29895,0.42301 -2.05096,0.42301 -0.76057,0 -1.45277,-0.141 -2.0766,-0.42301 -0.62384,-0.28201 -1.15795,-0.6922 -1.60232,-1.23058 -0.44438,-0.54692 -0.79048,-1.22203 -1.0383,-2.02532 -0.24783,-0.80329 -0.37174,-1.7305 -0.37174,-2.78162 l 0,-1.43568 m 1.43568,1.43568 c -1e-5,0.79475 0.0812,1.50831 0.24355,2.14069 0.16236,0.63238 0.39737,1.17076 0.70502,1.61513 0.31618,0.44438 0.70074,0.78621 1.15367,1.02548 0.45291,0.23929 0.96992,0.35892 1.55104,0.35892 0.61528,0 1.14938,-0.11963 1.60231,-0.35892 0.45292,-0.23927 0.82892,-0.5811 1.12803,-1.02548 0.29909,-0.44437 0.52128,-0.98275 0.66657,-1.61513 0.15381,-0.63238 0.23072,-1.34594 0.23073,-2.14069 l 0,-1.43568 c -1e-5,-0.77765 -0.0812,-1.48267 -0.24355,-2.11506 -0.16238,-0.64091 -0.40166,-1.18356 -0.71784,-1.62795 -0.30765,-0.45291 -0.68794,-0.79901 -1.14085,-1.0383 -0.45293,-0.24781 -0.96994,-0.37172 -1.55104,-0.37174 -0.57257,2e-5 -1.08531,0.12393 -1.53822,0.37174 -0.44438,0.23929 -0.82467,0.58539 -1.14085,1.0383 -0.30765,0.44439 -0.54266,0.98704 -0.70502,1.62795 -0.16237,0.63239 -0.24356,1.33741 -0.24355,2.11506 l 0,1.43568"
+       id="path3010"
+       inkscape:connector-curvature="0" />
+    <path
+       d="m 178.79123,123.71004 -7.17837,0 0,8.69096 -1.46132,0 0,-18.66377 9.71645,0 0,1.3844 -8.25513,0 0,7.20401 7.17837,0 0,1.3844"
+       id="path3012"
+       inkscape:connector-curvature="0" />
+    <path
+       d="m 184.50009,132.401 -1.43567,0 0,-13.86964 1.43567,0 0,13.86964 m -1.64077,-17.86902 c 0,-0.29054 0.0812,-0.53836 0.24355,-0.74348 0.16237,-0.20507 0.3931,-0.30762 0.6922,-0.30764 0.2991,2e-5 0.52983,0.10257 0.6922,0.30764 0.17091,0.20512 0.25637,0.45294 0.25638,0.74348 -1e-5,0.29057 -0.0855,0.53839 -0.25638,0.74347 -0.16237,0.19657 -0.3931,0.29485 -0.6922,0.29483 -0.2991,2e-5 -0.52983,-0.0983 -0.6922,-0.29483 -0.16237,-0.20508 -0.24355,-0.4529 -0.24355,-0.74347"
+       id="path3014"
+       inkscape:connector-curvature="0" />
+    <path
+       d="m 190.23458,132.401 -1.43567,0 0,-19.68925 1.43567,0 0,19.68925"
+       id="path3016"
+       inkscape:connector-curvature="0" />
+    <path
+       d="m 198.9558,132.65737 c -0.76912,0 -1.47414,-0.12391 -2.11506,-0.37174 -0.64093,-0.25637 -1.1964,-0.64092 -1.66641,-1.15366 -0.46147,-0.52129 -0.82039,-1.17503 -1.07675,-1.96124 -0.25638,-0.7862 -0.38456,-1.71767 -0.38456,-2.79444 l 0,-1.57667 c 0,-1.16221 0.13673,-2.15351 0.41019,-2.9739 0.27346,-0.82892 0.63665,-1.50403 1.08958,-2.02533 0.46146,-0.52982 0.99129,-0.91437 1.58949,-1.15366 0.60674,-0.24782 1.2434,-0.37173 1.90996,-0.37174 1.52113,1e-5 2.67479,0.50421 3.46101,1.51258 0.79473,0.99986 1.19211,2.53381 1.19212,4.60185 l 0,1.20494 -8.24231,0 0,0.78193 c -1e-5,0.84603 0.094,1.58096 0.282,2.20479 0.18801,0.62384 0.45292,1.14085 0.79475,1.55104 0.34183,0.4102 0.75202,0.71784 1.23058,0.92294 0.47855,0.19655 1.00839,0.29482 1.5895,0.29482 0.71783,0 1.34166,-0.11964 1.8715,-0.35892 0.52983,-0.24782 1.01266,-0.6281 1.4485,-1.14085 l 0.74347,0.94858 c -0.18802,0.25637 -0.4102,0.49565 -0.66656,0.71783 -0.24784,0.22219 -0.54266,0.41874 -0.88448,0.58965 -0.33329,0.17092 -0.71357,0.30338 -1.14085,0.39738 -0.42729,0.10255 -0.90585,0.15382 -1.43567,0.15382 m -0.24356,-13.04926 c -0.5042,2e-5 -0.96994,0.0855 -1.39722,0.25637 -0.41874,0.17093 -0.7862,0.44439 -1.10239,0.82039 -0.30765,0.36748 -0.55547,0.84603 -0.74347,1.43567 -0.18801,0.58967 -0.2991,1.30323 -0.33328,2.1407 l 6.80663,0 0,-0.37174 c -0.0171,-0.6751 -0.094,-1.27757 -0.23073,-1.80741 -0.13674,-0.52982 -0.33757,-0.97847 -0.60247,-1.34595 -0.25638,-0.36745 -0.58539,-0.64518 -0.98703,-0.8332 -0.40165,-0.19654 -0.87166,-0.29481 -1.41004,-0.29483"
+       id="path3018"
+       inkscape:connector-curvature="0" />
+    <path
+       d="m 213.50943,128.99127 c 0,-0.282 -0.0556,-0.54692 -0.16664,-0.79474 -0.10255,-0.24783 -0.27774,-0.4871 -0.52556,-0.71784 -0.23928,-0.23073 -0.55975,-0.46574 -0.96139,-0.70502 -0.3931,-0.23927 -0.88448,-0.49564 -1.47413,-0.76911 -0.63238,-0.282 -1.1964,-0.55119 -1.69204,-0.80757 -0.49565,-0.26491 -0.91439,-0.54692 -1.25622,-0.84602 -0.33328,-0.30764 -0.58965,-0.64947 -0.76911,-1.02548 -0.17946,-0.38455 -0.26919,-0.83747 -0.26919,-1.35877 0,-0.51273 0.094,-0.99129 0.28201,-1.43567 0.19655,-0.45291 0.47428,-0.84601 0.83321,-1.17931 0.35891,-0.33326 0.79474,-0.59391 1.30748,-0.78193 0.51274,-0.19653 1.0853,-0.29481 1.71769,-0.29482 0.6751,1e-5 1.28184,0.10256 1.82023,0.30764 0.53837,0.19657 0.99129,0.4743 1.35876,0.83321 0.376,0.35893 0.66228,0.79048 0.85884,1.29467 0.19654,0.49566 0.29482,1.03831 0.29483,1.62795 l -1.42286,0 c -10e-6,-0.35891 -0.0641,-0.70074 -0.19228,-1.02548 -0.12819,-0.33327 -0.31619,-0.62383 -0.56401,-0.87166 -0.24783,-0.25636 -0.55121,-0.45718 -0.91012,-0.60247 -0.35892,-0.15381 -0.77339,-0.23072 -1.24339,-0.23074 -0.48711,2e-5 -0.90158,0.0684 -1.2434,0.2051 -0.34183,0.1282 -0.62384,0.30338 -0.84602,0.52556 -0.22219,0.21365 -0.38456,0.46148 -0.48711,0.74347 -0.10255,0.27348 -0.15382,0.55121 -0.15382,0.83321 0,0.28202 0.0427,0.53411 0.12819,0.75629 0.0855,0.21365 0.23927,0.42302 0.46146,0.62811 0.23073,0.2051 0.53838,0.41875 0.92294,0.64093 0.38455,0.21365 0.8802,0.46574 1.48695,0.75629 0.64092,0.28201 1.21775,0.55547 1.7305,0.82038 0.51273,0.26493 0.94429,0.55975 1.29467,0.88448 0.35891,0.3162 0.63237,0.67512 0.82038,1.07676 0.19654,0.40165 0.29482,0.88021 0.29483,1.43567 -1e-5,0.57257 -0.10256,1.08958 -0.30765,1.55104 -0.2051,0.46147 -0.49993,0.85457 -0.88447,1.17931 -0.37602,0.32473 -0.83322,0.57683 -1.37159,0.75629 -0.52984,0.17091 -1.11949,0.25637 -1.76895,0.25637 -0.75203,0 -1.41432,-0.10682 -1.98687,-0.32046 -0.57257,-0.22219 -1.0554,-0.51701 -1.4485,-0.88448 -0.38455,-0.36746 -0.67938,-0.79475 -0.88447,-1.28185 -0.19656,-0.4871 -0.29483,-1.00412 -0.29483,-1.55104 l 1.43567,0 c 0.0256,0.54692 0.13673,0.99557 0.33329,1.34594 0.20509,0.35038 0.45719,0.62811 0.75629,0.83321 0.29909,0.20509 0.63237,0.3461 0.99984,0.42301 0.36746,0.0769 0.73065,0.11536 1.08958,0.11536 0.47,0 0.88447,-0.0598 1.24339,-0.17946 0.36746,-0.12818 0.67083,-0.29482 0.91012,-0.49992 0.24782,-0.21364 0.43155,-0.46146 0.5512,-0.74347 0.12817,-0.29055 0.19227,-0.5982 0.19227,-0.92294"
+       id="path3020"
+       inkscape:connector-curvature="0" />
+  </g>
+</svg>
diff --git a/src/icon-16.png b/src/icon-16.png
new file mode 100644
index 0000000..4c59692
Binary files /dev/null and b/src/icon-16.png differ
diff --git a/src/icon-key-12.bmp b/src/icon-key-12.bmp
deleted file mode 100644
index d61baac..0000000
Binary files a/src/icon-key-12.bmp and /dev/null differ
diff --git a/src/icon-key-16.bmp b/src/icon-key-16.bmp
deleted file mode 100644
index f2888b7..0000000
Binary files a/src/icon-key-16.bmp and /dev/null differ
diff --git a/src/icon-lock-12.bmp b/src/icon-lock-12.bmp
deleted file mode 100644
index dec900d..0000000
Binary files a/src/icon-lock-12.bmp and /dev/null differ
diff --git a/src/icon-lock-16.bmp b/src/icon-lock-16.bmp
deleted file mode 100644
index ac458a3..0000000
Binary files a/src/icon-lock-16.bmp and /dev/null differ
diff --git a/src/bitmaps.h b/src/resource.h
similarity index 55%
rename from src/bitmaps.h
rename to src/resource.h
index 40115a9..d9e36a6 100644
--- a/src/bitmaps.h
+++ b/src/resource.h
@@ -1,5 +1,5 @@
-/* bitmaps.h - gpgex bitmap prototypes
-   Copyright (C) 2007 g10 Code GmbH
+/* resource.h - resource ids
+   Copyright (C) 2018 Intevation GmbH
 
    This file is part of GpgEX.
 
@@ -18,35 +18,9 @@
    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
    02110-1301, USA.  */
 
-#ifndef GPGEX_BITMAPS_H
-#define GPGEX_BITMAPS_H
+#ifndef RESOURCE_H
+#define RESOURCE_H
 
-#include <string>
+#define IDI_ICON_16                     0x1000
 
-using std::string;
-
-#include <windows.h>
-
-
-/* The class used to load bitmap resources.  */
-class gpgex_bitmaps_t
-{
-  /* The icon size used.  */
-  static int size;
-
-  /* The available sizes.  */
-  static int available_sizes[];
-
- public:
-  /* Constructor.  */
-  gpgex_bitmaps_t (void);
-
-  /* Load the bitmap with name NAME.  */
-  HBITMAP load_bitmap (string name);
-};
-
-
-/* The global singleton object.  */
-extern gpgex_bitmaps_t gpgex_bitmaps;
-
-#endif	/* ! GPGEX_BITMAPS_H */
+#endif // RESOURCE_H
diff --git a/src/standalone.svg b/src/standalone.svg
new file mode 100644
index 0000000..c30e24a
--- /dev/null
+++ b/src/standalone.svg
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="128"
+   height="128"
+   viewBox="0 0 33.866666 33.866668"
+   version="1.1"
+   id="svg53"
+   inkscape:version="0.92.1 r15371"
+   sodipodi:docname="standalone.svg">
+  <defs
+     id="defs47" />
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="2.8"
+     inkscape:cx="11.515981"
+     inkscape:cy="20.030089"
+     inkscape:document-units="mm"
+     inkscape:current-layer="layer1"
+     showgrid="false"
+     units="px"
+     inkscape:window-width="1920"
+     inkscape:window-height="993"
+     inkscape:window-x="1920"
+     inkscape:window-y="0"
+     inkscape:window-maximized="1" />
+  <metadata
+     id="metadata50">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer"
+     id="layer1"
+     transform="translate(0,-263.13332)">
+    <polygon
+       id="polygon3893-3"
+       points="418.14,454.82 418.14,428.92 366.33,428.92 366.33,503.4 444.05,503.4 444.05,454.82 "
+       class="cls-1"
+       transform="matrix(0.26059503,0,0,0.24957538,-88.363777,171.36374)"
+       style="fill:#1f8fcf" />
+    <polygon
+       id="polygon3895-6"
+       points="421.38,428.9 421.38,451.58 444.03,451.58 "
+       class="cls-1"
+       transform="matrix(0.26059503,0,0,0.24957538,-88.363777,171.36374)"
+       style="fill:#1f8fcf" />
+    <rect
+       id="rect3897-7"
+       height="2.1288779"
+       width="8.6960554"
+       y="281.99304"
+       x="10.156763"
+       class="cls-2"
+       style="fill:#ffffff;stroke-width:0.24957536" />
+    <rect
+       id="rect3899-5"
+       height="2.1288779"
+       width="14.113826"
+       y="287.0145"
+       x="10.182823"
+       class="cls-2"
+       style="fill:#ffffff;stroke-width:0.24957536" />
+    <rect
+       id="rect3901-3"
+       height="2.1288779"
+       width="14.092979"
+       y="291.84879"
+       x="10.182823"
+       class="cls-2"
+       style="fill:#ffffff;stroke-width:0.24957536" />
+    <path
+       id="path3903-5"
+       d="m 8.5254405,272.25459 v 5.17119 h 3.7134835 v -5.17119 c 0,-2.83268 2.243723,-5.13626 5.00082,-5.13626 2.757096,0 5.000819,2.30358 5.000819,5.13626 v 5.17119 h 3.710873 v -5.17119 c 0,-4.85924 -3.908925,-8.81252 -8.709086,-8.81252 v 0 c -4.802766,0 -8.7116975,3.95328 -8.7116975,8.81252"
+       class="cls-3"
+       inkscape:connector-curvature="0"
+       style="fill:#3d3d3b;stroke-width:0.24957536" />
+  </g>
+</svg>
diff --git a/src/versioninfo.rc.in b/src/versioninfo.rc.in
index 6528dc8..6454bfd 100644
--- a/src/versioninfo.rc.in
+++ b/src/versioninfo.rc.in
@@ -14,6 +14,8 @@
 
 #line __LINE__ "versioninfo.rc.in"
 
+#include "resource.h"
+
 #include <afxres.h>
 
 1 ICON "./gnupg.ico"
@@ -75,7 +77,4 @@ or (at your option) any later version.\0"
 /*
  * Our bitmaps.
  */
-Key_12		BITMAP	"icon-key-12.bmp"
-Key_16		BITMAP	"icon-key-16.bmp"
-Lock_12		BITMAP	"icon-lock-12.bmp"
-Lock_16		BITMAP	"icon-lock-16.bmp"
+IDI_ICON_16     RCDATA               "icon-16.png"

-----------------------------------------------------------------------

Summary of changes:
 po/pt.po                      |   1 -
 src/Makefile.am               |  10 +--
 src/bitmaps.cc                |  94 ---------------------
 src/gpgex.cc                  | 134 +++++++++++++++++++++++++++--
 src/gpgex.h                   |  10 ---
 src/gpgex_logo.svg            | 191 ++++++++++++++++++++++++++++++++++++++++++
 src/icon-16.png               | Bin 0 -> 531 bytes
 src/icon-key-12.bmp           | Bin 374 -> 0 bytes
 src/icon-key-16.bmp           | Bin 594 -> 0 bytes
 src/icon-lock-12.bmp          | Bin 630 -> 0 bytes
 src/icon-lock-16.bmp          | Bin 1078 -> 0 bytes
 src/{bitmaps.h => resource.h} |  38 ++-------
 src/standalone.svg            | 100 ++++++++++++++++++++++
 src/versioninfo.rc.in         |   7 +-
 14 files changed, 433 insertions(+), 152 deletions(-)
 delete mode 100644 src/bitmaps.cc
 create mode 100644 src/gpgex_logo.svg
 create mode 100644 src/icon-16.png
 delete mode 100644 src/icon-key-12.bmp
 delete mode 100644 src/icon-key-16.bmp
 delete mode 100644 src/icon-lock-12.bmp
 delete mode 100644 src/icon-lock-16.bmp
 rename src/{bitmaps.h => resource.h} (55%)
 create mode 100644 src/standalone.svg


hooks/post-receive
-- 
GnupG extension for the Windows Explorer
http://git.gnupg.org




More information about the Gnupg-commits mailing list