From c8e2fe1028f6463f7ca12bc231f1df3f898c8ff6 Mon Sep 17 00:00:00 2001 From: Hans Verkuil Date: Sun, 27 Jul 2014 22:27:07 +0200 Subject: [PATCH] qv4l2: use setResdOnly for disabled QLineEdit controls This allows you to copy-and-paste the text and to scroll through it if the text is longer than the widget. Signed-off-by: Hans Verkuil --- utils/qv4l2/ctrl-tab.cpp | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/utils/qv4l2/ctrl-tab.cpp b/utils/qv4l2/ctrl-tab.cpp index 2277607..bd023aa 100644 --- a/utils/qv4l2/ctrl-tab.cpp +++ b/utils/qv4l2/ctrl-tab.cpp @@ -375,7 +375,10 @@ void ApplicationWindow::addCtrl(QGridLayout *grid, const v4l2_query_ext_ctrl &qe m_sigMapper->setMapping(m_widgetMap[qec.id], qec.id); if (qec.flags & CTRL_FLAG_DISABLED) { - m_widgetMap[qec.id]->setDisabled(true); + if (qobject_cast(m_widgetMap[qec.id])) + static_cast(m_widgetMap[qec.id])->setReadOnly(true); + else + m_widgetMap[qec.id]->setDisabled(true); if (m_sliderMap.find(qec.id) != m_sliderMap.end()) m_sliderMap[qec.id]->setDisabled(true); } @@ -674,9 +677,15 @@ void ApplicationWindow::refresh(unsigned ctrl_class) } else setVal(id, c[i].value); - m_widgetMap[id]->setDisabled(m_ctrlMap[id].flags & CTRL_FLAG_DISABLED); + + bool disabled = m_ctrlMap[id].flags & CTRL_FLAG_DISABLED; + + if (qobject_cast(m_widgetMap[id])) + static_cast(m_widgetMap[id])->setReadOnly(disabled); + else + m_widgetMap[id]->setDisabled(disabled); if (m_sliderMap.find(id) != m_sliderMap.end()) - m_sliderMap[id]->setDisabled(m_ctrlMap[id].flags & CTRL_FLAG_DISABLED); + m_sliderMap[id]->setDisabled(disabled); } } delete [] c; -- 2.7.4