mirror of https://github.com/GNOME/gimp.git
gimp.m4 removed.
2001-02-19 Michael Natterer <mitch@gimp.org> * gimp.m4 * gimptool.in: removed. * gimp-1.4.m4 * gimptool-1.4.in: added modified versions. gimp-1.4.m4 is untested. The m4 macro is now called AM_PATH_GIMP_1_4() * .cvsignore * Makefile.am * configure.in: changed accordingly. * libgimp/Makefile.am * libgimpcolor/Makefile.am * libgimpmath/Makefile.am * libgimpwidgets/Makefile.am: install the header files in $includedir/gimp-MAJOR.MINOR/<libname> * app/brush_edit.c: increased toplevel container border size to 4. * app/gimpdatafactoryview.c: don't generate multiple "copy"s when duplicating data objects. * app/gradient_editor.c: cleaned up the GUI. * app/lc_dialog.c: removed the "Close" button.
This commit is contained in:
parent
a80dd4d071
commit
2beabbaf04
|
@ -15,7 +15,7 @@ config.status
|
|||
libtool
|
||||
aclocal.m4
|
||||
gimprc_user
|
||||
gimptool
|
||||
gimptool-1.4
|
||||
intl
|
||||
config.h.in
|
||||
stamp-h.in
|
||||
|
|
28
ChangeLog
28
ChangeLog
|
@ -1,3 +1,31 @@
|
|||
2001-02-19 Michael Natterer <mitch@gimp.org>
|
||||
|
||||
* gimp.m4
|
||||
* gimptool.in: removed.
|
||||
|
||||
* gimp-1.4.m4
|
||||
* gimptool-1.4.in: added modified versions. gimp-1.4.m4 is untested.
|
||||
The m4 macro is now called AM_PATH_GIMP_1_4()
|
||||
|
||||
* .cvsignore
|
||||
* Makefile.am
|
||||
* configure.in: changed accordingly.
|
||||
|
||||
* libgimp/Makefile.am
|
||||
* libgimpcolor/Makefile.am
|
||||
* libgimpmath/Makefile.am
|
||||
* libgimpwidgets/Makefile.am: install the header files in
|
||||
$includedir/gimp-MAJOR.MINOR/<libname>
|
||||
|
||||
* app/brush_edit.c: increased toplevel container border size to 4.
|
||||
|
||||
* app/gimpdatafactoryview.c: don't generate multiple "copy"s when
|
||||
duplicating data objects.
|
||||
|
||||
* app/gradient_editor.c: cleaned up the GUI.
|
||||
|
||||
* app/lc_dialog.c: removed the "Close" button.
|
||||
|
||||
2001-02-18 Michael Natterer <mitch@gimp.org>
|
||||
|
||||
* app/gimpdnd.[ch]: added DND source functions which work by
|
||||
|
|
12
Makefile.am
12
Makefile.am
|
@ -24,7 +24,7 @@ SUBDIRS = \
|
|||
devel-docs \
|
||||
build
|
||||
|
||||
bin_SCRIPTS = gimptool @GIMPINSTALL@
|
||||
bin_SCRIPTS = gimptool-1.4 @GIMPINSTALL@
|
||||
|
||||
EXTRA_SCRIPTS = gimpinstall
|
||||
|
||||
|
@ -46,7 +46,7 @@ EXTRA_DIST = \
|
|||
user_install \
|
||||
user_install.bat \
|
||||
ps-menurc \
|
||||
gimp.m4 \
|
||||
gimp-1.4.m4 \
|
||||
gimprc.win32 \
|
||||
config.h.win32
|
||||
|
||||
|
@ -67,7 +67,7 @@ gimpdata_SCRIPTS = user_install
|
|||
man_MANS = gimp.1 gimptool.1 gimp-remote.1 gimprc.5
|
||||
|
||||
m4datadir = $(datadir)/aclocal
|
||||
m4data_DATA = gimp.m4
|
||||
m4data_DATA = gimp-1.4.m4
|
||||
|
||||
scriptdata =
|
||||
|
||||
|
@ -76,11 +76,11 @@ gimpinstall:
|
|||
|
||||
install-exec-local:
|
||||
cd $(DESTDIR)$(bindir) \
|
||||
&& rm -f gimp-config \
|
||||
&& $(LN_S) gimptool gimp-config
|
||||
&& rm -f gimp-config-1.4 \
|
||||
&& $(LN_S) gimptool-1.4 gimp-config-1.4
|
||||
|
||||
uninstall-local:
|
||||
rm -f $(DESTDIR)$(bindir)/gimp-config
|
||||
rm -f $(DESTDIR)$(bindir)/gimp-config-1.4
|
||||
|
||||
.PHONY: files populate checkin release
|
||||
|
||||
|
|
|
@ -104,7 +104,7 @@ brush_edit_generated_new (void)
|
|||
gtk_widget_hide (GTK_DIALOG (begw->shell)->action_area);
|
||||
|
||||
vbox = gtk_vbox_new (FALSE, 1);
|
||||
gtk_container_set_border_width (GTK_CONTAINER (vbox), 2);
|
||||
gtk_container_set_border_width (GTK_CONTAINER (vbox), 4);
|
||||
gtk_container_add (GTK_CONTAINER (GTK_DIALOG (begw->shell)->vbox), vbox);
|
||||
|
||||
/* Brush's name */
|
||||
|
|
|
@ -18,8 +18,12 @@
|
|||
|
||||
#include "config.h"
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
#include <gtk/gtk.h>
|
||||
|
||||
#include "libgimpmath/gimpmath.h"
|
||||
#include "libgimpwidgets/gimpwidgets.h"
|
||||
|
||||
#include "apptypes.h"
|
||||
|
@ -377,13 +381,33 @@ gimp_data_factory_view_duplicate_clicked (GtkWidget *widget,
|
|||
|
||||
if (new_data)
|
||||
{
|
||||
gchar *name;
|
||||
const gchar *name;
|
||||
gchar *ext;
|
||||
gint copy_len;
|
||||
gint number;
|
||||
gchar *new_name;
|
||||
|
||||
name = g_strdup_printf (_("%s copy"), GIMP_OBJECT (data)->name);
|
||||
name = gimp_object_get_name (GIMP_OBJECT (data));
|
||||
|
||||
gimp_object_set_name (GIMP_OBJECT (new_data), name);
|
||||
ext = strrchr (name, '#');
|
||||
copy_len = strlen (_("copy"));
|
||||
|
||||
g_free (name);
|
||||
if ((strlen (name) >= copy_len &&
|
||||
strcmp (&name[strlen (name) - copy_len], _("copy")) == 0) ||
|
||||
(ext && (number = atoi (ext + 1)) > 0 &&
|
||||
((gint) (log10 (number) + 1)) == strlen (ext + 1)))
|
||||
{
|
||||
/* don't have redundant "copy"s */
|
||||
new_name = g_strdup (name);
|
||||
}
|
||||
else
|
||||
{
|
||||
new_name = g_strdup_printf (_("%s copy"), name);
|
||||
}
|
||||
|
||||
gimp_object_set_name (GIMP_OBJECT (new_data), new_name);
|
||||
|
||||
g_free (new_name);
|
||||
|
||||
gimp_container_add (view->factory->container, GIMP_OBJECT (new_data));
|
||||
|
||||
|
|
|
@ -535,6 +535,7 @@ gradient_editor_new (void)
|
|||
GtkWidget *main_vbox;
|
||||
GtkWidget *hbox;
|
||||
GtkWidget *vbox;
|
||||
GtkWidget *vbox2;
|
||||
GtkWidget *button;
|
||||
GtkWidget *frame;
|
||||
gint i;
|
||||
|
@ -560,19 +561,19 @@ gradient_editor_new (void)
|
|||
|
||||
NULL);
|
||||
|
||||
gtk_widget_hide (GTK_WIDGET (g_list_nth_data (gtk_container_children (GTK_CONTAINER (GTK_DIALOG (gradient_editor->shell)->vbox)), 0)));
|
||||
|
||||
gtk_widget_hide (GTK_DIALOG (gradient_editor->shell)->action_area);
|
||||
|
||||
main_vbox = gtk_vbox_new (FALSE, 4);
|
||||
gtk_container_set_border_width (GTK_CONTAINER (main_vbox), 4);
|
||||
gtk_container_add (GTK_CONTAINER (GTK_DIALOG (gradient_editor->shell)->vbox),
|
||||
main_vbox);
|
||||
gtk_widget_show (main_vbox);
|
||||
|
||||
vbox = gtk_vbox_new (FALSE, 1);
|
||||
gtk_box_pack_start (GTK_BOX (main_vbox), vbox, TRUE, TRUE, 0);
|
||||
gtk_widget_show (vbox);
|
||||
|
||||
/* Gradient's name */
|
||||
gradient_editor->name = gtk_entry_new ();
|
||||
gtk_box_pack_start (GTK_BOX (main_vbox), gradient_editor->name, FALSE, FALSE, 0);
|
||||
gtk_box_pack_start (GTK_BOX (vbox), gradient_editor->name, TRUE, TRUE, 0);
|
||||
gtk_widget_show (gradient_editor->name);
|
||||
|
||||
gtk_signal_connect (GTK_OBJECT (gradient_editor->name), "activate",
|
||||
|
@ -582,99 +583,15 @@ gradient_editor_new (void)
|
|||
GTK_SIGNAL_FUNC (gradient_editor_name_focus_out),
|
||||
gradient_editor);
|
||||
|
||||
/* Horizontal box for zoom controls, scrollbar and instant update toggle */
|
||||
hbox = gtk_hbox_new (FALSE, 4);
|
||||
gtk_container_set_border_width (GTK_CONTAINER (hbox), 0);
|
||||
gtk_box_pack_start (GTK_BOX (main_vbox), hbox, FALSE, FALSE, 0);
|
||||
gtk_widget_show (hbox);
|
||||
|
||||
/* Save as POV-Ray button */
|
||||
button = gtk_button_new_with_label (_("Save as POV-Ray"));
|
||||
gimp_help_set_help_data (button, NULL,
|
||||
"dialogs/gradient_editor/save_as_povray.html");
|
||||
gtk_misc_set_padding (GTK_MISC (GTK_BIN (button)->child), 2, 0);
|
||||
gtk_box_pack_start (GTK_BOX (hbox), button, FALSE, FALSE, 0);
|
||||
gtk_widget_show (button);
|
||||
|
||||
GTK_WIDGET_UNSET_FLAGS (button, GTK_RECEIVES_DEFAULT);
|
||||
|
||||
gtk_signal_connect (GTK_OBJECT (button), "clicked",
|
||||
GTK_SIGNAL_FUNC (ed_save_pov_callback),
|
||||
gradient_editor);
|
||||
|
||||
/* Zoom all button */
|
||||
button = gtk_button_new_with_label (_("Zoom all"));
|
||||
gtk_misc_set_padding (GTK_MISC (GTK_BIN (button)->child), 2, 0);
|
||||
gtk_box_pack_start (GTK_BOX (hbox), button, FALSE, FALSE, 0);
|
||||
gtk_widget_show (button);
|
||||
|
||||
GTK_WIDGET_UNSET_FLAGS (button, GTK_RECEIVES_DEFAULT);
|
||||
|
||||
gtk_signal_connect (GTK_OBJECT (button), "clicked",
|
||||
GTK_SIGNAL_FUNC (ed_zoom_all_callback),
|
||||
gradient_editor);
|
||||
|
||||
/* + and - buttons */
|
||||
gtk_widget_realize (gradient_editor->shell);
|
||||
|
||||
button = gimp_pixmap_button_new (zoom_in_xpm, NULL);
|
||||
GTK_WIDGET_UNSET_FLAGS (button, GTK_RECEIVES_DEFAULT);
|
||||
gtk_signal_connect (GTK_OBJECT (button), "clicked",
|
||||
GTK_SIGNAL_FUNC (ed_zoom_in_callback),
|
||||
gradient_editor);
|
||||
gtk_box_pack_start (GTK_BOX (hbox), button, FALSE, FALSE, 0);
|
||||
gtk_widget_show (button);
|
||||
|
||||
button = gimp_pixmap_button_new (zoom_out_xpm, NULL);
|
||||
GTK_WIDGET_UNSET_FLAGS (button, GTK_RECEIVES_DEFAULT);
|
||||
gtk_signal_connect (GTK_OBJECT (button), "clicked",
|
||||
GTK_SIGNAL_FUNC (ed_zoom_out_callback),
|
||||
gradient_editor);
|
||||
gtk_box_pack_start (GTK_BOX (hbox), button, FALSE, FALSE, 0);
|
||||
gtk_widget_show (button);
|
||||
|
||||
/* Scrollbar */
|
||||
gradient_editor->zoom_factor = 1;
|
||||
|
||||
gradient_editor->scroll_data = gtk_adjustment_new (0.0, 0.0, 1.0,
|
||||
1.0 * GRAD_SCROLLBAR_STEP_SIZE,
|
||||
1.0 * GRAD_SCROLLBAR_PAGE_SIZE,
|
||||
1.0);
|
||||
|
||||
gtk_signal_connect (gradient_editor->scroll_data, "value_changed",
|
||||
GTK_SIGNAL_FUNC (ed_scrollbar_update),
|
||||
gradient_editor);
|
||||
gtk_signal_connect (gradient_editor->scroll_data, "changed",
|
||||
GTK_SIGNAL_FUNC (ed_scrollbar_update),
|
||||
gradient_editor);
|
||||
|
||||
gradient_editor->scrollbar =
|
||||
gtk_hscrollbar_new (GTK_ADJUSTMENT (gradient_editor->scroll_data));
|
||||
gtk_range_set_update_policy (GTK_RANGE (gradient_editor->scrollbar),
|
||||
GTK_UPDATE_CONTINUOUS);
|
||||
gtk_box_pack_start (GTK_BOX (hbox), gradient_editor->scrollbar, TRUE, TRUE, 0);
|
||||
gtk_widget_hide (gradient_editor->scrollbar);
|
||||
|
||||
/* Instant update toggle */
|
||||
gradient_editor->instant_update = TRUE;
|
||||
|
||||
button = gtk_check_button_new_with_label (_("Instant update"));
|
||||
gtk_box_pack_end (GTK_BOX (hbox), button, FALSE, FALSE, 0);
|
||||
gtk_signal_connect (GTK_OBJECT (button), "toggled",
|
||||
GTK_SIGNAL_FUNC (ed_instant_update_update),
|
||||
gradient_editor);
|
||||
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (button), TRUE);
|
||||
gtk_widget_show (button);
|
||||
|
||||
/* Frame for gradient preview and gradient control */
|
||||
frame = gtk_frame_new (NULL);
|
||||
gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_IN);
|
||||
gtk_box_pack_start (GTK_BOX (main_vbox), frame, TRUE, TRUE, 0);
|
||||
gtk_box_pack_start (GTK_BOX (vbox), frame, TRUE, TRUE, 0);
|
||||
gtk_widget_show (frame);
|
||||
|
||||
vbox = gtk_vbox_new (FALSE, 0);
|
||||
gtk_container_add (GTK_CONTAINER (frame), vbox);
|
||||
gtk_widget_show (vbox);
|
||||
vbox2 = gtk_vbox_new (FALSE, 0);
|
||||
gtk_container_add (GTK_CONTAINER (frame), vbox2);
|
||||
gtk_widget_show (vbox2);
|
||||
|
||||
/* Gradient preview */
|
||||
gradient_editor->preview_rows[0] = NULL;
|
||||
|
@ -706,7 +623,7 @@ gradient_editor_new (void)
|
|||
gradient_editor_drop_gradient,
|
||||
gradient_editor);
|
||||
|
||||
gtk_box_pack_start (GTK_BOX (vbox), gradient_editor->preview, TRUE, TRUE, 0);
|
||||
gtk_box_pack_start (GTK_BOX (vbox2), gradient_editor->preview, TRUE, TRUE, 0);
|
||||
gtk_widget_show (gradient_editor->preview);
|
||||
|
||||
/* Gradient control */
|
||||
|
@ -762,13 +679,106 @@ gradient_editor_new (void)
|
|||
gtk_signal_connect (GTK_OBJECT (gradient_editor->control), "event",
|
||||
GTK_SIGNAL_FUNC (control_events),
|
||||
gradient_editor);
|
||||
gtk_box_pack_start (GTK_BOX (vbox), gradient_editor->control, FALSE, FALSE, 0);
|
||||
gtk_box_pack_start (GTK_BOX (vbox2), gradient_editor->control,
|
||||
FALSE, FALSE, 0);
|
||||
gtk_widget_show (gradient_editor->control);
|
||||
|
||||
/* Hint bar and close button */
|
||||
/* Scrollbar */
|
||||
gradient_editor->zoom_factor = 1;
|
||||
|
||||
gradient_editor->scroll_data =
|
||||
gtk_adjustment_new (0.0, 0.0, 1.0,
|
||||
1.0 * GRAD_SCROLLBAR_STEP_SIZE,
|
||||
1.0 * GRAD_SCROLLBAR_PAGE_SIZE,
|
||||
1.0);
|
||||
|
||||
gtk_signal_connect (gradient_editor->scroll_data, "value_changed",
|
||||
GTK_SIGNAL_FUNC (ed_scrollbar_update),
|
||||
gradient_editor);
|
||||
gtk_signal_connect (gradient_editor->scroll_data, "changed",
|
||||
GTK_SIGNAL_FUNC (ed_scrollbar_update),
|
||||
gradient_editor);
|
||||
|
||||
gradient_editor->scrollbar =
|
||||
gtk_hscrollbar_new (GTK_ADJUSTMENT (gradient_editor->scroll_data));
|
||||
gtk_range_set_update_policy (GTK_RANGE (gradient_editor->scrollbar),
|
||||
GTK_UPDATE_CONTINUOUS);
|
||||
gtk_box_pack_start (GTK_BOX (vbox), gradient_editor->scrollbar,
|
||||
FALSE, FALSE, 0);
|
||||
gtk_widget_show (gradient_editor->scrollbar);
|
||||
|
||||
/* Horizontal box for name, zoom controls and instant update toggle */
|
||||
hbox = gtk_hbox_new (FALSE, 4);
|
||||
gtk_box_pack_start (GTK_BOX (main_vbox), hbox, FALSE, FALSE, 0);
|
||||
gtk_widget_show (hbox);
|
||||
|
||||
/* Save as POV-Ray button */
|
||||
button = gtk_button_new_with_label (_("Save as POV-Ray"));
|
||||
gimp_help_set_help_data (button, NULL,
|
||||
"dialogs/gradient_editor/save_as_povray.html");
|
||||
gtk_misc_set_padding (GTK_MISC (GTK_BIN (button)->child), 2, 0);
|
||||
gtk_box_pack_start (GTK_BOX (hbox), button, FALSE, FALSE, 0);
|
||||
gtk_widget_show (button);
|
||||
|
||||
GTK_WIDGET_UNSET_FLAGS (button, GTK_RECEIVES_DEFAULT);
|
||||
|
||||
gtk_signal_connect (GTK_OBJECT (button), "clicked",
|
||||
GTK_SIGNAL_FUNC (ed_save_pov_callback),
|
||||
gradient_editor);
|
||||
|
||||
/* + and - buttons */
|
||||
gtk_widget_realize (gradient_editor->shell);
|
||||
|
||||
button = gimp_pixmap_button_new (zoom_out_xpm, NULL);
|
||||
GTK_WIDGET_UNSET_FLAGS (button, GTK_RECEIVES_DEFAULT);
|
||||
gtk_box_pack_end (GTK_BOX (hbox), button, FALSE, FALSE, 0);
|
||||
gtk_widget_show (button);
|
||||
|
||||
gtk_signal_connect (GTK_OBJECT (button), "clicked",
|
||||
GTK_SIGNAL_FUNC (ed_zoom_out_callback),
|
||||
gradient_editor);
|
||||
|
||||
button = gimp_pixmap_button_new (zoom_in_xpm, NULL);
|
||||
GTK_WIDGET_UNSET_FLAGS (button, GTK_RECEIVES_DEFAULT);
|
||||
gtk_box_pack_end (GTK_BOX (hbox), button, FALSE, FALSE, 0);
|
||||
gtk_widget_show (button);
|
||||
|
||||
gtk_signal_connect (GTK_OBJECT (button), "clicked",
|
||||
GTK_SIGNAL_FUNC (ed_zoom_in_callback),
|
||||
gradient_editor);
|
||||
|
||||
/* Zoom all button */
|
||||
button = gtk_button_new_with_label (_("Zoom all"));
|
||||
gtk_misc_set_padding (GTK_MISC (GTK_BIN (button)->child), 2, 0);
|
||||
gtk_box_pack_end (GTK_BOX (hbox), button, FALSE, FALSE, 0);
|
||||
gtk_widget_show (button);
|
||||
|
||||
GTK_WIDGET_UNSET_FLAGS (button, GTK_RECEIVES_DEFAULT);
|
||||
|
||||
gtk_signal_connect (GTK_OBJECT (button), "clicked",
|
||||
GTK_SIGNAL_FUNC (ed_zoom_all_callback),
|
||||
gradient_editor);
|
||||
|
||||
/* Instant update toggle */
|
||||
gradient_editor->instant_update = TRUE;
|
||||
|
||||
button = gtk_check_button_new_with_label (_("Instant update"));
|
||||
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (button), TRUE);
|
||||
gtk_box_pack_end (GTK_BOX (hbox), button, FALSE, FALSE, 0);
|
||||
gtk_widget_show (button);
|
||||
|
||||
gtk_signal_connect (GTK_OBJECT (button), "toggled",
|
||||
GTK_SIGNAL_FUNC (ed_instant_update_update),
|
||||
gradient_editor);
|
||||
|
||||
/* Hint bar */
|
||||
hbox = GTK_DIALOG (gradient_editor->shell)->action_area;
|
||||
gtk_container_set_border_width (GTK_CONTAINER (hbox), 4);
|
||||
gtk_box_set_homogeneous (GTK_BOX (hbox), FALSE);
|
||||
|
||||
gradient_editor->hint_label = gtk_label_new ("");
|
||||
gtk_misc_set_alignment (GTK_MISC (gradient_editor->hint_label), 0.0, 0.5);
|
||||
gtk_box_pack_start (GTK_BOX (main_vbox), gradient_editor->hint_label,
|
||||
gtk_box_pack_start (GTK_BOX (hbox), gradient_editor->hint_label,
|
||||
FALSE, FALSE, 0);
|
||||
gtk_widget_show (gradient_editor->hint_label);
|
||||
|
||||
|
@ -1150,8 +1160,6 @@ ed_zoom_all_callback (GtkWidget *widget,
|
|||
|
||||
gradient_editor->zoom_factor = 1;
|
||||
|
||||
gtk_widget_hide (gradient_editor->scrollbar);
|
||||
|
||||
adjustment->value = 0.0;
|
||||
adjustment->page_size = 1.0;
|
||||
adjustment->step_increment = 1.0 * GRAD_SCROLLBAR_STEP_SIZE;
|
||||
|
@ -1180,11 +1188,6 @@ ed_zoom_out_callback (GtkWidget *widget,
|
|||
|
||||
gradient_editor->zoom_factor--;
|
||||
|
||||
if (gradient_editor->zoom_factor==1)
|
||||
gtk_widget_hide (gradient_editor->scrollbar);
|
||||
else
|
||||
gtk_widget_show (gradient_editor->scrollbar);
|
||||
|
||||
page_size = 1.0 / gradient_editor->zoom_factor;
|
||||
value = old_value - (page_size - old_page_size) / 2.0;
|
||||
|
||||
|
@ -1225,7 +1228,6 @@ ed_zoom_in_callback (GtkWidget *widget,
|
|||
adjustment->page_increment = page_size * GRAD_SCROLLBAR_PAGE_SIZE;
|
||||
|
||||
gtk_adjustment_changed (GTK_ADJUSTMENT (gradient_editor->scroll_data));
|
||||
gtk_widget_show (gradient_editor->scrollbar);
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -1631,6 +1633,9 @@ control_events (GtkWidget *widget,
|
|||
|
||||
if ((time - gradient_editor->control_click_time) >= GRAD_MOVE_TIME)
|
||||
{
|
||||
if (! gradient_editor->instant_update)
|
||||
gimp_data_dirty (GIMP_DATA (gradient));
|
||||
|
||||
ed_update_editor (gradient_editor,
|
||||
GRAD_UPDATE_GRADIENT); /* Possible move */
|
||||
}
|
||||
|
@ -2040,13 +2045,17 @@ control_motion (GradientEditor *gradient_editor,
|
|||
if (str)
|
||||
g_free (str);
|
||||
|
||||
gimp_data_dirty (GIMP_DATA (gradient));
|
||||
|
||||
if (gradient_editor->instant_update)
|
||||
ed_update_editor (gradient_editor,
|
||||
GRAD_UPDATE_GRADIENT | GRAD_UPDATE_CONTROL);
|
||||
{
|
||||
gimp_data_dirty (GIMP_DATA (gradient));
|
||||
|
||||
ed_update_editor (gradient_editor,
|
||||
GRAD_UPDATE_GRADIENT | GRAD_UPDATE_CONTROL);
|
||||
}
|
||||
else
|
||||
ed_update_editor (gradient_editor, GRAD_UPDATE_CONTROL);
|
||||
{
|
||||
ed_update_editor (gradient_editor, GRAD_UPDATE_CONTROL);
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
|
|
|
@ -104,7 +104,7 @@ brush_edit_generated_new (void)
|
|||
gtk_widget_hide (GTK_DIALOG (begw->shell)->action_area);
|
||||
|
||||
vbox = gtk_vbox_new (FALSE, 1);
|
||||
gtk_container_set_border_width (GTK_CONTAINER (vbox), 2);
|
||||
gtk_container_set_border_width (GTK_CONTAINER (vbox), 4);
|
||||
gtk_container_add (GTK_CONTAINER (GTK_DIALOG (begw->shell)->vbox), vbox);
|
||||
|
||||
/* Brush's name */
|
||||
|
|
|
@ -535,6 +535,7 @@ gradient_editor_new (void)
|
|||
GtkWidget *main_vbox;
|
||||
GtkWidget *hbox;
|
||||
GtkWidget *vbox;
|
||||
GtkWidget *vbox2;
|
||||
GtkWidget *button;
|
||||
GtkWidget *frame;
|
||||
gint i;
|
||||
|
@ -560,19 +561,19 @@ gradient_editor_new (void)
|
|||
|
||||
NULL);
|
||||
|
||||
gtk_widget_hide (GTK_WIDGET (g_list_nth_data (gtk_container_children (GTK_CONTAINER (GTK_DIALOG (gradient_editor->shell)->vbox)), 0)));
|
||||
|
||||
gtk_widget_hide (GTK_DIALOG (gradient_editor->shell)->action_area);
|
||||
|
||||
main_vbox = gtk_vbox_new (FALSE, 4);
|
||||
gtk_container_set_border_width (GTK_CONTAINER (main_vbox), 4);
|
||||
gtk_container_add (GTK_CONTAINER (GTK_DIALOG (gradient_editor->shell)->vbox),
|
||||
main_vbox);
|
||||
gtk_widget_show (main_vbox);
|
||||
|
||||
vbox = gtk_vbox_new (FALSE, 1);
|
||||
gtk_box_pack_start (GTK_BOX (main_vbox), vbox, TRUE, TRUE, 0);
|
||||
gtk_widget_show (vbox);
|
||||
|
||||
/* Gradient's name */
|
||||
gradient_editor->name = gtk_entry_new ();
|
||||
gtk_box_pack_start (GTK_BOX (main_vbox), gradient_editor->name, FALSE, FALSE, 0);
|
||||
gtk_box_pack_start (GTK_BOX (vbox), gradient_editor->name, TRUE, TRUE, 0);
|
||||
gtk_widget_show (gradient_editor->name);
|
||||
|
||||
gtk_signal_connect (GTK_OBJECT (gradient_editor->name), "activate",
|
||||
|
@ -582,99 +583,15 @@ gradient_editor_new (void)
|
|||
GTK_SIGNAL_FUNC (gradient_editor_name_focus_out),
|
||||
gradient_editor);
|
||||
|
||||
/* Horizontal box for zoom controls, scrollbar and instant update toggle */
|
||||
hbox = gtk_hbox_new (FALSE, 4);
|
||||
gtk_container_set_border_width (GTK_CONTAINER (hbox), 0);
|
||||
gtk_box_pack_start (GTK_BOX (main_vbox), hbox, FALSE, FALSE, 0);
|
||||
gtk_widget_show (hbox);
|
||||
|
||||
/* Save as POV-Ray button */
|
||||
button = gtk_button_new_with_label (_("Save as POV-Ray"));
|
||||
gimp_help_set_help_data (button, NULL,
|
||||
"dialogs/gradient_editor/save_as_povray.html");
|
||||
gtk_misc_set_padding (GTK_MISC (GTK_BIN (button)->child), 2, 0);
|
||||
gtk_box_pack_start (GTK_BOX (hbox), button, FALSE, FALSE, 0);
|
||||
gtk_widget_show (button);
|
||||
|
||||
GTK_WIDGET_UNSET_FLAGS (button, GTK_RECEIVES_DEFAULT);
|
||||
|
||||
gtk_signal_connect (GTK_OBJECT (button), "clicked",
|
||||
GTK_SIGNAL_FUNC (ed_save_pov_callback),
|
||||
gradient_editor);
|
||||
|
||||
/* Zoom all button */
|
||||
button = gtk_button_new_with_label (_("Zoom all"));
|
||||
gtk_misc_set_padding (GTK_MISC (GTK_BIN (button)->child), 2, 0);
|
||||
gtk_box_pack_start (GTK_BOX (hbox), button, FALSE, FALSE, 0);
|
||||
gtk_widget_show (button);
|
||||
|
||||
GTK_WIDGET_UNSET_FLAGS (button, GTK_RECEIVES_DEFAULT);
|
||||
|
||||
gtk_signal_connect (GTK_OBJECT (button), "clicked",
|
||||
GTK_SIGNAL_FUNC (ed_zoom_all_callback),
|
||||
gradient_editor);
|
||||
|
||||
/* + and - buttons */
|
||||
gtk_widget_realize (gradient_editor->shell);
|
||||
|
||||
button = gimp_pixmap_button_new (zoom_in_xpm, NULL);
|
||||
GTK_WIDGET_UNSET_FLAGS (button, GTK_RECEIVES_DEFAULT);
|
||||
gtk_signal_connect (GTK_OBJECT (button), "clicked",
|
||||
GTK_SIGNAL_FUNC (ed_zoom_in_callback),
|
||||
gradient_editor);
|
||||
gtk_box_pack_start (GTK_BOX (hbox), button, FALSE, FALSE, 0);
|
||||
gtk_widget_show (button);
|
||||
|
||||
button = gimp_pixmap_button_new (zoom_out_xpm, NULL);
|
||||
GTK_WIDGET_UNSET_FLAGS (button, GTK_RECEIVES_DEFAULT);
|
||||
gtk_signal_connect (GTK_OBJECT (button), "clicked",
|
||||
GTK_SIGNAL_FUNC (ed_zoom_out_callback),
|
||||
gradient_editor);
|
||||
gtk_box_pack_start (GTK_BOX (hbox), button, FALSE, FALSE, 0);
|
||||
gtk_widget_show (button);
|
||||
|
||||
/* Scrollbar */
|
||||
gradient_editor->zoom_factor = 1;
|
||||
|
||||
gradient_editor->scroll_data = gtk_adjustment_new (0.0, 0.0, 1.0,
|
||||
1.0 * GRAD_SCROLLBAR_STEP_SIZE,
|
||||
1.0 * GRAD_SCROLLBAR_PAGE_SIZE,
|
||||
1.0);
|
||||
|
||||
gtk_signal_connect (gradient_editor->scroll_data, "value_changed",
|
||||
GTK_SIGNAL_FUNC (ed_scrollbar_update),
|
||||
gradient_editor);
|
||||
gtk_signal_connect (gradient_editor->scroll_data, "changed",
|
||||
GTK_SIGNAL_FUNC (ed_scrollbar_update),
|
||||
gradient_editor);
|
||||
|
||||
gradient_editor->scrollbar =
|
||||
gtk_hscrollbar_new (GTK_ADJUSTMENT (gradient_editor->scroll_data));
|
||||
gtk_range_set_update_policy (GTK_RANGE (gradient_editor->scrollbar),
|
||||
GTK_UPDATE_CONTINUOUS);
|
||||
gtk_box_pack_start (GTK_BOX (hbox), gradient_editor->scrollbar, TRUE, TRUE, 0);
|
||||
gtk_widget_hide (gradient_editor->scrollbar);
|
||||
|
||||
/* Instant update toggle */
|
||||
gradient_editor->instant_update = TRUE;
|
||||
|
||||
button = gtk_check_button_new_with_label (_("Instant update"));
|
||||
gtk_box_pack_end (GTK_BOX (hbox), button, FALSE, FALSE, 0);
|
||||
gtk_signal_connect (GTK_OBJECT (button), "toggled",
|
||||
GTK_SIGNAL_FUNC (ed_instant_update_update),
|
||||
gradient_editor);
|
||||
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (button), TRUE);
|
||||
gtk_widget_show (button);
|
||||
|
||||
/* Frame for gradient preview and gradient control */
|
||||
frame = gtk_frame_new (NULL);
|
||||
gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_IN);
|
||||
gtk_box_pack_start (GTK_BOX (main_vbox), frame, TRUE, TRUE, 0);
|
||||
gtk_box_pack_start (GTK_BOX (vbox), frame, TRUE, TRUE, 0);
|
||||
gtk_widget_show (frame);
|
||||
|
||||
vbox = gtk_vbox_new (FALSE, 0);
|
||||
gtk_container_add (GTK_CONTAINER (frame), vbox);
|
||||
gtk_widget_show (vbox);
|
||||
vbox2 = gtk_vbox_new (FALSE, 0);
|
||||
gtk_container_add (GTK_CONTAINER (frame), vbox2);
|
||||
gtk_widget_show (vbox2);
|
||||
|
||||
/* Gradient preview */
|
||||
gradient_editor->preview_rows[0] = NULL;
|
||||
|
@ -706,7 +623,7 @@ gradient_editor_new (void)
|
|||
gradient_editor_drop_gradient,
|
||||
gradient_editor);
|
||||
|
||||
gtk_box_pack_start (GTK_BOX (vbox), gradient_editor->preview, TRUE, TRUE, 0);
|
||||
gtk_box_pack_start (GTK_BOX (vbox2), gradient_editor->preview, TRUE, TRUE, 0);
|
||||
gtk_widget_show (gradient_editor->preview);
|
||||
|
||||
/* Gradient control */
|
||||
|
@ -762,13 +679,106 @@ gradient_editor_new (void)
|
|||
gtk_signal_connect (GTK_OBJECT (gradient_editor->control), "event",
|
||||
GTK_SIGNAL_FUNC (control_events),
|
||||
gradient_editor);
|
||||
gtk_box_pack_start (GTK_BOX (vbox), gradient_editor->control, FALSE, FALSE, 0);
|
||||
gtk_box_pack_start (GTK_BOX (vbox2), gradient_editor->control,
|
||||
FALSE, FALSE, 0);
|
||||
gtk_widget_show (gradient_editor->control);
|
||||
|
||||
/* Hint bar and close button */
|
||||
/* Scrollbar */
|
||||
gradient_editor->zoom_factor = 1;
|
||||
|
||||
gradient_editor->scroll_data =
|
||||
gtk_adjustment_new (0.0, 0.0, 1.0,
|
||||
1.0 * GRAD_SCROLLBAR_STEP_SIZE,
|
||||
1.0 * GRAD_SCROLLBAR_PAGE_SIZE,
|
||||
1.0);
|
||||
|
||||
gtk_signal_connect (gradient_editor->scroll_data, "value_changed",
|
||||
GTK_SIGNAL_FUNC (ed_scrollbar_update),
|
||||
gradient_editor);
|
||||
gtk_signal_connect (gradient_editor->scroll_data, "changed",
|
||||
GTK_SIGNAL_FUNC (ed_scrollbar_update),
|
||||
gradient_editor);
|
||||
|
||||
gradient_editor->scrollbar =
|
||||
gtk_hscrollbar_new (GTK_ADJUSTMENT (gradient_editor->scroll_data));
|
||||
gtk_range_set_update_policy (GTK_RANGE (gradient_editor->scrollbar),
|
||||
GTK_UPDATE_CONTINUOUS);
|
||||
gtk_box_pack_start (GTK_BOX (vbox), gradient_editor->scrollbar,
|
||||
FALSE, FALSE, 0);
|
||||
gtk_widget_show (gradient_editor->scrollbar);
|
||||
|
||||
/* Horizontal box for name, zoom controls and instant update toggle */
|
||||
hbox = gtk_hbox_new (FALSE, 4);
|
||||
gtk_box_pack_start (GTK_BOX (main_vbox), hbox, FALSE, FALSE, 0);
|
||||
gtk_widget_show (hbox);
|
||||
|
||||
/* Save as POV-Ray button */
|
||||
button = gtk_button_new_with_label (_("Save as POV-Ray"));
|
||||
gimp_help_set_help_data (button, NULL,
|
||||
"dialogs/gradient_editor/save_as_povray.html");
|
||||
gtk_misc_set_padding (GTK_MISC (GTK_BIN (button)->child), 2, 0);
|
||||
gtk_box_pack_start (GTK_BOX (hbox), button, FALSE, FALSE, 0);
|
||||
gtk_widget_show (button);
|
||||
|
||||
GTK_WIDGET_UNSET_FLAGS (button, GTK_RECEIVES_DEFAULT);
|
||||
|
||||
gtk_signal_connect (GTK_OBJECT (button), "clicked",
|
||||
GTK_SIGNAL_FUNC (ed_save_pov_callback),
|
||||
gradient_editor);
|
||||
|
||||
/* + and - buttons */
|
||||
gtk_widget_realize (gradient_editor->shell);
|
||||
|
||||
button = gimp_pixmap_button_new (zoom_out_xpm, NULL);
|
||||
GTK_WIDGET_UNSET_FLAGS (button, GTK_RECEIVES_DEFAULT);
|
||||
gtk_box_pack_end (GTK_BOX (hbox), button, FALSE, FALSE, 0);
|
||||
gtk_widget_show (button);
|
||||
|
||||
gtk_signal_connect (GTK_OBJECT (button), "clicked",
|
||||
GTK_SIGNAL_FUNC (ed_zoom_out_callback),
|
||||
gradient_editor);
|
||||
|
||||
button = gimp_pixmap_button_new (zoom_in_xpm, NULL);
|
||||
GTK_WIDGET_UNSET_FLAGS (button, GTK_RECEIVES_DEFAULT);
|
||||
gtk_box_pack_end (GTK_BOX (hbox), button, FALSE, FALSE, 0);
|
||||
gtk_widget_show (button);
|
||||
|
||||
gtk_signal_connect (GTK_OBJECT (button), "clicked",
|
||||
GTK_SIGNAL_FUNC (ed_zoom_in_callback),
|
||||
gradient_editor);
|
||||
|
||||
/* Zoom all button */
|
||||
button = gtk_button_new_with_label (_("Zoom all"));
|
||||
gtk_misc_set_padding (GTK_MISC (GTK_BIN (button)->child), 2, 0);
|
||||
gtk_box_pack_end (GTK_BOX (hbox), button, FALSE, FALSE, 0);
|
||||
gtk_widget_show (button);
|
||||
|
||||
GTK_WIDGET_UNSET_FLAGS (button, GTK_RECEIVES_DEFAULT);
|
||||
|
||||
gtk_signal_connect (GTK_OBJECT (button), "clicked",
|
||||
GTK_SIGNAL_FUNC (ed_zoom_all_callback),
|
||||
gradient_editor);
|
||||
|
||||
/* Instant update toggle */
|
||||
gradient_editor->instant_update = TRUE;
|
||||
|
||||
button = gtk_check_button_new_with_label (_("Instant update"));
|
||||
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (button), TRUE);
|
||||
gtk_box_pack_end (GTK_BOX (hbox), button, FALSE, FALSE, 0);
|
||||
gtk_widget_show (button);
|
||||
|
||||
gtk_signal_connect (GTK_OBJECT (button), "toggled",
|
||||
GTK_SIGNAL_FUNC (ed_instant_update_update),
|
||||
gradient_editor);
|
||||
|
||||
/* Hint bar */
|
||||
hbox = GTK_DIALOG (gradient_editor->shell)->action_area;
|
||||
gtk_container_set_border_width (GTK_CONTAINER (hbox), 4);
|
||||
gtk_box_set_homogeneous (GTK_BOX (hbox), FALSE);
|
||||
|
||||
gradient_editor->hint_label = gtk_label_new ("");
|
||||
gtk_misc_set_alignment (GTK_MISC (gradient_editor->hint_label), 0.0, 0.5);
|
||||
gtk_box_pack_start (GTK_BOX (main_vbox), gradient_editor->hint_label,
|
||||
gtk_box_pack_start (GTK_BOX (hbox), gradient_editor->hint_label,
|
||||
FALSE, FALSE, 0);
|
||||
gtk_widget_show (gradient_editor->hint_label);
|
||||
|
||||
|
@ -1150,8 +1160,6 @@ ed_zoom_all_callback (GtkWidget *widget,
|
|||
|
||||
gradient_editor->zoom_factor = 1;
|
||||
|
||||
gtk_widget_hide (gradient_editor->scrollbar);
|
||||
|
||||
adjustment->value = 0.0;
|
||||
adjustment->page_size = 1.0;
|
||||
adjustment->step_increment = 1.0 * GRAD_SCROLLBAR_STEP_SIZE;
|
||||
|
@ -1180,11 +1188,6 @@ ed_zoom_out_callback (GtkWidget *widget,
|
|||
|
||||
gradient_editor->zoom_factor--;
|
||||
|
||||
if (gradient_editor->zoom_factor==1)
|
||||
gtk_widget_hide (gradient_editor->scrollbar);
|
||||
else
|
||||
gtk_widget_show (gradient_editor->scrollbar);
|
||||
|
||||
page_size = 1.0 / gradient_editor->zoom_factor;
|
||||
value = old_value - (page_size - old_page_size) / 2.0;
|
||||
|
||||
|
@ -1225,7 +1228,6 @@ ed_zoom_in_callback (GtkWidget *widget,
|
|||
adjustment->page_increment = page_size * GRAD_SCROLLBAR_PAGE_SIZE;
|
||||
|
||||
gtk_adjustment_changed (GTK_ADJUSTMENT (gradient_editor->scroll_data));
|
||||
gtk_widget_show (gradient_editor->scrollbar);
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -1631,6 +1633,9 @@ control_events (GtkWidget *widget,
|
|||
|
||||
if ((time - gradient_editor->control_click_time) >= GRAD_MOVE_TIME)
|
||||
{
|
||||
if (! gradient_editor->instant_update)
|
||||
gimp_data_dirty (GIMP_DATA (gradient));
|
||||
|
||||
ed_update_editor (gradient_editor,
|
||||
GRAD_UPDATE_GRADIENT); /* Possible move */
|
||||
}
|
||||
|
@ -2040,13 +2045,17 @@ control_motion (GradientEditor *gradient_editor,
|
|||
if (str)
|
||||
g_free (str);
|
||||
|
||||
gimp_data_dirty (GIMP_DATA (gradient));
|
||||
|
||||
if (gradient_editor->instant_update)
|
||||
ed_update_editor (gradient_editor,
|
||||
GRAD_UPDATE_GRADIENT | GRAD_UPDATE_CONTROL);
|
||||
{
|
||||
gimp_data_dirty (GIMP_DATA (gradient));
|
||||
|
||||
ed_update_editor (gradient_editor,
|
||||
GRAD_UPDATE_GRADIENT | GRAD_UPDATE_CONTROL);
|
||||
}
|
||||
else
|
||||
ed_update_editor (gradient_editor, GRAD_UPDATE_CONTROL);
|
||||
{
|
||||
ed_update_editor (gradient_editor, GRAD_UPDATE_CONTROL);
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
|
|
|
@ -97,7 +97,6 @@ lc_dialog_create (GimpImage *gimage)
|
|||
{
|
||||
GtkWidget *util_box;
|
||||
GtkWidget *auto_button;
|
||||
GtkWidget *button;
|
||||
GtkWidget *label;
|
||||
GtkWidget *separator;
|
||||
gint default_index;
|
||||
|
@ -121,25 +120,31 @@ lc_dialog_create (GimpImage *gimage)
|
|||
return;
|
||||
}
|
||||
|
||||
lc_dialog = g_new (LCDialog, 1);
|
||||
lc_dialog->shell =
|
||||
gimp_dialog_new (_("Layers, Channels & Paths"), "layers_channels_paths",
|
||||
lc_dialog_help_func,
|
||||
"dialogs/layers_and_channels.html",
|
||||
GTK_WIN_POS_NONE,
|
||||
FALSE, TRUE, FALSE,
|
||||
NULL);
|
||||
lc_dialog->gimage = NULL;
|
||||
lc_dialog = g_new0 (LCDialog, 1);
|
||||
|
||||
lc_dialog->gimage = NULL;
|
||||
lc_dialog->auto_follow_active = TRUE;
|
||||
|
||||
lc_dialog->shell = gimp_dialog_new (_("Layers, Channels & Paths"),
|
||||
"layers_channels_paths",
|
||||
lc_dialog_help_func,
|
||||
"dialogs/layers_and_channels.html",
|
||||
GTK_WIN_POS_NONE,
|
||||
FALSE, TRUE, FALSE,
|
||||
|
||||
"_delete_event_", lc_dialog_close_callback,
|
||||
lc_dialog, NULL, NULL, TRUE, TRUE,
|
||||
|
||||
NULL);
|
||||
|
||||
gtk_widget_hide (GTK_WIDGET (g_list_nth_data (gtk_container_children (GTK_CONTAINER (GTK_DIALOG (lc_dialog->shell)->vbox)), 0)));
|
||||
|
||||
gtk_widget_hide (GTK_DIALOG (lc_dialog->shell)->action_area);
|
||||
|
||||
/* Register the dialog */
|
||||
dialog_register (lc_dialog->shell);
|
||||
session_set_window_geometry (lc_dialog->shell, &lc_dialog_session_info, TRUE);
|
||||
|
||||
/* Handle the WM delete event */
|
||||
gtk_signal_connect (GTK_OBJECT (lc_dialog->shell), "delete_event",
|
||||
GTK_SIGNAL_FUNC (lc_dialog_close_callback), NULL);
|
||||
|
||||
/* The toplevel vbox */
|
||||
lc_dialog->subshell = gtk_vbox_new (FALSE, 1);
|
||||
gtk_container_add (GTK_CONTAINER (GTK_DIALOG (lc_dialog->shell)->vbox),
|
||||
|
@ -218,15 +223,6 @@ lc_dialog_create (GimpImage *gimage)
|
|||
gtk_container_set_border_width
|
||||
(GTK_CONTAINER (GTK_DIALOG (lc_dialog->shell)->action_area), 1);
|
||||
|
||||
/* The close button */
|
||||
button = gtk_button_new_with_label (_("Close"));
|
||||
gtk_box_pack_start (GTK_BOX (GTK_DIALOG (lc_dialog->shell)->action_area),
|
||||
button, TRUE, TRUE, 0);
|
||||
gtk_signal_connect (GTK_OBJECT (button), "clicked",
|
||||
(GtkSignalFunc) lc_dialog_close_callback,
|
||||
lc_dialog->shell);
|
||||
gtk_widget_show (button);
|
||||
|
||||
/* Make sure the channels page is realized */
|
||||
gtk_notebook_set_page (GTK_NOTEBOOK (lc_dialog->notebook), 1);
|
||||
gtk_notebook_set_page (GTK_NOTEBOOK (lc_dialog->notebook), 0);
|
||||
|
|
|
@ -104,7 +104,7 @@ brush_edit_generated_new (void)
|
|||
gtk_widget_hide (GTK_DIALOG (begw->shell)->action_area);
|
||||
|
||||
vbox = gtk_vbox_new (FALSE, 1);
|
||||
gtk_container_set_border_width (GTK_CONTAINER (vbox), 2);
|
||||
gtk_container_set_border_width (GTK_CONTAINER (vbox), 4);
|
||||
gtk_container_add (GTK_CONTAINER (GTK_DIALOG (begw->shell)->vbox), vbox);
|
||||
|
||||
/* Brush's name */
|
||||
|
|
|
@ -18,8 +18,12 @@
|
|||
|
||||
#include "config.h"
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
#include <gtk/gtk.h>
|
||||
|
||||
#include "libgimpmath/gimpmath.h"
|
||||
#include "libgimpwidgets/gimpwidgets.h"
|
||||
|
||||
#include "apptypes.h"
|
||||
|
@ -377,13 +381,33 @@ gimp_data_factory_view_duplicate_clicked (GtkWidget *widget,
|
|||
|
||||
if (new_data)
|
||||
{
|
||||
gchar *name;
|
||||
const gchar *name;
|
||||
gchar *ext;
|
||||
gint copy_len;
|
||||
gint number;
|
||||
gchar *new_name;
|
||||
|
||||
name = g_strdup_printf (_("%s copy"), GIMP_OBJECT (data)->name);
|
||||
name = gimp_object_get_name (GIMP_OBJECT (data));
|
||||
|
||||
gimp_object_set_name (GIMP_OBJECT (new_data), name);
|
||||
ext = strrchr (name, '#');
|
||||
copy_len = strlen (_("copy"));
|
||||
|
||||
g_free (name);
|
||||
if ((strlen (name) >= copy_len &&
|
||||
strcmp (&name[strlen (name) - copy_len], _("copy")) == 0) ||
|
||||
(ext && (number = atoi (ext + 1)) > 0 &&
|
||||
((gint) (log10 (number) + 1)) == strlen (ext + 1)))
|
||||
{
|
||||
/* don't have redundant "copy"s */
|
||||
new_name = g_strdup (name);
|
||||
}
|
||||
else
|
||||
{
|
||||
new_name = g_strdup_printf (_("%s copy"), name);
|
||||
}
|
||||
|
||||
gimp_object_set_name (GIMP_OBJECT (new_data), new_name);
|
||||
|
||||
g_free (new_name);
|
||||
|
||||
gimp_container_add (view->factory->container, GIMP_OBJECT (new_data));
|
||||
|
||||
|
|
|
@ -535,6 +535,7 @@ gradient_editor_new (void)
|
|||
GtkWidget *main_vbox;
|
||||
GtkWidget *hbox;
|
||||
GtkWidget *vbox;
|
||||
GtkWidget *vbox2;
|
||||
GtkWidget *button;
|
||||
GtkWidget *frame;
|
||||
gint i;
|
||||
|
@ -560,19 +561,19 @@ gradient_editor_new (void)
|
|||
|
||||
NULL);
|
||||
|
||||
gtk_widget_hide (GTK_WIDGET (g_list_nth_data (gtk_container_children (GTK_CONTAINER (GTK_DIALOG (gradient_editor->shell)->vbox)), 0)));
|
||||
|
||||
gtk_widget_hide (GTK_DIALOG (gradient_editor->shell)->action_area);
|
||||
|
||||
main_vbox = gtk_vbox_new (FALSE, 4);
|
||||
gtk_container_set_border_width (GTK_CONTAINER (main_vbox), 4);
|
||||
gtk_container_add (GTK_CONTAINER (GTK_DIALOG (gradient_editor->shell)->vbox),
|
||||
main_vbox);
|
||||
gtk_widget_show (main_vbox);
|
||||
|
||||
vbox = gtk_vbox_new (FALSE, 1);
|
||||
gtk_box_pack_start (GTK_BOX (main_vbox), vbox, TRUE, TRUE, 0);
|
||||
gtk_widget_show (vbox);
|
||||
|
||||
/* Gradient's name */
|
||||
gradient_editor->name = gtk_entry_new ();
|
||||
gtk_box_pack_start (GTK_BOX (main_vbox), gradient_editor->name, FALSE, FALSE, 0);
|
||||
gtk_box_pack_start (GTK_BOX (vbox), gradient_editor->name, TRUE, TRUE, 0);
|
||||
gtk_widget_show (gradient_editor->name);
|
||||
|
||||
gtk_signal_connect (GTK_OBJECT (gradient_editor->name), "activate",
|
||||
|
@ -582,99 +583,15 @@ gradient_editor_new (void)
|
|||
GTK_SIGNAL_FUNC (gradient_editor_name_focus_out),
|
||||
gradient_editor);
|
||||
|
||||
/* Horizontal box for zoom controls, scrollbar and instant update toggle */
|
||||
hbox = gtk_hbox_new (FALSE, 4);
|
||||
gtk_container_set_border_width (GTK_CONTAINER (hbox), 0);
|
||||
gtk_box_pack_start (GTK_BOX (main_vbox), hbox, FALSE, FALSE, 0);
|
||||
gtk_widget_show (hbox);
|
||||
|
||||
/* Save as POV-Ray button */
|
||||
button = gtk_button_new_with_label (_("Save as POV-Ray"));
|
||||
gimp_help_set_help_data (button, NULL,
|
||||
"dialogs/gradient_editor/save_as_povray.html");
|
||||
gtk_misc_set_padding (GTK_MISC (GTK_BIN (button)->child), 2, 0);
|
||||
gtk_box_pack_start (GTK_BOX (hbox), button, FALSE, FALSE, 0);
|
||||
gtk_widget_show (button);
|
||||
|
||||
GTK_WIDGET_UNSET_FLAGS (button, GTK_RECEIVES_DEFAULT);
|
||||
|
||||
gtk_signal_connect (GTK_OBJECT (button), "clicked",
|
||||
GTK_SIGNAL_FUNC (ed_save_pov_callback),
|
||||
gradient_editor);
|
||||
|
||||
/* Zoom all button */
|
||||
button = gtk_button_new_with_label (_("Zoom all"));
|
||||
gtk_misc_set_padding (GTK_MISC (GTK_BIN (button)->child), 2, 0);
|
||||
gtk_box_pack_start (GTK_BOX (hbox), button, FALSE, FALSE, 0);
|
||||
gtk_widget_show (button);
|
||||
|
||||
GTK_WIDGET_UNSET_FLAGS (button, GTK_RECEIVES_DEFAULT);
|
||||
|
||||
gtk_signal_connect (GTK_OBJECT (button), "clicked",
|
||||
GTK_SIGNAL_FUNC (ed_zoom_all_callback),
|
||||
gradient_editor);
|
||||
|
||||
/* + and - buttons */
|
||||
gtk_widget_realize (gradient_editor->shell);
|
||||
|
||||
button = gimp_pixmap_button_new (zoom_in_xpm, NULL);
|
||||
GTK_WIDGET_UNSET_FLAGS (button, GTK_RECEIVES_DEFAULT);
|
||||
gtk_signal_connect (GTK_OBJECT (button), "clicked",
|
||||
GTK_SIGNAL_FUNC (ed_zoom_in_callback),
|
||||
gradient_editor);
|
||||
gtk_box_pack_start (GTK_BOX (hbox), button, FALSE, FALSE, 0);
|
||||
gtk_widget_show (button);
|
||||
|
||||
button = gimp_pixmap_button_new (zoom_out_xpm, NULL);
|
||||
GTK_WIDGET_UNSET_FLAGS (button, GTK_RECEIVES_DEFAULT);
|
||||
gtk_signal_connect (GTK_OBJECT (button), "clicked",
|
||||
GTK_SIGNAL_FUNC (ed_zoom_out_callback),
|
||||
gradient_editor);
|
||||
gtk_box_pack_start (GTK_BOX (hbox), button, FALSE, FALSE, 0);
|
||||
gtk_widget_show (button);
|
||||
|
||||
/* Scrollbar */
|
||||
gradient_editor->zoom_factor = 1;
|
||||
|
||||
gradient_editor->scroll_data = gtk_adjustment_new (0.0, 0.0, 1.0,
|
||||
1.0 * GRAD_SCROLLBAR_STEP_SIZE,
|
||||
1.0 * GRAD_SCROLLBAR_PAGE_SIZE,
|
||||
1.0);
|
||||
|
||||
gtk_signal_connect (gradient_editor->scroll_data, "value_changed",
|
||||
GTK_SIGNAL_FUNC (ed_scrollbar_update),
|
||||
gradient_editor);
|
||||
gtk_signal_connect (gradient_editor->scroll_data, "changed",
|
||||
GTK_SIGNAL_FUNC (ed_scrollbar_update),
|
||||
gradient_editor);
|
||||
|
||||
gradient_editor->scrollbar =
|
||||
gtk_hscrollbar_new (GTK_ADJUSTMENT (gradient_editor->scroll_data));
|
||||
gtk_range_set_update_policy (GTK_RANGE (gradient_editor->scrollbar),
|
||||
GTK_UPDATE_CONTINUOUS);
|
||||
gtk_box_pack_start (GTK_BOX (hbox), gradient_editor->scrollbar, TRUE, TRUE, 0);
|
||||
gtk_widget_hide (gradient_editor->scrollbar);
|
||||
|
||||
/* Instant update toggle */
|
||||
gradient_editor->instant_update = TRUE;
|
||||
|
||||
button = gtk_check_button_new_with_label (_("Instant update"));
|
||||
gtk_box_pack_end (GTK_BOX (hbox), button, FALSE, FALSE, 0);
|
||||
gtk_signal_connect (GTK_OBJECT (button), "toggled",
|
||||
GTK_SIGNAL_FUNC (ed_instant_update_update),
|
||||
gradient_editor);
|
||||
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (button), TRUE);
|
||||
gtk_widget_show (button);
|
||||
|
||||
/* Frame for gradient preview and gradient control */
|
||||
frame = gtk_frame_new (NULL);
|
||||
gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_IN);
|
||||
gtk_box_pack_start (GTK_BOX (main_vbox), frame, TRUE, TRUE, 0);
|
||||
gtk_box_pack_start (GTK_BOX (vbox), frame, TRUE, TRUE, 0);
|
||||
gtk_widget_show (frame);
|
||||
|
||||
vbox = gtk_vbox_new (FALSE, 0);
|
||||
gtk_container_add (GTK_CONTAINER (frame), vbox);
|
||||
gtk_widget_show (vbox);
|
||||
vbox2 = gtk_vbox_new (FALSE, 0);
|
||||
gtk_container_add (GTK_CONTAINER (frame), vbox2);
|
||||
gtk_widget_show (vbox2);
|
||||
|
||||
/* Gradient preview */
|
||||
gradient_editor->preview_rows[0] = NULL;
|
||||
|
@ -706,7 +623,7 @@ gradient_editor_new (void)
|
|||
gradient_editor_drop_gradient,
|
||||
gradient_editor);
|
||||
|
||||
gtk_box_pack_start (GTK_BOX (vbox), gradient_editor->preview, TRUE, TRUE, 0);
|
||||
gtk_box_pack_start (GTK_BOX (vbox2), gradient_editor->preview, TRUE, TRUE, 0);
|
||||
gtk_widget_show (gradient_editor->preview);
|
||||
|
||||
/* Gradient control */
|
||||
|
@ -762,13 +679,106 @@ gradient_editor_new (void)
|
|||
gtk_signal_connect (GTK_OBJECT (gradient_editor->control), "event",
|
||||
GTK_SIGNAL_FUNC (control_events),
|
||||
gradient_editor);
|
||||
gtk_box_pack_start (GTK_BOX (vbox), gradient_editor->control, FALSE, FALSE, 0);
|
||||
gtk_box_pack_start (GTK_BOX (vbox2), gradient_editor->control,
|
||||
FALSE, FALSE, 0);
|
||||
gtk_widget_show (gradient_editor->control);
|
||||
|
||||
/* Hint bar and close button */
|
||||
/* Scrollbar */
|
||||
gradient_editor->zoom_factor = 1;
|
||||
|
||||
gradient_editor->scroll_data =
|
||||
gtk_adjustment_new (0.0, 0.0, 1.0,
|
||||
1.0 * GRAD_SCROLLBAR_STEP_SIZE,
|
||||
1.0 * GRAD_SCROLLBAR_PAGE_SIZE,
|
||||
1.0);
|
||||
|
||||
gtk_signal_connect (gradient_editor->scroll_data, "value_changed",
|
||||
GTK_SIGNAL_FUNC (ed_scrollbar_update),
|
||||
gradient_editor);
|
||||
gtk_signal_connect (gradient_editor->scroll_data, "changed",
|
||||
GTK_SIGNAL_FUNC (ed_scrollbar_update),
|
||||
gradient_editor);
|
||||
|
||||
gradient_editor->scrollbar =
|
||||
gtk_hscrollbar_new (GTK_ADJUSTMENT (gradient_editor->scroll_data));
|
||||
gtk_range_set_update_policy (GTK_RANGE (gradient_editor->scrollbar),
|
||||
GTK_UPDATE_CONTINUOUS);
|
||||
gtk_box_pack_start (GTK_BOX (vbox), gradient_editor->scrollbar,
|
||||
FALSE, FALSE, 0);
|
||||
gtk_widget_show (gradient_editor->scrollbar);
|
||||
|
||||
/* Horizontal box for name, zoom controls and instant update toggle */
|
||||
hbox = gtk_hbox_new (FALSE, 4);
|
||||
gtk_box_pack_start (GTK_BOX (main_vbox), hbox, FALSE, FALSE, 0);
|
||||
gtk_widget_show (hbox);
|
||||
|
||||
/* Save as POV-Ray button */
|
||||
button = gtk_button_new_with_label (_("Save as POV-Ray"));
|
||||
gimp_help_set_help_data (button, NULL,
|
||||
"dialogs/gradient_editor/save_as_povray.html");
|
||||
gtk_misc_set_padding (GTK_MISC (GTK_BIN (button)->child), 2, 0);
|
||||
gtk_box_pack_start (GTK_BOX (hbox), button, FALSE, FALSE, 0);
|
||||
gtk_widget_show (button);
|
||||
|
||||
GTK_WIDGET_UNSET_FLAGS (button, GTK_RECEIVES_DEFAULT);
|
||||
|
||||
gtk_signal_connect (GTK_OBJECT (button), "clicked",
|
||||
GTK_SIGNAL_FUNC (ed_save_pov_callback),
|
||||
gradient_editor);
|
||||
|
||||
/* + and - buttons */
|
||||
gtk_widget_realize (gradient_editor->shell);
|
||||
|
||||
button = gimp_pixmap_button_new (zoom_out_xpm, NULL);
|
||||
GTK_WIDGET_UNSET_FLAGS (button, GTK_RECEIVES_DEFAULT);
|
||||
gtk_box_pack_end (GTK_BOX (hbox), button, FALSE, FALSE, 0);
|
||||
gtk_widget_show (button);
|
||||
|
||||
gtk_signal_connect (GTK_OBJECT (button), "clicked",
|
||||
GTK_SIGNAL_FUNC (ed_zoom_out_callback),
|
||||
gradient_editor);
|
||||
|
||||
button = gimp_pixmap_button_new (zoom_in_xpm, NULL);
|
||||
GTK_WIDGET_UNSET_FLAGS (button, GTK_RECEIVES_DEFAULT);
|
||||
gtk_box_pack_end (GTK_BOX (hbox), button, FALSE, FALSE, 0);
|
||||
gtk_widget_show (button);
|
||||
|
||||
gtk_signal_connect (GTK_OBJECT (button), "clicked",
|
||||
GTK_SIGNAL_FUNC (ed_zoom_in_callback),
|
||||
gradient_editor);
|
||||
|
||||
/* Zoom all button */
|
||||
button = gtk_button_new_with_label (_("Zoom all"));
|
||||
gtk_misc_set_padding (GTK_MISC (GTK_BIN (button)->child), 2, 0);
|
||||
gtk_box_pack_end (GTK_BOX (hbox), button, FALSE, FALSE, 0);
|
||||
gtk_widget_show (button);
|
||||
|
||||
GTK_WIDGET_UNSET_FLAGS (button, GTK_RECEIVES_DEFAULT);
|
||||
|
||||
gtk_signal_connect (GTK_OBJECT (button), "clicked",
|
||||
GTK_SIGNAL_FUNC (ed_zoom_all_callback),
|
||||
gradient_editor);
|
||||
|
||||
/* Instant update toggle */
|
||||
gradient_editor->instant_update = TRUE;
|
||||
|
||||
button = gtk_check_button_new_with_label (_("Instant update"));
|
||||
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (button), TRUE);
|
||||
gtk_box_pack_end (GTK_BOX (hbox), button, FALSE, FALSE, 0);
|
||||
gtk_widget_show (button);
|
||||
|
||||
gtk_signal_connect (GTK_OBJECT (button), "toggled",
|
||||
GTK_SIGNAL_FUNC (ed_instant_update_update),
|
||||
gradient_editor);
|
||||
|
||||
/* Hint bar */
|
||||
hbox = GTK_DIALOG (gradient_editor->shell)->action_area;
|
||||
gtk_container_set_border_width (GTK_CONTAINER (hbox), 4);
|
||||
gtk_box_set_homogeneous (GTK_BOX (hbox), FALSE);
|
||||
|
||||
gradient_editor->hint_label = gtk_label_new ("");
|
||||
gtk_misc_set_alignment (GTK_MISC (gradient_editor->hint_label), 0.0, 0.5);
|
||||
gtk_box_pack_start (GTK_BOX (main_vbox), gradient_editor->hint_label,
|
||||
gtk_box_pack_start (GTK_BOX (hbox), gradient_editor->hint_label,
|
||||
FALSE, FALSE, 0);
|
||||
gtk_widget_show (gradient_editor->hint_label);
|
||||
|
||||
|
@ -1150,8 +1160,6 @@ ed_zoom_all_callback (GtkWidget *widget,
|
|||
|
||||
gradient_editor->zoom_factor = 1;
|
||||
|
||||
gtk_widget_hide (gradient_editor->scrollbar);
|
||||
|
||||
adjustment->value = 0.0;
|
||||
adjustment->page_size = 1.0;
|
||||
adjustment->step_increment = 1.0 * GRAD_SCROLLBAR_STEP_SIZE;
|
||||
|
@ -1180,11 +1188,6 @@ ed_zoom_out_callback (GtkWidget *widget,
|
|||
|
||||
gradient_editor->zoom_factor--;
|
||||
|
||||
if (gradient_editor->zoom_factor==1)
|
||||
gtk_widget_hide (gradient_editor->scrollbar);
|
||||
else
|
||||
gtk_widget_show (gradient_editor->scrollbar);
|
||||
|
||||
page_size = 1.0 / gradient_editor->zoom_factor;
|
||||
value = old_value - (page_size - old_page_size) / 2.0;
|
||||
|
||||
|
@ -1225,7 +1228,6 @@ ed_zoom_in_callback (GtkWidget *widget,
|
|||
adjustment->page_increment = page_size * GRAD_SCROLLBAR_PAGE_SIZE;
|
||||
|
||||
gtk_adjustment_changed (GTK_ADJUSTMENT (gradient_editor->scroll_data));
|
||||
gtk_widget_show (gradient_editor->scrollbar);
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -1631,6 +1633,9 @@ control_events (GtkWidget *widget,
|
|||
|
||||
if ((time - gradient_editor->control_click_time) >= GRAD_MOVE_TIME)
|
||||
{
|
||||
if (! gradient_editor->instant_update)
|
||||
gimp_data_dirty (GIMP_DATA (gradient));
|
||||
|
||||
ed_update_editor (gradient_editor,
|
||||
GRAD_UPDATE_GRADIENT); /* Possible move */
|
||||
}
|
||||
|
@ -2040,13 +2045,17 @@ control_motion (GradientEditor *gradient_editor,
|
|||
if (str)
|
||||
g_free (str);
|
||||
|
||||
gimp_data_dirty (GIMP_DATA (gradient));
|
||||
|
||||
if (gradient_editor->instant_update)
|
||||
ed_update_editor (gradient_editor,
|
||||
GRAD_UPDATE_GRADIENT | GRAD_UPDATE_CONTROL);
|
||||
{
|
||||
gimp_data_dirty (GIMP_DATA (gradient));
|
||||
|
||||
ed_update_editor (gradient_editor,
|
||||
GRAD_UPDATE_GRADIENT | GRAD_UPDATE_CONTROL);
|
||||
}
|
||||
else
|
||||
ed_update_editor (gradient_editor, GRAD_UPDATE_CONTROL);
|
||||
{
|
||||
ed_update_editor (gradient_editor, GRAD_UPDATE_CONTROL);
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
|
|
|
@ -767,7 +767,7 @@ gimp.1
|
|||
gimprc
|
||||
gimprc_user
|
||||
gimprc.5
|
||||
gimptool
|
||||
gimptool-1.4
|
||||
gimptool.1
|
||||
gimp-remote.1
|
||||
gimp.spec
|
||||
|
|
|
@ -2,12 +2,12 @@
|
|||
# Manish Singh 98-6-11
|
||||
# Shamelessly stolen from Owen Taylor
|
||||
|
||||
dnl AM_PATH_GIMP([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]])
|
||||
dnl AM_PATH_GIMP_1_4([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]])
|
||||
dnl Test for GIMP, and define GIMP_CFLAGS and GIMP_LIBS
|
||||
dnl
|
||||
AC_DEFUN(AM_PATH_GIMP,
|
||||
AC_DEFUN(AM_PATH_GIMP_1_4,
|
||||
[dnl
|
||||
dnl Get the cflags and libraries from the gimptool script
|
||||
dnl Get the cflags and libraries from the gimptool-1.4 script
|
||||
dnl
|
||||
AC_ARG_WITH(gimp-prefix,[ --with-gimp-prefix=PFX Prefix where GIMP is installed (optional)],
|
||||
gimptool_prefix="$withval", gimptool_prefix="")
|
||||
|
@ -19,17 +19,17 @@ AC_ARG_ENABLE(gimptest, [ --disable-gimptest Do not try to compile and run
|
|||
if test x$gimptool_exec_prefix != x ; then
|
||||
gimptool_args="$gimptool_args --exec-prefix=$gimptool_exec_prefix"
|
||||
if test x${GIMPTOOL+set} != xset ; then
|
||||
GIMPTOOL=$gimptool_exec_prefix/bin/gimptool
|
||||
GIMPTOOL=$gimptool_exec_prefix/bin/gimptool-1.4
|
||||
fi
|
||||
fi
|
||||
if test x$gimptool_prefix != x ; then
|
||||
gimptool_args="$gimptool_args --prefix=$gimptool_prefix"
|
||||
if test x${GIMPTOOL+set} != xset ; then
|
||||
GIMPTOOL=$gimptool_prefix/bin/gimptool
|
||||
GIMPTOOL=$gimptool_prefix/bin/gimptool-1.4
|
||||
fi
|
||||
fi
|
||||
|
||||
AC_PATH_PROG(GIMPTOOL, gimptool, no)
|
||||
AC_PATH_PROG(GIMPTOOL, gimptool-1.4, no)
|
||||
min_gimp_version=ifelse([$1], ,1.0.0,$1)
|
||||
AC_MSG_CHECKING(for GIMP - version >= $min_gimp_version)
|
||||
no_gimp=""
|
||||
|
@ -69,7 +69,7 @@ AC_ARG_ENABLE(gimptest, [ --disable-gimptest Do not try to compile and run
|
|||
LIBS="$LIBS $GIMP_LIBS"
|
||||
dnl
|
||||
dnl Now check if the installed GIMP is sufficiently new. (Also sanity
|
||||
dnl checks the results of gimptool to some extent
|
||||
dnl checks the results of gimptool-1.4 to some extent
|
||||
dnl
|
||||
rm -f conf.gimptest
|
||||
AC_TRY_RUN([
|
||||
|
@ -78,20 +78,7 @@ dnl
|
|||
|
||||
#include <libgimp/gimp.h>
|
||||
|
||||
#ifndef GIMP_CHECK_VERSION
|
||||
#define GIMP_CHECK_VERSION(major, minor, micro) \
|
||||
(GIMP_MAJOR_VERSION > (major) || \
|
||||
(GIMP_MAJOR_VERSION == (major) && GIMP_MINOR_VERSION > (minor)) || \
|
||||
(GIMP_MAJOR_VERSION == (major) && GIMP_MINOR_VERSION == (minor) && \
|
||||
GIMP_MICRO_VERSION >= (micro)))
|
||||
#endif
|
||||
|
||||
#if GIMP_CHECK_VERSION(1,1,24)
|
||||
GimpPlugInInfo
|
||||
#else
|
||||
GPlugInInfo
|
||||
#endif
|
||||
PLUG_IN_INFO =
|
||||
GimpPlugInInfo PLUG_IN_INFO =
|
||||
{
|
||||
NULL, /* init_proc */
|
||||
NULL, /* quit_proc */
|
||||
|
@ -121,11 +108,11 @@ int main ()
|
|||
}
|
||||
else
|
||||
{
|
||||
printf("\n*** 'gimptool --version' returned %d.%d.%d, but the minimum version\n", $gimptool_major_version, $gimptool_minor_version, $gimptool_micro_version);
|
||||
printf("*** of GIMP required is %d.%d.%d. If gimptool is correct, then it is\n", major, minor, micro);
|
||||
printf("\n*** 'gimptool-1.4 --version' returned %d.%d.%d, but the minimum version\n", $gimptool_major_version, $gimptool_minor_version, $gimptool_micro_version);
|
||||
printf("*** of GIMP required is %d.%d.%d. If gimptool-1.4 is correct, then it is\n", major, minor, micro);
|
||||
printf("*** best to upgrade to the required version.\n");
|
||||
printf("*** If gimptool was wrong, set the environment variable GIMPTOOL\n");
|
||||
printf("*** to point to the correct copy of gimptool, and remove the file\n");
|
||||
printf("*** If gimptool-1.4 was wrong, set the environment variable GIMPTOOL\n");
|
||||
printf("*** to point to the correct copy of gimptool-1.4, and remove the file\n");
|
||||
printf("*** config.cache before re-running configure\n");
|
||||
return 1;
|
||||
}
|
||||
|
@ -142,10 +129,10 @@ int main ()
|
|||
else
|
||||
AC_MSG_RESULT(no)
|
||||
if test "$GIMPTOOL" = "no" ; then
|
||||
echo "*** The gimptool script installed by GIMP could not be found"
|
||||
echo "*** The gimptool-1.4 script installed by GIMP could not be found"
|
||||
echo "*** If GIMP was installed in PREFIX, make sure PREFIX/bin is in"
|
||||
echo "*** your path, or set the GIMPTOOL environment variable to the"
|
||||
echo "*** full path to gimptool."
|
||||
echo "*** full path to gimptool-1.4."
|
||||
else
|
||||
if test -f conf.gimptest ; then
|
||||
:
|
||||
|
@ -157,20 +144,7 @@ int main ()
|
|||
#include <stdio.h>
|
||||
#include <libgimp/gimp.h>
|
||||
|
||||
#ifndef GIMP_CHECK_VERSION
|
||||
#define GIMP_CHECK_VERSION(major, minor, micro) \
|
||||
(GIMP_MAJOR_VERSION > (major) || \
|
||||
(GIMP_MAJOR_VERSION == (major) && GIMP_MINOR_VERSION > (minor)) || \
|
||||
(GIMP_MAJOR_VERSION == (major) && GIMP_MINOR_VERSION == (minor) && \
|
||||
GIMP_MICRO_VERSION >= (micro)))
|
||||
#endif
|
||||
|
||||
#if GIMP_CHECK_VERSION(1,1,24)
|
||||
GimpPlugInInfo
|
||||
#else
|
||||
GPlugInInfo
|
||||
#endif
|
||||
PLUG_IN_INFO =
|
||||
GimpPlugInInfo PLUG_IN_INFO =
|
||||
{
|
||||
NULL, /* init_proc */
|
||||
NULL, /* quit_proc */
|
||||
|
@ -190,7 +164,7 @@ PLUG_IN_INFO =
|
|||
[ echo "*** The test program failed to compile or link. See the file config.log for the"
|
||||
echo "*** exact error that occured. This usually means GIMP was incorrectly installed"
|
||||
echo "*** or that you have moved GIMP since it was installed. In the latter case, you"
|
||||
echo "*** may want to edit the gimptool script: $GIMPTOOL" ])
|
||||
echo "*** may want to edit the gimptool-1.4 script: $GIMPTOOL" ])
|
||||
CFLAGS="$ac_save_CFLAGS"
|
||||
LIBS="$ac_save_LIBS"
|
||||
fi
|
|
@ -179,14 +179,7 @@ while test $# -gt 0; do
|
|||
--cflags-noui)
|
||||
my_gtk_cflags=`echo $gtk_cflags | sed 's/^.*\(-I[^ ]*glib[^ ]* *-I[^ ]*\).*$/\1/'` ;;
|
||||
esac
|
||||
if test @includedir@ != /usr/include ; then
|
||||
includes=-I@includedir@
|
||||
for i in $my_gtk_cflags ; do
|
||||
if test $i = -I@includedir@ ; then
|
||||
includes=""
|
||||
fi
|
||||
done
|
||||
fi
|
||||
includes=-I@includedir@/gimp-@GIMP_MAJOR_VERSION@.@GIMP_MINOR_VERSION@
|
||||
echo $includes $my_gtk_cflags
|
||||
;;
|
||||
--libs | --libs-nogimpui)
|
347
gimptool.in
347
gimptool.in
|
@ -1,347 +0,0 @@
|
|||
#! /bin/sh
|
||||
|
||||
prefix=@prefix@
|
||||
exec_prefix=@exec_prefix@
|
||||
exec_prefix_set=no
|
||||
|
||||
bindir=@bindir@
|
||||
sbindir=@sbindir@
|
||||
libexecdir=@libexecdir@
|
||||
datadir=@datadir@
|
||||
sysconfdir=@sysconfdir@
|
||||
sharedstatedir=@sharedstatedir@
|
||||
localstatedir=@localstatedir@
|
||||
libdir=@libdir@
|
||||
infodir=@infodir@
|
||||
mandir=@mandir@
|
||||
includedir=@includedir@
|
||||
|
||||
gimpplugindir=@gimpplugindir@
|
||||
gimpdatadir=@gimpdatadir@
|
||||
|
||||
usage()
|
||||
{
|
||||
cat <<EOF
|
||||
Usage: gimptool [OPTION]...
|
||||
|
||||
General options:
|
||||
--help print this message
|
||||
--quiet, --silent don't echo build commands
|
||||
--version print the version of GIMP associated with this script
|
||||
-n, --just-print, --dry-run, --recon
|
||||
don't actually run any commands; just print them
|
||||
Developer options:
|
||||
--cflags print the compiler flags that are necessary to
|
||||
compile a plug-in
|
||||
--libs print the linker flags that are necessary to link a
|
||||
plug-in
|
||||
--prefix=PREFIX use PREFIX instead of the installation prefix that
|
||||
GIMP was built when computing the output for --cflags
|
||||
and --libs
|
||||
--exec-prefix=PREFIX use PREFIX instead of the installation exec prefix
|
||||
that GIMP was built when computing the output for
|
||||
--cflags and --libs
|
||||
|
||||
Installation directory options:
|
||||
--prefix --exec-prefix --bindir --sbindir --libexecdir --datadir --sysconfdir
|
||||
--sharedstatedir --localstatedir --libdir --infodir --mandir --includedir
|
||||
--gimpplugindir --gimpdatadir
|
||||
|
||||
The --cflags and --libs options can be appended with -noui to get appropriate
|
||||
settings for plug-ins which do not use GTK+.
|
||||
|
||||
User options:
|
||||
--build plug-in.c build a plug-in from a source file
|
||||
--install plug-in.c same as --build, but installs the built
|
||||
plug-in as well
|
||||
--install-bin plug-in install a compiled plug-in
|
||||
--install-script script.scm install a script-fu script
|
||||
|
||||
--uninstall-bin plug-in remove a plug-in again
|
||||
--uninstall-script plug-in remove a script-fu script
|
||||
|
||||
The --install and --uninstall options have "admin" counterparts (with
|
||||
prefix --install-admin instead of --install) that can be used instead to
|
||||
install/uninstall a plug-in or script in the site directory instead of a
|
||||
user directory.
|
||||
|
||||
For plug-ins which do not use GTK+, the --build and --install options can be
|
||||
appended with -noui for appropriate settings. For plug-ins that use GTK+ but
|
||||
not libgumpui, append -nogimpui.
|
||||
|
||||
All binary build and install options can be appended with -strip to discard
|
||||
debugging information.
|
||||
EOF
|
||||
|
||||
exit $1
|
||||
}
|
||||
|
||||
noarg="\
|
||||
Error: Need a plug-in source file to build"
|
||||
|
||||
notfound="\
|
||||
Error: Couldn't find file to build/install/uninstall"
|
||||
|
||||
quiet=no
|
||||
donothing=no
|
||||
|
||||
if test $# -eq 0; then
|
||||
usage 1
|
||||
fi
|
||||
|
||||
if test x${GTK_CONFIG+set} != xset ; then
|
||||
gtk_cflags='@GTK_CFLAGS@'
|
||||
gtk_libs='@GTK_LIBS@'
|
||||
else
|
||||
gtk_cflags=`$GTK_CONFIG --cflags`
|
||||
gtk_libs=`$GTK_CONFIG --libs`
|
||||
fi
|
||||
|
||||
if test x${INSTALL+set} != xset ; then
|
||||
INSTALL='@INSTALL@'
|
||||
if test "$INSTALL" = "./install-sh -c"; then
|
||||
mydirname=`echo $0 | sed -e 's#\(.*\)/[^/].*$#\1#'`
|
||||
INSTALL="$mydirname/gimpinstall"
|
||||
fi
|
||||
fi
|
||||
|
||||
if test x${CC+set} != xset ; then
|
||||
cc='@CC@'
|
||||
else
|
||||
cc="$CC"
|
||||
fi
|
||||
|
||||
if test x${CFLAGS+set} != xset ; then
|
||||
cflags='@CFLAGS@'
|
||||
else
|
||||
cflags="$CFLAGS"
|
||||
fi
|
||||
|
||||
if test x${LDFLAGS+set} != xset ; then
|
||||
ldflags='@LDFLAGS@'
|
||||
else
|
||||
ldflags="$LDFLAGS"
|
||||
fi
|
||||
|
||||
if test x${LIBS+set} != xset ; then
|
||||
libs=""
|
||||
else
|
||||
libs="$LIBS"
|
||||
fi
|
||||
|
||||
while test $# -gt 0; do
|
||||
case "$1" in
|
||||
-*=*) optarg=`echo "$1" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
|
||||
*) optarg= ;;
|
||||
esac
|
||||
|
||||
case $1 in
|
||||
--version)
|
||||
echo @GIMP_VERSION@
|
||||
exit 0
|
||||
;;
|
||||
--help)
|
||||
usage 0
|
||||
;;
|
||||
--quiet | --silent)
|
||||
quiet=yes
|
||||
;;
|
||||
-n | --just-print | --dry-run | --recon)
|
||||
donothing=yes
|
||||
;;
|
||||
--prefix=*)
|
||||
prefix=$optarg
|
||||
if test $exec_prefix_set = no ; then
|
||||
exec_prefix=$optarg
|
||||
fi
|
||||
;;
|
||||
--prefix)
|
||||
echo $prefix
|
||||
;;
|
||||
--exec-prefix=*)
|
||||
exec_prefix=$optarg
|
||||
exec_prefix_set=yes
|
||||
;;
|
||||
--exec-prefix)
|
||||
echo $exec_prefix
|
||||
;;
|
||||
--*dir)
|
||||
dirname=\$`echo $1 | sed -e 's,^--,,'`
|
||||
dirname=`eval echo $dirname`
|
||||
test -z "$dirname" && exit 1
|
||||
echo $dirname
|
||||
exit 0
|
||||
;;
|
||||
--cflags | --cflags-noui | --cflags-nogimpui)
|
||||
case $1 in
|
||||
--cflags | --cflags-nogimpui)
|
||||
my_gtk_cflags=$gtk_cflags ;;
|
||||
--cflags-noui)
|
||||
my_gtk_cflags=`echo $gtk_cflags | sed 's/^.*\(-I[^ ]*glib[^ ]* *-I[^ ]*\).*$/\1/'` ;;
|
||||
esac
|
||||
if test @includedir@ != /usr/include ; then
|
||||
includes=-I@includedir@
|
||||
for i in $my_gtk_cflags ; do
|
||||
if test $i = -I@includedir@ ; then
|
||||
includes=""
|
||||
fi
|
||||
done
|
||||
fi
|
||||
echo $includes $my_gtk_cflags
|
||||
;;
|
||||
--libs | --libs-nogimpui)
|
||||
my_gtk_libs=
|
||||
libdirs=-L@libdir@
|
||||
for i in $gtk_libs ; do
|
||||
if test $i != -L@libdir@ ; then
|
||||
if test -z "$my_gtk_libs" ; then
|
||||
my_gtk_libs="$i"
|
||||
else
|
||||
my_gtk_libs="$my_gtk_libs $i"
|
||||
fi
|
||||
fi
|
||||
done
|
||||
case $1 in
|
||||
--libs)
|
||||
echo $libdirs -lgimpui -lgimpwidgets -lgimp -lgimpcolor -lgimpmath $my_gtk_libs ;;
|
||||
--libs-nogimpui)
|
||||
echo $libdirs -lgimp -lgimpcolor -lgimpmath $my_gtk_libs ;;
|
||||
esac
|
||||
;;
|
||||
--libs-noui)
|
||||
glib_ldflags=`echo $gtk_libs | sed -e 's/^.*-lgdk[^ ]* *\(-L[^ ]*\).*$/\1/' -e 's/^.* -lgdk[^ ]* .*$//'`
|
||||
if test -z "$glib_ldflags" ; then
|
||||
glib_ldflags=`echo $gtk_libs | sed 's/^ *\(-L[^ ]*\) .*$/\1/'`
|
||||
fi
|
||||
glib_libs="$glib_ldflags `echo $gtk_libs | sed 's/^.*\(-lglib[^ ]*\).*$/\1/'`"
|
||||
my_glib_libs=
|
||||
libdirs=-L@libdir@
|
||||
for i in $glib_libs ; do
|
||||
if test $i != -L@libdir@ ; then
|
||||
if test -z "$my_glib_libs" ; then
|
||||
my_glib_libs="$i"
|
||||
else
|
||||
my_glib_libs="$my_glib_libs $i"
|
||||
fi
|
||||
fi
|
||||
done
|
||||
echo -L@libdir@ -lgimp -lgimpcolor -lgimpmath $my_glib_libs
|
||||
;;
|
||||
--install-bin | --install-admin-bin \
|
||||
| --install-bin-strip | --install-admin-bin-strip \
|
||||
| --install-script | --install-admin-script \
|
||||
| --uninstall-bin | --uninstall-admin-bin \
|
||||
| --uninstall-script | --uninstall-admin-script )
|
||||
case $1 in
|
||||
--*install-bin)
|
||||
install_cmd="@INSTALL_PROGRAM@"
|
||||
install_dir="$HOME/@gimpdir@/plug-ins"
|
||||
;;
|
||||
--install-bin-strip)
|
||||
install_cmd="@INSTALL_PROGRAM@ -s"
|
||||
install_dir="$HOME/@gimpdir@/plug-ins"
|
||||
;;
|
||||
--*install-admin-bin)
|
||||
install_cmd="@INSTALL_PROGRAM@"
|
||||
install_dir="$gimpplugindir/plug-ins"
|
||||
;;
|
||||
--install-admin-bin-strip)
|
||||
install_cmd="@INSTALL_PROGRAM@ -s"
|
||||
install_dir="$gimpplugindir/plug-ins"
|
||||
;;
|
||||
--*install-script)
|
||||
install_cmd="@INSTALL_DATA@"
|
||||
install_dir="$HOME/@gimpdir@/scripts"
|
||||
;;
|
||||
--*install-admin-script)
|
||||
install_cmd="@INSTALL_DATA@"
|
||||
install_dir="$gimpdatadir/scripts"
|
||||
;;
|
||||
esac
|
||||
case $1 in
|
||||
--uninstall-* )
|
||||
shift
|
||||
if test "x$1" != "x"; then
|
||||
if test -f "$install_dir/$1"; then
|
||||
cmd="rm -f $install_dir/$1"
|
||||
test $quiet = "yes" || echo $cmd
|
||||
test $donothing = "yes" || exec $cmd
|
||||
else
|
||||
echo "${notfound}" 1>&2
|
||||
exit 1
|
||||
fi
|
||||
else
|
||||
echo "${noarg}" 1>&2
|
||||
exit 1
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
shift
|
||||
if test "x$1" != "x"; then
|
||||
if test -r "$1"; then
|
||||
cmd="$install_cmd $1 $install_dir/$1"
|
||||
test $quiet = "yes" || echo $cmd
|
||||
test $donothing = "yes" || exec $cmd
|
||||
else
|
||||
echo "${notfound}" 1>&2
|
||||
exit 1
|
||||
fi
|
||||
else
|
||||
echo "${noarg}" 1>&2
|
||||
exit 1
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
--build | --install | --install-admin | --build-strip | --install-strip \
|
||||
| --install-admin-strip | --build-nogimpui | --install-nogimpui \
|
||||
| --install-admin-nogimpui | --build-nogimpui-strip \
|
||||
| --install-nogimpui-strip | --install-admin-nogimpui-strip \
|
||||
| --build-noui | --install-noui | --install-admin-noui \
|
||||
| --build-noui-strip | --install-noui-strip | --install-admin-noui-strip)
|
||||
opt=`echo $1 | sed 's/-strip$//'`
|
||||
if test "x$opt" != "x$1" ; then
|
||||
cflags=`echo $cflags | sed -e 's/-g //g' -e 's/ -g//g'`
|
||||
fi
|
||||
case $opt in
|
||||
--build | --build-noui | --build-nogimpui)
|
||||
install_dir=. ;;
|
||||
--install | --install-noui | --install-nogimpui)
|
||||
install_dir="$HOME/@gimpdir@/plug-ins" ;;
|
||||
--install-admin | --install-admin-noui | --install-admin-nogimpui)
|
||||
install_dir="$gimpplugindir/plug-ins" ;;
|
||||
esac
|
||||
noui=`echo $opt | sed 's/^.*\(noui\)$/\1/'`
|
||||
nogimpui=`echo $opt | sed 's/^.*\(nogimpui\)$/\1/'`
|
||||
if test "$noui" = "noui" ; then
|
||||
gimp_cflags=`$0 --cflags-noui`
|
||||
gimp_libs=`$0 --libs-noui`
|
||||
elif test "$nogimpui" = "nogimpui" ; then
|
||||
gimp_cflags=`$0 --cflags-nogimpui`
|
||||
gimp_libs=`$0 --libs-nogimpui`
|
||||
else
|
||||
gimp_cflags=`$0 --cflags`
|
||||
gimp_libs=`$0 --libs`
|
||||
fi
|
||||
shift
|
||||
if test "x$1" != "x"; then
|
||||
if test -r "$1"; then
|
||||
dest=`echo $1 | sed -e 's#.*/\([^/].*\)$#\1#' -e 's/\.[^.]*$//'`
|
||||
cmd="$cc $cflags $gimp_cflags -o $install_dir/$dest $1 $ldflags $gimp_libs $libs"
|
||||
test $quiet = "yes" || echo $cmd
|
||||
test $donothing = "yes" || exec $cmd
|
||||
else
|
||||
echo "${notfound}" 1>&2
|
||||
exit 1
|
||||
fi
|
||||
else
|
||||
echo "${noarg}" 1>&2
|
||||
exit 1
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
usage 1
|
||||
;;
|
||||
esac
|
||||
shift
|
||||
done
|
|
@ -1,6 +1,6 @@
|
|||
## Process this file with automake to produce Makefile.in
|
||||
|
||||
gimpincludedir = $(includedir)/libgimp
|
||||
gimpincludedir = $(includedir)/gimp-$(GIMP_MAJOR_VERSION).$(GIMP_MINOR_VERSION)/libgimp
|
||||
|
||||
AM_CPPFLAGS = \
|
||||
-DGIMPDIR=\""$(gimpdir)"\" \
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
## Process this file with automake to produce Makefile.in
|
||||
|
||||
libgimpcolorincludedir = $(includedir)/libgimpcolor
|
||||
libgimpcolorincludedir = $(includedir)/gimp-$(GIMP_MAJOR_VERSION).$(GIMP_MINOR_VERSION)/libgimpcolor
|
||||
|
||||
AM_CPPFLAGS = \
|
||||
-DGIMPDIR=\""$(gimpdir)"\" \
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
## Process this file with automake to produce Makefile.in
|
||||
|
||||
libgimpmathincludedir = $(includedir)/libgimpmath
|
||||
libgimpmathincludedir = $(includedir)/gimp-$(GIMP_MAJOR_VERSION).$(GIMP_MINOR_VERSION)/libgimpmath
|
||||
|
||||
AM_CPPFLAGS = \
|
||||
-DGIMPDIR=\""$(gimpdir)"\" \
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
## Process this file with automake to produce Makefile.in
|
||||
|
||||
libgimpwidgetsincludedir = $(includedir)/libgimpwidgets
|
||||
libgimpwidgetsincludedir = $(includedir)/gimp-$(GIMP_MAJOR_VERSION).$(GIMP_MINOR_VERSION)/libgimpwidgets
|
||||
|
||||
AM_CPPFLAGS = \
|
||||
-DGIMPDIR=\""$(gimpdir)"\" \
|
||||
|
|
Loading…
Reference in New Issue