summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorinfo-cppsp <[email protected]>2018-03-18 19:57:54 +0100
committerinfo-cppsp <[email protected]>2018-03-18 20:15:16 +0100
commitf6224f1c09acb8e93718338ea6a6c4cafe20c23c (patch)
tree2ed18a63bee9d60b6c6409db29dcde82588993e2
parent217c79fe5ceeb98018cc6f86185359ce110c20d1 (diff)
downloadmate-panel-f6224f1c09acb8e93718338ea6a6c4cafe20c23c.tar.bz2
mate-panel-f6224f1c09acb8e93718338ea6a6c4cafe20c23c.tar.xz
Fix run dialog show-program-list enabling fix
learning signal chaining...
-rw-r--r--mate-panel/panel-run-dialog.c21
1 files changed, 18 insertions, 3 deletions
diff --git a/mate-panel/panel-run-dialog.c b/mate-panel/panel-run-dialog.c
index 06729466..adcb28a0 100644
--- a/mate-panel/panel-run-dialog.c
+++ b/mate-panel/panel-run-dialog.c
@@ -1118,6 +1118,7 @@ static void
panel_run_dialog_update_content (PanelRunDialog *dialog,
gboolean show_list)
{
+
if (!panel_profile_get_enable_program_list ()) {
GtkWidget *parent;
@@ -1131,8 +1132,9 @@ panel_run_dialog_update_content (PanelRunDialog *dialog,
} else {
- /* if the list is closed and the user wants to see it */
- if (show_list && !gtk_expander_get_expanded (GTK_EXPANDER (dialog->list_expander))) {
+ /* the following two conditions occur, when the user clicks the expander in the dialog
+ * if the list is closed and the user wants to see it */
+ if (show_list && gtk_expander_get_expanded (GTK_EXPANDER (dialog->list_expander))) {
/* open the expander, this shows the list */
gtk_expander_set_expanded (GTK_EXPANDER (dialog->list_expander), TRUE);
@@ -1142,7 +1144,7 @@ panel_run_dialog_update_content (PanelRunDialog *dialog,
gtk_widget_grab_focus (dialog->program_list);
/* if the list is open and the user wants to close it */
- } else if (!show_list && gtk_expander_get_expanded (GTK_EXPANDER (dialog->list_expander))) {
+ } else if (!show_list && !gtk_expander_get_expanded (GTK_EXPANDER (dialog->list_expander))) {
/* close the expander, this hides the list */
gtk_expander_set_expanded (GTK_EXPANDER (dialog->list_expander), FALSE);
@@ -1150,6 +1152,19 @@ panel_run_dialog_update_content (PanelRunDialog *dialog,
gtk_window_set_resizable (GTK_WINDOW (dialog->run_dialog), FALSE);
gtk_widget_grab_focus (dialog->combobox);
}
+
+ /* the following two conditions occur, when the user changes the expander setting in GSettings */
+ if (show_list && !gtk_expander_get_expanded (GTK_EXPANDER (dialog->list_expander))) {
+
+ /* open the expander, this shows the list */
+ gtk_expander_set_expanded (GTK_EXPANDER (dialog->list_expander), TRUE);
+
+ /* if the list is open and the user wants to close it */
+ } else if (!show_list && gtk_expander_get_expanded (GTK_EXPANDER (dialog->list_expander))) {
+
+ /* close the expander, this hides the list */
+ gtk_expander_set_expanded (GTK_EXPANDER (dialog->list_expander), FALSE);
+ }
}
}