]> git.lyx.org Git - lyx.git/blobdiff - src/frontends/qt4/GuiWorkArea.h
Add a boolean to GuiWorkArea::redraw to indicate whether the metrics must be updated...
[lyx.git] / src / frontends / qt4 / GuiWorkArea.h
index 84e71298eb01d6c7d94d6c21f30de92a49fd7b15..8585b25aedf4f56d6ada8a105f0a1d436061fed5 100644 (file)
@@ -35,6 +35,7 @@ class QDropEvent;
 class QKeyEvent;
 class QWheelEvent;
 class QPaintEvent;
+class QToolButton;
 class QWidget;
 
 #ifdef CursorShape
@@ -86,7 +87,8 @@ public:
        bool restart_timeout;
        int x_old;
        int y_old;
-       double scrollbar_value_old;
+       int min_scrollbar_old;
+       int max_scrollbar_old;
 };
 
 
@@ -124,7 +126,7 @@ public:
        ///
        BufferView const & bufferView() const;
        ///
-       void redraw();
+       void redraw(bool update_metrics);
        ///
        void stopBlinkingCursor();
        ///
@@ -258,6 +260,10 @@ private:
        /// Special mode in which Esc and Enter (with or without Shift)
        /// are ignored
        bool dialog_mode_;
+       /// store the position of the rightclick when the mouse is
+       /// pressed. This is used to get the correct context menu 
+       /// when the menu is actually shown (after releasing on Windwos).
+       QPoint context_target_pos_;
 }; // GuiWorkArea
 
 
@@ -278,17 +284,11 @@ public:
 
 protected:
        ///
-       void showEvent(QShowEvent * ev);
-       /// this happens when the dialog is simply closed/hidden
-       void closeEvent(QCloseEvent * e);
-
-private Q_SLOTS:
-       /// this happens 100ms after dialog showEvent()
-       void onDelayedFocus();
+       void closeEvent(QCloseEvent * ev);
+       ///
+       void hideEvent(QHideEvent *ev);
 
 private:
-       /// @TODO: Investigate on focus issue and remove this ugly hack, please !
-       QTimer delayed_focus_timer_;
        /// Embedded Buffer.
        Buffer * buffer_;
 }; // EmbeddedWorkArea
@@ -320,8 +320,10 @@ Q_SIGNALS:
 public Q_SLOTS:
        /// close current buffer, or the one given by \c clicked_tab_
        void closeCurrentBuffer();
-       /// close current tab, or the one given by \c clicked_tab_
-       void closeCurrentTab();
+       /// hide current tab, or the one given by \c clicked_tab_
+       void hideCurrentTab();
+       /// close the tab given by \c index
+       void closeTab(int index);
        ///
        void updateTabTexts();
        
@@ -334,7 +336,10 @@ private Q_SLOTS:
        void moveTab(int fromIndex, int toIndex);
 
 private:
+       ///
        int clicked_tab_;
+       ///
+       QToolButton * closeBufferButton;
 }; // TabWorkArea