Граф коммитов

567 Коммитов

Автор SHA1 Сообщение Дата
Daniel Belcher dd79d6fcd3 Move the CalculatorManager instance to be direct member data of the StandardCalculatorViewModel class.
Previously, the CalculatorManager was managed with a unique_ptr that was instantiated in the ViewModel's constructor and was never re-assigned.  Objects with long lifetime and larger memory footprint should live in dynamic memory, but the ViewModel itself lives in dynamic memory so that goal is still satisfied by storing the CalculatorManager directly in the class. The change allows the compiler to write a more efficient memory footprint for the same data.

- Verified by testing basic app functionality and running unit tests locally.
2019-02-28 16:26:19 -08:00
Brett Waldbaum d6917f5664
Merge pull request #40 from Microsoft/bwaldbaum-patch-1
Update ManualTests.md
2019-02-27 08:57:39 -08:00
Matt Cooley 28f982a6e1
Apply spell check (#41) 2019-02-26 20:41:04 -08:00
Brett Waldbaum fa5478ac5e
Update ManualTests.md
Fix line breaks and the Or hotkey markdown.
2019-02-26 17:16:53 -08:00
Brett Waldbaum 81a6f59430
Merge pull request #39 from Microsoft/bwaldbaum-patch-1
Fix license link in README.md
2019-02-26 16:18:34 -08:00
Brett Waldbaum df02025d2f
Fix license link in README.md
The link to the MIT License in README.md was broken.
2019-02-26 16:15:48 -08:00
David Grochocki 9c966fb797
Adding Windows Calculator Roadmap Document (#37)
* Create Roadmap.md

* Update Roadmap.md

* Adding reference to roadmap in README

* Update README.md
2019-02-25 15:56:35 -08:00
Matt Cooley 654f09f544
Fix spelling in some comments (#38) 2019-02-25 15:41:16 -08:00
Josh Koon ddc470949c
Rename scimath.h/cpp to RationalMath.h/cpp (#36) 2019-02-25 14:04:38 -08:00
Josh Koon 0cb5e9bae0
CalcEngine: Manage precision internally to Rational and convert functions to operator overrides (#35)
* Convert Rational::Negate to an operator override
* Convert Rational::Add to + and += operator overrides.
* Convert Rational::Sub to - and -= operator overrides.
* Convert Rational::Div and ::Mul to use /, /=, *, *= operator overrides.
* Convert Rational::Mod to use %= and % operator overrides
* Convert Rational::Rsh and ::Lsh to use >>=, >>, <<=, << operator overrides
* Convert Rational::And, ::Or, ::Xor to use &=, &, |=, |, ^=, ^ operator overrides
* Convert Rational relational functions to operator overrides
* Remove unnecessary precision arguments from Rational class and remove use of explicit Rational constructors in favor of implicit conversions for value types
* Remove unnecessary precision variable from RationalMath operations
* Replace unnecessary Rational::Not with Xor operation
* Remove unnecessary Rational::IsZero() in favor of == 0 comparisons
* Fix rounding issues in ratpak that result from using large precisions.
* Move assignment stmt out of IsCurrentTooBigForTrig
2019-02-25 11:41:32 -08:00
Howard Wolosky 424891516f Removing team contact email address from README
Removing the team contact email address from the README and disabled it from
accepting incoming mail from external users.  We want to encourage open communication
with the community, and so would prefer to defer all communication to open channels
whenever possible.
2019-02-25 09:48:32 -08:00
Josh Koon 73372283a0
CalcEngine: Remove the need to specify base/radix when working with Rational values (#31)
- Separates values from the representation (base/radix) of those values.
- Uses a single base for all values represented as Rationals.
- Rationals are converted to/from a specific base when they are converted to/from strings.
2019-02-22 10:00:19 -08:00
Matt Cooley 47f9996fa9
Auto-flight daily builds (#30)
The final step of the release pipeline is to submit the build to the Store and to our internal Aero dashboard.
2019-02-21 16:47:32 -08:00
Josh Koon 5a530c4bed
Change m_nPrecNum from int to size_t and rename to m_precedenceOpCount (#33) 2019-02-21 16:36:54 -08:00
Matt Cooley 1302d51afe
Update minor version to 1902 (#32) 2019-02-21 16:26:47 -08:00
Josh Koon 32fb8500cb
Fix Log10 function (#27) 2019-02-21 10:50:32 -08:00
Stephanie Anderl 24425c48fb Moved the pull_request_template.md to the .github folder so it will be picked up automatically in new pull requests (#26) 2019-02-20 15:42:26 -08:00
Stephanie Anderl 3808b43044
Merge pull request #21 from Microsoft/sanderl/prtemplate
Updated the PR template to make it more readable and fix Contributing.md link
2019-02-20 14:27:43 -08:00
Stephanie Anderl d9694868eb
Merge pull request #14 from Microsoft/sanderl-templates
Added Bug Report and Feature Request Issue Templates
2019-02-20 14:26:27 -08:00
Stephanie Anderl 73e685fe53 Added space after NewFeatureRequest.md link to make it easier to copy 2019-02-20 14:25:01 -08:00
Josh Koon 2e18f6f477
Move RADIX_TYPE enum into its own header (#25)
This change moves the RADIX_TYPE enum into its own header. This resolves a compilation error and reduces the dependency graph by allowing RadixToStringConverter to include just the enum header rather than the entire CalcEngine header.

Change verified by ensuring Calculator build locally.
2019-02-20 11:07:32 -08:00
Stephanie Anderl ba4bf407f2 reduced header size 2019-02-20 10:13:33 -08:00
Stephanie Anderl 99a60dddc5 removed 'the' before the link to the NewFeatureRequest.md link 2019-02-20 10:05:21 -08:00
Josh Koon 995f077127
CalcEngine: Convert NumObj* functions to use Rationals and move under CalcEngine::RationalMath namespace (#12)
* Converts NumObj* functions to use Rationals. Places new functions under CalcEngine::RationalMath namespace
* Moves functions that correspond to an operator to the Rational class with intent to convert to operators in the future
* Consolidates use of RatPack's NUMBER and RAT data types to Number/Rational classes and RationalMath namespace.
2019-02-19 07:46:17 -08:00
Matt Cooley 3e093155b1
Move build jobs to hosted pools (#22)
* Move build jobs to the Hosted VS2017 pool instead of our internal pool
* Move the prepare-release-internalonly job from a team-specific pool to a shared pool with more capacity
* Remove symbol publishing from PR/CI builds since it's not necessary; do it only in release builds
2019-02-19 07:40:15 -08:00
Matt Cooley cc69faf81d
Fix headers in README (#23) 2019-02-19 07:10:47 -08:00
Daniel Belcher f210290ddc - Avoid referencing project headers from precompiled headers.
Before this change, the pchs for CalcViewModel and Calculator project referenced project headers.  If those project headers (or any of their dependencies) were to change, then the pch would be recompiled, slowing local build times.

  By removing references to project headers, the pch will be compiled once and is resilient to changes in the project.  Now that project headers are explicit about their dependencies, when there is a change to a project header only the translation units referencing the modified header will need to be rebuilt.

- Manually tested by ensuring Calculator project builds locally.

@Microsoft/calculator-team
2019-02-14 18:20:25 -08:00
Stephanie Anderl e0ae35560d updated issue templates to put placeholder text in comments 2019-02-14 14:31:22 -08:00
Stephanie Anderl c4c0aa708c Shortened the headers, fixed the contributing link and made placeholder description text a comment 2019-02-14 14:12:33 -08:00
Howard Wolosky 56fe16349d
README updates (#17)
Adding the following sections:

* Telemetry notice
* Reporting security issues
* License reference
* Team contact email address
2019-02-14 13:57:22 -08:00
Stephanie Anderl 098563f3d1
Merge pull request #15 from Microsoft/sanderl-pr-template
Created pull_request_template.md
2019-02-13 13:52:46 -08:00
Stephanie Anderl 82cfa338d4 Added a before filing section and updated the device info section to inlcude the powershell commands to get the info 2019-02-13 10:57:13 -08:00
Stephanie Anderl b0fe92a94e updated @mentions to Microsoft/calculator-team and updated the how validated section to include a link to contributing.md 2019-02-13 10:29:12 -08:00
Pepe Rivera 362b4f9d1e
Merge pull request #16 from joseartrivera/joriv/OnLaunchSize
Resize app to appropriate dimensions on first launch
2019-02-13 09:56:01 -08:00
Matt Cooley 2ab114a71f
Update WinUI to 2.0.181018004 (#18)
Update the Microsoft.UI.Xaml NuGet package to a new version. The ARM64 framework package in 2.0.181018003.1 had entries missing from its manifest, so the classes in the package couldn't be activated.
2019-02-13 09:44:02 -08:00
Pepe Rivera 531a8a1b7b Use TryResizeView to resize calc on first launch 2019-02-12 13:50:09 -08:00
Pepe Rivera 296ccc867e
Merge pull request #1 from Microsoft/master
Merge with master
2019-02-11 14:51:56 -08:00
Stephanie Anderl f553203e11
Created pull_request_template.md 2019-02-11 12:00:33 -08:00
Stephanie Anderl 6afad0b7da Updated feature_request.md to link to NewFeatureRequest.md 2019-02-11 11:35:28 -08:00
Stephanie Anderl c558123cb2
Added Bug Report and Feature Request Issue Templates
Updated the default Bug Report template to customize the Device and Application information section. The Feature Request template is the default one.
2019-02-11 11:21:42 -08:00
Stephanie Anderl cb8775926a
Merge pull request #13 from Microsoft/sanderl/JapaneseEra
Date Calculation: Updated AdjustCalendarDate() to ensure we always add 365 when adding 1 year for Japanese calendar
2019-02-08 15:51:28 -08:00
Stephanie Anderl 2fc8196104 Moved all the Japanese Era logic inside the Year case of the switch statement 2019-02-08 15:42:28 -08:00
Stephanie Anderl 1bd4f1870c Updated calendar strings to use the CalendarIdentifiers object 2019-02-08 15:33:00 -08:00
Stephanie Anderl f8029942d4 Updated the AdjustCalendarDate() to account for the transition year quirk in the Japanese calendar. 2019-02-08 12:30:16 -08:00
David Grochocki 8f6a5f57aa
Merge pull request #11 from Microsoft/grochocki-patch-1
Fixing README typo
2019-02-05 16:13:06 -08:00
David Grochocki ff4e0824e8
Fixing README typo 2019-02-04 21:23:36 -08:00
Matt Cooley a2739b8de2
Don't send AppLifecycle telemetry unless SEND_TELEMETRY is defined (#10)
The app currently logs diagnostic events to ETW in various places. If we add certain flags to those events, the data is eligible to be sent as telemetry. (Whether it actually gets sent is controlled outside of Calculator--for example, there are lots of checks at the system level to ensure privacy settings are honored.)

Currently we set the "eligible for telemetry" flags only in official builds, so no telemetry gets uploaded while the app is in development. We already have this set up for the main TraceLogging provider, but we also need to do this for the AppLifecycle performance logging.
2019-02-04 12:06:02 -08:00
Matt Cooley ac63c1e1c2
Remove calcmanager ref (#9)
Calculator (the main app project) depends on CalcManager, but only transitively: Calculator -> CalcViewModel -> CalcManager.

However, Calculator's project file currently has a direct dependency on CalcManager. Let's remove this to make it harder to accidentally introduce new dependencies between the layers.

Also cleaning up some commented-out directives in the CalcManager MSBuild file.
2019-02-04 11:53:02 -08:00
Matt Cooley 177a606012
Clean up project structure in Visual Studio (#8)
A few small changes to improve the view of the code in Solution Explorer:
* Delete folders from solution explorer which don't appear on disk (Resource Files, PerfTrack)
* Delete files on disk which aren't compiled into the project (Type.xaml)
* Rename CalculatorHistory.Cpp to CalculatorHistory.cpp, for consistency with other files
2019-02-04 11:52:28 -08:00
Matt Cooley 4cadfb204d
Remove unused PLM code (#7)
Remove LayoutAwarePage, SuspensionManager, and other suspend-resume handling code. SuspensionManager::SaveAsync and related methods weren't actually called anywhere. I didn't attempt to remove the serialize/deserialize code at the ViewModel layer, although much of that is likely not needed either.

We may decide we want to persist more state through a suspend-terminate-resume cycle (as the app might have done a long time ago). But if we decide we want that, we should not use a persistence mechanism that's closely coupled to frame navigation.
2019-02-01 15:15:48 -08:00