Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

WIP: Add a new set of icons for connection states and notifications #612

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 4 additions & 1 deletion Makefile.am
Original file line number Diff line number Diff line change
Expand Up @@ -73,8 +73,11 @@ openvpn_gui_RESOURCES = \
res/connected.ico \
res/connecting.ico \
res/disconnected.ico \
res/connected_error.ico \
res/connected_old.ico \
res/connecting_old.ico \
res/disconnected_old.ico \
res/openvpn-gui.ico \
res/reconnecting.ico \
res/eye.ico \
res/eye-stroke.ico \
res/openvpn-gui.manifest \
Expand Down
29 changes: 26 additions & 3 deletions localization.c
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@
#include "options.h"
#include "registry.h"
#include "misc.h"
#include "tray.h"

extern options_t o;

Expand Down Expand Up @@ -304,8 +305,26 @@ LoadLocalizedIconEx(const UINT iconId, int cxDesired, int cyDesired)
{
LANGID langId = GetGUILanguage();

UINT iconId_pref = iconId;
if (o.use_legacy_icons)
{
switch(iconId)
{
case ID_ICO_CONNECTED:
iconId_pref = ID_ICO_CONNECTED_LEGACY;
break;
case ID_ICO_DISCONNECTED:
iconId_pref = ID_ICO_DISCONNECTED_LEGACY;
break;
case ID_ICO_CONNECTING:
case ID_ICO_CONNECTED_ERR:
iconId_pref = ID_ICO_CONNECTING_LEGACY;
break;
}
}

HICON hIcon =
(HICON) LoadImage (o.hInstance, MAKEINTRESOURCE(iconId),
(HICON) LoadImage (o.hInstance, MAKEINTRESOURCE(iconId_pref),
IMAGE_ICON, cxDesired, cyDesired, LR_DEFAULTSIZE|LR_SHARED);
if (hIcon)
return hIcon;
Expand All @@ -316,7 +335,7 @@ LoadLocalizedIconEx(const UINT iconId, int cxDesired, int cyDesired)
* from the first image in the resource
*/
/* find group icon resource */
HRSRC res = FindResourceLang(RT_GROUP_ICON, MAKEINTRESOURCE(iconId), langId);
HRSRC res = FindResourceLang(RT_GROUP_ICON, MAKEINTRESOURCE(iconId_pref), langId);
if (res == NULL)
return NULL;

Expand Down Expand Up @@ -553,6 +572,8 @@ GeneralSettingsDlgProc(HWND hwndDlg, UINT msg, UNUSED WPARAM wParam, LPARAM lPar
Button_SetCheck(GetDlgItem(hwndDlg, ID_CHK_PLAP_REG), BST_CHECKED);
if (o.enable_auto_restart)
Button_SetCheck(GetDlgItem(hwndDlg, ID_CHK_AUTO_RESTART), BST_CHECKED);
if (o.use_legacy_icons)
Button_SetCheck(GetDlgItem(hwndDlg, ID_CHK_LEGACY_ICONS), BST_CHECKED);

break;

Expand Down Expand Up @@ -601,7 +622,9 @@ GeneralSettingsDlgProc(HWND hwndDlg, UINT msg, UNUSED WPARAM wParam, LPARAM lPar
(Button_GetCheck(GetDlgItem(hwndDlg, ID_CHK_SHOW_SCRIPT_WIN)) == BST_CHECKED);
o.enable_auto_restart =
(Button_GetCheck(GetDlgItem(hwndDlg, ID_CHK_AUTO_RESTART)) == BST_CHECKED);

o.use_legacy_icons =
(Button_GetCheck(GetDlgItem(hwndDlg, ID_CHK_LEGACY_ICONS)) == BST_CHECKED);
CheckAndSetTrayIcon(); /* in case icons changed */

SaveRegistryKeys();

Expand Down
7 changes: 7 additions & 0 deletions openvpn-gui-res.h
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,10 @@
#define ID_ICO_DISCONNECTED 93
#define ID_ICO_EYE 94
#define ID_ICO_EYESTROKE 95
#define ID_ICO_CONNECTED_ERR 96
#define ID_ICO_CONNECTED_LEGACY 97
#define ID_ICO_CONNECTING_LEGACY 98
#define ID_ICO_DISCONNECTED_LEGACY 99

/* About Dialog */
#define ID_DLG_ABOUT 100
Expand Down Expand Up @@ -127,6 +131,9 @@
#define ID_EDT_PROXY_USER 251
#define ID_EDT_PROXY_PASS 252

/* General Settings continued */
#define ID_CHK_LEGACY_ICONS 260

/* Advanced dialog */
#define ID_DLG_ADVANCED 270
#define ID_TXT_FOLDER 271
Expand Down
1 change: 1 addition & 0 deletions openvpn.c
Original file line number Diff line number Diff line change
Expand Up @@ -379,6 +379,7 @@ OnStateChange(connection_t *c, char *data)
if (!success)
{
SetDlgItemText(c->hwndStatus, ID_TXT_STATUS, LoadLocalizedString(IDS_NFO_STATE_ROUTE_ERROR));
SetStatusWinIcon(c->hwndStatus, ID_ICO_CONNECTED_ERR);
return;
}

Expand Down
1 change: 1 addition & 0 deletions options.c
Original file line number Diff line number Diff line change
Expand Up @@ -379,6 +379,7 @@ InitOptions(options_t *opt)
opt->version = MakeVersion (PACKAGE_VERSION_RESOURCE);
opt->clr_warning = RGB(0xff, 0, 0);
opt->clr_error = RGB(0xff, 0, 0);
opt->use_legacy_icons = 1;
}


Expand Down
1 change: 1 addition & 0 deletions options.h
Original file line number Diff line number Diff line change
Expand Up @@ -246,6 +246,7 @@ typedef struct {
TCHAR *action_arg;
HANDLE session_semaphore;
HANDLE event_log;
DWORD use_legacy_icons;
} options_t;

void InitOptions(options_t *);
Expand Down
5 changes: 4 additions & 1 deletion plap/Makefile.am
Original file line number Diff line number Diff line change
Expand Up @@ -65,8 +65,11 @@ libopenvpn_plap_la_RESOURCES = \
$(top_srcdir)/res/connected.ico \
$(top_srcdir)/res/connecting.ico \
$(top_srcdir)/res/disconnected.ico \
$(top_srcdir)/res/connected_error.ico \
$(top_srcdir)/res/connected_old.ico \
$(top_srcdir)/res/connecting_old.ico \
$(top_srcdir)/res/disconnected_old.ico \
$(top_srcdir)/res/openvpn-gui.ico \
$(top_srcdir)/res/reconnecting.ico \
$(top_srcdir)/res/eye.ico \
$(top_srcdir)/res/eye-stroke.ico \
openvpn-plap-res.rc \
Expand Down
3 changes: 2 additions & 1 deletion registry.c
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,8 @@ struct regkey_int {
{L"management_port_offset", &o.mgmt_port_offset, 25340},
{L"enable_peristent_connections", &o.enable_persistent, 2},
{L"enable_auto_restart", &o.enable_auto_restart, 1},
{L"ovpn_engine", &o.ovpn_engine, OPENVPN_ENGINE_OVPN2}
{L"ovpn_engine", &o.ovpn_engine, OPENVPN_ENGINE_OVPN2},
{L"use_legacy_icons", &o.use_legacy_icons, 1},
};

static int
Expand Down
Binary file modified res/connected.ico
Binary file not shown.
Binary file added res/connected_error.ico
Binary file not shown.
Binary file added res/connected_old.ico
Binary file not shown.
Binary file modified res/connecting.ico
Binary file not shown.
File renamed without changes.
Binary file modified res/disconnected.ico
Binary file not shown.
Binary file added res/disconnected_old.ico
Binary file not shown.
Binary file added res/idle_error.ico
Binary file not shown.
3 changes: 2 additions & 1 deletion res/openvpn-gui-res-en.rc
Original file line number Diff line number Diff line change
Expand Up @@ -178,7 +178,7 @@ BEGIN
GROUPBOX "Startup", 202, 6, 47, 235, 30
AUTOCHECKBOX "Launch on User &Logon", ID_CHK_STARTUP, 17, 59, 100, 12

GROUPBOX "Preferences", ID_GROUPBOX3, 6, 82, 235, 165
GROUPBOX "Preferences", ID_GROUPBOX3, 6, 82, 235, 180
AUTOCHECKBOX "A&ppend to log", ID_CHK_LOG_APPEND, 17, 95, 60, 10
AUTOCHECKBOX "Show script &window", ID_CHK_SHOW_SCRIPT_WIN, 17, 110, 200, 10
AUTOCHECKBOX "S&ilent connection", ID_CHK_SILENT, 17, 125, 200, 10
Expand All @@ -193,6 +193,7 @@ BEGIN
AUTORADIOBUTTON "&Disable", ID_RB_BALLOON5, 181, 200, 40, 10
AUTOCHECKBOX "Enable Pre-Logon A&ccess Provider (requires admin access)", ID_CHK_PLAP_REG, 17, 215, 200, 10
AUTOCHECKBOX "Enable auto restart of active connections", ID_CHK_AUTO_RESTART, 17, 230, 200, 10
AUTOCHECKBOX "Use legacy icons", ID_CHK_LEGACY_ICONS, 17, 245, 200, 10
END

/* Advanced Dialog */
Expand Down
4 changes: 4 additions & 0 deletions res/openvpn-gui-res.rc
Original file line number Diff line number Diff line change
Expand Up @@ -38,8 +38,12 @@ ID_ICO_APP ICON DISCARDABLE "openvpn-gui.ico"
ID_ICO_CONNECTED ICON DISCARDABLE "connected.ico"
ID_ICO_CONNECTING ICON DISCARDABLE "connecting.ico"
ID_ICO_DISCONNECTED ICON DISCARDABLE "disconnected.ico"
ID_ICO_CONNECTED_ERR ICON DISCARDABLE "connected_error.ico"
ID_ICO_EYE ICON DISCARDABLE "eye.ico"
ID_ICO_EYESTROKE ICON DISCARDABLE "eye-stroke.ico"
ID_ICO_CONNECTED_LEGACY ICON DISCARDABLE "connected_old.ico"
ID_ICO_CONNECTING_LEGACY ICON DISCARDABLE "connecting_old.ico"
ID_ICO_DISCONNECTED_LEGACY ICON DISCARDABLE "disconnected_old.ico"

#ifdef ENABLE_OVPN3
#define ADVANCED_DIALOG_HEIGHT 320
Expand Down