reset the status message on leaving an inset or clicking with the mous

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@6727 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
John Levon 2003-04-07 16:57:38 +00:00
parent 83c29bbf28
commit 5d67f7c617
12 changed files with 62 additions and 7 deletions

View File

@ -337,6 +337,9 @@ int BufferView::Pimpl::resizeCurrentBuffer()
switchKeyMap(); switchKeyMap();
owner_->busy(false); owner_->busy(false);
// reset the "Formatting..." message
owner_->clearMessage();
updateScrollbar(); updateScrollbar();
return 0; return 0;
@ -937,6 +940,11 @@ bool BufferView::Pimpl::workAreaDispatch(FuncRequest const & ev_in)
bv_->owner()->updateLayoutChoice(); bv_->owner()->updateLayoutChoice();
bv_->fitCursor(); bv_->fitCursor();
// slight hack: this is only called currently when
// we clicked somewhere, so we force through the display
// of the new status here.
bv_->owner()->clearMessage();
return res; return res;
} }

View File

@ -1,3 +1,10 @@
2003-04-07 John Levon <levon@movementarian.org>
* BufferView_pimpl.C: clear message when doc finishes resizing,
and after a mouse event
* lyxfunc.C: clear message after exiting inset
2003-04-07 John Levon <levon@movementarian.org> 2003-04-07 John Levon <levon@movementarian.org>
* bufferview_funcs.C: show math status not outside * bufferview_funcs.C: show math status not outside

View File

@ -124,6 +124,9 @@ public:
/// display a message in the view /// display a message in the view
virtual void message(string const &) = 0; virtual void message(string const &) = 0;
/// clear any temporary message and replace with current status
virtual void clearMessage() = 0;
/// updates the title of the window /// updates the title of the window
void updateWindowTitle(); void updateWindowTitle();

View File

@ -1,3 +1,8 @@
2003-04-07 John Levon <levon@movementarian.org>
* QtView.h:
* QtView.C: implement clearMessage()
2003-04-07 John Levon <levon@movementarian.org> 2003-04-07 John Levon <levon@movementarian.org>
* QtView.h: * QtView.h:

View File

@ -19,7 +19,6 @@
#include "MenuBackend.h" #include "MenuBackend.h"
#include "ToolbarBackend.h" #include "ToolbarBackend.h"
#include "lyxfunc.h" #include "lyxfunc.h"
#include "bufferview_funcs.h"
#include "BufferView.h" #include "BufferView.h"
#include "frontends/Toolbar.h" #include "frontends/Toolbar.h"
@ -41,7 +40,6 @@
#include <qstatusbar.h> #include <qstatusbar.h>
using std::endl; using std::endl;
using namespace bv_funcs;
namespace { namespace {
@ -109,6 +107,12 @@ void QtView::message(string const & str)
} }
void QtView::clearMessage()
{
update_view_state_qt();
}
void QtView::focus_command_widget() void QtView::focus_command_widget()
{ {
commandbuffer_->focus_command(); commandbuffer_->focus_command();
@ -117,7 +121,7 @@ void QtView::focus_command_widget()
void QtView::update_view_state_qt() void QtView::update_view_state_qt()
{ {
statusBar()->message(toqstr(currentState(view().get()))); statusBar()->message(toqstr(getLyXFunc().view_status_message()));
statusbar_timer_.stop(); statusbar_timer_.stop();
} }
@ -128,7 +132,7 @@ void QtView::update_view_state()
if (statusbar_timer_.isActive()) if (statusbar_timer_.isActive())
return; return;
statusBar()->message(toqstr(currentState(view().get()))); statusBar()->message(toqstr(getLyXFunc().view_status_message()));
} }

View File

@ -42,6 +42,10 @@ public:
/// display a status message /// display a status message
virtual void message(string const & str); virtual void message(string const & str);
/// clear status message
virtual void clearMessage();
public slots: public slots:
/// menu item has been selected /// menu item has been selected
void activated(int id); void activated(int id);

View File

