static void ide_omni_bar__build_manager__build_started (IdeOmniBar *self, IdeBuildPipeline *build_pipeline, IdeBuildManager *build_manager) { g_assert (IDE_IS_OMNI_BAR (self)); g_assert (IDE_IS_BUILD_PIPELINE (build_pipeline)); g_assert (IDE_IS_BUILD_MANAGER (build_manager)); self->did_build = TRUE; self->seen_count = 0; self->message_handler = g_signal_connect_object (build_pipeline, "notify::message", G_CALLBACK (ide_omni_bar_notify_message), self, G_CONNECT_SWAPPED); gtk_revealer_set_reveal_child (self->popover_details_revealer, TRUE); gtk_label_set_label (self->popover_build_result_label, _("Building")); gtk_label_set_attributes (self->popover_build_result_label, NULL); dzl_gtk_widget_remove_style_class (GTK_WIDGET (self->popover_build_result_label), "error"); dzl_gtk_widget_remove_style_class (GTK_WIDGET (self->popover_build_result_label), "success"); dzl_gtk_widget_add_style_class (GTK_WIDGET (self), "building"); }
static void popup_targets_received (GtkClipboard *clipboard, GtkSelectionData *data, gpointer user_data) { PopupInfo *popup_info = user_data; g_autoptr(IdeTerminal) self = NULL; g_autoptr(GdkEvent) event = NULL; IdeTerminalPrivate *priv; g_assert (popup_info != NULL); g_assert (IDE_IS_TERMINAL (popup_info->terminal)); self = g_steal_pointer (&popup_info->terminal); priv = ide_terminal_get_instance_private (self); event = g_steal_pointer (&popup_info->event); if (gtk_widget_get_realized (GTK_WIDGET (self))) { DzlWidgetActionGroup *group; GMenu *menu; gboolean clipboard_contains_text; gboolean have_selection; clipboard_contains_text = gtk_selection_data_targets_include_text (data); have_selection = vte_terminal_get_has_selection (VTE_TERMINAL (self)); g_clear_pointer (&priv->popup_menu, gtk_widget_destroy); priv->url = vte_terminal_match_check_event (VTE_TERMINAL (self), event, NULL); menu = dzl_application_get_menu_by_id (DZL_APPLICATION_DEFAULT, "ide-terminal-view-popup-menu"); priv->popup_menu = gtk_menu_new_from_model (G_MENU_MODEL (menu)); group = DZL_WIDGET_ACTION_GROUP (gtk_widget_get_action_group (GTK_WIDGET (self), "terminal")); dzl_widget_action_group_set_action_enabled (group, "copy-link-address", priv->url != NULL); dzl_widget_action_group_set_action_enabled (group, "open-link", priv->url != NULL); dzl_widget_action_group_set_action_enabled (group, "copy-clipboard", have_selection); dzl_widget_action_group_set_action_enabled (group, "paste-clipboard", clipboard_contains_text); dzl_gtk_widget_add_style_class (priv->popup_menu, GTK_STYLE_CLASS_CONTEXT_MENU); gtk_menu_attach_to_widget (GTK_MENU (priv->popup_menu), GTK_WIDGET (self), popup_menu_detach); g_signal_emit (self, signals[POPULATE_POPUP], 0, priv->popup_menu); gtk_menu_popup_at_pointer (GTK_MENU (priv->popup_menu), event); } g_slice_free (PopupInfo, popup_info); }
static void ide_omni_bar__build_manager__build_finished (IdeOmniBar *self, IdeBuildPipeline *build_pipeline, IdeBuildManager *build_manager) { g_assert (IDE_IS_OMNI_BAR (self)); g_assert (IDE_IS_BUILD_PIPELINE (build_pipeline)); g_assert (IDE_IS_BUILD_MANAGER (build_manager)); gtk_label_set_label (self->popover_build_message, NULL); dzl_clear_signal_handler (build_pipeline, &self->message_handler); gtk_label_set_label (self->popover_build_result_label, _("Success")); dzl_gtk_widget_add_style_class (GTK_WIDGET (self->popover_build_result_label), "success"); dzl_gtk_widget_remove_style_class (GTK_WIDGET (self), "building"); }
static void add_buttons (GbpEditorWorkspaceAddin *self, IdeHeaderBar *header) { GtkWidget *button; g_assert (GBP_IS_EDITOR_WORKSPACE_ADDIN (self)); g_assert (IDE_IS_HEADER_BAR (header)); self->new_button = g_object_new (DZL_TYPE_MENU_BUTTON, "icon-name", "document-open-symbolic", "focus-on-click", FALSE, "show-arrow", TRUE, "show-icons", FALSE, "show-accels", TRUE, "menu-id", "new-document-menu", "visible", TRUE, NULL); g_signal_connect (self->new_button, "destroy", G_CALLBACK (gtk_widget_destroyed), &self->new_button); ide_header_bar_add_primary (header, GTK_WIDGET (self->new_button)); self->panels_box = g_object_new (GTK_TYPE_BOX, "margin-start", 6, "margin-end", 6, "visible", TRUE, NULL); g_signal_connect (self->panels_box, "destroy", G_CALLBACK (gtk_widget_destroyed), &self->panels_box); dzl_gtk_widget_add_style_class (GTK_WIDGET (self->panels_box), "linked"); ide_header_bar_add_primary (header, GTK_WIDGET (self->panels_box)); button = g_object_new (GTK_TYPE_TOGGLE_BUTTON, "action-name", "dockbin.left-visible", "focus-on-click", FALSE, "child", g_object_new (GTK_TYPE_IMAGE, "icon-name", "builder-view-left-pane-symbolic", "margin-start", 12, "margin-end", 12, "visible", TRUE, NULL), "visible", TRUE, NULL); self->tooltip1 = g_object_new (DZL_TYPE_SHORTCUT_TOOLTIP, "command-id", "org.gnome.builder.editor.navigation-panel", "widget", button, NULL); gtk_container_add (GTK_CONTAINER (self->panels_box), button); button = g_object_new (GTK_TYPE_TOGGLE_BUTTON, "action-name", "dockbin.bottom-visible", "focus-on-click", FALSE, "child", g_object_new (GTK_TYPE_IMAGE, "icon-name", "builder-view-bottom-pane-symbolic", "margin-start", 12, "margin-end", 12, "visible", TRUE, NULL), "visible", TRUE, NULL); self->tooltip2 = g_object_new (DZL_TYPE_SHORTCUT_TOOLTIP, "command-id", "org.gnome.builder.editor.utilities-panel", "widget", button, NULL); gtk_container_add (GTK_CONTAINER (self->panels_box), button); }