From ca53d01e4e20c0955daaeb6a5db21a19039005cd Mon Sep 17 00:00:00 2001
From: Vignesh M <32194608+vishegn@users.noreply.github.com>
Date: Tue, 14 Jul 2020 05:32:08 +0530
Subject: [PATCH] Narrator is not providing any confirmation after activating
Keep on top button (#1300)
* Narrator is not providing any confirmation after activating Keep on top button #1173
---
.../Common/Automation/NarratorAnnouncement.cpp | 10 ++++++++++
.../Common/Automation/NarratorAnnouncement.h | 2 ++
src/CalcViewModel/StandardCalculatorViewModel.cpp | 15 +++++++++++++++
src/Calculator/Resources/en-US/Resources.resw | 8 ++++++++
4 files changed, 35 insertions(+)
diff --git a/src/CalcViewModel/Common/Automation/NarratorAnnouncement.cpp b/src/CalcViewModel/Common/Automation/NarratorAnnouncement.cpp
index 73d92a5..18f4df6 100644
--- a/src/CalcViewModel/Common/Automation/NarratorAnnouncement.cpp
+++ b/src/CalcViewModel/Common/Automation/NarratorAnnouncement.cpp
@@ -27,6 +27,7 @@ namespace CalculatorApp::Common::Automation
StringReference GraphViewChanged(L"GraphViewChanged");
StringReference FunctionRemoved(L"FunctionRemoved");
StringReference GraphViewBestFitChanged(L"GraphViewBestFitChanged");
+ StringReference AlwaysOnTop(L"AlwaysOnTop");
}
}
@@ -180,3 +181,12 @@ NarratorAnnouncement ^ CalculatorAnnouncement::GetGraphViewBestFitChangedAnnounc
AutomationNotificationKind::ActionCompleted,
AutomationNotificationProcessing::MostRecent);
}
+
+NarratorAnnouncement ^ CalculatorAnnouncement::GetAlwaysOnTopChangedAnnouncement(String ^ announcement)
+{
+ return ref new NarratorAnnouncement(
+ announcement,
+ CalculatorActivityIds::AlwaysOnTop,
+ AutomationNotificationKind::ActionCompleted,
+ AutomationNotificationProcessing::ImportantMostRecent);
+}
diff --git a/src/CalcViewModel/Common/Automation/NarratorAnnouncement.h b/src/CalcViewModel/Common/Automation/NarratorAnnouncement.h
index b378e52..7b93401 100644
--- a/src/CalcViewModel/Common/Automation/NarratorAnnouncement.h
+++ b/src/CalcViewModel/Common/Automation/NarratorAnnouncement.h
@@ -73,5 +73,7 @@ public
static NarratorAnnouncement ^ GetFunctionRemovedAnnouncement(Platform::String ^ announcement);
+ static NarratorAnnouncement ^ GetAlwaysOnTopChangedAnnouncement(Platform::String ^ announcement);
+
};
}
diff --git a/src/CalcViewModel/StandardCalculatorViewModel.cpp b/src/CalcViewModel/StandardCalculatorViewModel.cpp
index 38124e4..b68e010 100644
--- a/src/CalcViewModel/StandardCalculatorViewModel.cpp
+++ b/src/CalcViewModel/StandardCalculatorViewModel.cpp
@@ -41,6 +41,8 @@ namespace
StringReference DisplayValuePropertyName(L"DisplayValue");
StringReference CalculationResultAutomationNamePropertyName(L"CalculationResultAutomationName");
StringReference IsBitFlipCheckedPropertyName(L"IsBitFlipChecked");
+ StringReference CalcAlwaysOnTop(L"CalcAlwaysOnTop");
+ StringReference CalcBackToFullView(L"CalcBackToFullView");
}
namespace CalculatorResourceKeys
@@ -1162,6 +1164,19 @@ void StandardCalculatorViewModel::OnPropertyChanged(String ^ propertyname)
TraceLogger::GetInstance()->UpdateButtonUsage(
IsBitFlipChecked ? NumbersAndOperatorsEnum::BitflipButton : NumbersAndOperatorsEnum::FullKeypadButton, ViewMode::Programmer);
}
+ else if (propertyname == IsAlwaysOnTopPropertyName)
+ {
+ String ^ announcement;
+ if (IsAlwaysOnTop)
+ {
+ announcement = AppResourceProvider::GetInstance()->GetResourceString(CalcAlwaysOnTop);
+ }
+ else
+ {
+ announcement = AppResourceProvider::GetInstance()->GetResourceString(CalcBackToFullView);
+ }
+ Announcement = CalculatorAnnouncement::GetAlwaysOnTopChangedAnnouncement(announcement);
+ }
}
void StandardCalculatorViewModel::SetCalculatorType(ViewMode targetState)
diff --git a/src/Calculator/Resources/en-US/Resources.resw b/src/Calculator/Resources/en-US/Resources.resw
index 308b59d..473fa13 100644
--- a/src/Calculator/Resources/en-US/Resources.resw
+++ b/src/Calculator/Resources/en-US/Resources.resw
@@ -4715,4 +4715,12 @@
Memory list
Automation name for the group of controls for memory list.
+
+ Calculator always on top
+ Announcement to indicate calculator window is always shown on top.
+
+
+ Calculator back to full view
+ Announcement to indicate calculator window is now back to full view.
+