private void PenBtn_Click(object sender, RoutedEventArgs e)
 {
     ShowHideInk.IsEnabled = !ShowHideInk.IsEnabled;
     if (PreBtn.Visibility == Visibility.Visible)
     {
         ShowNote_Click(null, null);
         //Load
         InkCanvas.InkPresenter.InputDeviceTypes = CoreInputDeviceTypes.Mouse | CoreInputDeviceTypes.Pen |
                                                   CoreInputDeviceTypes.Touch;
         InkToolbar.Visibility = Visibility.Visible;
         PreBtn.Visibility     = Visibility.Collapsed;
         NexBtn.Visibility     = Visibility.Collapsed;
     }
     else
     {
         _pdfHelper.SaveCanvas(InkCanvas, _sfile.DisplayName, current.Text);
         InkCanvas.InkPresenter.InputDeviceTypes = CoreInputDeviceTypes.None;
         //Save
         InkToolbar.Visibility = Visibility.Collapsed;
         PreBtn.Visibility     = Visibility.Visible;
         NexBtn.Visibility     = Visibility.Visible;
         if (!LocalSettingManager.ExistsSetting(_sfile.DisplayName + "_hnote_single"))
         {
             LocalSettingManager.SaveSetting(_sfile.DisplayName + "_wnote_single",
                                             InkCanvas.ActualWidth.ToString(CultureInfo.InvariantCulture));
             LocalSettingManager.SaveSetting(_sfile.DisplayName + "_hnote_single",
                                             InkCanvas.ActualHeight.ToString(CultureInfo.InvariantCulture));
         }
     }
 }
        private async void Page_Loaded(object sender, RoutedEventArgs e)
        {
            #region LoadFile
            try {
                _doc = await _pdfHelper.OpenLocal(_sfile);
            }
            catch {
                var dialog = new MessageDialog("Error! Wrong Password or corrupted file");
                dialog.Commands.Add(new UICommand("Close"));
                await dialog.ShowAsync();
            }
            #endregion
            if (_doc == null)
            {
                Frame.Navigate(typeof(WelcomePage));
                return;
            }
            #region Load UI & Settings
            _ro = new PdfPageRenderOptions {
                DestinationWidth = (uint)(Sc.ActualWidth * 1.4), IsIgnoringHighContrast = true
            };

            await _pdfHelper.TakeAShot(_doc, _sfile.DisplayName);

            _maxPage     = _doc.PageCount;
            maxPgNr.Text = _maxPage.ToString();
            current.Text = _currentPgNr.ToString();
            #region Bookmark
            _bookMarkUser      = _pdfHelper.LoadBookMarks(_sfile.Path);
            BkMrkBtn.IsChecked = _bookMarkUser.Contains(_currentPgNr);
            #endregion
            _isNigthMode = LocalSettingManager.ExistsSetting(App.SettingStrings["night"]);
            ApplicationView.GetForCurrentView().Title = _sfile.DisplayName;
            InkCanvas.InkPresenter.InputDeviceTypes = CoreInputDeviceTypes.None;
            #endregion
            GoToPage(_currentPgNr);
            if (_pdfHelper.ChangeRenderBg(_ro))
            {
                AttachRenderToImage();
            }
            _pdfHelper.Save4WelcomePage(_sfile, _doc.PageCount);
            #region If Mobile
            if (AnalyticsInfo.VersionInfo.DeviceFamily.Contains("Desktop"))
            {
                Window.Current.CoreWindow.KeyUp += CoreWindow_KeyDown;
                FindName("F11Btn");
                if (LocalSettingManager.ExistsSetting(App.SettingStrings["zoom"]))
                {
                    FindName("ZoomTool");
                    (ZoomTool.Children[0] as AppBarButton).Click += ZoomOut_Click;
                    (ZoomTool.Children[1] as AppBarButton).Click += ZoomIn_Click;
                }
            }
            else
            {
                PdfImg.ManipulationMode   = ManipulationModes.System;
                PdfImg.ManipulationDelta += (x, y) => { y.Handled = false; };
            }
            #endregion
        }
