mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-11-29 21:05:12 +00:00
* possibility to disable the completion cursor in text. All those
"*supported" methods maybe should be merged with a bit-enum as return value. git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23776 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
parent
a015e133ab
commit
9e499117e3
@ -1882,6 +1882,7 @@ void actOnUpdatedPrefs(LyXRC const & lyxrc_orig, LyXRC const & lyxrc_new)
|
|||||||
case LyXRC::RC_BIBTEX_COMMAND:
|
case LyXRC::RC_BIBTEX_COMMAND:
|
||||||
case LyXRC::RC_BINDFILE:
|
case LyXRC::RC_BINDFILE:
|
||||||
case LyXRC::RC_CHECKLASTFILES:
|
case LyXRC::RC_CHECKLASTFILES:
|
||||||
|
case LyXRC::RC_COMPLETION_CURSOR_TEXT:
|
||||||
case LyXRC::RC_COMPLETION_INLINE_DELAY:
|
case LyXRC::RC_COMPLETION_INLINE_DELAY:
|
||||||
case LyXRC::RC_COMPLETION_INLINE_DOTS:
|
case LyXRC::RC_COMPLETION_INLINE_DOTS:
|
||||||
case LyXRC::RC_COMPLETION_INLINE_MATH:
|
case LyXRC::RC_COMPLETION_INLINE_MATH:
|
||||||
|
@ -63,6 +63,7 @@ keyword_item lyxrcTags[] = {
|
|||||||
{ "\\bind_file", LyXRC::RC_BINDFILE },
|
{ "\\bind_file", LyXRC::RC_BINDFILE },
|
||||||
{ "\\check_lastfiles", LyXRC::RC_CHECKLASTFILES },
|
{ "\\check_lastfiles", LyXRC::RC_CHECKLASTFILES },
|
||||||
{ "\\chktex_command", LyXRC::RC_CHKTEX_COMMAND },
|
{ "\\chktex_command", LyXRC::RC_CHKTEX_COMMAND },
|
||||||
|
{ "\\completion_cursor_text", LyXRC::RC_COMPLETION_CURSOR_TEXT },
|
||||||
{ "\\completion_inline_delay", LyXRC::RC_COMPLETION_INLINE_DELAY },
|
{ "\\completion_inline_delay", LyXRC::RC_COMPLETION_INLINE_DELAY },
|
||||||
{ "\\completion_inline_dots", LyXRC::RC_COMPLETION_INLINE_DOTS },
|
{ "\\completion_inline_dots", LyXRC::RC_COMPLETION_INLINE_DOTS },
|
||||||
{ "\\completion_inline_math", LyXRC::RC_COMPLETION_INLINE_MATH },
|
{ "\\completion_inline_math", LyXRC::RC_COMPLETION_INLINE_MATH },
|
||||||
@ -308,6 +309,7 @@ void LyXRC::setDefaults() {
|
|||||||
full_screen_scrollbar = true;
|
full_screen_scrollbar = true;
|
||||||
full_screen_width = 700;
|
full_screen_width = 700;
|
||||||
|
|
||||||
|
completion_cursor_text = true;
|
||||||
completion_popup_math = true;
|
completion_popup_math = true;
|
||||||
completion_popup_text = false;
|
completion_popup_text = false;
|
||||||
completion_popup_delay = 2.0;
|
completion_popup_delay = 2.0;
|
||||||
@ -823,6 +825,12 @@ int LyXRC::read(Lexer & lexrc)
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case RC_COMPLETION_CURSOR_TEXT:
|
||||||
|
if (lexrc.next()) {
|
||||||
|
completion_cursor_text = lexrc.getBool();
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
case RC_COMPLETION_POPUP_AFTER_COMPLETE:
|
case RC_COMPLETION_POPUP_AFTER_COMPLETE:
|
||||||
if (lexrc.next()) {
|
if (lexrc.next()) {
|
||||||
completion_popup_after_complete = lexrc.getBool();
|
completion_popup_after_complete = lexrc.getBool();
|
||||||
@ -2206,6 +2214,14 @@ void LyXRC::write(ostream & os, bool ignore_system_lyxrc, string const & name) c
|
|||||||
}
|
}
|
||||||
if (tag != RC_LAST)
|
if (tag != RC_LAST)
|
||||||
break;
|
break;
|
||||||
|
case RC_COMPLETION_CURSOR_TEXT:
|
||||||
|
if (ignore_system_lyxrc ||
|
||||||
|
completion_cursor_text != system_lyxrc.completion_cursor_text) {
|
||||||
|
os << "\\completion_cursor_text "
|
||||||
|
<< convert<string>(completion_cursor_text) << '\n';
|
||||||
|
}
|
||||||
|
if (tag != RC_LAST)
|
||||||
|
break;
|
||||||
case RC_COMPLETION_POPUP_AFTER_COMPLETE:
|
case RC_COMPLETION_POPUP_AFTER_COMPLETE:
|
||||||
if (ignore_system_lyxrc ||
|
if (ignore_system_lyxrc ||
|
||||||
completion_popup_after_complete
|
completion_popup_after_complete
|
||||||
@ -2831,6 +2847,10 @@ string const LyXRC::getDescription(LyXRCTags tag)
|
|||||||
str = _("Show the completion popup without delay after non-unique completion attempt.");
|
str = _("Show the completion popup without delay after non-unique completion attempt.");
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case RC_COMPLETION_POPUP_TEXT:
|
||||||
|
str = _("Show a small triangle on the cursor to indicate that a completion is available.");
|
||||||
|
break;
|
||||||
|
|
||||||
case RC_COMPLETION_POPUP_DELAY:
|
case RC_COMPLETION_POPUP_DELAY:
|
||||||
str = _("The inline completion delay.");
|
str = _("The inline completion delay.");
|
||||||
break;
|
break;
|
||||||
|
@ -49,6 +49,7 @@ public:
|
|||||||
RC_BINDFILE,
|
RC_BINDFILE,
|
||||||
RC_CHECKLASTFILES,
|
RC_CHECKLASTFILES,
|
||||||
RC_CHKTEX_COMMAND,
|
RC_CHKTEX_COMMAND,
|
||||||
|
RC_COMPLETION_CURSOR_TEXT,
|
||||||
RC_COMPLETION_INLINE_DELAY,
|
RC_COMPLETION_INLINE_DELAY,
|
||||||
RC_COMPLETION_INLINE_MATH,
|
RC_COMPLETION_INLINE_MATH,
|
||||||
RC_COMPLETION_INLINE_TEXT,
|
RC_COMPLETION_INLINE_TEXT,
|
||||||
@ -423,6 +424,8 @@ public:
|
|||||||
/// Width of limited screen (in pixels) in fullscreen mode
|
/// Width of limited screen (in pixels) in fullscreen mode
|
||||||
int full_screen_width;
|
int full_screen_width;
|
||||||
///
|
///
|
||||||
|
bool completion_cursor_text;
|
||||||
|
///
|
||||||
double completion_inline_delay;
|
double completion_inline_delay;
|
||||||
///
|
///
|
||||||
bool completion_inline_math;
|
bool completion_inline_math;
|
||||||
|
@ -406,6 +406,8 @@ PrefInput::PrefInput(GuiPreferences * form, QWidget * parent)
|
|||||||
this, SIGNAL(changed()));
|
this, SIGNAL(changed()));
|
||||||
connect(popupAfterCompleteCB, SIGNAL(clicked()),
|
connect(popupAfterCompleteCB, SIGNAL(clicked()),
|
||||||
this, SIGNAL(changed()));
|
this, SIGNAL(changed()));
|
||||||
|
connect(cursorTextCB, SIGNAL(clicked()),
|
||||||
|
this, SIGNAL(changed()));
|
||||||
connect(mouseWheelSpeedSB, SIGNAL(valueChanged(double)),
|
connect(mouseWheelSpeedSB, SIGNAL(valueChanged(double)),
|
||||||
this, SIGNAL(changed()));
|
this, SIGNAL(changed()));
|
||||||
}
|
}
|
||||||
@ -424,6 +426,7 @@ void PrefInput::apply(LyXRC & rc) const
|
|||||||
rc.completion_popup_delay = popupDelaySB->value();
|
rc.completion_popup_delay = popupDelaySB->value();
|
||||||
rc.completion_popup_math = popupMathCB->isChecked();
|
rc.completion_popup_math = popupMathCB->isChecked();
|
||||||
rc.completion_popup_text = popupTextCB->isChecked();
|
rc.completion_popup_text = popupTextCB->isChecked();
|
||||||
|
rc.completion_cursor_text = cursorTextCB->isChecked();
|
||||||
rc.completion_popup_after_complete
|
rc.completion_popup_after_complete
|
||||||
= popupAfterCompleteCB->isChecked();
|
= popupAfterCompleteCB->isChecked();
|
||||||
rc.mouse_wheel_speed = mouseWheelSpeedSB->value();
|
rc.mouse_wheel_speed = mouseWheelSpeedSB->value();
|
||||||
@ -443,6 +446,7 @@ void PrefInput::update(LyXRC const & rc)
|
|||||||
popupDelaySB->setValue(rc.completion_popup_delay);
|
popupDelaySB->setValue(rc.completion_popup_delay);
|
||||||
popupMathCB->setChecked(rc.completion_popup_math);
|
popupMathCB->setChecked(rc.completion_popup_math);
|
||||||
popupTextCB->setChecked(rc.completion_popup_text);
|
popupTextCB->setChecked(rc.completion_popup_text);
|
||||||
|
cursorTextCB->setChecked(rc.completion_cursor_text);
|
||||||
popupAfterCompleteCB->setChecked(rc.completion_popup_after_complete);
|
popupAfterCompleteCB->setChecked(rc.completion_popup_after_complete);
|
||||||
mouseWheelSpeedSB->setValue(rc.mouse_wheel_speed);
|
mouseWheelSpeedSB->setValue(rc.mouse_wheel_speed);
|
||||||
}
|
}
|
||||||
|
@ -505,7 +505,8 @@ void GuiWorkArea::showCursor()
|
|||||||
cursorInView = false;
|
cursorInView = false;
|
||||||
|
|
||||||
// show cursor on screen
|
// show cursor on screen
|
||||||
bool completable = completer_.completionAvailable()
|
bool completable = cur.inset().showCompletionCursor()
|
||||||
|
&& completer_.completionAvailable()
|
||||||
&& !completer_.popupVisible()
|
&& !completer_.popupVisible()
|
||||||
&& !completer_.inlineVisible();
|
&& !completer_.inlineVisible();
|
||||||
if (cursorInView) {
|
if (cursorInView) {
|
||||||
|
@ -142,6 +142,16 @@
|
|||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QCheckBox" name="cursorTextCB" >
|
||||||
|
<property name="toolTip" >
|
||||||
|
<string>Show a small triangle on the cursor if a completion is available in text mode.</string>
|
||||||
|
</property>
|
||||||
|
<property name="text" >
|
||||||
|
<string>Cursor indicator</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
@ -180,7 +190,7 @@
|
|||||||
<item>
|
<item>
|
||||||
<widget class="QGroupBox" name="groupBox_4" >
|
<widget class="QGroupBox" name="groupBox_4" >
|
||||||
<property name="title" >
|
<property name="title" >
|
||||||
<string>General[[PrefInput]]</string>
|
<string>General</string>
|
||||||
</property>
|
</property>
|
||||||
<layout class="QVBoxLayout" >
|
<layout class="QVBoxLayout" >
|
||||||
<item>
|
<item>
|
||||||
|
@ -322,6 +322,8 @@ public:
|
|||||||
virtual bool automaticInlineCompletion() const { return true; }
|
virtual bool automaticInlineCompletion() const { return true; }
|
||||||
/// Return true if the popup completion should be automatic.
|
/// Return true if the popup completion should be automatic.
|
||||||
virtual bool automaticPopupCompletion() const { return true; }
|
virtual bool automaticPopupCompletion() const { return true; }
|
||||||
|
/// Return true if the cursor should indicate a completion.
|
||||||
|
virtual bool showCompletionCursor() const { return true; }
|
||||||
/// Returns completion suggestions at cursor position. Return an
|
/// Returns completion suggestions at cursor position. Return an
|
||||||
/// null pointer if no completion is a available or possible.
|
/// null pointer if no completion is a available or possible.
|
||||||
/// The caller is responsible to free the returned object!
|
/// The caller is responsible to free the returned object!
|
||||||
|
@ -4822,6 +4822,12 @@ bool InsetTabular::automaticPopupCompletion() const
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
bool InsetTabular::showCompletionCursor() const
|
||||||
|
{
|
||||||
|
return lyxrc.completion_cursor_text;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
CompletionList const * InsetTabular::createCompletionList(Cursor const & cur) const
|
CompletionList const * InsetTabular::createCompletionList(Cursor const & cur) const
|
||||||
{
|
{
|
||||||
return completionSupported(cur) ? cur.text()->createCompletionList(cur) : 0;
|
return completionSupported(cur) ? cur.text()->createCompletionList(cur) : 0;
|
||||||
|
@ -760,6 +760,8 @@ public:
|
|||||||
///
|
///
|
||||||
bool automaticPopupCompletion() const;
|
bool automaticPopupCompletion() const;
|
||||||
///
|
///
|
||||||
|
bool showCompletionCursor() const;
|
||||||
|
///
|
||||||
CompletionList const * createCompletionList(Cursor const & cur) const;
|
CompletionList const * createCompletionList(Cursor const & cur) const;
|
||||||
///
|
///
|
||||||
docstring completionPrefix(Cursor const & cur) const;
|
docstring completionPrefix(Cursor const & cur) const;
|
||||||
|
@ -495,6 +495,12 @@ bool InsetText::automaticPopupCompletion() const
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
bool InsetText::showCompletionCursor() const
|
||||||
|
{
|
||||||
|
return lyxrc.completion_cursor_text;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
CompletionList const * InsetText::createCompletionList(Cursor const & cur) const
|
CompletionList const * InsetText::createCompletionList(Cursor const & cur) const
|
||||||
{
|
{
|
||||||
return completionSupported(cur) ? text_.createCompletionList(cur) : 0;
|
return completionSupported(cur) ? text_.createCompletionList(cur) : 0;
|
||||||
|
@ -154,6 +154,8 @@ public:
|
|||||||
///
|
///
|
||||||
bool automaticPopupCompletion() const;
|
bool automaticPopupCompletion() const;
|
||||||
///
|
///
|
||||||
|
bool showCompletionCursor() const;
|
||||||
|
///
|
||||||
CompletionList const * createCompletionList(Cursor const & cur) const;
|
CompletionList const * createCompletionList(Cursor const & cur) const;
|
||||||
///
|
///
|
||||||
docstring completionPrefix(Cursor const & cur) const;
|
docstring completionPrefix(Cursor const & cur) const;
|
||||||
|
Loading…
Reference in New Issue
Block a user