Пример #1
0
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);
            }
        }
    }
}
Пример #2
0
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);
}
Пример #3
0
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);
    }
}
Пример #4
0
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);
}