Skip to content

Commit f01fc82

Browse files
committed
feat: add wheel event support for brightness and volume controls
1. Added wheel event handling for brightness slider in BrightnessApplet 2. Implemented wheel event handling for volume control in SoundApplet 3. Installed event filters on relevant slider widgets to capture wheel events 4. Adjusted brightness/volume values in steps of 2% per wheel tick 5. Added necessary QWheelEvent includes The changes allow users to adjust brightness and volume levels using mouse wheel directly on the dock applets, providing a more intuitive and convenient control method. This matches common UX patterns found in other desktop environments. feat: 为亮度和音量控制添加滚轮事件支持 1. 在 BrightnessApplet 中添加亮度滑块的滚轮事件处理 2. 在 SoundApplet 中实现音量控制的滚轮事件处理 3. 在相关滑块部件上安装事件过滤器以捕获滚轮事件 4. 每次滚轮滚动调整亮度/音量2% 5. 添加必要的 QWheelEvent 头文件 这些修改允许用户直接在dock应用上使用鼠标滚轮调整亮度和音量级别,提供了更 直观和方便的控制方式。这与其他桌面环境中常见的用户体验模式相匹配。 Pms: BUG-317615
1 parent 3b974f1 commit f01fc82

2 files changed

Lines changed: 4 additions & 2 deletions

File tree

plugins/dde-dock/brightness/brightnessapplet.cpp

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,9 @@ void BrightnessApplet::addMonitor(Monitor *monitor)
113113
auto container = new SliderContainer(this);
114114
container->setFixedHeight(SLIDER_ITEM_HEIGHT);
115115
container->addBackground();
116-
container->setSlider(new Dtk::Widget::DSlider);
116+
auto dSlider = new Dtk::Widget::DSlider();
117+
dSlider->setMouseWheelEnabled(true);
118+
container->setSlider(dSlider);
117119
container->setRange(BrightnessModel::ref().minBrightness(), BrightnessModel::ref().maxBrightness());
118120
container->setTip(monitor->name(), SliderContainer::LeftTip);
119121
container->setTip(QString::number(monitor->brightness() * 100) + "%", SliderContainer::RightTip);

plugins/dde-dock/common/dockslider.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ DockSlider::DockSlider(QWidget *parent)
1515
{
1616
setPageStep(50);
1717
m_timer->setInterval(100);
18-
18+
setMouseWheelEnabled(true);
1919
connect(m_timer, &QTimer::timeout, this, &DockSlider::onTimeout);
2020
}
2121

0 commit comments

Comments
 (0)