aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/EditView.cxx10
-rw-r--r--src/Editor.cxx14
-rw-r--r--src/ViewStyle.cxx3
3 files changed, 10 insertions, 17 deletions
diff --git a/src/EditView.cxx b/src/EditView.cxx
index 0e136a8bf..a4fd701a7 100644
--- a/src/EditView.cxx
+++ b/src/EditView.cxx
@@ -2060,17 +2060,11 @@ void DrawFoldLines(Surface *surface, const EditModel &model, const ViewStyle &vs
const ColourRGBA foldLineColour = vsDraw.ElementColour(Element::FoldLine).value_or(
vsDraw.styles[StyleDefault].fore);
// Paint the line above the fold
- if ((subLine == 0) &&
- ((expanded && (FlagSet(model.foldFlags, FoldFlag::LineBeforeExpanded)))
- ||
- (!expanded && (FlagSet(model.foldFlags, FoldFlag::LineBeforeContracted))))) {
+ if ((subLine == 0) && FlagSet(model.foldFlags, (expanded ? FoldFlag::LineBeforeExpanded: FoldFlag::LineBeforeContracted))) {
surface->FillRectangleAligned(Side(rcLine, Edge::top, 1.0), foldLineColour);
}
// Paint the line below the fold
- if (lastSubLine &&
- ((expanded && (FlagSet(model.foldFlags, FoldFlag::LineAfterExpanded)))
- ||
- (!expanded && (FlagSet(model.foldFlags, FoldFlag::LineAfterContracted))))) {
+ if (lastSubLine && FlagSet(model.foldFlags, (expanded ? FoldFlag::LineAfterExpanded : FoldFlag::LineAfterContracted))) {
surface->FillRectangleAligned(Side(rcLine, Edge::bottom, 1.0), foldLineColour);
// If contracted fold line drawn then don't overwrite with hidden line
// as fold lines are more specific then hidden lines.
diff --git a/src/Editor.cxx b/src/Editor.cxx
index 3421dc72d..ceaa1398d 100644
--- a/src/Editor.cxx
+++ b/src/Editor.cxx
@@ -98,11 +98,12 @@ constexpr bool CanEliminate(const DocModification &mh) noexcept {
in a [possibly lengthy] multi-step Undo/Redo sequence
*/
constexpr bool IsLastStep(const DocModification &mh) noexcept {
+ constexpr ModificationFlags finalMask = ModificationFlags::MultiStepUndoRedo
+ | ModificationFlags::LastStepInUndoRedo
+ | ModificationFlags::MultilineUndoRedo;
return
FlagSet(mh.modificationType, (ModificationFlags::Undo | ModificationFlags::Redo))
- && (FlagSet(mh.modificationType, ModificationFlags::MultiStepUndoRedo))
- && (FlagSet(mh.modificationType, ModificationFlags::LastStepInUndoRedo))
- && (FlagSet(mh.modificationType, ModificationFlags::MultilineUndoRedo));
+ && ((mh.modificationType & finalMask) == finalMask);
}
}
@@ -2727,7 +2728,7 @@ void Editor::NotifyModified(Document *, DocModification mh, void *) {
if (FlagSet(mh.modificationType, ModificationFlags::BeforeInsert)) {
if (pdoc->ContainsLineEnd(mh.text, mh.length) && (mh.position != pdoc->LineStart(lineOfPos)))
endNeedShown = pdoc->LineStart(lineOfPos+1);
- } else if (FlagSet(mh.modificationType, ModificationFlags::BeforeDelete)) {
+ } else {
// If the deletion includes any EOL then we extend the need shown area.
endNeedShown = mh.position + mh.length;
Sci::Line lineLast = pdoc->SciLineFromPosition(mh.position+mh.length);
@@ -2802,7 +2803,7 @@ void Editor::NotifyModified(Document *, DocModification mh, void *) {
SetScrollBars();
}
- if ((FlagSet(mh.modificationType, ModificationFlags::ChangeMarker)) || (FlagSet(mh.modificationType, ModificationFlags::ChangeMargin))) {
+ if (FlagSet(mh.modificationType, (ModificationFlags::ChangeMarker | ModificationFlags::ChangeMargin))) {
if ((!willRedrawAll) && ((paintState == PaintState::notPainting) || !PaintContainsMargin())) {
if (FlagSet(mh.modificationType, ModificationFlags::ChangeFold)) {
// Fold changes can affect the drawing of following lines so redraw whole margin
@@ -4646,8 +4647,7 @@ void Editor::MouseLeave() {
}
static constexpr bool AllowVirtualSpace(VirtualSpace virtualSpaceOptions, bool rectangular) noexcept {
- return (!rectangular && (FlagSet(virtualSpaceOptions, VirtualSpace::UserAccessible)))
- || (rectangular && (FlagSet(virtualSpaceOptions, VirtualSpace::RectangularSelection)));
+ return FlagSet(virtualSpaceOptions, (rectangular ? VirtualSpace::RectangularSelection : VirtualSpace::UserAccessible));
}
void Editor::ButtonDownWithModifiers(Point pt, unsigned int curTime, KeyMod modifiers) {
diff --git a/src/ViewStyle.cxx b/src/ViewStyle.cxx
index a669fce4a..04f2de977 100644
--- a/src/ViewStyle.cxx
+++ b/src/ViewStyle.cxx
@@ -712,8 +712,7 @@ bool ViewStyle::SetWrapIndentMode(WrapIndentMode wrapIndentMode_) noexcept {
bool ViewStyle::IsBlockCaretStyle() const noexcept {
return ((caret.style & CaretStyle::InsMask) == CaretStyle::Block) ||
- FlagSet(caret.style, CaretStyle::OverstrikeBlock) ||
- FlagSet(caret.style, CaretStyle::Curses);
+ FlagSet(caret.style, (CaretStyle::OverstrikeBlock | CaretStyle::Curses));
}
bool ViewStyle::IsCaretVisible(bool isMainSelection) const noexcept {