diff -r 7a96bd401351 -r 608f976aa7bb floatimageobj.cpp --- a/floatimageobj.cpp Sun Jan 30 12:58:47 2005 +0000 +++ b/floatimageobj.cpp Tue Jun 06 14:58:11 2006 +0000 @@ -1,13 +1,14 @@ #include "floatimageobj.h" #include "branchobj.h" -#include +//Added by qt3to4: +#include ///////////////////////////////////////////////////////////////// // FloatImageObj ///////////////////////////////////////////////////////////////// -int FloatImageObj::counter=0; // make instance +uint FloatImageObj::saveCounter=0; // make instance FloatImageObj::FloatImageObj ():FloatObj() @@ -18,7 +19,7 @@ depth=-1; } -FloatImageObj::FloatImageObj (QCanvas* c):FloatObj(c) +FloatImageObj::FloatImageObj (Q3Canvas* c):FloatObj(c) { // cout << "Const FloatImageObj (c) called from MapCenterObj (c)\n"; setParObj (this); @@ -26,7 +27,7 @@ depth=-1; } -FloatImageObj::FloatImageObj (QCanvas* c, LinkableMapObj* p):FloatObj(c,p) +FloatImageObj::FloatImageObj (Q3Canvas* c, OrnamentedObj* p):FloatObj(c,p) { // cout << "Const FloatImageObj (c,p)\n"; init(); @@ -43,18 +44,26 @@ icon=new ImageObj (canvas); icon->move (absPos.x(), absPos.y() ); icon->setVisibility (true); + setZ (Z_FLOATIMG); bbox.setSize (QSize(icon->size().width(), icon->size().height())); + clickBox.setSize (QSize(icon->size().width(), icon->size().height())); filename=""; originalFilename="no original name available"; filetype=""; saveInMap=true; + useRelPos=true; + + //Hide flags + systemFlags->setShowFlags(false); } void FloatImageObj::copy (FloatImageObj* other) { FloatObj::copy (other); icon->copy (other->icon); + filetype=other->filetype; filename=other->filename; + originalFilename=other->originalFilename; saveInMap=other->saveInMap; positionBBox(); } @@ -67,7 +76,17 @@ int FloatImageObj::z () { - return lrint (icon->z()); + return qRound (icon->z()); +} + +void FloatImageObj::load (const QPixmap &pixmap) +{ + icon->load(pixmap); + bbox.setSize (QSize(icon->size().width()+8, icon->size().height()+8)); + clickBox.setSize (QSize(icon->size().width()+8, icon->size().height()+8)); + positionBBox(); + filetype="PNG"; + filename="noname.png"; } bool FloatImageObj::load (const QString &fn) @@ -77,7 +96,8 @@ bbox.setSize (QSize(icon->size().width()+8, icon->size().height()+8)); positionBBox(); filename=fn; - filetype=QPixmap::imageFormat (fn); +//FIXME QT3 was filetype=QPixmap::imageFormat (fn); + setOriginalFilename (fn); return true; } else return false; @@ -92,6 +112,10 @@ void FloatImageObj::setOriginalFilename(const QString & fn) { originalFilename=fn; + + // Set short name, too. Search from behind: + int i=originalFilename.findRev("/"); + if (i>=0) originalFilename=originalFilename.remove (0,i+1); } QString FloatImageObj::getOriginalFilename() @@ -101,7 +125,7 @@ void FloatImageObj::setVisibility(bool v) { - LinkableMapObj::setVisibility(v); + OrnamentedObj::setVisibility(v); if (v) icon->setVisibility(true); else @@ -122,7 +146,7 @@ void FloatImageObj::positionBBox() { - // TODO + clickBox=bbox; } void FloatImageObj::calcBBoxSize() @@ -130,14 +154,12 @@ // TODO } -QString FloatImageObj::saveToDir (const QString &tmpdir,const QString &prefix) +QString FloatImageObj::saveToDir (const QString &tmpdir,const QString &prefix, const QPoint &p) { - counter++; + if (hidden) return ""; - QString posAttr= - attribut("relPosX",QString().setNum(relPos.x(),10)) + - attribut("relPosY",QString().setNum(relPos.y(),10)); - + saveCounter++; + QString useOrientAttr; if (useOrientation) useOrientAttr=attribut ("useOrientation","true"); @@ -164,24 +186,27 @@ if (filetype=="GIF") filetype="PNG"; - url="images/"+prefix+"image-" + QString().number(counter,10) + "." +filetype; + url="images/"+prefix+"image-" + QString().number(saveCounter,10) + "." +filetype; // And really save the image icon->save (tmpdir + "/" + url, filetype); + + QString nameAttr=attribut ("orgName",originalFilename); return singleElement ("floatimage", - posAttr + - useOrientAttr + - saveInMapAttr + - exportAttr + - zAttr + - attribut ("href",QString ("file:")+url) + getOrnAttr() + +useOrientAttr + +saveInMapAttr + +exportAttr + +zAttr + +attribut ("href",QString ("file:")+url) + +nameAttr ); } void FloatImageObj::resetSaveCounter() { - counter=0; + saveCounter=0; }