+2000-04-27 Dekel Tsur <dekel@math.tau.ac.il>
+
+ * src/lyx_cb.C (TocUpdateCB): Reverse strings for Hebrew paragraphs
+
+ * src/spellchecker.C (RunSpellChecker): Reverse Hebrew strings in
+ the spellchecker popup.
+
+ * lib/lyxrc.example: Removed the \number_inset section
+
2000-04-28 Jean-Marc Lasgouttes <Jean-Marc.Lasgouttes@inria.fr>
* src/insets/figinset.C (various): Use IsFileReadable() to make
# Arabic). Default is false.
#\rtl true
-# If number_inset is set to "true", each time a digit key is pressed,
-# LyX will automatically open a new number inset.
-# If number_inset is set to "rtl", the above behavior will take place
-# only when the cursor is on right-to-left text.
-# Default is rtl.
-#\number_inset true
-
# The latex command for loading the language package.
# Default is \usepackage{babel}.
#\language_package "\usepackage{omega}"
#include <sys/select.h>
#endif
+#include <algorithm>
+
#include "LString.h"
#include "sp_form.h"
#include "spellchecker.h"
FL_OBJECT * obj;
string tmp = (lyxrc.isp_use_alt_lang) ? lyxrc.isp_alt_lang : bv->buffer()->GetLanguage();
+ bool rtl = tmp == "hebrew" || tmp == "arabic";
int oldval = 0; /* used for updating slider only when needed */
float newval = 0.0;
case ISP_MISSED:
{
bv->selectLastWord();
- fl_set_object_label(fd_form_spell_check->text, word);
+ if (rtl) {
+ string tmp = word;
+ reverse(tmp.begin(),tmp.end());
+ fl_set_object_label(fd_form_spell_check->text, tmp.c_str());
+ } else
+ fl_set_object_label(fd_form_spell_check->text, word);
fl_set_input(fd_form_spell_check->input, word);
fl_clear_browser(fd_form_spell_check->browser);
for (i = 0; i < result->count; ++i) {
- fl_add_browser_line(fd_form_spell_check->browser, result->misses[i]);
+ if (rtl) {
+ string tmp = result->misses[i];
+ reverse(tmp.begin(),tmp.end());
+ fl_add_browser_line(fd_form_spell_check->browser, tmp.c_str());
+ } else
+ fl_add_browser_line(fd_form_spell_check->browser, result->misses[i]);
}
int clickline = -1;
break;
}
clickline = fl_get_browser(fd_form_spell_check->browser);
- fl_set_input(fd_form_spell_check->input,
- fl_get_browser_line(fd_form_spell_check->browser,
- fl_get_browser(fd_form_spell_check->browser)));
-
+ /// Why not use
+ /// fl_set_input(fd_form_spell_check->input, result->misses[clickline-1]); ?
+ if (rtl) {
+ string tmp = fl_get_browser_line(fd_form_spell_check->browser,
+ clickline);
+ reverse(tmp.begin(),tmp.end());
+ fl_set_input(fd_form_spell_check->input, tmp.c_str());
+ } else
+ fl_set_input(fd_form_spell_check->input,
+ fl_get_browser_line(fd_form_spell_check->browser,
+ clickline));
}
if (obj == fd_form_spell_check->stop) {
delete result;