X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Ffrontends%2Fqt4%2FGuiView.h;h=e4ab76331dc48fa160cc14215487bf905bafc56e;hb=8381d36098fb9244c15dba6b93cf509996c9c02e;hp=f527dcec1d60f365633b8751fbf250053fe41287;hpb=128a8ef3e86fedf60b2a123da089898994f4211e;p=lyx.git diff --git a/src/frontends/qt4/GuiView.h b/src/frontends/qt4/GuiView.h index f527dcec1d..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,22 +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 { @@ -57,18 +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; + void showMiniBuffer(bool); + void openMenu(docstring const &); /// show - display the top-level window void show(); @@ -79,6 +83,7 @@ public: /// menu item has been selected void activated(FuncRequest const &); + QMenu* createPopupMenu(); Q_SIGNALS: void closing(int); @@ -87,8 +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(); + + /// slots to change the icon size + void smallSizedIcons(); + void normalSizedIcons(); + void bigSizedIcons(); protected: /// make sure we quit cleanly @@ -100,26 +110,62 @@ 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; }; } // namespace frontend