aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--calendar/ChangeLog6
-rw-r--r--calendar/gncal-full-day.c13
-rw-r--r--calendar/gui/gncal-full-day.c13
3 files changed, 32 insertions, 0 deletions
diff --git a/calendar/ChangeLog b/calendar/ChangeLog
index 2077a71328..b6364c70f1 100644
--- a/calendar/ChangeLog
+++ b/calendar/ChangeLog
@@ -1,3 +1,9 @@
+1999-02-28 Martin Baulig <martin@home-of-linux.org>
+
+ * gncal-full-day.c (recompute_motion): For DRAG_MOVE, DRAG_SIZE_TOP
+ and DRAG_SIZE_BOTTOM: call child_focus_out () if the child currently
+ has the focus.
+
1999-02-27 Changwoo Ryu <cwryu@adam.kaist.ac.kr>
* quick-view.c (QUICK_VIEW_FONTSET): Added Korean font to the
diff --git a/calendar/gncal-full-day.c b/calendar/gncal-full-day.c
index e813eefbce..596b827d00 100644
--- a/calendar/gncal-full-day.c
+++ b/calendar/gncal-full-day.c
@@ -1759,6 +1759,9 @@ recompute_motion (GncalFullDay *fullday, int y)
case DRAG_MOVE:
has_focus = GTK_WIDGET_HAS_FOCUS (di->child->widget);
+ if (has_focus)
+ child_focus_out (di->child->widget, NULL, di->child);
+
row = get_row_from_y (fullday, y - di->child_click_y + (has_focus ? HANDLE_SIZE : 0), TRUE);
if (row > (f_rows - di->child_rows_used))
@@ -1769,6 +1772,11 @@ recompute_motion (GncalFullDay *fullday, int y)
break;
case DRAG_SIZE_TOP:
+ has_focus = GTK_WIDGET_HAS_FOCUS (di->child->widget);
+
+ if (has_focus)
+ child_focus_out (di->child->widget, NULL, di->child);
+
row = get_row_from_y (fullday, y + HANDLE_SIZE, TRUE);
if (row > (di->child_start_row + di->child_rows_used - 1))
@@ -1780,6 +1788,11 @@ recompute_motion (GncalFullDay *fullday, int y)
break;
case DRAG_SIZE_BOTTOM:
+ has_focus = GTK_WIDGET_HAS_FOCUS (di->child->widget);
+
+ if (has_focus)
+ child_focus_out (di->child->widget, NULL, di->child);
+
row = get_row_from_y (fullday, y - HANDLE_SIZE, TRUE);
if (row <= di->child_start_row)
diff --git a/calendar/gui/gncal-full-day.c b/calendar/gui/gncal-full-day.c
index e813eefbce..596b827d00 100644
--- a/calendar/gui/gncal-full-day.c
+++ b/calendar/gui/gncal-full-day.c
@@ -1759,6 +1759,9 @@ recompute_motion (GncalFullDay *fullday, int y)
case DRAG_MOVE:
has_focus = GTK_WIDGET_HAS_FOCUS (di->child->widget);
+ if (has_focus)
+ child_focus_out (di->child->widget, NULL, di->child);
+
row = get_row_from_y (fullday, y - di->child_click_y + (has_focus ? HANDLE_SIZE : 0), TRUE);
if (row > (f_rows - di->child_rows_used))
@@ -1769,6 +1772,11 @@ recompute_motion (GncalFullDay *fullday, int y)
break;
case DRAG_SIZE_TOP:
+ has_focus = GTK_WIDGET_HAS_FOCUS (di->child->widget);
+
+ if (has_focus)
+ child_focus_out (di->child->widget, NULL, di->child);
+
row = get_row_from_y (fullday, y + HANDLE_SIZE, TRUE);
if (row > (di->child_start_row + di->child_rows_used - 1))
@@ -1780,6 +1788,11 @@ recompute_motion (GncalFullDay *fullday, int y)
break;
case DRAG_SIZE_BOTTOM:
+ has_focus = GTK_WIDGET_HAS_FOCUS (di->child->widget);
+
+ if (has_focus)
+ child_focus_out (di->child->widget, NULL, di->child);
+
row = get_row_from_y (fullday, y - HANDLE_SIZE, TRUE);
if (row <= di->child_start_row)