.connect(slot(this, &BufferView::Pimpl::tripleClick));
workarea_.workAreaKeyPress
.connect(slot(this, &BufferView::Pimpl::workAreaKeyPress));
+ workarea_.selectionRequested
+ .connect(slot(this, &BufferView::Pimpl::selectionRequested));
cursor_timeout.timeout.connect(slot(this,
&BufferView::Pimpl::cursorToggle));
}
+void BufferView::Pimpl::selectionRequested()
+{
+ string const sel(bv_->getLyXText()->selectionAsString(bv_->buffer(), false));
+ if (!sel.empty()) {
+ workarea_.putClipboard(sel);
+ }
+}
+
+
void BufferView::Pimpl::enterView()
{
if (active() && available()) {
if (button == 2)
return;
+ // finish selection
+ if (button == 1) {
+ workarea_.haveSelection(bv_->getLyXText()->selection.set());
+ }
+
setState();
owner_->showState();
+ owner_->updateMenubar();
+ owner_->updateToolbar();
// Did we hit an editable inset?
if (inset_hit) {
return;
}
-#ifdef WITH_WARNINGS
-#warning variable c is set but never used. What is it good for?? (JMarc)
-#warning isnt this code dead ?? "open a float" ??? (jbl)
-#endif
- // check whether we want to open a float
- if (bv_->text) {
- bool hit = false;
- char c = ' ';
- if (bv_->text->cursor.pos() <
- bv_->text->cursor.par()->size()) {
- c = bv_->text->cursor.par()->
- getChar(bv_->text->cursor.pos());
- }
- if (bv_->text->cursor.pos() - 1 >= 0) {
- c = bv_->text->cursor.par()->
- getChar(bv_->text->cursor.pos() - 1);
- }
- if (hit == true) {
- selection_possible = false;
- return;
- }
- }
-
// Maybe we want to edit a bibitem ale970302
if (bv_->text->cursor.par()->bibkey && x < 20 +
bibitemMaxWidth(bv_, textclasslist.
FileDialog fileDlg(bv_->owner(),
_("Select LyX document to insert"),
LFUN_FILE_INSERT,
- make_pair(string(_("Documents")),
+ make_pair(string(_("Documents|#o#O")),
string(lyxrc.document_path)),
- make_pair(string(_("Examples")),
+ make_pair(string(_("Examples|#E#e")),
string(AddPath(system_lyxdir, "examples"))));
FileDialog::Result result =