Esempio n. 1
0
        private void ComplexTDClicked(object sender, RoutedEventArgs e)
        {
            taskDialog = FindTaskDialog("complexTD");
            bar        = (TaskDialogProgressBar)taskDialog.Controls["ProgressBar"];
            taskDialog.ExpandedText += " Link: <A HREF=\"Http://www.microsoft.com\">Microsoft</A>";

            taskDialog.Show();
        }
Esempio n. 2
0
        private static DialogResult Show(Guid id, string title, string instruction, string message, TaskDialogStandardButtons buttons, TaskDialogStandardIcon icon,
                                         string details, int progressBarMaxValue, Action <int> tickEventHandler)
        {
            TaskDialogProgressBar progressBar = progressBarMaxValue < 0 ? null
                                : new TaskDialogProgressBar(0, progressBarMaxValue, 0)
            {
                State = progressBarMaxValue == 0 ? TaskDialogProgressBarState.Marquee : TaskDialogProgressBarState.Normal
            };

            APITaskDialog taskDialog = new APITaskDialog()
            {
                Caption               = title,
                InstructionText       = instruction,
                Text                  = message,
                Icon                  = icon,
                StandardButtons       = buttons,
                Cancelable            = true,
                ExpansionMode         = TaskDialogExpandedDetailsLocation.ExpandFooter,
                DetailsExpanded       = false,
                DetailsCollapsedLabel = "Show Details",
                DetailsExpandedLabel  = "Hide Details",
                DetailsExpandedText   = details,
                ProgressBar           = progressBar,
                StartupLocation       = TaskDialogStartupLocation.CenterOwner,
                OwnerWindowHandle     = NativeMethods.GetActiveWindow()
            };

            Action <object, TaskDialogTickEventArgs> internalTickEventHandler = null;

            if (tickEventHandler != null)
            {
                internalTickEventHandler = (sender, e) => tickEventHandler(e.Ticks);
                taskDialog.Tick         += new EventHandler <TaskDialogTickEventArgs>(internalTickEventHandler);
            }

            if (id != Guid.Empty)
            {
                lock (_taskDialogs)
                    _taskDialogs[id] = taskDialog;
            }

            DialogResult result = ConvertFromTaskDialogResult(taskDialog.Show());

            if (tickEventHandler != null)
            {
                taskDialog.Tick -= new EventHandler <TaskDialogTickEventArgs>(internalTickEventHandler);
            }

            if (id != Guid.Empty)
            {
                lock (_taskDialogs)
                    _taskDialogs.Remove(id);
            }

            return(result);
        }
Esempio n. 3
0
        private static void buttonProgress_Click(object sender, EventArgs e)
        {
            TaskDialog tdProgressSample = new TaskDialog();

            currentTaskDialog           = tdProgressSample;
            tdProgressSample.Cancelable = true;
            tdProgressSample.Caption    = "Progress Sample";

            progressTDProgressBar        = new TaskDialogProgressBar(0, MaxRange, 0);
            tdProgressSample.ProgressBar = progressTDProgressBar;

            tdProgressSample.Tick += new EventHandler <TaskDialogTickEventArgs>(tdProgressSample_Tick);

            tdProgressSample.Show();

            currentTaskDialog = null;
        }
Esempio n. 4
0
        public static TaskDialog Wait(string message = null, IWin32Window owner = null)
        {
            var dialog = new TaskDialog
            {
                Cancelable        = false,
                Caption           = MainCaption,
                InstructionText   = message ?? "Please wait...",
                StandardButtons   = TaskDialogStandardButtons.Cancel,
                OwnerWindowHandle = owner?.Handle ?? IntPtr.Zero
            };

            var bar = new TaskDialogProgressBar {
                State = TaskDialogProgressBarState.Marquee
            };

            dialog.ProgressBar = bar;
            return(dialog);
        }
Esempio n. 5
0
        public static TaskDialog CreateWaitDialog(string message, IntPtr owner)
        {
            var dialog = new TaskDialog
            {
                Cancelable        = false,
                Caption           = MainCaption,
                InstructionText   = message ?? "Please wait...",
                StandardButtons   = TaskDialogStandardButtons.Cancel,
                OwnerWindowHandle = owner
            };

            var bar = new TaskDialogProgressBar {
                State = TaskDialogProgressBarState.Marquee
            };

            dialog.ProgressBar = bar;
            return(dialog);
        }
Esempio n. 6
0
        private static void buttonProgressEffects_Click(object sender, EventArgs e)
        {
            TaskDialog tdProgressEffectsSample = new TaskDialog();

            currentTaskDialog = tdProgressEffectsSample;
            tdProgressEffectsSample.Cancelable      = true;
            tdProgressEffectsSample.Caption         = "Progress Effects Sample";
            tdProgressEffectsSample.InstructionText = "Shows a dialog with Marquee style";

            TaskDialogProgressBar progressBarMarquee = new TaskDialogProgressBar();

            progressBarMarquee.State = TaskDialogProgressBarState.Marquee;

            tdProgressEffectsSample.ProgressBar = progressBarMarquee;

            tdProgressEffectsSample.Show();

            currentTaskDialog = null;
        }
