From 826aa2ab05ceef2fa59d791d27d237c3534b4e3e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Gr=C3=B6ber?= Date: Thu, 10 Jul 2025 15:14:15 +0200 Subject: [PATCH 1/3] quick filter: Simplify widget hiding code --- gtk/rgmainwindow.cc | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/gtk/rgmainwindow.cc b/gtk/rgmainwindow.cc index dc35dc4d..a49e0439 100644 --- a/gtk/rgmainwindow.cc +++ b/gtk/rgmainwindow.cc @@ -1568,18 +1568,15 @@ void RGMainWindow::buildInterface() // only enable fast search if its usable #ifdef HAVE_XAPIAN if(!_lister->xapiandatabase() || - !FileExists("/usr/sbin/update-apt-xapian-index")) { + !FileExists("/usr/sbin/update-apt-xapian-index")) +#endif + { gtk_widget_hide(GTK_WIDGET( gtk_builder_get_object(_builder, "toolitem_fast_search"))); gtk_box_set_center_widget(GTK_BOX( gtk_builder_get_object(_builder, "hbox_button_toolbar")), NULL); } -#else - gtk_widget_hide(GTK_WIDGET( - gtk_builder_get_object(_builder, "toolitem_fast_search"))); - gtk_box_set_center_widget(GTK_BOX( - gtk_builder_get_object(_builder, "hbox_button_toolbar")), NULL); -#endif + // stuff for the non-root mode if(getuid() != 0) { GtkWidget *menu; From dcf8269412f15800e50fb9ab2b4c82dcc5118374 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Gr=C3=B6ber?= Date: Thu, 10 Jul 2025 15:15:20 +0200 Subject: [PATCH 2/3] quick filter: Hide only when apt-xapian-index is unavailable Previously the widget wouldn't be displayed on first run as epected since the xapian database doesn't exist yet at this point. --- gtk/rgmainwindow.cc | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/gtk/rgmainwindow.cc b/gtk/rgmainwindow.cc index a49e0439..7706823e 100644 --- a/gtk/rgmainwindow.cc +++ b/gtk/rgmainwindow.cc @@ -1567,8 +1567,7 @@ void RGMainWindow::buildInterface() // only enable fast search if its usable #ifdef HAVE_XAPIAN - if(!_lister->xapiandatabase() || - !FileExists("/usr/sbin/update-apt-xapian-index")) + if(!FileExists("/usr/sbin/update-apt-xapian-index")) #endif { gtk_widget_hide(GTK_WIDGET( From 1122a2c83c8beff9a6e16ed500a601012cb22818 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Gr=C3=B6ber?= Date: Thu, 10 Jul 2025 15:16:26 +0200 Subject: [PATCH 3/3] quick filter: Desensitise whole widget while index is updating --- gtk/rgmainwindow.cc | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/gtk/rgmainwindow.cc b/gtk/rgmainwindow.cc index 7706823e..8442ed0d 100644 --- a/gtk/rgmainwindow.cc +++ b/gtk/rgmainwindow.cc @@ -894,6 +894,9 @@ gboolean RGMainWindow::xapianDoIndexUpdate(void *data) gtk_label_set_text(GTK_LABEL(gtk_builder_get_object(me->_builder, "label_fast_search")), _("Rebuilding search index")); + gtk_widget_set_sensitive(GTK_WIDGET(gtk_builder_get_object + (me->_builder, "toolbar_filter")), FALSE); + } return false; } @@ -917,7 +920,7 @@ void RGMainWindow::xapianIndexUpdateFinished(GPid pid, gint status, void* data) "label_fast_search")), _("Quick filter")); gtk_widget_set_sensitive(GTK_WIDGET(gtk_builder_get_object - (me->_builder, "entry_fast_search")), TRUE); + (me->_builder, "toolbar_filter")), TRUE); g_spawn_close_pid(pid); }