-
-
Notifications
You must be signed in to change notification settings - Fork 328
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
NotifyIcon context menu - initial prototype
saving this here so i can see if there's a better way to do stuff first before adding functionality
- Loading branch information
1 parent
ee9f339
commit 4705bec
Showing
5 changed files
with
121 additions
and
2 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,35 @@ | ||
<ui:UiWindow x:Class="Bloxstrap.UI.Elements.NotifyIconMenu" | ||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" | ||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" | ||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008" | ||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" | ||
xmlns:ui="http://schemas.lepo.co/wpfui/2022/xaml" | ||
xmlns:local="clr-namespace:Bloxstrap.UI.Elements" | ||
mc:Ignorable="d" | ||
Title="NotifyIconMenu" | ||
Background="{ui:ThemeResource ApplicationBackgroundBrush}" | ||
MinWidth="0" | ||
MinHeight="0" | ||
Width="0" | ||
Height="0" | ||
ShowInTaskbar="False" | ||
WindowStyle="None" | ||
Loaded="Window_Loaded"> | ||
<ui:UiWindow.ContextMenu> | ||
<ContextMenu> | ||
<MenuItem Header="_Bold" | ||
IsCheckable="True"/> | ||
<MenuItem Header="_Italic" | ||
IsCheckable="True" /> | ||
<Separator /> | ||
<MenuItem Header="I_ncrease Font Size" /> | ||
<MenuItem Header="_Decrease Font Size" /> | ||
<MenuItem x:Name="TestMenuItem" Header="test" IsCheckable="True" Click="TestMenuItem_Click" /> | ||
</ContextMenu> | ||
</ui:UiWindow.ContextMenu> | ||
<StackPanel VerticalAlignment="Center" HorizontalAlignment="Center"> | ||
<!--<ProgressBar IsIndeterminate="True" />--> | ||
<TextBlock Margin="16" Text="if this stops spinning ur SCREWED!!!!!!!!!" /> | ||
<ui:ProgressRing Margin="16" IsIndeterminate="True" /> | ||
</StackPanel> | ||
</ui:UiWindow> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,46 @@ | ||
using System; | ||
using System.Collections.Generic; | ||
using System.Linq; | ||
using System.Text; | ||
using System.Threading.Tasks; | ||
using System.Windows; | ||
using System.Windows.Controls; | ||
using System.Windows.Data; | ||
using System.Windows.Documents; | ||
using System.Windows.Input; | ||
using System.Windows.Interop; | ||
using System.Windows.Media; | ||
using System.Windows.Media.Imaging; | ||
using System.Windows.Shapes; | ||
|
||
using Bloxstrap.UI.ViewModels; | ||
|
||
namespace Bloxstrap.UI.Elements | ||
{ | ||
/// <summary> | ||
/// Interaction logic for NotifyIconMenu.xaml | ||
/// </summary> | ||
public partial class NotifyIconMenu | ||
{ | ||
public NotifyIconMenu() | ||
{ | ||
InitializeComponent(); | ||
} | ||
|
||
private void Window_Loaded(object? sender, RoutedEventArgs e) | ||
{ | ||
// this is an awful hack lmao im so sorry to anyone who reads this | ||
// https://stackoverflow.com/questions/357076/best-way-to-hide-a-window-from-the-alt-tab-program-switcher#:~:text=ShowInTaskbar%20%3D%20false%3B%20Owner%20%3D%20form1,form%27s%20ShowInTaskbar%20property%20to%20false. | ||
var wndHelper = new WindowInteropHelper(this); | ||
long exStyle = NativeMethods.GetWindowLongPtr(wndHelper.Handle, NativeMethods.GWL_EXSTYLE).ToInt64(); | ||
exStyle |= NativeMethods.WS_EX_TOOLWINDOW; | ||
NativeMethods.SetWindowLongPtr(wndHelper.Handle, NativeMethods.GWL_EXSTYLE, (IntPtr)exStyle); | ||
} | ||
|
||
// i tried to use a viewmodel but uhhhhhhh it just didnt work idk | ||
private void TestMenuItem_Click(object sender, RoutedEventArgs e) | ||
{ | ||
Controls.ShowMessageBox($"hi how u doing i am {TestMenuItem.IsChecked}", MessageBoxImage.Warning); | ||
} | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters