diff options
author | Roland Knall <rknall@gmail.com> | 2019-11-03 17:12:12 +0000 |
---|---|---|
committer | Peter Wu <peter@lekensteyn.nl> | 2019-11-04 11:39:48 +0000 |
commit | 013e87a8fda9ca37a5786498423070068aed9b6d (patch) | |
tree | 03d041cc94770e01d46335da9f689f3b265a3fa5 /ui/qt/packet_list.cpp | |
parent | 05e37a386ee68a0decd48c03f4aad39ead6bc341 (diff) |
Qt: Remove DisplayFilterMimeData
Make the mimetype for the display filter more generic, so that external
programs can attach to Wireshark and users can drag and drop display
filters to the program
Change-Id: Id78b4dff7883e3dab879a31aad07f577d8cc4ee3
Reviewed-on: https://code.wireshark.org/review/34936
Reviewed-by: Roland Knall <rknall@gmail.com>
Petri-Dish: Roland Knall <rknall@gmail.com>
Tested-by: Petri Dish Buildbot
Reviewed-by: Peter Wu <peter@lekensteyn.nl>
Diffstat (limited to 'ui/qt/packet_list.cpp')
-rw-r--r-- | ui/qt/packet_list.cpp | 20 |
1 files changed, 13 insertions, 7 deletions
diff --git a/ui/qt/packet_list.cpp b/ui/qt/packet_list.cpp index 304c10619e..ad7c44d984 100644 --- a/ui/qt/packet_list.cpp +++ b/ui/qt/packet_list.cpp @@ -71,6 +71,8 @@ #include <QTimerEvent> #include <QTreeWidget> #include <QWindow> +#include <QJsonObject> +#include <QJsonDocument> #ifdef Q_OS_WIN #include "wsutil/file_util.h" @@ -669,7 +671,7 @@ void PacketList::mouseMoveEvent (QMouseEvent *event) if ( event->buttons() & Qt::LeftButton && curIndex.isValid() && curIndex == mouse_pressed_at_ ) { ctx_column_ = curIndex.column(); - QMimeData * mimeData = nullptr; + QMimeData * mimeData = new QMimeData(); QWidget * content = nullptr; QString filter = getFilterFromRowAndColumn(curIndex); @@ -688,18 +690,22 @@ void PacketList::mouseMoveEvent (QMouseEvent *event) abbrev = filter; } - mimeData = new DisplayFilterMimeData(name, abbrev, filter); - ((DisplayFilterMimeData *)mimeData)->allowPlainText(); - content = new DragLabel(((DisplayFilterMimeData *)mimeData)->labelText(), this); + mimeData->setText(filter); + + QJsonObject filterData; + filterData["filter"] = filter; + filterData["name"] = abbrev; + filterData["description"] = name; + QMimeData * mimeData = new QMimeData(); + + mimeData->setData(WiresharkMimeData::DisplayFilterMimeType, QJsonDocument(filterData).toJson()); + content = new DragLabel(QString("%1\n%2").arg(name, abbrev), this); } else { QString text = model()->data(curIndex).toString(); if ( ! text.isEmpty() ) - { - mimeData = new QMimeData(); mimeData->setText(text); - } } if ( mimeData ) |