MCPcopy Create free account
hub / github.com/CobaltFusion/DebugViewPP / LoadConfiguration

Method LoadConfiguration

DebugView++/MainFrame.cpp:837–886  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

835};
836
837void CMainFrame::LoadConfiguration(const std::wstring& fileName)
838{
839 boost::property_tree::ptree pt;
840 boost::property_tree::read_xml(Str(fileName), pt, boost::property_tree::xml_parser::trim_whitespace);
841
842 auto autoNewline = pt.get<bool>("DebugViewPP.AutoNewline");
843 auto linkViews = pt.get<bool>("DebugViewPP.LinkViews");
844
845 auto viewsPt = pt.get_child("DebugViewPP.Views");
846 std::vector<View> views;
847 for (auto& item : viewsPt)
848 {
849 if (item.first == "View")
850 {
851 View view;
852 auto& viewPt = item.second;
853 view.index = viewPt.get<bool>("Index");
854 view.name = viewPt.get<std::string>("Name");
855 view.clockTime = viewPt.get<bool>("ClockTime");
856 view.processColors = viewPt.get<bool>("ProcessColors");
857 view.filters.messageFilters = MakeFilters(viewPt.get_child("MessageFilters"));
858 view.filters.processFilters = MakeFilters(viewPt.get_child("ProcessFilters"));
859
860 views.push_back(view);
861 }
862 }
863 std::sort(views.begin(), views.end(), [](const View& v1, const View& v2) { return v1.index < v2.index; });
864
865 m_logSources.SetAutoNewLine(autoNewline);
866 m_linkViews = linkViews;
867
868 for (int i = 0; i < static_cast<int>(views.size()); ++i)
869 {
870 if (i >= GetViewCount())
871 AddFilterView(WStr(views[i].name), views[i].filters);
872 else
873 GetView(i).SetFilters(views[i].filters);
874
875 auto& logView = GetView(i);
876 logView.SetClockTime(views[i].clockTime);
877 logView.SetViewProcessColors(views[i].processColors);
878 }
879
880 size_t i = GetViewCount();
881 while (i > views.size())
882 {
883 --i;
884 CloseView(i);
885 }
886}
887
888void CMainFrame::SaveConfiguration(const std::wstring& fileName)
889{

Callers 1

MainFunction · 0.80

Calls 8

StrClass · 0.85
MakeFiltersFunction · 0.85
WStrClass · 0.85
SetClockTimeMethod · 0.80
SetViewProcessColorsMethod · 0.80
SetAutoNewLineMethod · 0.45
sizeMethod · 0.45
SetFiltersMethod · 0.45

Tested by

no test coverage detected