示例#1
0
        void worker_Load(object sender, System.ComponentModel.DoWorkEventArgs e)
        {
            WorkArguments args = ((WorkArguments)e.Argument);
            CalcCbr       cbr  = new CalcCbr();

            cbr.Worker = args.Worker;
            cbr.LoadBook(args.File);

            e.Result = new ResultArguments(cbr, args);
        }
示例#2
0
        void worker_RunWorkerCompleted(object sender, System.ComponentModel.RunWorkerCompletedEventArgs e)
        {
            try
            {
                if (e.Cancelled)
                {
                    //  cancelled.
                }
                else if (e.Error != null)
                {
                    // An exception was thrown by the DoWork handler.
                    return;
                }
                else
                {
                    ResultArguments result = (ResultArguments)e.Result;
                    if (result.Cbr.BookFullNames.Count <= 0)
                    {
                        return;
                    }

                    this.cbr      = result.Cbr;
                    this.FileName = System.IO.Path.GetFileName(result.WorkArguments.File);
                    this.PathName = System.IO.Path.GetDirectoryName(result.WorkArguments.File);
                    SetSelectedIndex(result.WorkArguments.PageNumber);
                    RaiseSelIndexChanged();
                    //RaiseImageChanged();
                    RaisePropertyChanged(ThumbsPropertyName);
                    RaisePropertyChanged(ImageRectPropertyName);
                    SetPageName();
                    SetScale(result.WorkArguments.ScaleType);
                }
                if (this.cbr.SelectedIndex >= 0)
                {
                    MRU.Instance.AddItem(this.FileName, this.PathName, this.cbr.SelectedIndex + 1, this.MyBookPages[0]);
                }
            }
            finally
            {
                Messenger.Default.Send <NotificationMessage>(new NotificationMessage(this, SendType.LoadFinished, ""));
                Messenger.Default.Send <NotificationMessage>(new NotificationMessage(this, SendType.MenuReload, ""));
                StartStopWait(false);
            }
        }
示例#3
0
        //void MenuClick(object sender, RoutedEventArgs e)
        //{
        //    DoOpenNew((string)(((System.Windows.Controls.MenuItem)sender).CommandParameter));
        //}



        protected void DoClose()
        {
            if (this.cbr != null)
            {
                if (this.MyBookPages.Count > 0)
                {
                    MRU.Instance.AddItem(this.FileName, this.PathName, this.cbr.SelectedIndex + 1, this.MyBookPages[0]);
                }
                this.cbr.CleanUp();
                this.cbr      = null;
                this.FileName = "";
                this.PathName = "";
                SetPageName();
                RaisePropertyChanged(ThumbsPropertyName);
                RaiseImageChanged();
                MRU.Instance.SaveMRU();
                Messenger.Default.Send <NotificationMessage>(new NotificationMessage(this, SendType.MenuReload, ""));
            }
        }
示例#4
0
 public ResultArguments(CalcCbr cbr, WorkArguments args)
 {
     this.Cbr           = cbr;
     this.WorkArguments = args;
 }