[anjuta] code-analyzer: Added plugin for clang code analyzer



commit 590ed953aa92b32382803ed0c034090f9d71ba95
Author: Johannes Schmid <jhs gnome org>
Date:   Fri Nov 26 16:47:14 2010 +0100

    code-analyzer: Added plugin for clang code analyzer
    
    The plugin acts as IAnjutaEnvironment implementer and set CC and CXX accordingly to run the ccc/c++-analyzer on the code. The results are displayed in the message pane like compiler errors.

 plugins/Makefile.am                           |    1 +
 plugins/code-analyzer/Makefile.am             |   50 +++++
 plugins/code-analyzer/code-analyzer.plugin.in |    6 +
 plugins/code-analyzer/code-analyzer.png       |  Bin 0 -> 4032 bytes
 plugins/code-analyzer/code-analyzer.ui        |  171 +++++++++++++++++
 plugins/code-analyzer/plugin.c                |  250 +++++++++++++++++++++++++
 plugins/code-analyzer/plugin.h                |   38 ++++
 po/POTFILES.in                                |   61 ++++---
 8 files changed, 549 insertions(+), 28 deletions(-)
---
diff --git a/plugins/Makefile.am b/plugins/Makefile.am
index 9bf8439..c03d838 100644
--- a/plugins/Makefile.am
+++ b/plugins/Makefile.am
@@ -5,6 +5,7 @@ SUBDIRS = . \
 	am-project \
 	build-basic-autotools \
 	class-gen \
+	code-analyzer \
 	cvs-plugin \
 	devhelp \
 	debug-manager \
