- reflect changes in kfoldertree

- remove contentsMouse*
- remove keyPress
- small fixes

svn path=/trunk/kdenetwork/kmail/; revision=165914
wilder-work
Carsten Burghardt 24 years ago
parent 2bce563cbe
commit 7d087caa90
  1. 135
      kmfoldertree.cpp
  2. 23
      kmfoldertree.h

@ -32,6 +32,41 @@ QPixmap* KMFolderTree::pixSent = 0;
//=============================================================================
KMFolderTreeItem::KMFolderTreeItem( KFolderTree *parent, QString name )
: KFolderTreeItem( parent, name ), mFolder( 0 )
{
}
//-----------------------------------------------------------------------------
KMFolderTreeItem::KMFolderTreeItem( KFolderTree *parent, QString name,
KMFolder* folder )
: KFolderTreeItem( parent, name ), mFolder( folder )
{
init();
}
//-----------------------------------------------------------------------------
KMFolderTreeItem::KMFolderTreeItem( KFolderTreeItem *parent, QString name,
KMFolder* folder )
: KFolderTreeItem( parent, name ), mFolder( folder )
{
init();
}
//-----------------------------------------------------------------------------
void KMFolderTreeItem::init()
{
if (!mFolder) return;
if (mFolder->protocol() == "imap")
setProtocol(Imap);
else if (mFolder->protocol() == "mbox" || mFolder->protocol() == "maildir")
setProtocol(Local);
else
setProtocol(NONE);
}
//-----------------------------------------------------------------------------
int KMFolderTreeItem::countUnreadRecursive()
{
if (mFolder)
@ -105,17 +140,6 @@ KMFolderTree::KMFolderTree( CryptPlugWrapperList * cryptPlugList,
cleanupConfigFile();
}
//-----------------------------------------------------------------------------
void KMFolderTree::drawContentsOffset( QPainter * p, int ox, int oy,
int cx, int cy, int cw, int ch )
{
int c = 0;
if (mPaintInfo.pixmapOn)
paintEmptyArea( p, QRect( c - ox, cy - oy, cx + cw - c, ch ) );
KFolderTree::drawContentsOffset( p, ox, oy, cx, cy, cw, ch );
}
//-----------------------------------------------------------------------------
// connects all needed signals to their slots
void KMFolderTree::connectSignals()
@ -1229,7 +1253,6 @@ void KMFolderTree::contentsDropEvent( QDropEvent *e )
} else
e->ignore();
// Begin this wasn't necessary in QT 2.0.2
dropItem = 0L;
clearSelection();
@ -1238,96 +1261,8 @@ void KMFolderTree::contentsDropEvent( QDropEvent *e )
setSelected( oldSelected, TRUE );
connect(this, SIGNAL(currentChanged(QListViewItem*)),
this, SLOT(doFolderSelected(QListViewItem*)));
// End this wasn't necessary in QT 2.0.2
}
//-----------------------------------------------------------------------------
// Navigation/Selection support
void KMFolderTree::keyPressEvent( QKeyEvent * e )
{
bool cntrl = (e->state() & ControlButton );
QListViewItem *cur = currentItem();
if (!e || !firstChild())
return;
// If no current item, make some first item current when a key is pressed
if (!cur) {
clearSelection();
setCurrentItem( firstChild() );
return;
}
// Handle space key press
if (cur->isSelectable() && e->ascii() == ' ' ) {
clearSelection();
setSelected( cur, !cur->isSelected() );
doFolderSelected( cur );
return;
}
//Seems to behave sensibly even if ShiftButton is down, suprising
if (cntrl) {
disconnect(this,SIGNAL(currentChanged(QListViewItem*)),
this,SLOT(doFolderSelected(QListViewItem*)));
switch (e->key()) {
case Key_Down:
case Key_Up:
case Key_Home:
case Key_End:
case Key_Next:
case Key_Prior:
case Key_Plus:
case Key_Minus:
case Key_Escape:
KListView::keyPressEvent( e );
}
connect(this,SIGNAL(currentChanged(QListViewItem*)),
this,SLOT(doFolderSelected(QListViewItem*)));
}
}
//-----------------------------------------------------------------------------
void KMFolderTree::contentsMousePressEvent( QMouseEvent * e )
{
int b = e->state() & !ShiftButton & !ControlButton;
QMouseEvent *f = new QMouseEvent( QEvent::MouseButtonPress,
e->pos(),
e->globalPos(),
e->button(),
b );
clearSelection();
KListView::contentsMousePressEvent( f );
// Force current item to be selected for some reason in certain weird
// circumstances this is not always the case
delete f;
if (currentItem())
setSelected( currentItem(), true );
}
//-----------------------------------------------------------------------------
void KMFolderTree::contentsMouseReleaseEvent( QMouseEvent * e )
{
int b = e->state() & !ShiftButton & !ControlButton;
QMouseEvent *f = new QMouseEvent( QEvent::MouseButtonRelease,
e->pos(),
e->globalPos(),
e->button(),
b );
KListView::contentsMouseReleaseEvent( f );
delete f;
}
//-----------------------------------------------------------------------------
void KMFolderTree::contentsMouseMoveEvent( QMouseEvent* e )
{
if (e->state() != NoButton)
return;
KListView::contentsMouseMoveEvent( e );
}
//-----------------------------------------------------------------------------
void KMFolderTree::slotFolderExpanded( QListViewItem * item )
{

@ -23,22 +23,15 @@ class KMFolderTreeItem : public KFolderTreeItem
{
public:
/** Construct a root item _without_ folder */
KMFolderTreeItem( KFolderTree *parent,
QString name )
: KFolderTreeItem( parent, name ), mFolder( 0 )
{}
KMFolderTreeItem( KFolderTree *parent, QString name );
/** Construct a root item _with_ folder */
KMFolderTreeItem( KFolderTree *parent, QString name,
KMFolder* folder )
: KFolderTreeItem( parent, name, folder->protocol() ), mFolder( folder )
{}
KMFolder* folder );
/** Construct a child item */
KMFolderTreeItem( KFolderTreeItem* parent, QString name,
KMFolder* folder )
: KFolderTreeItem( parent, folder->protocol(), name ), mFolder( folder )
{}
KMFolder* folder );
/** gets the recursive unread-count */
virtual int countUnreadRecursive();
@ -50,6 +43,7 @@ public:
virtual bool acceptDrag(QDropEvent* ) const;
protected:
void init();
KMFolder* mFolder;
};
@ -215,12 +209,6 @@ protected:
void contentsDragLeaveEvent( QDragLeaveEvent *e );
void contentsDropEvent( QDropEvent *e );
/** Navigation/Selection methods */
virtual void keyPressEvent( QKeyEvent * e );
virtual void contentsMousePressEvent( QMouseEvent * e );
virtual void contentsMouseReleaseEvent( QMouseEvent * e );
virtual void contentsMouseMoveEvent( QMouseEvent* e );
/** Drag and drop variables */
QListViewItem *oldCurrent, *oldSelected;
QListViewItem *dropItem;
@ -230,9 +218,6 @@ protected:
// filter some rmb-events
bool eventFilter(QObject*, QEvent*);
virtual void drawContentsOffset( QPainter * p, int ox, int oy,
int cx, int cy, int cw, int ch );
/** open ancestors and ensure item is visible */
void prepareItem( KMFolderTreeItem* );

Loading…
Cancel
Save