When user changes the date in month-view, there is no sync with
year-view. The other way around works just fine, when user selects a
date in year-view, month-view goes to the same date.
Both views share an "active-date", but year-view doesn't obey that
property in some cases. Month-view also doesn't warn when changing that
property.
This commit fixes both views to keep them in sync, updating and using
"active-date" correctly.
https://bugzilla.gnome.org/show_bug.cgi?id=750478
It looks like the cursor at the "Notes" section of the
edit dialog has no vertical space to breath, and it's
a little bit annoying as it runs away from the expected
position.
Fix that by adding a small margin at the top and the bottom
of the text view at the "Notes" section.
And also be sure to set its pointer to NULL by using g_clear_pointer()
8,830 (24 direct, 8,806 indirect) bytes in 1 blocks are
definitely lost in loss record 17,999 of 18,078
at 0x4C2FA50: calloc (vg_replace_malloc.c:711)
by 0x99CE981: g_malloc0 (gmem.c:124)
by 0x99CEC64: g_malloc0_n (gmem.c:355)
by 0x44CD43: show_new_event_widget (gcal-window.c:731)
by 0x976FC57: ffi_call_unix64 (in /usr/lib64/libffi.so.6.0.2)
by 0x976F6B9: ffi_call (in /usr/lib64/libffi.so.6.0.2)
by 0x952703B: g_cclosure_marshal_generic (gclosure.c:1490)
by 0x95258B9: g_closure_invoke (gclosure.c:804)
by 0x9541D25: signal_emit_unlocked_R (gsignal.c:3635)
by 0x954105C: g_signal_emit_valist (gsignal.c:3391)
by 0x954170B: g_signal_emit_by_name (gsignal.c:3487)
by 0x4324D8: show_popover_for_position (gcal-month-view.c:305)
https://bugzilla.gnome.org/show_bug.cgi?id=772379
Edit dialog headerbar tooltip was reading: "Click to select event's
agenda" and a user asked to change it to: "Click to select the
calendar", so it would be more natural and familiar for non-native
English users.
https://bugzilla.gnome.org/show_bug.cgi?id=772103
If we scroll to a month that has no event widget to
display, the redraw is not dispatched and looks like
Calendar is broken.
Fix that by always queuing a redraw.
Instead of using the old GLib boilerplate code, use the new
utilities and simplify the code a little bit. This also allows
us to remove the private field of month view.
By using finalize and dispose methods and calling the proper free method.
8,806 (64 direct, 8,742 indirect) bytes in 2 blocks are definitely lost in loss record 18,051 of 18,131
at 0x4C2DB9D: malloc (vg_replace_malloc.c:299)
by 0x9A0C90E: g_malloc (gmem.c:94)
by 0x9A26A55: g_slice_alloc (gslice.c:1025)
by 0x9A26A95: g_slice_alloc0 (gslice.c:1051)
by 0x99E8DC4: g_date_time_alloc (gdatetime.c:428)
by 0x99E95C1: g_date_time_new (gdatetime.c:957)
by 0x99E97B2: g_date_time_new_local (gdatetime.c:1012)
by 0x4251F4: multi_choice_changed (gcal-date-chooser.c:419)
by 0x9567F16: g_cclosure_marshal_VOID__PARAM (gmarshal.c:1832)
by 0x95638B9: g_closure_invoke (gclosure.c:804)
by 0x957FD25: signal_emit_unlocked_R (gsignal.c:3635)
by 0x957F05C: g_signal_emit_valist (gsignal.c:3391)
https://bugzilla.gnome.org/show_bug.cgi?id=772272
By using finalize and dispose methods and calling the proper free
methods calls.
8,806 (64 direct, 8,742 indirect) bytes in 2 blocks are definitely lost in loss record 18,367 of 18,534
at 0x4C2DB9D: malloc (vg_replace_malloc.c:299)
by 0x9A0C90E: g_malloc (gmem.c:94)
by 0x9A26A55: g_slice_alloc (gslice.c:1025)
by 0x9A26A95: g_slice_alloc0 (gslice.c:1051)
by 0x99E8DC4: g_date_time_alloc (gdatetime.c:428)
by 0x99E8FA3: g_date_time_from_instant (gdatetime.c:524)
by 0x99E933F: g_date_time_new_from_timeval (gdatetime.c:647)
by 0x99E93A5: g_date_time_new_now (gdatetime.c:705)
by 0x99E93C4: g_date_time_new_now_local (gdatetime.c:728)
by 0x445BED: gcal_time_selector_init (gcal-time-selector.c:249)
by 0x9584B32: g_type_create_instance (gtype.c:1866)
by 0x956BED0: g_object_new_internal (gobject.c:1783)
https://bugzilla.gnome.org/show_bug.cgi?id=772272
23,776 bytes in 743 blocks are definitely lost in loss record 19,053 of 19,159
at 0x4C2DB9D: malloc (vg_replace_malloc.c:299)
by 0x9A0C90E: g_malloc (gmem.c:94)
by 0x9A26A55: g_slice_alloc (gslice.c:1025)
by 0x9A26AD7: g_slice_copy (gslice.c:1076)
by 0x6A97912: gdk_rgba_copy (gdkrgba.c:76)
by 0x42B35E: gcal_event_set_color (gcal-event.c:750)
by 0x42BF3E: gcal_event_set_source (gcal-event.c:1204)
by 0x42AE20: gcal_event_set_property (gcal-event.c:481)
by 0x956B39B: object_set_property (gobject.c:1423)
by 0x956BFDF: g_object_new_internal (gobject.c:1817)
by 0x956CB24: g_object_new_valist (gobject.c:2042)
by 0x878945D: g_initable_new_valist (ginitable.c:224)
https://bugzilla.gnome.org/show_bug.cgi?id=772272
28,337 bytes in 415 blocks are definitely lost in loss record 18,432 of 18,507
at 0x4C2FC47: realloc (vg_replace_malloc.c:785)
by 0xA88021D: vasprintf (in /usr/lib64/libc-2.24.so)
by 0x9A593FC: g_vasprintf (gprintf.c:316)
by 0x9A292F7: g_strdup_vprintf (gstrfuncs.c:514)
by 0x9A2939C: g_strdup_printf (gstrfuncs.c:540)
by 0x42A10B: gcal_event_update_uid_internal (gcal-event.c:192)
by 0x42BF52: gcal_event_set_source (gcal-event.c:1217)
by 0x42ADCA: gcal_event_set_property (gcal-event.c:480)
by 0x956B39B: object_set_property (gobject.c:1423)
by 0x956BFDF: g_object_new_internal (gobject.c:1817)
by 0x956CB24: g_object_new_valist (gobject.c:2042)
by 0x878945D: g_initable_new_valist (ginitable.c:224)
https://bugzilla.gnome.org/show_bug.cgi?id=772272
29,717 (8,128 direct, 21,589 indirect) bytes in 508 blocks are definitely lost in loss record 18,380 of 18,445
at 0x4C2FA50: calloc (vg_replace_malloc.c:711)
by 0x9A0C981: g_malloc0 (gmem.c:124)
by 0x9A0CC64: g_malloc0_n (gmem.c:355)
by 0x5BE3948: e_cal_component_get_id (e-cal-component.c:1477)
by 0x42A06D: gcal_event_update_uid_internal (gcal-event.c:178)
by 0x42A64D: gcal_event_set_component_internal (gcal-event.c:310)
by 0x42AD0F: gcal_event_set_property (gcal-event.c:459)
by 0x956B39B: object_set_property (gobject.c:1423)
by 0x956BFDF: g_object_new_internal (gobject.c:1817)
by 0x956CB24: g_object_new_valist (gobject.c:2042)
by 0x878945D: g_initable_new_valist (ginitable.c:224)
by 0x878933A: g_initable_new (ginitable.c:146)
https://bugzilla.gnome.org/show_bug.cgi?id=772272
105,858 (42,064 direct, 63,794 indirect) bytes in 478 blocks are definitely lost in loss record 19,065 of 19,103
at 0x4C2DB9D: malloc (vg_replace_malloc.c:299)
by 0x9A0C90E: g_malloc (gmem.c:94)
by 0x9A26A55: g_slice_alloc (gslice.c:1025)
by 0x99F0510: g_hash_table_new_full (ghash.c:711)
by 0x42B10C: gcal_event_init (gcal-event.c:657)
by 0x9584B32: g_type_create_instance (gtype.c:1866)
by 0x956BED0: g_object_new_internal (gobject.c:1783)
by 0x956CB24: g_object_new_valist (gobject.c:2042)
by 0x878945D: g_initable_new_valist (ginitable.c:224)
by 0x878933A: g_initable_new (ginitable.c:146)
by 0x42B181: gcal_event_new (gcal-event.c:690)
by 0x4549CA: gcal_year_view_component_added (gcal-year-view.c:1632)
https://bugzilla.gnome.org/show_bug.cgi?id=772272
264,180 (1,920 direct, 262,260 indirect) bytes in 60 blocks are definitely lost in loss record 18,487 of 18,509
at 0x4C2DB9D: malloc (vg_replace_malloc.c:299)
by 0x9A0C90E: g_malloc (gmem.c:94)
by 0x9A26A55: g_slice_alloc (gslice.c:1025)
by 0x9A26A95: g_slice_alloc0 (gslice.c:1051)
by 0x99E8DC4: g_date_time_alloc (gdatetime.c:428)
by 0x99E95C1: g_date_time_new (gdatetime.c:957)
by 0x99E97B2: g_date_time_new_local (gdatetime.c:1012)
by 0x42481C: calendar_compute_days (gcal-date-chooser.c:150)
by 0x425F3B: gcal_date_chooser_set_date (gcal-date-chooser.c:743)
by 0x4251CD: multi_choice_changed (gcal-date-chooser.c:420)
by 0x9567F16: g_cclosure_marshal_VOID__PARAM (gmarshal.c:1832)
by 0x95638B9: g_closure_invoke (gclosure.c:804)
https://bugzilla.gnome.org/show_bug.cgi?id=772272
Following the previous work on month view, this commit
implements scrolling capabilities to Year view. We do
this not only with the :scroll-event, but also using the
:edge-overshot signal of GtkScrolledWindow.
It is very natural and intuitive to try and change the current date
by scrolling. The current implementation of the Month view, however,
blatantly ignores scroll events.
Fix that by hearing to the scrolling events and changing the month
when the scroll is enough.
When the event widget's GdkWindow receives an event scroll,
the event is lost because it doesn't handle it. It should,
however, propagate the scroll event so that the container
is able to properly parse it.
Fix that by making GcalEventWidget listen and propagate
scrolled events.
Since now we manually manage the headerbar title and subtitle, setting
them via GtkHeaderBar API won't have any effect.
Fix that by directly setting the subtitle label.
https://bugzilla.gnome.org/show_bug.cgi?id=771565
If the user tries to drop a e.g. file, GNOME Calendar crashes
immediately.
While the desired behavior would be checking if that's an ics file,
lets just not crash for now.
https://bugzilla.gnome.org/show_bug.cgi?id=771680