From 934e973a6eebedcfc19851f9cf34638c5f55efab Mon Sep 17 00:00:00 2001 From: antonszilasi Date: Sun, 9 Mar 2025 19:27:51 -0500 Subject: [PATCH 1/9] Checkpoint sort measures alphabetically --- .../BuildingComponentDialogCentralWidget.cpp | 58 +++++++++++++++---- .../BuildingComponentDialogCentralWidget.hpp | 4 ++ 2 files changed, 50 insertions(+), 12 deletions(-) diff --git a/src/shared_gui_components/BuildingComponentDialogCentralWidget.cpp b/src/shared_gui_components/BuildingComponentDialogCentralWidget.cpp index ade6236e9..5e9401f74 100644 --- a/src/shared_gui_components/BuildingComponentDialogCentralWidget.cpp +++ b/src/shared_gui_components/BuildingComponentDialogCentralWidget.cpp @@ -15,8 +15,7 @@ #include #include - -#include +#include // Ensure this include is present #include #include #include @@ -169,6 +168,34 @@ void BuildingComponentDialogCentralWidget::setTid() { requestComponents(m_filterType, m_tid, m_pageIdx, m_searchString); } +std::vector BuildingComponentDialogCentralWidget::fetchAndSortResponses(const std::string& filterType, int tid, const QString& searchString) { + m_allResponses.clear(); + RemoteBCL remoteBCL; + std::vector responses; + int totalPages = 1; + int currentPage = 0; + + // Collect all responses from all pages + do { + std::vector pageResponses; + if (filterType == "components") { + pageResponses = remoteBCL.searchComponentLibrary(searchString.toStdString(), tid, currentPage); + } else if (filterType == "measures") { + pageResponses = remoteBCL.searchMeasureLibrary(searchString.toStdString(), tid, currentPage); + } + responses.insert(responses.end(), pageResponses.begin(), pageResponses.end()); + totalPages = remoteBCL.numResultPages(); + currentPage++; + } while (currentPage < totalPages); + + // Sort responses alphabetically by name + std::sort(responses.begin(), responses.end(), [](const BCLSearchResult& a, const BCLSearchResult& b) { + return a.name() < b.name(); + }); + + return responses; +} + // Note: don't call this directly if the "wait" screen is desired void BuildingComponentDialogCentralWidget::setTid(const std::string& filterType, int tid, int pageIdx, const QString& title, const QString& searchString) { @@ -190,16 +217,17 @@ void BuildingComponentDialogCentralWidget::setTid(const std::string& filterType, delete comp; } - RemoteBCL remoteBCL; - remoteBCL.setTimeOutSeconds(m_timeoutSeconds); - std::vector responses; - if (filterType == "components") { - responses = remoteBCL.searchComponentLibrary(searchString.toStdString(), tid, pageIdx); - } else if (filterType == "measures") { - responses = remoteBCL.searchMeasureLibrary(searchString.toStdString(), tid, pageIdx); + if (pageIdx == 0 || m_allResponses.empty()) { + m_allResponses = fetchAndSortResponses(filterType, tid, searchString); } - for (const auto& response : responses) { + // Paginate responses + int itemsPerPage = 10; // Assuming 10 items per page + int startIdx = pageIdx * itemsPerPage; + int endIdx = std::min(startIdx + itemsPerPage, static_cast(m_allResponses.size())); + std::vector paginatedResponses(m_allResponses.begin() + startIdx, m_allResponses.begin() + endIdx); + + for (const auto& response : paginatedResponses) { auto* component = new Component(response); // TODO replace with a componentList owned by m_collapsibleComponentList @@ -210,11 +238,11 @@ void BuildingComponentDialogCentralWidget::setTid(const std::string& filterType, m_collapsibleComponentList->setText(title); // the total number of results - int lastTotalResults = remoteBCL.lastTotalResults(); + int lastTotalResults = m_allResponses.size(); m_collapsibleComponentList->setNumResults(lastTotalResults); // the number of pages of results - int numResultPages = remoteBCL.numResultPages(); + int numResultPages = (lastTotalResults + itemsPerPage - 1) / itemsPerPage; m_collapsibleComponentList->setNumPages(numResultPages); // make sure the header is expanded @@ -232,6 +260,12 @@ void BuildingComponentDialogCentralWidget::setTid(const std::string& filterType, emit componentsReady(); } +// void BuildingComponentDialogCentralWidget::sortResponsesAlphabetically(std::vector& responses) { +// std::sort(responses.begin(), responses.end(), [](const BCLSearchResult& a, const BCLSearchResult& b) { +// return a.name < b.name; +// }); +// } + ///! Slots void BuildingComponentDialogCentralWidget::upperPushButtonClicked() { diff --git a/src/shared_gui_components/BuildingComponentDialogCentralWidget.hpp b/src/shared_gui_components/BuildingComponentDialogCentralWidget.hpp index b1e1cc2d5..4c5363fbb 100644 --- a/src/shared_gui_components/BuildingComponentDialogCentralWidget.hpp +++ b/src/shared_gui_components/BuildingComponentDialogCentralWidget.hpp @@ -20,6 +20,7 @@ #include "../shared_gui_components/ProgressBarWithError.hpp" #include +#include "../../../OpenStudio/src/utilities/bcl/BCL.hpp" class QTimer; @@ -54,6 +55,9 @@ class BuildingComponentDialogCentralWidget void setTid(); void componentDownloadComplete(const std::string& uid, const boost::optional& component); void measureDownloadComplete(const std::string& uid, const boost::optional& measure); + std::vector m_allResponses; + + std::vector fetchAndSortResponses(const std::string& filterType, int tid, const QString& searchString); int m_tid; CollapsibleComponentList* m_collapsibleComponentList; From 4a50fb78f75a646b43970006fb5e8e66aaec9017 Mon Sep 17 00:00:00 2001 From: Anton Szilasi Date: Sun, 9 Mar 2025 22:17:07 -0500 Subject: [PATCH 2/9] Update BuildingComponentDialogCentralWidget.cpp --- .../BuildingComponentDialogCentralWidget.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/shared_gui_components/BuildingComponentDialogCentralWidget.cpp b/src/shared_gui_components/BuildingComponentDialogCentralWidget.cpp index 5e9401f74..8510bcd5c 100644 --- a/src/shared_gui_components/BuildingComponentDialogCentralWidget.cpp +++ b/src/shared_gui_components/BuildingComponentDialogCentralWidget.cpp @@ -15,7 +15,7 @@ #include #include -#include // Ensure this include is present +#include #include #include #include From 77398d30264c01606522fa857f977e8d2a494d0e Mon Sep 17 00:00:00 2001 From: Anton Szilasi Date: Sun, 9 Mar 2025 22:25:17 -0500 Subject: [PATCH 3/9] Update BuildingComponentDialogCentralWidget.cpp --- .../BuildingComponentDialogCentralWidget.cpp | 6 ------ 1 file changed, 6 deletions(-) diff --git a/src/shared_gui_components/BuildingComponentDialogCentralWidget.cpp b/src/shared_gui_components/BuildingComponentDialogCentralWidget.cpp index 8510bcd5c..c29576a9a 100644 --- a/src/shared_gui_components/BuildingComponentDialogCentralWidget.cpp +++ b/src/shared_gui_components/BuildingComponentDialogCentralWidget.cpp @@ -260,12 +260,6 @@ void BuildingComponentDialogCentralWidget::setTid(const std::string& filterType, emit componentsReady(); } -// void BuildingComponentDialogCentralWidget::sortResponsesAlphabetically(std::vector& responses) { -// std::sort(responses.begin(), responses.end(), [](const BCLSearchResult& a, const BCLSearchResult& b) { -// return a.name < b.name; -// }); -// } - ///! Slots void BuildingComponentDialogCentralWidget::upperPushButtonClicked() { From 1a508b64b8ebbdf87a249f346d78880a4f1d49af Mon Sep 17 00:00:00 2001 From: Anton Szilasi Date: Fri, 14 Mar 2025 23:04:37 -0500 Subject: [PATCH 4/9] Update src/shared_gui_components/BuildingComponentDialogCentralWidget.cpp Co-authored-by: Dan Macumber --- .../BuildingComponentDialogCentralWidget.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/shared_gui_components/BuildingComponentDialogCentralWidget.cpp b/src/shared_gui_components/BuildingComponentDialogCentralWidget.cpp index c29576a9a..7d81da545 100644 --- a/src/shared_gui_components/BuildingComponentDialogCentralWidget.cpp +++ b/src/shared_gui_components/BuildingComponentDialogCentralWidget.cpp @@ -185,8 +185,7 @@ std::vector BuildingComponentDialogCentralWidget::f } responses.insert(responses.end(), pageResponses.begin(), pageResponses.end()); totalPages = remoteBCL.numResultPages(); - currentPage++; - } while (currentPage < totalPages); + } while (++currentPage < totalPages); // Sort responses alphabetically by name std::sort(responses.begin(), responses.end(), [](const BCLSearchResult& a, const BCLSearchResult& b) { From 1a36e84ca998d7eb53bfbd527e16e9a8a54e812a Mon Sep 17 00:00:00 2001 From: antonszilasi Date: Sat, 15 Mar 2025 20:20:33 -0500 Subject: [PATCH 5/9] Use size_t instead of int --- .../BuildingComponentDialogCentralWidget.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/shared_gui_components/BuildingComponentDialogCentralWidget.cpp b/src/shared_gui_components/BuildingComponentDialogCentralWidget.cpp index 7d81da545..5d749bce3 100644 --- a/src/shared_gui_components/BuildingComponentDialogCentralWidget.cpp +++ b/src/shared_gui_components/BuildingComponentDialogCentralWidget.cpp @@ -222,8 +222,8 @@ void BuildingComponentDialogCentralWidget::setTid(const std::string& filterType, // Paginate responses int itemsPerPage = 10; // Assuming 10 items per page - int startIdx = pageIdx * itemsPerPage; - int endIdx = std::min(startIdx + itemsPerPage, static_cast(m_allResponses.size())); + size_t startIdx = pageIdx * itemsPerPage; + size_t endIdx = std::min(startIdx + itemsPerPage, static_cast(m_allResponses.size())); std::vector paginatedResponses(m_allResponses.begin() + startIdx, m_allResponses.begin() + endIdx); for (const auto& response : paginatedResponses) { From 1005c129398cc1de2d515efcd9f7c3f0cbd9c030 Mon Sep 17 00:00:00 2001 From: antonszilasi Date: Sat, 15 Mar 2025 23:21:17 -0500 Subject: [PATCH 6/9] This is a better approach only update responses if searchString filterType or tid has changed --- .../BuildingComponentDialogCentralWidget.cpp | 16 +++++----------- 1 file changed, 5 insertions(+), 11 deletions(-) diff --git a/src/shared_gui_components/BuildingComponentDialogCentralWidget.cpp b/src/shared_gui_components/BuildingComponentDialogCentralWidget.cpp index 5d749bce3..cf9e295e5 100644 --- a/src/shared_gui_components/BuildingComponentDialogCentralWidget.cpp +++ b/src/shared_gui_components/BuildingComponentDialogCentralWidget.cpp @@ -199,31 +199,25 @@ std::vector BuildingComponentDialogCentralWidget::f void BuildingComponentDialogCentralWidget::setTid(const std::string& filterType, int tid, int pageIdx, const QString& title, const QString& searchString) { - if (m_tid != tid || m_searchString != searchString) { + if (m_tid != tid || m_searchString != searchString || m_filterType != filterType) { m_collapsibleComponentList->firstPage(); + m_allResponses = fetchAndSortResponses(filterType, tid, searchString); } + m_searchString = searchString; m_filterType = filterType; - m_tid = tid; - m_searchString = searchString; - - //std::vector components = m_collapsibleComponentList->components(); + // Clear existing components std::vector components = m_componentList->components(); // TODO replace with code above - for (auto& comp : components) { delete comp; } - if (pageIdx == 0 || m_allResponses.empty()) { - m_allResponses = fetchAndSortResponses(filterType, tid, searchString); - } - // Paginate responses int itemsPerPage = 10; // Assuming 10 items per page size_t startIdx = pageIdx * itemsPerPage; - size_t endIdx = std::min(startIdx + itemsPerPage, static_cast(m_allResponses.size())); + size_t endIdx = std::min(startIdx + itemsPerPage, m_allResponses.size()); std::vector paginatedResponses(m_allResponses.begin() + startIdx, m_allResponses.begin() + endIdx); for (const auto& response : paginatedResponses) { From 7b1f59df2eae13ff0d9edf807c686fc370d7e1c9 Mon Sep 17 00:00:00 2001 From: antonszilasi Date: Sat, 15 Mar 2025 23:30:09 -0500 Subject: [PATCH 7/9] this makes more sense --- .../BuildingComponentDialogCentralWidget.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/shared_gui_components/BuildingComponentDialogCentralWidget.cpp b/src/shared_gui_components/BuildingComponentDialogCentralWidget.cpp index cf9e295e5..813bf8a47 100644 --- a/src/shared_gui_components/BuildingComponentDialogCentralWidget.cpp +++ b/src/shared_gui_components/BuildingComponentDialogCentralWidget.cpp @@ -235,7 +235,7 @@ void BuildingComponentDialogCentralWidget::setTid(const std::string& filterType, m_collapsibleComponentList->setNumResults(lastTotalResults); // the number of pages of results - int numResultPages = (lastTotalResults + itemsPerPage - 1) / itemsPerPage; + int numResultPages = (lastTotalResults / itemsPerPage) + 1; m_collapsibleComponentList->setNumPages(numResultPages); // make sure the header is expanded From 29ebd36d4f6d6974c8636e2a2137860bea1770ed Mon Sep 17 00:00:00 2001 From: antonszilasi Date: Sun, 16 Mar 2025 23:03:55 -0500 Subject: [PATCH 8/9] I think bug is happening due to + // std::sort(responses.begin(), responses.end(), [](const BCLSearchResult& a, const BCLSearchResult& b) { + // return a.name() < b.name(); + // }); --- .../BuildingComponentDialogCentralWidget.cpp | 46 ++++++++++++------- 1 file changed, 29 insertions(+), 17 deletions(-) diff --git a/src/shared_gui_components/BuildingComponentDialogCentralWidget.cpp b/src/shared_gui_components/BuildingComponentDialogCentralWidget.cpp index 813bf8a47..bc400d46a 100644 --- a/src/shared_gui_components/BuildingComponentDialogCentralWidget.cpp +++ b/src/shared_gui_components/BuildingComponentDialogCentralWidget.cpp @@ -187,10 +187,11 @@ std::vector BuildingComponentDialogCentralWidget::f totalPages = remoteBCL.numResultPages(); } while (++currentPage < totalPages); - // Sort responses alphabetically by name - std::sort(responses.begin(), responses.end(), [](const BCLSearchResult& a, const BCLSearchResult& b) { - return a.name() < b.name(); - }); + if (!responses.empty()) { + std::sort(responses.begin(), responses.end(), [](const BCLSearchResult& a, const BCLSearchResult& b) { + return a.name() < b.name(); + }); + } return responses; } @@ -199,8 +200,12 @@ std::vector BuildingComponentDialogCentralWidget::f void BuildingComponentDialogCentralWidget::setTid(const std::string& filterType, int tid, int pageIdx, const QString& title, const QString& searchString) { - if (m_tid != tid || m_searchString != searchString || m_filterType != filterType) { - m_collapsibleComponentList->firstPage(); + std::string newKey = std::to_string(tid) + filterType + searchString.toStdString(); + std::string currentKey = std::to_string(m_tid) + m_filterType + m_searchString.toStdString(); + + m_collapsibleComponentList->firstPage(); + + if (newKey != currentKey) { m_allResponses = fetchAndSortResponses(filterType, tid, searchString); } @@ -216,15 +221,18 @@ void BuildingComponentDialogCentralWidget::setTid(const std::string& filterType, // Paginate responses int itemsPerPage = 10; // Assuming 10 items per page - size_t startIdx = pageIdx * itemsPerPage; - size_t endIdx = std::min(startIdx + itemsPerPage, m_allResponses.size()); - std::vector paginatedResponses(m_allResponses.begin() + startIdx, m_allResponses.begin() + endIdx); - - for (const auto& response : paginatedResponses) { - auto* component = new Component(response); - - // TODO replace with a componentList owned by m_collapsibleComponentList - m_componentList->addComponent(component); + + if (!m_allResponses.empty()) { + size_t startIdx = pageIdx * itemsPerPage; + size_t endIdx = std::min(startIdx + itemsPerPage, m_allResponses.size()); + std::vector paginatedResponses(m_allResponses.begin() + startIdx, m_allResponses.begin() + endIdx); + + for (const auto& response : paginatedResponses) { + auto* component = new Component(response); + + // TODO replace with a componentList owned by m_collapsibleComponentList + m_componentList->addComponent(component); + } } // the parent taxonomy @@ -235,8 +243,12 @@ void BuildingComponentDialogCentralWidget::setTid(const std::string& filterType, m_collapsibleComponentList->setNumResults(lastTotalResults); // the number of pages of results - int numResultPages = (lastTotalResults / itemsPerPage) + 1; - m_collapsibleComponentList->setNumPages(numResultPages); + if (lastTotalResults == 0) { + m_collapsibleComponentList->setNumPages(0); + } else { + int numResultPages = (lastTotalResults % itemsPerPage == 0) ? (lastTotalResults / itemsPerPage) : (lastTotalResults / itemsPerPage) + 1; + m_collapsibleComponentList->setNumPages(numResultPages); + } // make sure the header is expanded if (m_collapsibleComponentList->checkedCollapsibleComponent()) { From 0d0a373177a863f34f39052d646cc6d3c394b412 Mon Sep 17 00:00:00 2001 From: Dan Macumber Date: Thu, 3 Jul 2025 18:30:31 -0600 Subject: [PATCH 9/9] Fix minor bug and update message description for incompatible measures --- .../BuildingComponentDialogCentralWidget.cpp | 13 ++++++++----- .../BuildingComponentDialogCentralWidget.hpp | 4 ++-- src/shared_gui_components/Component.cpp | 4 ++-- translations/OpenStudioApp_ar.ts | 4 ++-- translations/OpenStudioApp_ca.ts | 4 ++-- translations/OpenStudioApp_de.ts | 4 ++-- translations/OpenStudioApp_el.ts | 4 ++-- translations/OpenStudioApp_es.ts | 4 ++-- translations/OpenStudioApp_fa.ts | 4 ++-- translations/OpenStudioApp_fr.ts | 4 ++-- translations/OpenStudioApp_he.ts | 4 ++-- translations/OpenStudioApp_hi.ts | 4 ++-- translations/OpenStudioApp_it.ts | 4 ++-- translations/OpenStudioApp_ja.ts | 4 ++-- translations/OpenStudioApp_pl.ts | 4 ++-- translations/OpenStudioApp_vi.ts | 4 ++-- translations/OpenStudioApp_zh_CN.ts | 4 ++-- 17 files changed, 40 insertions(+), 37 deletions(-) diff --git a/src/shared_gui_components/BuildingComponentDialogCentralWidget.cpp b/src/shared_gui_components/BuildingComponentDialogCentralWidget.cpp index bc400d46a..8f161f1b2 100644 --- a/src/shared_gui_components/BuildingComponentDialogCentralWidget.cpp +++ b/src/shared_gui_components/BuildingComponentDialogCentralWidget.cpp @@ -170,7 +170,10 @@ void BuildingComponentDialogCentralWidget::setTid() { std::vector BuildingComponentDialogCentralWidget::fetchAndSortResponses(const std::string& filterType, int tid, const QString& searchString) { m_allResponses.clear(); + RemoteBCL remoteBCL; + remoteBCL.setTimeOutSeconds(m_timeoutSeconds); + std::vector responses; int totalPages = 1; int currentPage = 0; @@ -203,16 +206,16 @@ void BuildingComponentDialogCentralWidget::setTid(const std::string& filterType, std::string newKey = std::to_string(tid) + filterType + searchString.toStdString(); std::string currentKey = std::to_string(m_tid) + m_filterType + m_searchString.toStdString(); - m_collapsibleComponentList->firstPage(); + m_searchString = searchString; + m_filterType = filterType; + m_tid = tid; if (newKey != currentKey) { m_allResponses = fetchAndSortResponses(filterType, tid, searchString); + m_collapsibleComponentList->firstPage(); + pageIdx = 0; } - m_searchString = searchString; - m_filterType = filterType; - m_tid = tid; - // Clear existing components std::vector components = m_componentList->components(); // TODO replace with code above for (auto& comp : components) { diff --git a/src/shared_gui_components/BuildingComponentDialogCentralWidget.hpp b/src/shared_gui_components/BuildingComponentDialogCentralWidget.hpp index 4c5363fbb..10728ea57 100644 --- a/src/shared_gui_components/BuildingComponentDialogCentralWidget.hpp +++ b/src/shared_gui_components/BuildingComponentDialogCentralWidget.hpp @@ -16,11 +16,11 @@ #include // Signal-Slot replacement #include #include +#include #include "../shared_gui_components/ProgressBarWithError.hpp" #include -#include "../../../OpenStudio/src/utilities/bcl/BCL.hpp" class QTimer; @@ -55,7 +55,7 @@ class BuildingComponentDialogCentralWidget void setTid(); void componentDownloadComplete(const std::string& uid, const boost::optional& component); void measureDownloadComplete(const std::string& uid, const boost::optional& measure); - std::vector m_allResponses; + std::vector m_allResponses; std::vector fetchAndSortResponses(const std::string& filterType, int tid, const QString& searchString); diff --git a/src/shared_gui_components/Component.cpp b/src/shared_gui_components/Component.cpp index 40c2dc07f..a97bc061f 100644 --- a/src/shared_gui_components/Component.cpp +++ b/src/shared_gui_components/Component.cpp @@ -54,7 +54,7 @@ Component::Component(const BCLMeasure& bclMeasure, bool showAbridgedView, bool s setCheckBoxEnabled(false); m_updateAvailable = false; if (m_msg) { - m_msg->setText("This measure requires a newer version of OpenStudio"); + m_msg->setText("This measure is not compatible with the current version of OpenStudio"); m_msg->setVisible(true); } } @@ -131,7 +131,7 @@ Component::Component(const BCLSearchResult& bclSearchResult, bool showAbridgedVi setCheckBoxEnabled(false); m_updateAvailable = false; if (m_msg) { - m_msg->setText("This measure requires a newer version of OpenStudio"); + m_msg->setText("This measure is not compatible with the current version of OpenStudio"); m_msg->setVisible(true); } } diff --git a/translations/OpenStudioApp_ar.ts b/translations/OpenStudioApp_ar.ts index a03391ce0..4bbab43f8 100644 --- a/translations/OpenStudioApp_ar.ts +++ b/translations/OpenStudioApp_ar.ts @@ -727,12 +727,12 @@ If you would like to see the OpenStudioApplication translated in your language o openstudio::MainWindow - + Allow Analytics - + Allow OpenStudio Coalition to collect anonymous usage statistics to help improve the OpenStudio Application? See the <a href="https://openstudiocoalition.org/about/privacy_policy/">privacy policy</a> for more information. diff --git a/translations/OpenStudioApp_ca.ts b/translations/OpenStudioApp_ca.ts index 1545b9a8c..e6f710738 100644 --- a/translations/OpenStudioApp_ca.ts +++ b/translations/OpenStudioApp_ca.ts @@ -819,12 +819,12 @@ Si voleu que OpeStudioApplication estigui a la vostra llengua, esperem la vostra S'ha de reiniciar - + Allow Analytics - + Allow OpenStudio Coalition to collect anonymous usage statistics to help improve the OpenStudio Application? See the <a href="https://openstudiocoalition.org/about/privacy_policy/">privacy policy</a> for more information. diff --git a/translations/OpenStudioApp_de.ts b/translations/OpenStudioApp_de.ts index c51824188..4a2bf5952 100644 --- a/translations/OpenStudioApp_de.ts +++ b/translations/OpenStudioApp_de.ts @@ -827,12 +827,12 @@ Wenn Sie möchten, dass die OpenStudio-Applikation in die Sprache Ihrer Wahl üb Neustart erforderlich - + Allow Analytics - + Allow OpenStudio Coalition to collect anonymous usage statistics to help improve the OpenStudio Application? See the <a href="https://openstudiocoalition.org/about/privacy_policy/">privacy policy</a> for more information. diff --git a/translations/OpenStudioApp_el.ts b/translations/OpenStudioApp_el.ts index 870fe8458..8acdc4eeb 100644 --- a/translations/OpenStudioApp_el.ts +++ b/translations/OpenStudioApp_el.ts @@ -817,12 +817,12 @@ If you would like to see the OpenStudioApplication translated in your language o Απαιτείται επανεκκίνηση - + Allow Analytics - + Allow OpenStudio Coalition to collect anonymous usage statistics to help improve the OpenStudio Application? See the <a href="https://openstudiocoalition.org/about/privacy_policy/">privacy policy</a> for more information. diff --git a/translations/OpenStudioApp_es.ts b/translations/OpenStudioApp_es.ts index ea27702bf..3ca40c79a 100644 --- a/translations/OpenStudioApp_es.ts +++ b/translations/OpenStudioApp_es.ts @@ -818,12 +818,12 @@ Si le gustaría ver la AplicaciónOpenStudio traducido a algun otro lenguaje, le Se requiere reiniciar - + Allow Analytics - + Allow OpenStudio Coalition to collect anonymous usage statistics to help improve the OpenStudio Application? See the <a href="https://openstudiocoalition.org/about/privacy_policy/">privacy policy</a> for more information. diff --git a/translations/OpenStudioApp_fa.ts b/translations/OpenStudioApp_fa.ts index a64abe4c7..5ffbe55dc 100644 --- a/translations/OpenStudioApp_fa.ts +++ b/translations/OpenStudioApp_fa.ts @@ -817,12 +817,12 @@ If you would like to see the OpenStudioApplication translated in your language o راه اندازی مجدد لازم است - + Allow Analytics - + Allow OpenStudio Coalition to collect anonymous usage statistics to help improve the OpenStudio Application? See the <a href="https://openstudiocoalition.org/about/privacy_policy/">privacy policy</a> for more information. diff --git a/translations/OpenStudioApp_fr.ts b/translations/OpenStudioApp_fr.ts index 6dcb7d70a..20109389a 100644 --- a/translations/OpenStudioApp_fr.ts +++ b/translations/OpenStudioApp_fr.ts @@ -817,12 +817,12 @@ Si vous voulez voir l'Application OpenStudio traduite dans la langue de vot Redémarrage requis - + Allow Analytics - + Allow OpenStudio Coalition to collect anonymous usage statistics to help improve the OpenStudio Application? See the <a href="https://openstudiocoalition.org/about/privacy_policy/">privacy policy</a> for more information. diff --git a/translations/OpenStudioApp_he.ts b/translations/OpenStudioApp_he.ts index c11d9e0de..db0b23c60 100644 --- a/translations/OpenStudioApp_he.ts +++ b/translations/OpenStudioApp_he.ts @@ -815,12 +815,12 @@ If you would like to see the OpenStudioApplication translated in your language o אתחול נדרש - + Allow Analytics - + Allow OpenStudio Coalition to collect anonymous usage statistics to help improve the OpenStudio Application? See the <a href="https://openstudiocoalition.org/about/privacy_policy/">privacy policy</a> for more information. diff --git a/translations/OpenStudioApp_hi.ts b/translations/OpenStudioApp_hi.ts index 6e3077677..564674de8 100644 --- a/translations/OpenStudioApp_hi.ts +++ b/translations/OpenStudioApp_hi.ts @@ -818,12 +818,12 @@ If you would like to see the OpenStudioApplication translated in your language o पुनरारंभ करना आवश्यक है - + Allow Analytics - + Allow OpenStudio Coalition to collect anonymous usage statistics to help improve the OpenStudio Application? See the <a href="https://openstudiocoalition.org/about/privacy_policy/">privacy policy</a> for more information. diff --git a/translations/OpenStudioApp_it.ts b/translations/OpenStudioApp_it.ts index 5fa20a3d0..2a4a55c28 100644 --- a/translations/OpenStudioApp_it.ts +++ b/translations/OpenStudioApp_it.ts @@ -819,12 +819,12 @@ Se vuoi vedere OpenStudioApplication tradotto nel tuo linguaggio preferito, appr Riavvio Richiesto - + Allow Analytics - + Allow OpenStudio Coalition to collect anonymous usage statistics to help improve the OpenStudio Application? See the <a href="https://openstudiocoalition.org/about/privacy_policy/">privacy policy</a> for more information. diff --git a/translations/OpenStudioApp_ja.ts b/translations/OpenStudioApp_ja.ts index 218f363b9..62290d82a 100644 --- a/translations/OpenStudioApp_ja.ts +++ b/translations/OpenStudioApp_ja.ts @@ -818,12 +818,12 @@ If you would like to see the OpenStudioApplication translated in your language o 再起動してください - + Allow Analytics - + Allow OpenStudio Coalition to collect anonymous usage statistics to help improve the OpenStudio Application? See the <a href="https://openstudiocoalition.org/about/privacy_policy/">privacy policy</a> for more information. diff --git a/translations/OpenStudioApp_pl.ts b/translations/OpenStudioApp_pl.ts index 8d496100d..4a37222ea 100644 --- a/translations/OpenStudioApp_pl.ts +++ b/translations/OpenStudioApp_pl.ts @@ -818,12 +818,12 @@ Jeśli chcesz zobaczyć aplikację OpenStudio przetłumaczoną na wybrany przez Wymagane jest ponowne uruchomienie - + Allow Analytics - + Allow OpenStudio Coalition to collect anonymous usage statistics to help improve the OpenStudio Application? See the <a href="https://openstudiocoalition.org/about/privacy_policy/">privacy policy</a> for more information. diff --git a/translations/OpenStudioApp_vi.ts b/translations/OpenStudioApp_vi.ts index d1c2e9dd2..98abd4f77 100644 --- a/translations/OpenStudioApp_vi.ts +++ b/translations/OpenStudioApp_vi.ts @@ -815,12 +815,12 @@ Nếu bạn muốn thấy OpenStudioApplication được dịch sang ngôn ngữ Cần khởi động lại - + Allow Analytics - + Allow OpenStudio Coalition to collect anonymous usage statistics to help improve the OpenStudio Application? See the <a href="https://openstudiocoalition.org/about/privacy_policy/">privacy policy</a> for more information. diff --git a/translations/OpenStudioApp_zh_CN.ts b/translations/OpenStudioApp_zh_CN.ts index b3562fb92..ed1e9d4a5 100644 --- a/translations/OpenStudioApp_zh_CN.ts +++ b/translations/OpenStudioApp_zh_CN.ts @@ -818,12 +818,12 @@ If you would like to see the OpenStudioApplication translated in your language o 要求重启 - + Allow Analytics - + Allow OpenStudio Coalition to collect anonymous usage statistics to help improve the OpenStudio Application? See the <a href="https://openstudiocoalition.org/about/privacy_policy/">privacy policy</a> for more information.