From 1a9c27b0171ec51a2a950f6a63c480239924f77a Mon Sep 17 00:00:00 2001 From: blacksun Date: Mon, 1 May 2017 16:22:34 +0000 Subject: [PATCH] Improve last comit git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@4955 bfdf4180-ca20-0410-9c96-a3a8aa849046 --- .../elementscollectionwidget.cpp | 11 -------- .../elementscollectionwidget.h | 3 +-- sources/qetdiagrameditor.cpp | 26 +++++++++++++------ sources/qetdiagrameditor.h | 3 ++- 4 files changed, 21 insertions(+), 22 deletions(-) diff --git a/sources/ElementsCollection/elementscollectionwidget.cpp b/sources/ElementsCollection/elementscollectionwidget.cpp index 6977c5423..a724c36b6 100644 --- a/sources/ElementsCollection/elementscollectionwidget.cpp +++ b/sources/ElementsCollection/elementscollectionwidget.cpp @@ -128,17 +128,6 @@ void ElementsCollectionWidget::setCurrentLocation(const ElementsLocation &locati m_tree_view->setCurrentIndex(m_model->indexFromLocation(location)); } -bool ElementsCollectionWidget::event(QEvent *event) -{ - if (m_first_show && event->type() == QEvent::Show) - { - m_first_show = false; - QTimer::singleShot(250, this, SLOT(reload())); - } - - return QWidget::event(event); -} - void ElementsCollectionWidget::leaveEvent(QEvent *event) { if (QETDiagramEditor *qde = QETApp::diagramEditorAncestorOf(this)) diff --git a/sources/ElementsCollection/elementscollectionwidget.h b/sources/ElementsCollection/elementscollectionwidget.h index 53df8a050..12e2b042d 100644 --- a/sources/ElementsCollection/elementscollectionwidget.h +++ b/sources/ElementsCollection/elementscollectionwidget.h @@ -54,7 +54,6 @@ class ElementsCollectionWidget : public QWidget void setCurrentLocation(const ElementsLocation &location); protected: - virtual bool event(QEvent *event); virtual void leaveEvent(QEvent *event); private: @@ -78,7 +77,7 @@ class ElementsCollectionWidget : public QWidget void showAndExpandItem (const QModelIndex &index, bool parent = true, bool child = false); ElementCollectionItem *elementCollectionItemForIndex (const QModelIndex &index); - private slots: + public slots: void reload(); private: diff --git a/sources/qetdiagrameditor.cpp b/sources/qetdiagrameditor.cpp index 0ab13b22b..f60720fd9 100644 --- a/sources/qetdiagrameditor.cpp +++ b/sources/qetdiagrameditor.cpp @@ -671,20 +671,30 @@ void QETDiagramEditor::closeEvent(QCloseEvent *qce) { } /** - Gere les evenements du l'editeur de schema - Reimplemente ici pour : - * eviter un conflit sur le raccourci clavier "Ctrl+W" (QKeySequence::Close) - @param e Evenement -*/ -bool QETDiagramEditor::event(QEvent *e) { - if (e -> type() == QEvent::ShortcutOverride) { + * @brief QETDiagramEditor::event + * Reimplemented to : + * -avoid conflic with shortcut "Ctrl+W" (QKeySequence::Close) + * -Load elements collection when WindowActivate. + * @param e + * @return + */ +bool QETDiagramEditor::event(QEvent *e) +{ + if (e -> type() == QEvent::ShortcutOverride) + { QKeyEvent *shortcut_event = static_cast(e); - if (shortcut_event && shortcut_event -> matches(QKeySequence::Close)) { + if (shortcut_event && shortcut_event -> matches(QKeySequence::Close)) + { close_file -> trigger(); e -> accept(); return(true); } } + if (m_first_show && e->type() == QEvent::WindowActivate) + { + m_first_show = false; + QTimer::singleShot(250, m_element_collection_widget, SLOT(reload())); + } return(QETMainWindow::event(e)); } diff --git a/sources/qetdiagrameditor.h b/sources/qetdiagrameditor.h index b9666bf44..48a6285de 100644 --- a/sources/qetdiagrameditor.h +++ b/sources/qetdiagrameditor.h @@ -72,7 +72,7 @@ class QETDiagramEditor : public QETMainWindow { bool drawGrid() const; protected: - virtual bool event(QEvent *); + virtual bool event(QEvent *); private: bool addProject(QETProject *, bool = true); @@ -239,5 +239,6 @@ class QETDiagramEditor : public QETMainWindow { // AutoNumbering Selection Dock AutoNumberingDockWidget *m_autonumbering_dock; int activeSubWindowIndex; + bool m_first_show = true; }; #endif