|
@@ -27,7 +27,7 @@ public static class NavigationHelper
|
|
|
private static CancellationTokenSource? _cancellationTokenSource;
|
|
|
|
|
|
#region Navigation
|
|
|
-
|
|
|
+
|
|
|
/// <summary>
|
|
|
/// Determines whether navigation is possible based on the current state of the <see cref="MainViewModel"/>.
|
|
|
/// </summary>
|
|
@@ -39,7 +39,7 @@ public static class NavigationHelper
|
|
|
vm.ImageIterator.ImagePaths.Count > 0 && !CropFunctions.IsCropping;
|
|
|
// TODO: should probably turn this into CanExecute observable for ReactiveUI
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
/// <summary>
|
|
|
/// Navigates to the next or previous image based on the <paramref name="next"/> parameter.
|
|
|
/// </summary>
|
|
@@ -52,19 +52,88 @@ public static class NavigationHelper
|
|
|
{
|
|
|
return;
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
if (GalleryFunctions.IsFullGalleryOpen)
|
|
|
{
|
|
|
await ScrollGallery(next);
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- var navigateTo = next ? NavigateTo.Next : NavigateTo.Previous;
|
|
|
- _cancellationTokenSource = new CancellationTokenSource();
|
|
|
- await vm.ImageIterator.NextIteration(navigateTo, _cancellationTokenSource.Token).ConfigureAwait(false);
|
|
|
+ await Task.Run(async () =>
|
|
|
+ {
|
|
|
+ var navigateTo = next ? NavigateTo.Next : NavigateTo.Previous;
|
|
|
+
|
|
|
+ if (_cancellationTokenSource is not null)
|
|
|
+ {
|
|
|
+ await _cancellationTokenSource.CancelAsync().ConfigureAwait(false);
|
|
|
+ }
|
|
|
+
|
|
|
+ _cancellationTokenSource = new CancellationTokenSource();
|
|
|
+ await vm.ImageIterator.NextIteration(navigateTo, _cancellationTokenSource).ConfigureAwait(false);
|
|
|
+ }).ConfigureAwait(false);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ public static async Task Navigate(int index, MainViewModel vm)
|
|
|
+ {
|
|
|
+ if (!CanNavigate(vm))
|
|
|
+ {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ if (_cancellationTokenSource is not null)
|
|
|
+ {
|
|
|
+ await _cancellationTokenSource.CancelAsync().ConfigureAwait(false);
|
|
|
+ }
|
|
|
+
|
|
|
+ _cancellationTokenSource = new CancellationTokenSource();
|
|
|
+ await vm.ImageIterator.IterateToIndex(index, _cancellationTokenSource).ConfigureAwait(false);
|
|
|
+ }
|
|
|
+
|
|
|
+ public static async Task Next10(MainViewModel vm)
|
|
|
+ {
|
|
|
+ if (_cancellationTokenSource is not null)
|
|
|
+ {
|
|
|
+ await _cancellationTokenSource.CancelAsync().ConfigureAwait(false);
|
|
|
+ }
|
|
|
+
|
|
|
+ _cancellationTokenSource = new CancellationTokenSource();
|
|
|
+ await vm.ImageIterator.Next10Iteration(true, _cancellationTokenSource).ConfigureAwait(false);
|
|
|
+ }
|
|
|
+
|
|
|
+ public static async Task Next100(MainViewModel vm)
|
|
|
+ {
|
|
|
+ if (_cancellationTokenSource is not null)
|
|
|
+ {
|
|
|
+ await _cancellationTokenSource.CancelAsync().ConfigureAwait(false);
|
|
|
+ }
|
|
|
+
|
|
|
+ _cancellationTokenSource = new CancellationTokenSource();
|
|
|
+ await vm.ImageIterator.Next100Iteration(true, _cancellationTokenSource).ConfigureAwait(false);
|
|
|
+ }
|
|
|
+
|
|
|
+ public static async Task Prev10(MainViewModel vm)
|
|
|
+ {
|
|
|
+ if (_cancellationTokenSource is not null)
|
|
|
+ {
|
|
|
+ await _cancellationTokenSource.CancelAsync().ConfigureAwait(false);
|
|
|
+ }
|
|
|
+
|
|
|
+ _cancellationTokenSource = new CancellationTokenSource();
|
|
|
+ await vm.ImageIterator.Next10Iteration(false, _cancellationTokenSource).ConfigureAwait(false);
|
|
|
+ }
|
|
|
+
|
|
|
+ public static async Task Prev100(MainViewModel vm)
|
|
|
+ {
|
|
|
+ if (_cancellationTokenSource is not null)
|
|
|
+ {
|
|
|
+ await _cancellationTokenSource.CancelAsync().ConfigureAwait(false);
|
|
|
+ }
|
|
|
+
|
|
|
+ _cancellationTokenSource = new CancellationTokenSource();
|
|
|
+ await vm.ImageIterator.Next100Iteration(false, _cancellationTokenSource).ConfigureAwait(false);
|
|
|
+ }
|
|
|
+
|
|
|
/// <summary>
|
|
|
/// Navigates to the first or last image in the collection.
|
|
|
/// </summary>
|
|
@@ -77,13 +146,21 @@ public static class NavigationHelper
|
|
|
{
|
|
|
return;
|
|
|
}
|
|
|
+
|
|
|
if (GalleryFunctions.IsFullGalleryOpen)
|
|
|
{
|
|
|
GalleryNavigation.NavigateGallery(last, vm);
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- await vm.ImageIterator.NextIteration(last ? NavigateTo.Last : NavigateTo.First).ConfigureAwait(false);
|
|
|
+ if (_cancellationTokenSource is not null)
|
|
|
+ {
|
|
|
+ await _cancellationTokenSource.CancelAsync().ConfigureAwait(false);
|
|
|
+ }
|
|
|
+
|
|
|
+ _cancellationTokenSource = new CancellationTokenSource();
|
|
|
+ await vm.ImageIterator.NextIteration(last ? NavigateTo.Last : NavigateTo.First, _cancellationTokenSource)
|
|
|
+ .ConfigureAwait(false);
|
|
|
await ScrollToEndIfNecessary(last);
|
|
|
}
|
|
|
}
|
|
@@ -124,7 +201,7 @@ public static class NavigationHelper
|
|
|
{
|
|
|
return;
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
if (GalleryFunctions.IsFullGalleryOpen)
|
|
|
{
|
|
|
await ScrollGallery(next);
|
|
@@ -135,7 +212,7 @@ public static class NavigationHelper
|
|
|
await MoveCursorOnButtonClick(next, arrow, vm);
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
/// <summary>
|
|
|
/// Navigates to the next or previous folder and loads the first image in that folder.
|
|
|
/// </summary>
|
|
@@ -148,11 +225,13 @@ public static class NavigationHelper
|
|
|
{
|
|
|
return;
|
|
|
}
|
|
|
+
|
|
|
SetTitleHelper.SetLoadingTitle(vm);
|
|
|
if (_cancellationTokenSource is not null)
|
|
|
{
|
|
|
await _cancellationTokenSource.CancelAsync();
|
|
|
}
|
|
|
+
|
|
|
var fileList = await GetNextFolderFileList(next, vm).ConfigureAwait(false);
|
|
|
|
|
|
if (fileList is null)
|
|
@@ -165,11 +244,11 @@ public static class NavigationHelper
|
|
|
await PreviewPicAndLoadGallery(new FileInfo(fileList[0]), vm, fileList);
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
#endregion
|
|
|
-
|
|
|
+
|
|
|
#region Load pictures from string, file or url
|
|
|
-
|
|
|
+
|
|
|
/// <summary>
|
|
|
/// Loads a picture from a given string source, which can be a file path, directory path, or URL.
|
|
|
/// </summary>
|
|
@@ -182,16 +261,18 @@ public static class NavigationHelper
|
|
|
{
|
|
|
return;
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
UIHelper.CloseMenus(vm);
|
|
|
vm.IsLoading = true;
|
|
|
SetTitleHelper.SetLoadingTitle(vm);
|
|
|
-
|
|
|
+
|
|
|
if (_cancellationTokenSource is not null)
|
|
|
{
|
|
|
- await _cancellationTokenSource.CancelAsync();
|
|
|
+ await _cancellationTokenSource.CancelAsync().ConfigureAwait(false);
|
|
|
}
|
|
|
|
|
|
+ _cancellationTokenSource = new CancellationTokenSource();
|
|
|
+
|
|
|
// Starting in new task makes it more responsive and works better
|
|
|
await Task.Run(async () =>
|
|
|
{
|
|
@@ -205,11 +286,13 @@ public static class NavigationHelper
|
|
|
{
|
|
|
if (vm.ImageIterator.ImagePaths.Contains(check))
|
|
|
{
|
|
|
- await vm.ImageIterator.IterateToIndex(vm.ImageIterator.ImagePaths.IndexOf(check))
|
|
|
+ await vm.ImageIterator.IterateToIndex(vm.ImageIterator.ImagePaths.IndexOf(check),
|
|
|
+ _cancellationTokenSource)
|
|
|
.ConfigureAwait(false);
|
|
|
return;
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
vm.CurrentView = vm.ImageViewer;
|
|
|
await LoadPicFromFile(check, vm).ConfigureAwait(false);
|
|
|
vm.IsLoading = false;
|
|
@@ -251,7 +334,7 @@ public static class NavigationHelper
|
|
|
}
|
|
|
});
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
/// <summary>
|
|
|
/// Loads a picture from a given file.
|
|
|
/// </summary>
|
|
@@ -265,21 +348,25 @@ public static class NavigationHelper
|
|
|
{
|
|
|
return;
|
|
|
}
|
|
|
+
|
|
|
fileInfo ??= new FileInfo(fileName);
|
|
|
if (!fileInfo.Exists)
|
|
|
{
|
|
|
return;
|
|
|
}
|
|
|
+
|
|
|
if (SettingsHelper.Settings.UIProperties.IsTaskbarProgressEnabled)
|
|
|
{
|
|
|
vm.PlatformService.StopTaskbarProgress();
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
if (_cancellationTokenSource is not null)
|
|
|
{
|
|
|
- await _cancellationTokenSource.CancelAsync();
|
|
|
+ await _cancellationTokenSource.CancelAsync().ConfigureAwait(false);
|
|
|
}
|
|
|
|
|
|
+ _cancellationTokenSource = new CancellationTokenSource();
|
|
|
+
|
|
|
if (vm.ImageIterator is not null)
|
|
|
{
|
|
|
if (fileInfo.DirectoryName == vm.ImageIterator.InitialFileInfo.DirectoryName)
|
|
@@ -300,7 +387,7 @@ public static class NavigationHelper
|
|
|
var index = vm.ImageIterator.ImagePaths.IndexOf(fileName);
|
|
|
if (index != -1)
|
|
|
{
|
|
|
- await vm.ImageIterator.IterateToIndex(index);
|
|
|
+ await vm.ImageIterator.IterateToIndex(index, _cancellationTokenSource).ConfigureAwait(false);
|
|
|
}
|
|
|
else
|
|
|
{
|
|
@@ -333,8 +420,9 @@ public static class NavigationHelper
|
|
|
{
|
|
|
await _cancellationTokenSource.CancelAsync();
|
|
|
}
|
|
|
-
|
|
|
- var extraction = await ArchiveExtraction.ExtractArchiveAsync(path, vm.PlatformService.ExtractWithLocalSoftwareAsync).ConfigureAwait(false);
|
|
|
+
|
|
|
+ var extraction = await ArchiveExtraction
|
|
|
+ .ExtractArchiveAsync(path, vm.PlatformService.ExtractWithLocalSoftwareAsync).ConfigureAwait(false);
|
|
|
if (!extraction)
|
|
|
{
|
|
|
await ErrorHandling.ReloadAsync(vm);
|
|
@@ -354,6 +442,7 @@ public static class NavigationHelper
|
|
|
{
|
|
|
await LoadPicFromDirectoryAsync(ArchiveExtraction.TempZipDirectory, vm).ConfigureAwait(false);
|
|
|
}
|
|
|
+
|
|
|
MainKeyboardShortcuts.ClearKeyDownModifiers(); // Fix possible modifier key state issue
|
|
|
}
|
|
|
else
|
|
@@ -361,7 +450,7 @@ public static class NavigationHelper
|
|
|
await ErrorHandling.ReloadAsync(vm);
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
/// <summary>
|
|
|
/// Loads a picture from a given URL.
|
|
|
/// </summary>
|
|
@@ -374,7 +463,7 @@ public static class NavigationHelper
|
|
|
{
|
|
|
await _cancellationTokenSource.CancelAsync();
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
string destination;
|
|
|
|
|
|
try
|
|
@@ -383,12 +472,13 @@ public static class NavigationHelper
|
|
|
|
|
|
var httpDownload = HttpNavigation.GetDownloadClient(url);
|
|
|
using var client = httpDownload.Client;
|
|
|
- client.ProgressChanged += (totalFileSize, totalBytesDownloaded, progressPercentage) =>
|
|
|
+ client.ProgressChanged += (totalFileSize, totalBytesDownloaded, progressPercentage) =>
|
|
|
{
|
|
|
if (totalFileSize is null || totalBytesDownloaded is null || progressPercentage is null)
|
|
|
{
|
|
|
return;
|
|
|
}
|
|
|
+
|
|
|
var displayProgress = HttpNavigation.GetProgressDisplay(totalFileSize, totalBytesDownloaded,
|
|
|
progressPercentage);
|
|
|
vm.Title = displayProgress;
|
|
@@ -412,14 +502,14 @@ public static class NavigationHelper
|
|
|
|
|
|
return;
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
var fileInfo = new FileInfo(destination);
|
|
|
if (!fileInfo.Exists)
|
|
|
{
|
|
|
await ErrorHandling.ReloadAsync(vm);
|
|
|
return;
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
var imageModel = await GetImageModel.GetImageModelAsync(fileInfo).ConfigureAwait(false);
|
|
|
UpdateImage.SetSingleImage(imageModel.Image, imageModel.ImageType, url, vm);
|
|
|
vm.FileInfo = fileInfo;
|
|
@@ -428,7 +518,7 @@ public static class NavigationHelper
|
|
|
|
|
|
vm.IsLoading = false;
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
/// <summary>
|
|
|
/// Loads a picture from a Base64-encoded string.
|
|
|
/// </summary>
|
|
@@ -460,13 +550,14 @@ public static class NavigationHelper
|
|
|
PixelHeight = bitmap?.PixelSize.Height ?? 0,
|
|
|
ImageType = ImageType.Bitmap
|
|
|
};
|
|
|
- UpdateImage.SetSingleImage(imageModel.Image, imageModel.ImageType, TranslationHelper.Translation.Base64Image, vm);
|
|
|
+ UpdateImage.SetSingleImage(imageModel.Image, imageModel.ImageType,
|
|
|
+ TranslationHelper.Translation.Base64Image, vm);
|
|
|
}
|
|
|
catch (Exception e)
|
|
|
{
|
|
|
- #if DEBUG
|
|
|
+#if DEBUG
|
|
|
Console.WriteLine("LoadPicFromBase64Async exception = \n" + e.Message);
|
|
|
- #endif
|
|
|
+#endif
|
|
|
if (vm.FileInfo is not null && vm.FileInfo.Exists)
|
|
|
{
|
|
|
await LoadPicFromFile(vm.FileInfo.FullName, vm, vm.FileInfo);
|
|
@@ -491,17 +582,19 @@ public static class NavigationHelper
|
|
|
{
|
|
|
vm.IsLoading = true;
|
|
|
SetTitleHelper.SetLoadingTitle(vm);
|
|
|
-
|
|
|
+
|
|
|
if (_cancellationTokenSource is not null)
|
|
|
{
|
|
|
- await _cancellationTokenSource.CancelAsync();
|
|
|
+ await _cancellationTokenSource.CancelAsync().ConfigureAwait(false);
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
+ _cancellationTokenSource = new CancellationTokenSource();
|
|
|
+
|
|
|
if (SettingsHelper.Settings.UIProperties.IsTaskbarProgressEnabled)
|
|
|
{
|
|
|
vm.PlatformService.StopTaskbarProgress();
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
fileInfo ??= new FileInfo(file);
|
|
|
vm.ImageIterator?.Dispose();
|
|
|
var fileList = await Task.FromResult(vm.PlatformService.GetFiles(fileInfo)).ConfigureAwait(false);
|
|
@@ -517,6 +610,7 @@ public static class NavigationHelper
|
|
|
await ErrorHandling.ReloadAsync(vm).ConfigureAwait(false);
|
|
|
return;
|
|
|
}
|
|
|
+
|
|
|
SettingsHelper.Settings.Sorting.IncludeSubDirectories = false;
|
|
|
}
|
|
|
else
|
|
@@ -525,15 +619,16 @@ public static class NavigationHelper
|
|
|
return;
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
vm.ImageIterator = new ImageIterator(fileInfo, fileList, 0, vm);
|
|
|
- await vm.ImageIterator.IterateToIndex(0);
|
|
|
+ await vm.ImageIterator.IterateToIndex(0, _cancellationTokenSource).ConfigureAwait(false);
|
|
|
await CheckAndReloadGallery(fileInfo, vm);
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
#endregion
|
|
|
|
|
|
#region Private helpers
|
|
|
-
|
|
|
+
|
|
|
/// <summary>
|
|
|
/// Gets the list of files in the next or previous folder.
|
|
|
/// </summary>
|
|
@@ -550,12 +645,16 @@ public static class NavigationHelper
|
|
|
var directories = Directory.GetDirectories(parentFolder, "*", SearchOption.TopDirectoryOnly);
|
|
|
var directoryIndex = Array.IndexOf(directories, currentFolder);
|
|
|
if (SettingsHelper.Settings.UIProperties.Looping)
|
|
|
+ {
|
|
|
directoryIndex = (directoryIndex + indexChange + directories.Length) % directories.Length;
|
|
|
+ }
|
|
|
else
|
|
|
{
|
|
|
directoryIndex += indexChange;
|
|
|
if (directoryIndex < 0 || directoryIndex >= directories.Length)
|
|
|
+ {
|
|
|
return null;
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
for (var i = directoryIndex; i < directories.Length; i++)
|
|
@@ -563,8 +662,11 @@ public static class NavigationHelper
|
|
|
var fileInfo = new FileInfo(directories[i]);
|
|
|
var fileList = vm.PlatformService.GetFiles(fileInfo);
|
|
|
if (fileList is { Count: > 0 })
|
|
|
+ {
|
|
|
return fileList;
|
|
|
+ }
|
|
|
}
|
|
|
+
|
|
|
return null;
|
|
|
}).ConfigureAwait(false);
|
|
|
}
|
|
@@ -583,22 +685,24 @@ public static class NavigationHelper
|
|
|
vm.ImageType = imageModel.ImageType;
|
|
|
await Dispatcher.UIThread.InvokeAsync(() =>
|
|
|
{
|
|
|
- WindowResizing.SetSize(imageModel.PixelWidth, imageModel.PixelHeight, 0,0, imageModel.Rotation, vm);
|
|
|
+ WindowResizing.SetSize(imageModel.PixelWidth, imageModel.PixelHeight, 0, 0, imageModel.Rotation, vm);
|
|
|
});
|
|
|
-
|
|
|
+
|
|
|
if (files is null)
|
|
|
{
|
|
|
vm.ImageIterator = new ImageIterator(fileInfo, vm);
|
|
|
- await vm.ImageIterator.IterateToIndex(vm.ImageIterator.ImagePaths.IndexOf(fileInfo.FullName));
|
|
|
+ await vm.ImageIterator.IterateToIndex(vm.ImageIterator.ImagePaths.IndexOf(fileInfo.FullName),
|
|
|
+ _cancellationTokenSource);
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- vm.ImageIterator = new ImageIterator(fileInfo, files, currentIndex: 0, vm);
|
|
|
- await vm.ImageIterator.IterateToIndex(0);
|
|
|
+ vm.ImageIterator = new ImageIterator(fileInfo, files, 0, vm);
|
|
|
+ await vm.ImageIterator.IterateToIndex(0, _cancellationTokenSource);
|
|
|
}
|
|
|
+
|
|
|
await CheckAndReloadGallery(fileInfo, vm);
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
/// <summary>
|
|
|
/// Checks and reloads the gallery if necessary based on the provided file info.
|
|
|
/// </summary>
|
|
@@ -610,7 +714,7 @@ public static class NavigationHelper
|
|
|
if (SettingsHelper.Settings.Gallery.IsBottomGalleryShown || GalleryFunctions.IsFullGalleryOpen)
|
|
|
{
|
|
|
GalleryFunctions.Clear();
|
|
|
-
|
|
|
+
|
|
|
// Check if the bottom gallery should be shown
|
|
|
if (!GalleryFunctions.IsFullGalleryOpen)
|
|
|
{
|
|
@@ -620,10 +724,11 @@ public static class NavigationHelper
|
|
|
vm.GalleryMode = GalleryMode.ClosedToBottom;
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
await GalleryLoad.ReloadGalleryAsync(vm, fileInfo.DirectoryName);
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
/// <summary>
|
|
|
/// Scrolls the gallery to the next or previous page.
|
|
|
/// </summary>
|
|
@@ -634,12 +739,16 @@ public static class NavigationHelper
|
|
|
await Dispatcher.UIThread.InvokeAsync(() =>
|
|
|
{
|
|
|
if (next)
|
|
|
+ {
|
|
|
UIHelper.GetGalleryView.GalleryListBox.PageRight();
|
|
|
+ }
|
|
|
else
|
|
|
+ {
|
|
|
UIHelper.GetGalleryView.GalleryListBox.PageLeft();
|
|
|
+ }
|
|
|
});
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
/// <summary>
|
|
|
/// Scrolls to the end of the gallery if the <paramref name="last"/> parameter is true.
|
|
|
/// </summary>
|
|
@@ -649,13 +758,10 @@ public static class NavigationHelper
|
|
|
{
|
|
|
if (last && SettingsHelper.Settings.Gallery.IsBottomGalleryShown)
|
|
|
{
|
|
|
- await Dispatcher.UIThread.InvokeAsync(() =>
|
|
|
- {
|
|
|
- UIHelper.GetGalleryView.GalleryListBox.ScrollToEnd();
|
|
|
- });
|
|
|
+ await Dispatcher.UIThread.InvokeAsync(() => { UIHelper.GetGalleryView.GalleryListBox.ScrollToEnd(); });
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
/// <summary>
|
|
|
/// Moves the cursor on the navigation button.
|
|
|
/// </summary>
|
|
@@ -685,7 +791,9 @@ public static class NavigationHelper
|
|
|
{
|
|
|
return arrow
|
|
|
? next ? "ClickArrowRight" : "ClickArrowLeft"
|
|
|
- : next ? "NextButton" : "PreviousButton";
|
|
|
+ : next
|
|
|
+ ? "NextButton"
|
|
|
+ : "PreviousButton";
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
@@ -709,10 +817,10 @@ public static class NavigationHelper
|
|
|
/// <returns>The point to click on the button.</returns>
|
|
|
private static Point GetClickPoint(bool next, bool arrow)
|
|
|
{
|
|
|
- return arrow ? next ? new Point(65, 95) : new Point(15, 95)
|
|
|
+ return arrow
|
|
|
+ ? next ? new Point(65, 95) : new Point(15, 95)
|
|
|
: new Point(50, 10);
|
|
|
}
|
|
|
|
|
|
-
|
|
|
#endregion
|
|
|
}
|