diff --git a/plugins/code-analyzer/Makefile.am b/plugins/code-analyzer/Makefile.am
new file mode 100644
index 0000000..eba645a
--- /dev/null
+++ b/plugins/code-analyzer/Makefile.am
@@ -0,0 +1,50 @@
+# Plugin glade file
+code_analyzer_uidir = $(anjuta_glade_dir)
+code_analyzer_ui_DATA = code-analyzer.ui
+
+# Plugin Icon file
+code_analyzer_pixmapsdir = $(anjuta_image_dir)
+code_analyzer_pixmaps_DATA = \
+	code-analyzer.png
+# Plugin description file
+plugin_in_files = code-analyzer.plugin.in
+%.plugin: %.plugin.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*po) ; $(INTLTOOL_MERGE) $(top_srcdir)/po $< $@ -d -u -c $(top_builddir)/po/.intltool-merge-cache
+
+code_analyzer_plugindir = $(anjuta_plugin_dir)
+code_analyzer_plugin_DATA = $(plugin_in_files:.plugin.in=.plugin)
+
+AM_CPPFLAGS = \
+	$(WARN_CFLAGS) \
+	$(DEPRECATED_FLAGS) \
+	$(LIBANJUTA_CFLAGS) \
+	-DG_LOG_DOMAIN=\"code_analyzer\"
+
+# Where to install the plugin
+plugindir = $(anjuta_plugin_dir)
+
+# The plugin
+plugin_LTLIBRARIES = libanjuta-code-analyzer.la
+
+# Plugin sources
+libanjuta_code_analyzer_la_SOURCES = \
+	plugin.c \
+	plugin.h
+
+libanjuta_code_analyzer_la_LDFLAGS = $(ANJUTA_PLUGIN_LDFLAGS)
+
+# Plugin dependencies
+libanjuta_code_analyzer_la_LIBADD = \
+	$(LIBANJUTA_LIBS)
+
+prefs_name = org.gnome.anjuta.code-analyzer
+prefs_ui_files = code-analyzer.ui
+include $(top_srcdir)/scripts/build-schemas.mk
+
+EXTRA_DIST = \
+	anjuta-marshal.list \
+	$(plugin_in_files) \
+	$(sourceview_plugin_DATA) \
+	$(sourceview_pixmaps_DATA) \
+	$(sourceview_ui_DATA)
+
+-include $(top_srcdir)/git.mk
diff --git a/plugins/code-analyzer/code-analyzer.plugin.in b/plugins/code-analyzer/code-analyzer.plugin.in
new file mode 100644
index 0000000..734fa52
--- /dev/null
+++ b/plugins/code-analyzer/code-analyzer.plugin.in
@@ -0,0 +1,6 @@
+[Anjuta Plugin]
+Location=anjuta-code-analyzer:CodeAnalyzerPlugin
+Icon=code-analyzer.png
+_Name=Code Anaylyzer
+_Description=Analyze code with the clang-analyzer framework
+Interfaces=IAnjutaEnvironment
\ No newline at end of file
diff --git a/plugins/code-analyzer/code-analyzer.png b/plugins/code-analyzer/code-analyzer.png
new file mode 100644
index 0000000..8b7497b
Binary files /dev/null and b/plugins/code-analyzer/code-analyzer.png differ
diff --git a/plugins/code-analyzer/code-analyzer.ui b/plugins/code-analyzer/code-analyzer.ui
new file mode 100644
index 0000000..3d45c6d
--- /dev/null
+++ b/plugins/code-analyzer/code-analyzer.ui
@@ -0,0 +1,171 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<interface>
+  <requires lib="gtk+" version="2.20"/>
+  <!-- interface-naming-policy project-wide -->
+  <object class="GtkWindow" id="dummy">
+    <property name="title" translatable="yes">window1</property>
+    <child>
+      <object class="GtkVBox" id="clang_preferences">
+        <property name="visible">True</property>
+        <child>
+          <object class="GtkFrame" id="frame1">
+            <property name="visible">True</property>
+            <property name="label_xalign">0</property>
+            <property name="shadow_type">none</property>
+            <child>
+              <object class="GtkAlignment" id="alignment1">
+                <property name="visible">True</property>
+                <property name="left_padding">12</property>
+                <child>
+                  <object class="GtkVBox" id="vbox2">
+                    <property name="visible">True</property>
+                    <child>
+                      <object class="GtkCheckButton" id="preferences_toggle:bool:0:0:clang-enable">
+                        <property name="label" translatable="yes">Enable CLang code analyzer</property>
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="receives_default">False</property>
+                        <property name="use_action_appearance">False</property>
+                        <property name="draw_indicator">True</property>
+                      </object>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">False</property>
+                        <property name="position">0</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkHBox" id="hbox1">
+                        <property name="visible">True</property>
+                        <child>
+                          <object class="GtkImage" id="image1">
+                            <property name="visible">True</property>
+                            <property name="stock">gtk-about</property>
+                          </object>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">False</property>
+                            <property name="position">0</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <object class="GtkLabel" id="label3">
+                            <property name="visible">True</property>
+                            <property name="label" translatable="yes">The project needs to be reconfigured after enabling this option. Please run Build-&gt;Configure!</property>
+                            <property name="wrap">True</property>
+                          </object>
+                          <packing>
+                            <property name="expand">True</property>
+                            <property name="fill">True</property>
+                            <property name="position">1</property>
+                          </packing>
+                        </child>
+                      </object>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">False</property>
+                        <property name="position">1</property>
+                      </packing>
+                    </child>
+                  </object>
+                </child>
+              </object>
+            </child>
+            <child type="label">
+              <object class="GtkLabel" id="label1">
+                <property name="visible">True</property>
+                <property name="label" translatable="yes">General</property>
+                <property name="use_markup">True</property>
+                <attributes>
+                  <attribute name="weight" value="bold"/>
+                </attributes>
+              </object>
+            </child>
+          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">False</property>
+            <property name="position">0</property>
+          </packing>
+        </child>
+        <child>
+          <object class="GtkFrame" id="frame2">
+            <property name="visible">True</property>
+            <property name="label_xalign">0</property>
+            <property name="shadow_type">none</property>
+            <child>
+              <object class="GtkAlignment" id="alignment2">
+                <property name="visible">True</property>
+                <property name="left_padding">12</property>
+                <child>
+                  <object class="GtkTable" id="table1">
+                    <property name="visible">True</property>
+                    <property name="n_rows">2</property>
+                    <property name="n_columns">2</property>
+                    <child>
+                      <object class="GtkLabel" id="label4">
+                        <property name="visible">True</property>
+                        <property name="label" translatable="yes">ccc-analyzer:</property>
+                      </object>
+                      <packing>
+                        <property name="x_options"></property>
+                        <property name="y_options"></property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkLabel" id="label5">
+                        <property name="visible">True</property>
+                        <property name="label" translatable="yes">c++-analyzer:</property>
+                      </object>
+                      <packing>
+                        <property name="top_attach">1</property>
+                        <property name="bottom_attach">2</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkFileChooserButton" id="preferences_file:text:/usr/lib/clang-analyzer/scan-build/ccc-analyzer:0:clang-cc-path">
+                        <property name="visible">True</property>
+                        <property name="create_folders">False</property>
+                      </object>
+                      <packing>
+                        <property name="left_attach">1</property>
+                        <property name="right_attach">2</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkFileChooserButton" id="preferences_file:text:/usr/lib/clang-analyzer/scan-build/cxx-analyzer:0:clang-cxx-path">
+                        <property name="visible">True</property>
+                        <property name="create_folders">False</property>
+                      </object>
+                      <packing>
+                        <property name="left_attach">1</property>
+                        <property name="right_attach">2</property>
+                        <property name="top_attach">1</property>
+                        <property name="bottom_attach">2</property>
+                      </packing>
+                    </child>
+                  </object>
+                </child>
+              </object>
+            </child>
+            <child type="label">
+              <object class="GtkLabel" id="label2">
+                <property name="visible">True</property>
+                <property name="label" translatable="yes">CLang Paths</property>
+                <property name="use_markup">True</property>
+                <attributes>
+                  <attribute name="weight" value="bold"/>
+                </attributes>
+              </object>
+            </child>
+          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">False</property>
+            <property name="position">1</property>
+          </packing>
+        </child>
+      </object>
+    </child>
+  </object>
+</interface>
diff --git a/plugins/code-analyzer/plugin.c b/plugins/code-analyzer/plugin.c
new file mode 100644
index 0000000..979ed61
--- /dev/null
+++ b/plugins/code-analyzer/plugin.c
@@ -0,0 +1,250 @@
+/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 4; tab-width: 4 -*- */
+/*
+ * plugin.c
+ * Copyright (C) Johannes Schmid 2010 <jhs gnome org>
+ * 
+ * code-analyzer is free software: you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ * 
+ * code-analyzer is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ * See the GNU General Public License for more details.
+ * 
+ * You should have received a copy of the GNU General Public License along
+ * with this program.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include <config.h>
+#include <libanjuta/anjuta-shell.h>
+#include <libanjuta/anjuta-debug.h>
+#include <libanjuta/interfaces/ianjuta-environment.h>
+#include <libanjuta/interfaces/ianjuta-preferences.h>
+#include <glib/gi18n.h>
+
+#include "plugin.h"
+
+#define ICON_FILE "code-analyzer.png"
+
+#define BUILDER_FILE PACKAGE_DATA_DIR"/glade/code-analyzer.ui"
+#define CLANG_PREFS_ROOT "clang_preferences"
+#define PREF_SCHEMA "org.gnome.anjuta.code-analyzer"
+
+#define PREF_ENABLED "clang-enable"
+#define PREF_CC_PATH "clang-cc-path"
+#define PREF_CXX_PATH "clang-cxx-path"
+
+static gpointer parent_class;
+
+static gboolean
+code_analyzer_activate (AnjutaPlugin *plugin)
+{
+	CodeAnalyzerPlugin *code_analyzer;
+	
+	DEBUG_PRINT ("%s", "CodeAnalyzerPlugin: Activating CodeAnalyzerPlugin plugin ...");
+	code_analyzer = (CodeAnalyzerPlugin*) plugin;
+
+	return TRUE;
+}
+
+static gboolean
+code_analyzer_deactivate (AnjutaPlugin *plugin)
+{
+
+	DEBUG_PRINT ("%s", "CodeAnalyzerPlugin: Dectivating CodeAnalyzerPlugin plugin ...");
+	
+	return TRUE;
+}
+
+static void
+code_analyzer_finalize (GObject *obj)
+{
+	/* Finalization codes here */
+	G_OBJECT_CLASS (parent_class)->finalize (obj);
+}
+
+static void
+code_analyzer_dispose (GObject *obj)
+{
+	/* Disposition codes */
+	G_OBJECT_CLASS (parent_class)->dispose (obj);
+}
+
+static void
+code_analyzer_instance_init (GObject *obj)
+{
+	CodeAnalyzerPlugin *plugin = (CodeAnalyzerPlugin*)obj;
+	plugin->settings = g_settings_new (PREF_SCHEMA);
+}
+
+static void
+code_analyzer_class_init (GObjectClass *klass) 
+{
+	AnjutaPluginClass *plugin_class = ANJUTA_PLUGIN_CLASS (klass);
+
+	parent_class = g_type_class_peek_parent (klass);
+
+	plugin_class->activate = code_analyzer_activate;
+	plugin_class->deactivate = code_analyzer_deactivate;
+	klass->finalize = code_analyzer_finalize;
+	klass->dispose = code_analyzer_dispose;
+}
+
+static gchar*
+code_analyzer_get_cc_path (CodeAnalyzerPlugin* ca_plugin)
+{
+	gchar* path = g_settings_get_string (ca_plugin->settings,
+	                                     PREF_CC_PATH);
+	if (!g_file_test (path, G_FILE_TEST_IS_EXECUTABLE))
+	{
+		g_free (path);
+		return NULL;
+	}
+	return path;
+}
+
+static gchar*
+code_analyzer_get_cxx_path (CodeAnalyzerPlugin* ca_plugin)
+{
+	gchar* path = g_settings_get_string (ca_plugin->settings,
+	                                     PREF_CXX_PATH);
+	if (!g_file_test (path, G_FILE_TEST_IS_EXECUTABLE))
+	{
+		g_free (path);
+		return NULL;
+	}
+	return path;
+}
+
+
+/* IAnjutaEnvironment implementation */
+static gboolean 
+ienvironment_override (IAnjutaEnvironment* env_iface,
+                       gchar **dirp, gchar ***argvp, gchar ***envp,
+                       GError** error)
+{
+	CodeAnalyzerPlugin* ca_plugin = (CodeAnalyzerPlugin*) (env_iface);
+	gchar* command = *argvp[0];
+
+	if (!g_settings_get_boolean (ca_plugin->settings,
+	                             PREF_ENABLED))
+		return TRUE;
+
+	
+
+	/* Check if this is a command we are interested in */	                     
+	if (strcmp (command, "autogen.sh") ||
+	    strcmp (command, "configure") ||
+	    strcmp (command, "make"))
+	{
+		gchar** new_env = *envp;
+		gchar** env;
+		gchar* cc = code_analyzer_get_cc_path (ca_plugin);
+		gchar* cxx = code_analyzer_get_cxx_path (ca_plugin);
+		gboolean found_cc = FALSE;
+		gboolean found_cxx = FALSE;
+		/* NULL termination */
+		gsize size = 1;
+
+		/* Check if paths are correct */
+		if (!cc || !cxx)
+		{
+			if (error)
+				*error = g_error_new (ianjuta_environment_error_quark (), 
+				                      IANJUTA_ENVIRONMENT_CONFIG, "%s",
+				                      _("Couldn't find clang analyzer, please check "
+				                        "if it is installed and if the paths are configured "
+				                        "correctly in the preferences"));
+			g_free (cc);
+			g_free (cxx);
+			return FALSE;
+		}
+
+		for (env = new_env; *env != NULL; env++)
+		{
+			if (g_str_has_prefix (*env, "CC="))
+			{
+				g_free (*env);
+				*env = g_strdup_printf("CC=%s", cc);
+				found_cc = TRUE;
+			}
+			else if (g_str_has_prefix (*env, "CXX="))
+			{
+				g_free (*env);
+				*env = g_strdup_printf("CXX=%s", cxx);
+				found_cxx = TRUE;
+			}
+			size++;
+		}
+		if (!found_cc)
+		{
+			new_env = g_realloc (new_env, sizeof (gchar**) * (size + 1));
+			new_env[size - 1] = g_strdup_printf("CC=%s", cc);
+			new_env[size] = NULL;
+			size++;
+		}
+		if (!found_cxx)
+		{
+			new_env = g_realloc (new_env, sizeof (gchar**) * (size + 1));
+			new_env[size - 1] = g_strdup_printf("CXX=%s", cxx);
+			new_env[size] = NULL;
+		}
+		*envp = new_env;
+	}
+	return TRUE;
+}
+
+static gchar* 
+ienvironment_get_real_directory (IAnjutaEnvironment* env_iface, gchar *dir,
+                                 GError** error)
+{
+	return dir;
+}
+
+static void
+ienvironment_iface_init (IAnjutaEnvironmentIface* iface)
+{
+	iface->override = ienvironment_override;
+	iface->get_real_directory = ienvironment_get_real_directory;
+}
+
+/* IAnjutaPreferences implementation
+ *---------------------------------------------------------------------------*/
+
+static void
+ipreferences_merge(IAnjutaPreferences* ipref, AnjutaPreferences* prefs, GError** e)
+{
+	GtkBuilder *bxml;
+	CodeAnalyzerPlugin* ca_plugin = (CodeAnalyzerPlugin*) (ipref);
+	/* Create the preferences page */
+	bxml =  anjuta_util_builder_new (BUILDER_FILE, NULL);
+	if (!bxml) return;
+		
+	anjuta_preferences_add_from_builder (prefs, bxml, ca_plugin->settings, 
+	                                     CLANG_PREFS_ROOT, _("CLang Analyzer"),  ICON_FILE);
+	
+	g_object_unref (bxml);
+}
+
+static void
+ipreferences_unmerge(IAnjutaPreferences* ipref, AnjutaPreferences* prefs, GError** e)
+{
+	anjuta_preferences_remove_page(prefs, _("CLang Analyzer"));
+}
+
+static void
+ipreferences_iface_init(IAnjutaPreferencesIface* iface)
+{
+	iface->merge = ipreferences_merge;
+	iface->unmerge = ipreferences_unmerge;	
+}
+
+
+ANJUTA_PLUGIN_BEGIN (CodeAnalyzerPlugin, code_analyzer);
+ANJUTA_PLUGIN_ADD_INTERFACE(ienvironment, IANJUTA_TYPE_ENVIRONMENT);
+ANJUTA_PLUGIN_ADD_INTERFACE(ipreferences, IANJUTA_TYPE_PREFERENCES);
+ANJUTA_PLUGIN_END;
+
+ANJUTA_SIMPLE_PLUGIN (CodeAnalyzerPlugin, code_analyzer);
diff --git a/plugins/code-analyzer/plugin.h b/plugins/code-analyzer/plugin.h
new file mode 100644
index 0000000..fe89445
--- /dev/null
+++ b/plugins/code-analyzer/plugin.h
@@ -0,0 +1,38 @@
+/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 4; tab-width: 4 -*- */
+/*
+ * plugin.h
+ * Copyright (C) Johannes Schmid 2010 <jhs gnome org>
+ * 
+ * code-analyzer is free software: you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ * 
+ * code-analyzer is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ * See the GNU General Public License for more details.
+ * 
+ * You should have received a copy of the GNU General Public License along
+ * with this program.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef _CODE_ANALYZER_H_
+#define _CODE_ANALYZER_H_
+
+#include <libanjuta/anjuta-plugin.h>
+
+typedef struct _CodeAnalyzerPlugin CodeAnalyzerPlugin;
+typedef struct _CodeAnalyzerPluginClass CodeAnalyzerPluginClass;
+
+struct _CodeAnalyzerPlugin{
+	AnjutaPlugin parent;
+
+	GSettings* settings;
+};
+
+struct _CodeAnalyzerPluginClass{
+	AnjutaPluginClass parent_class;
+};
+
+#endif
diff --git a/po/POTFILES.in b/po/POTFILES.in
index bd8beaf..bb742aa 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -22,6 +22,10 @@ libanjuta/anjuta-status.c
 libanjuta/anjuta-ui.c
 libanjuta/anjuta-utils.c
 libanjuta/anjuta-vcs-status-tree-view.c
+libanjuta/anjuta-column-text-view.c
+libanjuta/anjuta-entry.c
+libanjuta/anjuta-file-drop-entry.c
+libanjuta/anjuta-file-list.c
 libanjuta/cell-renderer-captioned-image.c
 libanjuta/e-splash.c
 libanjuta/resources.c
@@ -34,6 +38,8 @@ libfoocanvas/foo-canvas-text.c
 libfoocanvas/foo-canvas-util.c
 libfoocanvas/foo-canvas-widget.c
 libfoocanvas/libfoocanvastypes.c
+plugins/am-project/ac-parser.c
+plugins/am-project/am-parser.c
 [type: gettext/glade]plugins/build-basic-autotools/anjuta-build-basic-autotools-plugin.ui
 plugins/build-basic-autotools/build-options.c
 plugins/build-basic-autotools/configuration-list.c
@@ -57,6 +63,8 @@ plugins/cvs-plugin/cvs-actions.c
 plugins/cvs-plugin/cvs-callbacks.c
 plugins/cvs-plugin/cvs-execute.c
 plugins/cvs-plugin/plugin.c
+[type: gettext/glade]plugins/code-analyzer/code-analyzer.ui
+plugins/code-analyzer/plugin.c
 [type: gettext/glade]plugins/debug-manager/anjuta-debug-manager.ui
 plugins/debug-manager/breakpoints.c
 plugins/debug-manager/chunk_view.c
@@ -105,33 +113,29 @@ plugins/gdb/plugin.c
 plugins/gdb/utilities.c
 plugins/gdb/preferences.c
 [type: gettext/glade]plugins/git/anjuta-git.ui
-plugins/git/git-add-dialog.c
-plugins/git/git-add-remote-dialog.c
-plugins/git/git-apply-mailbox-dialog.c
-plugins/git/git-bisect-dialog.c
-plugins/git/git-cat-file-menu.c
-plugins/git/git-checkout-files-dialog.c
-plugins/git/git-cherry-pick-dialog.c
-plugins/git/git-commit-dialog.c
-plugins/git/git-create-branch-dialog.c
-plugins/git/git-create-tag-dialog.c
-plugins/git/git-delete-branch-dialog.c
-plugins/git/git-delete-tag-dialog.c
-plugins/git/git-diff-dialog.c
-plugins/git/git-fetch-dialog.c
-plugins/git/git-log-dialog.c
-plugins/git/git-merge-dialog.c
-plugins/git/git-pull-dialog.c
-plugins/git/git-push-dialog.c
-plugins/git/git-rebase-dialog.c
-plugins/git/git-remove-dialog.c
-plugins/git/git-reset-dialog.c
-plugins/git/git-resolve-dialog.c
-plugins/git/git-revert-dialog.c
-plugins/git/git-stash-widget.c
-plugins/git/git-switch-dialog.c
-plugins/git/git-ui-utils.c
-plugins/git/git-unstage-dialog.c
+plugins/git/git-add-files-pane.c
+plugins/git/git-add-remote-pane.c
+plugins/git/git-apply-stash-pane.c
+plugins/git/git-checkout-pane.c
+plugins/git/git-commit-pane.c
+plugins/git/git-create-branch-pane.c
+plugins/git/git-create-tag-pane.c
+plugins/git/git-delete-remote-pane.c
+plugins/git/git-delete-tags-pane.c
+plugins/git/git-diff-stash-pane.c
+plugins/git/git-drop-stash-pane.c
+plugins/git/git-log-pane.c
+plugins/git/git-merge-pane.c
+plugins/git/git-pane.c
+plugins/git/git-pull-pane.c
+plugins/git/git-push-pane.c
+plugins/git/git-rebase-pane.c
+plugins/git/git-remove-files-pane.c
+plugins/git/git-repository-selector.c
+plugins/git/git-resolve-conflicts-pane.c
+plugins/git/git-stash-changes-pane.c
+plugins/git/git-status-pane.c
+plugins/git/git-unstage-pane.c
 plugins/git/plugin.c
 plugins/glade/plugin.c
 plugins/glade/anjuta-design-document.c
@@ -151,6 +155,8 @@ plugins/gtodo/todo_db.c
 plugins/message-view/anjuta-msgman.c
 plugins/message-view/message-view.c
 plugins/message-view/plugin.c
+plugins/mk-project/mk-project.c
+[type: gettext/glade]plugins/mk-project/mk-project.ui
 plugins/patch/patch-plugin.c
 [type: gettext/glade]plugins/patch/patch-plugin.ui
 plugins/patch/plugin.c
@@ -226,7 +232,6 @@ plugins/subversion/subversion-ui-utils.c
 plugins/subversion/subversion-update-dialog.c
 plugins/subversion/svn-command.c
 plugins/symbol-db/plugin.c
-plugins/symbol-db/symbol-db-prefs.c
 plugins/symbol-db/symbol-db-system.c
 [type: gettext/glade]plugins/symbol-db/anjuta-symbol-db.ui
 [type: gettext/glade]plugins/terminal/anjuta-terminal-plugin.ui



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]