Commit Graph
1654 Commits
Author SHA1 Message Date
Georges Basile Stavracas Neto e8647eb829 month-view: use the event's dates instead of widget's ones
Conceptually, we need to compare the event's dates to make
sure we're allocating the widgets correctly, as widget's
dates may not represent the event's ones.
2016-02-15 21:11:17 -02:00
Georges Basile Stavracas Neto 87e36adbb6 month-view: rework allocation code
GcalEventWidget added API to automatically change
the widget rendering according to the initial and
final dates. Month view, however, was still handling
it manually (and wrongly).

Fix that by reworking the allocation code, documenting
it and using the apropriate API from GcalEventWidget.
2016-02-15 20:42:47 -02:00
Georges Basile Stavracas Neto 7a6a13d7e0 event: fix timezone handling
Using libical with libecal means that the dates
are always stored as UTF dates, and we receive the
timezone as the ECalComponentDateTime::tzid value.

This fact was net being considered when adding date
support on GcalEvent, and was causing various issues
when displaying dates.

Fix that by properly handling timezones in GcalEvent.
2016-02-15 20:42:47 -02:00
Georges Basile Stavracas Neto c66a1dbc6b event: fix is_multiday() method
We have to pass the end date first.
2016-02-15 20:42:47 -02:00
Mario Blättermann 270c794f54 Updated German translation 2016-02-15 19:55:32 +01:00
Piotr Drąg a252935fed Updated Polish translation 2016-02-14 18:59:30 +01:00
Georges Basile Stavracas Neto 6283d9d025 application: update event colors when agenda changes
When we change a source (aka agenda) color, we have to
restart Calendar in order to see it in action.

After the work on GcalEvent, events are now able to track
the agenda's color changes, and the event widget updates
itself in response to that.

The last step was simple notifying GcalApplication when an
agenda changes, so it knows when to recreate the color schemes.
2016-02-14 12:51:32 -02:00
Georges Basile Stavracas Neto 8511285525 year-view: move comparing function from gcal-event-widget.c
The compare_for_single_day() method is reproducing the
same functionality from gcal_event_compare(), and the only
consumer is the Year View. So, for now, simplify the
comparing function and put it in year view file.

Also, this commit vastly improves and documents the year
view's algorithm to add events to the sidebar list.
2016-02-14 12:17:37 -02:00
Georges Basile Stavracas Neto 070bc681fc edit-dialog: simplify code
We don't need to have 2 functions that do exactly
the same thing.
2016-02-14 12:17:37 -02:00
Georges Basile Stavracas Neto a5658e3993 window: remove source when finalizing
Sometimes we crash the window right after closing it
because we set a timeout for save_geometry() before
destroying it, and the timeout is called after the
window is destroyed.
2016-02-14 12:17:37 -02:00
Georges Basile Stavracas Neto 34ff93ce3f time-selector: use GDateTime
Pretty much like the previous commit, but porting the
GcalTimeSelector class.
2016-02-14 12:17:37 -02:00
Georges Basile Stavracas Neto afe8def60c date-selector: use GDateTime internally
Using a GDateTime improves consistency with the
other components (ideally, we'll move completely
to GDateTime) and simplifies the code.

This commit adds a new property GcalDateSelector::date
and adapts the API to use GDateTime.
2016-02-14 12:17:37 -02:00
Georges Basile Stavracas Neto 2775012346 manager: use GcalEvent on it's API
To make things consistend and clear, use the
GcalEvent class to handle events.
2016-02-14 12:17:37 -02:00
Georges Basile Stavracas Neto c65fe989fe window: use a GcalEvent to delete events
Instead of using the GcalEventData struct, use the
deleted event. It holds a reference until the event
gets destroyed.

