diff --git a/plugins/application-tray/CMakeLists.txt b/plugins/application-tray/CMakeLists.txt index d067196fd..14db09618 100644 --- a/plugins/application-tray/CMakeLists.txt +++ b/plugins/application-tray/CMakeLists.txt @@ -72,6 +72,8 @@ target_link_libraries(${PLUGIN_NAME} Qt${QT_VERSION_MAJOR}::Core Qt${QT_VERSION_MAJOR}::Gui Qt${QT_VERSION_MAJOR}::Widgets + Qt${QT_VERSION_MAJOR}::CorePrivate + Qt${QT_VERSION_MAJOR}::WidgetsPrivate Dtk${DTK_VERSION_MAJOR}::Core Dtk${DTK_VERSION_MAJOR}::Gui Dtk${DTK_VERSION_MAJOR}::Widget diff --git a/plugins/application-tray/sniprotocolhandler.cpp b/plugins/application-tray/sniprotocolhandler.cpp index 4ad5d6e13..abe71a3db 100644 --- a/plugins/application-tray/sniprotocolhandler.cpp +++ b/plugins/application-tray/sniprotocolhandler.cpp @@ -17,6 +17,8 @@ #include #include +#include +#include DGUI_USE_NAMESPACE @@ -32,6 +34,12 @@ class DBusMenu : public DBusMenuImporter { { QObject::connect(this, &DBusMenuImporter::menuUpdated, this, [this] (QMenu *menu) { menu->setFixedSize(menu->sizeHint()); + // TODO 删除 QMenu 的滚动功能,修复首次子菜单显示滚动指示器问题 + if (auto dp = static_cast(QObjectPrivate::get(menu))) { + if (auto scroll = dp->scroll) { + scroll->scrollFlags = QMenuPrivate::QMenuScroller::ScrollNone; + } + } }, Qt::QueuedConnection); } virtual QMenu *createMenu(QWidget *parent) override