Esempio n. 7
0
        static void SendFeedback()
        {
            // Send feedback dialog
            tdSendFeedback            = new TaskDialog();
            tdSendFeedback.Cancelable = true;

            tdSendFeedback.Caption = (string)Application.Current.TryFindResource("SendFeedbackDialog");
            tdSendFeedback.Text    = (string)Application.Current.TryFindResource("SendingFeedback");

            // Show a progressbar
            sendFeedbackProgressBar    = new TaskDialogProgressBar(0, 100, 0);
            tdSendFeedback.ProgressBar = sendFeedbackProgressBar;

            MailMessage msg = new MailMessage();

            msg.From = new MailAddress("*****@*****.**", "LongBar Bugs Service");
            msg.To.Clear();
            msg.To.Add("*****@*****.**");
            msg.Subject = "LongBar 2.1 Feedback";

            Assembly assembly = System.Reflection.Assembly.GetExecutingAssembly();
            Version  version  = assembly.GetName().Version;

            msg.Body = "From: " + mailBox.Text + "\nComment: " + commentBox.Text +
                       "\n-------------------------------------------------------------------" +
                       "\nLongBar version: " + string.Format("LongBar Slate {0}.{1}.{2}.{3}", version.Major, version.Minor, version.Build, version.Revision) +
                       "\nOS Version: " + Environment.OSVersion.ToString() +
                       "\nException source: " + ex.Source +
                       "\nException:\n" + ex.ToString();
            System.Net.NetworkCredential cr = new System.Net.NetworkCredential("*****@*****.**", "123123");
            client.SendCompleted        += new SendCompletedEventHandler(client_SendCompleted);
            client.UseDefaultCredentials = false;
            client.Credentials           = cr;
            client.EnableSsl             = true;
            client.SendAsync(msg, null);

            tdSendFeedback.ProgressBar.State = TaskDialogProgressBarState.Marquee;
            tdSendFeedback.Show();
        }
Esempio n. 8
0
        static void sendButton_Click(object sender, EventArgs e)
        {
            // Send feedback button
            TaskDialog tdSendFeedback = new TaskDialog();

            tdSendFeedback.Cancelable = true;

            tdSendFeedback.Caption = "Send Feedback Dialog";
            tdSendFeedback.Text    = "Sending your feedback .....";

            // Show a progressbar
            sendFeedbackProgressBar    = new TaskDialogProgressBar(0, MaxRange, 0);
            tdSendFeedback.ProgressBar = sendFeedbackProgressBar;

            // Subscribe to the tick event, so we can update the title/caption also close the dialog when done
            tdSendFeedback.Tick += new EventHandler <TaskDialogTickEventArgs>(tdSendFeedback_Tick);
            tdSendFeedback.Show();

            if (tdError != null)
            {
                tdError.Close(TaskDialogResult.Ok);
            }
        }
Esempio n. 9
0
        private PopUpMessage(RegataCoreMessages.Message msg, int autoCloseIntervalSeconds)
        {
            _tdp               = new TaskDialogPage();
            _tdp.Icon          = _statusIcon[msg.Status];
            _tdp.AllowCancel   = true;
            _tdp.Caption       = msg.Caption;
            _tdp.SizeToContent = true;

            _timer          = new Timer();
            _timer.Interval = 1000;
            _timer.Tick    += _timer_Tick;


            FillDefaultElements();

            _tdp.Heading  = msg.Head;
            _tdp.Text     = msg.Text;
            _tdp.Footnote = _tdf;
            _tdp.Expander = _tde;
            _tde.Text     = msg.DetailedText;

            // autoclosing only for info or success
            if ((msg.Status == Status.Info || msg.Status == Status.Success) && autoCloseIntervalSeconds != 0)
            {
                _tdpbar          = new TaskDialogProgressBar();
                _tdpbar.Maximum  = autoCloseIntervalSeconds;
                _tdpbar.State    = TaskDialogProgressBarState.Normal;
                _tdp.ProgressBar = _tdpbar;
                _tdp.Created    += (s, ev) =>
                {
                    _timer.Start();
                };
            }

            TaskDialog.ShowDialog(_tdp);
        }
