From 0c4ff6b7b851485627cdb0c7397cdf20ab1b9340 Mon Sep 17 00:00:00 2001 From: Rudra Pratap Singh Date: Fri, 14 Nov 2025 04:18:23 +0530 Subject: [PATCH 1/2] caffeine-prefs: Add empty-state for no intervals Signed-off-by: Rudra Pratap Singh Part-of: --- .../prefs/caffeine-quick-setting-prefs.c | 5 +++ plugins/caffeine-quick-setting/prefs/prefs.ui | 31 ++++++++++++++++--- 2 files changed, 31 insertions(+), 5 deletions(-) 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 ce162ff17..2a30ad950 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 d761da658..7411d7710 100644 --- a/plugins/caffeine-quick-setting/prefs/prefs.ui +++ b/plugins/caffeine-quick-setting/prefs/prefs.ui @@ -26,11 +26,32 @@ - - none - + + 0 + + + empty-state + + + No caffeine intervals + caffeine-quick-setting-symbolic + + + + + + + listbox + + + none + + + + + -- GitLab From 55006f29a71e7dd8344f961360ca4ced58dda4f8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Guido=20G=C3=BCnther?= Date: Sat, 15 Nov 2025 11:08:53 +0100 Subject: [PATCH 2/2] caffeine/prefs: Make empty state compact MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit It's for a dialog, not a main window Signed-off-by: Guido Günther Part-of: --- plugins/caffeine-quick-setting/prefs/prefs.ui | 3 +++ 1 file changed, 3 insertions(+) diff --git a/plugins/caffeine-quick-setting/prefs/prefs.ui b/plugins/caffeine-quick-setting/prefs/prefs.ui index 7411d7710..c7d65beb8 100644 --- a/plugins/caffeine-quick-setting/prefs/prefs.ui +++ b/plugins/caffeine-quick-setting/prefs/prefs.ui @@ -35,6 +35,9 @@ No caffeine intervals caffeine-quick-setting-symbolic + -- GitLab