Skip to content

Commit

Permalink
ticket:5443 Use the doubleClick SIGNAL instead of event
Browse files Browse the repository at this point in the history
Belonging to [master]:
  - #153
  • Loading branch information
adeas31 authored and OpenModelica-Hudson committed Apr 24, 2019
1 parent 18c7db8 commit 8eb0d6f
Show file tree
Hide file tree
Showing 2 changed files with 35 additions and 34 deletions.
65 changes: 33 additions & 32 deletions OMEdit/OMEdit/OMEditGUI/Modeling/LibraryTreeWidget.cpp
Expand Up @@ -2960,6 +2960,7 @@ LibraryTreeView::LibraryTreeView(LibraryWidget *pLibraryWidget)
setUniformRowHeights(true);
createActions();
connect(this, SIGNAL(expanded(QModelIndex)), SLOT(libraryTreeItemExpanded(QModelIndex)));
connect(this, SIGNAL(doubleClicked(QModelIndex)), SLOT(libraryTreeItemDoubleClicked(QModelIndex)));
connect(this, SIGNAL(customContextMenuRequested(QPoint)), SLOT(showContextMenu(QPoint)));
}

Expand Down Expand Up @@ -3202,7 +3203,7 @@ void LibraryTreeView::libraryTreeItemExpanded(LibraryTreeItem *pLibraryTreeItem)
* Calls the function that expands the LibraryTreeItem
* \param index
*/
void LibraryTreeView::libraryTreeItemExpanded(QModelIndex index)
void LibraryTreeView::libraryTreeItemExpanded(const QModelIndex &index)
{
// since expanded SIGNAL is triggered when tree has expanded the index so we must collapse it first and then load data and expand it back.
collapse(index);
Expand All @@ -3216,6 +3217,37 @@ void LibraryTreeView::libraryTreeItemExpanded(QModelIndex index)
blockSignals(state);
}

/*!
* \brief LibraryTreeView::libraryTreeItemDoubleClicked
* Slot activated when LibraryTreeView doubleClicked SIGNAL is raised.\n
* Opens the ModelWidget of the selected LibraryTreeItem.
* \param index
*/
void LibraryTreeView::libraryTreeItemDoubleClicked(const QModelIndex &index)
{
QModelIndex sourceIndex = mpLibraryWidget->getLibraryTreeProxyModel()->mapToSource(index);
LibraryTreeItem *pLibraryTreeItem = static_cast<LibraryTreeItem*>(sourceIndex.internalPointer());
if (pLibraryTreeItem) {
if (pLibraryTreeItem->getLibraryType() == LibraryTreeItem::Text) {
QFileInfo fileInfo(pLibraryTreeItem->getFileName());
if (fileInfo.isDir()) {
if (isExpanded(index)) {
collapse(index);
} else {
expand(index);
}
return;
}
} else if (pLibraryTreeItem->getLibraryType() == LibraryTreeItem::OMS
&& (pLibraryTreeItem->getOMSConnector()
|| pLibraryTreeItem->getOMSBusConnector()
|| pLibraryTreeItem->getOMSTLMBusConnector())) {
return;
}
mpLibraryWidget->getLibraryTreeModel()->showModelWidget(pLibraryTreeItem);
}
}

/*!
* \brief LibraryTreeView::showContextMenu
* Displays the context menu.
Expand Down Expand Up @@ -3895,37 +3927,6 @@ void LibraryTreeView::unloadOMSModel()
}
}

/*!
* \brief LibraryTreeView::mouseDoubleClickEvent
* Reimplementation of QTreeView::mouseDoubleClickEvent(). Opens the ModelWidget of the selected LibraryTreeItem.
* \param event
*/
void LibraryTreeView::mouseDoubleClickEvent(QMouseEvent *event)
{
if (!indexAt(event->pos()).isValid()) {
return;
}
LibraryTreeItem *pLibraryTreeItem = getSelectedLibraryTreeItem();
if (pLibraryTreeItem) {
if (pLibraryTreeItem->getLibraryType() == LibraryTreeItem::Text) {
QFileInfo fileInfo(pLibraryTreeItem->getFileName());
if (fileInfo.isDir()) {
setExpandsOnDoubleClick(true);
QTreeView::mouseDoubleClickEvent(event);
setExpandsOnDoubleClick(false);
return;
}
} else if (pLibraryTreeItem->getLibraryType() == LibraryTreeItem::OMS
&& (pLibraryTreeItem->getOMSConnector()
|| pLibraryTreeItem->getOMSBusConnector()
|| pLibraryTreeItem->getOMSTLMBusConnector())) {
return;
}
mpLibraryWidget->getLibraryTreeModel()->showModelWidget(pLibraryTreeItem);
}
QTreeView::mouseDoubleClickEvent(event);
}

/*!
* \brief LibraryTreeView::startDrag
* Starts the drag operation for LibraryTreeItem.
Expand Down
4 changes: 2 additions & 2 deletions OMEdit/OMEdit/OMEditGUI/Modeling/LibraryTreeWidget.h
Expand Up @@ -415,7 +415,8 @@ class LibraryTreeView : public QTreeView
LibraryTreeItem* getSelectedLibraryTreeItem();
void libraryTreeItemExpanded(LibraryTreeItem* pLibraryTreeItem);
public slots:
void libraryTreeItemExpanded(QModelIndex index);
void libraryTreeItemExpanded(const QModelIndex &index);
void libraryTreeItemDoubleClicked(const QModelIndex &index);
void showContextMenu(QPoint point);
void openClass();
void openInformationDialog();
Expand Down Expand Up @@ -459,7 +460,6 @@ public slots:
void OMSRename();
void unloadOMSModel();
protected:
virtual void mouseDoubleClickEvent(QMouseEvent *event);
virtual void startDrag(Qt::DropActions supportedActions);
virtual void keyPressEvent(QKeyEvent *event);
};
Expand Down

0 comments on commit 8eb0d6f

Please sign in to comment.