示例#3
0
        private void ScrollViewer_ViewChanged(object sender, ScrollViewerViewChangedEventArgs e)
        {
            if (Math.Abs(_crntZoom - Scroll.ZoomFactor) >= 0.5)
            {
                if (e != null && e.IsIntermediate)
                {
                    return;
                }
                _nrChanges++;
                _crntZoom = Scroll.ZoomFactor;
                PageChanged(true);
                return;
            }
            var offset = Scroll.VerticalOffset + Scroll.ViewportHeight / 3;
            var index  = (uint)(offset / (Scroll.ExtentHeight / _doc.PageCount));

            if (_crntPage == index)
            {
                return;
            }
            _crntPage          = index;
            CrntPageText.Text  = (_crntPage + 1).ToString();
            BkMrkBtn.IsChecked = _bookMarkUser.Contains(_crntPage + 1);
            LocalSettingManager.SaveSetting(App.SettingStrings["lastPage"] + _sfile.Path, (1 + _crntPage).ToString());
            PageChanged();
        }
示例#4
0
 private void PenBtn_Click(object sender, RoutedEventArgs e)
 {
     ShowHideInk.IsEnabled = !ShowHideInk.IsEnabled;
     if (!ShowHideInk.IsEnabled)
     {
         //Ok-Load-1st here
         ShowNote_Click(null, null);
         //FindName("InkToolbar");
         InkCanvas.InkPresenter.InputDeviceTypes = CoreInputDeviceTypes.Mouse | CoreInputDeviceTypes.Pen |
                                                   CoreInputDeviceTypes.Touch;
         InkToolbar.Visibility = Visibility.Visible;
     }
     else
     {
         //Save-Bye
         InkToolbar.Visibility = Visibility.Collapsed;
         InkCanvas.InkPresenter.InputDeviceTypes = CoreInputDeviceTypes.None;
         _pdfHelper.SaveCanvas(InkCanvas, _sfile.DisplayName);
         if (!LocalSettingManager.ExistsSetting(_sfile.DisplayName + "_wnote"))
         {
             LocalSettingManager.SaveSetting(_sfile.DisplayName + "_wnote",
                                             InkCanvas.ActualWidth.ToString(CultureInfo.InvariantCulture));
             LocalSettingManager.SaveSetting(_sfile.DisplayName + "_hnote",
                                             InkCanvas.ActualHeight.ToString(CultureInfo.InvariantCulture));
         }
     }
 }
示例#5
0
        //protected override void OnActivated(IActivatedEventArgs args)
        //{
        //    base.OnActivated(args);
        //    if (args.Kind == ActivationKind.File)
        //    {
        //        //Windows.Storage.FileIO.ReadBufferAsync(args)
        //    }
        //}

        private async void RatePopup()
        {
            const string ver   = "ratepopup5";
            var          times = 0;

            if (LocalSettingManager.ExistsSetting(ver))
            {
                var st = LocalSettingManager.ReadSetting(ver);
                if (st == "[done]")
                {
                    return;
                }
                if (st == "2")
                {
                    await new UpdateNote().ShowAsync();
                    LocalSettingManager.SaveSetting(ver, "[done]");
                    return;
                }
                if (st.Length > 0)
                {
                    times = Convert.ToInt32(st);
                }
            }
            LocalSettingManager.SaveSetting(ver, (++times).ToString());
        }
示例#6
0
        private async void DeletePdf(string path)
        {
            try {
                var pdf = await StorageFile.GetFileFromPathAsync(path);

                LocalSettingManager.RemoveSetting(App.SettingStrings["lastPage"] + path);
                LocalSettingManager.RemoveSetting(App.SettingStrings["bookmark"] + path);
                LocalSettingManager.RemoveSetting(App.SettingStrings["name"] + path);
                await pdf.DeleteAsync();

                var filesInFolder = await ApplicationData.Current.LocalFolder.GetFolderAsync("folder_" + pdf.DisplayName);

                foreach (var files in await filesInFolder.GetFilesAsync())
                {
                    await files.DeleteAsync();
                }
            }
            catch (Exception) { }
            try {
                var jpg = await StorageFile.GetFileFromPathAsync(path + ".jpg");

                await jpg.DeleteAsync();
            }
            catch (Exception) { }
        }
 private void Page_Next_Prev(int offset)
 {
     _maxZoomFact         = 1;
     _ro.DestinationWidth = (uint)(Sc.ViewportWidth * 1.4);
     _currentPgNr        += (uint)offset;
     GoToPage(_currentPgNr);
     Sc.ChangeView(null, 0, 1);
     LocalSettingManager.SaveSetting(App.SettingStrings["lastPage"] + _sfile.Path, _currentPgNr.ToString());
 }
