コード例 #1
0
ファイル: Menu.xaml.cs プロジェクト: kuttsun/MakePdf
        async void NewVersionFound(string newVersion)
        {
            YesNo needsUpdate           = YesNo.No;
            var   newVersionFoundDialog = new NewVersionFoundDialog(newVersion);
            await parentView.dialogHostMain.ShowDialog(newVersionFoundDialog, null, (object s, DialogClosingEventArgs args) =>
            {
                needsUpdate = (YesNo)args.Parameter;
            });

            if (needsUpdate == YesNo.No)
            {
                return;
            }

            // Download and decompress
            bool result           = false;
            var  processingDialog = new ProcessingDialog(Properties.Resources.MsgBox_Downloading_Title, Properties.Resources.MsgBox_Downloading_Message);
            await parentView.dialogHostMain.ShowDialog(processingDialog, async (object s, DialogOpenedEventArgs args) =>
            {
                result = await vm.PrepareForUpdate();
                args.Session.Close(false);
            });

            if (result)
            {
                parentView.Close();
            }
        }
コード例 #2
0
ファイル: Menu.xaml.cs プロジェクト: kuttsun/MakePdf
        async void CheckForUpdate_Click(object sender, RoutedEventArgs e)
        {
            string newVersion = null;

            var processingDialog = new ProcessingDialog(Properties.Resources.MsgBox_CheckForUpdates_Title, Properties.Resources.MsgBox_CheckForUpdates_Message);
            await parentView.dialogHostMain.ShowDialog(processingDialog, async (object s, DialogOpenedEventArgs args) =>
            {
                newVersion = await vm.CheckForUpdate();
                args.Session.Close(false);
            });

            if (newVersion == null)
            {
                var okdialog = new OneButtonDialog(Properties.Resources.MsgBox_NotFound_Title, Properties.Resources.MsgBox_NotFound_Message);
                await parentView.dialogHostMain.ShowDialog(okdialog);

                return;
            }

            NewVersionFound(newVersion);
        }
コード例 #3
0
ファイル: MainForm.cs プロジェクト: MUedsa/SharpSLAM
 private void button_import_file_Click(object sender, EventArgs e)
 {
     if (importFileDialog.ShowDialog() == DialogResult.OK)
     {
         button_import_file.Enabled = false;
         var files      = importFileDialog.FileNames;
         var processing = new ProcessingDialog(0, files.Length);
         new Thread(new ThreadStart(() =>
         {
             var failed = "";
             foreach (string file in files)
             {
                 var key = Path.GetFileNameWithoutExtension(file);
                 if (listView1.Items.ContainsKey(key) && MessageBox.Show("Audio name \"" + Path.GetFileNameWithoutExtension(file) + "\" already exists,continue and override it?", "Confirm", MessageBoxButtons.YesNo, MessageBoxIcon.Question) != DialogResult.Yes)
                 {
                     continue;
                 }
                 listView1.Items.RemoveByKey(key);
                 File.Delete(getGameConfigPath(file) + ".original");
                 if (convertNewMedia(file))
                 {
                     listView1.Items.Add(key, key, 0).SubItems.AddRange(new string[]
                     {
                         "", "100", listView1.Items.Count.ToString(), "", ""
                     });
                 }
                 else
                 {
                     failed += "\n" + file;
                 }
                 processing.update();
             }
             processing.update();
             saveTracks();
             button_import_file.Enabled = true;
             MessageBox.Show("Processed " + files.Length + " file(s)." + (failed == "" ? "" : "\n\nFollowing file(s) convert failed:" + failed), "Done", MessageBoxButtons.OK, MessageBoxIcon.Information);
         })).Start();
         processing.ShowDialog();
     }
 }
コード例 #4
0
        public void Run()
        {
            ProcessingDialog dlg = null;

            Action verify = () =>
            {
                foreach (ITableChecker checker in m_checkers)
                {
                    dlg.Message = $"Vérification de la table {AppContext.TableManager.GetTable(checker.TableID).Name}";
                    checker.Check();
                    checker.Dispose();
                }
            };

            Action <Task> onErr = t =>
            {
                dlg.ShowError(t.Exception.InnerException.Message);
                //Dispose();
                dlg.Close();
            };

            Action onSuccess = () =>
            {
                //Dispose();
                dlg.Close();
            };

            using (dlg = new ProcessingDialog())
            {
                var task = new Task(verify);
                task.OnError(onErr);
                task.OnSuccess(onSuccess);

                task.Start();
                dlg.ShowDialog();
            }
        }
