Esempio n. 1
0
        public async Task DeleteImage()
        {
            var dialog = new MessageBoxStandardParams
            {
                ContentTitle      = "Confirm Deletion",
                ContentMessage    = $"Please confirm deletion of {Name} {ShortID}",
                ButtonDefinitions = ButtonEnum.OkCancel,
                Icon = Icon.Warning
            };
            var result = await ConfirmDeleteImage.Handle(dialog);

            if (result != ButtonResult.Ok)
            {
                return;
            }
            try
            {
                await _docker.Client.Images.DeleteImageAsync(
                    ID,
                    new ImageDeleteParameters()
                    );
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
            }
        }
Esempio n. 2
0
        /// <summary>
        /// Gets the prompt window.
        /// </summary>
        /// <param name="title">The title.</param>
        /// <param name="header">The header.</param>
        /// <param name="message">The message.</param>
        /// <param name="icon">The icon.</param>
        /// <param name="promptType">Type of the prompt.</param>
        /// <returns>IMsBoxWindow&lt;ButtonResult&gt;.</returns>
        public static IMsBoxWindow <ButtonResult> GetPromptWindow(string title, string header, string message, Icon icon, PromptType promptType)
        {
            var buttonEnum = promptType switch
            {
                PromptType.ConfirmCancel => ButtonEnum.OkCancel,
                PromptType.OK => ButtonEnum.Ok,
                _ => ButtonEnum.YesNo,
            };
            var font       = ResolveFont();
            var parameters = new MessageBoxStandardParams()
            {
                CanResize             = false,
                ShowInCenter          = true,
                ContentTitle          = title,
                ContentHeader         = header,
                ContentMessage        = message,
                Icon                  = icon,
                ButtonDefinitions     = buttonEnum,
                WindowStartupLocation = WindowStartupLocation.CenterOwner,
                FontFamily            = font.GetFontFamily(),
                WindowIcon            = StaticResources.GetAppIcon()
            };
            var window = new Controls.Themes.StandardMessageBox(buttonEnum);

            window.DataContext = new MsBoxStandardViewModel(parameters, window);
            return(new StandardMessageBox(window));
        }
Esempio n. 3
0
        public static IMsBoxWindow <ButtonResult> GetMessageBoxStandardWindow(MessageBoxStandardParams @params)
        {
            var window = new StandardWindow(@params.Style);

            window.DataContext = new MsBoxStandardViewModel(@params, window);
            return(new MsBoxWindowBase <StandardWindow, ButtonResult>(window));
        }
Esempio n. 4
0
 public MsBoxStandardViewModel(MessageBoxStandardParams @params, MsBoxStandardWindow msBoxStandardWindow) :
     base(@params, @params.Icon)
 {
     _window = msBoxStandardWindow;
     SetButtons(@params.ButtonDefinitions);
     ButtonClickCommand = new RelayCommand(o => ButtonClick(o.ToString()));
     EnterClickCommand  = new RelayCommand(o => EnterClick());
     EscClickCommand    = new RelayCommand(o => EscClick());
 }
 public MsBoxStandardViewModel(MessageBoxStandardParams @params, MsBoxStandardWindow msBoxStandardWindow) : base(@params)
 {
     ContentMessage = @params.ContentMessage;
     _window        = msBoxStandardWindow;
     SetButtons(@params.ButtonDefinitions);
     ButtonClickCommand = ReactiveCommand.Create <string>(ButtonClick);
     EnterClickCommand  = ReactiveCommand.Create(EnterClick);
     EscClickCommand    = ReactiveCommand.Create(EscClick);
 }
 public void ShowMessage(string title, string message, Window?owner = null)
 {
     Avalonia.Threading.Dispatcher.UIThread.InvokeAsync(() =>
     {
         // TODO replace this with a custom message box, this one doesn't work well
         MessageBoxStandardParams p = new MessageBoxStandardParams()
         {
             ContentTitle          = title,
             ContentMessage        = message,
             WindowStartupLocation = WindowStartupLocation.CenterOwner,
             ButtonDefinitions     = ButtonEnum.Ok,
             Style = Style.Windows
         };
         MessageBox.Avalonia.MessageBoxManager.GetMessageBoxStandardWindow(p).ShowDialog(owner ?? this);
     });
 }
Esempio n. 7
0
        /// <summary>
        /// Gets the confirm cancel window.
        /// </summary>
        /// <param name="title">The title.</param>
        /// <param name="header">The header.</param>
        /// <param name="message">The message.</param>
        /// <param name="icon">The icon.</param>
        /// <returns>MsgBox.BaseWindows.IMsBoxWindow&lt;MsgBox.Enums.ButtonResult&gt;.</returns>
        public static MsgBox.BaseWindows.IMsBoxWindow <MsgBox.Enums.ButtonResult> GetConfirmCancelWindow(string title, string header, string message, MsgBox.Enums.Icon icon)
        {
            var parameters = new MessageBoxStandardParams()
            {
                CanResize             = false,
                ShowInCenter          = true,
                ContentTitle          = title,
                ContentHeader         = header,
                ContentMessage        = message,
                Icon                  = icon,
                ButtonDefinitions     = MsgBox.Enums.ButtonEnum.OkCancel,
                WindowStartupLocation = WindowStartupLocation.CenterOwner
            };
            var font = ResolveFont();

            var window = new Controls.Themes.StandardMessageBox(parameters.Style);

            parameters.Window  = window;
            window.Icon        = StaticResources.GetAppIcon();
            window.FontFamily  = font.GetFontFamily();
            window.DataContext = new MsgBox.ViewModels.MsBoxStandardViewModel(parameters);
            return(new StandardMessageBox(window));
        }
Esempio n. 8
0
        private async void MainWindow_Closing(object sender, System.ComponentModel.CancelEventArgs e)
        {
            e.Cancel = _dataContext().Saved == "*";
            if (_dataContext().Saved == "*")
            {
                var msgBoxParams = new MessageBoxStandardParams
                {
                    ContentTitle          = "Save",
                    ContentMessage        = "You still have unsaved changes. Are you sure you want to exit?",
                    ButtonDefinitions     = MessageBox.Avalonia.Enums.ButtonEnum.YesNo,
                    WindowStartupLocation = WindowStartupLocation.CenterOwner
                };
                var window = MessageBox.Avalonia.MessageBoxManager
                             .GetMessageBoxStandardWindow(msgBoxParams)
                ;
                var task = await window.ShowDialog(this);

                if (task == ButtonResult.Yes)
                {
                    _dataContext().Saved = "";
                    this.Close();
                }
            }
        }
Esempio n. 9
0
        // public ReactiveCommand<string, Unit> ButtonClickCommand { get; private set; }

        public MsBoxStandardViewModel(MessageBoxStandardParams @params) : base(@params)
        {
            _window = @params.Window;
            SetButtons(@params.ButtonDefinitions);
        }