Make columns menu for msg view non closable.
This commit is contained in:
parent
429b2bf16d
commit
582c5bc675
@ -50,7 +50,7 @@ void LabelsMenu::keyPressEvent(QKeyEvent* event) {
|
|||||||
LabelAction* act = qobject_cast<LabelAction*>(activeAction());
|
LabelAction* act = qobject_cast<LabelAction*>(activeAction());
|
||||||
|
|
||||||
if (act != nullptr && event->key() == Qt::Key::Key_Space) {
|
if (act != nullptr && event->key() == Qt::Key::Key_Space) {
|
||||||
act->toggle();
|
act->toggleCheckState();
|
||||||
}
|
}
|
||||||
|
|
||||||
NonClosableMenu::keyPressEvent(event);
|
NonClosableMenu::keyPressEvent(event);
|
||||||
@ -60,10 +60,11 @@ void LabelsMenu::mousePressEvent(QMouseEvent* event) {
|
|||||||
LabelAction* act = qobject_cast<LabelAction*>(activeAction());
|
LabelAction* act = qobject_cast<LabelAction*>(activeAction());
|
||||||
|
|
||||||
if (act != nullptr) {
|
if (act != nullptr) {
|
||||||
act->toggle();
|
act->toggleCheckState();
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
NonClosableMenu::mousePressEvent(event);
|
||||||
}
|
}
|
||||||
|
|
||||||
NonClosableMenu::mousePressEvent(event);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void LabelsMenu::changeLabelAssignment(Qt::CheckState state) {
|
void LabelsMenu::changeLabelAssignment(Qt::CheckState state) {
|
||||||
@ -121,7 +122,7 @@ Label* LabelAction::label() const {
|
|||||||
return m_label;
|
return m_label;
|
||||||
}
|
}
|
||||||
|
|
||||||
void LabelAction::toggle() {
|
void LabelAction::toggleCheckState() {
|
||||||
if (m_checkState == Qt::CheckState::Unchecked) {
|
if (m_checkState == Qt::CheckState::Unchecked) {
|
||||||
setCheckState(Qt::CheckState::Checked);
|
setCheckState(Qt::CheckState::Checked);
|
||||||
}
|
}
|
||||||
|
@ -42,7 +42,7 @@ class LabelAction : public QAction {
|
|||||||
Label* label() const;
|
Label* label() const;
|
||||||
|
|
||||||
public slots:
|
public slots:
|
||||||
void toggle();
|
void toggleCheckState();
|
||||||
|
|
||||||
signals:
|
signals:
|
||||||
void checkStateChanged(Qt::CheckState state);
|
void checkStateChanged(Qt::CheckState state);
|
||||||
|
@ -15,7 +15,14 @@ void NonClosableMenu::keyPressEvent(QKeyEvent* event) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void NonClosableMenu::mousePressEvent(QMouseEvent* event) {
|
void NonClosableMenu::mousePressEvent(QMouseEvent* event) {
|
||||||
Q_UNUSED(event)
|
auto* act = dynamic_cast<QAction*>(activeAction());
|
||||||
|
|
||||||
|
if (act != nullptr) {
|
||||||
|
act->toggle();
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
QMenu::mousePressEvent(event);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void NonClosableMenu::mouseReleaseEvent(QMouseEvent* event) {
|
void NonClosableMenu::mouseReleaseEvent(QMouseEvent* event) {
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
|
|
||||||
#include <QHeaderView>
|
#include <QHeaderView>
|
||||||
|
|
||||||
TreeViewColumnsMenu::TreeViewColumnsMenu(QHeaderView* parent) : QMenu(parent) {
|
TreeViewColumnsMenu::TreeViewColumnsMenu(QHeaderView* parent) : NonClosableMenu(parent) {
|
||||||
connect(this, &TreeViewColumnsMenu::aboutToShow, this, &TreeViewColumnsMenu::prepareMenu);
|
connect(this, &TreeViewColumnsMenu::aboutToShow, this, &TreeViewColumnsMenu::prepareMenu);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -17,6 +17,7 @@ void TreeViewColumnsMenu::prepareMenu() {
|
|||||||
act->setData(i);
|
act->setData(i);
|
||||||
act->setCheckable(true);
|
act->setCheckable(true);
|
||||||
act->setChecked(!header_view->isSectionHidden(i));
|
act->setChecked(!header_view->isSectionHidden(i));
|
||||||
|
|
||||||
connect(act, &QAction::toggled, this, &TreeViewColumnsMenu::actionTriggered);
|
connect(act, &QAction::toggled, this, &TreeViewColumnsMenu::actionTriggered);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -3,11 +3,11 @@
|
|||||||
#ifndef TREEVIEWCOLUMNSMENU_H
|
#ifndef TREEVIEWCOLUMNSMENU_H
|
||||||
#define TREEVIEWCOLUMNSMENU_H
|
#define TREEVIEWCOLUMNSMENU_H
|
||||||
|
|
||||||
#include <QMenu>
|
#include "gui/nonclosablemenu.h"
|
||||||
|
|
||||||
class QHeaderView;
|
class QHeaderView;
|
||||||
|
|
||||||
class TreeViewColumnsMenu : public QMenu {
|
class TreeViewColumnsMenu : public NonClosableMenu {
|
||||||
public:
|
public:
|
||||||
explicit TreeViewColumnsMenu(QHeaderView* parent);
|
explicit TreeViewColumnsMenu(QHeaderView* parent);
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user