コード例 #5
0
        private async void BulkImportButton_OnClick(object sender, RoutedEventArgs e)
        {
            var fd = new OpenFileDialog();

            fd.Multiselect = false;
            fd.Filter      = "CSV Files (*.csv)|*.csv|All Files (*.*)|*.*";
            var showDialog = fd.ShowDialog();
            var res        = showDialog != null && (bool)showDialog;

            if (!res || string.IsNullOrEmpty(fd.FileName) || !File.Exists(fd.FileName))
            {
                return;
            }

            string[] secrets;
            try
            {
                secrets = File.ReadAllText(fd.FileName).Split(',');
            }
            catch (Exception)
            {
                var nd = new NoticeDialog("Bulk Account Import",
                                          "Error: CSV file could not be parsed.\r\nPlease correct the file and try again.");
                nd.ShowDialog();
                return;
            }

            using (var avm = new AuthViewModel {
                ActionDescription = "Bulk Import Accounts "
            })
            {
                var rmpw = new AuthRequestDialog(avm);
                rmpw.ShowDialog();
                if (!avm.Accepted)
                {
                    return;
                }
                if (rmpw.DialogResult == null || rmpw.DialogResult == false || string.IsNullOrEmpty(avm.Password))
                {
                    return;
                }
                var i  = 0;
                var ii = 1;
                var pd = new ProcessingDialog("Importing Accounts",
                                              "Please wait while your accounts are imported. This may take some time depending on the number of accounts.");
                pd.Show();
                foreach (var sec in secrets)
                {
                    ii++;
                    pd.ProgressTextBlock.Text = ii + " of " + secrets.Length;
                    var act = await Globals.API.Accounts_Open(sec);

                    if (!act.success)
                    {
                        continue;
                    }

                    var hasrecord = (from a in Globals.AppViewModel.AccountsViewModel.Accounts
                                     where a.Address == act.account.address
                                     select a).Any();
                    if (hasrecord)
                    {
                        continue;
                    }

                    var ssece = AppHelpers.EncryptString(sec, avm.Password);
                    var bal   = LiskAPI.LSKLongToDecimal(act.account.balance);
                    var ni    = new Account
                    {
                        Address      = act.account.address,
                        PublicKey    = act.account.publicKey,
                        FriendlyName = act.account.address,
                        SecretHash   = ssece,
                        Balance      = bal,
                        LastUpdate   = DateTime.UtcNow
                    };
                    try
                    {
                        await AccountsViewModel.AddAccountAsync(ni);

                        i++;
                    }
                    catch (Exception crap)
                    {
                        Console.WriteLine("Error saving imported account " + act.account.address + " | " + crap.Message);
                    }
                }
                pd.Hide();
                var nd = new NoticeDialog("Bulk Account Import",
                                          "Bulk account import complete.\r\n" + i + " of " + secrets.Length + " accounts imported.");
                nd.ShowDialog();
                NavigationCommands.BrowseBack.Execute(null, null);
            }
        }
