file chooser: Refine search progress display
Move the spinner to the search bar, so we can keep it around until the search is over.
This commit is contained in:
parent
eb67d14551
commit
5bd6013165
@ -6978,21 +6978,20 @@ static void
|
|||||||
search_engine_finished_cb (GtkSearchEngine *engine,
|
search_engine_finished_cb (GtkSearchEngine *engine,
|
||||||
gpointer data)
|
gpointer data)
|
||||||
{
|
{
|
||||||
GtkFileChooserWidget *impl;
|
GtkFileChooserWidget *impl = GTK_FILE_CHOOSER_WIDGET (data);
|
||||||
|
GtkFileChooserWidgetPrivate *priv = impl->priv;
|
||||||
impl = GTK_FILE_CHOOSER_WIDGET (data);
|
|
||||||
|
|
||||||
set_busy_cursor (impl, FALSE);
|
set_busy_cursor (impl, FALSE);
|
||||||
gtk_spinner_stop (GTK_SPINNER (impl->priv->search_spinner));
|
gtk_widget_hide (priv->search_spinner);
|
||||||
|
|
||||||
if (impl->priv->show_progress_timeout)
|
if (priv->show_progress_timeout)
|
||||||
{
|
{
|
||||||
g_source_remove (impl->priv->show_progress_timeout);
|
g_source_remove (priv->show_progress_timeout);
|
||||||
impl->priv->show_progress_timeout = 0;
|
priv->show_progress_timeout = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (gtk_tree_model_iter_n_children (GTK_TREE_MODEL (impl->priv->search_model), NULL) == 0)
|
if (gtk_tree_model_iter_n_children (GTK_TREE_MODEL (priv->search_model), NULL) == 0)
|
||||||
gtk_stack_set_visible_child_name (GTK_STACK (impl->priv->browse_files_stack), "empty");
|
gtk_stack_set_visible_child_name (GTK_STACK (priv->browse_files_stack), "empty");
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Displays a generic error when we cannot create a GtkSearchEngine.
|
/* Displays a generic error when we cannot create a GtkSearchEngine.
|
||||||
@ -7055,7 +7054,7 @@ search_stop_searching (GtkFileChooserWidget *impl,
|
|||||||
g_clear_object (&priv->search_engine);
|
g_clear_object (&priv->search_engine);
|
||||||
|
|
||||||
set_busy_cursor (impl, FALSE);
|
set_busy_cursor (impl, FALSE);
|
||||||
gtk_spinner_stop (GTK_SPINNER (priv->search_spinner));
|
gtk_widget_hide (priv->search_spinner);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (priv->show_progress_timeout)
|
if (priv->show_progress_timeout)
|
||||||
@ -7101,7 +7100,7 @@ show_spinner (gpointer data)
|
|||||||
GtkFileChooserWidget *impl = data;
|
GtkFileChooserWidget *impl = data;
|
||||||
GtkFileChooserWidgetPrivate *priv = impl->priv;
|
GtkFileChooserWidgetPrivate *priv = impl->priv;
|
||||||
|
|
||||||
gtk_stack_set_visible_child_name (GTK_STACK (priv->browse_files_stack), "progress");
|
gtk_widget_show (priv->search_spinner);
|
||||||
priv->show_progress_timeout = 0;
|
priv->show_progress_timeout = 0;
|
||||||
|
|
||||||
return G_SOURCE_REMOVE;
|
return G_SOURCE_REMOVE;
|
||||||
@ -7124,8 +7123,7 @@ search_start_query (GtkFileChooserWidget *impl,
|
|||||||
search_setup_model (impl);
|
search_setup_model (impl);
|
||||||
|
|
||||||
set_busy_cursor (impl, TRUE);
|
set_busy_cursor (impl, TRUE);
|
||||||
gtk_spinner_start (GTK_SPINNER (priv->search_spinner));
|
priv->show_progress_timeout = g_timeout_add (1500, show_spinner, impl);
|
||||||
priv->show_progress_timeout = g_timeout_add (1000, show_spinner, impl);
|
|
||||||
|
|
||||||
gtk_stack_set_visible_child_name (GTK_STACK (priv->browse_files_stack), "list");
|
gtk_stack_set_visible_child_name (GTK_STACK (priv->browse_files_stack), "list");
|
||||||
|
|
||||||
@ -7135,7 +7133,7 @@ search_start_query (GtkFileChooserWidget *impl,
|
|||||||
if (!priv->search_engine)
|
if (!priv->search_engine)
|
||||||
{
|
{
|
||||||
set_busy_cursor (impl, FALSE);
|
set_busy_cursor (impl, FALSE);
|
||||||
gtk_spinner_stop (GTK_SPINNER (priv->search_spinner));
|
gtk_widget_hide (priv->search_spinner);
|
||||||
search_error_could_not_create_client (impl); /* lame; we don't get an error code or anything */
|
search_error_could_not_create_client (impl); /* lame; we don't get an error code or anything */
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -112,6 +112,15 @@
|
|||||||
<signal name="stop-search" handler="search_entry_stop_cb" swapped="yes"/>
|
<signal name="stop-search" handler="search_entry_stop_cb" swapped="yes"/>
|
||||||
</object>
|
</object>
|
||||||
</child>
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkSpinner" id="search_spinner">
|
||||||
|
<property name="visible">False</property>
|
||||||
|
<property name="active">True</property>
|
||||||
|
</object>
|
||||||
|
<packing>
|
||||||
|
<property name="pack-type">end</property>
|
||||||
|
</packing>
|
||||||
|
</child>
|
||||||
</object>
|
</object>
|
||||||
<packing>
|
<packing>
|
||||||
<property name="name">search</property>
|
<property name="name">search</property>
|
||||||
@ -296,14 +305,6 @@
|
|||||||
<property name="name">empty</property>
|
<property name="name">empty</property>
|
||||||
</packing>
|
</packing>
|
||||||
</child>
|
</child>
|
||||||
<child>
|
|
||||||
<object class="GtkSpinner" id="search_spinner">
|
|
||||||
<property name="visible">True</property>
|
|
||||||
</object>
|
|
||||||
<packing>
|
|
||||||
<property name="name">progress</property>
|
|
||||||
</packing>
|
|
||||||
</child>
|
|
||||||
</object>
|
</object>
|
||||||
<packing>
|
<packing>
|
||||||
<property name="expand">True</property>
|
<property name="expand">True</property>
|
||||||
|
Loading…
Reference in New Issue
Block a user