Change summary
src/main/java/eu/siacs/conversations/ui/util/MucDetailsContextMenuHelper.java | 8
src/main/res/values/defaults.xml | 1
src/main/res/xml/preferences_interface.xml | 6
3 files changed, 12 insertions(+), 3 deletions(-)
Detailed changes
@@ -111,6 +111,7 @@ public final class MucDetailsContextMenuHelper {
public static void configureMucDetailsContextMenu(XmppActivity activity, Menu menu, Conversation conversation, User user) {
final MucOptions mucOptions = conversation.getMucOptions();
final boolean advancedMode = PreferenceManager.getDefaultSharedPreferences(activity).getBoolean("advanced_muc_mode", false);
+ final boolean showMucPm = PreferenceManager.getDefaultSharedPreferences(activity).getBoolean("show_muc_pm", false);
final boolean isGroupChat = mucOptions.isPrivateAndNonAnonymous();
MenuItem sendPrivateMessage = menu.findItem(R.id.send_private_message);
MenuItem shareContactDetails = menu.findItem(R.id.share_contact_details);
@@ -170,12 +171,13 @@ public final class MucDetailsContextMenuHelper {
}
}
managePermissions.setVisible(managePermissionsVisible);
- sendPrivateMessage.setVisible(user.isOnline() && !isGroupChat && mucOptions.allowPm() && user.getRole().ranks(MucOptions.Role.VISITOR));
+ sendPrivateMessage.setVisible(showMucPm && user.isOnline() && !isGroupChat && mucOptions.allowPm() && user.getRole().ranks(MucOptions.Role.VISITOR));
shareContactDetails.setVisible(user.isOnline() && !isGroupChat && mucOptions.allowPm() && user.getRole().ranks(MucOptions.Role.VISITOR));
} else {
- sendPrivateMessage.setVisible(user != null && user.isOnline());
+ sendPrivateMessage.setVisible(showMucPm && user != null && user.isOnline());
sendPrivateMessage.setEnabled(user != null && mucOptions.allowPm() && user.getRole().ranks(MucOptions.Role.VISITOR));
- shareContactDetails.setVisible(user != null && user.isOnline() && mucOptions.allowPm() && user.getRole().ranks(MucOptions.Role.VISITOR));
+ shareContactDetails.setVisible(user != null && user.isOnline());
+ shareContactDetails.setEnabled(user != null && mucOptions.allowPm() && user.getRole().ranks(MucOptions.Role.VISITOR));
}
}
@@ -58,4 +58,5 @@
<string name="default_chat_requests">spam</string>
<bool name="default_custom_tab">true</bool>
<bool name="default_nomedia">true</bool>
+ <bool name="show_muc_pm">false</bool>
</resources>
@@ -160,6 +160,12 @@
android:key="compose_rich_text"
android:summary="The message editor will show formatting as you type"
android:title="Compose using rich text" />
+ <SwitchPreferenceCompat
+ android:icon="@drawable/ic_announcement_24dp"
+ android:defaultValue="@bool/show_muc_pm"
+ android:key="show_muc_pm"
+ android:summary="Allow starting semi-private chats inside a channel"
+ android:title="Show Channel PM" />
</PreferenceCategory>
<PreferenceCategory android:title="@string/pref_keyboard_options">
<SwitchPreferenceCompat