parent window, to avoid bizarre window reordering effects.
gtk_tree_selection_selected_foreach(choose_selection,
choose_gather_selected_files_callback,
v);
- properties(v->nvec, (const char **)v->vec);
+ properties(v->nvec, (const char **)v->vec, toplevel);
}
/** @brief Set sensitivity for select children
const char *msg);
/* Report an error */
-void properties(int ntracks, const char **tracks);
+void properties(int ntracks, const char **tracks,
+ GtkWidget *parent);
/* Pop up a properties window for a list of tracks */
GtkWidget *scroll_widget(GtkWidget *child);
void fpopup_msg(GtkMessageType mt, const char *fmt, ...);
-struct progress_window *progress_window_new(const char *title);
+struct progress_window *progress_window_new(const char *title,
+ GtkWidget *parent);
/* Pop up a progress window */
void progress_window_progress(struct progress_window *pw,
};
/** @brief Create a progress window */
-struct progress_window *progress_window_new(const char *title) {
+struct progress_window *progress_window_new(const char *title,
+ GtkWidget *parent) {
struct progress_window *pw = xmalloc(sizeof *pw);
pw->window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
- gtk_window_set_transient_for(GTK_WINDOW(pw->window),
- GTK_WINDOW(toplevel));
+ if(parent)
+ gtk_window_set_transient_for(GTK_WINDOW(pw->window),
+ GTK_WINDOW(parent));
g_signal_connect(pw->window, "destroy",
G_CALLBACK(gtk_widget_destroyed), &pw->window);
gtk_window_set_default_size(GTK_WINDOW(pw->window), 360, -1);
}
}
-void properties(int ntracks, const char **tracks) {
+void properties(int ntracks, const char **tracks,
+ GtkWidget *parent) {
int n, m;
struct prefdata *f;
GtkWidget *buttonbox, *vbox, *label, *entry, *propagate;
if(pw)
progress_window_progress(pw, 0, 0);
/* Pop up a progress bar while we're waiting */
- pw = progress_window_new("Fetching Track Properties");
+ while(parent->parent)
+ parent = parent->parent;
+ pw = progress_window_new("Fetching Track Properties", parent);
}
/* Everything is filled in now */
gtk_tree_model_iter_next(GTK_TREE_MODEL(ql->store), iter);
}
if(v->nvec)
- properties(v->nvec, (const char **)v->vec);
+ properties(v->nvec, (const char **)v->vec, ql->view);
}
/* Scratch */