Remove style removal warnings for My Favorites sets only

This commit is contained in:
manongjohn 2021-09-23 08:12:02 -04:00
parent a826050606
commit 232a83ee74
2 changed files with 55 additions and 33 deletions

View file

@ -555,6 +555,7 @@ protected:
bool m_allowPageDelete; bool m_allowPageDelete;
bool m_favorite = false; bool m_favorite = false;
bool m_myFavoriteSet = false;
bool m_allowFavorite = false; bool m_allowFavorite = false;
bool m_external = false; bool m_external = false;
@ -571,6 +572,9 @@ public:
virtual void setFavorite(bool favorite) { m_favorite = favorite; } virtual void setFavorite(bool favorite) { m_favorite = favorite; }
bool isFavorite() { return m_favorite; } bool isFavorite() { return m_favorite; }
void setMyFavoriteSet(bool myFavorite) { m_myFavoriteSet = myFavorite; }
bool isMyFavoriteSet() { return m_myFavoriteSet; }
void setAllowFavorite(bool allow) { m_allowFavorite = allow; } void setAllowFavorite(bool allow) { m_allowFavorite = allow; }
bool allowFavorite() { return m_allowFavorite; } bool allowFavorite() { return m_allowFavorite; }

View file

@ -2024,12 +2024,14 @@ void StyleChooserPage::onTogglePage(bool toggled) {
void StyleChooserPage::onRemoveStyleFromSet() { void StyleChooserPage::onRemoveStyleFromSet() {
if (m_currentIndex <= 0) return; if (m_currentIndex <= 0) return;
int ret = DVGui::MsgBox( if (!isMyFavoriteSet()) {
QObject::tr("Removing a Style will permanently delete the style file. " int ret = DVGui::MsgBox(
"This cannot be undone!\nAre you sure?") QObject::tr("Removing a Style will permanently delete the style file. "
.arg(getStyleSetName()), "This cannot be undone!\nAre you sure?")
QObject::tr("Ok"), QObject::tr("Cancel")); .arg(getStyleSetName()),
if (ret == 0 || ret == 2) return; QObject::tr("Ok"), QObject::tr("Cancel"));
if (ret == 0 || ret == 2) return;
}
m_selection.clear(); m_selection.clear();
m_selection.push_back(m_currentIndex); m_selection.push_back(m_currentIndex);
@ -2040,12 +2042,15 @@ void StyleChooserPage::onRemoveStyleFromSet() {
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
void StyleChooserPage::onEmptySet() { void StyleChooserPage::onEmptySet() {
int ret = DVGui::MsgBox( if (!isMyFavoriteSet()) {
QObject::tr("Emptying Set \"%1\" will permanently delete all style files " int ret = DVGui::MsgBox(
"for this set. This cannot be undone!\nAre you sure?") QObject::tr(
.arg(getStyleSetName()), "Emptying Set \"%1\" will permanently delete all style files "
QObject::tr("Ok"), QObject::tr("Cancel")); "for this set. This cannot be undone!\nAre you sure?")
if (ret == 0 || ret == 2) return; .arg(getStyleSetName()),
QObject::tr("Ok"), QObject::tr("Cancel"));
if (ret == 0 || ret == 2) return;
}
m_selection.clear(); m_selection.clear();
for (int index = 1; index < getChipCount(); index++) for (int index = 1; index < getChipCount(); index++)
@ -2141,12 +2146,15 @@ void StyleChooserPage::onReloadStyleSet() { loadItems(); }
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
void StyleChooserPage::onRemoveStyleSet() { void StyleChooserPage::onRemoveStyleSet() {
int ret = DVGui::MsgBox( if (!isMyFavoriteSet()) {
QObject::tr("Removing Style Set \"%1\" will permanently delete all style " int ret = DVGui::MsgBox(
"files for this set. This cannot be undone!\nAre you sure?") QObject::tr(
.arg(getStyleSetName()), "Removing Style Set \"%1\" will permanently delete all style "
QObject::tr("Ok"), QObject::tr("Cancel")); "files for this set. This cannot be undone!\nAre you sure?")
if (ret == 0 || ret == 2) return; .arg(getStyleSetName()),
QObject::tr("Ok"), QObject::tr("Cancel"));
if (ret == 0 || ret == 2) return;
}
try { try {
TSystem::rmDirTree(m_stylesFolder); TSystem::rmDirTree(m_stylesFolder);
@ -5454,13 +5462,16 @@ void StyleEditor::createStylePage(StylePageType pageType, TFilePath styleFolder,
if (isFavorite || !fps.empty() || if (isFavorite || !fps.empty() ||
pageType == StylePageType::VectorGenerated || dirDepth > 0) { pageType == StylePageType::VectorGenerated || dirDepth > 0) {
// Set up style set page // Set up style set page
bool isExternal = false; bool isExternal = false;
bool isMyFavoriteSet = false;
if (isFavorite && dirDepth == 0) isMyFavoriteSet = true;
QString labelText = QString labelText =
(pageType == StylePageType::VectorGenerated (pageType == StylePageType::VectorGenerated
? tr("Generated") ? tr("Generated")
: (isFavorite && dirDepth == 0) : (isMyFavoriteSet) ? tr("My Favorites")
? tr("My Favorites") : styleFolder.withoutParentDir().getQString());
: styleFolder.withoutParentDir().getQString());
if (isFavorite && dirDepth > 0) if (isFavorite && dirDepth > 0)
labelText += tr(" (Favorites)"); labelText += tr(" (Favorites)");
else if (!isFavorite && pageType == StylePageType::Raster && else if (!isFavorite && pageType == StylePageType::Raster &&
@ -5492,6 +5503,7 @@ void StyleEditor::createStylePage(StylePageType pageType, TFilePath styleFolder,
if (!isFavorite || dirDepth > 0) newPage->setAllowFavorite(true); if (!isFavorite || dirDepth > 0) newPage->setAllowFavorite(true);
if (dirDepth == 0 || isExternal) newPage->setAllowPageDelete(false); if (dirDepth == 0 || isExternal) newPage->setAllowPageDelete(false);
newPage->setExternal(isExternal); newPage->setExternal(isExternal);
newPage->setMyFavoriteSet(isMyFavoriteSet);
m_texturePages.push_back(newPage); m_texturePages.push_back(newPage);
m_textureLabels.push_back(label); m_textureLabels.push_back(label);
m_textureButtons.push_back(button); m_textureButtons.push_back(button);
@ -5519,7 +5531,7 @@ void StyleEditor::createStylePage(StylePageType pageType, TFilePath styleFolder,
menuAction->setDefaultWidget(checkBox); menuAction->setDefaultWidget(checkBox);
// Favorites should be 1st // Favorites should be 1st
if (label->text() == "My Favorites") if (isMyFavoriteSet)
menuAction->setVisible(!m_textureButtons[0]->isHidden()); menuAction->setVisible(!m_textureButtons[0]->isHidden());
m_textureMenu->insertAction( m_textureMenu->insertAction(
@ -5533,6 +5545,7 @@ void StyleEditor::createStylePage(StylePageType pageType, TFilePath styleFolder,
newPage->setAllowFavorite(true); newPage->setAllowFavorite(true);
newPage->setAllowPageDelete(false); newPage->setAllowPageDelete(false);
newPage->setExternal(false); newPage->setExternal(false);
newPage->setMyFavoriteSet(isMyFavoriteSet);
m_vectorPages.push_back(newPage); m_vectorPages.push_back(newPage);
m_vectorLabels.push_back(label); m_vectorLabels.push_back(label);
m_vectorButtons.push_back(button); m_vectorButtons.push_back(button);
@ -5553,7 +5566,7 @@ void StyleEditor::createStylePage(StylePageType pageType, TFilePath styleFolder,
menuAction->setDefaultWidget(checkBox); menuAction->setDefaultWidget(checkBox);
// Favorites should be 1st // Favorites should be 1st
if (label->text() == "My Favorites") if (isMyFavoriteSet)
menuAction->setVisible(!m_vectorButtons[0]->isHidden()); menuAction->setVisible(!m_vectorButtons[0]->isHidden());
m_vectorMenu->insertAction( m_vectorMenu->insertAction(
@ -5568,6 +5581,7 @@ void StyleEditor::createStylePage(StylePageType pageType, TFilePath styleFolder,
if (!isFavorite || dirDepth > 0) newPage->setAllowFavorite(true); if (!isFavorite || dirDepth > 0) newPage->setAllowFavorite(true);
if (dirDepth == 0 || isExternal) newPage->setAllowPageDelete(false); if (dirDepth == 0 || isExternal) newPage->setAllowPageDelete(false);
newPage->setExternal(isExternal); newPage->setExternal(isExternal);
newPage->setMyFavoriteSet(isMyFavoriteSet);
m_vectorPages.push_back(newPage); m_vectorPages.push_back(newPage);
m_vectorLabels.push_back(label); m_vectorLabels.push_back(label);
m_vectorButtons.push_back(button); m_vectorButtons.push_back(button);
@ -5595,7 +5609,7 @@ void StyleEditor::createStylePage(StylePageType pageType, TFilePath styleFolder,
menuAction->setDefaultWidget(checkBox); menuAction->setDefaultWidget(checkBox);
// Favorites should be 1st // Favorites should be 1st
if (label->text() == "My Favorites") if (isMyFavoriteSet)
menuAction->setVisible(!m_vectorButtons[0]->isHidden()); menuAction->setVisible(!m_vectorButtons[0]->isHidden());
m_vectorMenu->insertAction( m_vectorMenu->insertAction(
@ -5610,6 +5624,7 @@ void StyleEditor::createStylePage(StylePageType pageType, TFilePath styleFolder,
if (!isFavorite || dirDepth > 0) newPage->setAllowFavorite(true); if (!isFavorite || dirDepth > 0) newPage->setAllowFavorite(true);
if (dirDepth == 0 || isExternal) newPage->setAllowPageDelete(false); if (dirDepth == 0 || isExternal) newPage->setAllowPageDelete(false);
newPage->setExternal(isExternal); newPage->setExternal(isExternal);
newPage->setMyFavoriteSet(isMyFavoriteSet);
m_vectorPages.push_back(newPage); m_vectorPages.push_back(newPage);
m_vectorLabels.push_back(label); m_vectorLabels.push_back(label);
m_vectorButtons.push_back(button); m_vectorButtons.push_back(button);
@ -5637,7 +5652,7 @@ void StyleEditor::createStylePage(StylePageType pageType, TFilePath styleFolder,
menuAction->setDefaultWidget(checkBox); menuAction->setDefaultWidget(checkBox);
// Favorites should be 1st // Favorites should be 1st
if (label->text() == "My Favorites") if (isMyFavoriteSet)
menuAction->setVisible(!m_vectorButtons[0]->isHidden()); menuAction->setVisible(!m_vectorButtons[0]->isHidden());
m_vectorMenu->insertAction( m_vectorMenu->insertAction(
@ -5652,6 +5667,7 @@ void StyleEditor::createStylePage(StylePageType pageType, TFilePath styleFolder,
if (!isFavorite || dirDepth > 0) newPage->setAllowFavorite(true); if (!isFavorite || dirDepth > 0) newPage->setAllowFavorite(true);
if (dirDepth == 0 || isExternal) newPage->setAllowPageDelete(false); if (dirDepth == 0 || isExternal) newPage->setAllowPageDelete(false);
newPage->setExternal(isExternal); newPage->setExternal(isExternal);
newPage->setMyFavoriteSet(isMyFavoriteSet);
m_rasterPages.push_back(newPage); m_rasterPages.push_back(newPage);
m_rasterLabels.push_back(label); m_rasterLabels.push_back(label);
m_rasterButtons.push_back(button); m_rasterButtons.push_back(button);
@ -5679,7 +5695,7 @@ void StyleEditor::createStylePage(StylePageType pageType, TFilePath styleFolder,
menuAction->setDefaultWidget(checkBox); menuAction->setDefaultWidget(checkBox);
// Favorites should be 1st // Favorites should be 1st
if (label->text() == "My Favorites") if (isMyFavoriteSet)
menuAction->setVisible(!m_rasterButtons[0]->isHidden()); menuAction->setVisible(!m_rasterButtons[0]->isHidden());
m_rasterMenu->insertAction( m_rasterMenu->insertAction(
@ -6236,12 +6252,14 @@ void StyleEditor::onRemoveSelectedStyleFromSet() {
int tab = m_styleBar->currentIndex(); int tab = m_styleBar->currentIndex();
if (tab < 1 || tab > 3) return; if (tab < 1 || tab > 3) return;
int ret = if (!isSelectingFavoritesOnly()) {
DVGui::MsgBox(QObject::tr("Removing the selected Styles will permanently " int ret = DVGui::MsgBox(
"delete style files from their sets. " QObject::tr("Removing the selected Styles will permanently "
"This cannot be undone!\nAre you sure?"), "delete style files from their sets. "
QObject::tr("Ok"), QObject::tr("Cancel")); "This cannot be undone!\nAre you sure?"),
if (ret == 0 || ret == 2) return; QObject::tr("Ok"), QObject::tr("Cancel"));
if (ret == 0 || ret == 2) return;
}
std::vector<StyleChooserPage *> *pages; std::vector<StyleChooserPage *> *pages;
if (tab == 1) if (tab == 1)