示例#8
0
        private async void OpenNewFile()
        {
            var f = await PdfHelper.OpenNewFile();

            if (f != null)
            {
                insideFrame.Navigate(LocalSettingManager.ExistsSetting(App.SettingStrings["view"]) ? typeof(SingleViewer) : typeof(Viewer), f);
            }
        }
示例#9
0
        private void SaveSetting(object sender, RoutedEventArgs e)
        {
            if (IsNightMode.IsOn)
            {
                LocalSettingManager.SaveSetting(App.SettingStrings["night"], "true");
            }
            else
            {
                LocalSettingManager.RemoveSetting(App.SettingStrings["night"]);
            }
            if (AnalyticsInfo.VersionInfo.DeviceFamily.Contains("Desktop"))
            {
                if (IsZoom.IsOn)
                {
                    LocalSettingManager.SaveSetting(App.SettingStrings["zoom"], "true");
                }
                else
                {
                    LocalSettingManager.RemoveSetting(App.SettingStrings["zoom"]);
                }
            }
            if (ViewBox.SelectedIndex == 0)
            {
                LocalSettingManager.SaveSetting(App.SettingStrings["view"], "true");
            }
            else
            {
                LocalSettingManager.RemoveSetting(App.SettingStrings["view"]);
            }
            if (!Frame.CanGoBack)
            {
                return;
            }
            var prev = Frame.BackStack.LastOrDefault();

            if (prev.SourcePageType == typeof(SingleViewer) && ViewBox.SelectedIndex != 0)
            {
                var param = prev.Parameter;
                Frame.BackStack.Remove(prev);
                Frame.Navigate(typeof(Viewer), param);
            }
            else if (prev.SourcePageType == typeof(Viewer) && ViewBox.SelectedIndex == 0)
            {
                var param = prev.Parameter;
                Frame.BackStack.Remove(prev);
                Frame.Navigate(typeof(SingleViewer), param);
            }
            else
            {
                Frame.GoBack();
            }
            Helper.GarbageCollector();
        }
示例#10
0
        private async void GridView_ItemClick(object sender, ItemClickEventArgs e)
        {
            var bi = e.ClickedItem as PageType;

            if (bi == null)
            {
                return;
            }
            var v1 = await StorageFile.GetFileFromPathAsync(bi.Path);

            Frame.Navigate(LocalSettingManager.ExistsSetting(App.SettingStrings["view"]) ? typeof(SingleViewer) : typeof(Viewer), v1);
        }
示例#11
0
 private void BookMark_Click(object sender, RoutedEventArgs e)
 {
     if (BkMrkBtn.IsChecked == true)
     {
         _bookMarkUser.Add(_currentPgNr);
     }
     else
     {
         _bookMarkUser.Remove(_currentPgNr);
     }
     LocalSettingManager.SaveSetting(App.SettingStrings["bookmark"] + _sfile.Path, JsonConvert.SerializeObject(_bookMarkUser));
 }
示例#12
0
 protected override void OnNavigatedTo(NavigationEventArgs e)
 {
     base.OnNavigatedTo(e);
     _sfile = e.Parameter as StorageFile;
     if (_sfile == null)
     {
         return;
     }
     if (LocalSettingManager.ExistsSetting(App.SettingStrings["lastPage"] + _sfile.Path))
     {
         _currentPgNr = Convert.ToUInt32(LocalSettingManager.ReadSetting(App.SettingStrings["lastPage"] + _sfile.Path));
     }
 }
