Angus Leeming wrote:
> Peter_Kümmel wrote:
>> Peter_Kümmel wrote:
>>> I will have a look an this, and will also
>>> post a 'final patch' :-)
> 
>> Here the patch for this issue.
> 
> Looks good. One thing that strikes me though is that
> you should define a local variable
>     Session & session = LyX::ref().session();
> rather than waste cycles by repeatedly accessing
> session().
> 
> Angus
> 

Does not the compiler optimize such code,
or is this too optimistic?

Peter


Comitted:

Index: qt4/QtView.h
===================================================================
--- qt4/QtView.h        (revision 14094)
+++ qt4/QtView.h        (working copy)
@@ -47,7 +47,7 @@
        Q_OBJECT
 public:
        /// create a main window of the given dimensions
-       QtView(unsigned int w, unsigned int h, bool maximize);
+       QtView(unsigned int w, unsigned int h);

        ~QtView();

Index: qt4/QtView.C
===================================================================
--- qt4/QtView.C        (revision 14094)
+++ qt4/QtView.C        (working copy)
@@ -70,14 +70,9 @@
 } // namespace anon


-QtView::QtView(unsigned int width, unsigned int height, bool maximize)
+QtView::QtView(unsigned int width, unsigned int height)
        : QMainWindow(), LyXView(), commandbuffer_(0)
 {
-       resize(width, height);
-
-       if (maximize)
-               this->setWindowState(Qt::WindowMaximized);
-
        mainWidget_ = this;

 //     setToolButtonStyle(Qt::ToolButtonIconOnly);
@@ -184,13 +179,15 @@

 void QtView::closeEvent(QCloseEvent *)
 {
+       QRect geometry = normalGeometry();
+       Session & session = LyX::ref().session();
        // save windows size and position
-       LyX::ref().session().saveSessionInfo("WindowWidth", 
convert<string>(this->normalGeometry().width()));
-       LyX::ref().session().saveSessionInfo("WindowHeight", 
convert<string>(this->normalGeometry().height()));
-       LyX::ref().session().saveSessionInfo("WindowIsMaximized", 
(this->isMaximized() ? "yes" : "no"));
+       session.saveSessionInfo("WindowWidth", 
convert<string>(geometry.width()));
+       session.saveSessionInfo("WindowHeight", 
convert<string>(geometry.height()));
+       session.saveSessionInfo("WindowIsMaximized", (isMaximized() ? "yes" : 
"no"));
        if (lyxrc.geometry_xysaved) {
-               LyX::ref().session().saveSessionInfo("WindowPosX", 
convert<string>(this->normalGeometry().x()));
-               LyX::ref().session().saveSessionInfo("WindowPosY", 
convert<string>(this->normalGeometry().y()));
+               session.saveSessionInfo("WindowPosX", 
convert<string>(geometry.x()));
+               session.saveSessionInfo("WindowPosY", 
convert<string>(geometry.y()));
        }
        // trigger LFUN_LYX_QUIT instead of quit directly
        // since LFUN_LYX_QUIT may have more cleanup stuff

Reply via email to