+static void mimeview_select_next_part(MimeView *mimeview)
+{
+ gboolean is_next = FALSE;
+
+ GList *child = gtk_container_children(GTK_CONTAINER(mimeview->icon_vbox));
+ for (; child != NULL; child = g_list_next(child)) {
+ if (GTK_IS_TOGGLE_BUTTON(child->data) &&
+ gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(child->data))) {
+ is_next = TRUE;
+ } else if (GTK_IS_TOGGLE_BUTTON(child->data) &&
+ is_next) {
+ toggle_icon(GTK_TOGGLE_BUTTON(child->data), mimeview);
+ gtk_toggle_button_set_active
+ (GTK_TOGGLE_BUTTON(child->data), TRUE);
+ icon_selected(mimeview, -1,
+ (MimeInfo *)g_object_get_data(G_OBJECT(child->data),
+ "partinfo"));
+ is_next = FALSE;
+ break;
+ }
+ }
+ if (is_next) {
+ /* we were on the last one, go to first */
+ child = gtk_container_children(GTK_CONTAINER(mimeview->icon_vbox));
+ for (; child != NULL; child = g_list_next(child)) {
+ if (GTK_IS_TOGGLE_BUTTON(child->data)) {
+ toggle_icon(GTK_TOGGLE_BUTTON(child->data), mimeview);
+ gtk_toggle_button_set_active
+ (GTK_TOGGLE_BUTTON(child->data), TRUE);
+ icon_selected(mimeview, -1,
+ (MimeInfo *)g_object_get_data(G_OBJECT(child->data),
+ "partinfo"));
+ break;
+ }
+ }
+ }
+}
+