|
@@ -50,8 +50,8 @@ namespace PDFViewer
|
|
|
PasswordUI.Confirmed += PasswordUI_Confirmed;
|
|
|
PasswordUI.Canceled += PasswordUI_Canceled;
|
|
|
PasswordUI.Closed += PasswordUI_Closed;
|
|
|
- HomePageControl.OpenFileEvent -= OpenFile;
|
|
|
- HomePageControl.OpenFileEvent += OpenFile;
|
|
|
+ HomePageControl.OpenFileEvent -= OpenFileEventHandler;
|
|
|
+ HomePageControl.OpenFileEvent += OpenFileEventHandler;
|
|
|
|
|
|
|
|
|
if (App.DefaultPDFLoaded == false)
|
|
@@ -85,9 +85,13 @@ namespace PDFViewer
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- private void OpenFile(object sender, bool isNewFile)
|
|
|
+ private void OpenFileEventHandler(object sender, OpenFileEventArgs args)
|
|
|
{
|
|
|
- if (isNewFile)
|
|
|
+ if (args.OperationType == FileOperationType.OpenFileDirectly)
|
|
|
+ {
|
|
|
+ TabControlLoadDocument(args.FilePath);
|
|
|
+ }
|
|
|
+ else if(args.OperationType == FileOperationType.CreateNewFile)
|
|
|
{
|
|
|
TabItemExt tabItem = new TabItemExt();
|
|
|
MainPage viewPage = new MainPage();
|
|
@@ -96,16 +100,17 @@ namespace PDFViewer
|
|
|
|
|
|
viewPage.CheckExistBeforeOpenFileEvent -= ViewPage_CheckExistBeforeOpenFileEvent;
|
|
|
viewPage.FileChangeEvent -= ViewPage_FileChangeEvent;
|
|
|
+ viewPage.AfterSaveAsFileEvent -= ViewPage_AfterSaveAsFileEvent;
|
|
|
viewPage.CheckExistBeforeOpenFileEvent += ViewPage_CheckExistBeforeOpenFileEvent;
|
|
|
viewPage.FileChangeEvent += ViewPage_FileChangeEvent;
|
|
|
+ viewPage.AfterSaveAsFileEvent += ViewPage_AfterSaveAsFileEvent;
|
|
|
|
|
|
viewPage.InitWithDocument(document);
|
|
|
tabItem.Content = viewPage;
|
|
|
tabItem.IsSelected = true;
|
|
|
tabItem.FileName = "Blank Page.pdf";
|
|
|
tabItem.Tag = "Blank Page.pdf";
|
|
|
-
|
|
|
- App.OpenedFilePathList.Add("Blank Page.pdf");
|
|
|
+
|
|
|
TabControl.Items.Add(tabItem);
|
|
|
|
|
|
viewPage.CanSave = true;
|
|
@@ -121,6 +126,24 @@ namespace PDFViewer
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ private void ViewPage_AfterSaveAsFileEvent(object sender, string e)
|
|
|
+ {
|
|
|
+ if(sender is MainPage mainPage)
|
|
|
+ {
|
|
|
+ var tabItem = (from object t in TabControl.Items select t as TabItemExt).FirstOrDefault(item => Equals(item.Content, mainPage));
|
|
|
+ if (tabItem != null)
|
|
|
+ {
|
|
|
+ tabItem.FileName = Path.GetFileName(e);
|
|
|
+ tabItem.Tag = e;
|
|
|
+ }
|
|
|
+ mainPage.pdfViewer.PDFView.CloseDocument();
|
|
|
+ mainPage.pdfViewer.PDFView.InitDocument(e);
|
|
|
+ mainPage.pdfViewer.PDFView.Load();
|
|
|
+
|
|
|
+ App.OpenedFilePathList.Add(e);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
private void TabControlLoadDocument(string filePath)
|
|
|
{
|
|
|
if (App.OpenedFilePathList.Contains(filePath))
|
|
@@ -150,8 +173,10 @@ namespace PDFViewer
|
|
|
|
|
|
viewPage.CheckExistBeforeOpenFileEvent -= ViewPage_CheckExistBeforeOpenFileEvent;
|
|
|
viewPage.FileChangeEvent -= ViewPage_FileChangeEvent;
|
|
|
+ viewPage.AfterSaveAsFileEvent -= ViewPage_AfterSaveAsFileEvent;
|
|
|
viewPage.CheckExistBeforeOpenFileEvent += ViewPage_CheckExistBeforeOpenFileEvent;
|
|
|
viewPage.FileChangeEvent += ViewPage_FileChangeEvent;
|
|
|
+ viewPage.AfterSaveAsFileEvent += ViewPage_AfterSaveAsFileEvent;
|
|
|
|
|
|
passwordViewer = new PDFViewControl();
|
|
|
passwordViewer.PDFView.InitDocument(filePath);
|