Abdelrazak Younes wrote:
> Peter Kümmel wrote:
>> Enrico Forestieri wrote:
>>> On Wed, Nov 29, 2006 at 01:17:44PM +0100, Peter Kümmel wrote:
>>>> Enrico Forestieri wrote:
>>>>> On Wed, Nov 29, 2006 at 10:10:08AM -0000, [EMAIL PROTECTED] wrote:
>>>>>> Author: kuemmel
>>>>>> Date: Wed Nov 29 11:10:07 2006
>>>>>> New Revision: 16101
>>>>>>
>>>>>> URL: http://www.lyx.org/trac/changeset/16101
>>>>>> Log:
>>>>>> Windows doesn't support the geometry option
>>>>> [...]
>>>>>> +* The -geometry option doesn't work on Windows (it did in 1.4.x)
>>>>>> +  c:\> lyx-qt4.exe -geometry 800x600+100+30
>>>>>> +  Wrong command line option `-geometry'. Exiting.
>>>>>> +  REJECTED (Peter, 2006-11-29)
>>>>> Too bad. Seems that I have to try to port Qt4 to Cygwin/X11. It is a
>>>>> pity, as I liked the appearance of the Qt4 native GUI port, but you
>>>>> know, there must be something under the dress...
>>>>>
>>>> It should me more easy to add the -geometry option to the Windows
>>>> version of LyX. ;)
>>> I am not so sure, but yes, now that I know it is a Qt4 limitation I
>>> could try to implement it. After all, I don't want that you make the
>>> work for me ;-)
>>
>> But I have done. ;-)
>>
>> (The GuiView code is from the qt3 port.)
> 
>> Index: src/frontends/qt4/GuiView.C
>> ===================================================================
>> --- src/frontends/qt4/GuiView.C    (Revision 16102)
>> +++ src/frontends/qt4/GuiView.C    (Arbeitskopie)
>> @@ -244,7 +244,8 @@
>>                                    unsigned int height,
>>                                    int posx, int posy,
>>                                    bool maximize,
>> -                                  unsigned int iconSizeXY)
>> +                                  unsigned int iconSizeXY,
>> +                                  const std::string & geometryArg)
>>  {
>>      // use last value (not at startup)
>>      if (d.lastIconSize != 0)
>> @@ -278,6 +279,20 @@
>>          if (maximize)
>>              setWindowState(Qt::WindowMaximized);
>>      }
>> +    else
>> +    {
>> +#ifdef Q_OS_WIN
>> +        int x, y;
>> +        int w, h;
>> +        QRegExp re( "[=]*(?:([0-9]+)[xX]([0-9]+)){0,1}[
>> ]*(?:([+-][0-9]*)([+-][0-9]*)){0,1}" );
>> +        re.indexIn( toqstr(geometryArg.c_str()));
>> +        w = re.cap( 1 ).toInt();
>> +        h = re.cap( 2 ).toInt();
>> +        x = re.cap( 3 ).toInt();
>> +        y = re.cap( 4 ).toInt();
>> +        QWidget::setGeometry( x, y, w, h );
>> +#endif
>> +    }
> 
> Couldn't you do that parsing in parse_geometry() instead and overwrite
> width and height?

Then I don't have QRegExp, and must convert it to boost code, which I don't
know, additionally the Qt version is already tested and when I add new code
I could introduce regressions. So I prefer it as it is, but I could add a
FIXME.

> The rest looks good to me.
> 
> Abdel.
> 
> 


-- 
Peter Kümmel

Reply via email to