projects
/
pulseview.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
MainWindow: Use a QTabWidget to display the QDockWidgets
[pulseview.git]
/
pv
/
widgets
/
popuptoolbutton.cpp
diff --git
a/pv/widgets/popuptoolbutton.cpp
b/pv/widgets/popuptoolbutton.cpp
index ea3515c4981130696dc135b61748b510bbd90182..ff335a90e0acecde9d14fd52f0131aede820fcd7 100644
(file)
--- a/
pv/widgets/popuptoolbutton.cpp
+++ b/
pv/widgets/popuptoolbutton.cpp
@@
-18,35
+18,40
@@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
-#include "popuptoolbutton.h"
+#include <assert.h>
+
+#include "popuptoolbutton.hpp"
namespace pv {
namespace widgets {
PopupToolButton::PopupToolButton(QWidget *parent) :
namespace pv {
namespace widgets {
PopupToolButton::PopupToolButton(QWidget *parent) :
- QToolButton(parent)
+ QToolButton(parent),
+ popup_(nullptr)
{
connect(this, SIGNAL(clicked(bool)), this, SLOT(on_clicked(bool)));
}
Popup* PopupToolButton::popup() const
{
{
connect(this, SIGNAL(clicked(bool)), this, SLOT(on_clicked(bool)));
}
Popup* PopupToolButton::popup() const
{
- return
_popup
;
+ return
popup_
;
}
void PopupToolButton::set_popup(Popup *popup)
{
assert(popup);
}
void PopupToolButton::set_popup(Popup *popup)
{
assert(popup);
-
_popup
= popup;
+
popup_
= popup;
}
void PopupToolButton::on_clicked(bool)
{
}
void PopupToolButton::on_clicked(bool)
{
- if
(!_popup
)
+ if
(!popup_
)
return;
return;
- _popup->set_position(mapToGlobal(rect().center()), Popup::Bottom);
- _popup->show();
+ const QRect r = rect();
+ popup_->set_position(mapToGlobal(QPoint((r.left() + r.right()) / 2,
+ ((r.top() + r.bottom() * 3) / 4))), Popup::Bottom);
+ popup_->show();
}
} // widgets
}
} // widgets