示例#13
0
 protected override void OnNavigatedFrom(NavigationEventArgs e)
 {
     _pdfHelper.SaveCanvas(InkCanvas, _sfile.DisplayName, current.Text);
     if (PenBtn.IsChecked == true)
     {
         LocalSettingManager.SaveSetting(_sfile.DisplayName + "_wnote_" + current,
                                         InkCanvas.ActualWidth.ToString(CultureInfo.InvariantCulture));
         LocalSettingManager.SaveSetting(_sfile.DisplayName + "_hnote_" + current,
                                         InkCanvas.ActualHeight.ToString(CultureInfo.InvariantCulture));
     }
     Window.Current.CoreWindow.KeyUp -= CoreWindow_KeyDown;
     ApplicationView.GetForCurrentView().Title = string.Empty;
 }
示例#14
0
        private void OpenFlyout_RecentFiles()
        {
            if (!LocalSettingManager.ExistsSetting(App.SettingStrings["recent"]))
            {
                return;
            }
            var sv = Newtonsoft.Json.JsonConvert.DeserializeObject <List <string> >(LocalSettingManager.ReadSetting(App.SettingStrings["recent"]));
            var m  = new MenuFlyout {
                Placement = FlyoutPlacementMode.Full,
                MenuFlyoutPresenterStyle = (Style)Application.Current.Resources["CenteredMenuFlyoutPresenterStyle"],
            };

            sv.Sort();
            for (var i = 0; i < 5; i++)
            {
                string path;
                try {
                    path = sv[i];
                }
                catch {
                    break;
                }
                if (path.Length < 6)
                {
                    continue;
                }
                var name = LocalSettingManager.ReadSetting(App.SettingStrings["name"] + path);
                if (name.Length < 1)
                {
                    continue;
                }
                var tt = new MenuFlyoutItem()
                {
                    Text = name
                };
                tt.Click += async(a, b) => {
                    try {
                        var v1 = await StorageFile.GetFileFromPathAsync(path);

                        insideFrame.Navigate(LocalSettingManager.ExistsSetting(App.SettingStrings["view"]) ? typeof(SingleViewer) : typeof(Viewer), v1);
                    }
                    catch { return; }
                };
                m.Items?.Add(tt);
            }
            if (m.Items.Count > 0)
            {
                m.ShowAt(Frame);
            }
        }
示例#15
0
        private async void ButtonBase_OnClick(object sender, RoutedEventArgs e)
        {
            var defaultColor = "#ffffff";

            if (LocalSettingManager.ExistsSetting(App.SettingStrings["bgColor"]))
            {
                defaultColor = LocalSettingManager.ReadSetting(App.SettingStrings["bgColor"]);
            }
            var cl = new ChooseColor(defaultColor);
            await cl.ShowAsync();

            var ret = cl.Tag.ToString();

            cb.BorderBrush = Helper.Convert_HexColor(ret);
            LocalSettingManager.SaveSetting(App.SettingStrings["bgColor"], ret);
        }
示例#16
0
 private void ContentDialog_Loaded(object sender, RoutedEventArgs e)
 {
     IsNightMode.IsOn = LocalSettingManager.ExistsSetting(App.SettingStrings["night"]);
     if (AnalyticsInfo.VersionInfo.DeviceFamily.Contains("Desktop"))
     {
         FindName("IsZoomText");
         FindName("IsZoom");
         IsZoom.IsOn = LocalSettingManager.ExistsSetting(App.SettingStrings["zoom"]);
     }
     if (LocalSettingManager.ExistsSetting(App.SettingStrings["bgColor"]))
     {
         cb.BorderBrush = Helper.Convert_HexColor(LocalSettingManager.ReadSetting(App.SettingStrings["bgColor"]));
     }
     if (LocalSettingManager.ExistsSetting(App.SettingStrings["view"]))
     {
         ViewBox.SelectedIndex = 0;
     }
 }
示例#17
0
 protected override void OnNavigatedFrom(NavigationEventArgs e)
 {
     base.OnNavigatedFrom(e);
     try {
         _pdfHelper.SaveCanvas(InkCanvas, _sfile.DisplayName);
     }
     catch { }
     if (!LocalSettingManager.ExistsSetting(_sfile.DisplayName + "_wnote"))
     {
         LocalSettingManager.SaveSetting(_sfile.DisplayName + "_wnote",
                                         InkCanvas.ActualWidth.ToString(CultureInfo.InvariantCulture));
         LocalSettingManager.SaveSetting(_sfile.DisplayName + "_hnote",
                                         InkCanvas.ActualHeight.ToString(CultureInfo.InvariantCulture));
     }
     ApplicationView.GetForCurrentView().Title = string.Empty;
     try { Window.Current.CoreWindow.KeyDown -= CoreWindow_KeyDown; }
     catch (Exception) { }
 }
