Commit c878108f authored by Sven Neumann's avatar Sven Neumann

ignore motion_events in a time-window of 100ms after the last event. Was

* app/fuzzy_select.c: ignore motion_events in a time-window of
  100ms after the last event. Was intended as a workaround for bug
  #5949, but IMO it makes the tool more responsive and easier to
  control.

* app/nav_window.c: as a workaround for bug #5955 move the
  navigation popup on screen if used to close to the screen borders.
  Moving the cursor will make the image scroll by a large amount
  eventually, but IMHO this is better than having a nonfunctional
  navigation popup.

* plug-ins/common/curve_bend.c
* plug-ins/gap/gap_decode_xanim.c: fixed typos


--Sven
parent 9e23841b
Sat Feb 19 13:53:34 CET 2000 Sven Neumann <sven@gimp.org>
* app/fuzzy_select.c: ignore motion_events in a time-window of
100ms after the last event. Was intended as a workaround for bug
#5949, but IMO it makes the tool more responsive and easier to
control.
* app/nav_window.c: as a workaround for bug #5955 move the
navigation popup on screen if used to close to the screen borders.
Moving the cursor will make the image scroll by a large amount
eventually, but IMHO this is better than having a nonfunctional
navigation popup.
* plug-ins/common/curve_bend.c
* plug-ins/gap/gap_decode_xanim.c: fixed typos
Sat Feb 19 00:05:12 CET 2000 Sven Neumann <sven@gimp.org>
* plug-ins/common/ps.c: default to rotation = 0
......
......@@ -81,7 +81,7 @@ struct _NavWinData
GtkWidget *zoom_label;
GtkObject *zoom_adjustment;
GtkWidget *preview;
void *gdisp_ptr; /* I'm not happy 'bout this one */
void *gdisp_ptr; /* I'm not happy 'bout this one */
GdkGC *gc;
gint dispx; /* x pos of top left corner of display area */
gint dispy; /* y pos of top left corner of display area */
......@@ -1606,16 +1606,20 @@ nav_popup_click_handler (GtkWidget *widget,
scr_h = gdk_screen_height ();
x = x_org + bevent->x - iwp->dispx - ((iwp->dispwidth - BORDER_PEN_WIDTH+1) * 0.5) - 2;
y = y_org + bevent->y - iwp->dispy - ((iwp->dispheight - BORDER_PEN_WIDTH+1)* 0.5) - 2;
/* If we leave this in we need to warp the pointer so it still fits in
* in the square representing the viewable area.
* However warping is probably frowned upon.
/* If the popup doesn't fit into the screen, we have a problem.
* We move the popup onscreen and risk that the pointer is not
* in the square representing the viewable area anymore. Moving
* the pointer will make the image scroll by a large amount,
* but then it works as usual. Probably better than a popup that
* is completely unusable in the lower right of the screen.
*
* Warping the pointer would be another solution ...
*/
#if 0
x = (x < 0) ? 0 : x;
y = (y < 0) ? 0 : y;
x = (x + NAV_PREVIEW_WIDTH > scr_w) ? scr_w - NAV_PREVIEW_WIDTH : x;
y = (y + NAV_PREVIEW_HEIGHT > scr_h) ? scr_h - NAV_PREVIEW_HEIGHT : y;
#endif /* 0 */
gtk_widget_popup (gdisp->nav_popup, x, y);
gdk_flush();
......
......@@ -81,7 +81,7 @@ struct _NavWinData
GtkWidget *zoom_label;
GtkObject *zoom_adjustment;
GtkWidget *preview;
void *gdisp_ptr; /* I'm not happy 'bout this one */
void *gdisp_ptr; /* I'm not happy 'bout this one */
GdkGC *gc;
gint dispx; /* x pos of top left corner of display area */
gint dispy; /* y pos of top left corner of display area */
......@@ -1606,16 +1606,20 @@ nav_popup_click_handler (GtkWidget *widget,
scr_h = gdk_screen_height ();
x = x_org + bevent->x - iwp->dispx - ((iwp->dispwidth - BORDER_PEN_WIDTH+1) * 0.5) - 2;
y = y_org + bevent->y - iwp->dispy - ((iwp->dispheight - BORDER_PEN_WIDTH+1)* 0.5) - 2;
/* If we leave this in we need to warp the pointer so it still fits in
* in the square representing the viewable area.
* However warping is probably frowned upon.
/* If the popup doesn't fit into the screen, we have a problem.
* We move the popup onscreen and risk that the pointer is not
* in the square representing the viewable area anymore. Moving
* the pointer will make the image scroll by a large amount,
* but then it works as usual. Probably better than a popup that
* is completely unusable in the lower right of the screen.
*
* Warping the pointer would be another solution ...
*/
#if 0
x = (x < 0) ? 0 : x;
y = (y < 0) ? 0 : y;
x = (x + NAV_PREVIEW_WIDTH > scr_w) ? scr_w - NAV_PREVIEW_WIDTH : x;
y = (y + NAV_PREVIEW_HEIGHT > scr_h) ? scr_h - NAV_PREVIEW_HEIGHT : y;
#endif /* 0 */
gtk_widget_popup (gdisp->nav_popup, x, y);
gdk_flush();
......
......@@ -470,9 +470,17 @@ fuzzy_select_motion (Tool *tool,
int diff_x, diff_y;
double diff;
static guint last_time = 0;
if (tool->state != ACTIVE)
return;
/* don't let the events come in too fast, ignore below a delay of 100 ms */
if (ABS (mevent->time - last_time) < 100)
return;
last_time = mevent->time;
fuzzy_sel = (FuzzySelect *) tool->private;
diff_x = mevent->x - fuzzy_sel->first_x;
......
......@@ -81,7 +81,7 @@ struct _NavWinData
GtkWidget *zoom_label;
GtkObject *zoom_adjustment;
GtkWidget *preview;
void *gdisp_ptr; /* I'm not happy 'bout this one */
void *gdisp_ptr; /* I'm not happy 'bout this one */
GdkGC *gc;
gint dispx; /* x pos of top left corner of display area */
gint dispy; /* y pos of top left corner of display area */
......@@ -1606,16 +1606,20 @@ nav_popup_click_handler (GtkWidget *widget,
scr_h = gdk_screen_height ();
x = x_org + bevent->x - iwp->dispx - ((iwp->dispwidth - BORDER_PEN_WIDTH+1) * 0.5) - 2;
y = y_org + bevent->y - iwp->dispy - ((iwp->dispheight - BORDER_PEN_WIDTH+1)* 0.5) - 2;
/* If we leave this in we need to warp the pointer so it still fits in
* in the square representing the viewable area.
* However warping is probably frowned upon.
/* If the popup doesn't fit into the screen, we have a problem.
* We move the popup onscreen and risk that the pointer is not
* in the square representing the viewable area anymore. Moving
* the pointer will make the image scroll by a large amount,
* but then it works as usual. Probably better than a popup that
* is completely unusable in the lower right of the screen.
*
* Warping the pointer would be another solution ...
*/
#if 0
x = (x < 0) ? 0 : x;
y = (y < 0) ? 0 : y;
x = (x + NAV_PREVIEW_WIDTH > scr_w) ? scr_w - NAV_PREVIEW_WIDTH : x;
y = (y + NAV_PREVIEW_HEIGHT > scr_h) ? scr_h - NAV_PREVIEW_HEIGHT : y;
#endif /* 0 */
gtk_widget_popup (gdisp->nav_popup, x, y);
gdk_flush();
......
......@@ -470,9 +470,17 @@ fuzzy_select_motion (Tool *tool,
int diff_x, diff_y;
double diff;
static guint last_time = 0;
if (tool->state != ACTIVE)
return;
/* don't let the events come in too fast, ignore below a delay of 100 ms */
if (ABS (mevent->time - last_time) < 100)
return;
last_time = mevent->time;
fuzzy_sel = (FuzzySelect *) tool->private;
diff_x = mevent->x - fuzzy_sel->first_x;
......
......@@ -470,9 +470,17 @@ fuzzy_select_motion (Tool *tool,
int diff_x, diff_y;
double diff;
static guint last_time = 0;
if (tool->state != ACTIVE)
return;
/* don't let the events come in too fast, ignore below a delay of 100 ms */
if (ABS (mevent->time - last_time) < 100)
return;
last_time = mevent->time;
fuzzy_sel = (FuzzySelect *) tool->private;
diff_x = mevent->x - fuzzy_sel->first_x;
......
......@@ -470,9 +470,17 @@ fuzzy_select_motion (Tool *tool,
int diff_x, diff_y;
double diff;
static guint last_time = 0;
if (tool->state != ACTIVE)
return;
/* don't let the events come in too fast, ignore below a delay of 100 ms */
if (ABS (mevent->time - last_time) < 100)
return;
last_time = mevent->time;
fuzzy_sel = (FuzzySelect *) tool->private;
diff_x = mevent->x - fuzzy_sel->first_x;
......
......@@ -1531,8 +1531,8 @@ bender_new_dialog (GDrawable *drawable)
gtk_widget_show (toggle);
/* The antialias toggle */
toggle = gtk_check_button_new_with_label (_("Antialias"));
/* The antialiasing toggle */
toggle = gtk_check_button_new_with_label (_("Antialiasing"));
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (toggle), cd->antialias);
gtk_box_pack_start (GTK_BOX (hbox), toggle, TRUE, FALSE, 0);
gtk_signal_connect (GTK_OBJECT (toggle), "toggled",
......
......@@ -336,7 +336,7 @@ p_overwrite_dialog(char *filename, gint overwrite_mode)
argv[0].label_txt = filename;
return(p_array_std_dialog ( _("GAP Question"),
_("file already exists:"),
_("File already exists:"),
1, argv,
3, l_argv, -1));
}
......
Sat Feb 19 13:50:51 CET 2000 Sven Neumann <sven@gimp.org>
* de.po: updated german translation
Sat Feb 19 11:00:45 CET 2000 Stanislav Brabec <utx@penguin.cz>
* cs.po: Updated translation.
......
This diff is collapsed.
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