Commit Graph

79 Commits

Author SHA1 Message Date
Rudy Huyn
eb24c085bc General improvement of the title bar for Always-On-Top. (#634)
* Make sure TitleBar takes into account the AOT mode change

* remove namespaces in cpp files

* code linting

* use macro for IsAlwaysOnTop and make IsAlwaysOnTop/DisplayNormalAlwaysOnTopOption read-only

* Fix FontWeight
2019-08-23 13:42:00 -07:00
Matt Cooley
5b2d976e64 Remove colorize and fullcolor app list icons (#644) 2019-08-21 15:40:01 -07:00
Rudy Huyn
71b010483b Remove unused expression item template selector (#623)
* remove unused AlwaysOnTopExpressionItemTemplateSelector

* replace incorrect ThemeResource by StaticResource references
2019-08-20 12:55:49 -07:00
Rudy Huyn
5966503703 Fix regression bug with application title no longer grayed out. (#632)
Move back the VisualStateManager node to the root XAML element to fix visual states of the titlebar.

### How changes were validated:
- Manually

Fixes #631
2019-08-19 16:34:49 -07:00
Matt Cooley
24d997dd00
Update localized strings 2019-08-08 (#636) 2019-08-08 18:37:05 -07:00
Howard Wolosky
c994e49279
Prevent Dev title from showing up on Store builds (#627)
Commit 0722781fc updated the app to use `DevAppName` for the
app's window title when it was a non-official build, based on
the state of `IsStoreBuild`.

Unfortunately, `IsStoreBuild` is a _project_ level variable defined in
[build-app-internal.yaml](0722781fc6/build/pipelines/templates/build-app-internal.yaml (L36)),
but not a _compile-time_ defined value.

To solve this, we are now defining `IS_STORE_BUILD` in
`Calculator.vcxproj` when `IsStoreBuild='True'`, the same way that
we set `SEND_DIAGNOSTICS` for official builds, and we'll change the
window title based on that new `#define`.

Using this new `#define` can lead us down a slippery slope.  We need to
limit the amount of divergent code that we have between dev/official
builds.  This should be hopefully one of very few instances where
this value is ever used.
2019-08-06 16:32:13 -07:00
Wei (Waley) Zhang
796d171960 Always-on-Top mode implemented (#579) 2019-07-30 17:53:39 -07:00
Stephanie Anderl
8106691d7c
Fixed issue where UI Responsive events were not fired (#603)
* Fixed the WindowIdLog so that it is updated when a new WindowCreated event is fired

* Updated the windowidlog check in LogWindowCreated to use IsWindowIdInLog
2019-07-26 11:51:01 -07:00
Tanuja Kirthi Doddapaneni
0722781fc6 Modifying the title of the window to "Calculator [Dev]" (#531)
* Modifying the title of the window to "Calculator [Dev]" when the build isn't configured with `IsStoreBuild`

Fixes #439
2019-07-25 23:02:37 -07:00
Stephanie Anderl
a6384269bc Updated Calculator diagnostic data collection per the specification (#572)
- Removed unneeded diagnostic events and code
- Added and consolidated events into the events defined in the spec
2019-07-17 18:09:39 -07:00
Rudy Huyn
23550f751c Make History and Memory list items context menu accessible using keyboard (#432)
* Move History and Memory context menus to ListViewItemContainer so users can open them with keyboards

* replace static_cast by dynamic_cast
2019-07-16 14:24:27 -07:00
Rudy Huyn
2a5a52d44d Date difference: display the difference in days (only) when we aren't able to calculate the difference in days/weeks/months.. (#555)
* Display date difference in days if can't display in days/weeks/months/...

* add comments

* remove not used variable totalDaysDiff

* improve UpdateDisplayResult

* Display error message when the calculator can't calculate the difference between 2 dates
2019-06-30 18:22:29 -07:00
Howard Wolosky
25708f0bef
Ensure consistent margins/padding with currency converter keypad (#566)
Simplifies the layout of `ConverterNumPad` to match that
seen of `NumpadPanel` in Calculator.xaml by using the same
static margin and removing the use of columns that had been used
for dynamic margins.

Fixes #87
2019-06-28 15:45:43 -07:00
Matt Cooley
b3432c93c8
Update to SDK 18362 (#568) 2019-06-27 09:53:06 -07:00
Matt Cooley
33b885ac17
Update to v142 build tools for Visual Studio 2019 (#548)
* Update to build tools v142
* Update official build pipelines to use VS2019
* Update instructions to suggest updating to VS2019
2019-06-24 16:38:45 -07:00
David Kheri
1ee438ddaf Bound the calendar picker to the control above (#507)
* Bound the calendar picker to the control above

* collapsed textbox and added headertext to the calendar picker element

* collpased textbox from both To and From calendar picker used headertext instead

* localized strings for the new headers added for the calendar date pickers

* modified the resoruces file so as to localize the strings

* remapped the grid components after the removal of the text Block

* restored original spacing between components
2019-06-14 18:41:02 -07:00
Wei (Waley) Zhang
7276b5c7ce Fixes bug #483 by setting AccessibilityView property to Raw for hidden units
* Fixes bug #483 by setting AccessibilityView property to Raw for hidden units
2019-06-12 17:37:19 -07:00
Matt Cooley
2fd8dc1f9d
Update localized strings 2019-05-24 (#521) 2019-05-24 10:41:42 -07:00
Northurland
d4028cda95 Force compiler to use utf-8 so the project compiles on systems in Chinese (#516) 2019-05-22 10:16:17 -07:00
MelulekiDube
00f0f25dfc Added the name property for CalculationResult right/left scroll buttons on screen (#503)
* Added the property name to be shown on the Scrollable links to solve issue 482

* Added the x:uid tag for the buttons and also added the automationID

* Added two new uids keys for the left and right scroll buttons for the calculation result.
2019-05-17 15:54:34 -07:00
Mahdi Ghiasi
9b920f0d86 Removed entrance transition for about button in NavigationView (#506) 2019-05-17 11:10:28 -07:00
Rudy Huyn
9f47fe3fc8 Fix unit tests to run on non-english devices (#289)
* Force en-US for unit tests

* fix some spacing issues after merge

* remove default argument of LocalizationService to fix compilation issue in Release mode
2019-05-14 09:57:58 -07:00
Mahdi Ghiasi
860d6d3eb2 Removed GroupName from JumpList so items can't be pinened or removed by user. (#499)
https://stackoverflow.com/a/39436591/942659
2019-05-13 17:01:28 -07:00
Matt Cooley
c568ec787e
Update localized strings 2019-05-09 (#496) 2019-05-09 16:13:32 -07:00
Daniel Belcher
9f01c8168b
Secondary formatting changes (#489)
Description of the changes:
Adjusted some of the values in .clang-format
Add clang-format-all.ps1
Fix path to .clang-format in Calculator.sln

How changes were validated:
Manual.
2019-05-02 16:48:33 -07:00
Oleg Abrazhaev
2826d37056 Fix the project code style, as it is not consistent. (#236)
Fixes #202
This PR fixes code style for the project files.

The Problem
Different files in the project use different code style. That is not consistent and leads to harder maintenance of the project.

Description of the changes:
Have investigated and determined the most used code style across the given codebase
Have configured IDE and applied code style to all project files.
Have crafted clang-formatter config.
see https://clang.llvm.org/docs/ClangFormat.html
https://clang.llvm.org/docs/ClangFormatStyleOptions.html
Some cases were fixed manually
How changes were validated:
manual/ad-hoc testing, automated testing

All tests pass as before because these are only code style changes.
Additional
Please review, and let me know if I have any mistake in the code style. In case of any mistake, I will change the configuration and re-apply it to the project.
2019-05-02 11:59:19 -07:00
Pepe Rivera
c77f1de84c
Update winui to 2.1 (#484) 2019-05-01 09:26:30 -07:00
Eric Wong
2a29947a28 Collapse CurrencySecondaryStatus when no text is present in the text block (#467)
Fixes #313
In Scan/Item mode, Narrator focus navigates to hidden element “No next item” after “Update rates” link in "Currency Converter" window #313

Description of the changes:
Adds an x:Name to the CurrencySecondaryStatus text block
Adds a NormalCurrencyStatus visual state to the CurrencySecondaryStatusStates
Adds functionality to the CurrencySecondaryStatusStates to show or hide the CurrencySecondaryStatus text block.

How changes were validated:
Verified that the textblock is not visible in the accessibility tree via inspect.exe from the windows sdk.
Verified that Narrator also does not stop on the block when in scan mode.
Verified that the textblock is visible in the accessibility tree and read out in Narrator when the ChargesMayApplyCurrencyStatus or FailedCurrencyStatus viewstates are set.
2019-04-22 17:30:59 -07:00
cheezwhines
fab21191e2 Clicking on the same element in the hamburger view should re-open that view, like the menu items do (#447)
Fixes #437.
Clicking on the same element in the hamburger view should re-open that view, like the menu items do

Description of the changes:
-Fixed the bug that was listed

How changes were validated:
-manual
2019-04-19 18:59:10 -07:00
Rudy Huyn
bd04c92c1c Simplify title bar (#442)
Fixes #407 (partially) and #441

Description of the changes:
Remove TitleBarHelper and all <Border x:Name="CustomTitleBar" />
Let the system defines the draggable region
Centralize all events and functions associated to the title bar in a single control TitleBar instead of code splitted between MainPage/TitleBar/HistoryList/Memory.
Use the standard title bar when high contrast is activated instead of the custom one.
Modify the color of the title when the window doesn't have focus
Fix the right padding of the title bar with high contrast

How changes were validated:
Manually tested with LtR and RtL languages
Manually tested with high contrast
Tested when History and Memory flyout are opened
2019-04-19 18:49:08 -07:00
Rudy Huyn
0d31d5a5a2 Fix UI issues with UnitConverter in RtL (#410)
Fix #409 - Some content in Currency Converter not right-aligned properly in RtL
Fix #59 Currency symbol precedence is opposite of system setting in RTL languages

Description of the changes:
Add a property FlowDirectionHorizontalAlignment in UnitConverter to align some controls to the right (without modifying the FlowDirection of their parent items)
Force FlowDirection of Value1Container and Value2Container to LeftToRight (but align panels to the right)

How changes were validated:
Tested with LtR and RtL languages and with currency symbols on the left and on the right.
2019-04-19 18:37:50 -07:00
Lance McCarthy
8520d3fc74 Refactored XAML x:Names (#433)
Description of the changes:
-Refactored all x:Names to use the generally accepted Pascal-Casing

How changes were validated:
Unit Tests
Manual Tests
2019-04-18 16:01:47 -07:00
Rudy Huyn
de65db6197 Decrease CPU usage of OverflowTextBlock + optimization (#403)
Fixes #402 and #414
Divide by 4 the CPU usage of OverflowTextBlock when buttons are pressed very quickly.

Description of the changes:

Xaml-side:
OverflowTextBlock has some performance issues:
double scrollviewer: the listview was in a scrollviewer, while the control already containing one -> it breaks the virtualization of the listview and impacts on UI performance.
The listview used a StackPanel, this panel doesn't support virtualization of ListViewItems contrary to ItemsStackPanel

No ListView-specific features were used, an ItemsControl is more efficient and lighter.
refactor how we manage the visibility of the left/right buttons in OverflowTextBlock, the new version is more reactive and will not display the right arrow when not necessary (see GIF below).
remove the ItemContainerSelector ExpressionItemContainerStyle, not really used by OverflowTextBlock

remove UI glitches generated by ChangeView when users type fast (control partially hidden and scrolling issues, see the GIF below).
only modify the accessibility view when it's necessary

ViewModel-side:
stop fully refreshing ExpressionTokens in StandardCalculatorViewModel when a new command were sent, instead, use a IObservableVector to only send new tokens to the UI (in average only 1 or 2 UI items are refreshed while the full expression was refreshed before)

How changes were validated:
Manually
2019-04-18 15:21:33 -07:00
Seulgi Kim
853704c1c2 Add support for Pyeong, a Korean floorspace unit. (#444)
Fixes #382
Description of the changes:
Add Pyeong as an Area conversion unit.
Pyeong shows up only if the user's current region is Korea ( i.e. region is either KP or KR ).
Added Korean translation for Pyeong (평). For other locales, we default to English ( Pyeong ).
How changes were validated:
Manually tested the below

For non-Korean regions, Pyeong does not show up.

Korean region with Korean locale => Pyeong shows up and Pyeong is correctly translated.
pyeong_Korean

Korean region with English locale => Pyeong shows up and Pyeong is in English.
pyeong_English

Korean region with simplified Chinese locale => Pyeong shows up and Pyeong is in English.
pyeong_Chinese
2019-04-16 17:53:08 -07:00
jatinkumar
c150cd4ece Removed AppBar, OperatorTextBox and OperandTextBox controls (#440)
Fixes #407 
Removed AppBar, OperatorTextBox and OperandTextBox controls
2019-04-16 17:46:07 -07:00
Rudy Huyn
109326508f Improve the support of Narrator with parenthesis (#368)
* Modify how we manage Narrator with parenthesis and refactor right parenthesis

* Optimization

* remove extra spaces

* take feedback into account
2019-04-15 09:31:02 -07:00
Rudy Huyn
af41a183a7 Optimize and simplify CalculationResult to be able to update the FontSize and the DisplayMargin without fully updating the Style. (#217)
- Merge the 3 CalculationResultStyle(S|M|L) in App.xaml
- Only modify CalculationResult::*FontSize in Calculator.xaml instead of fully updating the style of the control.
- Create a new property MaxFontSize in order to be able to update it without being forced to fully update the Style (because m_startingFontSize was set in OnApplyTemplate)
- Modify how DisplayMargin is managed to prevent the textblock Margin to shift when we update its value (without fully updating the Style).
2019-04-05 13:04:39 -07:00
Matt Cooley
e7eace57f8
Update localized strings 2019-04-04 (#438) 2019-04-05 08:39:29 -07:00
Rudy Huyn
6f49b17bf0 Add Reveal Highlight on AccentCalcButtonStyle + fix accessibility iss… (#374)
Add Reveal Highlight effect on the 4 basic operator buttons + Equal button (effect more visible with purple and all grey-ish accent colors). Also fixes a high contrast issue when the operator buttons were pressed.
2019-04-04 16:55:12 -07:00
Rudy Huyn
ef3f5e9cbb Improve performance of SupplementaryResult + Modify the height of RowDltrUnits when UnitConverter is in Landscape (#249)
* Modify the height of RowDltrUnits when UnitConverter  is in LandscapeLayout mode

* clean

* Use the same layout than the existing one while fixing the issue

* Refactor SupplementaryItemsControl to improve performance, not rely on parents and not force the parent element to be HorizonAlignment="stretch"

* take feedback into account

* add HorizontalNoOverflowStackPanel to vcproj.filters

* format conditionals

* replace max by std::max
2019-03-26 11:24:36 -07:00
Rudy Huyn
e9aea9237d Fix padding of unit converter when the current locale displays symbols on the left (#373) 2019-03-26 10:54:14 -07:00
Daniel Belcher
19e61e2b53 Disable use of min/max macros defined by Windows headers. (#363)
Description of the changes:
  Disable Windows-provided min/max macros using the NOMINMAX flag. Add the flag to each project's pch to disable the macros across the solution.

How changes were validated:
  Project builds.
  Unit tests pass.
  Smoke tests.

Fixes #362.
2019-03-25 11:28:29 -07:00
Matt Cooley
e55ffe5b8d [Build] Remove conditional inclusion of resw files (#360)
The .resw files for all languages are expected to be checked into the repo (this used to not the the case). Let's remove the conditions in the project file which ignore them if they don't exist.

Additionally removes pseudo-loc resource references from the build as pseudo-loc resources aren't currently being generated.
2019-03-25 11:16:15 -07:00
Rudy Huyn
65045e9375 Update the year in the Copyright string (#320)
Templatize the copyright string and use a build variable to set the year for use across the entire app.

How changes were validated:
Tested with English and French and with different dates.
2019-03-25 11:11:24 -07:00
Matt Cooley
c4361e2bdf
Update localized strings (#357) 2019-03-22 12:29:18 -07:00
Matt Cooley
2a7c53a27d
Add TemporaryKey.pfx (#354) 2019-03-21 17:03:42 -07:00
Daniel Belcher
3bff99b323 ViewModelProperties namespaces converted to static member properties. (#306) 2019-03-20 09:56:59 -07:00
Rudy Huyn
4b6b8fa8fa Fix auto-scaling of CalculationResult when the current locale displays currency symbols on the right (#246)
* Fix auto-scaling of CalculationResult when the current locale displays symbols at the right

* Formatting

* add padding

* modify padding of ValueContainer
2019-03-20 09:54:02 -07:00
Rudy Huyn
21e15c426e hide history button in programmer mode (#327)
Description of the changes:
  Hide the History button when in Programmer mode via VisualState

How changes were validated:
  Open Standard mode
  Switch to Programmer mode
  Verify that the History button isn't visible

Fixes #326
2019-03-18 14:22:44 -07:00
Nikita Potapenko
244fd8deee Fix grid.Row (#279)
Fixes #265
Fixes invalid grid.Row assignment for decimalSeparatorButton
2019-03-15 02:06:10 -07:00