Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[PTRun][OneNote] Improve the OneNote plugin #36813

Open
wants to merge 51 commits into
base: main
Choose a base branch
from

Conversation

Odotocodot
Copy link

@Odotocodot Odotocodot commented Jan 11, 2025

Summary of the Pull Request

This pull request improves the OneNote plugin by adding new features such as a notebook explorer and the ability to quickly create new notebooks, section groups, sections and pages.

base menu notebook explorer

PR Checklist

Detailed Description of the Pull Request / Additional comments

List of all new features:

  • View notes hierarchically (called notebook explorer)
    • This allows users to open all item types (not just pages) in OneNote from PTRun.
  • Quickly create new notebooks, section groups, sections and pages.
  • Search items by their title only.
  • Search pages only in a specific notebook, section group or section.
  • View recently edited pages.
  • New icons (option to match PowerToys theme or use colored icons).
  • The ability to see whether an item has unread changes.

This adds new plugin specific keywords:

Keyword Description
nb:\ Access the notebook explorer
rp: Quickly view recent pages
* Search items by title
> Search pages within an item (Only works in notebook explorer)

New settings:

  • Show an icon for items with unread changes.
  • Show encrypted sections (even if they are unlocked)
  • Show the recycle bin section group
  • Create coloured icons for notebooks and sections
  • COM Object timeout.
    • The delay before the COM object is removed from memory after user input. Creating a COM object is a slow process.
    • This setting is fine left as default, so can potential be removed if too confusing.
    • This is a work around given there is no api to know when the run window is opened or closed.

This also changes package dependencies, one of them is that LazyCache is not used so the lines mention below may not be needed any more.

<!-- HACK: Microsoft.Extensions.Hosting is referenced, even if it is not used, to force dll versions to be the same as in other projects. Really only needed since OneNote uses the LazyCache and NLog dependencies, which references older assemblies. -->
<PackageReference Include="Microsoft.Extensions.Hosting" />

Also as stated in #29348, this pull request is essentially porting non conflicting features from this OneNote plugin directly into PowerToys Run.

Validation Steps Performed

Manually tested:

  • Creating new items
  • Search capabilites
  • Correct icons and text displayed

@Odotocodot
Copy link
Author

@microsoft-github-policy-service agree

daverayment and others added 16 commits January 13, 2025 12:05
…geToText (microsoft#35600)

Adds support to ImageToText for all image filetypes supported by BitmapDecoder.
)

* init

* Use AotCompatibility instead

* Replace typeof(Lanaguge) with GetValues<Language>

* Create new folder to place source generation context file.

---------

Co-authored-by: Yu Leng (from Dev Box) <[email protected]>
* Fix borders for windows in the Settings UI

* Fix HOSTS window

* Fix Advanced Paste

* Fix Environment Variables

* Fix File Locksmith

* Fix Peek, with a caveat

* Fix Registry Preview

* Remove unused imports

* Clean up imports in OobeShellPage

* Move OSVersionHelper from Common.UI up into ManagedCommon
Added Activate() to bring Peek.UI window into focus upon Toggle. This allows the UI to be presented even if it was previously minimized.
* Update Run docs README

* Remove System dupe
* Added option for exact match shortcut

* Fix spell-check
…6879)

* [Deps] Update NuGet packages to version 9.0.1

Updated several NuGet packages from version 9.0.0 to 9.0.1, including:
- Microsoft.Data.Sqlite
- Microsoft.Bcl.AsyncInterfaces
- Microsoft.Extensions.DependencyInjection
- Microsoft.Extensions.Logging
- Microsoft.Extensions.Logging.Abstractions
- Microsoft.Extensions.Hosting
- Microsoft.Extensions.Hosting.WindowsServices
- Microsoft.Win32.SystemEvents
- Microsoft.Windows.Compatibility
- System.CodeDom
- System.ComponentModel.Composition
- System.Configuration.ConfigurationManager
- System.Data.OleDb
- System.Diagnostics.EventLog
- System.Diagnostics.PerformanceCounter
- System.Drawing.Common
- System.Management
- System.Runtime.Caching
- System.ServiceProcess.ServiceController
- System.Text.Encoding.CodePages
- System.Text.Json

* [Deps] Update NOTICE.md
microsoft#36769)

* [Workspaces] fixing bug: editor starts outside of visible desktop area

* Update src/modules/Workspaces/WorkspacesEditor/MainWindow.xaml.cs

Co-authored-by: Seraphima Zykova <[email protected]>

---------

Co-authored-by: Seraphima Zykova <[email protected]>
…#36751)

* [Workspaces] Implementing set and get GUID to/from HWND to distinguish windows moved by the Workspaces tool

* After launch and capture copy the CLI args from the "original" project

* Fix getting GUID

* spell check

* modification to be able to handle different data sizes on different systems

* code optimisation

* Replacing string parameter by InvokePoint

