]> git.lyx.org Git - lyx.git/blobdiff - src/frontends/qt4/GuiView.h
Also display the info about BibTeX databases in the TeX info panel.
[lyx.git] / src / frontends / qt4 / GuiView.h
index b540094f0b82eaae193657b1a729d43b9584d4dc..bc7b9ecc1e59e19759a332a35097ff6d479d7ccc 100644 (file)
@@ -71,9 +71,15 @@ public:
 
        ~GuiView();
 
+       /// closes the view such that the view knows that is closed
+       /// programmatically and not by the user clicking the x.
+       bool closeScheduled();
+
        int id() const { return id_; }
 
-       void setBusy(bool);
+       /// are we busy ?
+       bool busy() const;
+
 
        /// \name Generic accessor functions
        //@{
@@ -173,6 +179,8 @@ public:
        /// \return the \c Workarea associated to \p  Buffer
        /// \retval 0 if no \c WorkArea is found.
        GuiWorkArea * workArea(Buffer & buffer);
+       /// \return the \c Workarea at index \c index
+       GuiWorkArea * workArea(int index);
 
        /// Add a \c WorkArea 
        /// \return the \c Workarea associated to \p  Buffer
@@ -197,6 +205,8 @@ Q_SIGNALS:
        void triggerShowDialog(QString const & qname, QString const & qdata, Inset * inset);
 
 public Q_SLOTS:
+       ///
+       void setBusy(bool);
        /// idle timeout.
        /// clear any temporary message and replace with current status.
        void clearMessage();
@@ -217,8 +227,10 @@ private Q_SLOTS:
        void normalSizedIcons();
        void bigSizedIcons();
 
-       /// For completion of autosave or exporrt threads.
-       void threadFinished();
+       /// For completion of autosave or export threads.
+       void processingThreadStarted();
+       void processingThreadFinished();
+       void autoSaveThreadFinished();
 
        /// must be called in GUI thread
        void doShowDialog(QString const & qname, QString const & qdata,
@@ -319,8 +331,10 @@ public:
        void disconnectDialog(std::string const & name);
 
 private:
-       ///
+       /// Saves the layout and geometry of the window
        void saveLayout() const;
+       /// Saves the settings of toolbars and all dialogs
+       void saveUISettings() const;
        ///
        bool restoreLayout();
        ///
@@ -338,6 +352,8 @@ private:
        ///
        void insertPlaintextFile(docstring const & fname,
                bool asParagraph);
+       ///
+       bool exportBufferAs(Buffer & b);
 
        /// Save a buffer as a new file. 
        /**
@@ -357,6 +373,9 @@ private:
        bool renameBuffer(Buffer & b, docstring const & newname);
        ///
        bool saveBuffer(Buffer & b);
+       /// save and rename buffer to fn. If fn is empty, the buffer
+       /// is just saved as the filename it already has.
+       bool saveBuffer(Buffer & b, support::FileName const & fn);
        /// closes a workarea, if close_buffer is true the buffer will
        /// also be released, otherwise the buffer will be hidden.
        bool closeWorkArea(GuiWorkArea * wa, bool close_buffer);
@@ -374,8 +393,8 @@ private:
        /// is the buffer in this workarea also shown in another tab ?
        /// This tab can either be in the same view or in another one.
        bool inMultiTabs(GuiWorkArea * wa);
-       /// is the buffer in this workarea also shown in another view ?
-       bool inMultiViews(GuiWorkArea * wa);
+       /// is the buffer shown in some other view ?
+       bool inOtherView(Buffer & buf);
        ///
        enum NextOrPrevious {
                NEXTBUFFER,
@@ -391,9 +410,11 @@ private:
        ///
        Dialog * build(std::string const & name);
        ///
-       void reloadBuffer();
+       bool reloadBuffer(Buffer & buffer);
        ///
-       void dispatchVC(FuncRequest const & cmd);
+       void dispatchVC(FuncRequest const & cmd, DispatchResult & dr);
+       ///
+       void dispatchToBufferView(FuncRequest const & cmd, DispatchResult & dr);
        ///
        void showMessage();
 
@@ -402,6 +423,12 @@ private:
 
        /// flag to avoid two concurrent close events.
        bool closing_;
+       /// if the view is busy the cursor shouldn't blink for instance.
+       /// This counts the number of times more often we called
+       /// setBusy(true) compared to setBusy(false), so we can nest
+       /// functions that call setBusy;
+       int busy_;
+
 };
 
 } // namespace frontend