mirror of
https://github.com/ShareX/ShareX.git
synced 2024-10-03 02:36:50 +13:00
Respect panel selection order when using shift select
This commit is contained in:
parent
f95b3bdd1d
commit
20602d2dd8
2 changed files with 16 additions and 8 deletions
|
@ -758,16 +758,24 @@ public static void SupportDarkTheme(this ListView lv)
|
||||||
|
|
||||||
public static List<T> Range<T>(this List<T> source, int start, int end)
|
public static List<T> Range<T>(this List<T> source, int start, int end)
|
||||||
{
|
{
|
||||||
|
List<T> list = new List<T>();
|
||||||
|
|
||||||
if (start > end)
|
if (start > end)
|
||||||
{
|
{
|
||||||
int temp = start;
|
for (int i = start; i >= end; i--)
|
||||||
start = end;
|
{
|
||||||
end = temp;
|
list.Add(source[i]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
for (int i = start; i <= end; i++)
|
||||||
|
{
|
||||||
|
list.Add(source[i]);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
int length = end - start + 1;
|
return list;
|
||||||
|
|
||||||
return source.GetRange(start, length);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static List<T> Range<T>(this List<T> source, T start, T end)
|
public static List<T> Range<T>(this List<T> source, T start, T end)
|
||||||
|
|
|
@ -268,11 +268,11 @@ private void Panel_MouseUp(object sender, MouseEventArgs e, TaskThumbnailPanel p
|
||||||
{
|
{
|
||||||
if (SelectedPanels.Count > 0)
|
if (SelectedPanels.Count > 0)
|
||||||
{
|
{
|
||||||
TaskThumbnailPanel lastPanel = SelectedPanels[SelectedPanels.Count - 1];
|
TaskThumbnailPanel firstPanel = SelectedPanels[0];
|
||||||
|
|
||||||
UnselectAllPanels();
|
UnselectAllPanels();
|
||||||
|
|
||||||
foreach (TaskThumbnailPanel p in Panels.Range(panel, lastPanel))
|
foreach (TaskThumbnailPanel p in Panels.Range(firstPanel, panel))
|
||||||
{
|
{
|
||||||
p.Selected = true;
|
p.Selected = true;
|
||||||
SelectedPanels.Add(p);
|
SelectedPanels.Add(p);
|
||||||
|
|
Loading…
Reference in a new issue