[Development] QtWindowsExtras

Jake Thomas Petroules jake.petroules at petroules.com
Fri Jan 18 18:47:23 CET 2013


As many OS/WM utility methods were removed from Qt 5, we need to reimplement their functionality in the QtWindowsExtras, QtMacExtras, and QtX11Extras libraries.

For example, in QtMacExtras we have a unified toolbar implementation that replaces setUnifiedTitleAndToolbar(), and converter functions to replace QPixmap::toMacCGImageRef(), QPixmap::fromMacCGImageRef() as well as other type conversions, etc. Morten also has some clipboard functionality pending as well as a utility function to set the dock menu to a QMenu, native widgets, and some other stuff. Similarly, QtX11Extras has QX11Info ported from Qt 4 and I imagine may have more functionality in the future..

Windows is no different, and there is a lot that could fit into such a library, including but not limited to:

* Replacements for native API converter functions (QPixmap::toWinHBITMAP(), QPixmap::fromWinHBITMAP(), QPixmap::toWinHICON(), QPixmap::fromWinHICON()... I think there was also a QMenu::wceMenu() that gave an HMENU and a similar function for Windows itself (not CE) would be great)
* Taskbar functionality for Windows 7/8 (jump lists, overlay icons, progress indicators, thumbnail toolbars, thumbnail tab previews)
* DWM interaction (enable/disable composition, extend frame into client area)

This is important functionality usable by a large number of Windows apps, clearly evidenced by the former presence of some of this functionality in Qt 4. I have a decent amount of code implementing much of this functionality already, just awaiting contribution...

I'm sure there is more I haven't thought of as well. Perhaps some Windows 8 APIs?

Jake Petroules
Petroules Corporation (www.petroules.com)
Email: jake.petroules at petroules.com
Telephone: +1 (970) 587-3821

On Jan 18, 2013, at 12:16 PM, Laszlo Papp <lpapp at kde.org> wrote:

> On Thu, Jan 17, 2013 at 8:58 PM, Jake Thomas Petroules <jake.petroules at petroules.com> wrote:
> As we have a QtMacExtras and QtX11Extras, could someone please create a QtWindowsExtras as well?
> 
> Could you please elaborate about the use case?
> 
> Laszlo

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/development/attachments/20130118/2d76bf8c/attachment.html>


More information about the Development mailing list