@ -189,6 +189,12 @@ void XFormsView::message(string const & str)
} }
void XFormsView::clearMessage()
{
message(getLyXFunc().view_status_message());
}
void XFormsView::show_view_state() void XFormsView::show_view_state()
{ {
message(getLyXFunc().view_status_message()); message(getLyXFunc().view_status_message());

View File

@ -53,6 +53,9 @@ public:
/// display a status message /// display a status message
virtual void message(string const & str); virtual void message(string const & str);
/// clear back to normal status message
virtual void clearMessage();
private: private:
/** /**
* setWindowTitle - set title of window * setWindowTitle - set title of window

View File

@ -1,3 +1,8 @@
2003-04-07 John Levon <levon@movementarian.org>
* insettabular.C:
* insettext.C: clear status message on inset exit
2003-04-03 John Levon <levon@movementarian.org> 2003-04-03 John Levon <levon@movementarian.org>
* insetcommand.C: return dispatched on DIALOG_UPDATE * insetcommand.C: return dispatched on DIALOG_UPDATE

View File

@ -854,10 +854,17 @@ Inset::RESULT InsetTabular::localDispatch(FuncRequest const & cmd)
return result; return result;
} else if (result == FINISHED_UP) { } else if (result == FINISHED_UP) {
action = LFUN_UP; action = LFUN_UP;
// Make sure to reset status message after
// exiting, e.g. math inset
bv->owner()->clearMessage();
} else if (result == FINISHED_DOWN) { } else if (result == FINISHED_DOWN) {
action = LFUN_DOWN; action = LFUN_DOWN;
bv->owner()->clearMessage();
} else if (result == FINISHED_RIGHT) { } else if (result == FINISHED_RIGHT) {
action = LFUN_RIGHT; action = LFUN_RIGHT;
bv->owner()->clearMessage();
} else if (result == FINISHED) {
bv->owner()->clearMessage();
} }
} }

View File

@ -1146,6 +1146,8 @@ Inset::RESULT InsetText::localDispatch(FuncRequest const & ev)
} }
the_locking_inset = 0; the_locking_inset = 0;
updateLocal(bv, CURSOR, false); updateLocal(bv, CURSOR, false);
// make sure status gets reset immediately
bv->owner()->clearMessage();
return result; return result;
} }
} }

View File

@ -818,6 +818,7 @@ void LyXFunc::dispatch(FuncRequest const & ev, bool verbose)
goto exit_with_message; goto exit_with_message;
// If UNDISPATCHED, just soldier on // If UNDISPATCHED, just soldier on
else if (result == FINISHED) { else if (result == FINISHED) {
owner->clearMessage();
goto exit_with_message; goto exit_with_message;
// We do not need special RTL handling here: // We do not need special RTL handling here:
// FINISHED means that the cursor should be // FINISHED means that the cursor should be
@ -825,7 +826,7 @@ void LyXFunc::dispatch(FuncRequest const & ev, bool verbose)
} else if (result == FINISHED_RIGHT) { } else if (result == FINISHED_RIGHT) {
TEXT()->cursorRight(view()); TEXT()->cursorRight(view());
moveCursorUpdate(true, false); moveCursorUpdate(true, false);
owner->view_state_changed(); owner->clearMessage();
goto exit_with_message; goto exit_with_message;
} else if (result == FINISHED_UP) { } else if (result == FINISHED_UP) {
if (TEXT()->cursor.irow() != TEXT()->rows().begin()) { if (TEXT()->cursor.irow() != TEXT()->rows().begin()) {
@ -839,10 +840,10 @@ void LyXFunc::dispatch(FuncRequest const & ev, bool verbose)
TEXT()->cursorUp(view()); TEXT()->cursorUp(view());
#endif #endif
moveCursorUpdate(true, false); moveCursorUpdate(true, false);
owner->view_state_changed();
} else { } else {
view()->update(TEXT(), BufferView::SELECT); view()->update(TEXT(), BufferView::SELECT);
} }
owner->clearMessage();
goto exit_with_message; goto exit_with_message;
} else if (result == FINISHED_DOWN) { } else if (result == FINISHED_DOWN) {
if (boost::next(TEXT()->cursor.irow()) != TEXT()->rows().end()) { if (boost::next(TEXT()->cursor.irow()) != TEXT()->rows().end()) {
@ -860,7 +861,7 @@ void LyXFunc::dispatch(FuncRequest const & ev, bool verbose)
TEXT()->cursorRight(view()); TEXT()->cursorRight(view());
} }
moveCursorUpdate(true, false); moveCursorUpdate(true, false);
owner->view_state_changed(); owner->clearMessage();
goto exit_with_message; goto exit_with_message;
} }
#warning I am not sure this is still right, please have a look! (Jug 20020417) #warning I am not sure this is still right, please have a look! (Jug 20020417)