On Tue, Sep 20, 2016 at 1:32 PM, Marco Martin <notm...@gmail.com> wrote:
> On Tue, Sep 20, 2016 at 2:05 PM, David Edmundson > <da...@davidedmundson.co.uk> wrote: > > > > Actually adding a virtual is, but the design pattern of a virtual is > do-able > > in multiple other ways which are binary compatiable. > > *if* that's the approach we want (and it's my preferred option) I'll > make a > > RR that does it. > > I know about having a slot that would be invoked with metaobject, or > having a new setter/getter, both of which i wouldn't like much > The way I'd got for it making Applet::immutable() { return property("immutable").value<>() } then we change our Q_PROPERTY in Plasma::Applet to go to a real implementation system tray containment can then also implements the property. ---- Another possible technique is we export a new class which inherts Applet, contains the virtual but doesn't contain any member variables. Then in Applet we can static_cast<AppletExtension>(this)->myVirtualMethod(); If we want the system tray to have any more special cases, that's not as crazy as it first sounds. ---- > > -- > Marco Martin >