diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index a66f32c9d6..f99082b258 100755 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -17126,6 +17126,16 @@ Change of this parameter will affect the layout of buttons in notification toast Value 20 - + FSShowInboxFolder + + Comment + If enabled, the Received Items folder aka Inbox is shown in the inventory as folder. + Persist + 1 + Type + Boolean + Value + 0 + diff --git a/indra/newview/llinventorypanel.cpp b/indra/newview/llinventorypanel.cpp index 51d657a4ab..cfad8e34f6 100644 --- a/indra/newview/llinventorypanel.cpp +++ b/indra/newview/llinventorypanel.cpp @@ -238,7 +238,14 @@ void LLInventoryPanel::initFromParams(const LLInventoryPanel::Params& params) } // hide inbox - getFilter()->setFilterCategoryTypes(getFilter()->getFilterCategoryTypes() & ~(1ULL << LLFolderType::FT_INBOX)); + // Optional hiding of Received Items folder aka Inbox + //getFilter()->setFilterCategoryTypes(getFilter()->getFilterCategoryTypes() & ~(1ULL << LLFolderType::FT_INBOX)); + if (!gSavedSettings.getBOOL("FSShowInboxFolder")) + { + getFilter()->setFilterCategoryTypes(getFilter()->getFilterCategoryTypes() & ~(1ULL << LLFolderType::FT_INBOX)); + } + gSavedSettings.getControl("FSShowInboxFolder")->getSignal()->connect(boost::bind(&LLInventoryPanel::updateHideInboxFolder, this, _2)); + // Optional hiding of Received Items folder aka Inbox getFilter()->setFilterCategoryTypes(getFilter()->getFilterCategoryTypes() & ~(1ULL << LLFolderType::FT_OUTBOX)); // set the filter for the empty folder if the debug setting is on @@ -1177,6 +1184,25 @@ void LLInventoryPanel::updateHideEmptySystemFolders(const LLSD &data) } // Optional hiding of empty system folders +// Optional hiding of Inbox folder +void LLInventoryPanel::updateHideInboxFolder(const LLSD &data) +{ + LLInventoryFilter* filter = getFilter(); + if (filter) + { + if (data.asBoolean()) + { + filter->setFilterCategoryTypes(filter->getFilterCategoryTypes() | (1ULL << LLFolderType::FT_INBOX)); + } + else + { + filter->setFilterCategoryTypes(filter->getFilterCategoryTypes() & ~(1ULL << LLFolderType::FT_INBOX)); + } + filter->setModified(LLInventoryFilter::FILTER_RESTART); + } +} +// Optional hiding of Inbox folder + // DEBUG ONLY // static void LLInventoryPanel::dumpSelectionInformation(void* user_data) diff --git a/indra/newview/llinventorypanel.h b/indra/newview/llinventorypanel.h index ca6d1b4c1a..588b101f82 100644 --- a/indra/newview/llinventorypanel.h +++ b/indra/newview/llinventorypanel.h @@ -174,7 +174,9 @@ public: // Optional hiding of empty system folders void updateHideEmptySystemFolders(const LLSD &data); - + // Optional hiding of Inbox folder + void updateHideInboxFolder(const LLSD &data); + // DEBUG ONLY: static void dumpSelectionInformation(void* user_data); diff --git a/indra/newview/skins/default/xui/de/panel_preferences_firestorm.xml b/indra/newview/skins/default/xui/de/panel_preferences_firestorm.xml index f033fcfafd..869e547cde 100644 --- a/indra/newview/skins/default/xui/de/panel_preferences_firestorm.xml +++ b/indra/newview/skins/default/xui/de/panel_preferences_firestorm.xml @@ -18,6 +18,7 @@ + diff --git a/indra/newview/skins/default/xui/en/panel_preferences_firestorm.xml b/indra/newview/skins/default/xui/en/panel_preferences_firestorm.xml index da82462255..9fd246119b 100644 --- a/indra/newview/skins/default/xui/en/panel_preferences_firestorm.xml +++ b/indra/newview/skins/default/xui/en/panel_preferences_firestorm.xml @@ -156,6 +156,18 @@ tool_tip="If enabled, the inventory windows will hide all empty system folders like Favorites, Landmarks etc."> + + +