void DolphinStatusBar::contextMenuEvent(QContextMenuEvent* event) { Q_UNUSED(event); KMenu menu(this); QAction* copyAction = 0; switch (type()) { case Default: case OperationCompleted: case Information: copyAction = menu.addAction(i18nc("@action:inmenu", "Copy Information Message")); break; case Error: copyAction = menu.addAction(i18nc("@action:inmenu", "Copy Error Message")); break; default: break; } GeneralSettings* settings = DolphinSettings::instance().generalSettings(); QAction* showZoomSliderAction = menu.addAction(i18nc("@action:inmenu", "Show Zoom Slider")); showZoomSliderAction->setCheckable(true); showZoomSliderAction->setChecked(settings->showZoomSlider()); QAction* showSpaceInfoAction = menu.addAction(i18nc("@action:inmenu", "Show Space Information")); showSpaceInfoAction->setCheckable(true); showSpaceInfoAction->setChecked(settings->showSpaceInfo()); const QAction* action = menu.exec(QCursor::pos()); if (action == copyAction) { QMimeData* mimeData = new QMimeData(); mimeData->setText(message()); QApplication::clipboard()->setMimeData(mimeData); } else if (action == showZoomSliderAction) { const bool visible = showZoomSliderAction->isChecked(); settings->setShowZoomSlider(visible); m_zoomWidget->setVisible(visible); } else if (action == showSpaceInfoAction) { const bool visible = showSpaceInfoAction->isChecked(); settings->setShowSpaceInfo(visible); m_spaceInfo->setVisible(visible); } }