mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-11-13 06:20:28 +00:00
implement open-stuff + small things
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@2219 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
parent
cf65aa62a6
commit
b33a63e177
@ -2634,6 +2634,18 @@ bool BufferView::Pimpl::Dispatch(kb_action action, string const & argument)
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case LFUN_OPENSTUFF:
|
||||||
|
{
|
||||||
|
LyXText * lt = bv_->getLyXText();
|
||||||
|
hideCursor();
|
||||||
|
beforeChange(lt);
|
||||||
|
update(lt, BufferView::SELECT|BufferView::FITCUR);
|
||||||
|
lt->openStuff(bv_);
|
||||||
|
update(lt, BufferView::SELECT|BufferView::FITCUR);
|
||||||
|
setState();
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
case LFUN_QUOTE:
|
case LFUN_QUOTE:
|
||||||
bv_->insertCorrectQuote();
|
bv_->insertCorrectQuote();
|
||||||
break;
|
break;
|
||||||
|
@ -1,6 +1,25 @@
|
|||||||
|
2001-07-10 Jean-Marc Lasgouttes <Jean-Marc.Lasgouttes@inria.fr>
|
||||||
|
|
||||||
|
* BufferView_pimpl.C (Dispatch): handle LFUN_OPENSTUFF.
|
||||||
|
|
||||||
|
* text2.C (openStuff): reintroduce this method (which had been
|
||||||
|
nuked in NEW_INSETS frenzy).
|
||||||
|
|
||||||
|
* lyxfunc.C (Dispatch): when an action has not been handled, use
|
||||||
|
its name in the error message, not its number.
|
||||||
|
|
||||||
|
* paragraph.C (inInset): change method name to begin with lowercase.
|
||||||
|
|
||||||
|
* undo_funcs.C:
|
||||||
|
* text2.C: updates because of this.
|
||||||
|
|
||||||
|
2001-07-09 Jean-Marc Lasgouttes <Jean-Marc.Lasgouttes@inria.fr>
|
||||||
|
|
||||||
|
* ToolbarDefaults.C (add): add spaces in error message
|
||||||
|
|
||||||
2001-07-10 Lars Gullik Bjønnes <larsbj@birdstep.com>
|
2001-07-10 Lars Gullik Bjønnes <larsbj@birdstep.com>
|
||||||
|
|
||||||
* buffer.C (readLyXformat2): initailize the ert comp. variables.
|
* buffer.C (readLyXformat2): initialize the ert comp. variables.
|
||||||
(readLyXformat2): rename return_par to first_par, use lyxlex's
|
(readLyXformat2): rename return_par to first_par, use lyxlex's
|
||||||
pushToken and remove the manual push handling.
|
pushToken and remove the manual push handling.
|
||||||
(parseSingleLyXformat2Token): add another ert comp. variable:
|
(parseSingleLyXformat2Token): add another ert comp. variable:
|
||||||
|
@ -155,8 +155,8 @@ void ToolbarDefaults::add(string const & func)
|
|||||||
int const tf = lyxaction.LookupFunc(func);
|
int const tf = lyxaction.LookupFunc(func);
|
||||||
|
|
||||||
if (tf == -1) {
|
if (tf == -1) {
|
||||||
lyxerr << "Toolbar::add: no LyX command called`"
|
lyxerr << "Toolbar::add: no LyX command called `"
|
||||||
<< func << "'exists!" << endl;
|
<< func << "' exists!" << endl;
|
||||||
} else {
|
} else {
|
||||||
add(tf);
|
add(tf);
|
||||||
}
|
}
|
||||||
|
@ -1,3 +1,10 @@
|
|||||||
|
2001-07-11 Jean-Marc Lasgouttes <Jean-Marc.Lasgouttes@inria.fr>
|
||||||
|
|
||||||
|
* insetcollapsable.C (edit): always open collapsed insets (even if
|
||||||
|
they are not autocollapsable)
|
||||||
|
|
||||||
|
* insetcommand.C (operator=): simplify.
|
||||||
|
|
||||||
2001-07-10 Lars Gullik Bjønnes <larsbj@birdstep.com>
|
2001-07-10 Lars Gullik Bjønnes <larsbj@birdstep.com>
|
||||||
|
|
||||||
* insetert.C (latex): handle META_NEWLINE
|
* insetert.C (latex): handle META_NEWLINE
|
||||||
|
@ -229,13 +229,13 @@ void InsetCollapsable::edit(BufferView * bv, int xp, int yp,
|
|||||||
{
|
{
|
||||||
UpdatableInset::edit(bv, xp, yp, button);
|
UpdatableInset::edit(bv, xp, yp, button);
|
||||||
|
|
||||||
if (collapsed && autocollapse) {
|
if (collapsed) {
|
||||||
collapsed = false;
|
collapsed = false;
|
||||||
if (!bv->lockInset(this))
|
if (!bv->lockInset(this))
|
||||||
return;
|
return;
|
||||||
bv->updateInset(this, false);
|
bv->updateInset(this, false);
|
||||||
inset.edit(bv, 0, 0, button);
|
inset.edit(bv, 0, 0, button);
|
||||||
} else if (!collapsed) {
|
} else {
|
||||||
if (!bv->lockInset(this))
|
if (!bv->lockInset(this))
|
||||||
return;
|
return;
|
||||||
inset.edit(bv, xp, yp + (top_baseline - inset.y()), button);
|
inset.edit(bv, xp, yp + (top_baseline - inset.y()), button);
|
||||||
|
@ -66,8 +66,8 @@ void InsetCommandParams::setFromString( string const & b )
|
|||||||
|
|
||||||
bool InsetCommandParams::operator==(InsetCommandParams const & o) const
|
bool InsetCommandParams::operator==(InsetCommandParams const & o) const
|
||||||
{
|
{
|
||||||
if (cmdname == o.cmdname && contents == o.contents && options == o.options) return true;
|
return cmdname == o.cmdname && contents == o.contents
|
||||||
return false;
|
&& options == o.options;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -1555,7 +1555,8 @@ string const LyXFunc::Dispatch(int ac,
|
|||||||
// Then if it was none of the above
|
// Then if it was none of the above
|
||||||
if (!owner->view()->Dispatch(action, argument))
|
if (!owner->view()->Dispatch(action, argument))
|
||||||
lyxerr << "A truly unknown func ["
|
lyxerr << "A truly unknown func ["
|
||||||
<< action << "]!" << endl;
|
<< lyxaction.getActionName(action) << "]!"
|
||||||
|
<< endl;
|
||||||
break;
|
break;
|
||||||
} // end of switch
|
} // end of switch
|
||||||
|
|
||||||
|
@ -376,6 +376,8 @@ public:
|
|||||||
void getVisibleRow(BufferView *, int y_offset, int x_offset,
|
void getVisibleRow(BufferView *, int y_offset, int x_offset,
|
||||||
Row * row_ptr, int y, bool cleared=false);
|
Row * row_ptr, int y, bool cleared=false);
|
||||||
|
|
||||||
|
///
|
||||||
|
void openStuff(BufferView *);
|
||||||
///
|
///
|
||||||
void cutSelection(BufferView *, bool = true);
|
void cutSelection(BufferView *, bool = true);
|
||||||
///
|
///
|
||||||
|
@ -861,7 +861,7 @@ void Paragraph::breakParagraph(BufferParams const & bparams,
|
|||||||
// create a new paragraph
|
// create a new paragraph
|
||||||
Paragraph * tmp = new Paragraph(this);
|
Paragraph * tmp = new Paragraph(this);
|
||||||
// remember to set the inset_owner
|
// remember to set the inset_owner
|
||||||
tmp->setInsetOwner(InInset());
|
tmp->setInsetOwner(inInset());
|
||||||
|
|
||||||
// this is an idea for a more userfriendly layout handling, I will
|
// this is an idea for a more userfriendly layout handling, I will
|
||||||
// see what the users say
|
// see what the users say
|
||||||
@ -2018,7 +2018,7 @@ bool Paragraph::isFirstInSequence() const
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
Inset * Paragraph::InInset() const
|
Inset * Paragraph::inInset() const
|
||||||
{
|
{
|
||||||
return pimpl_->inset_owner;
|
return pimpl_->inset_owner;
|
||||||
}
|
}
|
||||||
|
@ -150,7 +150,7 @@ public:
|
|||||||
proof environment */
|
proof environment */
|
||||||
int getEndLabel(BufferParams const &) const;
|
int getEndLabel(BufferParams const &) const;
|
||||||
///
|
///
|
||||||
Inset * InInset() const;
|
Inset * inInset() const;
|
||||||
///
|
///
|
||||||
void setInsetOwner(Inset * i);
|
void setInsetOwner(Inset * i);
|
||||||
///
|
///
|
||||||
|
28
src/text2.C
28
src/text2.C
@ -360,6 +360,22 @@ void LyXText::insertParagraph(BufferView * bview, Paragraph * par,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void LyXText::openStuff(BufferView * bview)
|
||||||
|
{
|
||||||
|
if (cursor.pos() == 0 && cursor.par()->bibkey){
|
||||||
|
cursor.par()->bibkey->edit(bview, 0, 0, 0);
|
||||||
|
} else if (cursor.pos() < cursor.par()->size()
|
||||||
|
&& cursor.par()->getChar(cursor.pos()) == Paragraph::META_INSET) {
|
||||||
|
Inset * inset = cursor.par()->getInset(cursor.pos());
|
||||||
|
if (!inset->editable())
|
||||||
|
return;
|
||||||
|
bview->owner()->message(inset->editMessage());
|
||||||
|
if (inset->editable() != Inset::HIGHLY_EDITABLE)
|
||||||
|
setCursorParUndo(bview);
|
||||||
|
inset->edit(bview, 0, 0, 0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/* used in setlayout */
|
/* used in setlayout */
|
||||||
// Asger is not sure we want to do this...
|
// Asger is not sure we want to do this...
|
||||||
@ -1455,11 +1471,11 @@ void LyXText::setCounter(Buffer const * buf, Paragraph * par) const
|
|||||||
|
|
||||||
// the caption hack:
|
// the caption hack:
|
||||||
if (layout.labeltype == LABEL_SENSITIVE) {
|
if (layout.labeltype == LABEL_SENSITIVE) {
|
||||||
bool isOK (par->InInset() && par->InInset()->owner() &&
|
bool isOK (par->inInset() && par->inInset()->owner() &&
|
||||||
(par->InInset()->owner()->lyxCode() == Inset::FLOAT_CODE));
|
(par->inInset()->owner()->lyxCode() == Inset::FLOAT_CODE));
|
||||||
|
|
||||||
if (isOK) {
|
if (isOK) {
|
||||||
InsetFloat * tmp = static_cast<InsetFloat*>(par->InInset()->owner());
|
InsetFloat * tmp = static_cast<InsetFloat*>(par->inInset()->owner());
|
||||||
Floating const & fl
|
Floating const & fl
|
||||||
= floatList.getType(tmp->type());
|
= floatList.getType(tmp->type());
|
||||||
// We should get the correct number here too.
|
// We should get the correct number here too.
|
||||||
@ -2079,7 +2095,7 @@ void LyXText::setCursorIntern(BufferView * bview, Paragraph * par,
|
|||||||
Paragraph::size_type pos,
|
Paragraph::size_type pos,
|
||||||
bool setfont, bool boundary) const
|
bool setfont, bool boundary) const
|
||||||
{
|
{
|
||||||
InsetText * it = static_cast<InsetText *>(par->InInset());
|
InsetText * it = static_cast<InsetText *>(par->inInset());
|
||||||
if (it && (it != inset_owner)) {
|
if (it && (it != inset_owner)) {
|
||||||
it->getLyXText(bview)->setCursorIntern(bview, par, pos, setfont,
|
it->getLyXText(bview)->setCursorIntern(bview, par, pos, setfont,
|
||||||
boundary);
|
boundary);
|
||||||
@ -2446,8 +2462,8 @@ Paragraph * LyXText::ownerParagraph(Paragraph * p) const
|
|||||||
Paragraph * LyXText::ownerParagraph(int id, Paragraph * p) const
|
Paragraph * LyXText::ownerParagraph(int id, Paragraph * p) const
|
||||||
{
|
{
|
||||||
Paragraph * op = bv_owner->buffer()->getParFromID(id);
|
Paragraph * op = bv_owner->buffer()->getParFromID(id);
|
||||||
if (op && op->InInset()) {
|
if (op && op->inInset()) {
|
||||||
static_cast<InsetText *>(op->InInset())->paragraph(p);
|
static_cast<InsetText *>(op->inInset())->paragraph(p);
|
||||||
} else {
|
} else {
|
||||||
if (inset_owner) {
|
if (inset_owner) {
|
||||||
inset_owner->paragraph(p);
|
inset_owner->paragraph(p);
|
||||||
|
@ -159,7 +159,7 @@ bool textHandleUndo(BufferView * bv, Undo * undo)
|
|||||||
endpar = behind;
|
endpar = behind;
|
||||||
|
|
||||||
tmppar = bv->buffer()->getParFromID(undo->number_of_cursor_par);
|
tmppar = bv->buffer()->getParFromID(undo->number_of_cursor_par);
|
||||||
UpdatableInset* it = static_cast<UpdatableInset*>(tmppar3->InInset());
|
UpdatableInset* it = static_cast<UpdatableInset*>(tmppar3->inInset());
|
||||||
if (it) {
|
if (it) {
|
||||||
it->getLyXText(bv)->redoParagraphs(bv, it->getLyXText(bv)->cursor,
|
it->getLyXText(bv)->redoParagraphs(bv, it->getLyXText(bv)->cursor,
|
||||||
endpar);
|
endpar);
|
||||||
@ -239,8 +239,8 @@ Undo * createUndo(BufferView * bv, Undo::undo_kind kind,
|
|||||||
before_number = first->previous()->id();
|
before_number = first->previous()->id();
|
||||||
if (behind)
|
if (behind)
|
||||||
behind_number = behind->id();
|
behind_number = behind->id();
|
||||||
if (first->InInset())
|
if (first->inInset())
|
||||||
inset_id = first->InInset()->id();
|
inset_id = first->inInset()->id();
|
||||||
|
|
||||||
// Undo::EDIT and Undo::FINISH are
|
// Undo::EDIT and Undo::FINISH are
|
||||||
// always finished. (no overlapping there)
|
// always finished. (no overlapping there)
|
||||||
|
Loading…
Reference in New Issue
Block a user