* renaming variable
…and Advanced Paste (microsoft#36858)

* [Advanced Paste] Use background thread for runner-Advanced Paste interaction

* Fixed typo
* Remove all VideoConferenceMute related code and files

* Clean up vcm driver registry keys

* Also remove the Webcam report tool

* Also clean out video conference on the installer

* Fix spellcheck

* Remove comment about video conf

* Update gpo files revision

* Revert removing the VCM policies

* Deprecate VCM GPO policy

* Change deprecation message to show first supported version

* Tweak supported strings in the adml
* Goodbye friends

Forever part of the team 😢

* Update COMMUNITY.md

* Fix formatting issues in COMMUNITY.md
jaimecbernardo and others added 22 commits January 16, 2025 20:52
* ZoomIt initial code dump

* Change vcxproj to normalize dependency versions

* Fix code quality to build

* Add to PowerToys solution

* Clean out C-style casts

* Fix some more analyzer errors

* Constexpr a function

* Disable some warnings locally that it seemed better not to touch

* Add ZoomIt module interface

* Add GPO

* Add Settings page with Enable button

* Output as PowerToys.ZoomIt.exe

* Extract ZoomIt Settings definition to its own header

* Make ZoomItModuleInterface build with ZoomItSettings too

* WinRT C++ interop for ZoomItSettings

* From Registry To PowerToys Json

* Properly fix const_cast analyzer error

* Initial Settings page loading from registry

* Zoom mode settings

* Save settings

* Add file picker and DemoType file support

* Remaining DemoType settings

* Have ZoomIt properly reloading Settings and exiting

* Remove context menu entries for Options and Exit

* ZoomIt simple Break Options

* Break advanced options

* Simple Record settings

* Record Microphone setting

* Fix break background file picker title

* Font setting

* Fix build issues after merge

* Add ZoomIt conflict warning to Settings

* Exclude Eula from spell checking

* Fix spellcheck errors

* Fix spell check for accelerated menu items

* Remove cursor files from spellcheck. They're binary

* Fix forbidden patterns

* Fix XAML style

* Fix C# analyzers

* Fix signing

* Also sign module interface dll

* Use actual ZoomIt icon

* Add OOBE page for ZoomIt

* ZoomIt image for Settings

* Flyout and Dashboard entries

* Fix type speed slider labels

* Correctly load default Font

* Correctly register shortcuts on ZoomIt startup first run

* Fix modifier keys not changing until restart

* Show MsgBox on taken shortcut

* Start PowerToys Settings

* Normalize ZoomIt file properties with rest of PowerToys

* Add attribution

* Add ZoomIt team to Community.md

* More copyright adjustments

* Fix spellcheck

* Fix MsgBox simultaneous instance to the front

* Add mention of capturevideosample code use

* Add ZoomIt to process lists

* Add telemetry

* Add logging

* React to gpo

* Normalize code to space identation

* Fix installer build

* Localize percent setting

* Fix XAML styling

* Update src/settings-ui/Settings.UI/Strings/en-us/Resources.resw

Co-authored-by: Stefan Markovic <[email protected]>

* Fix spellcheck

* One more spellcheck fix

* Integrate LiveDraw feature changes from upstream

* Fix name reuse in same scope

* Fix c-style casts

* Also register LIVEDRAW_HOTKEY

* Fix newLiveZoomToggleKey

* Update LiveZoom description in Settings to take LiveDraw into account

* Fix spellcheck

* Fix more spellcheck

* Fix Sysinternals capitalization

* Fix ARM64 Debug build

* Support Sysinternals build (microsoft#36873)

* Remove unneeded files

* Make build compatible with Sysinternals

* Separate PowerToys ZoomIt product name (microsoft#36887)

* Separate PowerToys ZoomIt product name

To help maintain the Sysinternals branding in the standalone version.

* Clarify branding-related includes

* Remove ZoomIt.sln

* Add foxmsft to spell-check names

* Add ZoomIt to README

* Add ZoomIt to GH templates

* Add ZoomIt events to DATA_AND_PRIVACY.md

* Remove publish_config.json

* Remove publish_config.json from vcxproj too

---------

Co-authored-by: Mark Russinovich <[email protected]>
Co-authored-by: Alex Mihaiuc <[email protected]>
Co-authored-by: John Stephens <[email protected]>
Co-authored-by: Stefan Markovic <[email protected]>
…#36909)

* Revove some unneeded changes after pdating to .net9.1
…soft#36631)

* add context menus

* string resources for contextmenu

* fix line break parsing for MULTI_SZ

* better presentation of multiline values and value tooltip

* cleanup
…icrosoft#36717)

* Added angle units to PowerToys Run Calculator plugin.

* Update Resources.resx

* Added GitHub SpellCheck rule for 'gradians'.

---------

Co-authored-by: Heiko <[email protected]>
Removed Interop.Microsoft.Office.Interop.OneNote
Remove ScipBe.Common.Office.OneNote
Added the Humanizer package
Moved user facing strings to resources
Removed LazyCache package
Fix Mages package version
@Odotocodot Odotocodot requested a review from a team as a code owner January 18, 2025 12:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.