예제 #1
0
bool wxExDirWithListView::OnDir(const std::string& dir)
{
  if (wxConfigBase::Get()->ReadBool(_("Add folders"), true))
  {
    wxExListItem(m_ListView, dir, GetFileSpec()).Insert();
  }
  return true;
}
예제 #2
0
void wxExListViewFile::DoFileLoad(bool synced)
{
  EditClearAll();

  wxXmlDocument doc;

  if (!doc.Load(GetFileName().GetFullPath()))
  {
    return;
  }

  wxXmlNode* child = doc.GetRoot()->GetChildren();

  while (child)
  {
    const wxString value = child->GetNodeContent();

    if (child->GetName() == "file")
    {
      wxExListItem(this, value).Insert();
    }
    else if (child->GetName() == "folder")
    {
      wxExListItem(this, value, child->GetAttribute("extensions")).Insert();
    }
    
    child = child->GetNext();
  }

  if (synced)
  {
    wxExLogStatus(GetFileName(), STAT_SYNC | STAT_FULLPATH);
  }

  GetFrame()->SetRecentProject(GetFileName().GetFullPath());
}
예제 #3
0
void wxExListViewFile::DoFileSave(bool save_as)
{
  wxXmlNode* root = new wxXmlNode(wxXML_ELEMENT_NODE, "files");
  wxXmlNode* comment = new wxXmlNode(
    wxXML_COMMENT_NODE,
    wxEmptyString,
    wxTheApp->GetAppDisplayName() + " project " + GetFileName().GetFullName() + 
      " "  + wxDateTime::Now().Format());

  root->AddChild(comment);

  for (int i = 0; i < GetItemCount(); i++)
  {
    const wxExFileName fn = wxExListItem(this, i).GetFileName();

    wxXmlNode* element = new wxXmlNode(
      wxXML_ELEMENT_NODE,
      (fn.FileExists() ? "file": "folder"));

    if (!fn.FileExists() && fn.DirExists())
    {
      element->AddAttribute("extensions", GetItemText(i, _("Type")));
    }
    
    wxXmlNode* text = new wxXmlNode(
      wxXML_TEXT_NODE, 
      wxEmptyString, 
      fn.GetFullPath());
      
    element->AddChild(text);
    root->AddChild(element);
  }
  
  wxXmlDocument doc;
  doc.SetRoot(root);
  doc.Save(GetFileName().GetFullPath());
}
예제 #4
0
bool wxExDirWithListView::OnFile(const std::string& file)
{
  wxExListItem(m_ListView, file, GetFileSpec()).Insert();
  return true;
}