mirror of
https://github.com/Open-Shell/Open-Shell-Menu.git
synced 2026-04-11 17:37:22 +10:00
Update: Add option to check for nightly updates
Use Appveyor REST API to obtain information about latest build from master.
This commit is contained in:
@@ -60,11 +60,13 @@ static CSetting g_Settings[]={
|
||||
{L"Update",CSetting::TYPE_GROUP},
|
||||
{L"Language",CSetting::TYPE_STRING,0,0,L"",CSetting::FLAG_SHARED},
|
||||
{L"Update",CSetting::TYPE_BOOL,0,0,1,CSetting::FLAG_SHARED},
|
||||
{L"Nightly",CSetting::TYPE_BOOL,0,0,0,CSetting::FLAG_SHARED},
|
||||
|
||||
{NULL}
|
||||
};
|
||||
|
||||
const int SETTING_UPDATE=2;
|
||||
const int SETTING_NIGHTLY=3;
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
@@ -79,6 +81,7 @@ public:
|
||||
MESSAGE_HANDLER( WM_GETMINMAXINFO, OnGetMinMaxInfo )
|
||||
MESSAGE_HANDLER( WM_CTLCOLORSTATIC, OnColorStatic )
|
||||
COMMAND_HANDLER( IDC_CHECKAUTOCHECK, BN_CLICKED, OnCheckAuto )
|
||||
COMMAND_HANDLER( IDC_CHECKNIGHTLY, BN_CLICKED, OnCheckNightly )
|
||||
COMMAND_HANDLER( IDC_BUTTONCHECKNOW, BN_CLICKED, OnCheckNow )
|
||||
COMMAND_HANDLER( IDC_BUTTONDOWNLOAD, BN_CLICKED, OnDownload )
|
||||
COMMAND_HANDLER( IDC_CHECKDONT, BN_CLICKED, OnDontRemind )
|
||||
@@ -114,6 +117,7 @@ protected:
|
||||
LRESULT OnCancel( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled );
|
||||
LRESULT OnColorStatic( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled );
|
||||
LRESULT OnCheckAuto( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled );
|
||||
LRESULT OnCheckNightly( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled );
|
||||
LRESULT OnCheckNow( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled );
|
||||
LRESULT OnDownload( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled );
|
||||
LRESULT OnDontRemind( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled );
|
||||
@@ -161,6 +165,13 @@ LRESULT CUpdateDlg::OnInitDialog( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL&
|
||||
CheckDlgButton(IDC_CHECKAUTOCHECK,check?BST_CHECKED:BST_UNCHECKED);
|
||||
GetDlgItem(IDC_CHECKAUTOCHECK).EnableWindow(!(g_Settings[SETTING_UPDATE].flags&CSetting::FLAG_LOCKED_MASK));
|
||||
GetDlgItem(IDC_BUTTONCHECKNOW).EnableWindow(!(g_Settings[SETTING_UPDATE].flags&CSetting::FLAG_LOCKED_MASK) || check);
|
||||
|
||||
bool nightly = false;
|
||||
if (g_Settings[SETTING_NIGHTLY].value.vt == VT_I4)
|
||||
nightly = g_Settings[SETTING_NIGHTLY].value.intVal != 0;
|
||||
CheckDlgButton(IDC_CHECKNIGHTLY, nightly ? BST_CHECKED : BST_UNCHECKED);
|
||||
GetDlgItem(IDC_CHECKNIGHTLY).EnableWindow(!(g_Settings[SETTING_NIGHTLY].flags & CSetting::FLAG_LOCKED_MASK) && check);
|
||||
|
||||
UpdateUI();
|
||||
|
||||
return TRUE;
|
||||
@@ -210,6 +221,17 @@ LRESULT CUpdateDlg::OnCheckAuto( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL&
|
||||
bool check=IsDlgButtonChecked(IDC_CHECKAUTOCHECK)==BST_CHECKED;
|
||||
g_Settings[SETTING_UPDATE].value=CComVariant(check?1:0);
|
||||
g_Settings[SETTING_UPDATE].flags&=~CSetting::FLAG_DEFAULT;
|
||||
GetDlgItem(IDC_CHECKNIGHTLY).EnableWindow(check);
|
||||
UpdateUI();
|
||||
return 0;
|
||||
}
|
||||
|
||||
LRESULT CUpdateDlg::OnCheckNightly(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled)
|
||||
{
|
||||
CSettingsLockWrite lock;
|
||||
bool check = IsDlgButtonChecked(IDC_CHECKNIGHTLY) == BST_CHECKED;
|
||||
g_Settings[SETTING_NIGHTLY].value = CComVariant(check ? 1 : 0);
|
||||
g_Settings[SETTING_NIGHTLY].flags &= ~CSetting::FLAG_DEFAULT;
|
||||
UpdateUI();
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -123,22 +123,24 @@ END
|
||||
// Dialog
|
||||
//
|
||||
|
||||
IDD_UPDATE DIALOGEX 0, 0, 316, 183
|
||||
IDD_UPDATE DIALOGEX 0, 0, 316, 200
|
||||
STYLE DS_SETFONT | DS_CENTER | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME
|
||||
CAPTION "Open-Shell Update"
|
||||
FONT 9, "Segoe UI", 400, 0, 0x0
|
||||
BEGIN
|
||||
CONTROL "Automatically check for new versions",IDC_CHECKAUTOCHECK,
|
||||
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,7,129,10
|
||||
PUSHBUTTON "Check now",IDC_BUTTONCHECKNOW,7,19,50,14
|
||||
LTEXT "message",IDC_STATICLATEST,7,33,302,10,SS_CENTERIMAGE
|
||||
EDITTEXT IDC_EDITTEXT,7,45,302,97,ES_MULTILINE | ES_AUTOVSCROLL | ES_AUTOHSCROLL | ES_READONLY | NOT WS_VISIBLE | WS_VSCROLL
|
||||
PUSHBUTTON "Download",IDC_BUTTONDOWNLOAD,7,146,50,14,NOT WS_VISIBLE
|
||||
CONTROL "Check for nightly builds",IDC_CHECKNIGHTLY,
|
||||
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,17,19,151,10
|
||||
PUSHBUTTON "Check now",IDC_BUTTONCHECKNOW,7,34,50,14
|
||||
LTEXT "message",IDC_STATICLATEST,7,48,302,10,SS_CENTERIMAGE
|
||||
EDITTEXT IDC_EDITTEXT,7,60,302,97,ES_MULTILINE | ES_AUTOVSCROLL | ES_AUTOHSCROLL | ES_READONLY | NOT WS_VISIBLE | WS_VSCROLL
|
||||
PUSHBUTTON "Download",IDC_BUTTONDOWNLOAD,7,161,50,14,NOT WS_VISIBLE
|
||||
CONTROL "Don't remind me again about this version",IDC_CHECKDONT,
|
||||
"Button",BS_AUTOCHECKBOX | NOT WS_VISIBLE | WS_TABSTOP,61,146,141,14
|
||||
CONTROL "<a>Open-Shell-Menu</a>",IDC_LINKWEB,"SysLink",WS_TABSTOP,7,166,66,10,WS_EX_TRANSPARENT
|
||||
DEFPUSHBUTTON "OK",IDOK,202,162,50,14
|
||||
PUSHBUTTON "Cancel",IDCANCEL,259,162,50,14
|
||||
"Button",BS_AUTOCHECKBOX | NOT WS_VISIBLE | WS_TABSTOP,61,161,141,14
|
||||
CONTROL "<a>Open-Shell-Menu</a>",IDC_LINKWEB,"SysLink",WS_TABSTOP,7,181,66,10,WS_EX_TRANSPARENT
|
||||
DEFPUSHBUTTON "OK",IDOK,202,177,50,14
|
||||
PUSHBUTTON "Cancel",IDCANCEL,259,177,50,14
|
||||
END
|
||||
|
||||
|
||||
@@ -155,7 +157,7 @@ BEGIN
|
||||
LEFTMARGIN, 7
|
||||
RIGHTMARGIN, 309
|
||||
TOPMARGIN, 7
|
||||
BOTTOMMARGIN, 174
|
||||
BOTTOMMARGIN, 191
|
||||
END
|
||||
END
|
||||
#endif // APSTUDIO_INVOKED
|
||||
|
||||
@@ -9,6 +9,7 @@
|
||||
#define IDC_CHECKDONT 1004
|
||||
#define IDC_BUTTONCHECKNOW 1005
|
||||
#define IDC_CHECKAUTOCHECK 1006
|
||||
#define IDC_CHECKNIGHTLY 1007
|
||||
#define IDD_UPDATE 6001
|
||||
#define IDS_UPDATED 6001
|
||||
#define IDS_OUTOFDATE 6002
|
||||
@@ -21,7 +22,7 @@
|
||||
//
|
||||
#ifdef APSTUDIO_INVOKED
|
||||
#ifndef APSTUDIO_READONLY_SYMBOLS
|
||||
#define _APS_NEXT_RESOURCE_VALUE 227
|
||||
#define _APS_NEXT_RESOURCE_VALUE 228
|
||||
#define _APS_NEXT_COMMAND_VALUE 32769
|
||||
#define _APS_NEXT_CONTROL_VALUE 262
|
||||
#define _APS_NEXT_SYMED_VALUE 106
|
||||
|
||||
Reference in New Issue
Block a user