Fix of bug 3238. Disable persistent selection for selections in tablemode.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17213 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
Bo Peng 2007-02-16 03:49:19 +00:00
parent 62c88d8ee8
commit 9448169466

View File

@ -537,8 +537,8 @@ void InsetTabular::doDispatch(LCursor & cur, FuncRequest & cmd)
case LFUN_MOUSE_RELEASE: case LFUN_MOUSE_RELEASE:
//lyxerr << "# InsetTabular::MouseRelease\n" << bvcur << endl; //lyxerr << "# InsetTabular::MouseRelease\n" << bvcur << endl;
if (cmd.button() == mouse_button::button1) { if (cmd.button() == mouse_button::button1) {
if (bvcur.selection()) if (bvcur.selection() && !tablemode(bvcur))
saveSelection(bvcur);// theSelection().haveSelection(true); saveSelection(bvcur);
} else if (cmd.button() == mouse_button::button3) } else if (cmd.button() == mouse_button::button3)
InsetTabularMailer(*this).showDialog(&cur.bv()); InsetTabularMailer(*this).showDialog(&cur.bv());
break; break;
@ -597,7 +597,7 @@ void InsetTabular::doDispatch(LCursor & cur, FuncRequest & cmd)
TextMetrics const & tm = TextMetrics const & tm =
cur.bv().textMetrics(cell(cur.idx())->getText(0)); cur.bv().textMetrics(cell(cur.idx())->getText(0));
cur.pos() = tm.x2pos(cur.pit(), 0, cur.targetX()); cur.pos() = tm.x2pos(cur.pit(), 0, cur.targetX());
if (cmd.action == LFUN_DOWN_SELECT) if (cmd.action == LFUN_DOWN_SELECT && !tablemode(cur))
saveSelection(cur); saveSelection(cur);
} }
if (sl == cur.top()) { if (sl == cur.top()) {
@ -624,7 +624,7 @@ void InsetTabular::doDispatch(LCursor & cur, FuncRequest & cmd)
ParagraphMetrics const & pm = ParagraphMetrics const & pm =
tm.parMetrics(cur.lastpit()); tm.parMetrics(cur.lastpit());
cur.pos() = tm.x2pos(cur.pit(), pm.rows().size()-1, cur.targetX()); cur.pos() = tm.x2pos(cur.pit(), pm.rows().size()-1, cur.targetX());
if (cmd.action == LFUN_UP_SELECT) if (cmd.action == LFUN_UP_SELECT && !tablemode(cur))
saveSelection(cur); saveSelection(cur);
} }
if (sl == cur.top()) { if (sl == cur.top()) {