diff options
author | Bartosz Taudul <wolf@nereid.pl> | 2022-10-05 23:50:17 +0300 |
---|---|---|
committer | Bartosz Taudul <wolf@nereid.pl> | 2022-10-05 23:50:17 +0300 |
commit | 3ca61ad2278c9e41a6ad5c65df4c8b7afc047dd0 (patch) | |
tree | 83568a4323df4fdfbc93f4f7e9b21ab39568a961 /profiler | |
parent | 5940af8995a81cf012dff2bc21962a3d9bf0666e (diff) |
Extract file selector functionality.
Diffstat (limited to 'profiler')
-rw-r--r-- | profiler/build/win32/Tracy.vcxproj | 2 | ||||
-rw-r--r-- | profiler/build/win32/Tracy.vcxproj.filters | 6 | ||||
-rw-r--r-- | profiler/src/main.cpp | 22 |
3 files changed, 14 insertions, 16 deletions
diff --git a/profiler/build/win32/Tracy.vcxproj b/profiler/build/win32/Tracy.vcxproj index bc99f75a..834e38c5 100644 --- a/profiler/build/win32/Tracy.vcxproj +++ b/profiler/build/win32/Tracy.vcxproj @@ -120,6 +120,7 @@ <ClCompile Include="..\..\..\public\common\tracy_lz4hc.cpp" /> <ClCompile Include="..\..\..\server\TracyBadVersion.cpp" /> <ClCompile Include="..\..\..\server\TracyColor.cpp" /> + <ClCompile Include="..\..\..\server\TracyFileselector.cpp" /> <ClCompile Include="..\..\..\server\TracyFilesystem.cpp" /> <ClCompile Include="..\..\..\server\TracyImGui.cpp" /> <ClCompile Include="..\..\..\server\TracyMemory.cpp" /> @@ -255,6 +256,7 @@ <ClInclude Include="..\..\..\server\TracyEvent.hpp" /> <ClInclude Include="..\..\..\server\TracyFileHeader.hpp" /> <ClInclude Include="..\..\..\server\TracyFileRead.hpp" /> + <ClInclude Include="..\..\..\server\TracyFileselector.hpp" /> <ClInclude Include="..\..\..\server\TracyFilesystem.hpp" /> <ClInclude Include="..\..\..\server\TracyFileWrite.hpp" /> <ClInclude Include="..\..\..\server\TracyImGui.hpp" /> diff --git a/profiler/build/win32/Tracy.vcxproj.filters b/profiler/build/win32/Tracy.vcxproj.filters index e6d4ba20..a97ea0b0 100644 --- a/profiler/build/win32/Tracy.vcxproj.filters +++ b/profiler/build/win32/Tracy.vcxproj.filters @@ -375,6 +375,9 @@ <ClCompile Include="..\..\..\server\TracyTimelineItemCpuData.cpp"> <Filter>server</Filter> </ClCompile> + <ClCompile Include="..\..\..\server\TracyFileselector.cpp"> + <Filter>server</Filter> + </ClCompile> </ItemGroup> <ItemGroup> <ClInclude Include="..\..\..\server\TracyEvent.hpp"> @@ -758,6 +761,9 @@ <ClInclude Include="..\..\..\server\TracyTimelineItemCpuData.hpp"> <Filter>server</Filter> </ClInclude> + <ClInclude Include="..\..\..\server\TracyFileselector.hpp"> + <Filter>server</Filter> + </ClInclude> </ItemGroup> <ItemGroup> <Natvis Include="DebugVis.natvis" /> diff --git a/profiler/src/main.cpp b/profiler/src/main.cpp index 2756a028..d21ae81d 100644 --- a/profiler/src/main.cpp +++ b/profiler/src/main.cpp @@ -14,10 +14,6 @@ #include <sys/stat.h> #include <locale.h> -#ifndef TRACY_NO_FILESELECTOR -# include "../nfd/nfd.h" -#endif - #ifdef _WIN32 # include <windows.h> #endif @@ -36,6 +32,7 @@ #include "../../server/TracyBadVersion.hpp" #include "../../server/TracyFileHeader.hpp" #include "../../server/TracyFileRead.hpp" +#include "../../server/TracyFileselector.hpp" #include "../../server/TracyImGui.hpp" #include "../../server/TracyMouse.hpp" #include "../../server/TracyPrint.hpp" @@ -241,9 +238,7 @@ int main( int argc, char** argv ) view = std::make_unique<tracy::View>( RunOnMainThread, connectTo, port, s_fixedWidth, s_smallFont, s_bigFont, SetWindowTitleCallback, SetupScaleCallback ); } -#ifndef TRACY_NO_FILESELECTOR - NFD_Init(); -#endif + tracy::Fileselector::Init(); backend.Show(); backend.Run(); @@ -256,9 +251,7 @@ int main( int argc, char** argv ) tracy::FreeTexture( iconTex, RunOnMainThread ); free( iconPx ); -#ifndef TRACY_NO_FILESELECTOR - NFD_Quit(); -#endif + tracy::Fileselector::Shutdown(); return 0; } @@ -582,14 +575,12 @@ static void DrawContents() #ifndef TRACY_NO_FILESELECTOR if( ImGui::Button( ICON_FA_FOLDER_OPEN " Open saved trace" ) && !loadThread.joinable() ) { - nfdu8filteritem_t filter = { "Tracy Profiler trace file", "tracy" }; - nfdu8char_t* fn; - auto res = NFD_OpenDialogU8( &fn, &filter, 1, nullptr ); - if( res == NFD_OKAY ) + auto fn = tracy::Fileselector::OpenFile( "tracy", "Tracy Profiler trace file" ); + if( !fn.empty() ) { try { - auto f = std::shared_ptr<tracy::FileRead>( tracy::FileRead::Open( fn ) ); + auto f = std::shared_ptr<tracy::FileRead>( tracy::FileRead::Open( fn.c_str() ) ); if( f ) { loadThread = std::thread( [f] { @@ -618,7 +609,6 @@ static void DrawContents() { badVer.state = tracy::BadVersionState::ReadError; } - NFD_FreePathU8( fn ); } } |