added new API gimp_color_button_[get|set]_update() which configures the
2003-11-11 Michael Natterer <mitch@gimp.org> * libgimpwidgets/gimpcolorbutton.[ch]: added new API gimp_color_button_[get|set]_update() which configures the button to emit "color_changed" continuously while the color in the color selection dialog is being changed. Fixes bug #90091. Renamed GimpColorButton struct member "GtkItemFactory *item_factory" to a /*< private >*/ member named "gpointer popup_menu". This is ugly but fixes bug #125115, * app/display/gimpdisplayshell-callbacks.c * app/display/gimpdisplayshell.c * app/widgets/gimpcolorpanel.c: changed accordingly. * libgimpwidgets/gimpcolorbutton.c: use a GimpColorSelection with a handmade GimpDialog instead of GtkColorSelectionDialog. Enabled module loading for plug-ins so the color selection can show the color selectors which are implemented in modules: * libgimpwidgets/gimpwidgets-private.[ch]: added GimpEnsureModlesFunc which can be called by modules users. * app/gui/gui.c (gui_libs_init): pass NULL as GimpEnsureModulesFunc since the core loads the modules itself. * libgimp/gimpui.c (gimp_ui_init): pass new private function gimp_ensure_modules() which will load the modules upon first invocation. * libgimp/Makefile.am: link libgimpui against libgimpmodule. * libgimpwidgets/gimpcolorselection.c: call _gimp_ensure_modules_func() if it is non-NULL so color selector modules are available for plug-ins. * tools/pdbgen/pdb/gimprc.pdb: added new PDB wrapper gimp_get_module_load_inhibit(). * app/pdb/gimprc_cmds.c * app/pdb/internal_procs.c * libgimp/gimpgimprc_pdb.[ch]: regenerated.
This commit is contained in:
committed by
Michael Natterer
parent
73570b0d35
commit
e34358d8c3
@ -21,6 +21,10 @@
|
||||
|
||||
#include <stdlib.h>
|
||||
|
||||
#include <gtk/gtk.h>
|
||||
|
||||
#include "libgimpmodule/gimpmodule.h"
|
||||
|
||||
#include "gimp.h"
|
||||
#include "gimpui.h"
|
||||
|
||||
@ -30,8 +34,9 @@
|
||||
|
||||
/* local function prototypes */
|
||||
|
||||
static void gimp_ui_help_func (const gchar *help_id,
|
||||
gpointer help_data);
|
||||
static void gimp_ui_help_func (const gchar *help_id,
|
||||
gpointer help_data);
|
||||
static void gimp_ensure_modules (void);
|
||||
|
||||
|
||||
/* public functions */
|
||||
@ -143,7 +148,8 @@ gimp_ui_init (const gchar *prog_name,
|
||||
gimp_widgets_init (&vtable,
|
||||
gimp_ui_help_func,
|
||||
gimp_palette_get_foreground,
|
||||
gimp_palette_get_background);
|
||||
gimp_palette_get_background,
|
||||
gimp_ensure_modules);
|
||||
|
||||
if (! gimp_show_tool_tips ())
|
||||
gimp_help_disable_tooltips ();
|
||||
@ -160,3 +166,25 @@ gimp_ui_help_func (const gchar *help_id,
|
||||
{
|
||||
gimp_help (gimp_get_progname (), help_id);
|
||||
}
|
||||
|
||||
static void
|
||||
gimp_ensure_modules (void)
|
||||
{
|
||||
static GimpModuleDB *module_db = NULL;
|
||||
|
||||
if (! module_db)
|
||||
{
|
||||
gchar *load_inhibit;
|
||||
gchar *module_path;
|
||||
|
||||
load_inhibit = gimp_get_module_load_inhibit ();
|
||||
module_path = gimp_gimprc_query ("module-path");
|
||||
|
||||
module_db = gimp_module_db_new (FALSE);
|
||||
gimp_module_db_set_load_inhibit (module_db, load_inhibit);
|
||||
gimp_module_db_load (module_db, module_path);
|
||||
|
||||
g_free (load_inhibit);
|
||||
g_free (module_path);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user