Save the thumbar buttons when setting them
Then restore the buttons when restoring the taskbar icon
This commit is contained in:
parent
0b624315b2
commit
2fa7aa3c71
4 changed files with 17 additions and 3 deletions
|
@ -115,9 +115,17 @@ bool TaskbarHost::SetThumbarButtons(
|
|||
r = taskbar_->ThumbBarAddButtons(window, kMaxButtonsCount, thumb_buttons);
|
||||
|
||||
thumbar_buttons_added_ = true;
|
||||
last_buttons_ = buttons;
|
||||
return SUCCEEDED(r);
|
||||
}
|
||||
|
||||
void TaskbarHost::RestoreThumbarButtons(HWND window) {
|
||||
if (thumbar_buttons_added_) {
|
||||
thumbar_buttons_added_ = false;
|
||||
SetThumbarButtons(window, last_buttons_);
|
||||
}
|
||||
}
|
||||
|
||||
bool TaskbarHost::SetProgressBar(
|
||||
HWND window, double value, const std::string& mode) {
|
||||
if (!InitializeTaskbar())
|
||||
|
|
|
@ -34,6 +34,8 @@ class TaskbarHost {
|
|||
bool SetThumbarButtons(
|
||||
HWND window, const std::vector<ThumbarButton>& buttons);
|
||||
|
||||
void RestoreThumbarButtons(HWND window);
|
||||
|
||||
// Set the progress state in taskbar.
|
||||
bool SetProgressBar(HWND window, double value, const std::string& mode);
|
||||
|
||||
|
@ -57,6 +59,8 @@ class TaskbarHost {
|
|||
using CallbackMap = std::map<int, base::Closure>;
|
||||
CallbackMap callback_map_;
|
||||
|
||||
std::vector<ThumbarButton> last_buttons_;
|
||||
|
||||
// The COM object of taskbar.
|
||||
base::win::ScopedComPtr<ITaskbarList3> taskbar_;
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue