Question about goal of Windows/Mac frameworks

Christoph Cullmann cullmann at absint.com
Thu Oct 22 13:40:39 UTC 2015


Hi,

> Impressive! And cool to see another project using the cmake externals
> approach, I can copy a lot of it for Krita 3, I think. How are you
> handling icons? Bundling the breeze theme, or putting the icons in resource
> files?
as I was lazy, I just compiled complete breeze into a binary rcc file like done in mac.txt: (search for the rcc calls)

https://quickgit.kde.org/?p=kate.git&a=blob&h=275a28d36b132f0f5d3963ae40b451d264bae3a5&hb=1486c0e69df54e955e25223ff9d99d87751d2ba3&f=mac.txt

Kate and KWrite call then this helper function after the initial QApplication construction:

https://quickgit.kde.org/?p=kate.git&a=blob&h=75b9d81be88aac55a689ca99adc9a5e0ae0bb1d3&hb=1486c0e69df54e955e25223ff9d99d87751d2ba3&f=icons.h

The nice thing: that helper is always compiled in, that means you can test it with a normal compiled Kate/KWrite.

This for sure can be tuned to just pack the right breeze icons in that you need, but ATM even breeze lacks some icons
we use in KWrite/Kate/KTextEditor (or perhaps even some other frameworks).

All in all, the Mac and Windows port need no magic defines ATM, at least none I am aware off,
and no non-native magic (if you ignore that we use cmake/python/perl for some stuff).

Greetings
Christoph

> 
> --
> Boudewijn Rempt | http://www.krita.org, http://www.valdyas.org
> 
> On Thu, 22 Oct 2015, Christoph Cullmann wrote:
> 
>> Hi,
>>
>> btw., a preliminary self contained Kate for Windows can be found here:
>>
>> ftp://cullmann.io/cullmann/
>>
>> Created with the CMake file from this repo by Kåre Särs
>>
>> https://quickgit.kde.org/?p=scratch%2Fsars%2Fkate-windows.git&a=tree
>>
>> Plain Qt, normal Visual Studio, can be deployed without global stuff.
>> (you need the Visual Studio redist package, thought, or you bundle that .dll
>> in the zip, too)
>>
>> ZIP is only around 30MB, I think that is not that bad, no real need to spend
>> time on sharing stuff.
>>
>> Greetings
>> Christoph
>>
>> ----- Am 22. Okt 2015 um 8:39 schrieb cullmann cullmann at absint.com:
>>
>>> Hi,
>>> 
>>>> Am 21.10.2015 um 01:19 schrieb Aleix Pol:
>>>>> On Wed, Oct 21, 2015 at 1:12 AM, Ralf Habacker <ralf at habacker.de> wrote:
>>>>>>> Christoph Cullmann <cullmann at absint.com> hat am 20. Oktober 2015 um 16:49
>>>>>>> geschrieben:
>>>>>>> That works only, if the applications bundle their ui files in resources,
>>>>>>> too, otherwise, they just won't be found
>>>>>>> and the applications break, unless you patch again Qt to look in
>>>>>>> non-standard locations.
>>>>>> yes, the following patch
>>>>>> https://build.opensuse.org/package/view_file/home:rhabacker:branches:windows:mingw:win32:Qt54/mingw32-libqt5-qtbase/qt5-qstandardpath-data-location.patch?expand=0
>>>>>> is a workaround to fix some of the issues.
>>>>> That's why Christoph is saying: "unless you patch again Qt to look in
>>>>> non-standard locations.".
>>>> umbrello for example depends on about 50 other libraries and packages
>>>> https://build.opensuse.org/project/show/home:rhabacker:branches:windows:mingw:win32:KF511.
>>>> Not patching Qt requires to repack every single package :-(, by either
>>>> hacking the cmake build system to use different install locations or to
>>>> reorder the installed files after cmake installing.
>>>> 
>>>> Having Qt support for "standard linux path layout" for example by
>>>> extending qt.conf to support QStandardPath (qt.conf is already required
>>>> for KDE on Windows) shortcuts this repackaging need completly.
>>> I at least fixed already all frameworks required by the current Kate build
>>> (beside that KIO slave don't work atm and I guess
>>> I missed 1-2 files still not in resources):
>>> 
>>> kconfig
>>> kguiaddons
>>> ki18n
>>> kitemviews
>>> sonnet
>>> kwindowsystem
>>> kwidgetsaddons
>>> kcompletion
>>> kdbusaddons
>>> karchive
>>> kcoreaddons
>>> kjobwidgets
>>> kcrash
>>> kservice
>>> kcodecs
>>> kauth
>>> kconfigwidgets
>>> kiconthemes
>>> ktextwidgets
>>> kglobalaccel
>>> kxmlgui
>>> kbookmarks
>>> solid
>>> kio
>>> kparts
>>> ktexteditor
>>> 
>>> That means they now by "default" just work, if you use the master branch.
>>> More frameworks to go, for sure, but that is really doable ;=)
>>> 
>>> Greetings
>>> Christoph
>>> 
>>> --
>>> ----------------------------- Dr.-Ing. Christoph Cullmann ---------
>>> AbsInt Angewandte Informatik GmbH      Email: cullmann at AbsInt.com
>>> Science Park 1                         Tel:   +49-681-38360-22
>>> 66123 Saarbrücken                      Fax:   +49-681-38360-20
>>> GERMANY                                WWW:   http://www.AbsInt.com
>>> --------------------------------------------------------------------
>>> Geschäftsführung: Dr.-Ing. Christian Ferdinand
>>> Eingetragen im Handelsregister des Amtsgerichts Saarbrücken, HRB 11234
>>> _______________________________________________
>>> Kde-frameworks-devel mailing list
>>> Kde-frameworks-devel at kde.org
>>> https://mail.kde.org/mailman/listinfo/kde-frameworks-devel
>>
>> --
>> ----------------------------- Dr.-Ing. Christoph Cullmann ---------
>> AbsInt Angewandte Informatik GmbH      Email: cullmann at AbsInt.com
>> Science Park 1                         Tel:   +49-681-38360-22
>> 66123 Saarbrücken                      Fax:   +49-681-38360-20
>> GERMANY                                WWW:   http://www.AbsInt.com
>> --------------------------------------------------------------------
>> Geschäftsführung: Dr.-Ing. Christian Ferdinand
>> Eingetragen im Handelsregister des Amtsgerichts Saarbrücken, HRB 11234
>> _______________________________________________
>> Kde-windows mailing list
>> Kde-windows at kde.org
>> https://mail.kde.org/mailman/listinfo/kde-windows
> _______________________________________________
> Kde-frameworks-devel mailing list
> Kde-frameworks-devel at kde.org
> https://mail.kde.org/mailman/listinfo/kde-frameworks-devel

-- 
----------------------------- Dr.-Ing. Christoph Cullmann ---------
AbsInt Angewandte Informatik GmbH      Email: cullmann at AbsInt.com
Science Park 1                         Tel:   +49-681-38360-22
66123 Saarbrücken                      Fax:   +49-681-38360-20
GERMANY                                WWW:   http://www.AbsInt.com
--------------------------------------------------------------------
Geschäftsführung: Dr.-Ing. Christian Ferdinand
Eingetragen im Handelsregister des Amtsgerichts Saarbrücken, HRB 11234


More information about the Kde-frameworks-devel mailing list