Hide encryption icon in public MUCs

This commit is contained in:
fiaxh 2019-05-26 22:18:08 +02:00
parent 68ab977287
commit 2fb51df8a2
2 changed files with 9 additions and 2 deletions

View file

@ -11,8 +11,11 @@ public class EncryptionButton : MenuButton {
private RadioButton? button_unencrypted; private RadioButton? button_unencrypted;
private Map<RadioButton, Plugins.EncryptionListEntry> encryption_radios = new HashMap<RadioButton, Plugins.EncryptionListEntry>(); private Map<RadioButton, Plugins.EncryptionListEntry> encryption_radios = new HashMap<RadioButton, Plugins.EncryptionListEntry>();
private string? current_icon; private string? current_icon;
private StreamInteractor stream_interactor;
public EncryptionButton(StreamInteractor stream_interactor) {
this.stream_interactor = stream_interactor;
public EncryptionButton() {
relief = ReliefStyle.NONE; relief = ReliefStyle.NONE;
use_popover = true; use_popover = true;
image = new Image.from_icon_name("changes-allow-symbolic", IconSize.BUTTON); image = new Image.from_icon_name("changes-allow-symbolic", IconSize.BUTTON);
@ -72,6 +75,9 @@ public class EncryptionButton : MenuButton {
this.conversation = conversation; this.conversation = conversation;
update_encryption_menu_state(); update_encryption_menu_state();
update_encryption_menu_icon(); update_encryption_menu_icon();
visible = !stream_interactor.get_module(MucManager.IDENTITY).is_public_room(conversation.account, conversation.counterpart) ||
conversation.encryption != Encryption.NONE;
} }
} }

View file

@ -30,7 +30,7 @@ public class View : Box {
[GtkChild] private Box outer_box; [GtkChild] private Box outer_box;
[GtkChild] private Button file_button; [GtkChild] private Button file_button;
[GtkChild] private Separator file_separator; [GtkChild] private Separator file_separator;
private EncryptionButton encryption_widget = new EncryptionButton() { margin_top=3, valign=Align.START, visible=true }; private EncryptionButton encryption_widget;
public View init(StreamInteractor stream_interactor) { public View init(StreamInteractor stream_interactor) {
this.stream_interactor = stream_interactor; this.stream_interactor = stream_interactor;
@ -38,6 +38,7 @@ public class View : Box {
occupants_tab_completor = new OccupantsTabCompletor(stream_interactor, text_input); occupants_tab_completor = new OccupantsTabCompletor(stream_interactor, text_input);
smiley_converter = new SmileyConverter(stream_interactor, text_input); smiley_converter = new SmileyConverter(stream_interactor, text_input);
edit_history = new EditHistory(text_input, GLib.Application.get_default()); edit_history = new EditHistory(text_input, GLib.Application.get_default());
encryption_widget = new EncryptionButton(stream_interactor) { margin_top=3, valign=Align.START, visible=true };
file_button.clicked.connect(() => { file_button.clicked.connect(() => {
PreviewFileChooserNative chooser = new PreviewFileChooserNative("Select file", get_toplevel() as Gtk.Window, FileChooserAction.OPEN, "Select", "Cancel"); PreviewFileChooserNative chooser = new PreviewFileChooserNative("Select file", get_toplevel() as Gtk.Window, FileChooserAction.OPEN, "Select", "Cancel");