Commit c5efcc17 authored by Jody Goldberg's avatar Jody Goldberg Committed by Jody Goldberg

Avoid an unended slew of bug reports by fixing the behaviors of

plugins BEFORE we release.

2001-05-19  Jody Goldberg <jgoldberg@home.com>

	* plugin-manager.glade : convert the vertical scrollbars to
	  autoscroll.

2001-05-19  Jody Goldberg <jgoldberg@home.com>

	* src/plugin.c (plugin_db_extend_saved_active_plugin_id_list) : Merge
	  into plugin_db_init.
	(plugin_db_init) : Find the unknown plugins not the known plugins.
	  Remove the list of plugins that default to on.
	  Fix the use of gnome_config.
parent f4346d4e
2001-05-18 Jody Goldberg <jgoldberg@home.com>
2001-05-19 Jody Goldberg <jgoldberg@home.com>
* src/plugin.c (plugin_db_extend_saved_active_plugin_id_list) : Merge
into plugin_db_init.
(plugin_db_init) : Find the unknown plugins not the known plugins.
Remove the list of plugins that default to on.
Fix the use of gnome_config.
2001-05-19 Jody Goldberg <jgoldberg@home.com>
* gnumeric.spec.in : update GAL req.
* configure.in : ditto.
......@@ -7,6 +15,8 @@
* src/GNOME_Gnumeric.xml : Fix the accelerators to use xkeysym names
rather than the physical key for slash and space.
* src/plugin.c (plugin_db_init) : Enable new plugins by default.
2001-05-17 Jody Goldberg <jgoldberg@home.com>
* src/sheet-style.c (cell_tile_apply_pos) : Add more sanity checking.
......
2001-05-18 Jody Goldberg <jgoldberg@home.com>
2001-05-19 Jody Goldberg <jgoldberg@home.com>
* src/plugin.c (plugin_db_extend_saved_active_plugin_id_list) : Merge
into plugin_db_init.
(plugin_db_init) : Find the unknown plugins not the known plugins.
Remove the list of plugins that default to on.
Fix the use of gnome_config.
2001-05-19 Jody Goldberg <jgoldberg@home.com>
* gnumeric.spec.in : update GAL req.
* configure.in : ditto.
......@@ -7,6 +15,8 @@
* src/GNOME_Gnumeric.xml : Fix the accelerators to use xkeysym names
rather than the physical key for slash and space.
* src/plugin.c (plugin_db_init) : Enable new plugins by default.
2001-05-17 Jody Goldberg <jgoldberg@home.com>
* src/sheet-style.c (cell_tile_apply_pos) : Add more sanity checking.
......
2001-05-18 Jody Goldberg <jgoldberg@home.com>
2001-05-19 Jody Goldberg <jgoldberg@home.com>
* src/plugin.c (plugin_db_extend_saved_active_plugin_id_list) : Merge
into plugin_db_init.
(plugin_db_init) : Find the unknown plugins not the known plugins.
Remove the list of plugins that default to on.
Fix the use of gnome_config.
2001-05-19 Jody Goldberg <jgoldberg@home.com>
* gnumeric.spec.in : update GAL req.
* configure.in : ditto.
......@@ -7,6 +15,8 @@
* src/GNOME_Gnumeric.xml : Fix the accelerators to use xkeysym names
rather than the physical key for slash and space.
* src/plugin.c (plugin_db_init) : Enable new plugins by default.
2001-05-17 Jody Goldberg <jgoldberg@home.com>
* src/sheet-style.c (cell_tile_apply_pos) : Add more sanity checking.
......
2001-05-18 Jody Goldberg <jgoldberg@home.com>
2001-05-19 Jody Goldberg <jgoldberg@home.com>
* src/plugin.c (plugin_db_extend_saved_active_plugin_id_list) : Merge
into plugin_db_init.
(plugin_db_init) : Find the unknown plugins not the known plugins.
Remove the list of plugins that default to on.
Fix the use of gnome_config.
2001-05-19 Jody Goldberg <jgoldberg@home.com>
* gnumeric.spec.in : update GAL req.
* configure.in : ditto.
......@@ -7,6 +15,8 @@
* src/GNOME_Gnumeric.xml : Fix the accelerators to use xkeysym names
rather than the physical key for slash and space.
* src/plugin.c (plugin_db_init) : Enable new plugins by default.
2001-05-17 Jody Goldberg <jgoldberg@home.com>
* src/sheet-style.c (cell_tile_apply_pos) : Add more sanity checking.
......
2001-05-18 Jody Goldberg <jgoldberg@home.com>
2001-05-19 Jody Goldberg <jgoldberg@home.com>
* src/plugin.c (plugin_db_extend_saved_active_plugin_id_list) : Merge
into plugin_db_init.
(plugin_db_init) : Find the unknown plugins not the known plugins.
Remove the list of plugins that default to on.
Fix the use of gnome_config.
2001-05-19 Jody Goldberg <jgoldberg@home.com>
* gnumeric.spec.in : update GAL req.
* configure.in : ditto.
......@@ -7,6 +15,8 @@
* src/GNOME_Gnumeric.xml : Fix the accelerators to use xkeysym names
rather than the physical key for slash and space.
* src/plugin.c (plugin_db_init) : Enable new plugins by default.
2001-05-17 Jody Goldberg <jgoldberg@home.com>
* src/sheet-style.c (cell_tile_apply_pos) : Add more sanity checking.
......
2001-05-19 Jody Goldberg <jgoldberg@home.com>
* plugin-manager.glade : convert the vertical scrollbars to
autoscroll.
2001-05-18 Almer S. Tigelaar <almer@gnome.org>
* dialog-goto-cell.c (dialog_goto_cell): Don't add duplicates
......
......@@ -10,7 +10,6 @@
<language>C</language>
<gnome_support>True</gnome_support>
<gettext_support>True</gettext_support>
<output_translatable_strings>False</output_translatable_strings>
</project>
<widget>
......@@ -118,7 +117,7 @@
<class>GtkScrolledWindow</class>
<name>scrolledwindow5</name>
<hscrollbar_policy>GTK_POLICY_AUTOMATIC</hscrollbar_policy>
<vscrollbar_policy>GTK_POLICY_ALWAYS</vscrollbar_policy>
<vscrollbar_policy>GTK_POLICY_AUTOMATIC</vscrollbar_policy>
<hupdate_policy>GTK_UPDATE_CONTINUOUS</hupdate_policy>
<vupdate_policy>GTK_UPDATE_CONTINUOUS</vupdate_policy>
<child>
......@@ -156,7 +155,7 @@
<class>GtkScrolledWindow</class>
<name>scrolledwindow4</name>
<hscrollbar_policy>GTK_POLICY_AUTOMATIC</hscrollbar_policy>
<vscrollbar_policy>GTK_POLICY_ALWAYS</vscrollbar_policy>
<vscrollbar_policy>GTK_POLICY_AUTOMATIC</vscrollbar_policy>
<hupdate_policy>GTK_UPDATE_CONTINUOUS</hupdate_policy>
<vupdate_policy>GTK_UPDATE_CONTINUOUS</vupdate_policy>
<child>
......@@ -551,7 +550,7 @@
<class>GtkScrolledWindow</class>
<name>scrolledwindow3</name>
<hscrollbar_policy>GTK_POLICY_AUTOMATIC</hscrollbar_policy>
<vscrollbar_policy>GTK_POLICY_ALWAYS</vscrollbar_policy>
<vscrollbar_policy>GTK_POLICY_AUTOMATIC</vscrollbar_policy>
<hupdate_policy>GTK_UPDATE_CONTINUOUS</hupdate_policy>
<vupdate_policy>GTK_UPDATE_CONTINUOUS</vupdate_policy>
......
......@@ -46,8 +46,6 @@
#define PLUGIN_INFO_FILE_NAME "plugin.xml"
static gchar *plugins_active_by_default[] = {"Gnumeric_Excel", NULL};
typedef struct _PluginLoaderStaticInfo PluginLoaderStaticInfo;
struct _PluginLoaderStaticInfo {
gchar *loader_type_str;
......@@ -1563,17 +1561,6 @@ plugin_db_update_saved_active_plugin_id_list (void)
NULL);
}
static void
plugin_db_extend_saved_active_plugin_id_list (GList *extra_ids)
{
if (extra_ids == NULL) {
return;
}
saved_active_plugin_id_list = g_list_concat (saved_active_plugin_id_list, extra_ids);
gnumeric_config_set_string_list (saved_active_plugin_id_list,
"Gnumeric/Plugin/ActivePlugins",
NULL);
}
void
plugin_db_mark_plugin_for_deactivation (PluginInfo *pinfo, gboolean mark)
......@@ -1624,42 +1611,40 @@ plugin_db_init (ErrorInfo **ret_error)
known_plugin_id_list = gnumeric_config_get_string_list (
"Gnumeric/Plugin/KnownPlugins",
NULL);
new_plugin_ids = NULL;
/* Make a hash of the known plugins */
known_plugin_id_hash = g_hash_table_new (&g_str_hash, &g_str_equal);
g_hash_table_freeze (known_plugin_id_hash);
for (l = known_plugin_id_list; l != NULL; l = l->next) {
g_hash_table_insert (known_plugin_id_hash, l->data, NULL);
}
g_hash_table_thaw (known_plugin_id_hash);
for (l = available_plugin_info_list; l != NULL; l = l->next) {
gchar *plugin_id;
plugin_id = ((PluginInfo *) l->data)->id;
if (g_hash_table_lookup (known_plugin_id_hash, plugin_id) != NULL) {
/* Find the new plugins by searching in the hash */
new_plugin_ids = NULL;
for (l = available_plugin_info_list; l != NULL; l = l->next) {
gchar *plugin_id = ((PluginInfo *) l->data)->id;
if (g_hash_table_lookup (known_plugin_id_hash, plugin_id) == NULL)
new_plugin_ids = g_list_prepend (new_plugin_ids, g_strdup (plugin_id));
}
}
g_hash_table_destroy (known_plugin_id_hash);
if (gnome_config_get_bool_with_default ("Gnumeric/Plugin/ActivateNewByDefault", FALSE)) {
plugin_db_extend_saved_active_plugin_id_list (g_string_list_copy (new_plugin_ids));
} else {
GList *new_active_plugin_ids = NULL;
gchar **id_ptr;
for (id_ptr = plugins_active_by_default; *id_ptr != NULL; id_ptr++) {
if (g_list_find_custom (new_plugin_ids, *id_ptr, &g_str_compare) != NULL) {
new_active_plugin_ids = g_list_prepend (new_active_plugin_ids, g_strdup (*id_ptr));
}
/* Store and potentially activate new plugins */
if (new_plugin_ids != NULL) {
if (gnome_config_get_bool_with_default ("Gnumeric/Plugin/ActivateNewByDefault=true", NULL)) {
saved_active_plugin_id_list =
g_list_concat (saved_active_plugin_id_list,
g_string_list_copy (new_plugin_ids));
gnumeric_config_set_string_list (saved_active_plugin_id_list,
"Gnumeric/Plugin/ActivePlugins",
NULL);
}
plugin_db_extend_saved_active_plugin_id_list (new_active_plugin_ids);
}
if (new_plugin_ids != NULL) {
known_plugin_id_list = g_list_concat (known_plugin_id_list, new_plugin_ids);
known_plugin_id_list = g_list_concat (known_plugin_id_list,
new_plugin_ids);
gnumeric_config_set_string_list (known_plugin_id_list,
"Gnumeric/Plugin/KnownPlugins",
NULL);
"Gnumeric/Plugin/KnownPlugins",
NULL);
}
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment