void ToolBarButton::mouseReleaseEvent(QMouseEvent *event) { event->accept(); // Event does not go to parent ToolBarWidget if (isToolButton()) { // Leave tool buttons pressed } else { // Lift other buttons back to up pressed = false; repaint(); if (acceptMouseMove) { // User was only moving toolbar, do not open dialogs acceptMouseMove = false; } else { // Open dialogs // Send button pressed signal for dialog and undo/new buttons if (isDialogButton() || type == ToolBarButton::EUndo || type == ToolBarButton::ENew) { emit buttonPressed(type); } } } }
void ToolBarButton::mouseReleaseEvent(QMouseEvent *event) { event->ignore(); // Move event goes to ToolBarWidget if (isToggleButton()) { // Leave tool buttons pressed } else { // Lift other buttons back to up pressed = false; repaint(); if (toolbarwidget->dockingDone) { // User was only moving toolbar, do not open dialogs } else { // Open dialogs // Send button pressed signal for dialog and undo/new buttons if (isDialogButton() || type == ToolBarButton::ENew || type != ToolBarButton::EMMS) { emit buttonPressed(type); } } } QWidget::mouseReleaseEvent(event); }
void ToolBarButton::mousePressEvent(QMouseEvent *event) { QWidget::mousePressEvent(event); pressed = true; repaint(); event->ignore(); // Move event goes to ToolBarWidget if (!isDialogButton() && type != ToolBarButton::ENew && type != ToolBarButton::EMMS) { // Send button pressed signal // For some button buttons signal is sended in mouseReleaseEvent emit buttonPressed(type); } }
void ToolBarButton::mousePressEvent(QMouseEvent *event) { acceptMouseMove = false; pressed = true; repaint(); if (!isDialogButton() && type != ToolBarButton::EUndo && type != ToolBarButton::ENew) { // Send button pressed signal // For dialog buttons and undo/new signal is sended in mouseReleaseEvent emit buttonPressed(type); } QWidget::mousePressEvent(event); // Start timer for accepting mouse move if (acceptMouseMoveTimer != -1) { killTimer(acceptMouseMoveTimer); acceptMouseMoveTimer = -1; } acceptMouseMoveTimer = startTimer(500); }