Files
modernkeepass/ModernKeePass/Views/UserControls/TopMenuUserControl.xaml.cs

227 lines
8.7 KiB
C#
Raw Normal View History

using System;
2018-08-03 17:41:52 +02:00
using System.Windows.Input;
2018-07-02 18:23:43 +02:00
using Windows.UI.Xaml;
// The User Control item template is documented at http://go.microsoft.com/fwlink/?LinkId=234236
namespace ModernKeePass.Views.UserControls
{
public sealed partial class TopMenuUserControl
{
2018-08-03 17:41:52 +02:00
public ICommand SaveCommand
2018-07-02 18:23:43 +02:00
{
2018-08-03 17:41:52 +02:00
get { return (ICommand)GetValue(SaveCommandProperty); }
2018-07-02 18:23:43 +02:00
set { SetValue(SaveCommandProperty, value); }
}
public static readonly DependencyProperty SaveCommandProperty =
DependencyProperty.Register(
nameof(SaveCommand),
2018-08-03 17:41:52 +02:00
typeof(ICommand),
2018-07-02 18:23:43 +02:00
typeof(TopMenuUserControl),
new PropertyMetadata(null, (o, args) => { }));
2018-08-03 17:41:52 +02:00
public ICommand EditCommand
2018-07-02 18:23:43 +02:00
{
2018-08-03 17:41:52 +02:00
get { return (ICommand)GetValue(EditCommandProperty); }
2018-07-02 18:23:43 +02:00
set { SetValue(EditCommandProperty, value); }
}
public static readonly DependencyProperty EditCommandProperty =
DependencyProperty.Register(
nameof(EditCommand),
2018-08-03 17:41:52 +02:00
typeof(ICommand),
2018-07-02 18:23:43 +02:00
typeof(TopMenuUserControl),
new PropertyMetadata(null, (o, args) => { }));
2018-08-03 17:41:52 +02:00
public ICommand DeleteCommand
2018-07-02 18:23:43 +02:00
{
2018-08-03 17:41:52 +02:00
get { return (ICommand)GetValue(DeleteCommandProperty); }
2018-07-02 18:23:43 +02:00
set { SetValue(DeleteCommandProperty, value); }
}
public static readonly DependencyProperty DeleteCommandProperty =
DependencyProperty.Register(
nameof(DeleteCommand),
2018-08-03 17:41:52 +02:00
typeof(ICommand),
2018-07-02 18:23:43 +02:00
typeof(TopMenuUserControl),
new PropertyMetadata(null, (o, args) => { }));
public ICommand MoveCommand
2018-07-02 18:23:43 +02:00
{
get { return (ICommand)GetValue(MoveCommandProperty); }
set { SetValue(MoveCommandProperty, value); }
2018-07-02 18:23:43 +02:00
}
public static readonly DependencyProperty MoveCommandProperty =
2018-07-02 18:23:43 +02:00
DependencyProperty.Register(
nameof(MoveCommand),
2018-08-03 17:41:52 +02:00
typeof(ICommand),
2018-07-02 18:23:43 +02:00
typeof(TopMenuUserControl),
new PropertyMetadata(null, (o, args) => { }));
2020-04-15 19:06:13 +02:00
public ICommand RestoreCommand
{
get { return (ICommand)GetValue(RestoreCommandProperty); }
set { SetValue(RestoreCommandProperty, value); }
}
public static readonly DependencyProperty RestoreCommandProperty =
DependencyProperty.Register(
nameof(RestoreCommand),
typeof(ICommand),
typeof(TopMenuUserControl),
new PropertyMetadata(null, (o, args) => { }));
2018-08-03 17:41:52 +02:00
public ICommand SortEntriesCommand
{
2018-08-03 17:41:52 +02:00
get { return (ICommand)GetValue(SortEntriesCommandProperty); }
set { SetValue(SortEntriesCommandProperty, value); }
}
public static readonly DependencyProperty SortEntriesCommandProperty =
DependencyProperty.Register(
nameof(SortEntriesCommand),
2018-08-03 17:41:52 +02:00
typeof(ICommand),
typeof(TopMenuUserControl),
new PropertyMetadata(null, (o, args) => { }));
2018-07-02 18:23:43 +02:00
2018-08-03 17:41:52 +02:00
public ICommand SortGroupsCommand
{
2018-08-03 17:41:52 +02:00
get { return (ICommand)GetValue(SortGroupsCommandProperty); }
set { SetValue(SortGroupsCommandProperty, value); }
}
public static readonly DependencyProperty SortGroupsCommandProperty =
DependencyProperty.Register(
nameof(SortGroupsCommand),
2018-08-03 17:41:52 +02:00
typeof(ICommand),
typeof(TopMenuUserControl),
new PropertyMetadata(null, (o, args) => { }));
public Visibility SortButtonVisibility
{
get { return (Visibility)GetValue(SortButtonVisibilityProperty); }
set { SetValue(SortButtonVisibilityProperty, value); }
}
public static readonly DependencyProperty SortButtonVisibilityProperty =
DependencyProperty.Register(
nameof(SortButtonVisibility),
typeof(Visibility),
typeof(TopMenuUserControl),
new PropertyMetadata(Visibility.Collapsed, (o, args) => { }));
2020-04-15 19:06:13 +02:00
public Visibility MoveButtonVisibility
{
get { return (Visibility)GetValue(MoveButtonVisibilityProperty); }
set { SetValue(MoveButtonVisibilityProperty, value); }
}
public static readonly DependencyProperty MoveButtonVisibilityProperty =
DependencyProperty.Register(
nameof(MoveButtonVisibility),
typeof(Visibility),
typeof(TopMenuUserControl),
new PropertyMetadata(Visibility.Collapsed, (o, args) => { }));
public Visibility RestoreButtonVisibility
{
get { return (Visibility)GetValue(RestoreButtonVisibilityProperty); }
set { SetValue(RestoreButtonVisibilityProperty, value); }
}
public static readonly DependencyProperty RestoreButtonVisibilityProperty =
DependencyProperty.Register(
nameof(RestoreButtonVisibility),
typeof(Visibility),
typeof(TopMenuUserControl),
new PropertyMetadata(Visibility.Collapsed, (o, args) => { }));
public bool IsDeleteButtonEnabled
{
get { return (bool)GetValue(IsDeleteButtonEnabledProperty); }
set { SetValue(IsDeleteButtonEnabledProperty, value); }
}
public static readonly DependencyProperty IsDeleteButtonEnabledProperty =
DependencyProperty.Register(
nameof(IsDeleteButtonEnabled),
typeof(bool),
typeof(TopMenuUserControl),
new PropertyMetadata(true, (o, args) => { }));
2018-07-02 18:23:43 +02:00
2020-04-15 19:06:13 +02:00
public bool IsMoveButtonEnabled
{
get { return (bool)GetValue(IsMoveButtonEnabledProperty); }
set { SetValue(IsMoveButtonEnabledProperty, value); }
}
public static readonly DependencyProperty IsMoveButtonEnabledProperty =
DependencyProperty.Register(
nameof(IsMoveButtonEnabled),
typeof(bool),
typeof(TopMenuUserControl),
new PropertyMetadata(true, (o, args) => { }));
public bool IsEditButtonChecked
{
get { return (bool)GetValue(IsEditButtonCheckedProperty); }
set { SetValue(IsEditButtonCheckedProperty, value); }
}
public static readonly DependencyProperty IsEditButtonCheckedProperty =
DependencyProperty.Register(
nameof(IsEditButtonChecked),
typeof(bool),
typeof(TopMenuUserControl),
new PropertyMetadata(false, (o, args) => { }));
public event EventHandler<RoutedEventArgs> EditButtonClick;
public event EventHandler<RoutedEventArgs> DeleteButtonClick;
public event EventHandler<RoutedEventArgs> MoveButtonClick;
2020-04-15 19:06:13 +02:00
public event EventHandler<RoutedEventArgs> RestoreButtonClick;
2018-07-02 18:23:43 +02:00
public TopMenuUserControl()
{
InitializeComponent();
EditFlyout.Click += EditFlyout_Click;
}
private void EditFlyout_Click(object sender, RoutedEventArgs e)
{
IsEditButtonChecked = EditFlyout.IsChecked;
EditButton_Click(sender, e);
2018-07-02 18:23:43 +02:00
}
private void EditButton_Click(object sender, RoutedEventArgs e)
{
EditButtonClick?.Invoke(sender, e);
}
private void DeleteButton_Click(object sender, RoutedEventArgs e)
{
DeleteButtonClick?.Invoke(sender, e);
}
private void MoveButton_Click(object sender, RoutedEventArgs e)
{
MoveButtonClick?.Invoke(sender, e);
}
2020-04-15 19:06:13 +02:00
private void RestoreButton_Click(object sender, RoutedEventArgs e)
{
RestoreButtonClick?.Invoke(sender, e);
}
2018-07-11 13:48:15 +02:00
private void OverflowFlyout_OnOpening(object sender, object e)
{
DeleteFlyout.IsEnabled = IsDeleteButtonEnabled;
DeleteFlyout.IsEnabled = IsDeleteButtonEnabled;
EditFlyout.IsChecked = IsEditButtonChecked;
2020-04-15 19:06:13 +02:00
MoveFlyout.Visibility = MoveButtonVisibility;
RestoreFlyout.Visibility = RestoreButtonVisibility;
SortEntriesFlyout.Visibility = SortButtonVisibility;
SortGroupsFlyout.Visibility = SortButtonVisibility;
2018-07-11 13:48:15 +02:00
SortEntriesFlyout.Command = SortEntriesCommand;
SortGroupsFlyout.Command = SortGroupsCommand;
}
private void SortFlyout_OnOpening(object sender, object e)
{
SortEntriesButtonFlyout.Command = SortEntriesCommand;
SortGroupsButtonFlyout.Command = SortGroupsCommand;
}
2020-04-15 19:06:13 +02:00
2018-07-02 18:23:43 +02:00
}
}