Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / qt / 2008-09

Qt 4.4.1

9 messages · 4 people · –

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

Felipe Monteiro de Carvalho
to Paul Ishenin

Please don't move LCL-Qt to it without backwards compatibility. Even supporting only 4.3 already brings trouble, because you need a very recent distribution to have support for it without recompiling it yourself, which is definetively something users will not do.

Felipe Monteiro de Carvalho

Reply by email

Den Jean
to Paul Ishenin: Sorry, but some methods are gone: - QFileDialog_Filters is using by widgetset and new dll…
Paul Ishenin wrote
- QFileDialog_Filters is using by widgetset and new dll doesnot have it.

please do
xxdiff qt-x11-opensource-src-4.2.3/src/gui/dialogs/qfiledialog.h qt-x11-opensource-src-4.4.2/src/gui/dialogs/qfiledialog.h

you will see that QT_DEPRECATED caused this

qt-x11-opensource-src-4.4.2/src/gui/dialogs/qfiledialog.h:
......
#ifdef QT_DEPRECATED
    QT_DEPRECATED void setFilter(const QString &filter);
    QT_DEPRECATED void setFilters(const QStringList &filters);
    QT_DEPRECATED QStringList filters() const;
    QT_DEPRECATED void selectFilter(const QString &filter);
    QT_DEPRECATED QString selectedFilter() const;
#endif
    void setNameFilterDetailsVisible(bool enabled);
    bool isNameFilterDetailsVisible() const;
    void setNameFilter(const QString &filter);
    void setNameFilters(const QStringList &filters);
    QStringList nameFilters() const;
    void selectNameFilter(const QString &filter);
    QString selectedNameFilter() const;
    QDir::Filters filter() const;
    void setFilter(QDir::Filters filters);
.............

I am not in favor of declaring QT_DEPRECATED.
You would never notice these methods are actually gone = Not present in documentation anymore:
see http://doc.trolltech.com/4.4/qfiledialog.html
But I could (not much rubbish appeared when setting it).

regards,

Den Jean

Reply by email

zeljko
to Den Jean
Den Jean wrote 30 lines
On Saturday 20 September 2008 15:57:38 Paul Ishenin wrote: > - QFileDialog_Filters is using by widgetset and new dll doesnot have it. please do xxdiff qt-x11-opensource-src-4.2.3/src/gui/dialogs/qfiledialog.h qt-x11-opensource-src-4.4.2/src/gui/dialogs/qfiledialog.h you will see that QT_DEPRECATED caused this qt-x11-opensource-src-4.4.2/src/gui/dialogs/qfiledialog.h: ...... #ifdef QT_DEPRECATED QT_DEPRECATED void setFilter(const QString &filter); QT_DEPRECATED void setFilters(const QStringList &filters); QT_DEPRECATED QStringList filters() const; QT_DEPRECATED void selectFilter(const QString &filter); QT_DEPRECATED QString selectedFilter() const; #endif void setNameFilterDetailsVisible(bool enabled); bool isNameFilterDetailsVisible() const; void setNameFilter(const QString &filter); void setNameFilters(const QStringList &filters); QStringList nameFilters() const; void selectNameFilter(const QString &filter); QString selectedNameFilter() const; QDir::Filters filter() const; void setFilter(QDir::Filters filters); .............

nameFilters(), setNameFilters() are introduced instead of filters() setFilters().

Anyway when we start with 4.4 inside qtlcl, there must be IFDEF USE_QT44 because there are really some new things especially about printing, and as you said qfiledialog, there are also some new enums eg. QPalette::QToolTipBase,QPalette::QToolTipText (that's why hints are grayed on linux with qt-4.4.X) etc etc.... So best thing would be that qt4.pas be renamed to qt44.pas when we add it into qtlcl, and for devel purposes enable definition USE_QT44.So if someone would like to use qt44 he must read wiki howto (I'll write it no prob).

zeljko

Reply by email

Den Jean
to zeljko
zeljko wrote
because there are really some new things especially about printing, and as you said qfiledialog, there are also some new enums eg.

I had to remove the following methods for a quick result, , "QPrinterInfo_supportedPaperSizes" # QList<QPrinterPaperSize> , "QPrinterInfo_availablePrinters" # QList<QPrinterInfo> but I could look into those again if they are needed

regards,

Den Jean

Reply by email

zeljko
to Den Jean
Den Jean wrote 8 lines
On Sunday 21 September 2008 10:13:07 zeljko wrote: > because there are really some new things especially about printing, and > as you said qfiledialog, there are also some new enums eg. I had to remove the following methods for a quick result, , "QPrinterInfo_supportedPaperSizes" # QList<QPrinterPaperSize> , "QPrinterInfo_availablePrinters" # QList<QPrinterInfo> but I could look into those again if they are needed

