1.1 --- a/mapeditor.cpp Thu Jun 14 10:21:46 2007 +0000
1.2 +++ b/mapeditor.cpp Mon Jun 18 15:10:18 2007 +0000
1.3 @@ -310,6 +310,12 @@
1.4 return s;
1.5 }
1.6
1.7 +QString MapEditor::getHistoryDir()
1.8 +{
1.9 + QString histName=QDir::convertSeparators (QString("history-%1").arg(curStep));
1.10 + return QDir::convertSeparators (tmpMapDir +"/"+histName);
1.11 +}
1.12 +
1.13 void MapEditor::saveState(const SaveMode &savemode, const QString &undoSelection, const QString &undoCom, const QString &redoSelection, const QString &redoCom, const QString &comment, LinkableMapObj *saveSel)
1.14 {
1.15 // Main saveState
1.16 @@ -324,18 +330,17 @@
1.17 if (curStep>stepsTotal) curStep=1;
1.18
1.19 QString backupXML="";
1.20 - QString bakMapName=QDir::convertSeparators (QString("history-%1").arg(curStep));
1.21 - QString bakMapDir=QDir::convertSeparators (tmpMapDir +"/"+bakMapName);
1.22 - QString bakMapPath=QDir::convertSeparators(bakMapDir+"/map.xml");
1.23 -
1.24 - // Create bakMapDir if not available
1.25 - QDir d(bakMapDir);
1.26 + QString histDir=getHistoryDir();
1.27 + QString bakMapPath=QDir::convertSeparators(histDir+"/map.xml");
1.28 +
1.29 + // Create histDir if not available
1.30 + QDir d(histDir);
1.31 if (!d.exists())
1.32 - makeSubDirs (bakMapDir);
1.33 + makeSubDirs (histDir);
1.34
1.35 // Save depending on how much needs to be saved
1.36 if (saveSel)
1.37 - backupXML=saveToDir (bakMapDir,mapName+"-",false, QPointF (),saveSel);
1.38 + backupXML=saveToDir (histDir,mapName+"-",false, QPointF (),saveSel);
1.39
1.40 QString undoCommand="";
1.41 if (savemode==UndoCommand)
1.42 @@ -1699,7 +1704,7 @@
1.43 {
1.44 // Copy to history
1.45 QString s=sel->getSelectString();
1.46 - saveState (PartOfMap, s, "nop ()", s, "copy ()","Copy to clipboard",sel );
1.47 + saveState (PartOfMap, s, "nop ()", s, "copy ()","Copy selection to clipboard",sel );
1.48 curClipboard=curStep;
1.49 }
1.50
1.51 @@ -4451,10 +4456,9 @@
1.52 BranchObj *sel=xelection.getBranch();
1.53 if (sel)
1.54 {
1.55 - foreach (QString format,event->mimeData()->formats())
1.56 - {
1.57 - cout << "Dropped format: "<<format.ascii()<<endl;
1.58 - }
1.59 + if (debug)
1.60 + foreach (QString format,event->mimeData()->formats())
1.61 + cout << "MapEditor: Dropped format: "<<format.ascii()<<endl;
1.62
1.63
1.64 QList <QUrl> uris;
1.65 @@ -4604,7 +4608,10 @@
1.66 {
1.67 FloatImageObj *fio=bo->addFloatImage();
1.68 fio->load(img);
1.69 - fio->setOriginalFilename("Image added by Drag and Drop"); // FIXME savestate missing
1.70 + fio->setOriginalFilename("No original filename (image added by dropevent)");
1.71 + QString s=bo->getSelectString();
1.72 + saveState (PartOfMap, s, "nop ()", s, "copy ()","Copy dropped image to clipboard",fio );
1.73 + saveState (fio,"delete ()", bo,QString("paste(%1)").arg(curStep),"Pasting dropped image");
1.74 mapCenter->reposition();
1.75 scene()->update();
1.76 }