Resurrects the Pokedex extension I was working on before Luca was born.
This is a simple sample of a list with a _lot_ of items, and tags tags tags. It helps to repro a E_LAYOUT_CYCLE that we were seeing.
This also fixes that layout cycle, by removing that unneeded `StackPanel`
Fixes #WaitItLooksLikeINeverFiledThis
As discussed in #121.
Adds a new `IListItem.TextToSuggest` property. If an extension populates that, and the user hits right-arrow when the item is selected, we'll set the `SearchText` to that text.
I didn't give it a UI treatment, because
1. I'm not good at XAML
2. As noted in https://github.com/zadjii-msft/PowerToys/issues/121#issuecomment-2464704543, there's complicated edge cases here. You have to track what's actually been typed, and then also have a ghost suggestion for the very first item (before the user types/up/downs at all).
I didn't think it was valuable to implement that right now before we have A Real App.
* targets #144
* which targets #142
* which targets #141
and those guys are all merged as of #150
Originally in #142 and #144, but github didn't automatically change the base branch 😨
-----
As discussed in #77.
Biggest change is that `IDynamicListPage` doesn't have `GetItems(String query)` anymore. Instead, the host will call the `SearchText` setter, and the list can raise `ItemsChanged` to let the host know to call `GetItems` again
See src/modules/cmdpal/Exts/EverythingExtension/Pages/EverythingExtensionPage.cs for an example of how to update dynamic extensions.
Closes#131Closes#77
----
* I put the sample pages into a single top-level command, so deploying that extension didn't add 5 top-level commands to your palette
* I tightened up some of the phrasing for the samples, and the builtins, to be less repetitive
* I added a few icons
* I made the markdown sample longer (and work more reliably)
* and also thank you Hawker for auto-format on save, you the man
This updates the spec to enable CmdPal to host settings for extensions. Extensions can provide us essentially, a FormPage, and we'll give that special treatment as _the settings_ for the extension. We're gonna use this in #100 in the future.
For now, I also added a helper set of classes for quickly constructing a `Settings` object, which is basically just a dictionary. Notably though, it lets us define simple control types for each of these settings, which we can then turn into the `IFormPage` on the developer's behalf.
See the [`SampleSettingsPage.cs`](https://github.com/zadjii-msft/PowerToys/compare/main...dev/migrie/s/settings-for-extensions#diff-ac06e39258579222e94539315ad59e0bf04f3b0f3e83a2f8a11aa5a42d569ebe) for an example.
Closes#123
* [Settings]Fix release cycle links in OOBE What's New page (#35801)
* Fix release cycle link in OOBE
Previously it would point to the 5ft last release instead.
* Adressed feedback
* [Deps]Upgrade System.IO.Abstractions (#35656)
* Upgrade System.IO.Abstractions to the latest stable release
Whoops.
We were accidentally deploying all the extension packages to the _same_ directory. That meant we could only ever register one at a time - including the extension host. yikes.
## Summary of the Pull Request
- integrate all projects into PowerToys.sln
- remove all other .sln files
- remove unneeded files IMO (LET ME KNOW IF SOME OF THOES FILES ARE ACTUALLY NEEDED!)
Allow extensions to send status messages to the host app.
As an example, you can now:
```cs
ExtensionHost.LogMessage(new LogMessage() { Message = "This is a test, from the HackerNews sample" });
```
And have that appear in the host apps debug console.
Closes#134Closes#118
Should also make resolving #87 and #135 easier.
We don't have the design of these status messages totally planned out yet. But this should at least make it possible. For those in the back, **this does not actually display these messages anywhere in the host UX currently**.
-----
Other information that's currently included:
* The host app's HWND. Way too many times does the Windows API need an HWND, which extensions won't have, but the host app does.
* The `LanguageOverride`. This is in case we ever want to support `PrimaryLanguageOverride` in the host app.
Actually implements the mastodon extension. Open APIs are great. My baby sleeping for four hours is even better.
This sample has a list of posts. Each item has Details, which are the post bodies. viewing the post opens a form page with the whole thread of that post and any replies on it.
* closes#101
* closes#79
* Also removes the space for the `HeroImage` if we don't need it.
* Fixes an issue where forms straight up didn't work (they weren't loading on the main thread)
* Adds a helper `OpenUrl` command (does what it says on the tin)
This extension covers a lot of concepts so I think it's a valuable test. I'm hoping to do auth for allowing you to post/comment/favorite/boost/etc in the future.
Also helped understand what we need for pagination.
Also revealed that ItemsRepeaters are cursed.
As discussed.
I'm getting rid of ``ISection[]`` and replacing that with just a `String Section { get; }`[^1] property on `ListItem`'s themselves.
I didn't want to bother wasting engineering resurrecting the `SectionListView` thing in the prototype without `ISection`s, so I'll just leave that for us to implement The Right Way in the MVVM exe.
This should keep the prototype running, and keep us moving forward
[^1]: we discussed making this an object. I didn't here, but we probably can in the future.
* first pass for windows services core ext
* added Windows Registry Plugin
* updated PR to reflect wt profiles, registry, and services extensions and incorporating feedback
* first pass for windows settings
* Added gh issues for TODOs
* fixed placeholder text for open command and added additional GH issue refs
* move list page and command to ctor to avoid new allocation each time TopLevelCommands is invoked
* change KeepOpen to Dismiss on CommandResult for OpenSettingsCommand
---------
Co-authored-by: Mike Griese <migrie@microsoft.com>
After we upgraded Windows App SDK to 1.6, Dev Files Preview on Peek has been broken on ARM64.
For .86, we've added WebView2 to Registry Preview in order to have Monaco Editor as the text editor, which is also broken on ARM64.
After a lengthy investigation, it seems we've found the core issue, PowerToys has been shipping with a x64 Microsoft.Web.WebView2.Core.dll in the ARM64 installer, which fails at runtime.
We seem to have hit a version of https://github.com/microsoft/WindowsAppSDK/issues/4826
When we build PowerToys in Dart for release, we publish some of the C# WinUI3Apps after building PowerToys and before signing / building the install. This means that the WindowsAppSDK build will recopy its WebView2 dependency, which for some reason is ARM64. On local builds of PowerToys, PowerRename, a C++ WinAppSDK application finished last, which copies the right dll and it's the reason we weren't being able to repro the issue on local builds of ARM64 PowerToys.
This PR solves the issue by including a short time hack in the CI to copy the right dll after publishing the C# WinUI3Apps when building for ARM64.
## Validation Steps Performed
Waiting for 4 concurrent builds of ARM64 from Dart to test whether the problem is solved.
* first pass for windows services core ext
* added Windows Registry Plugin
* updated PR to reflect wt profiles, registry, and services extensions and incorporating feedback
* fixing dead code
* adjusting stuff from here to there
* No longer crashing! a win!
* Resources now
* spelling
* adjusting comments for xaml formatting
* added in new top level icons
* Fixing
* adjusting the core container logic based on feedback. this is actually simplier and just leverages the builti in stuff as well
* getting frame_nav functional again, thanks @davidegiacometti
* making a one time hit for union
* Update src/settings-ui/Settings.UI/ViewModels/ShellViewModel.cs
Co-authored-by: Jeremy Sinclair <4016293+snickler@users.noreply.github.com>
* expanding code that @davidegiacometti suggestedion. 🔥
* ensure parent is always expanded when page is changed
* don't use static
---------
Co-authored-by: Ethan Fang <ethanfang@microsoft.com>
Co-authored-by: Jeremy Sinclair <4016293+snickler@users.noreply.github.com>
Co-authored-by: Davide Giacometti <davide.giacometti@outlook.it>
Co-authored-by: Jaime Bernardo <jaime@janeasystems.com>
* Data diagnostics opt-in
* [c++] Drop DROP_PII flag
* Bump telemtry package to 2.0.2
* Drop DropPii from custom actions
* Cleanup
* Do not start manually C# EtwTrace. FZ engine exit event.
* ImageResizer, PowerRename, FileLocksmith prev handlers
* Revert C# handlers exe logging
* Revert "Revert C# handlers exe logging"
This reverts commit 4c75a3953b.
* Do not recreate EtwTrace
* consume package
* xaml formatting
* Fix deps.json audit
* Update telem package paths
* Address PR comments
* Fix AdvancedPaste close on PT close
* Override etl file name for explorer loaded dlls
Start/stop tracer when needed for explorer loaded dlls to prevent explorer overload
* Fix setting desc
* Fix missing events
* Add infobar to restart when enable data viewing
* Flush on timer every 30s
* [Settings] Update View Data diagnostic description text
[New+] Add tracer
* Show Restart info bar for both enable/disable data viewer
* Fix newplus
* Fix stuck on restart and terminate AdvPaste exe on destroy()
* [Installer] Add tracer
* Address PR comment
* Add missing tracers
* Exclude etw dir from BugReport
* Fix bad merge
* [Hosts] Proper exit on initial dialog
* [OOBE] Make Data diagnostic setting visible without scroll
* [OOBE] Add hiperlynk to open general settings
* Disable data view on disabling data diagnostics
* Don't disable View data button
* Fix disabling data viewing
* Add missing dot
* Revert formatting
This is his Everything extension from the Hackathon. I'm merging this in as-is, to use as a base for future testing. I don't want to have a bunch of prototypes that are totally orphaned
It requires Everything to be running in the background.
My changes are
* 0e2d9edfcec65b032adc860ffb5be04bb3076f07: merge main
* 7d1e4dfeb54e58838c75a2209bd85dc2ccf14448: don't use an absolute path to everything64.dll
* 3f71bd5670e98d508291516db34c583a2d2d9e13: Add a `Details` to the error element that's displayed when there's an exception from an extension.
* 67453d732f0e825913f232e04d05d934306518c7: Add actual error messages specific to Everything
* a69f811594aa4f18756e60293e7bcd9cee16341a: Use the x86 path to the icon, if needed
---------
Co-authored-by: Connor Plante <connor.plante@gmail.com>
* **Languages.cs**
- Add `GetDefaultLetterKeySRCyrillic` method for Serbian Cyrillic letters.
- Add `SR_CYRL` entry to `Language` enum.
- Update `GetDefaultLetterKey` method to include `Language.SR_CYRL`.
* **PowerAccentPage.xaml**
- Add `ComboBoxItem` for Serbian Cyrillic in `SelectedLanguage` `ComboBox`.
* **Resources.resw**
- Add entry for Serbian Cyrillic.
* **PowerAccentViewModel.cs**
- Add `SR_CYRL` to the list of supported languages.