267
on_branches_view_row_activated (GtkTreeView *branches_view, GtkTreePath *path,
268
GtkTreeViewColumn *column, GitBranchesPane *self)
274
GitBranchCheckoutCommand *checkout_command;
276
model = gtk_tree_view_get_model (branches_view);
277
gtk_tree_model_get_iter (model, &iter, path);
279
gtk_tree_model_get (model, &iter, COL_NAME, &branch, -1);
281
plugin = ANJUTA_PLUGIN_GIT (anjuta_dock_pane_get_plugin (ANJUTA_DOCK_PANE (self)));
282
checkout_command = git_branch_checkout_command_new (plugin->project_root_directory,
285
g_signal_connect (G_OBJECT (checkout_command), "command-finished",
286
G_CALLBACK (git_pane_report_errors),
289
g_signal_connect (G_OBJECT (checkout_command), "command-finished",
290
G_CALLBACK (g_object_unref),
295
anjuta_command_start (ANJUTA_COMMAND (checkout_command));
299
on_branches_view_button_press_event (GtkWidget *branches_view,
300
GdkEventButton *event,
301
GitBranchesPane *self)
303
GtkTreeSelection *selection;
304
AnjutaPlugin *plugin;
308
if (event->type == GDK_BUTTON_PRESS && event->button == 3)
310
selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (branches_view));
312
if (gtk_tree_selection_count_selected_rows (selection) > 0)
314
plugin = anjuta_dock_pane_get_plugin (ANJUTA_DOCK_PANE (self));
315
ui = anjuta_shell_get_ui (plugin->shell, NULL);
316
menu = GTK_MENU (gtk_ui_manager_get_widget (GTK_UI_MANAGER (ui),
319
gtk_menu_popup (menu, NULL, NULL, NULL, NULL, event->button,
267
328
git_branches_pane_init (GitBranchesPane *self)
269
330
gchar *objects[] = {"branches_pane",
333
394
g_signal_connect (G_OBJECT (branch_selected_renderer), "toggled",
334
395
G_CALLBACK (on_branch_selected_renderer_toggled),
398
/* Switch branches on double-click */
399
g_signal_connect (G_OBJECT (branches_view), "row-activated",
400
G_CALLBACK (on_branches_view_row_activated),
404
g_signal_connect (G_OBJECT (branches_view), "button-press-event",
405
G_CALLBACK (on_branches_view_button_press_event),
470
541
return selected_branch;
545
git_branches_pane_is_selected_branch_remote (GitBranchesPane *self)
548
GtkTreeView *branches_view;
549
GtkTreeSelection *selection;
550
GtkTreeModel *branches_list_model;
554
branches_view = GTK_TREE_VIEW (gtk_builder_get_object (self->priv->builder,
556
selection = gtk_tree_view_get_selection (branches_view);
558
if (gtk_tree_selection_count_selected_rows (selection) > 0)
560
gtk_tree_selection_get_selected (selection, &branches_list_model,
563
gtk_tree_model_get (branches_list_model, &iter, COL_REMOTE,
474
571
clear_branch_selections (GtkTreeModel *model, GtkTreePath *path,
475
572
GtkTreeIter *iter, gpointer data)