Пример #1
0
        private async void SearchButtonOnClick(object sender, RoutedEventArgs e)
        {
            ChangeBgImage();
            if (CurrentSearch?.IsSearching == true)
            {
                CurrentSearch.StopSearch();
                ChangeSearchVisual(false);
                return;
            }
            ChangeSearchVisual(true);
            StatusTextBlock.Text = "";
            var para = SearchControl.GetSearchPara();

            CurrentSearch      = new SearchSession(Settings, para);
            para.CurrentSearch = CurrentSearch;
            SiteTextBlock.Text = CurrentSearch.GetCurrentSearchStateText();
            Settings.HistoryKeywords.AddHistory(CurrentSearch.CurrentSearchPara.Keyword, Settings);
            MoeExplorer.ResetVisual();
            var t = await CurrentSearch.TrySearchNextPageAsync();

            if (t.IsCanceled || t.Exception != null)
            {
                if (!CurrentSearch.IsSearching)
                {
                    ChangeSearchVisual(false);
                }
            }
            else
            {
                ChangeSearchVisual(false);
                MoeExplorer.AddPage(CurrentSearch);
            }
        }
Пример #2
0
    public void Init(Settings settings)
    {
        Settings = settings;
        Settings.CustomSitesDir = App.CustomSiteDir;
        Settings.SiteManager    = new SiteManager(Settings);
        DataContext             = Settings;

        Closing              += OnClosing;
        PreviewKeyDown       += OnPreviewKeyDown;
        MouseLeftButtonDown  += delegate { DragMove(); };
        Ex.ShowMessageAction += ShowMessage;

        // logo
        LogoImageButton.MouseRightButtonDown += LogoImageButtonOnMouseRightButtonDown;

        // menu
        DownloaderMenuCheckBox.Checked   += DownloaderMenuCheckBoxCheckChanged;
        DownloaderMenuCheckBox.Unchecked += DownloaderMenuCheckBoxCheckChanged;

        // user ctrl
        AboutControl.Init();
        SearchControl.Init(Settings);
        MoeDownloaderControl.Init(Settings);
        MoeSettingsControl.Init(Settings);
        MoeExplorer.Init(Settings);

        // helper : collect ,log
        CollectCopyAllButton.Click += delegate { CollectTextBox.Text.CopyToClipboard(); };
        CollectClearButton.Click   += delegate { CollectTextBox.Text = string.Empty; };
        new LogWindowHelper().Init(LogButton, Settings);

        ImageSizeSlider.MouseWheel += ImageSizeSliderOnMouseWheel;

        // egg
        new EggWindowHelper().Init(this);

        // gen custom test 请删除后运行
        if (Debugger.IsAttached)
        {
            var cus = new CustomSiteFactory();
            cus.GenTestSites();
            cus.OutputJson(App.CustomSiteDir);
        }

        // ali
        this.SetWindowFluent(settings);
    }
Пример #3
0
 public void ChangeSearchVisual(bool isSearching)
 {
     if (isSearching)
     {
         if (CurrentSearch == null)
         {
             this.Sb("BeginSearchSb").Begin();
         }
         SearchControl.GoState(nameof(SearchControl.SearchingState));
         MoeExplorer.SearchStartedVisual();
     }
     else
     {
         MoeExplorer.SearchStopVisual();
         SearchControl.GoState(nameof(SearchControl.StopingState));
     }
 }
Пример #4
0
        private async void NextPageButtonOnClick(object sender, RoutedEventArgs e)
        {
            ChangeSearchVisual(true);
            var t = await CurrentSearch.TrySearchNextPageAsync();

            if (t.IsCanceled || t.Exception != null)
            {
                if (!CurrentSearch.IsSearching)
                {
                    ChangeSearchVisual(false);
                }
            }
            else
            {
                ChangeSearchVisual(false);
                if (Settings.IsClearImgsWhenSerachNextPage)
                {
                    MoeExplorer.ResetVisual();
                }
                MoeExplorer.AddPage(CurrentSearch);
            }
        }