From f288089c3d6b6c3265bb2c6d013938a5d936644a Mon Sep 17 00:00:00 2001 From: Jean-Francois Dockes Date: Mon, 7 Apr 2014 10:24:59 +0200 Subject: [PATCH] doubleclick in restable opens document --- src/qtgui/restable.cpp | 18 ++++++++++++++++++ src/qtgui/restable.h | 1 + 2 files changed, 19 insertions(+) diff --git a/src/qtgui/restable.cpp b/src/qtgui/restable.cpp index 7065ff20..5c39b266 100644 --- a/src/qtgui/restable.cpp +++ b/src/qtgui/restable.cpp @@ -519,6 +519,8 @@ void ResTable::init() connect(tableView->selectionModel(), SIGNAL(currentChanged(const QModelIndex&, const QModelIndex &)), this, SLOT(onTableView_currentChanged(const QModelIndex&))); + connect(tableView, SIGNAL(doubleClicked(const QModelIndex&)), + this, SLOT(onDoubleClick(const QModelIndex&))); m_pager = new ResTablePager(this); @@ -777,6 +779,22 @@ void ResTable::linkWasClicked(const QUrl &url) } } +void ResTable::onDoubleClick(const QModelIndex& index) +{ + if (!m_model || m_model->getDocSource().isNull()) + return; + Rcl::Doc doc; + if (m_model->getDocSource()->getDoc(index.row(), doc)) { + m_detail->clear(); + m_detaildocnum = index.row(); + m_detaildoc = doc; + if (m_detaildocnum >= 0) + emit editRequested(m_detaildoc); + } else { + m_detaildocnum = -1; + } +} + void ResTable::createPopupMenu(const QPoint& pos) { LOGDEB(("ResTable::createPopupMenu: m_detaildocnum %d\n", m_detaildocnum)); diff --git a/src/qtgui/restable.h b/src/qtgui/restable.h index 588ee526..685df1dd 100644 --- a/src/qtgui/restable.h +++ b/src/qtgui/restable.h @@ -132,6 +132,7 @@ public slots: virtual void readDocSource(bool resetPos = true); virtual void onSortDataChanged(DocSeqSortSpec); virtual void createPopupMenu(const QPoint& pos); + virtual void onDoubleClick(const QModelIndex&); virtual void menuPreview(); virtual void menuSaveToFile(); virtual void menuSaveSelection();