summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
d848c36)
raising choose-inserted-tracks if it inserted new rows. The search
auto-expansion logic depends on being notified after all the
expansions it requested are completed, not just the ones that actually
created new rows.
}
if(is_prefix(dir, track)) {
/* We found a prefix of the target track. */
}
if(is_prefix(dir, track)) {
/* We found a prefix of the target track. */
- //fprintf(stderr, " is a prefix\n");
+ //fprintf(stderr, " %s is a prefix\n", dir);
const gboolean expanded
= gtk_tree_view_row_expanded(GTK_TREE_VIEW(choose_view), path);
if(expanded) {
const gboolean expanded
= gtk_tree_view_row_expanded(GTK_TREE_VIEW(choose_view), path);
if(expanded) {
/* If there's work left to be done make sure we get a callback when
* something changes */
if(!choose_inserted_handle)
/* If there's work left to be done make sure we get a callback when
* something changes */
if(!choose_inserted_handle)
- choose_inserted_handle = event_register("choose-inserted-tracks",
+ choose_inserted_handle = event_register("choose-more-tracks",
choose_make_visible, 0);
} else {
/* Suppress callbacks if there's nothing more to do */
choose_make_visible, 0);
} else {
/* Suppress callbacks if there's nothing more to do */
/** @brief Count of file listing operations in flight */
static int choose_list_in_flight;
/** @brief Count of file listing operations in flight */
static int choose_list_in_flight;
-/** @brief Count of files inserted in current batch of listing operations */
-static int choose_inserted;
-
static char *choose_get_string(GtkTreeIter *iter, int column) {
gchar *gs;
gtk_tree_model_get(GTK_TREE_MODEL(choose_store), iter,
static char *choose_get_string(GtkTreeIter *iter, int column) {
gchar *gs;
gtk_tree_model_get(GTK_TREE_MODEL(choose_store), iter,
gtk_tree_row_reference_free(parent_ref);
gtk_tree_path_free(parent_path);
}
gtk_tree_row_reference_free(parent_ref);
gtk_tree_path_free(parent_path);
}
/* We only notify others that we've inserted tracks when there are no more
* insertions pending, so that they don't have to keep track of how many
* requests they've made. */
/* We only notify others that we've inserted tracks when there are no more
* insertions pending, so that they don't have to keep track of how many
* requests they've made. */
- choose_inserted += inserted;
-skip:
if(--choose_list_in_flight == 0) {
/* Notify interested parties that we inserted some tracks, AFTER making
* sure that the row is properly expanded */
if(--choose_list_in_flight == 0) {
/* Notify interested parties that we inserted some tracks, AFTER making
* sure that the row is properly expanded */
- if(choose_inserted) {
- //fprintf(stderr, "raising choose-inserted-tracks\n");
- event_raise("choose-inserted-tracks", parent_it);
- choose_inserted = 0;
- }
+ //fprintf(stderr, "raising choose-more-tracks\n");
+ event_raise("choose-more-tracks", 0);
}
//fprintf(stderr, "choose_list_in_flight -> %d-\n", choose_list_in_flight);
}
}
//fprintf(stderr, "choose_list_in_flight -> %d-\n", choose_list_in_flight);
}