mirror of
https://github.com/QL-Win/QuickLook.git
synced 2025-12-20 02:19:57 +08:00
Fix current page not updating when clicking on thumbnails list
This commit is contained in:
@@ -62,7 +62,7 @@ namespace QuickLook.Plugin.OfficeViewer
|
|||||||
context.Title = $"{Path.GetFileName(path)} (1 / {_pdfViewer.TotalPages})";
|
context.Title = $"{Path.GetFileName(path)} (1 / {_pdfViewer.TotalPages})";
|
||||||
};
|
};
|
||||||
_pdfViewer.CurrentPageChanged += (sender, e) => context.Title =
|
_pdfViewer.CurrentPageChanged += (sender, e) => context.Title =
|
||||||
$"{Path.GetFileName(path)} ({_pdfViewer.CurrectPage + 1} / {_pdfViewer.TotalPages})";
|
$"{Path.GetFileName(path)} ({_pdfViewer.CurrentPage + 1} / {_pdfViewer.TotalPages})";
|
||||||
|
|
||||||
context.ViewerContent = _pdfViewer;
|
context.ViewerContent = _pdfViewer;
|
||||||
|
|
||||||
|
|||||||
@@ -41,7 +41,7 @@ namespace QuickLook.Plugin.PDFViewer
|
|||||||
|
|
||||||
public int TotalPages => PdfHandle.TotalPages;
|
public int TotalPages => PdfHandle.TotalPages;
|
||||||
|
|
||||||
public int CurrectPage
|
public int CurrentPage
|
||||||
{
|
{
|
||||||
get => listThumbnails.SelectedIndex;
|
get => listThumbnails.SelectedIndex;
|
||||||
set
|
set
|
||||||
@@ -97,18 +97,18 @@ namespace QuickLook.Plugin.PDFViewer
|
|||||||
|
|
||||||
private void NextPage()
|
private void NextPage()
|
||||||
{
|
{
|
||||||
if (CurrectPage < PdfHandle.TotalPages - 1)
|
if (CurrentPage < PdfHandle.TotalPages - 1)
|
||||||
{
|
{
|
||||||
CurrectPage++;
|
CurrentPage++;
|
||||||
pageViewPanel.ScrollToTop();
|
pageViewPanel.ScrollToTop();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void PrevPage()
|
private void PrevPage()
|
||||||
{
|
{
|
||||||
if (CurrectPage > 0)
|
if (CurrentPage > 0)
|
||||||
{
|
{
|
||||||
CurrectPage--;
|
CurrentPage--;
|
||||||
pageViewPanel.ScrollToBottom();
|
pageViewPanel.ScrollToBottom();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -143,7 +143,7 @@ namespace QuickLook.Plugin.PDFViewer
|
|||||||
if (!PdfLoaded)
|
if (!PdfLoaded)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
var image = PdfHandle.GetPage(CurrectPage, ZoomFactor).ToBitmapSource();
|
var image = PdfHandle.GetPage(CurrentPage, ZoomFactor).ToBitmapSource();
|
||||||
|
|
||||||
pageViewPanelImage.Source = image;
|
pageViewPanelImage.Source = image;
|
||||||
pageViewPanelImage.Width = pageViewPanelImage.Source.Width;
|
pageViewPanelImage.Width = pageViewPanelImage.Source.Width;
|
||||||
@@ -162,9 +162,11 @@ namespace QuickLook.Plugin.PDFViewer
|
|||||||
if (!PdfLoaded)
|
if (!PdfLoaded)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (CurrectPage == -1)
|
if (CurrentPage == -1)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
CurrentPageChanged?.Invoke(this, new EventArgs());
|
||||||
|
|
||||||
ReRenderCurrentPage();
|
ReRenderCurrentPage();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -173,7 +175,7 @@ namespace QuickLook.Plugin.PDFViewer
|
|||||||
if (!PdfLoaded)
|
if (!PdfLoaded)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
var size = PdfHandle.GetPageSize(CurrectPage, 1d);
|
var size = PdfHandle.GetPageSize(CurrentPage, 1d);
|
||||||
|
|
||||||
var factor = Math.Min(pageViewPanel.ActualWidth / size.Width, pageViewPanel.ActualHeight / size.Height);
|
var factor = Math.Min(pageViewPanel.ActualWidth / size.Width, pageViewPanel.ActualHeight / size.Height);
|
||||||
|
|
||||||
@@ -208,7 +210,7 @@ namespace QuickLook.Plugin.PDFViewer
|
|||||||
Enumerable.Range(0, PdfHandle.TotalPages).ForEach(PageIds.Add);
|
Enumerable.Range(0, PdfHandle.TotalPages).ForEach(PageIds.Add);
|
||||||
OnPropertyChanged(nameof(PageIds));
|
OnPropertyChanged(nameof(PageIds));
|
||||||
|
|
||||||
CurrectPage = 0;
|
CurrentPage = 0;
|
||||||
|
|
||||||
// calculate zoom factor for first page
|
// calculate zoom factor for first page
|
||||||
ZoomToFit();
|
ZoomToFit();
|
||||||
|
|||||||
@@ -43,7 +43,7 @@ namespace QuickLook.Plugin.PDFViewer
|
|||||||
|
|
||||||
context.Title = $"{Path.GetFileName(path)} (1 / {_pdfControl.TotalPages})";
|
context.Title = $"{Path.GetFileName(path)} (1 / {_pdfControl.TotalPages})";
|
||||||
_pdfControl.CurrentPageChanged += (sender2, e2) => context.Title =
|
_pdfControl.CurrentPageChanged += (sender2, e2) => context.Title =
|
||||||
$"{Path.GetFileName(path)} ({_pdfControl.CurrectPage + 1} / {_pdfControl.TotalPages})";
|
$"{Path.GetFileName(path)} ({_pdfControl.CurrentPage + 1} / {_pdfControl.TotalPages})";
|
||||||
|
|
||||||
context.IsBusy = false;
|
context.IsBusy = false;
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user