Esempio n. 10
0
        private void OnComplexTaskDialog(object sender, RoutedEventArgs e)
        {
            var firstRadioButton  = new TaskDialogRadioButton("Radio1", "One");
            var secondRadioButton = new TaskDialogRadioButton("Radio1", "Two");
            var commandLink       = new TaskDialogCommandLink("Lonk1", "Information", "Sample command link");
            var progressBar       = new TaskDialogProgressBar("progress")
            {
                State = TaskDialogProgressBarState.Marquee
            };

            var taskDialog = new TaskDialog
            {
                Caption         = "Title",
                InstructionText = "Sample task dialog",
                StandardButtons = TaskDialogStandardButtons.Ok
            };

            taskDialog.Controls.Add(firstRadioButton);
            taskDialog.Controls.Add(secondRadioButton);
            taskDialog.Controls.Add(commandLink);
            taskDialog.Controls.Add(progressBar);

            taskDialog.Show();
        }
 internal void SetProgressBarPosition(TaskDialogProgressBar progressBar, int position)
 {
     this.TaskDialogInternal.SetProgressBarPosition(progressBar, position);
 }
 internal void SetProgressBarState(TaskDialogProgressBar progressBar, TaskDialogProgressBarState state)
 {
     this.TaskDialogInternal.SetProgressBarState(progressBar, state);
 }
 /// <summary>
 ///     プログレスバーの範囲を設定します。
 /// </summary>
 /// <param name="control">プログレスバー。</param>
 /// <param name="minimum">プログレスバーの最小値。</param>
 /// <param name="maxmum">プログレスバーの最大値。</param>
 public void SetProgressBarRange(TaskDialogProgressBar control, int minimum, int maxmum)
 {
     this.Commands.SetProgressBarRangeCommand(minimum, maxmum);
 }
 /// <summary>
 ///     プログレスバーの状態を設定します。
 /// </summary>
 /// <param name="control">プログレスバー。</param>
 /// <param name="state">プログレスバー状態。</param>
 public void SetProgressBarState(TaskDialogProgressBar control, TaskDialogProgressBarState state)
 {
     this.Commands.SetProgressBarStateCommand(state);
 }
 internal void SetProgressBarRange(TaskDialogProgressBar progressBar, int minimum, int maximum)
 {
     this.TaskDialogInternal.SetProgressBarRange(progressBar, minimum, maximum);
 }
Esempio n. 16
0
        static TaskDialogPage CreatetDownloadPage()
        {
            var downloadCancellationSource = new CancellationTokenSource();

            var downloadProgressBar = new TaskDialogProgressBar()
            {
                Minimum = 0,
                Maximum = 100,
                State   = TaskDialogProgressBarState.Marquee,
            };
            var cancelDownloadButton = new TaskDialogButton()
            {
                Text = "Cancel Download",
            };

            cancelDownloadButton.Click += (s, e) => downloadCancellationSource.Cancel();

            var downloadPage = new TaskDialogPage()
            {
                AllowMinimize = true,
                Caption       = "FFmpeg missing",
                Heading       = "Downloading FFmpeg...",
                Text          = "We're shifting some bits around to get you ready.",
                ProgressBar   = downloadProgressBar,
                Buttons       = new TaskDialogButtonCollection()
                {
                    cancelDownloadButton,
                },
                // DefaultButton = None,
                Expander = new TaskDialogExpander()
                {
                    Text = "Initializing...",
                    CollapsedButtonText = "More status info",
                    Position            = TaskDialogExpanderPosition.AfterFootnote,
                },
            };

            downloadPage.Created += async(o, e) =>
            {
                downloadPage.Expander.Text = "Fetching info...";

                var url = await FFmpegFetcher.GetUrlOfLatestBinary();

                if (url == null)
                {
                    downloadPage.Navigate(CreateDownloadFailedPage("Unable to get link to FFmpeg download"));
                    return;
                }

                var progress = new DialogTransferProgress(downloadPage);

                downloadPage.Expander.Text = "Downloading...";
                try
                {
                    await FFmpegFetcher.LoadAndUnzipToDirectory(FFmpegManager.FFmpegAppDataPath, url, progress, downloadCancellationSource.Token);
                }
                catch (TaskCanceledException)
                {
                    // Well, it's actually not an error, but we're too lazy for a separate doaloge for this
                    downloadPage.Navigate(CreateDownloadFailedPage("You cancelled the download."));
                    return;
                }
                catch (Exception ex)
                {
                    Debug.WriteLine("Failed to download FFmpeg.");
                    Debug.WriteLine(ex);
                    downloadPage.Navigate(CreateDownloadFailedPage(ex.Message));
                    return;
                }

                downloadPage.Expander.Text = "Done!";

                // Cross-check if downloading ffmpeg fixed the problem
                var path = FFmpegManager.GetAbsoluteFFmpegPath(true);
                if (path == null)
                {
                    downloadPage.Navigate(CreateDownloadFailedPage("The download was successful, but it did not fix the issue."));
                }
                else
                {
                    downloadPage.Navigate(CreateDownloadFinishedPage());
                }
            };

            return(downloadPage);
        }
 /// <summary>
 ///     プログレスバーの位置を設定します。
 /// </summary>
 /// <param name="control">プログレスバー。</param>
 /// <param name="position">プログレスバーの位置。</param>
 public void SetProgressBarPosition(TaskDialogProgressBar control, int position)
 {
     this.Commands.SetProgressBarPosCommand(position);
 }