| 3014 | } |
| 3015 | |
| 3016 | void IGFD::ThumbnailFeature::m_DrawThumbnailGenerationProgress() { |
| 3017 | if (m_ThumbnailGenerationThread.use_count() && m_ThumbnailGenerationThread->joinable()) { |
| 3018 | m_ThumbnailFileDatasToGetMutex.lock(); |
| 3019 | if (!m_ThumbnailFileDatasToGet.empty()) { |
| 3020 | const auto p = (float)((double)m_CountFiles / (double)m_ThumbnailFileDatasToGet.size()); // read => no thread concurency issues |
| 3021 | m_VariadicProgressBar(p, ImVec2(50, 0), "%u/%u", m_CountFiles, (uint32_t)m_ThumbnailFileDatasToGet.size()); // read => no thread concurency issues |
| 3022 | ImGui::SameLine(); |
| 3023 | } |
| 3024 | m_ThumbnailFileDatasToGetMutex.unlock(); |
| 3025 | m_ThumbnailFileDatasToGetCv.notify_all(); |
| 3026 | } |
| 3027 | } |
| 3028 | |
| 3029 | void IGFD::ThumbnailFeature::m_AddThumbnailToLoad(const std::shared_ptr<FileInfos>& vFileInfos) { |
| 3030 | if (vFileInfos.use_count()) { |