With this commit, we can safely drop GcalEventData
structure, since it's not used anymore.
2016-02-14 12:17:37 -02:00
Georges Basile Stavracas Neto 4676a21a58 search-view: use GcalEvent
Instead of relying on the now deprecated GcalEventData,
use the newly introduced GcalEvent class. As a side
effect, the code is simpler and much more saner to
deal with.
2016-02-14 12:17:37 -02:00
Georges Basile Stavracas Neto eb360dc809 shell-provider: use GcalEvent instead of event data
Following the sequence of porting commits, make the Shell's
search provider class handle events using GcalEvent classes
instead of the old GcalEventData structure.
2016-02-14 12:17:37 -02:00
Georges Basile Stavracas Neto e31e6eeac0 edit-dialog: use GcalEvent internally
Instead of using the ESource + ECalComponent combination,
use the new GcalEvent class, which wraps up and simplifies
most of the code.

This commit adds a GcalEditDialog::event property, and
adapts the dialog (and everything dependant on it's code)
to use the GcalEvent class.
2016-02-14 12:17:37 -02:00
Georges Basile Stavracas Neto 0ec0ea8121 event-widget: use GcalEvent internally
This saves a lot of code, and is much saner to maintain.
2016-02-14 12:17:37 -02:00
Georges Basile Stavracas Neto 2ded8b3147 event-widget: drop unused function 2016-02-14 12:17:37 -02:00
Georges Basile Stavracas Neto 5e0d4018f4 event: add a wrapper around events
Instead of relying on confusing structures, raw data
and direct access to components, add a wrapper for
events.
2016-02-14 12:17:37 -02:00
Georges Basile Stavracas Neto 9515c5e627 build: alphabetically sort source files 2016-02-12 15:17:48 -02:00
Piotr Drąg f8c67d892d Updated Polish translation 2016-02-06 15:50:36 +01:00
Rūdolfs Mazurs 1df6dd63c3 Add Latvian translation 2016-02-04 19:49:24 +02:00
Alexandre Franke 269eb75b4f Updated French translation 2016-02-02 19:18:14 +00:00
Isaque Galdino 9646d4f543 year-view: Fix for 01-01-2017 date
Previous fix was considering Jan 1st and Dec 31st to find the week
number, using ISO 8601 standard, and that was causing an issue with some
dates like Jan 1st, 2017 which was displaying week# 52 instead of
week #1.

The issue happened because ISO 8601 always consider Monday as the first
weekday, so as Jan 1st, 2017 is a Sunday, it' still considered week# 52
and not week# 1.

After checking GtkCalendar code I noticed it uses the same ISO 8601
standard but instead of using Jan 1st or Dec 31st, it always get the
week number based on the last day of that week, taking account if the
week starts on Sunday or Monday, depending on the locale. In our
example, using a calendar based on Sunday, Jan 1st, 2017 is the first
day of the week and Jan 7th, 2017 is the last one. Therefore I changed
week number code to always use the last day of the week.

https://bugzilla.gnome.org/show_bug.cgi?id=757622
2016-02-02 14:44:04 -02:00
Cosimo Cecchi f4d015759d Rename icon to match app ID
In preparation for xdg-app.

https://bugzilla.gnome.org/show_bug.cgi?id=761375
2016-01-31 15:13:55 -06:00
Isaque Galdino e8c75cea32 year-view: Added visual clue for days with events
Year view didn't have hints for days with events and this feature was
requested to be added to gnome-calendar.

This is an old request but in the past gnome-design team though it would
be better to keep the layout simple without hints for days with events.
Now with the changes in gnome-shell calendar and in order to keep them
in sync, this feature was added to gnome-calendar.

In order to implement this code we had to add a few css styles and a
code to add a small circle below everyday with events. Although
gnome-shell calendar uses an svg image with a 3x3 dot, we chose to use a
pango function to draw the dot.

https://bugzilla.gnome.org/show_bug.cgi?id=743317
2016-01-29 22:51:12 -02:00
Richard Hughes 5cfee45f7a Add a missing tag to the AppData file 2016-01-25 15:40:18 +00:00
Balázs Meskó 82afcb2180 Updated Hungarian translation 2016-01-25 10:43:05 +00:00
Georges Basile Stavracas Neto ca327e2ce5 time-selector: turn into a final class 2016-01-19 21:12:19 -02:00
Georges Basile Stavracas Neto 65cfea9609 search-view: turn into a final class 2016-01-19 20:55:17 -02:00
Georges Basile Stavracas Neto f9101b9bc8 year-view: turn into a final class 2016-01-19 20:45:05 -02:00
Georges Basile Stavracas Neto 771d227520 window: turn into a final class 2016-01-19 20:27:21 -02:00
Georges Basile Stavracas Neto 50ce09617e source-dialog: remove private field 2016-01-19 20:03:19 -02:00
Georges Basile Stavracas Neto 80b03531f2 manager: turn into a final class 2016-01-19 19:31:04 -02:00
Georges Basile Stavracas Neto f001fb48b7 event-widget: turn into a final class 2016-01-19 19:12:13 -02:00
Georges Basile Stavracas Neto 5fe6578b16 date-selector: turn into a final class
There is no subclass of GcalDateSelector, and
actually it isn't needed. So, turn the class
into a final class and get rid of the needless
private field.
2016-01-19 18:54:29 -02:00
Georges Basile Stavracas Neto adc83a7a93 application: turn into a final class
GcalApplication is not derivable, so turn it
into a final class and get rid of the private
field.
2016-01-19 18:43:11 -02:00
Georges Basile Stavracas Neto 994a2a839c Bump 3.19.4 release 2016-01-19 18:24:51 -02:00
Georges Basile Stavracas Neto bc6d40b718 build: remove glib-gettext
It's deprecated
2016-01-19 18:20:53 -02:00
Georges Basile Stavracas Neto 7a7910797c Update TODO 2016-01-19 18:16:34 -02:00
Isaque Galdino c4853dd855 gnome-calendar: Fix week #s in year view
Changed year view to use ISO 8601 standard to display the week #s
correctly when showing first and last weeks.

Year view was always starting week #s as 1, based on Jan 1st, and it
kept count the weeks until Dec 31st. But according to ISO 8601 standard,
that's not always true, i.e. Jan 1st 2016, is still in the 53th week of
2015, while Dec 31st 2014 is already in the 1st week of 2015.

Now the code is using ISO 8601 GDate function to get the correct week
number for the first and the last weeks of the year only. Other weeks
continue to use the same logic.

More about ISO 6801: https://en.wikipedia.org/wiki/ISO_8601#Week_dates

https://bugzilla.gnome.org/show_bug.cgi?id=757622
2016-01-19 18:09:30 -02:00
Jiro Matsuzawa bbf0f10203 Updated Japanese translation 2016-01-16 03:26:11 +00:00
Georges Basile Stavracas Neto 7b28416361 month-view: make lines stronger
The current lines are very light and people
with visual issues may not find them easy.

To fix that, make these lines slightly stronger,
enough to make them clearly visible.

https://bugzilla.gnome.org/show_bug.cgi?id=758679
2016-01-12 17:00:07 -02:00
Stas Solovey a5e9b3bea7 Updated Russian translation 2016-01-11 21:22:00 +00:00
Aurimas Černius 8728026867 Updated Lithuanian translation 2016-01-10 17:19:22 +02:00
Georges Basile Stavracas Neto df9af0e8f9 month-view: remove leftover
This was supposed to be removed, since there's no
use in setting a state and immediately restore the
context.
2016-01-04 22:24:10 -02:00
Georges Basile Stavracas Neto b7e6de4c13 year-view: fix wrong padding
Since we're using css nodes now, the calendar-view
node overrides anything we could possibly set up. In
fact, I don't know how it was working before.
2016-01-04 19:22:28 -02:00
Georges Basile Stavracas Neto 6de0376ab6 month-view: fix warnings
We were calling gtk_style_context_get() with a state
different than that of the style_context, which yiels
warnings.

Fix that by saving, setting the flag and restoring the
context.
2016-01-04 16:50:47 -02:00
Georges Basile Stavracas Neto 21f3ed1ef1 project: more css names fixups 2016-01-04 16:50:46 -02:00