|
@@ -32,26 +32,20 @@ using Path = System.IO.Path;
|
|
|
|
|
|
namespace PDFViewer
|
|
|
{
|
|
|
- /// <summary>
|
|
|
- /// MainWindow.xaml 的交互逻辑
|
|
|
- /// </summary>
|
|
|
public partial class MainWindow : Window
|
|
|
{
|
|
|
+ #region Property
|
|
|
private PDFViewControl passwordViewer;
|
|
|
private PDFViewControl pdfViewControl = new PDFViewControl();
|
|
|
private string[] oldAndNewFilePath;
|
|
|
+ #endregion
|
|
|
+
|
|
|
public MainWindow()
|
|
|
{
|
|
|
InitializeComponent();
|
|
|
Loaded += MainWindow_Loaded;
|
|
|
}
|
|
|
|
|
|
-
|
|
|
- /// <summary>
|
|
|
- ///
|
|
|
- /// </summary>
|
|
|
- /// <param name="sender"></param>
|
|
|
- /// <param name="e"></param>
|
|
|
private void MainWindow_Loaded(object sender, RoutedEventArgs e)
|
|
|
{
|
|
|
PasswordUI.Closed -= PasswordUI_Closed;
|
|
@@ -68,21 +62,14 @@ namespace PDFViewer
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ #region Load document
|
|
|
+
|
|
|
private void LoadDefaultDocument()
|
|
|
{
|
|
|
string defaultFilePath = "PDF32000_2008.pdf";
|
|
|
TabControlLoadDocument(defaultFilePath);
|
|
|
}
|
|
|
|
|
|
- private void DefaultAddButton_Click(object sender, RoutedEventArgs e)
|
|
|
- {
|
|
|
- string filePath = CommonHelper.GetFilePathOrEmpty();
|
|
|
- if (filePath != string.Empty)
|
|
|
- {
|
|
|
- TabControlLoadDocument(filePath);
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
private void TabControlLoadDocument(string filePath)
|
|
|
{
|
|
|
if (App.OpenedFilePathList.Contains(filePath))
|
|
@@ -111,7 +98,7 @@ namespace PDFViewer
|
|
|
MainPage viewPage = new MainPage();
|
|
|
|
|
|
viewPage.CheckExistBeforeOpenFileEvent -= ViewPage_CheckExistBeforeOpenFileEvent;
|
|
|
- viewPage.FileChangeEvent -= ViewPage_FileChangeEvent;
|
|
|
+ viewPage.FileChangeEvent -= ViewPage_FileChangeEvent;
|
|
|
viewPage.CheckExistBeforeOpenFileEvent += ViewPage_CheckExistBeforeOpenFileEvent;
|
|
|
viewPage.FileChangeEvent += ViewPage_FileChangeEvent;
|
|
|
|
|
@@ -203,54 +190,65 @@ namespace PDFViewer
|
|
|
return false;
|
|
|
}
|
|
|
|
|
|
- public class TabItemExt : TabItem, INotifyPropertyChanged
|
|
|
+ #endregion
|
|
|
+
|
|
|
+ #region password
|
|
|
+
|
|
|
+ private void PasswordUI_Closed(object sender, EventArgs e)
|
|
|
{
|
|
|
- public event PropertyChangedEventHandler PropertyChanged;
|
|
|
- private string _fileName;
|
|
|
- public string FileName
|
|
|
- {
|
|
|
- get
|
|
|
- {
|
|
|
- return _fileName;
|
|
|
- }
|
|
|
- set
|
|
|
- {
|
|
|
- if (_fileName != value)
|
|
|
- {
|
|
|
- _fileName = value;
|
|
|
- OnPropertyChanged();
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
+ PopupBorder.Visibility = Visibility.Collapsed;
|
|
|
+ PasswordUI.Visibility = Visibility.Collapsed;
|
|
|
+ }
|
|
|
|
|
|
- private Visibility _fileChanged = Visibility.Hidden;
|
|
|
- public Visibility FileChanged
|
|
|
+ private void PasswordUI_Canceled(object sender, EventArgs e)
|
|
|
+ {
|
|
|
+ PopupBorder.Visibility = Visibility.Collapsed;
|
|
|
+ PasswordUI.Visibility = Visibility.Collapsed;
|
|
|
+ }
|
|
|
+
|
|
|
+ private void PasswordUI_Confirmed(object sender, string e)
|
|
|
+ {
|
|
|
+ if (passwordViewer != null && passwordViewer.PDFView != null && passwordViewer.PDFView.Document != null)
|
|
|
{
|
|
|
- get
|
|
|
+ passwordViewer.PDFView.Document.UnlockWithPassword(e);
|
|
|
+ if (passwordViewer.PDFView.Document.IsLocked == false)
|
|
|
{
|
|
|
- return _fileChanged;
|
|
|
+ PasswordUI.SetShowError("", Visibility.Collapsed);
|
|
|
+ PasswordUI.ClearPassword();
|
|
|
+ PasswordUI.Visibility = Visibility.Collapsed;
|
|
|
+ PopupBorder.Visibility = Visibility.Collapsed;
|
|
|
+ pdfViewControl = passwordViewer;
|
|
|
+
|
|
|
+ string filePath = passwordViewer.PDFView.Document.FilePath;
|
|
|
+ TabItemExt tabItem = new TabItemExt();
|
|
|
+ MainPage viewPage = new MainPage();
|
|
|
+
|
|
|
+ tabItem.Content = viewPage;
|
|
|
+ tabItem.IsSelected = true;
|
|
|
+ tabItem.FileName = Path.GetFileName(filePath);
|
|
|
+ tabItem.Tag = filePath;
|
|
|
+
|
|
|
+ viewPage.SetPDFViewer(pdfViewControl);
|
|
|
+ App.OpenedFilePathList.Add(filePath);
|
|
|
+
|
|
|
+ TabControl.Items.Add(tabItem);
|
|
|
}
|
|
|
- set
|
|
|
+ else
|
|
|
{
|
|
|
- if (_fileChanged != value)
|
|
|
- {
|
|
|
- _fileChanged = value;
|
|
|
- OnPropertyChanged();
|
|
|
- }
|
|
|
+ PasswordUI.SetShowError("error", Visibility.Visible);
|
|
|
}
|
|
|
}
|
|
|
- public void OnPropertyChanged([CallerMemberName] string name = null)
|
|
|
- {
|
|
|
- PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(name));
|
|
|
- }
|
|
|
}
|
|
|
|
|
|
+ #endregion
|
|
|
+
|
|
|
+ #region UI
|
|
|
private void Grid_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
|
|
|
{
|
|
|
DragMove();
|
|
|
}
|
|
|
|
|
|
- private void Button_Click(object sender, RoutedEventArgs e)
|
|
|
+ private void CloseFileButton_Click(object sender, RoutedEventArgs e)
|
|
|
{
|
|
|
var button = sender as Button;
|
|
|
var dragablzItem = FindParentDragablzItem(button);
|
|
@@ -375,50 +373,56 @@ namespace PDFViewer
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- private void PasswordUI_Closed(object sender, EventArgs e)
|
|
|
- {
|
|
|
- PopupBorder.Visibility = Visibility.Collapsed;
|
|
|
- PasswordUI.Visibility = Visibility.Collapsed;
|
|
|
- }
|
|
|
-
|
|
|
- private void PasswordUI_Canceled(object sender, EventArgs e)
|
|
|
+ private void DefaultAddButton_Click(object sender, RoutedEventArgs e)
|
|
|
{
|
|
|
- PopupBorder.Visibility = Visibility.Collapsed;
|
|
|
- PasswordUI.Visibility = Visibility.Collapsed;
|
|
|
+ string filePath = CommonHelper.GetFilePathOrEmpty();
|
|
|
+ if (filePath != string.Empty)
|
|
|
+ {
|
|
|
+ TabControlLoadDocument(filePath);
|
|
|
+ }
|
|
|
}
|
|
|
+ #endregion
|
|
|
|
|
|
- private void PasswordUI_Confirmed(object sender, string e)
|
|
|
+ public class TabItemExt : TabItem, INotifyPropertyChanged
|
|
|
{
|
|
|
- if (passwordViewer != null && passwordViewer.PDFView != null && passwordViewer.PDFView.Document != null)
|
|
|
+ public event PropertyChangedEventHandler PropertyChanged;
|
|
|
+ private string _fileName;
|
|
|
+ public string FileName
|
|
|
{
|
|
|
- passwordViewer.PDFView.Document.UnlockWithPassword(e);
|
|
|
- if (passwordViewer.PDFView.Document.IsLocked == false)
|
|
|
+ get
|
|
|
{
|
|
|
- PasswordUI.SetShowError("", Visibility.Collapsed);
|
|
|
- PasswordUI.ClearPassword();
|
|
|
- PasswordUI.Visibility = Visibility.Collapsed;
|
|
|
- PopupBorder.Visibility = Visibility.Collapsed;
|
|
|
- pdfViewControl = passwordViewer;
|
|
|
-
|
|
|
- string filePath = passwordViewer.PDFView.Document.FilePath;
|
|
|
- TabItemExt tabItem = new TabItemExt();
|
|
|
- MainPage viewPage = new MainPage();
|
|
|
-
|
|
|
- tabItem.Content = viewPage;
|
|
|
- tabItem.IsSelected = true;
|
|
|
- tabItem.FileName = Path.GetFileName(filePath);
|
|
|
- tabItem.Tag = filePath;
|
|
|
-
|
|
|
- viewPage.SetPDFViewer(pdfViewControl);
|
|
|
- App.OpenedFilePathList.Add(filePath);
|
|
|
+ return _fileName;
|
|
|
+ }
|
|
|
+ set
|
|
|
+ {
|
|
|
+ if (_fileName != value)
|
|
|
+ {
|
|
|
+ _fileName = value;
|
|
|
+ OnPropertyChanged();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
- TabControl.Items.Add(tabItem);
|
|
|
+ private Visibility _fileChanged = Visibility.Hidden;
|
|
|
+ public Visibility FileChanged
|
|
|
+ {
|
|
|
+ get
|
|
|
+ {
|
|
|
+ return _fileChanged;
|
|
|
}
|
|
|
- else
|
|
|
+ set
|
|
|
{
|
|
|
- PasswordUI.SetShowError("error", Visibility.Visible);
|
|
|
+ if (_fileChanged != value)
|
|
|
+ {
|
|
|
+ _fileChanged = value;
|
|
|
+ OnPropertyChanged();
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
+ public void OnPropertyChanged([CallerMemberName] string name = null)
|
|
|
+ {
|
|
|
+ PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(name));
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|