void MiniBuffer::dd_init()
{
dropdown_ = new DropDown(owner_, the_buffer);
- dropdown_->result.connect(slot(this, &MiniBuffer::set_input));
+ dropdown_->result.connect(slot(this, &MiniBuffer::set_complete_input));
}
// Perfect match
string const tmp =
comp[0] + _(" [sole completion]");
- stored_set(comp[0]);
+ stored_set(comp[0] + " ");
set_input(tmp);
} else {
// More that one match
// Find maximal avaliable prefix
string const tmp = comp[0];
string test(input);
- test += tmp[test.length()];
+ if (tmp.length() > test.length())
+ test += tmp[test.length()];
while (test.length() < tmp.length()) {
vector<string> vtmp;
lyx::copy_if(comp.begin(),
}
+void MiniBuffer::set_complete_input(string const & str)
+{
+ if (!str.empty())
+ set_input(str);
+}
+
+
void MiniBuffer::set_input(string const & str)
{
fl_set_input(the_buffer, str.c_str());