X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Ffrontends%2Fqt4%2FGuiView.h;h=bc7b9ecc1e59e19759a332a35097ff6d479d7ccc;hb=43c09d723435a5b203f2ac0c39e2086de836b386;hp=33f9fb310860e3b814a2788943dbcae41c869aed;hpb=8bbd8bc44c2f9c290c09cea3f08371d416312dcd;p=lyx.git diff --git a/src/frontends/qt4/GuiView.h b/src/frontends/qt4/GuiView.h index 33f9fb3108..bc7b9ecc1e 100644 --- a/src/frontends/qt4/GuiView.h +++ b/src/frontends/qt4/GuiView.h @@ -71,12 +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(); + bool busy() const; + /// \name Generic accessor functions //@{ @@ -176,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 @@ -200,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(); @@ -220,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, @@ -322,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(); /// @@ -341,6 +352,8 @@ private: /// void insertPlaintextFile(docstring const & fname, bool asParagraph); + /// + bool exportBufferAs(Buffer & b); /// Save a buffer as a new file. /** @@ -360,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); @@ -377,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, @@ -394,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(); @@ -406,7 +424,11 @@ private: /// flag to avoid two concurrent close events. bool closing_; /// if the view is busy the cursor shouldn't blink for instance. - bool busy_; + /// 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