[Development] SIC: QAbstractPrintDialog & QAbstractPageSetupDialog
jlayt at kde.org
Thu May 17 00:49:42 CEST 2012
On Wednesday 16 May 2012 10:14:27 Thiago Macieira wrote:
> On quarta-feira, 16 de maio de 2012 00.07.10, John Layt wrote:
> > The QAbstractPritnDialog and QAbstractPageSetupDialog classes are
> > completely unnecessary, are given as bad examples in the Qt API design
> > standards, and were marked to be merged with QPrintDialog and
> > QPageSetupDialog in Qt5.
> Hi John
> What's the benefit of this change? Do you have something planned for the
> future that would require this?
> >From what I can tell, this would only remove the abstract base class...
Initially it was just it clean things up, but I do have an idea to move all
the platform-specific dialog code into the platform plugin. I'd prefer to
have a public factory method to create the dialog but that's a huge SIC break,
so instead I'm looking at making the private be created by a factory method in
the plugin with the public class creator calling the plugin to create the
private. I suspect this would be a lot easier without QAbstractPrintDialog
confusing things, I'd just have QPrintDialog with the common methods in the
base and the rest calling into the private platform methods.
Actually removing the "abstract" base class is just a case of
s/QAbstractPrintDialog/QPrintDialog and tweaking the constructors, as the
class is not really abstract, the only virtual method is exec(), nothing else
gets reimplemented in the platform specific QPrintDialog derived class, only
new methods get added.
So not vital, mostly just to make ongoing maintenance easier.
More information about the Development