- bool erase=false;
- std::stringstream out;
- std::string levelName=GetTreeHandler()->GetTree().GetLevelDescriptor(mLastLevel).GetName();
- out<<"Delete ";
- out<<sel.size();
- if(sel.size()>1&&levelName.at(levelName.size()-1)!='s')
- {
- out<<" "<<levelName;
- out<<"s?";
- }
- else
- {
- out<<" "<<GetTreeHandler()->GetTree().GetLevelDescriptor(mLastLevel).GetName()<<"?";
- }
- if (wxMessageBox(crea::std2wx(out.str()),
- _T("Remove Files"),
- wxYES_NO,this ) == wxYES)
- {
- erase = true;
- }
- if(erase)
- {
- bool needRefresh=false;
- std::vector<tree::Node*>::const_iterator i;
- for (i=sel.begin(); i!=sel.end(); ++i)
- {
- GimmickMessage(1,
- "deleting '"
- <<(*i)->GetLabel()
- <<"'"<<mLastLevel
- <<std::endl);
- if((*i)->GetParent()->GetNumberOfChildren()<2)
- {
- needRefresh=true;
- }
- GetTreeHandler()->Remove(*i);
- }
-
- if(needRefresh && mLastLevel>1)
+ // if no selection, no remove action.
+ if(sel.size() != 0)
+ {
+ bool erase=false;
+ std::stringstream out;
+ std::string levelName=GetTreeHandler()->GetTree().GetLevelDescriptor(mLastLevel).GetName();
+ out<<"Delete ";
+ out<<sel.size();
+ if(sel.size()>1&&levelName.at(levelName.size()-1)!='s')