From kde-core-devel Tue Apr 30 16:19:38 2002 From: Simon MacMullen Date: Tue, 30 Apr 2002 16:19:38 +0000 To: kde-core-devel Subject: RE: Thumbnail managing standard X-MARC-Message: https://marc.info/?l=kde-core-devel&m=102018369909164 MIME-Version: 1 Content-Type: multipart/mixed; boundary="------_=_NextPart_000_01C1F062.D3524510" This message is in MIME format. Since your mail reader does not understand this format, some or all of this message may not be legible. ------_=_NextPart_000_01C1F062.D3524510 Content-Type: text/plain; charset="iso-8859-1" Previously, on kde-core-devel... > From: Malte Starostik [mailto:malte@kde.org] > > One thing that sucks about the current > > implementation is that newly installed preview plugins are > disabled until > > user enables them. IMHO it should be the other way round, > i.e. changing > the > > implementation from an enabled-list to a disabled-list. > > OK. I will do this then. ...and have now done so. Patch is attached. The idea was to keep the interface to KonqPropsView the same. However, I had to change KonqPropsView::previewSettings() to be non-inline. This means that anything compiled against it will get faulty behaviour (not crashing, but it'll be confused by previews) until it is recompiled. My question is: does anything apart from Konqueror use KonqPropsView? Or more exactly KonqPropsView::previewSettings() ? Cheers, Simon ------_=_NextPart_000_01C1F062.D3524510 Content-Type: application/octet-stream; name="preview_default_on.diff" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="preview_default_on.diff" Index: libkonq/konq_propsview.cc=0A= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=0A= RCS file: /home/kde/kdebase/libkonq/konq_propsview.cc,v=0A= retrieving revision 1.69=0A= diff -u -3 -p -r1.69 konq_propsview.cc=0A= --- libkonq/konq_propsview.cc 2002/04/05 13:34:12 1.69=0A= +++ libkonq/konq_propsview.cc 2002/04/30 16:13:02=0A= @@ -27,6 +27,7 @@=0A= #include =0A= #include =0A= #include =0A= +#include =0A= #include =0A= #include =0A= =0A= @@ -62,7 +63,7 @@ static QPixmap wallpaperPixmap( const QS=0A= =0A= struct KonqPropsView::Private=0A= {=0A= - // Move along, nothing to see...=0A= + QStringList* previewsToShow;=0A= };=0A= =0A= KonqPropsView::KonqPropsView( KInstance * instance, KonqPropsView * = defaultProps )=0A= @@ -79,7 +80,7 @@ KonqPropsView::KonqPropsView( KInstance =0A= m_iItemTextPos =3D config->readNumEntry( "ItemTextPos", = QIconView::Bottom );=0A= m_bShowDot =3D config->readBoolEntry( "ShowDotFiles", false );=0A= m_bShowDirectoryOverlays =3D config->readBoolEntry( = "ShowDirectoryOverlays", false );=0A= - m_preview =3D config->readListEntry( "Preview" );=0A= + m_dontPreview =3D config->readListEntry( "DontPreview" );=0A= =0A= m_textColor =3D config->readColorEntry( "TextColor" ); // will be = set to QColor() if not found=0A= m_bgColor =3D config->readColorEntry( "BgColor" ); // will be set to = QColor() if not found=0A= @@ -101,6 +102,9 @@ KonqPropsView::KonqPropsView( KInstance =0A= =0A= KGlobal::dirs()->addResourceType("tiles",=0A= = KGlobal::dirs()->kde_default("data") + "konqueror/tiles/");=0A= + =0A= + d =3D new Private;=0A= + d->previewsToShow =3D 0; =0A= }=0A= =0A= KConfigBase * KonqPropsView::currentConfig()=0A= @@ -130,6 +134,8 @@ KConfigBase * KonqPropsView::currentColo=0A= =0A= KonqPropsView::~KonqPropsView()=0A= {=0A= + delete d->previewsToShow;=0A= + delete d;=0A= }=0A= =0A= bool KonqPropsView::enterDir( const KURL & dir )=0A= @@ -151,7 +157,7 @@ bool KonqPropsView::enterDir( const KURL=0A= m_iIconSize =3D m_defaultProps->iconSize();=0A= m_iItemTextPos =3D m_defaultProps->itemTextPos();=0A= m_bShowDot =3D m_defaultProps->isShowingDotFiles();=0A= - m_preview =3D m_defaultProps->m_preview;=0A= + m_dontPreview =3D m_defaultProps->m_dontPreview;=0A= m_textColor =3D m_defaultProps->m_textColor;=0A= m_bgColor =3D m_defaultProps->m_bgColor;=0A= m_bgPixmapFile =3D m_defaultProps->bgPixmapFile();=0A= @@ -167,8 +173,8 @@ bool KonqPropsView::enterDir( const KURL=0A= m_iItemTextPos =3D config->readNumEntry( "ItemTextPos", = m_iItemTextPos );=0A= m_bShowDot =3D config->readBoolEntry( "ShowDotFiles", m_bShowDot = );=0A= m_bShowDirectoryOverlays =3D config->readBoolEntry( = "ShowDirectoryOverlays", m_bShowDirectoryOverlays );=0A= - if (config->hasKey( "Preview" ))=0A= - m_preview =3D config->readListEntry( "Preview" );=0A= + if (config->hasKey( "DontPreview" ))=0A= + m_dontPreview =3D config->readListEntry( "DontPreview" );=0A= =0A= m_textColor =3D config->readColorEntry( "TextColor", &m_textColor = );=0A= m_bgColor =3D config->readColorEntry( "BgColor", &m_bgColor );=0A= @@ -260,20 +266,23 @@ void KonqPropsView::setShowingDirectoryO=0A= =0A= void KonqPropsView::setShowingPreview( const QString &preview, bool = show )=0A= {=0A= - if ( m_preview.contains( preview ) =3D=3D show )=0A= + if ( m_dontPreview.contains( preview ) !=3D show )=0A= return;=0A= else if ( show )=0A= - m_preview.append( preview );=0A= + m_dontPreview.remove( preview );=0A= else=0A= - m_preview.remove( preview );=0A= + m_dontPreview.append( preview );=0A= if ( m_defaultProps && !m_bSaveViewPropertiesLocally )=0A= m_defaultProps->setShowingPreview( preview, show );=0A= else if (currentConfig())=0A= {=0A= KConfigGroupSaver cgs(currentConfig(), currentGroup());=0A= - currentConfig()->writeEntry( "Preview", m_preview );=0A= + currentConfig()->writeEntry( "DontPreview", m_dontPreview = );=0A= currentConfig()->sync();=0A= }=0A= + =0A= + delete d->previewsToShow;=0A= + d->previewsToShow =3D 0;=0A= }=0A= =0A= void KonqPropsView::setBgColor( const QColor & color )=0A= @@ -395,4 +404,22 @@ void KonqPropsView::applyColors(QWidget =0A= // This makes us react to the palette-change event accordingly.=0A= if ( setPaletteNeeded )=0A= widget->setPalette( QPalette( a, d, i ) );=0A= +}=0A= +=0A= +const QStringList& KonqPropsView::previewSettings()=0A= +{=0A= + if ( ! d->previewsToShow )=0A= + {=0A= + d->previewsToShow =3D new QStringList;=0A= + =0A= + KTrader::OfferList plugins =3D KTrader::self()->query( = "ThumbCreator" );=0A= + for ( KTrader::OfferList::ConstIterator it =3D = plugins.begin(); it !=3D plugins.end(); ++it )=0A= + {=0A= + QString name =3D (*it)->desktopEntryName();=0A= + if ( ! m_dontPreview.contains(name) )=0A= + d->previewsToShow->append( name );=0A= + }=0A= + }=0A= + =0A= + return *(d->previewsToShow);=0A= }=0A= Index: libkonq/konq_propsview.h=0A= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=0A= RCS file: /home/kde/kdebase/libkonq/konq_propsview.h,v=0A= retrieving revision 1.44=0A= diff -u -3 -p -r1.44 konq_propsview.h=0A= --- libkonq/konq_propsview.h 2002/04/05 13:34:12 1.44=0A= +++ libkonq/konq_propsview.h 2002/04/30 16:13:02=0A= @@ -93,9 +93,9 @@ public:=0A= bool isShowingDirectoryOverlays() const { return = m_bShowDirectoryOverlays; }=0A= =0A= void setShowingPreview( const QString &preview, bool show );=0A= - bool isShowingPreview( const QString &preview ) const { return = m_preview.contains(preview); }=0A= - bool isShowingPreview() const { return m_preview.count() > 0; }=0A= - const QStringList &previewSettings() const { return m_preview; }=0A= + bool isShowingPreview( const QString &preview ) const { return ! = m_dontPreview.contains(preview); }=0A= + bool isShowingPreview() const { return m_dontPreview.count() =3D=3D = 0; }=0A= + const QStringList &previewSettings();=0A= =0A= void setBgColor( const QColor & color );=0A= const QColor& bgColor(QWidget * widget) const;=0A= @@ -128,7 +128,7 @@ private:=0A= int m_iItemTextPos;=0A= bool m_bShowDot;=0A= bool m_bShowDirectoryOverlays;=0A= - QStringList m_preview;=0A= + QStringList m_dontPreview;=0A= QColor m_textColor;=0A= QColor m_bgColor;=0A= QString m_bgPixmapFile;=0A= ------_=_NextPart_000_01C1F062.D3524510--