client: Only enable find-in-conversation action when the viewer is shown

This commit is contained in:
Michael Gratton 2021-04-14 08:55:00 +10:00 committed by Michael James Gratton
parent da611ccf28
commit 45bab34f45

View file

@ -1807,7 +1807,7 @@ public class Application.MainWindow :
bool multiple = (count == MULTIPLE); bool multiple = (count == MULTIPLE);
get_window_action(ACTION_FIND_IN_CONVERSATION).set_enabled( get_window_action(ACTION_FIND_IN_CONVERSATION).set_enabled(
sensitive && !multiple sensitive && !multiple && this.is_conversation_viewer_shown
); );
bool reply_sensitive = ( bool reply_sensitive = (
@ -1846,11 +1846,6 @@ public class Application.MainWindow :
sensitive && (selected_folder is Geary.FolderSupport.Remove) sensitive && (selected_folder is Geary.FolderSupport.Remove)
); );
this.update_context_dependent_actions.begin(sensitive);
update_conversation_list_actions_revealer(count);
}
private void update_conversation_list_actions_revealer(ConversationCount count) {
switch (count) { switch (count) {
case NONE: case NONE:
this.conversation_list_actions_revealer.reveal_child = false; this.conversation_list_actions_revealer.reveal_child = false;
@ -1864,6 +1859,8 @@ public class Application.MainWindow :
this.conversation_list_actions_revealer.reveal_child = true; this.conversation_list_actions_revealer.reveal_child = true;
break; break;
} }
this.update_context_dependent_actions.begin(sensitive);
} }
private void update_trash_action() { private void update_trash_action() {
@ -2106,7 +2103,7 @@ public class Application.MainWindow :
[GtkCallback] [GtkCallback]
private void on_outer_leaflet_changed() { private void on_outer_leaflet_changed() {
int selected = this.conversation_list_view.get_selected().size; int selected = this.conversation_list_view.get_selected().size;
update_conversation_list_actions_revealer( update_conversation_actions(
ConversationCount.for_size(selected) ConversationCount.for_size(selected)
); );
if (this.has_composer && if (this.has_composer &&