diff --git a/sources/elementspanel.cpp b/sources/elementspanel.cpp index 516234505..bc16072d2 100644 --- a/sources/elementspanel.cpp +++ b/sources/elementspanel.cpp @@ -97,6 +97,10 @@ ElementsPanel::ElementsPanel(QWidget *parent) : setContextMenuPolicy(Qt::CustomContextMenu); setElementsCache(QETApp::collectionCache()); + + // Init ptr of item treeview + it_ = 0; + it_prev_ = 0; } /** @@ -131,6 +135,11 @@ bool ElementsPanel::selectedItemIsWritable() const { @return la collection, la categorie ou l'element selectionne(e) */ ElementsCollectionItem *ElementsPanel::selectedItem() const { + // change color of drag element + if(it_prev_) { + it_prev_->setBackgroundColor(0, Qt::white); + } + ElementsLocation selected_location(selectedElementLocation()); if (!selected_location.isNull()) { return(QETApp::collectionItem(selected_location)); @@ -199,6 +208,17 @@ void ElementsPanel::dragMoveEvent(QDragMoveEvent *e) { } #endif + // Change color on mouse over + it_ = itemAt(e -> pos()); + if(it_prev_){ + if(it_ != it_prev_){ + it_->setBackgroundColor(0, Qt::cyan); + it_prev_->setBackgroundColor(0, Qt::white); + it_prev_ = it_; + } + } + else it_prev_ = it_; + e -> accept(); /// @todo mettre en valeur le lieu de depot } diff --git a/sources/elementspanel.h b/sources/elementspanel.h index ba9baa417..6ed86fa90 100644 --- a/sources/elementspanel.h +++ b/sources/elementspanel.h @@ -121,5 +121,6 @@ class ElementsPanel : public GenericPanel { int loading_progress_; ///< used to track the loading progress of elements collections bool first_reload_; ///< used to distinguish the first time this panel is reloaded QString filter_; ///< Currently applied filter + QTreeWidgetItem *it_prev_, *it_; }; #endif