static void gb_project_tree_vcs_changed (GbProjectTree *self, IdeVcs *vcs) { g_autoptr(GFile) file = NULL; IdeTreeNode *node; GObject *item; g_assert (GB_IS_PROJECT_TREE (self)); g_assert (IDE_IS_VCS (vcs)); if (NULL != (node = ide_tree_get_selected (IDE_TREE (self))) && NULL != (item = ide_tree_node_get_item (node)) && GB_IS_PROJECT_FILE (item)) { if (NULL != (file = gb_project_file_get_file (GB_PROJECT_FILE (item)))) g_object_ref (file); } ide_tree_rebuild (IDE_TREE (self)); if (file != NULL) gb_project_tree_reveal (self, file); }
/** * ide_vcs_get_working_directory: * @self: An #IdeVcs. * * Retrieves the working directory for the context. This is the root of where * the project files exist. * * Returns: (transfer none): A #GFile. */ GFile * ide_vcs_get_working_directory (IdeVcs *self) { g_return_val_if_fail (IDE_IS_VCS (self), NULL); if (IDE_VCS_GET_IFACE (self)->get_working_directory) return IDE_VCS_GET_IFACE (self)->get_working_directory (self); return NULL; }
gint ide_vcs_get_priority (IdeVcs *self) { gint ret = 0; g_return_val_if_fail (IDE_IS_VCS (self), 0); if (IDE_VCS_GET_IFACE (self)->get_priority) ret = IDE_VCS_GET_IFACE (self)->get_priority (self); return ret; }
gboolean ide_vcs_is_ignored (IdeVcs *self, GFile *file, GError **error) { g_return_val_if_fail (IDE_IS_VCS (self), FALSE); if (IDE_VCS_GET_IFACE (self)->is_ignored) return IDE_VCS_GET_IFACE (self)->is_ignored (self, file, error); return FALSE; }
/** * ide_vcs_get_buffer_change_monitor: * * Gets an #IdeBufferChangeMonitor for the buffer provided. If the #IdeVcs implementation does not * support change monitoring, or cannot for the current file, then %NULL is returned. * * Returns: (transfer full) (nullable): An #IdeBufferChangeMonitor or %NULL. */ IdeBufferChangeMonitor * ide_vcs_get_buffer_change_monitor (IdeVcs *self, IdeBuffer *buffer) { IdeBufferChangeMonitor *ret = NULL; g_return_val_if_fail (IDE_IS_VCS (self), NULL); g_return_val_if_fail (IDE_IS_BUFFER (buffer), NULL); if (IDE_VCS_GET_IFACE (self)->get_buffer_change_monitor) ret = IDE_VCS_GET_IFACE (self)->get_buffer_change_monitor (self, buffer); g_return_val_if_fail (!ret || IDE_IS_BUFFER_CHANGE_MONITOR (ret), NULL); return ret; }