From d2a96bcdc369b52ae6fb52c5a612bcd9f665231b Mon Sep 17 00:00:00 2001 From: Abdelrazak Younes Date: Fri, 23 May 2008 10:45:55 +0000 Subject: [PATCH] Get rid of GuiApplication::view_ids_ git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24904 a592a061-630c-0410-9148-cb99ea01b6c8 --- src/frontends/qt4/GuiApplication.cpp | 49 ++++++++++------------------ src/frontends/qt4/GuiApplication.h | 7 ++-- src/frontends/qt4/GuiView.cpp | 4 +-- 3 files changed, 23 insertions(+), 37 deletions(-) diff --git a/src/frontends/qt4/GuiApplication.cpp b/src/frontends/qt4/GuiApplication.cpp index dd071e9773..874ee04e02 100644 --- a/src/frontends/qt4/GuiApplication.cpp +++ b/src/frontends/qt4/GuiApplication.cpp @@ -369,9 +369,7 @@ struct GuiApplication::Private * object is handled by Qt when the view is closed * \sa Qt::WA_DeleteOnClose attribute. */ - std::map views_; - /// - std::vector view_ids_; + map views_; /// Only used on mac. GlobalMenuBar * global_menubar_; @@ -497,7 +495,7 @@ bool GuiApplication::getStatus(FuncRequest const & cmd, FuncStatus & flag) const switch(cmd.action) { case LFUN_WINDOW_CLOSE: - enable = d->view_ids_.size() > 0; + enable = d->views_.size() > 0; break; case LFUN_BUFFER_NEW: @@ -647,15 +645,6 @@ void GuiApplication::resetGui() } -static void updateIds(map const & stdmap, vector & ids) -{ - ids.clear(); - map::const_iterator it; - for (it = stdmap.begin(); it != stdmap.end(); ++it) - ids.push_back(it->first); -} - - void GuiApplication::createView(QString const & geometry_arg, bool autoShow) { // release the keyboard which might have been grabed by the global @@ -664,7 +653,6 @@ void GuiApplication::createView(QString const & geometry_arg, bool autoShow) d->global_menubar_->releaseKeyboard(); // create new view - updateIds(d->views_, d->view_ids_); int id = 0; while (d->views_.find(id) != d->views_.end()) id++; @@ -676,7 +664,6 @@ void GuiApplication::createView(QString const & geometry_arg, bool autoShow) // register view d->views_[id] = view; - updateIds(d->views_, d->view_ids_); if (autoShow) { view->show(); @@ -733,15 +720,21 @@ Menus & GuiApplication::menus() size_t GuiApplication::viewCount() const { - return d->view_ids_.size(); + return d->views_.size(); } -vector const & GuiApplication::viewIds() +QVector GuiApplication::viewIds() { - return d->view_ids_; + QVector ids; + map::const_iterator end = d->views_.end(); + map::const_iterator it = d->views_.begin(); + for (; it != end; ++it) + ids.push_back(it->first); + return ids; } + ColorCache & GuiApplication::colorCache() { return d->color_cache_; @@ -991,7 +984,6 @@ void GuiApplication::commitData(QSessionManager & sm) bool GuiApplication::unregisterView(int id) { - updateIds(d->views_, d->view_ids_); LASSERT(d->views_.find(id) != d->views_.end(), /**/); LASSERT(d->views_[id], /**/); @@ -1002,14 +994,13 @@ bool GuiApplication::unregisterView(int id) break; } } - updateIds(d->views_, d->view_ids_); + return true; } bool GuiApplication::closeAllViews() { - updateIds(d->views_, d->view_ids_); if (d->views_.empty()) return true; @@ -1021,7 +1012,6 @@ bool GuiApplication::closeAllViews() } d->views_.clear(); - d->view_ids_.clear(); return true; } @@ -1035,21 +1025,18 @@ GuiView & GuiApplication::view(int id) const void GuiApplication::hideDialogs(string const & name, Inset * inset) const { - vector::const_iterator it = d->view_ids_.begin(); - vector::const_iterator const end = d->view_ids_.end(); - for (; it != end; ++it) - view(*it).hideDialog(name, inset); + map::iterator end = d->views_.end(); + for (map::iterator it = d->views_.begin(); it != end; ++it) + it->second->hideDialog(name, inset); } Buffer const * GuiApplication::updateInset(Inset const * inset) const { Buffer const * buffer_ = 0; - vector::const_iterator it = d->view_ids_.begin(); - vector::const_iterator const end = d->view_ids_.end(); - for (; it != end; ++it) { - Buffer const * ptr = view(*it).updateInset(inset); - if (ptr) + map::iterator end = d->views_.end(); + for (map::iterator it = d->views_.begin(); it != end; ++it) { + if (Buffer const * ptr = it->second->updateInset(inset)) buffer_ = ptr; } return buffer_; diff --git a/src/frontends/qt4/GuiApplication.h b/src/frontends/qt4/GuiApplication.h index 1f214680f1..97b6c4622a 100644 --- a/src/frontends/qt4/GuiApplication.h +++ b/src/frontends/qt4/GuiApplication.h @@ -15,10 +15,9 @@ #include "frontends/Application.h" -#include #include - -#include +#include +#include class QSessionManager; class QAbstractItemModel; @@ -97,7 +96,7 @@ public: /// size_t viewCount() const; /// - std::vector const & viewIds(); + QVector viewIds(); /// ColorCache & colorCache(); diff --git a/src/frontends/qt4/GuiView.cpp b/src/frontends/qt4/GuiView.cpp index a3782948bf..63bd54ec63 100644 --- a/src/frontends/qt4/GuiView.cpp +++ b/src/frontends/qt4/GuiView.cpp @@ -403,8 +403,8 @@ void GuiView::closeEvent(QCloseEvent * close_event) continue; } - std::vector const & ids = guiApp->viewIds(); - for (size_type i = 0; i != ids.size(); ++i) { + QVector const ids = guiApp->viewIds(); + for (int i = 0; i != ids.size(); ++i) { if (id_ == ids[i]) continue; if (guiApp->view(ids[i]).workArea(*b)) { -- 2.39.5