static void update_statusbar (void) { gchar *msg; gint row, col; GtkTextIter iter; const char *print_str; gtk_statusbar_pop (GTK_STATUSBAR (statusbar), 0); gtk_text_buffer_get_iter_at_mark (buffer, &iter, gtk_text_buffer_get_insert (buffer)); row = gtk_text_iter_get_line (&iter); col = gtk_text_iter_get_line_offset (&iter); print_str = ""; if (active_prints) { GtkPrintOperation *op = active_prints->data; print_str = gtk_print_operation_get_status_string (op); } msg = g_strdup_printf ("%d, %d%s %s", row, col, file_changed?" - Modified":"", print_str); gtk_statusbar_push (GTK_STATUSBAR (statusbar), 0, msg); g_free (msg); }
static void photos_print_notification_status_changed (PhotosPrintNotification *self) { PhotosPrintNotificationPrivate *priv = self->priv; const gchar *status_str; gchar *job_name = NULL; gchar *status = NULL; status_str = gtk_print_operation_get_status_string (priv->print_op); g_object_get (priv->print_op, "job-name", &job_name, NULL); status = g_strdup_printf (_("Printing “%s”: %s"), job_name, status_str); gtk_label_set_text (GTK_LABEL (priv->status_label), status); if (gtk_print_operation_is_finished (priv->print_op)) gtk_widget_destroy (GTK_WIDGET (self)); g_free (job_name); g_free (status); }