示例#18
0
 private void ShowNote_Click(object sender, RoutedEventArgs e)
 {
     if (ShowHideInk.Label.Contains("Show"))
     {
         RotateBtns.IsEnabled = false;
         if (InkCanvas == null || InkCanvas.InkPresenter.StrokeContainer.GetStrokes().Count <= 0)
         {
             //LOAD SCALE
             Viewboxi.Height = Scroll.ExtentHeight;
             Viewboxi.Width  = _pages[0].ActualWidth;
             var h = PageGridView.ActualHeight;
             var w = _pages[0].ActualWidth;
             if (LocalSettingManager.ExistsSetting(_sfile.DisplayName + "_wnote") && LocalSettingManager.ExistsSetting(_sfile.DisplayName + "_hnote"))
             {
                 var temp = Convert.ToDouble(LocalSettingManager.ReadSetting(_sfile.DisplayName + "_wnote"));
                 if (temp > 200)
                 {
                     w = temp;
                 }
                 temp = Convert.ToDouble(LocalSettingManager.ReadSetting(_sfile.DisplayName + "_hnote"));
                 if (temp > 200)
                 {
                     h = temp;
                 }
             }
             InkCanvas.Width  = w;
             InkCanvas.Height = h;
             _pdfHelper.LoadCanvas(InkCanvas, _sfile.DisplayName);
         }
         ShowHideInk.Label    = "Hide Notes";
         InkCanvas.Visibility = Visibility.Visible;
     }
     else
     {
         if (PenBtn.IsChecked == true)
         {
             return;
         }
         RotateBtns.IsEnabled = true;
         ShowHideInk.Label    = "Show Notes";
         InkCanvas.Visibility = Visibility.Collapsed;
     }
 }
示例#19
0
        private async void Cancelbtn_OnClicktn_OnClick(object sender, RoutedEventArgs e)
        {
            if (del_2.Tag.ToString() == "0")
            {
                var f = await PdfHelper.OpenNewFile();

                if (f != null)
                {
                    Frame.Navigate(LocalSettingManager.ExistsSetting(App.SettingStrings["view"]) ? typeof(SingleViewer) : typeof(Viewer), f);
                }
            }
            else
            {
                gv.SelectionMode = ListViewSelectionMode.None;
                gv.ItemClick    += GridView_ItemClick;
                del_2.Tag        = "0";
                del_2.Background = new SolidColorBrush(Colors.LimeGreen);
                del_1.Background = Helper.Convert_HexColor("#2987F7");
                (del_2.Child as AppBarButton).Icon = new SymbolIcon(Symbol.OpenFile);
            }
        }
示例#20
0
        private void ResizingInkCanvas()
        {
            var h = Sc.ViewportHeight;
            var w = PdfImg.ActualWidth;

            if (LocalSettingManager.ExistsSetting(_sfile.DisplayName + "_wnote_" + current) && LocalSettingManager.ExistsSetting(_sfile.DisplayName + "_hnote_" + current))
            {
                var temp = Convert.ToDouble(LocalSettingManager.ReadSetting(_sfile.DisplayName + "_wnote_" + current));
                if (temp > 200)
                {
                    w = temp;
                }
                temp = Convert.ToDouble(LocalSettingManager.ReadSetting(_sfile.DisplayName + "_hnote_" + current));
                if (temp > 200)
                {
                    h = temp;
                }
            }
            InkCanvas.Height = h;
            InkCanvas.Width  = w;
        }
