Skip to content

Commit f44432d

Browse files
committed
OnlineChecks: Add indeterminate progress
1 parent 65b3474 commit f44432d

File tree

6 files changed

+125
-133
lines changed

6 files changed

+125
-133
lines changed

plugins/OnlineChecks/onlnchk.h

Lines changed: 4 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,6 @@
3434
#include <shlobj.h>
3535
#include <windowsx.h>
3636
#include <winhttp.h>
37-
3837
#include "resource.h"
3938
#include "db.h"
4039

@@ -55,25 +54,12 @@
5554
#define UM_ERROR (WM_APP + 4)
5655
#define UM_SHOWDIALOG (WM_APP + 5)
5756

58-
#define Control_Visible(hWnd, visible) \
59-
ShowWindow(hWnd, visible ? SW_SHOW : SW_HIDE);
60-
6157
extern PPH_PLUGIN PluginInstance;
6258

6359
VOID ShowOptionsDialog(
6460
_In_opt_ HWND Parent
6561
);
6662

67-
typedef enum _PH_UPLOAD_SERVICE_STATE
68-
{
69-
PhUploadServiceDefault = 0,
70-
PhUploadServiceChecking,
71-
PhUploadServiceViewReport,
72-
PhUploadServiceUploading,
73-
PhUploadServiceLaunching,
74-
PhUploadServiceMaximum
75-
} PH_UPLOAD_SERVICE_STATE;
76-
7763
typedef struct _SERVICE_INFO
7864
{
7965
ULONG Id;
@@ -137,32 +123,25 @@ typedef struct _UPLOAD_CONTEXT
137123
{
138124
BOOLEAN FileExists;
139125
ULONG Service;
140-
141126
ULONG ErrorCode;
142-
PPH_STRING ErrorString;
143-
144127
ULONG TotalFileLength;
128+
145129
HWND DialogHandle;
130+
HANDLE UploadThreadHandle;
146131
HICON IconLargeHandle;
147132
HICON IconSmallHandle;
148-
HANDLE UploadThreadHandle;
149133
HINTERNET HttpHandle;
150134
ITaskbarList3* TaskbarListClass;
151-
152-
PVIRUSTOTAL_FILE_HASH_ENTRY Extension;
153-
PH_UPLOAD_SERVICE_STATE UploadServiceState;
135+
PPH_STRING ErrorString;
154136

155137
PPH_STRING FileName;
156138
PPH_STRING BaseFileName;
157139
PPH_STRING WindowFileName;
158-
//PPH_STRING ObjectName;
159140
PPH_STRING LaunchCommand;
160-
PPH_STRING RedirectCommand;
161-
162141
PPH_STRING Detected;
163142
PPH_STRING MaxDetected;
164143
PPH_STRING UploadUrl;
165-
PPH_STRING reAnalyseUrl;
144+
PPH_STRING ReAnalyseUrl;
166145
PPH_STRING FirstAnalysisDate;
167146
PPH_STRING LastAnalysisDate;
168147
PPH_STRING LastAnalysisUrl;

plugins/OnlineChecks/page1.c

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,9 @@ HRESULT CALLBACK CheckingForUpdatesCallbackProc(
3939
SendMessage(hwndDlg, TDM_SET_MARQUEE_PROGRESS_BAR, TRUE, 0);
4040
SendMessage(hwndDlg, TDM_SET_PROGRESS_BAR_MARQUEE, TRUE, 1);
4141

42+
if (context->TaskbarListClass)
43+
ITaskbarList3_SetProgressState(context->TaskbarListClass, PhMainWndHandle, TBPF_INDETERMINATE);
44+
4245
// reference the context for the new thread
4346
PhReferenceObject(context);
4447

plugins/OnlineChecks/page2.c

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,12 @@ HRESULT CALLBACK ShowAvailableCallbackProc(
4141

4242
switch (uMsg)
4343
{
44+
case TDN_NAVIGATED:
45+
{
46+
if (context->TaskbarListClass)
47+
ITaskbarList3_SetProgressState(context->TaskbarListClass, PhMainWndHandle, TBPF_NOPROGRESS);
48+
}
49+
break;
4450
case TDN_BUTTON_CLICKED:
4551
{
4652
INT buttonID = (INT)wParam;
@@ -52,8 +58,8 @@ HRESULT CALLBACK ShowAvailableCallbackProc(
5258
}
5359
else if (buttonID == IDRETRY)
5460
{
55-
if (!PhIsNullOrEmptyString(context->reAnalyseUrl))
56-
PhShellExecute(hwndDlg, PhGetString(context->reAnalyseUrl), NULL);
61+
if (!PhIsNullOrEmptyString(context->ReAnalyseUrl))
62+
PhShellExecute(hwndDlg, PhGetString(context->ReAnalyseUrl), NULL);
5763
}
5864
else if (buttonID == IDYES)
5965
{

plugins/OnlineChecks/page3.c

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,9 @@ HRESULT CALLBACK ShowProgressCallbackProc(
3939
SendMessage(hwndDlg, TDM_SET_MARQUEE_PROGRESS_BAR, TRUE, 0);
4040
SendMessage(hwndDlg, TDM_SET_PROGRESS_BAR_MARQUEE, TRUE, 1);
4141

42+
if (context->TaskbarListClass)
43+
ITaskbarList3_SetProgressState(context->TaskbarListClass, PhMainWndHandle, TBPF_INDETERMINATE);
44+
4245
// reference the context for the new thread
4346
PhReferenceObject(context);
4447

plugins/OnlineChecks/page4.c

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,18 @@ HRESULT CALLBACK TaskDialogErrorProc(
3838
{
3939
SendMessage(hwndDlg, TDM_SET_MARQUEE_PROGRESS_BAR, FALSE, 0);
4040
SendMessage(hwndDlg, TDM_SET_PROGRESS_BAR_MARQUEE, FALSE, 1);
41+
42+
if (context->TaskbarListClass)
43+
{
44+
ITaskbarList3_SetProgressValue(context->TaskbarListClass, PhMainWndHandle, 1, 1);
45+
ITaskbarList3_SetProgressState(context->TaskbarListClass, PhMainWndHandle, TBPF_ERROR);
46+
}
47+
}
48+
break;
49+
case TDN_DESTROYED:
50+
{
51+
if (context->TaskbarListClass)
52+
ITaskbarList3_SetProgressState(context->TaskbarListClass, PhMainWndHandle, TBPF_NOPROGRESS);
4153
}
4254
break;
4355
}

0 commit comments

Comments
 (0)