Wireshark-commits: [Wireshark-commits] master f789736: Qt: Handle UAT editor dialogs explicitly.
From: Wireshark code review <code-review-do-not-reply@xxxxxxxxxxxxx>
Date: Wed, 07 Mar 2018 10:10:02 +0000
URL: https://code.wireshark.org/review/gitweb?p=wireshark.git;a=commit;h=f7897365213111fa86fa940ddea6c3e191b0b429
Submitter: Roland Knall (rknall@xxxxxxxxx)
Changed: branch: master
Repository: wireshark

Commits:

f789736 by Michael Mann (mmann78@xxxxxxxxxxxx):

    Qt: Handle UAT editor dialogs explicitly.
    
    QAbstractItemView assumes that editors are widgets, not windows.
    QAbstractItemView::edit calls QAbstractItemViewPrivate::openEditor,
    which simply calls show() and setFocus() on the editor widget. If that
    widget happens to be a native dialog, its event loop might not be
    processed. This is the case on macOS at least.
    
    Create widgets derived from QLineEdit that edit the value directly along
    with a button that can open the associated modal dialog. Install event
    filters so that we keep the correct tab behavior between fields of the
    UAT.
    
    Bug: 13958
    Ping-Bug: 14031
    Bug: 7761
    Change-Id: Ie5f0a5cbde33bb9add8217029c2063a0bbfd804a
    Reviewed-on: https://code.wireshark.org/review/23015
    Reviewed-by: Gerald Combs <gerald@xxxxxxxxxxxxx>
    Petri-Dish: Gerald Combs <gerald@xxxxxxxxxxxxx>
    Tested-by: Petri Dish Buildbot
    Reviewed-by: Roland Knall <rknall@xxxxxxxxx>
    

Actions performed:

    from  9a5217b   Fix another leak, which happens with -E occurrence=l.
    adds  f789736   Qt: Handle UAT editor dialogs explicitly.


Summary of changes:
 ui/qt/models/uat_delegate.cpp         | 62 ++++-------------------
 ui/qt/models/uat_delegate.h           |  4 --
 ui/qt/widgets/editor_color_dialog.cpp | 59 +++++++++++++++++++---
 ui/qt/widgets/editor_color_dialog.h   | 18 +++++--
 ui/qt/widgets/editor_file_dialog.cpp  | 94 ++++++++++++++++++++++++++++++++---
 ui/qt/widgets/editor_file_dialog.h    | 26 ++++++++--
 6 files changed, 181 insertions(+), 82 deletions(-)