3 ** Copyright 2010 Mikko Keinänen
5 ** This file is part of EmuFront.
8 ** EmuFront is free software: you can redistribute it and/or modify
9 ** it under the terms of the GNU General Public License version 2 as published by
10 ** the Free Software Foundation and appearing in the file gpl.txt included in the
11 ** packaging of this file.
13 ** EmuFront is distributed in the hope that it will be useful,
14 ** but WITHOUT ANY WARRANTY; without even the implied warranty of
15 ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 ** GNU General Public License for more details.
18 ** You should have received a copy of the GNU General Public License
19 ** along with EmuFront. If not, see <http://www.gnu.org/licenses/>.
22 #include "mediaimagecontainer.h"
24 MediaImageContainer::MediaImageContainer()
25 : EmuFrontFile(EmuFrontFile::FileType_MediaImageContainer)
27 lstMediaImage = QMap<QString, EmuFrontObject*>();
31 MediaImageContainer::MediaImageContainer(int id, QString name,
32 QString checksum, int size, QMap<QString, EmuFrontObject*>images, FilePathObject *fpo)
33 : EmuFrontFile(id, name, checksum, size, EmuFrontFile::FileType_MediaImageContainer),
34 lstMediaImage(images), filePath(fpo)
37 MediaImageContainer::MediaImageContainer(QString name, QString checksum,
38 int size, QMap<QString, EmuFrontObject*>images, FilePathObject *fpo)
39 : EmuFrontFile(-1, name, checksum, size, EmuFrontFile::FileType_MediaImageContainer),
40 lstMediaImage(images), filePath(fpo)
43 MediaImageContainer::~MediaImageContainer()
45 qDeleteAll(lstMediaImage);
49 MediaImageContainer::MediaImageContainer(MediaImageContainer &mic)
52 lstMediaImage = QMap<QString, EmuFrontObject*>();
54 QMapIterator<QString, EmuFrontObject*> it(mic.lstMediaImage);
58 mi = dynamic_cast<MediaImage*>(it.value());
59 lstMediaImage[mi->getCheckSum()] = new MediaImage(*mi);
62 filePath = new FilePathObject(*(mic.filePath));
65 MediaImageContainer& MediaImageContainer::operator =(MediaImageContainer &mic)
67 if (this == &mic) return *this;
71 checkSum = mic.checkSum;
73 qDeleteAll(lstMediaImage);
75 QMapIterator<QString, EmuFrontObject*> it(mic.lstMediaImage);
79 mi = dynamic_cast<MediaImage*>(it.value());
80 lstMediaImage[mi->getCheckSum()] = new MediaImage(*mi);
82 filePath = new FilePathObject(*(mic.filePath));
86 void MediaImageContainer::setMediaImages(QMap<QString, EmuFrontObject*> list)
88 qDeleteAll(lstMediaImage);
92 QMap<QString, EmuFrontObject*> MediaImageContainer::getMediaImages() const
93 { return lstMediaImage; }
95 void MediaImageContainer::addMediaImage(MediaImage *mi)
96 { lstMediaImage[mi->getCheckSum()] = mi; }
98 void MediaImageContainer::clearMediaImages()
100 qDeleteAll(lstMediaImage);
101 lstMediaImage.clear();
104 FilePathObject* MediaImageContainer::getFilePath() const
107 void MediaImageContainer::setFilePath(FilePathObject *fp)