Add double clickable push button and radio button widgets

These emit  doubleClicked signal  when double-clicked,  otherwise they
are identical to their super-classes.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7938 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
This commit is contained in:
Bill Somerville 2017-07-24 19:27:14 +00:00
parent 32d59c5269
commit ba0228b173
5 changed files with 84 additions and 0 deletions

View File

@ -260,6 +260,8 @@ set (wsjt_qt_CXXSRCS
CallsignValidator.cpp CallsignValidator.cpp
SplashScreen.cpp SplashScreen.cpp
EqualizationToolsDialog.cpp EqualizationToolsDialog.cpp
DoubleClickablePushButton.cpp
DoubleClickableRadioButton.cpp
) )
set (wsjt_qtmm_CXXSRCS set (wsjt_qtmm_CXXSRCS

View File

@ -0,0 +1,14 @@
#include "DoubleClickablePushButton.hpp"
#include "moc_DoubleClickablePushButton.cpp"
DoubleClickablePushButton::DoubleClickablePushButton (QWidget * parent)
: QPushButton {parent}
{
}
void DoubleClickablePushButton::mouseDoubleClickEvent (QMouseEvent * event)
{
Q_EMIT doubleClicked ();
QPushButton::mouseDoubleClickEvent (event);
}

View File

@ -0,0 +1,27 @@
#ifndef DOUBLE_CLICKABLE_PUSH_BUTTON_HPP_
#define DOUBLE_CLICKABLE_PUSH_BUTTON_HPP_
#include <QPushButton>
//
// DoubleClickablePushButton - QPushButton that emits a mouse double
// click signal
//
// Clients should be aware of the QWidget::mouseDoubleClickEvent()
// notes about receipt of mouse press and mouse release events.
//
class DoubleClickablePushButton
: public QPushButton
{
Q_OBJECT
public:
DoubleClickablePushButton (QWidget * = nullptr);
Q_SIGNAL void doubleClicked ();
protected:
void mouseDoubleClickEvent (QMouseEvent *) override;
};
#endif

View File

@ -0,0 +1,14 @@
#include "DoubleClickableRadioButton.hpp"
#include "moc_DoubleClickableRadioButton.cpp"
DoubleClickableRadioButton::DoubleClickableRadioButton (QWidget * parent)
: QRadioButton {parent}
{
}
void DoubleClickableRadioButton::mouseDoubleClickEvent (QMouseEvent * event)
{
Q_EMIT doubleClicked ();
QRadioButton::mouseDoubleClickEvent (event);
}

View File

@ -0,0 +1,27 @@
#ifndef DOUBLE_CLICKABLE_RADIO_BUTTON_HPP_
#define DOUBLE_CLICKABLE_RADIO_BUTTON_HPP_
#include <QRadioButton>
//
// DoubleClickableRadioButton - QRadioButton that emits a mouse double
// click signal
//
// Clients should be aware of the QWidget::mouseDoubleClickEvent()
// notes about receipt of mouse press and mouse release events.
//
class DoubleClickableRadioButton
: public QRadioButton
{
Q_OBJECT
public:
DoubleClickableRadioButton (QWidget * = nullptr);
Q_SIGNAL void doubleClicked ();
protected:
void mouseDoubleClickEvent (QMouseEvent *) override;
};
#endif