Those routines are very important:
1st returns supported paper sizes on printers
2nd give us system printers, so there's no more need for IFDEF MSWINDOWS etc inside qtprinters.

So, they are REALLY needed :)

tnx.

zeljko

Reply by email

Den Jean
to zeljko: nameFilters(), setNameFilters() are introduced instead of filters() setFilters(). Anyway…
zeljko wrote
Anyway when we start with 4.4 inside qtlcl, there must be IFDEF USE_QT44

look carefully at
http://users.telenet.be/Jan.Van.hijfte/qtforfpc/fpcqt4.html http://users.telenet.be/Jan.Van.hijfte/qtforfpc/Lazarus_OsX.png

-> Qt 4.4.3 :-)

can someone please create a qt44.pas(V1.66) and qt43.pas(V.162) and change qt4.pas into

 {$IFDEF USE_QT_44}
  {$i qt44.pas}
{$ELSE }
  {$i qt43.pas}
{$ENDIF}

patch for the rest in attachment

please review patch for:
- deprecated QEventLoopDeferredDeletion
http://lists.trolltech.com/qt-interest/2008-03/thread00406-0.html
- QImageFormatToDepth

kind regards,

Den Jean

-------------- next part --------------
Index: lcl/interfaces/qt/qtobject.inc
=================================================================== --- lcl/interfaces/qt/qtobject.inc (revision 16992) +++ lcl/interfaces/qt/qtobject.inc (working copy) @@ -179,7 +179,11 @@
procedure TQtWidgetSet.AppProcessMessages;
begin

   if QCoreApplication_hasPendingEvents then

+{$IFDEF USE_QT_44}
+ QCoreApplication_processEvents(QEventLoopAllEvents); +{$ELSE}

     QCoreApplication_processEvents(QEventLoopAllEvents or QEventLoopDeferredDeletion);

+{$ENDIF}
end;

{------------------------------------------------------------------------------ Index: lcl/interfaces/qt/qtwidgets.pas
=================================================================== --- lcl/interfaces/qt/qtwidgets.pas (revision 16992) +++ lcl/interfaces/qt/qtwidgets.pas (working copy) @@ -9042,7 +9042,11 @@

 procedure TQtFileDialog.setFilter(const AFilter: WideString);
 begin
+{$IFDEF USE_QT_44}
+  QFileDialog_setNameFilter(QFileDialogH(Widget), @AFilter);
+{$ELSE}
   QFileDialog_setFilter(QFileDialogH(Widget), @AFilter);
+{$ENDIF}
 end;
 procedure TQtFileDialog.setLabelText(const ALabel: QFileDialogDialogLabel; const AText: WideString);
@@ -9093,7 +9097,12 @@
 procedure TQtFileDialog.getFilters(const retval: QStringListH);
 begin
+{$IFDEF USE_QT_44}
+  QFileDialog_nameFilters(QFileDialogH(Widget), retval);
+{$ELSE}
   QFileDialog_filters(QFileDialogH(Widget), retval);
+{$ENDIF}
+
 end;

{ TQtGraphicView }
Index: lcl/interfaces/qt/qtlclintf.inc
=================================================================== --- lcl/interfaces/qt/qtlclintf.inc (revision 16992) +++ lcl/interfaces/qt/qtlclintf.inc (working copy) @@ -367,15 +367,25 @@
const
QImageFormatToDepth: array[QImageFormat] of integer = (
- { QImageFormat_Invalid } 0,
- { QImageFormat_Mono } 1,
- { QImageFormat_MonoLSB } 1,
- { QImageFormat_Indexed8 } 8,
- { QImageFormat_RGB32 } 24,
- { QImageFormat_ARGB32 } 32,
- { QImageFormat_ARGB32_Premultiplied } 32,
- { QImageFormat_RGB16 } 16,
- { QImageNImageFormats } 0
+ { QImageFormat_Invalid } 0,
+ { QImageFormat_Mono } 1,
+ { QImageFormat_MonoLSB } 1,
+ { QImageFormat_Indexed8 } 8,
+ { QImageFormat_RGB32 } 24,
+ { QImageFormat_ARGB32 } 32,
+ { QImageFormat_ARGB32_Premultiplied } 32,
+ { QImageFormat_RGB16 } 16, +{$IFDEF USE_QT_44}
+ { QImageFormat_ARGB8565_Premultiplied } 24,
+ { QImageFormat_RGB666 } 24,
+ { QImageFormat_ARGB6666_Premultiplied } 24,
+ { QImageFormat_RGB555 } 16,
+ { QImageFormat_ARGB8555_Premultiplied } 24,
+ { QImageFormat_RGB888 } 24,
+ { QImageFormat_RGB444 } 16,
+ { QImageFormat_ARGB4444_Premultiplied } 16, +{$ENDIF}
+ { QImageNImageFormats } 0

   );

var

   Image: TQtImage absolute ABitmap;

Reply by email