void wxExListViewFile::OnIdle(wxIdleEvent& event) { event.Skip(); if ( !IsShown() || GetItemCount() == 0 || !wxConfigBase::Get()->ReadBool("AllowSync", true)) { return; } if (m_ItemNumber < GetItemCount()) { wxExListItem item(this, m_ItemNumber); if ( item.GetFileName().FileExists() && (item.GetFileName().GetStat().GetModificationTime() != GetItemText(m_ItemNumber, _("Modified")) || item.GetFileName().GetStat().IsReadOnly() != item.IsReadOnly()) ) { item.Update(); wxExLogStatus(item.GetFileName(), STAT_SYNC | STAT_FULLPATH); m_ItemUpdated = true; } m_ItemNumber++; } else { m_ItemNumber = 0; if (m_ItemUpdated) { if (wxConfigBase::Get()->ReadBool("List/SortSync", true)) { SortColumn(_("Modified"), SORT_KEEP); } m_ItemUpdated = false; } } if ( IsShown() && GetItemCount() > 0) { CheckSync(); } }
void wxExListViewFile::OnMouse(wxMouseEvent& event) { if (event.LeftDown()) { event.Skip(); // If no item has been selected, then show // filename mod time in the statusbar. int flags = wxLIST_HITTEST_ONITEM; const int index = HitTest(wxPoint(event.GetX(), event.GetY()), flags); if (index < 0) { wxExLogStatus(GetFileName()); } } else { wxFAIL; } }
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()); }
void wxExGenericDirCtrl::OnTree(wxTreeEvent& event) { wxArrayString files; GetPaths(files); if (files.empty()) { event.Skip(); return; } if (event.GetEventType() == wxEVT_COMMAND_TREE_ITEM_MENU) { const wxExFileName filename(files[0]); wxExMenu menu; // uses AppendVCS if (filename.FileExists()) { menu.Append(ID_TREE_OPEN, _("&Open")); menu.AppendSeparator(); } menu.Append(ID_TREE_COPY, wxGetStockLabel(wxID_COPY), wxEmptyString, wxART_COPY); if (wxExVCS::DirExists(filename)) { menu.AppendSeparator(); menu.AppendVCS(filename); } if (filename.GetLexer().GetScintillaLexer() == "makefile") { menu.AppendSeparator(); menu.Append(ID_TREE_RUN_MAKE, "&Make"); } menu.AppendSeparator(); menu.Append(ID_TOOL_REPORT_FIND, wxExEllipsed(m_Frame->GetFindInCaption(ID_TOOL_REPORT_FIND))); menu.Append(ID_TOOL_REPORT_REPLACE, wxExEllipsed(m_Frame->GetFindInCaption(ID_TOOL_REPORT_REPLACE))); PopupMenu(&menu); } else if (event.GetEventType() == wxEVT_COMMAND_TREE_ITEM_ACTIVATED) { const wxFileName fn(files[0]); if (!fn.FileExists() && fn.DirExists()) { if (!GetTreeCtrl()->IsExpanded(event.GetItem())) { ExpandAndSelectPath(files[0]); } else { CollapsePath(files[0]); } } else { wxExOpenFiles(m_Frame, files, 0, wxDIR_FILES); // only files in this dir } } else if (event.GetEventType() == wxEVT_COMMAND_TREE_SEL_CHANGED) { wxExLogStatus(wxFileName(files[0]), STAT_FULLPATH); } else { wxFAIL; } }