X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Ffrontends%2Fqt4%2FGuiView.h;h=e4ab76331dc48fa160cc14215487bf905bafc56e;hb=8381d36098fb9244c15dba6b93cf509996c9c02e;hp=a1da43712b1e6f8a426576949d49bd275f2e27f8;hpb=8669b0087e710b72e46573afb3cc46c1d7707e91;p=lyx.git diff --git a/src/frontends/qt4/GuiView.h b/src/frontends/qt4/GuiView.h index a1da43712b..e4ab76331d 100644 --- a/src/frontends/qt4/GuiView.h +++ b/src/frontends/qt4/GuiView.h @@ -7,6 +7,7 @@ * \author Lars Gullik Bjornes * \author John Levon * \author Abdelrazak Younes + * \author Peter Kümmel * * Full author contact details are available in file CREDITS. */ @@ -14,21 +15,19 @@ #ifndef GUI_VIEW_H #define GUI_VIEW_H -// Must be here because of moc. -#include - #include "frontends/LyXView.h" -#include "funcrequest.h" +#include "FuncRequest.h" -#include -#include #include #include +#include +#include +class QDragEnterEvent; +class QDropEvent; +class QMenu; class QToolBar; -//class FuncRequest; -//class string; namespace lyx { namespace frontend { @@ -56,20 +55,24 @@ public: virtual void init(); virtual void close(); + virtual void setFocus(); virtual void setGeometry( unsigned int width, unsigned int height, int posx, int posy, - bool maximize); + int maximized, + unsigned int iconSizeXY, + const std::string & geometryArg); virtual void saveGeometry(); virtual void busy(bool); - Toolbars::ToolbarPtr makeToolbar(ToolbarBackend::Toolbar const & tbb); + /// add toolbar, if newline==true, add a toolbar break before the toolbar + Toolbars::ToolbarPtr makeToolbar(ToolbarInfo const & tbinfo, bool newline); virtual void updateStatusBar(); - virtual void message(lyx::docstring const & str); + virtual void message(docstring const & str); virtual void clearMessage(); virtual bool hasFocus() const; - - virtual void updateTab(); + void showMiniBuffer(bool); + void openMenu(docstring const &); /// show - display the top-level window void show(); @@ -80,7 +83,7 @@ public: /// menu item has been selected void activated(FuncRequest const &); - void initTab(QWidget* workArea); + QMenu* createPopupMenu(); Q_SIGNALS: void closing(int); @@ -89,10 +92,13 @@ public Q_SLOTS: /// idle timeout void update_view_state_qt(); - /// populate a toplevel menu and all its children on demand - void updateMenu(QAction *); + void currentTabChanged(int index); + void closeCurrentTab(); - void currentTabChanged (int index); + /// slots to change the icon size + void smallSizedIcons(); + void normalSizedIcons(); + void bigSizedIcons(); protected: /// make sure we quit cleanly @@ -104,27 +110,60 @@ protected: /// virtual void moveEvent(QMoveEvent * e); + /// \return the \c Workarea associated to \p Buffer + /// \retval 0 if no \c WorkArea is found. + WorkArea * workArea(Buffer & buffer); + + /// Add a \c WorkArea + /// \return the \c Workarea associated to \p Buffer + /// \retval 0 if no \c WorkArea is found. + WorkArea * addWorkArea(Buffer & buffer); + void setCurrentWorkArea(WorkArea * work_area); + void removeWorkArea(WorkArea * work_area); + WorkArea const * currentWorkArea() const; + WorkArea * currentWorkArea(); + private: - /// focus the command buffer widget - void focus_command_widget(); + /// + void dragEnterEvent(QDragEnterEvent * ev); + /// + void dropEvent(QDropEvent * ev); /** * setWindowTitle - set title of window * @param t main window title * @param it iconified (short) title */ - virtual void setWindowTitle(lyx::docstring const & t, lyx::docstring const & it); + virtual void setWindowTitle(docstring const & t, docstring const & it); + + /// in order to catch Tab key press. + bool event(QEvent * e); + bool focusNextPrevChild(bool); QTimer statusbar_timer_; /// command buffer QCommandBuffer * commandbuffer_; + /// are we quitting by the menu? + bool quitting_by_menu_; + /// - void updateFloatingGeometry(); + QRect updateFloatingGeometry(); /// QRect floatingGeometry_; + void setIconSize(unsigned int size); + + struct ToolbarSize { + int top_width; + int bottom_width; + int left_height; + int right_height; + }; + + ToolbarSize toolbarSize_; + struct GuiViewPrivate; GuiViewPrivate& d; };