Mercurial > hg > easaier-soundaccess
changeset 59:57c85a9d9b4a
(none)
author | benoitrigolleau |
---|---|
date | Mon, 28 May 2007 08:14:40 +0000 |
parents | b3c3a5fa185f |
children | 32b4949086a5 |
files | view/View.cpp widgets/GenericItemList.cpp widgets/GenericItemList.h widgets/ItemContainer.cpp widgets/LayerViewerWidget.cpp |
diffstat | 5 files changed, 32 insertions(+), 19 deletions(-) [+] |
line wrap: on
line diff
--- a/view/View.cpp Fri May 25 12:36:35 2007 +0000 +++ b/view/View.cpp Mon May 28 08:14:40 2007 +0000 @@ -496,8 +496,8 @@ if (*i == layer) { m_layers.erase(i); if (m_progressBars.find(layer) != m_progressBars.end()) { - delete m_progressBars[layer]; - m_progressBars.erase(layer); + delete m_progressBars[layer]; + m_progressBars.erase(layer); } break; }
--- a/widgets/GenericItemList.cpp Fri May 25 12:36:35 2007 +0000 +++ b/widgets/GenericItemList.cpp Mon May 28 08:14:40 2007 +0000 @@ -27,6 +27,7 @@ GenericItemList::GenericItemList(QWidget *parent): QFrame(parent){ setAcceptDrops(true); m_clicked=false; + m_acceptDrag = true; //this->setFocusPolicy(Qt::ClickFocus); } @@ -41,6 +42,11 @@ } +void GenericItemList::setAcceptDrag(bool status){ + m_acceptDrag = status; +} + +/*********************SLOT*********************/ void GenericItemList::mousePressEvent(QMouseEvent *evt) { @@ -66,7 +72,7 @@ { if(m_clicked){ int distance = (evt->pos() - m_startPos).manhattanLength(); - if(distance>=QApplication::startDragDistance()){ + if(distance>=QApplication::startDragDistance() && m_acceptDrag){ startDrag(); } }
--- a/widgets/GenericItemList.h Fri May 25 12:36:35 2007 +0000 +++ b/widgets/GenericItemList.h Mon May 28 08:14:40 2007 +0000 @@ -27,6 +27,7 @@ void setData(QVariant &data); void setIndex(int index); virtual void configAction(); + void setAcceptDrag(bool status); signals : void doubleClicked(); @@ -50,6 +51,7 @@ void startDrag(); QPoint m_startPos; bool m_clicked; + bool m_acceptDrag; };
--- a/widgets/ItemContainer.cpp Fri May 25 12:36:35 2007 +0000 +++ b/widgets/ItemContainer.cpp Mon May 28 08:14:40 2007 +0000 @@ -37,8 +37,11 @@ void ItemContainer::addItem(GenericItemList *item){ m_map->insert(m_cpt,item); - m_linkedList->append(m_cpt); + m_linkedList->prepend(m_cpt); item->setIndex(m_cpt); + if(m_cpt==0){ + item->setAcceptDrag(false); + } std::cerr << "add Item" << std::endl; connect(item, SIGNAL(itemDropped(int, int)), @@ -46,7 +49,7 @@ connect(item, SIGNAL(selected(int)), this, SLOT(newItemSelected(int))); - m_itemLayout->addWidget(item); + m_itemLayout->insertWidget(0,item); m_cpt++; } @@ -82,16 +85,15 @@ QLinkedList<int>::iterator ItemContainer::find(int value) { - QLinkedList<int>::iterator iter; - for(iter = m_linkedList->begin(); iter != m_linkedList->end(); iter++){ - if(*iter == value) - return iter; + QLinkedList<int>::iterator i = m_linkedList->begin(); + while (i != m_linkedList->end() && *i != value){ + ++i; } - return m_linkedList->end(); + return i; } void ItemContainer::reorganize(){ - for (int i = 0; i < m_itemLayout->count(); ++i){ + for (int i = 0; i < m_itemLayout->count(); i++){ m_itemLayout->removeItem(m_itemLayout->itemAt(i)); } QLinkedList<int>::iterator iter; @@ -135,13 +137,20 @@ if (m_linkedList->count()<= 1){ return; } + + QLinkedList<int>::iterator iter; + // return if current item is the first + iter = m_linkedList->end()-1; + if(*iter==m_currentItem){ + return; + } // return if current item is on top - QLinkedList<int>::iterator iter; iter = m_linkedList->begin(); if(*iter==m_currentItem){ return; } + // move item for(iter = m_linkedList->begin()+1; iter != m_linkedList->end(); iter++){ if(*iter == m_currentItem){ @@ -161,16 +170,12 @@ } // return if current item is on bottom QLinkedList<int>::iterator iter; - iter = m_linkedList->end(); - if(*iter==m_currentItem){ + iter = m_linkedList->end()-1; + if(*iter==m_currentItem || *(iter-1)==m_currentItem){ return; } //move item - // It's crazy !!!!!! this line run ..... but, it's impossible !!!! - // the good line is this one : for(iter = m_linkedList->end()-1; iter != m_linkedList->begin(); iter--){ - // but I don't handerstand why, it don't run. - // @##*$$# QT4 or C++ !!!!!!!!! for(iter = m_linkedList->end()-2; iter != m_linkedList->begin()-1; iter--){ if(*iter == m_currentItem){ int itemOnBottom = *(iter+1);
--- a/widgets/LayerViewerWidget.cpp Fri May 25 12:36:35 2007 +0000 +++ b/widgets/LayerViewerWidget.cpp Mon May 28 08:14:40 2007 +0000 @@ -135,5 +135,5 @@ } void LayerViewerWidget::removeSelectedItemRequested(){ - std::cerr << "removeSelectedItemRequested" << std::endl; + } \ No newline at end of file