コード例 #6
0
        bool isSkip = true;  //接ProcessingDialog 回傳值 略過

        private void Button_AutoImport_Click(object sender, RoutedEventArgs e)
        {
            Button btnAutoImport = (Button)sender;

            //先載入原本樣板的圖片
            //如果略過就塞回原圖
            btnAutoImport.Dispatcher.Invoke(() =>
            {
                bool isEverChanged = false;

                btnAutoImport.IsEnabled = false;

                pd     = new ProcessingDialog();
                Task t = Task.Factory.StartNew(() =>
                {
                    pd.Dispatcher.Invoke(() =>
                    {
                        pd.PText                = "圖片偵測中";
                        pd.PIsIndeterminate     = true;
                        pd.ButtonContent        = "跳過";
                        pd.ReturnValueCallback += new ProcessingDialog.ReturnValueDelegate(this.SetReturnValueCallbackFun);

                        pd.Show();
                    });

                    //病患資料夾路徑
                    if (pf == null)
                    {
                        pf = new PatientsFolder(Agencys, Patients, Registration_Date);
                    }

                    //資料表Registrations 處理
                    if (dbr == null)
                    {
                        dbr = new DBRegistrations();
                    }

                    //資料表Images 處理
                    if (dbi == null)
                    {
                        dbi = new DBImages();
                    }

                    //處理載入BitmapImage
                    if (lbi == null)
                    {
                        lbi = new LoadBitmapImage();
                    }

                    //載入TemplateImages
                    if (dbti == null)
                    {
                        dbti = new DBTemplateImages();
                    }

                    tICollection = new ObservableCollection <TemplateImages>();
                    tICollection = dbti.GetTemplateImagesCollection(Agencys, Patients, TemplateItem, tfvm.TemplateImportDate);

                    //default Image[i] in UserControl Templates
                    int Imagei           = 0;
                    int ImageCount       = (int)TemplateItem.Template_ImageCount;
                    int DecodePixelWidth = (int)TemplateItem.Template_DecodePixelWidth;
                    while (Imagei < ImageCount)
                    {
                        pd.PText = "圖片 " + (Imagei + 1) + " 偵測中";

                        //目前處理的Image[i]
                        Image iTarget;

                        TemplateContent.Dispatcher.Invoke(() =>
                        {
                            iTarget = new Image();
                            iTarget = (Image)TemplateContent.FindName("Image" + Imagei);

                            iTarget.Source = new BitmapImage(new Uri(@"/DigiDental;component/Resource/yes.png", UriKind.RelativeOrAbsolute));
                            //iTarget.Source = lbi.SettingBitmapImage(@"/DigiDental;component/Resource/yes.png", DecodePixelWidth);
                        });

                        //set the paramater default
                        bool isChanged = false;
                        bool detecting = true;
                        while (true)
                        {
                            //開始偵測wifi card路徑
                            foreach (string f in Directory.GetFiles(Agencys.Agency_WifiCardPath))
                            {
                                Thread.Sleep(500);

                                string extension   = Path.GetExtension(f).ToUpper();
                                string newFileName = DateTime.Now.ToString("yyyyMMddHHmmssffff");
                                if (!Directory.Exists(pf.PatientFullFolderPathOriginal))
                                {
                                    Directory.CreateDirectory(pf.PatientFullFolderPathOriginal);
                                }

                                //System.Drawing.RotateFlipType rft = ImageHelper.RotateImageByExifOrientationData(f, pf.PatientFullFolderPathOriginal + @"\" + newFileName + @"ori" + extension, GetImageFormat(extension), true);

                                ////複製原圖到目的Original
                                //File.Copy(f, pf.PatientFullFolderPathOriginal + @"\" + newFileName + @"ori" + extension);

                                // Rotate the image according to EXIF data
                                var bmp = new System.Drawing.Bitmap(f);
                                System.Drawing.RotateFlipType fType = ImageHelper.RotateImageByExifOrientationData(bmp, true);
                                if (fType != System.Drawing.RotateFlipType.RotateNoneFlipNone)
                                {
                                    bmp.Save(pf.PatientFullFolderPathOriginal + @"\" + newFileName + @"ori" + extension, GetImageFormat(extension));
                                }
                                else
                                {
                                    File.Copy(f, pf.PatientFullFolderPathOriginal + @"\" + newFileName + @"ori" + extension);
                                }

                                Registration_ID = dbr.CreateRegistrationsAndGetID(Patients, Registration_Date);

                                string imagePath      = @"\" + pf.PatientFolderPathOriginal + @"\" + newFileName + @"ori" + extension;
                                string imageFileName  = newFileName + @"ori" + extension;
                                string imageSize      = "Original";
                                string imageExtension = extension;
                                //寫資料庫
                                //INSERT Images
                                int imageID   = dbi.InsertImage(imagePath, imageFileName, imageSize, imageExtension, Registration_ID);
                                isEverChanged = true;
                                TemplateContent.Dispatcher.Invoke(() =>
                                {
                                    iTarget = new Image();
                                    iTarget = (Image)TemplateContent.FindName("Image" + Imagei);

                                    //INSERT TemplateImages
                                    dbti.InsertOrUpdateImage(Patients, TemplateItem, tfvm.TemplateImportDate, imageID, imagePath, iTarget.Uid);
                                    iTarget.Source = lbi.SettingBitmapImage(pf.PatientFullFolderPathOriginal + @"\" + newFileName + @"ori" + extension, DecodePixelWidth);
                                    isChanged      = true;
                                });

                                File.Delete(f);
                                detecting = false;
                            }
                            //ProcessingDialog STOP
                            if (isStop)
                            {
                                isStop = false;
                                TemplateContent.Dispatcher.Invoke(() =>
                                {
                                    iTarget          = new Image();
                                    iTarget          = (Image)TemplateContent.FindName("Image" + Imagei);
                                    var findOriImage = from tc in tICollection
                                                       where tc.TemplateImage_Number == Imagei.ToString()
                                                       select tc;
                                    if (findOriImage.Count() > 0)
                                    {
                                        iTarget.Source = lbi.SettingBitmapImage(findOriImage.First().Image_Path, DecodePixelWidth);
                                    }
                                    else
                                    {
                                        iTarget.Source = new BitmapImage(new Uri(@"/DigiDental;component/Resource/no.png", UriKind.RelativeOrAbsolute));
                                        //iTarget.Source = lbi.SettingBitmapImage(@"/DigiDental;component/Resource/key.ico", DecodePixelWidth);
                                    }
                                });
                                return;
                            }
                            else
                            {
                                // import pic OR skip import (NEXT)
                                if (!detecting || !isSkip)
                                {
                                    if (!isChanged)
                                    {
                                        TemplateContent.Dispatcher.Invoke(() =>
                                        {
                                            iTarget          = new Image();
                                            iTarget          = (Image)TemplateContent.FindName("Image" + Imagei);
                                            var findOriImage = from tc in tICollection
                                                               where tc.TemplateImage_Number == Imagei.ToString()
                                                               select tc;
                                            if (findOriImage.Count() > 0)
                                            {
                                                iTarget.Source = lbi.SettingBitmapImage(findOriImage.First().Image_Path, DecodePixelWidth);
                                            }
                                            else
                                            {
                                                iTarget.Source = new BitmapImage(new Uri(@"/DigiDental;component/Resource/no.png", UriKind.RelativeOrAbsolute));
                                                //iTarget.Source = lbi.SettingBitmapImage(@"/DigiDental;component/Resource/key.ico", DecodePixelWidth);
                                            }
                                        });
                                    }
                                    Imagei++;
                                    isSkip = true;
                                    break;
                                }
                            }
                        }
                    }
                }).ContinueWith(cw =>
                {
                    //結束
                    pd.PText = "處理完畢";
                    pd.Close();
                    //委派回傳MainWindow
                    //刷新Registrations 資料
                    //刷新Images 資料
                    if (isEverChanged)
                    {
                        ReturnValueCallback(Registration_ID, Registration_Date);
                    }
                    GC.Collect();

                    btnAutoImport.IsEnabled = true;
                }, TaskScheduler.FromCurrentSynchronizationContext());
            });
        }
コード例 #7
0
ファイル: MainForm.cs プロジェクト: MUedsa/SharpSLAM
        public MainForm()
        {
            instance = this;
            InitializeComponent();
            CheckForIllegalCrossThreadCalls = false;

            #region Right Click Menu

            var menu = new ContextMenu();
            menu_play = menu.MenuItems.Add("Play", (sender, e) =>
            {
                var path = getGameConfigPath(listView1.SelectedItems[0].Text, false);
                MusicPlayForm.getInstance(path + (File.Exists(path + ".modified") ? ".modified" : ".original")).Show();
                MusicPlayForm.player.Play();
            });
            menu_edit = menu.MenuItems.Add("Edit", new MenuItem[]
            {
                menu_trim = new MenuItem("Trim", (sender, e) =>
                {
                    var dialog = new TrimDialog();
                    if (dialog.ShowDialog() == DialogResult.OK)
                    {
                        // TODO.
                    }
                }),
                menu_volume = new MenuItem("Adjust Volume", (sender, e) =>
                {
                    var dialog = new AdjustVolumeDialog();
                    if (dialog.ShowDialog() == DialogResult.OK)
                    {
                        var items      = listView1.SelectedItems;
                        var processing = new ProcessingDialog(0, items.Count);
                        new Thread(new ThreadStart(() =>
                        {
                            int result = dialog.Result;
                            var failed = "";
                            foreach (ListViewItem item in items)
                            {
                                item.SubItems[2].Text = result.ToString();
                                if (!reConvertModifiedMedia(item))
                                {
                                    failed += "\n" + item.Text;
                                    item.SubItems[2].Text = "100";
                                    File.Delete(getGameConfigPath(item.Text, false) + ".modified");
                                }
                                processing.update();
                            }
                            processing.update();
                            saveTracks();
                            MessageBox.Show("Processed " + items.Count + " file(s)." + (failed == "" ? "" : "\n\nFollowing file(s) process failed:" + failed), "Done", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        })).Start();
                        processing.ShowDialog();
                    }
                })
            });
            menu_alias = menu.MenuItems.Add("Set Alias", (sender, e) =>
            {
                listView1_MouseDoubleClick();
            });
            menu_remove = menu.MenuItems.Add("Remove", (sender, e) =>
            {
                if (!Running && listView1.SelectedItems.Count != 0)
                {
                    foreach (ListViewItem item in listView1.SelectedItems)
                    {
                        listView1.Items.Remove(item);
                        var path = getGameConfigPath(item.Text, false);
                        File.Delete(path + ".original");
                        File.Delete(path + ".modified");
                    }
                    for (int i = 0; i < listView1.Items.Count; i++)
                    {
                        listView1.Items[i].SubItems[3].Text = (i + 1).ToString();
                    }
                    saveTracks();
                }
            });
            menu.Popup += (sender, e) =>
            {
                if (listView1.SelectedItems.Count == 0)
                {
                    menu_play.Visible = menu_alias.Visible = menu_edit.Visible = menu_remove.Visible = false;
                }
                else
                {
                    menu_edit.Visible = menu_remove.Visible = true;
                    menu_play.Visible = menu_alias.Visible = menu_trim.Visible = listView1.SelectedItems.Count == 1;
                }
            };
            listView1.ContextMenu = menu;

            #endregion
        }