示例#21
0
        protected override async void OnNavigatedTo(NavigationEventArgs e)
        {
            base.OnNavigatedTo(e);
            var args = e.Parameter as Windows.ApplicationModel.Activation.IActivatedEventArgs;

            if (args?.Kind != Windows.ApplicationModel.Activation.ActivationKind.File)
            {
                return;
            }
            var fileArgs = args as Windows.ApplicationModel.Activation.FileActivatedEventArgs;
            var fl       = (StorageFile)fileArgs?.Files[0];

            if (fl == null)
            {
                return;
            }
            var fileCopy = await fl.CopyAsync(ApplicationData.Current.LocalFolder,
                                              fl.DisplayName + ".pdf", NameCollisionOption.ReplaceExisting);

            insideFrame.Navigate(LocalSettingManager.ExistsSetting(App.SettingStrings["view"]) ? typeof(SingleViewer) : typeof(Viewer), fileCopy);
            Helper.GarbageCollector();
        }
示例#22
0
        private async void Button_Click(object sender, RoutedEventArgs e)
        {
            var button = sender as Button;

            if (button == null)
            {
                return;
            }
            var tag = button.Content?.ToString().ToLower();

            if (tag.Contains("rate"))
            {
                LocalSettingManager.SaveSetting(App.SettingStrings["rate"], "[done]");
                await Windows.System.Launcher.LaunchUriAsync(new Uri("ms-windows-store:REVIEW?PFN=3783mindprojects.BlackReader_6c8ydbw054cyy"));
            }
            else if (tag.Contains("note"))
            {
                await new UpdateNote().ShowAsync();
            }
            else
            {
                await Windows.System.Launcher.LaunchUriAsync(new Uri("mailto:[email protected]?subject=BlackReader Err Rep " + VersionLabel.Text));
            }
        }
示例#23
0
        private async void Page_Loaded(object sender, RoutedEventArgs e)
        {
            try {
                _doc = await _pdfHelper.OpenLocal(_sfile);
            }
            catch {
                var dialog = new MessageDialog("Error! Wrong Password or corrupted file");
                dialog.Commands.Add(new UICommand("Close"));
                await dialog.ShowAsync();
            }
            if (_doc == null)
            {
                Frame.Navigate(typeof(WelcomePage));
                return;
            }
            _renderOptions = new PdfPageRenderOptions();
            _isNigthMode   = LocalSettingManager.ExistsSetting(App.SettingStrings["night"]);
            _pdfHelper.ChangeRenderBg(_renderOptions);
            MaxPageText.Text = _doc.PageCount.ToString();
            if (LocalSettingManager.ExistsSetting(App.SettingStrings["lastPage"] + _sfile.Path))
            {
                var saveLast = LocalSettingManager.ReadSetting(App.SettingStrings["lastPage"] + _sfile.Path);
                if (saveLast != "1")
                {
                    FindName("GoLastPageBtn");
                    GoLastPageBtn.Tag        = saveLast;
                    GoLastPageBtn.Visibility = Visibility.Visible;
                    var an = Resources["LastFadeOut"] as Storyboard;
                    an.Completed += (o, o1) => {
                        GoLastPageBtn.Visibility = Visibility.Collapsed;
                        GoLastPageBtn.Click     -= GoLastPageBtn_OnClick;
                        GoLastPageBtn            = null;
                    };
                    an.Begin();
                }
            }
            try {
                await Load();
            }
            catch {
                Frame.Navigate(typeof(WelcomePage));
                return;
            }

            _bookMarkUser = _pdfHelper.LoadBookMarks(_sfile.Path);
            _pdfHelper.Save4WelcomePage(_sfile, _doc.PageCount);
            await _pdfHelper.TakeAShot(_doc, _sfile.DisplayName);

            InkCanvas.InkPresenter.InputDeviceTypes = CoreInputDeviceTypes.None;
            BkMrkBtn.IsChecked = _bookMarkUser.Contains(1);
            if (LocalSettingManager.ExistsSetting(App.SettingStrings["zoom"]))
            {
                FindName("ZoomTool");
                (ZoomTool.Children[0] as AppBarButton).Click += ZoomOut_Click;
                (ZoomTool.Children[1] as AppBarButton).Click += ZoomIn_Click;
            }
            if (AnalyticsInfo.VersionInfo.DeviceFamily.Contains("Desktop")) // "Desktop"
            {
                Window.Current.CoreWindow.KeyDown += CoreWindow_KeyDown;
                FindName("F11Btn");
            }
        }