-
-gint
-Editor::import_progress_timeout (void *arg)
-{
- bool reset = false;
-
- if (!interthread_progress_window->is_visible()) {
- interthread_progress_window->show_all ();
- reset = true;
- }
-
- interthread_progress_label.set_text (import_status.doing_what);
-
- if (import_status.freeze) {
- interthread_cancel_button.set_sensitive(false);
- } else {
- interthread_cancel_button.set_sensitive(true);
- }
-
- if (import_status.doing_what == "building peak files") {
- interthread_progress_bar.pulse ();
- return FALSE;
- } else {
- float val = import_status.progress;
- interthread_progress_bar.set_fraction (min (max (0.0f, val), 1.0f));
- }
-
- if (reset) {
-
- /* the window is now visible, speed up the updates */
-
- interthread_progress_connection.disconnect ();
- interthread_progress_connection = Glib::signal_timeout().connect
- (bind (mem_fun(*this, &Editor::import_progress_timeout), (gpointer) 0), 100);
- return false;
- } else {
- return !(import_status.done || import_status.cancel);
- }
-}
-