React on icon settings change.

svn path=/trunk/kdebase/libkonq/; revision=47213
This commit is contained in:
Geert Jansen 2000-04-21 18:18:15 +00:00
parent b5bb000ad6
commit 36608f9f25
4 changed files with 38 additions and 1 deletions

View file

@ -22,19 +22,33 @@
#include "konqdrag.h"
#include "konqiconviewwidget.h"
#include <kapp.h>
#include <kipc.h>
#undef Bool
KFileIVI::KFileIVI( QIconView *iconview, KonqFileItem* fileitem, int size, bool bImagePreviewAllowed )
: QIconViewItem( iconview, fileitem->text(),
fileitem->pixmap( size, bImagePreviewAllowed ) ),
m_size(size), m_bpreview(bImagePreviewAllowed),
m_fileitem( fileitem )
{
setDropEnabled( S_ISDIR( m_fileitem->mode() ) );
kapp->addKipcEventMask(KIPC::IconChanged);
connect(kapp, SIGNAL(iconChanged(int)), SLOT(slotIconChanged(int)));
}
void KFileIVI::slotIconChanged(int group)
{
if (group != KIcon::Desktop)
return;
QIconViewItem::setPixmap( m_fileitem->pixmap( m_size, m_bpreview ), true, false );
}
void KFileIVI::setIcon( int size, bool bImagePreviewAllowed )
{
QIconViewItem::setPixmap( m_fileitem->pixmap( size, bImagePreviewAllowed ) );
m_size = size;
m_bpreview = bImagePreviewAllowed;
QIconViewItem::setPixmap( m_fileitem->pixmap( m_size, m_bpreview ) );
}
bool KFileIVI::acceptDrop( const QMimeSource *mime ) const

View file

@ -71,8 +71,14 @@ signals:
protected:
virtual void dropped( QDropEvent *e, const QValueList<QIconDragItem> & );
int m_size;
bool m_bpreview;
/** Pointer to the file item in KDirLister's list */
KonqFileItem* m_fileitem;
private slots:
void slotIconChanged(int);
};
#endif

View file

@ -23,6 +23,7 @@
#include <qfile.h>
#include <qdragobject.h>
#include <kapp.h>
#include <kcursor.h>
#include <kdebug.h>
#include <kio/job.h>
@ -37,6 +38,7 @@
#include <konqoperations.h>
#include <kglobalsettings.h>
#include <kpropsdlg.h>
#include <kipc.h>
#include <assert.h>
#include <unistd.h>
@ -60,6 +62,9 @@ KonqIconViewWidget::KonqIconViewWidget( QWidget * parent, const char * name, WFl
verticalScrollBar(), SIGNAL(valueChanged(int)),
this, SLOT(slotViewportScrolled(int)));
kapp->addKipcEventMask( KIPC::IconChanged );
QObject::connect( kapp, SIGNAL(iconChanged(int)), SLOT(slotIconChanged(int)) );
// hardcoded settings
setSelectionMode( QIconView::Extended );
setItemTextPos( QIconView::Bottom );
@ -74,6 +79,17 @@ KonqIconViewWidget::KonqIconViewWidget( QWidget * parent, const char * name, WFl
m_iconPositionGroupPrefix = QString::fromLatin1( "IconPosition::" );
}
void KonqIconViewWidget::slotIconChanged(int group)
{
if (group == KIcon::LastGroup)
{
// This signal is the second part of an icon change notification.
// On the first signal, all the QIconViewItems have updated their
// pixmaps.
arrangeItemsInGrid(true);
}
}
void KonqIconViewWidget::initConfig()
{
m_pSettings = KonqFMSettings::settings();

View file

@ -115,6 +115,7 @@ protected slots:
virtual void slotDropItem( KFileIVI *item, QDropEvent *e );
void slotResult( KIO::Job * job );
void slotIconChanged(int);
protected:
virtual void drawBackground( QPainter *p, const QRect &r );