1.1 --- a/vymmodel.cpp Thu May 07 08:48:53 2009 +0000
1.2 +++ b/vymmodel.cpp Wed May 13 08:26:27 2009 +0000
1.3 @@ -44,8 +44,6 @@
1.4 extern QDir lastImageDir;
1.5 extern QDir lastFileDir;
1.6
1.7 -extern FlagRowObj *standardFlagsDefault;
1.8 -
1.9 extern Settings settings;
1.10
1.11
1.12 @@ -234,7 +232,7 @@
1.13 xml.incIndent();
1.14
1.15 // Find the used flags while traversing the tree // FIXME-2 this can be done local to vymmodel maybe...
1.16 - standardFlagsDefault->resetUsedCounter();
1.17 + //FIXME-2 not used any longer: standardFlagsDefault->resetUsedCounter();
1.18
1.19 // Reset the counters before saving
1.20 // TODO constr. of FIO creates lots of objects, better do this in some other way...
1.21 @@ -267,8 +265,7 @@
1.22 xml.decIndent();
1.23 s+=xml.endElement("vymmap");
1.24
1.25 - if (writeflags)
1.26 - standardFlagsDefault->saveToDir (tmpdir+"/flags/","",writeflags);
1.27 + // FIXME-2 if (writeflags) standardFlagsDefault->saveToDir (tmpdir+"/flags/","",writeflags);
1.28 return s;
1.29 }
1.30
1.31 @@ -1514,14 +1511,11 @@
1.32 "setHeading (\""+s+"\")",
1.33 QString("Set heading of %1 to \"%2\"").arg(getObjectName(selbi)).arg(s) );
1.34 selbi->setHeading(s );
1.35 - QModelIndex ix2=index (selbi);
1.36 - emit (dataChanged ( ix2,ix2));
1.37 - /* FIXME-3 testing only
1.38 - */
1.39 + emitDataHasChanged ( selbi); //FIXME-3 maybe emit signal from TreeItem?
1.40
1.41 reposition();
1.42 // selection.update(); //FIXME-4
1.43 - emitShowSelection();
1.44 + updateSelection();
1.45 }
1.46 }
1.47
1.48 @@ -1597,38 +1591,33 @@
1.49 // which is (still) needed to create MapCenters
1.50 }
1.51
1.52 -void VymModel::setURL(const QString &url) //FIXME-2
1.53 -{
1.54 -/*
1.55 - BranchObj *bo=getSelectedBranch();
1.56 - if (bo)
1.57 +void VymModel::setURL(const QString &url)
1.58 +{
1.59 + TreeItem *selti=getSelectedItem();
1.60 + if (selti)
1.61 {
1.62 - QString oldurl=bo->getURL();
1.63 - bo->setURL (url);
1.64 + QString oldurl=selti->getURL();
1.65 + selti->setURL (url);
1.66 saveState (
1.67 - bo,
1.68 + selti,
1.69 QString ("setURL (\"%1\")").arg(oldurl),
1.70 - bo,
1.71 + selti,
1.72 QString ("setURL (\"%1\")").arg(url),
1.73 - QString ("set URL of %1 to %2").arg(getObjectName(bo)).arg(url)
1.74 + QString ("set URL of %1 to %2").arg(getObjectName(selti)).arg(url)
1.75 );
1.76 - updateActions();
1.77 reposition();
1.78 - selection.update();
1.79 + emitDataHasChanged (selti);
1.80 emitShowSelection();
1.81 }
1.82 -*/
1.83 }
1.84
1.85 -QString VymModel::getURL() //FIXME-2
1.86 -{
1.87 -/*
1.88 - BranchObj *bo=getSelectedBranch();
1.89 - if (bo)
1.90 - return bo->getURL();
1.91 - else
1.92 - return "";
1.93 -*/
1.94 +QString VymModel::getURL()
1.95 +{
1.96 + TreeItem *selti=getSelectedItem();
1.97 + if (selti)
1.98 + return selti->getURL();
1.99 + else
1.100 + return QString();
1.101 }
1.102
1.103 QStringList VymModel::getURLs() // FIXME-1 first, next moved to vymmodel
1.104 @@ -1864,20 +1853,19 @@
1.105 }
1.106
1.107
1.108 -void VymModel::copy() //FIXME-2
1.109 -{
1.110 -/*
1.111 - LinkableMapObj *sel=getSelectedLMO();
1.112 - if (sel &&
1.113 - (selectionType() == TreeItem::Branch ||
1.114 - selectionType() == TreeItem::MapCenter ||
1.115 - selectionType() == TreeItem::Image ))
1.116 +void VymModel::copy()
1.117 +{
1.118 + TreeItem *selti=getSelectedItem();
1.119 + if (selti &&
1.120 + (selti->getType() == TreeItem::Branch ||
1.121 + selti->getType() == TreeItem::MapCenter ||
1.122 + selti->getType() == TreeItem::Image ))
1.123 {
1.124 if (redosAvail == 0)
1.125 {
1.126 // Copy to history
1.127 - QString s=getSelectString(sel);
1.128 - saveState (PartOfMap, s, "nop ()", s, "copy ()","Copy selection to clipboard",sel );
1.129 + QString s=getSelectString(selti);
1.130 + saveState (PartOfMap, s, "nop ()", s, "copy ()","Copy selection to clipboard",selti );
1.131 curClipboard=curStep;
1.132 }
1.133
1.134 @@ -1889,13 +1877,11 @@
1.135 clipboardEmpty=false;
1.136 updateActions();
1.137 }
1.138 -*/
1.139 }
1.140
1.141
1.142 -void VymModel::pasteNoSave(const int &n) //FIXME-2
1.143 -{
1.144 -/*
1.145 +void VymModel::pasteNoSave(const int &n)
1.146 +{
1.147 bool old=blockSaveState;
1.148 blockSaveState=true;
1.149 bool zippedOrg=zipped;
1.150 @@ -1910,87 +1896,59 @@
1.151 load (clipboardDir+"/"+clipboardFile,ImportAdd, VymMap);
1.152 zipped=zippedOrg;
1.153 blockSaveState=old;
1.154 -*/
1.155 }
1.156
1.157 -void VymModel::paste() //FIXME-2
1.158 +void VymModel::paste()
1.159 {
1.160 -/*
1.161 - BranchObj *sel=getSelectedBranch();
1.162 - if (sel)
1.163 + BranchItem *selbi=getSelectedBranchItem();
1.164 + if (selbi)
1.165 {
1.166 saveStateChangingPart(
1.167 - sel,
1.168 - sel,
1.169 + selbi,
1.170 + selbi,
1.171 QString ("paste (%1)").arg(curClipboard),
1.172 - QString("Paste to %1").arg( getObjectName(sel))
1.173 + QString("Paste to %1").arg( getObjectName(selbi))
1.174 );
1.175 pasteNoSave(0);
1.176 reposition();
1.177 }
1.178 -*/
1.179 }
1.180
1.181 -void VymModel::cut() //FIXME-2
1.182 -{
1.183 -/*
1.184 - LinkableMapObj *sel=getSelectedLMO();
1.185 - if ( sel && (selectionType() == TreeItem::Branch ||
1.186 - selectionType()==TreeItem::MapCenter ||
1.187 - selectionType()==TreeItem::Image))
1.188 +void VymModel::cut()
1.189 +{
1.190 + TreeItem *selti=getSelectedItem();
1.191 + if ( selti && (selti->isBranchLikeType() ||selti->getType()==TreeItem::Image))
1.192 {
1.193 -*/
1.194 - /* No savestate! savestate is called in cutNoSave
1.195 - saveStateChangingPart(
1.196 - sel->getParObj(),
1.197 - sel,
1.198 - "cut ()",
1.199 - QString("Cut %1").arg(getObjectName(sel ))
1.200 - );
1.201 - */
1.202 -/*
1.203 copy();
1.204 deleteSelection();
1.205 reposition();
1.206 }
1.207 -*/}
1.208 -
1.209 -void VymModel::moveBranchUp() //FIXME-2
1.210 -{
1.211 -/*
1.212 - BranchObj* bo=getSelectedBranch();
1.213 - BranchObj* par;
1.214 - if (bo)
1.215 +}
1.216 +
1.217 +void VymModel::moveUp()
1.218 +{
1.219 + BranchItem *selbi=getSelectedBranchItem();
1.220 + if (selbi)
1.221 {
1.222 - if (!bo->canMoveBranchUp()) return;
1.223 - par=(BranchObj*)(bo->getParObj());
1.224 - BranchObj *obo=par->moveBranchUp (bo); // bo will be the one below selection
1.225 - saveState (getSelectString(bo),"moveBranchDown ()",getSelectString(obo),"moveBranchUp ()",QString("Move up %1").arg(getObjectName(bo)));
1.226 - reposition();
1.227 - //FIXME-3 VM needed? scene()->update();
1.228 - selection.update();
1.229 - emitShowSelection();
1.230 + if (!selbi->canMoveUp()) return;
1.231 + QString oldsel=getSelectString();
1.232 + if (relinkBranch (selbi,(BranchItem*)selbi->parent(),selbi->num()-1) )
1.233 +
1.234 + saveState (getSelectString(),"moveDown ()",oldsel,"moveUp ()",QString("Move up %1").arg(getObjectName(selbi)));
1.235 }
1.236 - */
1.237 }
1.238
1.239 -void VymModel::moveBranchDown() //FIXME-2
1.240 -{
1.241 -/*
1.242 - BranchObj* bo=getSelectedBranch();
1.243 - BranchObj* par;
1.244 - if (bo)
1.245 +void VymModel::moveDown()
1.246 +{
1.247 + BranchItem *selbi=getSelectedBranchItem();
1.248 + if (selbi)
1.249 {
1.250 - if (!bo->canMoveBranchDown()) return;
1.251 - par=(BranchObj*)(bo->getParObj());
1.252 - BranchObj *obo=par->moveBranchDown(bo); // bo will be the one above selection
1.253 - saveState(getSelectString(bo),"moveBranchUp ()",getSelectString(obo),"moveBranchDown ()",QString("Move down %1").arg(getObjectName(bo)));
1.254 - reposition();
1.255 - //FIXME-3 VM needed? scene()->update();
1.256 - selection.update();
1.257 - emitShowSelection();
1.258 - }
1.259 -*/
1.260 + if (!selbi->canMoveDown()) return;
1.261 + QString oldsel=getSelectString();
1.262 + if ( relinkBranch (selbi,(BranchItem*)selbi->parent(),selbi->num()+1) )
1.263 +
1.264 + saveState (getSelectString(),"moveUp ()",oldsel,"moveDown ()",QString("Move down %1").arg(getObjectName(selbi)));
1.265 + }
1.266 }
1.267
1.268 void VymModel::sortChildren() // FIXME-2 not implemented yet
1.269 @@ -2084,7 +2042,6 @@
1.270 rootItem->appendChild (mci);
1.271
1.272 endInsertRows();
1.273 - emit (newChildObject (parix));
1.274 emit (layoutChanged() );
1.275
1.276 // Create MapObj
1.277 @@ -2162,7 +2119,6 @@
1.278 parbi->insertBranch(n,newbi);
1.279 endInsertRows ();
1.280 }
1.281 - emit (newChildObject (parix));
1.282 emit (layoutChanged() );
1.283
1.284 // save scroll state. If scrolled, automatically select
1.285 @@ -2251,10 +2207,11 @@
1.286 return NULL;
1.287 }
1.288
1.289 -BranchItem* VymModel::relinkBranch (BranchItem *branch, BranchItem *dst, int pos)
1.290 +bool VymModel::relinkBranch (BranchItem *branch, BranchItem *dst, int pos)
1.291 {
1.292 if (branch && dst)
1.293 {
1.294 + cout << "VM::relinkBranch "<<branch->getHeadingStd()<<" to "<<dst->getHeadingStd()<<" at "<<pos<<endl;
1.295 emit (layoutAboutToBeChanged() );
1.296 BranchItem *branchpi=(BranchItem*)branch->parent();
1.297 // Remove at current position
1.298 @@ -2276,8 +2233,11 @@
1.299
1.300 branch->getLMO()->setParObj(dst->getLMO()); //FIXME-5 update parObj in View
1.301 emit (layoutChanged() );
1.302 + reposition(); // both for moveUp/Down and relinking
1.303 select (branch);
1.304 + return true;
1.305 }
1.306 + return false;
1.307 }
1.308
1.309 void VymModel::deleteSelection()
1.310 @@ -2393,21 +2353,23 @@
1.311 if (bi->isScrolled()) return false;
1.312 if (bi->branchCount()==0) return false;
1.313 if (bi->depth()==0) return false;
1.314 - QString u,r;
1.315 - r="scroll";
1.316 - u="unscroll";
1.317 - /* FIXME-3 no savestate yet
1.318 - saveState(
1.319 - bo,
1.320 - QString ("%1 ()").arg(u),
1.321 - bo,
1.322 - QString ("%1 ()").arg(r),
1.323 - QString ("%1 %2").arg(r).arg(getObjectName(bo))
1.324 - );
1.325 - */
1.326 - bi->toggleScroll();
1.327 - mapScene->update(); //Needed for _quick_ update
1.328 - return true;
1.329 + if (bi->toggleScroll())
1.330 + {
1.331 + QString u,r;
1.332 + r="scroll";
1.333 + u="unscroll";
1.334 + saveState(
1.335 + bi,
1.336 + QString ("%1 ()").arg(u),
1.337 + bi,
1.338 + QString ("%1 ()").arg(r),
1.339 + QString ("%1 %2").arg(r).arg(getObjectName(bi))
1.340 + );
1.341 + emitDataHasChanged(bi);
1.342 + updateSelection();
1.343 + mapScene->update(); //Needed for _quick_ update, even in 1.13.x //FIXME-3 force update via signal...
1.344 + return true;
1.345 + }
1.346 }
1.347 return false;
1.348 }
1.349 @@ -2423,32 +2385,34 @@
1.350 QString u,r;
1.351 u="scroll";
1.352 r="unscroll";
1.353 - /* FIXME-3 no savestate yet
1.354 saveState(
1.355 - bo,
1.356 + bi,
1.357 QString ("%1 ()").arg(u),
1.358 - bo,
1.359 + bi,
1.360 QString ("%1 ()").arg(r),
1.361 - QString ("%1 %2").arg(r).arg(getObjectName(bo))
1.362 + QString ("%1 %2").arg(r).arg(getObjectName(bi))
1.363 );
1.364 - */
1.365 bi->toggleScroll();
1.366 - mapScene->update(); // Needed for _quick_ update
1.367 + emitDataHasChanged(bi);
1.368 + updateSelection();
1.369 +
1.370 + mapScene->update(); //Needed for _quick_ update, even in 1.13.x //FIXME-3 force update via signal...
1.371 return true;
1.372 }
1.373 return false;
1.374 }
1.375
1.376 -void VymModel::toggleScroll()
1.377 +void VymModel::toggleScroll()
1.378 {
1.379 BranchItem *bi=(BranchItem*)getSelectedBranchItem();
1.380 - if (bi && bi->getType()==TreeItem::Branch )
1.381 + if (bi && bi->isBranchLikeType() )
1.382 {
1.383 if (bi->isScrolled())
1.384 unscrollBranch (bi);
1.385 else
1.386 scrollBranch (bi);
1.387 }
1.388 + // saveState is called in above functions
1.389 }
1.390
1.391 void VymModel::unscrollChildren() // FIXME-2 first, next moved to vymmodel
1.392 @@ -2473,9 +2437,8 @@
1.393 emit (expandAll() );
1.394 }
1.395
1.396 -void VymModel::toggleStandardFlag (const QString &name)
1.397 -{
1.398 - cout << "VM::toggleStandardFlag "<<name.toStdString()<<endl;
1.399 +void VymModel::toggleStandardFlag (const QString &name, FlagRow *master)
1.400 +{
1.401 BranchItem *bi=getSelectedBranchItem();
1.402 if (bi)
1.403 {
1.404 @@ -2496,8 +2459,9 @@
1.405 bi,
1.406 QString("%1 (\"%2\")").arg(r).arg(name),
1.407 QString("Toggling standard flag \"%1\" of %2").arg(name).arg(getObjectName(bi)));
1.408 - bi->toggleStandardFlag (name); //FIXME-0,mainWindow->useFlagGroups());
1.409 - //FIXME-0 model->updateSelection(); // geometry has changed
1.410 + bi->toggleStandardFlag (name, master);
1.411 + reposition();
1.412 + updateSelection();
1.413 }
1.414 }
1.415
1.416 @@ -2568,28 +2532,25 @@
1.417
1.418
1.419
1.420 -void VymModel::editURL() //FIXME-2
1.421 -{
1.422 -/*
1.423 - BranchObj *bo=getSelectedBranch();
1.424 - if (bo)
1.425 +void VymModel::editURL()
1.426 +{
1.427 + TreeItem *selti=getSelectedItem();
1.428 + if (selti)
1.429 {
1.430 bool ok;
1.431 QString text = QInputDialog::getText(
1.432 "VYM", tr("Enter URL:"), QLineEdit::Normal,
1.433 - bo->getURL(), &ok, NULL);
1.434 + selti->getURL(), &ok, NULL);
1.435 if ( ok)
1.436 // user entered something and pressed OK
1.437 setURL(text);
1.438 }
1.439 -*/
1.440 }
1.441
1.442 -void VymModel::editLocalURL() //FIXME-2
1.443 -{
1.444 -/*
1.445 - BranchObj *bo=getSelectedBranch();
1.446 - if (bo)
1.447 +void VymModel::editLocalURL()
1.448 +{
1.449 + TreeItem *selti=getSelectedItem();
1.450 + if (selti)
1.451 {
1.452 QStringList filters;
1.453 filters <<"All files (*)";
1.454 @@ -2601,8 +2562,8 @@
1.455 fd->setFilters (filters);
1.456 fd->setCaption(vymName+" - " +tr("Set URL to a local file"));
1.457 fd->setDirectory (lastFileDir);
1.458 - if (! bo->getVymLink().isEmpty() )
1.459 - fd->selectFile( bo->getURL() );
1.460 + if (! selti->getVymLink().isEmpty() )
1.461 + fd->selectFile( selti->getURL() );
1.462 fd->show();
1.463
1.464 if ( fd->exec() == QDialog::Accepted )
1.465 @@ -2611,49 +2572,42 @@
1.466 setURL (fd->selectedFile() );
1.467 }
1.468 }
1.469 - */
1.470 }
1.471
1.472
1.473 -void VymModel::editHeading2URL() //FIXME-2
1.474 -{
1.475 -/*
1.476 - BranchObj *bo=getSelectedBranch();
1.477 - if (bo)
1.478 - setURL (bo->getHeading());
1.479 -*/
1.480 +void VymModel::editHeading2URL()
1.481 +{
1.482 + TreeItem *selti=getSelectedItem();
1.483 + if (selti)
1.484 + setURL (selti->getHeading());
1.485 }
1.486
1.487 -void VymModel::editBugzilla2URL() //FIXME-2
1.488 -{
1.489 -/*
1.490 - BranchObj *bo=getSelectedBranch();
1.491 - if (bo)
1.492 +void VymModel::editBugzilla2URL()
1.493 +{
1.494 + TreeItem *selti=getSelectedItem();
1.495 + if (selti)
1.496 {
1.497 - QString url= "https://bugzilla.novell.com/show_bug.cgi?id="+bo->getHeading();
1.498 + QString url= "https://bugzilla.novell.com/show_bug.cgi?id="+selti->getHeading();
1.499 setURL (url);
1.500 }
1.501 -*/
1.502 }
1.503
1.504 -void VymModel::editFATE2URL() //FIXME-2
1.505 -{
1.506 -/*
1.507 - BranchObj *bo=getSelectedBranch();
1.508 - if (bo)
1.509 +void VymModel::editFATE2URL()
1.510 +{
1.511 + TreeItem *selti=getSelectedItem();
1.512 + if (selti)
1.513 {
1.514 - QString url= "http://keeper.suse.de:8080/webfate/match/id?value=ID"+bo->getHeading();
1.515 + QString url= "http://keeper.suse.de:8080/webfate/match/id?value=ID"+selti->getHeading();
1.516 saveState(
1.517 - bo,
1.518 - "setURL (\""+bo->getURL()+"\")",
1.519 - bo,
1.520 + selti,
1.521 + "setURL (\""+selti->getURL()+"\")",
1.522 + selti,
1.523 "setURL (\""+url+"\")",
1.524 - QString("Use heading of %1 as link to FATE").arg(getObjectName(bo))
1.525 + QString("Use heading of %1 as link to FATE").arg(getObjectName(selti))
1.526 );
1.527 - bo->setURL (url);
1.528 - updateActions();
1.529 + selti->setURL (url);
1.530 + // FIXME-4 updateActions();
1.531 }
1.532 -*/
1.533 }
1.534
1.535 void VymModel::editVymLink()
1.536 @@ -2693,7 +2647,7 @@
1.537 BranchItem *bi=getSelectedBranchItem();
1.538 if (bi)
1.539 {
1.540 - bi->getBranchObj()->setVymLink(s); //FIXME-3 check getBO
1.541 + bi->setVymLink(s);
1.542 reposition();
1.543 updateActions();
1.544 //selection.update();
1.545 @@ -2708,16 +2662,14 @@
1.546 {
1.547 saveState(
1.548 bi,
1.549 - "setVymLink (\""+bi->getBranchObj()->getVymLink()+"\")", //FIXME-3 check getBO
1.550 -
1.551 + "setVymLink (\""+bi->getVymLink()+"\")",
1.552 bi,
1.553 "setVymLink (\"\")",
1.554 QString("Unset vymlink of %1").arg(getObjectName(bi))
1.555 );
1.556 - bi->getBranchObj()->setVymLink ("" ); //FIXME-3 check getBO
1.557 + bi->setVymLink ("" );
1.558 updateActions();
1.559 reposition();
1.560 - // FIXME-3 VM needed? scene()->update();
1.561 }
1.562 }
1.563
1.564 @@ -2725,7 +2677,7 @@
1.565 {
1.566 BranchItem *bi=getSelectedBranchItem();
1.567 if (bi)
1.568 - return bi->getBranchObj()->getVymLink(); //FIXME-3 check getBO here...
1.569 + return bi->getVymLink();
1.570 else
1.571 return "";
1.572
1.573 @@ -2907,7 +2859,7 @@
1.574 }
1.575 }
1.576 /////////////////////////////////////////////////////////////////////
1.577 - } else /*if (com=="clearFlags") // FIXME-2
1.578 + } else if (com=="clearFlags")
1.579 {
1.580 if (!selti )
1.581 {
1.582 @@ -2917,11 +2869,10 @@
1.583 parser.setError (Aborted,"Type of selection is not a branch");
1.584 } else if (parser.checkParCount(0))
1.585 {
1.586 - selb->clearStandardFlags();
1.587 - selb->updateFlagsToolbar();
1.588 + selbi->deactivateAllStandardFlags();
1.589 }
1.590 /////////////////////////////////////////////////////////////////////
1.591 - } else */ if (com=="colorBranch")
1.592 + } else if (com=="colorBranch")
1.593 {
1.594 if (!selti)
1.595 {
1.596 @@ -3172,7 +3123,7 @@
1.597 if (ok) loadFloatImageInt (s);
1.598 }
1.599 /////////////////////////////////////////////////////////////////////
1.600 - } else if (com=="moveBranchUp")
1.601 + } else if (com=="moveUp")
1.602 {
1.603 if (!selti )
1.604 {
1.605 @@ -3182,10 +3133,10 @@
1.606 parser.setError (Aborted,"Type of selection is not a branch");
1.607 } else if (parser.checkParCount(0))
1.608 {
1.609 - moveBranchUp();
1.610 + moveUp();
1.611 }
1.612 /////////////////////////////////////////////////////////////////////
1.613 - } else if (com=="moveBranchDown")
1.614 + } else if (com=="moveDown")
1.615 {
1.616 if (!selti )
1.617 {
1.618 @@ -3195,7 +3146,7 @@
1.619 parser.setError (Aborted,"Type of selection is not a branch");
1.620 } else if (parser.checkParCount(0))
1.621 {
1.622 - moveBranchDown();
1.623 + moveDown();
1.624 }
1.625 /////////////////////////////////////////////////////////////////////
1.626 } else if (com=="move")
1.627 @@ -3624,7 +3575,7 @@
1.628 }
1.629 }
1.630 /////////////////////////////////////////////////////////////////////
1.631 - else /* FIXME-2 if (com=="setFlag")
1.632 + else if (com=="setFlag")
1.633 {
1.634 if (!selti )
1.635 {
1.636 @@ -3636,13 +3587,10 @@
1.637 {
1.638 s=parser.parString(ok,0);
1.639 if (ok)
1.640 - {
1.641 - selb->activateStandardFlag(s);
1.642 - selb->updateFlagsToolbar();
1.643 - }
1.644 + selbi->activateStandardFlag(s);
1.645 }
1.646 /////////////////////////////////////////////////////////////////////
1.647 - } else */ /* FIXME-2 if (com=="setFrameType")
1.648 + } else /* FIXME-2 if (com=="setFrameType")
1.649 {
1.650 if (!selti )
1.651 {
1.652 @@ -3670,7 +3618,7 @@
1.653 sortChildren();
1.654 }
1.655 /////////////////////////////////////////////////////////////////////
1.656 - } else /* FIXME-2 if (com=="toggleFlag")
1.657 + } else if (com=="toggleFlag")
1.658 {
1.659 if (!selti )
1.660 {
1.661 @@ -3682,13 +3630,10 @@
1.662 {
1.663 s=parser.parString(ok,0);
1.664 if (ok)
1.665 - {
1.666 selbi->toggleStandardFlag(s);
1.667 - selb->updateFlagsToolbar();
1.668 - }
1.669 }
1.670 /////////////////////////////////////////////////////////////////////
1.671 - } else */ if (com=="unscroll")
1.672 + } else if (com=="unscroll")
1.673 {
1.674 if (!selti)
1.675 {
1.676 @@ -3715,9 +3660,9 @@
1.677 unscrollChildren ();
1.678 }
1.679 /////////////////////////////////////////////////////////////////////
1.680 - } else /* FIXME-2 if (com=="unsetFlag")
1.681 + } else if (com=="unsetFlag")
1.682 {
1.683 - if (selection.isEmpty() )
1.684 + if (!selti)
1.685 {
1.686 parser.setError (Aborted,"Nothing selected");
1.687 } else if (! selbi )
1.688 @@ -3727,12 +3672,9 @@
1.689 {
1.690 s=parser.parString(ok,0);
1.691 if (ok)
1.692 - {
1.693 - selb->deactivateStandardFlag(s);
1.694 - selb->updateFlagsToolbar();
1.695 - }
1.696 + selbi->deactivateStandardFlag(s);
1.697 }
1.698 - } else */
1.699 + } else
1.700 parser.setError (Aborted,"Unknown command");
1.701
1.702 // Any errors?
1.703 @@ -3946,18 +3888,20 @@
1.704 void VymModel::updateNoteFlag()
1.705 {
1.706 setChanged();
1.707 - cout << "VM::updateNoteFlag()\n";
1.708 - /* FIXME-1 modify note flag
1.709 - BranchObj *bo=getSelectedBranch();
1.710 - if (bo)
1.711 + TreeItem *selti=getSelectedItem();
1.712 + if (selti)
1.713 {
1.714 - bo->updateNoteFlag();
1.715 - mainWindow->updateActions();
1.716 - }
1.717 - */
1.718 + if (textEditor->isEmpty())
1.719 + selti->clearNote();
1.720 + else
1.721 + selti->setNote (textEditor->getText());
1.722 + emitDataHasChanged(selti);
1.723 + updateSelection();
1.724 +
1.725 + }
1.726 }
1.727
1.728 -void VymModel::updateRelPositions() //FIXME-2 VM should have no need to updateRelPos
1.729 +void VymModel::updateRelPositions() //FIXME-3 VM should have no need to updateRelPos
1.730 {
1.731 //cout << "VM::updateRelPos...\n";
1.732 for (int i=0; i<rootItem->branchCount(); i++)
1.733 @@ -4694,7 +4638,7 @@
1.734 void VymModel::emitDataHasChanged (TreeItem *ti)
1.735 {
1.736 QModelIndex ix=index(ti);
1.737 - emit (dataHasChanged (ix) );
1.738 + emit (dataChanged (ix,ix) );
1.739 }
1.740
1.741