diff --git a/plugins/caffeine-quick-setting/prefs/caffeine-quick-setting-prefs.c b/plugins/caffeine-quick-setting/prefs/caffeine-quick-setting-prefs.c index ce162ff177367cac4d0b3bf7e44a505746a9c986..2a30ad95014ae9af86239d9c52b3794f6c497ed4 100644 --- a/plugins/caffeine-quick-setting/prefs/caffeine-quick-setting-prefs.c +++ b/plugins/caffeine-quick-setting/prefs/caffeine-quick-setting-prefs.c @@ -21,6 +21,7 @@ struct _PhoshCaffeineQuickSettingPrefs { AdwPreferencesDialog parent; + GtkStack *stack; GtkListBox *listbox; GtkSpinButton *hours_btn; GtkSpinButton *minutes_btn; @@ -148,6 +149,7 @@ phosh_caffeine_quick_setting_prefs_class_init (PhoshCaffeineQuickSettingPrefsCla "/mobi/phosh/plugins/" "caffeine-quick-setting-prefs/prefs.ui"); + gtk_widget_class_bind_template_child (widget_class, PhoshCaffeineQuickSettingPrefs, stack); gtk_widget_class_bind_template_child (widget_class, PhoshCaffeineQuickSettingPrefs, listbox); gtk_widget_class_bind_template_child (widget_class, PhoshCaffeineQuickSettingPrefs, add_interval_dialog); gtk_widget_class_bind_template_child (widget_class, PhoshCaffeineQuickSettingPrefs, hours_btn); @@ -258,6 +260,9 @@ on_intervals_changed (PhoshCaffeineQuickSettingPrefs *self) gtk_list_box_insert (self->listbox, GTK_WIDGET (row), -1); } + + gtk_stack_set_visible_child_name (self->stack, + g_variant_n_children (intervals) ? "listbox" : "empty-state"); } diff --git a/plugins/caffeine-quick-setting/prefs/prefs.ui b/plugins/caffeine-quick-setting/prefs/prefs.ui index d761da658ea14658521179a606ae2bc5e59e2408..c7d65beb8adb64109389cdcfd5a2c35078e4117f 100644 --- a/plugins/caffeine-quick-setting/prefs/prefs.ui +++ b/plugins/caffeine-quick-setting/prefs/prefs.ui @@ -26,11 +26,35 @@ - - none - + + 0 + + + empty-state + + + No caffeine intervals + caffeine-quick-setting-symbolic + + + + + + + + listbox + + + none + + + + +