static void nautilus_floating_bar_set_property (GObject *object, guint property_id, const GValue *value, GParamSpec *pspec) { NautilusFloatingBar *self = NAUTILUS_FLOATING_BAR (object); switch (property_id) { case PROP_PRIMARY_LABEL: { nautilus_floating_bar_set_primary_label (self, g_value_get_string (value)); } break; case PROP_DETAILS_LABEL: { nautilus_floating_bar_set_details_label (self, g_value_get_string (value)); } break; case PROP_SHOW_SPINNER: { nautilus_floating_bar_set_show_spinner (self, g_value_get_boolean (value)); } break; default: { G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); } break; } }
void nautilus_floating_bar_set_labels (NautilusFloatingBar *self, const gchar *primary_label, const gchar *details_label) { nautilus_floating_bar_set_primary_label (self, primary_label); nautilus_floating_bar_set_details_label (self, details_label); }
static void ide_editor_frame_update_ruler (IdeEditorFrame *self) { const gchar *mode_display_name; const gchar *mode_name; GtkTextBuffer *buffer; gboolean visible = FALSE; g_assert (IDE_IS_EDITOR_FRAME (self)); buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (self->source_view)); if (!IDE_IS_BUFFER (buffer)) return; /* update line/column text */ if (self->show_ruler) { g_autofree gchar *text = NULL; guint ln = 0; guint col = 0; ide_source_view_get_visual_position (self->source_view, &ln, &col); text = g_strdup_printf (_("Line %u, Column %u"), ln + 1, col + 1); nautilus_floating_bar_set_primary_label (self->floating_bar, text); visible = TRUE; } else { nautilus_floating_bar_set_primary_label (self->floating_bar, NULL); } /* update current mode */ mode_display_name = ide_source_view_get_mode_display_name (self->source_view); gtk_label_set_label (self->mode_name_label, mode_display_name); gtk_widget_set_visible (GTK_WIDGET (self->mode_name_label), !!mode_display_name); if (mode_display_name != NULL) visible = TRUE; /* * Update overwrite label. * * XXX: Hack for 3.18 to ensure we don't have "OVR Replace" in vim mode. */ mode_name = ide_source_view_get_mode_name (self->source_view); if (ide_source_view_get_overwrite (self->source_view) && !ide_str_equal0 (mode_name, "vim-replace")) { gtk_widget_set_visible (GTK_WIDGET (self->overwrite_label), TRUE); visible = TRUE; } else { gtk_widget_set_visible (GTK_WIDGET (self->overwrite_label), FALSE); } if (gtk_widget_get_visible (GTK_WIDGET (self->mode_name_label))) visible = TRUE; if (ide_buffer_get_busy (IDE_BUFFER (buffer))) { nautilus_floating_bar_set_show_spinner (self->floating_bar, TRUE); visible = TRUE; } else { nautilus_floating_bar_set_show_spinner (self->floating_bar, FALSE); } /* we don't fade while hiding because we likely won't have * any text labels set anyway. */ if (!visible && gtk_widget_get_visible (GTK_WIDGET (self->floating_bar))) gtk_widget_hide (GTK_WIDGET (self->floating_bar)); else if (visible && !gtk_widget_get_visible (GTK_WIDGET (self->floating_bar))) gtk_widget_show (GTK_WIDGET (self->floating_bar)); }