> Index: src/Bidi.cpp
> ===================================================================
> --- src/Bidi.cpp (revision 18314)
> +++ src/Bidi.cpp (working copy)
> @@ -12,6 +12,7 @@
>
> #include "Bidi.h"
> #include "Buffer.h"
> +#include "BufferView.h"
> #include "Font.h"
> #include "Row.h"
> #include "LyXRC.h"
> @@ -209,4 +210,18 @@
> }
>
>
> +bool Bidi::reverseDirections(Cursor const & cur)
> +{
> + /*
> + * We determine the directions based on the direction of the
> + * bottom() --- i.e., outermost --- paragraph, because that is
> + * the only way to achieve consistency of the arrow's movements
> + * within a paragraph, and thus avoid situations in which the
> + * cursor gets stuck.
> + */
> + return cur.bottom().paragraph().isRightToLeftPar(
> + cur.bv().buffer()->params());
> +}
The fact that you need an extra header for a static function (which does
not use the class at all) is a good sign that it doesn't really
belong there.
If it were in Cursor, it'd look like:
bool Cursor::reverseDirections() const
{
/*
* We determine the directions based on the direction of the
* bottom() --- i.e., outermost --- paragraph, because that is
* the only way to achieve consistency of the arrow's movements
* within a paragraph, and thus avoid situations in which the
* cursor gets stuck.
*/
return bottom().paragraph().isRightToLeftPar(bv().buffer()->params());
}
The only reason not to do this is that Cursor is already too fat, but I
don't think it is outweighed in this case.
Could be a Paragraph method, too...
Andre'