3 #include "branchitem.h"
4 #include "mapobj.h" // z-values
10 uint ImageItem::saveCounter=0; // create instance
12 ImageItem::ImageItem()
17 ImageItem::ImageItem (const QList<QVariant> &data, TreeItem *parent):MapItem (data,parent)
22 ImageItem::~ImageItem()
24 //cout <<"Destr ImageItem\n";
28 void ImageItem::init()
32 hideLinkUnselected=true;
33 originalFilename="no original name available";
38 ImageItem::ImageType ImageItem::getImageType()
43 bool ImageItem::load(const QString &fname)
45 bool ok=pixmap.load (fname);
48 setOriginalFilename (fname);
49 setHeading (originalFilename);
50 ((FloatImageObj*)lmo)->load (pixmap);
55 FloatImageObj* ImageItem::createMapObj(QGraphicsScene *scene)
57 FloatImageObj *fio=new FloatImageObj (scene);
58 fio->setTreeItem (this);
60 fio->setParObj ( ((MapItem*)parentItem)->getLMO());
61 if (((BranchItem*)parentItem)->isScrolled() || !((MapItem*)parentItem)->getLMO()->isVisibleObj() )
62 fio->setVisibility (false);
64 fio->setZValue(zValue);
69 void ImageItem::setZValue(int z)
72 if (lmo) ((FloatImageObj*)lmo)->setZValue(z);
75 void ImageItem::setOriginalFilename(const QString & fn)
79 // Set short name. Search from behind:
80 int i=originalFilename.findRev("/");
81 if (i>=0) originalFilename=originalFilename.remove (0,i+1);
82 setHeading (originalFilename);
85 QString ImageItem::getOriginalFilename()
87 return originalFilename;
90 void ImageItem::resetSaveCounter()
95 void ImageItem::save(const QString &fn, const QString &format)
97 pixmap.save (fn,qPrintable (format));
100 QString ImageItem::saveToDir (const QString &tmpdir,const QString &prefix)
102 if (hidden) return "";
107 QString zAttr=attribut ("zValue",QString().setNum(zValue));
110 url="images/"+prefix+"image-" + QString().number(saveCounter,10) + ".png" ;
112 // And really save the image
113 pixmap.save (tmpdir +"/"+ url, "PNG");
115 QString nameAttr=attribut ("originalName",originalFilename);
117 return singleElement ("floatimage",
121 +attribut ("href",QString ("file:")+url)