From ff363bc77b56a6e9ba8d960537ef31b394a2ad78 Mon Sep 17 00:00:00 2001 From: jp9000 Date: Mon, 23 Mar 2015 19:15:19 -0700 Subject: [PATCH] UI: Add QListWidget subclass to emit focus change The FocusList subclass of QListWidget emits a GotFocus signal when it gets focus -- used for the filters window to know when a specific filter list gets focus. --- obs/CMakeLists.txt | 2 ++ obs/focus-list.cpp | 10 ++++++++++ obs/focus-list.hpp | 17 +++++++++++++++++ 3 files changed, 29 insertions(+) create mode 100644 obs/focus-list.cpp create mode 100644 obs/focus-list.hpp diff --git a/obs/CMakeLists.txt b/obs/CMakeLists.txt index 761841e19..fd0eacee7 100644 --- a/obs/CMakeLists.txt +++ b/obs/CMakeLists.txt @@ -104,6 +104,7 @@ set(obs_SOURCES window-log-reply.cpp window-remux.cpp properties-view.cpp + focus-list.cpp double-slider.cpp volume-control.cpp adv-audio-control.cpp @@ -135,6 +136,7 @@ set(obs_HEADERS properties-view.hpp display-helpers.hpp double-slider.hpp + focus-list.hpp mute-checkbox.hpp volume-control.hpp adv-audio-control.hpp diff --git a/obs/focus-list.cpp b/obs/focus-list.cpp new file mode 100644 index 000000000..bf8bd461e --- /dev/null +++ b/obs/focus-list.cpp @@ -0,0 +1,10 @@ +#include "focus-list.hpp" + +FocusList::FocusList(QWidget *parent) : QListWidget(parent) {} + +void FocusList::focusInEvent(QFocusEvent *event) +{ + QListWidget::focusInEvent(event); + + emit GotFocus(); +} diff --git a/obs/focus-list.hpp b/obs/focus-list.hpp new file mode 100644 index 000000000..367d3873b --- /dev/null +++ b/obs/focus-list.hpp @@ -0,0 +1,17 @@ +#pragma once + +#include + +class FocusList : public QListWidget +{ + Q_OBJECT + +public: + FocusList(QWidget *parent); + +protected: + void focusInEvent(QFocusEvent *event) override; + +signals: + void GotFocus(); +};