author | llornkcor <llornkcor> | 2002-05-06 17:45:44 (UTC) |
---|---|---|
committer | llornkcor <llornkcor> | 2002-05-06 17:45:44 (UTC) |
commit | d49663597393e1b9e63041964a080069e4b6a664 (patch) (side-by-side diff) | |
tree | ba788e8123b5e98d80ab2eea4012f31119968aa8 /noncore/settings/tabmanager/tablistview.h | |
parent | 4a5885f1dd1328432e3bd3ef7cb2efd9a336b78b (diff) | |
download | opie-d49663597393e1b9e63041964a080069e4b6a664.zip opie-d49663597393e1b9e63041964a080069e4b6a664.tar.gz opie-d49663597393e1b9e63041964a080069e4b6a664.tar.bz2 |
initial
Diffstat (limited to 'noncore/settings/tabmanager/tablistview.h') (more/less context) (ignore whitespace changes)
-rw-r--r-- | noncore/settings/tabmanager/tablistview.h | 93 |
1 files changed, 93 insertions, 0 deletions
diff --git a/noncore/settings/tabmanager/tablistview.h b/noncore/settings/tabmanager/tablistview.h new file mode 100644 index 0000000..545ee38 --- a/dev/null +++ b/noncore/settings/tabmanager/tablistview.h @@ -0,0 +1,93 @@ +/* + + =. This file is part of the OPIE Project + .=l. Copyright (c) 2002 Benjamin Meyer <meyerb@sharpsec.com> + .>+-= + _;:, .> :=|. This library is free software; you can +.> <`_, > . <= redistribute it and/or modify it under +:`=1 )Y*s>-.-- : the terms of the GNU Library General Public +.="- .-=="i, .._ License as published by the Free Software + - . .-<_> .<> Foundation; either version 2 of the License, + ._= =} : or (at your option) any later version. + .%`+i> _;_. + .i_,=:_. -<s. This library is distributed in the hope that + + . -:. = it will be useful, but WITHOUT ANY WARRANTY; + : .. .:, . . . without even the implied warranty of + =_ + =;=|` MERCHANTABILITY or FITNESS FOR A + _.=:. : :=>`: PARTICULAR PURPOSE. See the GNU +..}^=.= = ; Library General Public License for more +++= -. .` .: details. + : = ...= . :.=- + -. .:....=;==+<; You should have received a copy of the GNU + -_. . . )=. = Library General Public License along with + -- :-=` this library; see the file COPYING.LIB. + If not, write to the Free Software Foundation, + Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. + +*/ +#ifndef TABLISTVIEW_H +#define TABLISTVIEW_H + +#include <qlistview.h> +#include <qcursor.h> +#include <qapplication.h> + +class TabListView : public QListView { + Q_OBJECT + +signals: + void moveItem(QListViewItem *item, QListViewItem *newFolder); + +public: + TabListView( QWidget* parent = 0, const char* name = 0) : QListView(parent, name){ currentSelectedItem = NULL; + connect(this, SIGNAL(pressed ( QListViewItem *)), this, SLOT(itemPressed(QListViewItem *))); + internalCursor.setShape(0); + }; + +protected: + void contentsMouseReleaseEvent(QMouseEvent* ){ + QListViewItem *newGroup = this->currentItem(); + // Make sure they are both real. + if (currentSelectedItem == NULL || newGroup == NULL) + return; + // Make sure they are not the same + if(this->isSelected(currentSelectedItem) == true) + return; + + // Ok we have two valid items. + if(newGroup->parent()) + newGroup = newGroup->parent(); + + // Just in case the parent was null + if(newGroup == NULL) + return; + + // If the new folder and buddies current parent are the same don't do anything. + if (newGroup != currentSelectedItem->parent()) + moveItem(currentSelectedItem, newGroup); + currentSelectedItem = NULL; + qApp->restoreOverrideCursor(); +}; + +private slots: + void itemPressed(QListViewItem *item){ + if(item == NULL || !item->parent()){ + if(item == NULL) + qDebug("Item is NULL"); + return; + } + + currentSelectedItem = item; + internalCursor.setShape(13); + qApp->setOverrideCursor(internalCursor); +}; + + +private: + QListViewItem *currentSelectedItem; + QCursor internalCursor; +}; + +#endif + |