diff options
Diffstat (limited to 'kdevdesigner/designer/pixmapcollection.cpp')
-rw-r--r-- | kdevdesigner/designer/pixmapcollection.cpp | 180 |
1 files changed, 0 insertions, 180 deletions
diff --git a/kdevdesigner/designer/pixmapcollection.cpp b/kdevdesigner/designer/pixmapcollection.cpp deleted file mode 100644 index 880423a3..00000000 --- a/kdevdesigner/designer/pixmapcollection.cpp +++ /dev/null @@ -1,180 +0,0 @@ -/********************************************************************** -** Copyright (C) 2000 Trolltech AS. All rights reserved. -** -** This file is part of TQt Designer. -** -** This file may be distributed and/or modified under the terms of the -** GNU General Public License version 2 as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL included in the -** packaging of this file. -** -** Licensees holding valid TQt Enterprise Edition or TQt Professional Edition -** licenses may use this file in accordance with the TQt Commercial License -** Agreement provided with the Software. -** -** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE -** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. -** -** See http://www.trolltech.com/gpl/ for GPL licensing information. -** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for -** information about TQt Commercial License Agreements. -** -** Contact info@trolltech.com if any conditions of this licensing are -** not clear to you. -** -**********************************************************************/ - -#include "pixmapcollection.h" -#include "project.h" -#include "mainwindow.h" -#include <tqmime.h> -#include <tqdir.h> -#include <tqfileinfo.h> -#include <tqtextstream.h> -#include <tqimage.h> - -PixmapCollection::PixmapCollection( Project *pro ) - : project( pro ) -{ - iface = new DesignerPixmapCollectionImpl( this ); - mimeSourceFactory = new TQMimeSourceFactory(); -} - -PixmapCollection::~PixmapCollection() -{ - delete mimeSourceFactory; - delete iface; -} - -bool PixmapCollection::addPixmap( const Pixmap &pix, bool force ) -{ - Pixmap pixmap = pix; - savePixmap( pixmap ); - - if ( !force ) { - for ( TQValueList<Pixmap>::Iterator it = pixList.begin(); it != pixList.end(); ++it ) { - if ( (*it).name == pixmap.name ) - return FALSE; - } - } - - pixList.append( pixmap ); - mimeSourceFactory->setPixmap( pixmap.name, pixmap.pix ); - project->setModified( TRUE ); - return TRUE; -} - -void PixmapCollection::removePixmap( const TQString &name ) -{ - for ( TQValueList<Pixmap>::Iterator it = pixList.begin(); it != pixList.end(); ++it ) { - if ( (*it).name == name ) { - pixList.remove( it ); - break; - } - } - project->setModified( TRUE ); -} - -TQValueList<PixmapCollection::Pixmap> PixmapCollection::pixmaps() const -{ - return pixList; -} - -TQString PixmapCollection::unifyName( const TQString &n ) -{ - TQString name = n; - bool restart = FALSE; - int added = 1; - - for ( TQValueList<Pixmap>::Iterator it = pixList.begin(); it != pixList.end(); ++it ) { - if ( restart ) - it = pixList.begin(); - restart = FALSE; - if ( name == (*it).name ) { - name = n; - name += "_" + TQString::number( added ); - ++added; - restart = TRUE; - } - } - - return name; -} - -void PixmapCollection::setActive( bool b ) -{ - if ( b ) - TQMimeSourceFactory::defaultFactory()->addFactory( mimeSourceFactory ); - else - TQMimeSourceFactory::defaultFactory()->removeFactory( mimeSourceFactory ); -} - -TQPixmap PixmapCollection::pixmap( const TQString &name ) -{ - for ( TQValueList<Pixmap>::Iterator it = pixList.begin(); it != pixList.end(); ++it ) { - if ( (*it).name == name ) - return (*it).pix; - } - return TQPixmap(); -} - -void PixmapCollection::savePixmap( Pixmap &pix ) -{ - if ( pix.absname == imageDir() + "/" + pix.name ) - return; // no need to save, it is already there - TQString rel = project->makeRelative( pix.absname ); - if ( rel[0] == '/' || ( rel[1] == ':' && rel[2] == '/' ) ) { // only save if file is outside the project - mkdir(); - pix.name = unifyName( TQFileInfo( pix.absname ).baseName() ) + ".png"; - pix.absname = imageDir() + "/" + pix.name; - pix.pix.save( pix.absname, "PNG" ); - } else if ( rel.isEmpty() ) { - mkdir(); - pix.name = unifyName( pix.name ); - pix.absname = imageDir() + "/" + pix.name; - pix.pix.save( pix.absname, "PNG" ); - } -} - -TQString PixmapCollection::imageDir() const -{ - return TQFileInfo( project->fileName() ).dirPath( TRUE ) + "/images"; -} - -void PixmapCollection::mkdir() -{ - TQString f = project->fileName(); - TQDir d( TQFileInfo( f ).dirPath( TRUE ) ); - d.mkdir( "images" ); -} - -void PixmapCollection::load( const TQString& filename ) -{ - if ( filename.isEmpty() ) - return; - TQString absfile; - if ( filename[0] == '/' ) - absfile = filename; - else - absfile = TQFileInfo( project->fileName() ).dirPath( TRUE ) + "/" + filename; - - TQPixmap pm( absfile ); - if ( pm.isNull() ) - return; - - Pixmap pix; - pix.name = TQFileInfo( absfile ).fileName(); - pix.absname = absfile; - pix.pix = pm; - addPixmap( pix, TRUE ); -} - -DesignerPixmapCollection *PixmapCollection::iFace() -{ - return iface; -} - -bool PixmapCollection::isEmpty() const -{ - return pixList.isEmpty(); -} |