[Kmymoney-devel] [Bug 260278] New: Change all designer based widgets to used the generated code trough composition instead of inheritance

Cristian Onet onet.cristian at gmail.com
Thu Dec 16 14:42:13 CET 2010


https://bugs.kde.org/show_bug.cgi?id=260278

           Summary: Change all designer based widgets to used the
                    generated code trough composition instead of
                    inheritance
           Product: kmymoney4
           Version: SVN trunk
          Platform: Gentoo Packages
        OS/Version: Linux
            Status: NEW
          Severity: wishlist
          Priority: NOR
         Component: general
        AssignedTo: kmymoney-devel at kde.org
        ReportedBy: onet.cristian at gmail.com


Version:           SVN trunk (using KDE 4.5.4) 
OS:                Linux

in the case of the widgets we design using Qt Designer it would be better to
have instead of:
contents of kmmwidget.h:
#include "ui_kmmwidgetdecl.h"

class kmmwidget : public QWidget, public Ui::kmmwidgetdecl
{
....
};
like it is now, this version:

contents of kmmwidget.h:
class Ui::kmmwidgetdecl; // forward decl or even pimpl
class kmmwidget : public 
{
....
Ui::kmmwidgetdecl *ui;
};

contents of kmmwidget.cpp:
#include "ui_kmmwidgetdecl.h"

This way we could avoid errors caused by included headers which are not yet
generated because they are included in another module then the one they are
generated in for ex. reports include headers from widgets and building reports
starts when widgets is not yet generated.

I find this solution much better then explicitly adding cmake dependencies.
Since it reduces build time and it's a good practice to avoid polluting header
files. Especially the headers of very important classes.

Reproducible: Always

-- 
Configure bugmail: https://bugs.kde.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.


More information about the KMyMoney-devel mailing list