mirror of
https://invent.kde.org/system/dolphin
synced 2024-09-20 17:01:22 +00:00
React on icon settings change.
svn path=/trunk/kdebase/libkonq/; revision=47213
This commit is contained in:
parent
b5bb000ad6
commit
36608f9f25
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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();
|
||||
|
|
|
@ -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 );
|
||||
|
|
Loading…
Reference in a new issue