diff options
Diffstat (limited to 'CPP/7zip/UI/FileManager/ProgressDialog2.h')
-rwxr-xr-x | CPP/7zip/UI/FileManager/ProgressDialog2.h | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/CPP/7zip/UI/FileManager/ProgressDialog2.h b/CPP/7zip/UI/FileManager/ProgressDialog2.h index 81a64e32..6bb13603 100755 --- a/CPP/7zip/UI/FileManager/ProgressDialog2.h +++ b/CPP/7zip/UI/FileManager/ProgressDialog2.h @@ -3,6 +3,8 @@ #ifndef __PROGRESS_DIALOG2_H #define __PROGRESS_DIALOG2_H +#include "Common/MyCom.h" + #include "Windows/Synchronization.h" #include "Windows/Thread.h" @@ -10,6 +12,8 @@ #include "Windows/Control/ListView.h" #include "Windows/Control/ProgressBar.h" +#include "MyWindowsNew.h" + class CProgressSync { bool _stopped; @@ -201,7 +205,7 @@ class CProgressDialog: public NWindows::NControl::CModalDialog { UString _prevFileName; UString _prevTitleName; -private: + UString backgroundString; UString backgroundedString; UString foregroundString; @@ -221,6 +225,9 @@ private: NWindows::NControl::CProgressBar m_ProgressBar; NWindows::NControl::CListView _messageList; + CMyComPtr<ITaskbarList3> _taskbarList; + HWND _hwndForTaskbar; + UInt32 _prevPercentValue; UInt32 _prevTime; UInt32 _elapsedTime; @@ -247,6 +254,14 @@ private: bool _inCancelMessageBox; bool _externalCloseMessageWasReceived; + + void SetTaskbarProgressState(TBPFLAG tbpFlags) + { + if (_taskbarList && _hwndForTaskbar) + _taskbarList->SetProgressState(_hwndForTaskbar, tbpFlags); + } + void SetTaskbarProgressState(); + void UpdateStatInfo(bool showAll); bool OnTimer(WPARAM timerID, LPARAM callback); void SetRange(UInt64 range); @@ -289,8 +304,8 @@ public: bool MessagesDisplayed; // = true if user pressed OK on all messages or there are no messages. int IconID; - #ifndef _SFX HWND MainWindow; + #ifndef _SFX UString MainTitle; UString MainAddTitle; ~CProgressDialog(); |