void TitleBar::mouseReleaseEvent(QMouseEvent *event) { if(!bpress) { event->ignore(); return; } but_press = false; QDockWidget *dw = qobject_cast<QDockWidget*>(parentWidget()); Q_ASSERT(dw != 0); QPoint pos = event->pos(); QRect rect = this->rect(); const int buttonRight = 7; const int buttonWidth = 20; int right = rect.right() - pos.x(); int button = (right - buttonRight)/buttonWidth; if(!button){ event->accept(); dw->close(); } else event->ignore(); bpress = false; repaint(); }
void TitleWidget::CloseButtonClicked(void) { QDockWidget* Dock = qobject_cast<QDockWidget*>(parent()); Dock->close(); }