In preparation for the next round of GUI API cleanup.
Abdel. Log: t4/QtView renamed to GuiView
Index: GuiImplementation.C =================================================================== --- GuiImplementation.C (revision 14153) +++ GuiImplementation.C (working copy) @@ -12,14 +12,14 @@ #include "GuiImplementation.h" #include "GuiWorkArea.h" -#include "QtView.h" +#include "GuiView.h" using boost::shared_ptr; namespace lyx { namespace frontend { -GuiImplementation::GuiImplementation(QtView & owner): owner_(owner), max_id_(0) +GuiImplementation::GuiImplementation(GuiView & owner): owner_(owner), max_id_(0) { } Index: GuiImplementation.h =================================================================== --- GuiImplementation.h (revision 14153) +++ GuiImplementation.h (working copy) @@ -24,7 +24,7 @@ namespace frontend { class GuiWorkArea; -class QtView; +class GuiView; /** * The GuiImplementation class is the interface to all Qt4 components. @@ -32,7 +32,7 @@ class GuiImplementation: public Gui { public: - GuiImplementation(QtView & owner); + GuiImplementation(GuiView & owner); virtual ~GuiImplementation() {} Clipboard& clipboard(); @@ -47,7 +47,7 @@ /// std::map<int, boost::shared_ptr<GuiWorkArea> > work_areas_; /// - QtView & owner_; + GuiView & owner_; /// size_t max_id_; }; Index: GuiView.C =================================================================== --- GuiView.C (revision 14153) +++ GuiView.C (working copy) @@ -1,5 +1,5 @@ /** - * \file QtView.C + * \file GuiView.C * This file is part of LyX, the document processor. * Licence details can be found in the file COPYING. * @@ -33,7 +33,7 @@ #include "support/convert.h" #include <boost/bind.hpp> -#include "QtView.h" +#include "GuiView.h" #include "QLMenubar.h" #include "FontLoader.h" #include "QCommandBuffer.h" @@ -70,7 +70,7 @@ } // namespace anon -QtView::QtView(unsigned int width, unsigned int height) +GuiView::GuiView(unsigned int width, unsigned int height) : QMainWindow(), LyXView(), commandbuffer_(0), frontend_(*this) { mainWidget_ = this; @@ -87,7 +87,7 @@ statusBar()->setSizeGripEnabled(false); - view_state_changed.connect(boost::bind(&QtView::update_view_state, this)); + view_state_changed.connect(boost::bind(&GuiView::update_view_state, this)); connect(&statusbar_timer_, SIGNAL(timeout()), this, SLOT(update_view_state_qt())); #ifndef Q_WS_MACX @@ -103,31 +103,31 @@ } -QtView::~QtView() +GuiView::~GuiView() { } -void QtView::updateMenu(QAction *action) +void GuiView::updateMenu(QAction *action) { menubar_->update(); } -void QtView::setWindowTitle(string const & t, string const & it) +void GuiView::setWindowTitle(string const & t, string const & it) { QMainWindow::setWindowTitle(toqstr(t)); QMainWindow::setWindowIconText(toqstr(it)); } -void QtView::addCommandBuffer(QToolBar * toolbar) +void GuiView::addCommandBuffer(QToolBar * toolbar) { commandbuffer_ = new QCommandBuffer(this, *controlcommand_); - focus_command_buffer.connect(boost::bind(&QtView::focus_command_widget, this)); + focus_command_buffer.connect(boost::bind(&GuiView::focus_command_widget, this)); toolbar->addWidget(commandbuffer_); } -void QtView::message(string const & str) +void GuiView::message(string const & str) { statusBar()->showMessage(toqstr(str)); statusbar_timer_.stop(); @@ -135,27 +135,27 @@ } -void QtView::clearMessage() +void GuiView::clearMessage() { update_view_state_qt(); } -void QtView::focus_command_widget() +void GuiView::focus_command_widget() { if (commandbuffer_) commandbuffer_->focus_command(); } -void QtView::update_view_state_qt() +void GuiView::update_view_state_qt() { statusBar()->showMessage(toqstr(getLyXFunc().viewStatusMessage())); statusbar_timer_.stop(); } -void QtView::update_view_state() +void GuiView::update_view_state() { // let the user see the explicit message if (statusbar_timer_.isActive()) @@ -165,19 +165,19 @@ } -void QtView::activated(FuncRequest const & func) +void GuiView::activated(FuncRequest const & func) { getLyXFunc().dispatch(func); } -bool QtView::hasFocus() const +bool GuiView::hasFocus() const { return qApp->activeWindow() == this; } -void QtView::closeEvent(QCloseEvent *) +void GuiView::closeEvent(QCloseEvent *) { QRect geometry = normalGeometry(); Session & session = LyX::ref().session(); @@ -195,14 +195,14 @@ } -void QtView::show() +void GuiView::show() { QMainWindow::setWindowTitle(qt_("LyX")); QMainWindow::show(); } -void QtView::busy(bool yes) const +void GuiView::busy(bool yes) const { if (yes) QApplication::setOverrideCursor(Qt::WaitCursor); @@ -210,15 +210,15 @@ QApplication::restoreOverrideCursor(); } -QMainWindow* QtView::mainWidget() +QMainWindow* GuiView::mainWidget() { return mainWidget_; } -QMainWindow* QtView::mainWidget_ = 0; +QMainWindow* GuiView::mainWidget_ = 0; } // namespace frontend } // namespace lyx -#include "QtView_moc.cpp" +#include "GuiView_moc.cpp" Index: GuiView.h =================================================================== --- GuiView.h (revision 14153) +++ GuiView.h (working copy) @@ -1,6 +1,6 @@ // -*- C++ -*- /** - * \file QtView.h + * \file GuiView.h * This file is part of LyX, the document processor. * Licence details can be found in the file COPYING. * @@ -11,8 +11,8 @@ * Full author contact details are available in file CREDITS. */ -#ifndef QTVIEW_H -#define QTVIEW_H +#ifndef GUIVIEW_H +#define GUIVIEW_H // Must be here because of moc. #include <config.h> @@ -41,17 +41,17 @@ QWidget* mainWindow(); /** - * QtView - Qt implementation of LyXView + * GuiView - Qt4 implementation of LyXView * * Qt-private implementation of the main LyX window. */ -class QtView : public QMainWindow, public LyXView { +class GuiView : public QMainWindow, public LyXView { Q_OBJECT public: /// create a main window of the given dimensions - QtView(unsigned int w, unsigned int h); + GuiView(unsigned int w, unsigned int h); - ~QtView(); + ~GuiView(); /// show - display the top-level window void show(); @@ -117,4 +117,4 @@ } // namespace frontend } // namespace lyx -#endif // QTVIEW_H +#endif // GUIVIEW_H Index: GuiWorkArea.C =================================================================== --- GuiWorkArea.C (revision 14153) +++ GuiWorkArea.C (working copy) @@ -16,7 +16,7 @@ #include "GuiWorkArea.h" #include "QLPainter.h" #include "QLyXKeySym.h" -#include "QtView.h" +#include "GuiView.h" #include "ColorCache.h" #include "qt_helpers.h" @@ -112,12 +112,12 @@ GuiWorkArea::GuiWorkArea(LyXView & owner, int w, int h) -: QAbstractScrollArea(QtView::mainWidget()), WorkArea(owner, w, h), view_(owner), painter_(this) +: QAbstractScrollArea(GuiView::mainWidget()), WorkArea(owner, w, h), view_(owner), painter_(this) { setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOn); setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff); - QtView::mainWidget()->setCentralWidget(this); + GuiView::mainWidget()->setCentralWidget(this); setAcceptDrops(true); Index: lyx_gui.C =================================================================== --- lyx_gui.C (revision 14153) +++ lyx_gui.C (working copy) @@ -39,7 +39,7 @@ #include <boost/bind.hpp> #include <boost/shared_ptr.hpp> -#include "QtView.h" +#include "GuiView.h" #include "ColorCache.h" #include "FontLoader.h" #include "QLImage.h" @@ -59,7 +59,7 @@ using lyx::support::ltrim; using lyx::support::package; -using lyx::frontend::QtView; +using lyx::frontend::GuiView; using lyx::frontend::Application; namespace os = lyx::support::os; @@ -194,10 +194,10 @@ // this can't be done before because it needs the Languages object initEncodings(); - boost::shared_ptr<QtView> view_ptr(new QtView(width, height)); + boost::shared_ptr<GuiView> view_ptr(new GuiView(width, height)); LyX::ref().addLyXView(view_ptr); - QtView & view = *view_ptr.get(); + GuiView & view = *view_ptr.get(); view.init(); Index: QCommandBuffer.C =================================================================== --- QCommandBuffer.C (revision 14153) +++ QCommandBuffer.C (working copy) @@ -12,7 +12,7 @@ // Qt defines a macro 'signals' that clashes with a boost namespace. // All is well if the namespace is visible first. -#include "QtView.h" +#include "GuiView.h" #include "QCommandBuffer.h" #include "QCommandEdit.h" @@ -74,7 +74,7 @@ } // end of anon -QCommandBuffer::QCommandBuffer(QtView * view, ControlCommandBuffer & control, QWidget * parent) +QCommandBuffer::QCommandBuffer(GuiView * view, ControlCommandBuffer & control, QWidget * parent) : QWidget(parent), view_(view), controller_(control) { QPixmap qpup(toqstr(libFileSearch("images", "up", "xpm"))); Index: QCommandBuffer.h =================================================================== --- QCommandBuffer.h (revision 14153) +++ QCommandBuffer.h (working copy) @@ -20,13 +20,13 @@ namespace frontend { class QCommandEdit; -class QtView; +class GuiView; class ControlCommandBuffer; class QCommandBuffer : public QWidget { Q_OBJECT public: - QCommandBuffer(QtView * view, ControlCommandBuffer & control, QWidget * parent=NULL); + QCommandBuffer(GuiView * view, ControlCommandBuffer & control, QWidget * parent=NULL); /// focus the edit widget void focus_command(); @@ -45,7 +45,7 @@ void down(); private: /// owning view - QtView * view_; + GuiView * view_; /// controller ControlCommandBuffer & controller_; Index: QLMenubar.C =================================================================== --- QLMenubar.C (revision 14153) +++ QLMenubar.C (working copy) @@ -12,7 +12,7 @@ // Qt defines a macro 'signals' that clashes with a boost namespace. // All is well if the namespace is visible first. -#include "QtView.h" +#include "GuiView.h" #include "QLMenubar.h" #include "QLPopupMenu.h" @@ -43,7 +43,7 @@ // MacOSX specific stuff is at the end. QLMenubar::QLMenubar(LyXView * view, MenuBackend & mbe) - : owner_(static_cast<QtView*>(view)), menubackend_(mbe) + : owner_(static_cast<GuiView*>(view)), menubackend_(mbe) { macxMenuBarInit(); @@ -114,7 +114,7 @@ void QLMenubar::update() { } -QtView * QLMenubar::view() +GuiView * QLMenubar::view() { return owner_; } Index: QLMenubar.h =================================================================== --- QLMenubar.h (revision 14153) +++ QLMenubar.h (working copy) @@ -33,7 +33,7 @@ namespace frontend { -class QtView; +class GuiView; class QLMenubar : public QObject, public Menubar { Q_OBJECT @@ -44,7 +44,7 @@ void openByName(std::string const &); /// return the owning view - QtView * view(); + GuiView * view(); /// return the menu controller MenuBackend const & backend(); @@ -64,7 +64,7 @@ void macxMenuBarInit(); /// owning view - QtView * owner_; + GuiView * owner_; /// menu controller MenuBackend & menubackend_; Index: QLPopupMenu.C =================================================================== --- QLPopupMenu.C (revision 14153) +++ QLPopupMenu.C (working copy) @@ -15,7 +15,7 @@ // Qt defines a macro 'signals' that clashes with a boost namespace. // All is well if the namespace is visible first. -#include "QtView.h" +#include "GuiView.h" #include "Action.h" #include "QLPopupMenu.h" Index: QLToolbar.C =================================================================== --- QLToolbar.C (revision 14153) +++ QLToolbar.C (working copy) @@ -24,7 +24,7 @@ #include "gettext.h" #include "lyxfunc.h" -#include "QtView.h" +#include "GuiView.h" #include "QLToolbar.h" #include "Action.h" #include "qt_helpers.h" @@ -81,7 +81,7 @@ } // namespace anon -QLayoutBox::QLayoutBox(QToolBar * toolbar, QtView & owner) +QLayoutBox::QLayoutBox(QToolBar * toolbar, GuiView & owner) : owner_(owner) { combo_ = new QComboBox; @@ -189,7 +189,7 @@ namespace frontend { QLToolbar::QLToolbar(ToolbarBackend::Toolbar const & tbb, LyXView & owner) - : owner_(dynamic_cast<QtView &>(owner)), + : owner_(dynamic_cast<GuiView &>(owner)), toolbar_(new QToolBar(qt_(tbb.gui_name), (QWidget*) &owner_)) //, getPosition(tbb.flags))) { /// \toto Move \a addToolBar call into QView because, in Qt4, Index: QLToolbar.h =================================================================== --- QLToolbar.h (revision 14153) +++ QLToolbar.h (working copy) @@ -29,14 +29,14 @@ namespace frontend { class QLayoutBox; -class QtView; +class GuiView; class Action; class QLayoutBox : public QObject, public LayoutBox { Q_OBJECT public: - QLayoutBox(QToolBar *, QtView &); + QLayoutBox(QToolBar *, GuiView &); /// select the right layout in the combox. void set(std::string const & layout); @@ -54,7 +54,7 @@ private: QComboBox * combo_; - QtView & owner_; + GuiView & owner_; }; @@ -77,7 +77,7 @@ private: std::vector<Action *> ActionVector; - QtView & owner_; + GuiView & owner_; QToolBar * toolbar_; boost::scoped_ptr<QLayoutBox> layout_; Index: QtView.C =================================================================== --- QtView.C (revision 14153) +++ QtView.C (working copy) @@ -1,224 +0,0 @@ -/** - * \file QtView.C - * This file is part of LyX, the document processor. - * Licence details can be found in the file COPYING. - * - * \author Lars Gullik Bjønnes - * \author John Levon - * \author Abdelrazak Younes - * - * Full author contact details are available in file CREDITS. - */ - -#undef QT3_SUPPORT - -#include <config.h> - -#include "BufferView.h" -#include "lyx_cb.h" -#include "lyxrc.h" -#include "lyx_main.h" -#include "session.h" -#include "lyxfunc.h" -#include "MenuBackend.h" -#include "funcrequest.h" -#include "funcrequest.h" - -#include "debug.h" - -#include "frontends/Toolbars.h" - -#include "support/filetools.h" - -#include "support/convert.h" -#include <boost/bind.hpp> - -#include "QtView.h" -#include "QLMenubar.h" -#include "FontLoader.h" -#include "QCommandBuffer.h" -#include "qt_helpers.h" - -#include <QApplication> -#include <QPixmap> -#include <QStatusBar> -#include <QToolBar> -#include <QCloseEvent> -#include <QAction> -//#include <QMenu> -//#include <QMenuBar> - -#include "support/lstrings.h" - - -using std::string; -using std::endl; - -FontLoader fontloader; - -namespace lyx { - -using support::subst; -using support::libFileSearch; - -namespace frontend { - -namespace { - -int const statusbar_timer_value = 3000; - -} // namespace anon - - -QtView::QtView(unsigned int width, unsigned int height) - : QMainWindow(), LyXView(), commandbuffer_(0), frontend_(*this) -{ - mainWidget_ = this; - -// setToolButtonStyle(Qt::ToolButtonIconOnly); -// setIconSize(QSize(12,12)); - - bufferview_.reset(new BufferView(this, width, height)); - - menubar_.reset(new QLMenubar(this, menubackend)); - connect(menuBar(), SIGNAL(triggered(QAction *)), this, SLOT(updateMenu(QAction *))); - - getToolbars().init(); - - statusBar()->setSizeGripEnabled(false); - - view_state_changed.connect(boost::bind(&QtView::update_view_state, this)); - connect(&statusbar_timer_, SIGNAL(timeout()), this, SLOT(update_view_state_qt())); - -#ifndef Q_WS_MACX - // assign an icon to main form. We do not do it under Qt/Mac, - // since the icon is provided in the application bundle. - string const iconname = libFileSearch("images", "lyx", "xpm"); - if (!iconname.empty()) - setWindowIcon(QPixmap(toqstr(iconname))); -#endif - - // make sure the buttons are disabled if needed - updateToolbars(); -} - - -QtView::~QtView() -{ -} - -void QtView::updateMenu(QAction *action) -{ - menubar_->update(); -} - -void QtView::setWindowTitle(string const & t, string const & it) -{ - QMainWindow::setWindowTitle(toqstr(t)); - QMainWindow::setWindowIconText(toqstr(it)); -} - - -void QtView::addCommandBuffer(QToolBar * toolbar) -{ - commandbuffer_ = new QCommandBuffer(this, *controlcommand_); - focus_command_buffer.connect(boost::bind(&QtView::focus_command_widget, this)); - toolbar->addWidget(commandbuffer_); -} - - -void QtView::message(string const & str) -{ - statusBar()->showMessage(toqstr(str)); - statusbar_timer_.stop(); - statusbar_timer_.start(statusbar_timer_value); -} - - -void QtView::clearMessage() -{ - update_view_state_qt(); -} - - -void QtView::focus_command_widget() -{ - if (commandbuffer_) - commandbuffer_->focus_command(); -} - - -void QtView::update_view_state_qt() -{ - statusBar()->showMessage(toqstr(getLyXFunc().viewStatusMessage())); - statusbar_timer_.stop(); -} - - -void QtView::update_view_state() -{ - // let the user see the explicit message - if (statusbar_timer_.isActive()) - return; - - statusBar()->showMessage(toqstr(getLyXFunc().viewStatusMessage())); -} - - -void QtView::activated(FuncRequest const & func) -{ - getLyXFunc().dispatch(func); -} - - -bool QtView::hasFocus() const -{ - return qApp->activeWindow() == this; -} - - -void QtView::closeEvent(QCloseEvent *) -{ - QRect geometry = normalGeometry(); - Session & session = LyX::ref().session(); - // save windows size and position - session.saveSessionInfo("WindowWidth", convert<string>(geometry.width())); - session.saveSessionInfo("WindowHeight", convert<string>(geometry.height())); - session.saveSessionInfo("WindowIsMaximized", (isMaximized() ? "yes" : "no")); - if (lyxrc.geometry_xysaved) { - session.saveSessionInfo("WindowPosX", convert<string>(geometry.x())); - session.saveSessionInfo("WindowPosY", convert<string>(geometry.y())); - } - // trigger LFUN_LYX_QUIT instead of quit directly - // since LFUN_LYX_QUIT may have more cleanup stuff - getLyXFunc().dispatch(FuncRequest(LFUN_LYX_QUIT)); -} - - -void QtView::show() -{ - QMainWindow::setWindowTitle(qt_("LyX")); - QMainWindow::show(); -} - - -void QtView::busy(bool yes) const -{ - if (yes) - QApplication::setOverrideCursor(Qt::WaitCursor); - else - QApplication::restoreOverrideCursor(); -} - -QMainWindow* QtView::mainWidget() -{ - return mainWidget_; -} - -QMainWindow* QtView::mainWidget_ = 0; - - -} // namespace frontend -} // namespace lyx - -#include "QtView_moc.cpp" Index: QtView.h =================================================================== --- QtView.h (revision 14153) +++ QtView.h (working copy) @@ -1,120 +0,0 @@ -// -*- C++ -*- -/** - * \file QtView.h - * This file is part of LyX, the document processor. - * Licence details can be found in the file COPYING. - * - * \author Lars Gullik Bjornes - * \author John Levon - * \author Abdelrazak Younes - * - * Full author contact details are available in file CREDITS. - */ - -#ifndef QTVIEW_H -#define QTVIEW_H - -// Must be here because of moc. -#include <config.h> - -#include "GuiImplementation.h" - -#include "frontends/LyXView.h" -#include "funcrequest.h" - -#include <QMainWindow> -#include <QTimer> -#include <QAction> -#include <QCloseEvent> - -class QToolBar; - -//class FuncRequest; - -//class string; - -namespace lyx { -namespace frontend { - -class QCommandBuffer; - -QWidget* mainWindow(); - -/** - * QtView - Qt implementation of LyXView - * - * Qt-private implementation of the main LyX window. - */ -class QtView : public QMainWindow, public LyXView { - Q_OBJECT -public: - /// create a main window of the given dimensions - QtView(unsigned int w, unsigned int h); - - ~QtView(); - - /// show - display the top-level window - void show(); - - /// show busy cursor - virtual void busy(bool) const; - - /// display a status message - virtual void message(std::string const & str); - - /// clear status message - virtual void clearMessage(); - - /// add the command buffer - void addCommandBuffer(QToolBar * toolbar); - - /// menu item has been selected - void activated(FuncRequest const &); - - // returns true if this view has the focus. - virtual bool hasFocus() const; - - // - Gui & gui() { return frontend_; } - - static QMainWindow* mainWidget(); - -public slots: - /// idle timeout - void update_view_state_qt(); - - /// populate a toplevel menu and all its children on demand - void updateMenu(QAction *); - -protected: - /// make sure we quit cleanly - virtual void closeEvent(QCloseEvent * e); -private: - /// focus the command buffer widget - void focus_command_widget(); - - /// update status bar - void update_view_state(); - - /** - * setWindowTitle - set title of window - * @param t main window title - * @param it iconified (short) title - */ - virtual void setWindowTitle(std::string const & t, std::string const & it); - - QTimer statusbar_timer_; - - /// command buffer - QCommandBuffer * commandbuffer_; - - /// - static QMainWindow* mainWidget_; - - GuiImplementation frontend_; -}; - -} // namespace frontend -} // namespace lyx - -#endif // QTVIEW_H