Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-12156

CLONE -QDialog as a delegate woes

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: P4: Low P4: Low
    • 5.9.0 Beta 2
    • 4.5.3
    • Widgets: Itemviews
    • None
    • All
    • 8b1d9d308b1f31e1b9c817e0d91e14baa3b76d6b

      Using QDialog as a delegate is problematic because QDialog::done(int) calls hide() before setResult(), therefore the result cannot be inspected by the Delegate's setModelData() method.

      QDialog::done(int) should invoke setResult() before calling hide().

      A possible usecase:
      A table view showing properties of a polygon, e.g. with the columns "Name", "Position", "Color" etc. The "Position" column shows something like "5 point polygon around position (3,4)". Editing this cell would open a more elaborate QDialog that shows all five polygon vertex coordinates (as such an edit dialog would surely not fit into the cell rectangle).

      My workaround is to manually call QDialog::setResult() before calling QDialog::accept() or QDialog::reject() in my class derived from QDialog. But I see no reason why QDialog should not call setResult() before hide().

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

            sgaist Samuel Gaist
            jan15022 Jan Siebeneich
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved:

                There are no open Gerrit changes