QDialog - Change exec() and open() to virtual functions

QDialog is meant for inheritance (it contains other virtual
functions) ...

The main reason for this is that we inside the dialog
could have a (datadepened) precondition that should
prevent the dialog from being shown at all - instead we
might just want to show a messagebox.

That is not easy solvable in Qt right now. It is possible
to reimplement setVisible - but calling reject from
setVisible does not work. There seems only to be clumsy
solutions to that problem - unless these functions are
made virtual

Beside it also creates a nice symmetry to done.

Change-Id: I51c29e1f7a4a5522f5c0f71bcf98c943580790b9
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Reviewed-by: Andreas Aardal Hanssen <andreas@hanssen.name>
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
This commit is contained in:
Thorbjørn Lund Martsum 2012-03-07 16:02:47 +01:00 committed by Qt by Nokia
parent c614bf25fe
commit dbab994b2c

View File

@ -91,8 +91,8 @@ Q_SIGNALS:
void rejected();
public Q_SLOTS:
void open();
int exec();
virtual void open();
virtual int exec();
virtual void done(int);
virtual void accept();
virtual void reject();