mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-11-11 05:33:33 +00:00
* QWidget::show is synchronous, hence we see the LyX logo for a moment, even if
in the next moment the new buffer appears. So we first create the buffer and then show the view. git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23742 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
parent
2aff4838f9
commit
09fe21bd11
@ -320,8 +320,12 @@ bool GuiApplication::dispatch(FuncRequest const & cmd)
|
|||||||
|
|
||||||
case LFUN_BUFFER_NEW:
|
case LFUN_BUFFER_NEW:
|
||||||
if (viewCount() == 0
|
if (viewCount() == 0
|
||||||
|| (!lyxrc.open_buffers_in_tabs && current_view_->buffer() != 0))
|
|| (!lyxrc.open_buffers_in_tabs && current_view_->buffer() != 0)) {
|
||||||
createView();
|
createView(QString(), false); // keep hidden
|
||||||
|
current_view_->newDocument(to_utf8(cmd.argument()), false);
|
||||||
|
current_view_->show();
|
||||||
|
setActiveWindow(current_view_);
|
||||||
|
} else
|
||||||
current_view_->newDocument(to_utf8(cmd.argument()), false);
|
current_view_->newDocument(to_utf8(cmd.argument()), false);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@ -376,7 +380,7 @@ static void updateIds(map<int, GuiView *> const & stdmap, vector<int> & ids)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void GuiApplication::createView(QString const & geometry_arg)
|
void GuiApplication::createView(QString const & geometry_arg, bool autoShow)
|
||||||
{
|
{
|
||||||
// release the keyboard which might have been grabed by the global
|
// release the keyboard which might have been grabed by the global
|
||||||
// menubar on Mac to catch shortcuts even without any GuiView.
|
// menubar on Mac to catch shortcuts even without any GuiView.
|
||||||
@ -398,7 +402,11 @@ void GuiApplication::createView(QString const & geometry_arg)
|
|||||||
views_[id] = view;
|
views_[id] = view;
|
||||||
updateIds(views_, view_ids_);
|
updateIds(views_, view_ids_);
|
||||||
|
|
||||||
|
if (autoShow) {
|
||||||
view->show();
|
view->show();
|
||||||
|
setActiveWindow(view);
|
||||||
|
}
|
||||||
|
|
||||||
if (!geometry_arg.isEmpty()) {
|
if (!geometry_arg.isEmpty()) {
|
||||||
#ifdef Q_WS_WIN
|
#ifdef Q_WS_WIN
|
||||||
int x, y;
|
int x, y;
|
||||||
@ -413,7 +421,6 @@ void GuiApplication::createView(QString const & geometry_arg)
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
view->setFocus();
|
view->setFocus();
|
||||||
setActiveWindow(view);
|
|
||||||
setCurrentView(*view);
|
setCurrentView(*view);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -89,7 +89,8 @@ public:
|
|||||||
|
|
||||||
/// Create the main window with given geometry settings.
|
/// Create the main window with given geometry settings.
|
||||||
/// \param geometry_arg: only for Windows platform.
|
/// \param geometry_arg: only for Windows platform.
|
||||||
void createView(QString const & geometry_arg = QString());
|
void createView(QString const & geometry_arg = QString(),
|
||||||
|
bool autoShow = true);
|
||||||
///
|
///
|
||||||
GuiView const * currentView() const { return current_view_; }
|
GuiView const * currentView() const { return current_view_; }
|
||||||
///
|
///
|
||||||
|
Loading…
Reference in New Issue
Block a user