From 9f7c8d559c54fd85f45191d7754f9e27d87aef76 Mon Sep 17 00:00:00 2001 From: Aesylwinn Date: Mon, 16 May 2016 17:16:15 -0400 Subject: [PATCH] Add focus requirement for context menu. --- apps/opencs/view/render/cell.cpp | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/apps/opencs/view/render/cell.cpp b/apps/opencs/view/render/cell.cpp index a8e36728cd..e383ccad38 100644 --- a/apps/opencs/view/render/cell.cpp +++ b/apps/opencs/view/render/cell.cpp @@ -307,11 +307,23 @@ void CSVRender::Cell::setSelection (int elementMask, Selection mode) } if (elementMask & Mask_Pathgrid) { + // Only one pathgrid may be selected, so some operations will only have an effect + // if the pathgrid is already focused switch (mode) { - case Selection_Clear: mPathgrid->clearSelected(); break; - case Selection_All: mPathgrid->selectAll(); break; - case Selection_Invert: mPathgrid->invertSelected(); break; + case Selection_Clear: + mPathgrid->clearSelected(); + break; + + case Selection_All: + if (mPathgrid->isSelected()) + mPathgrid->selectAll(); + break; + + case Selection_Invert: + if (mPathgrid->isSelected()) + mPathgrid->invertSelected(); + break; } } }