Commit Graph
1674 Commits
Author SHA1 Message Date
Georges Basile Stavracas Neto 093e9fa52f event: properly detect the timezone 2016-02-17 18:56:42 +01:00
Georges Basile Stavracas Neto 8b0aa6f499 Bump 3.19.90 release 2016-02-16 20:53:08 -02:00
Georges Basile Stavracas Neto ef0a401ccf build: add help-overlay.ui to EXTRA_DIST 2016-02-16 20:42:39 -02:00
Piotr Drąg de07b938b7 Updated POTFILES.in 2016-02-16 21:51:13 +01:00
Georges Basile Stavracas Neto 4ce918c9aa project: add a shortcuts window
And with this, we finish the last big UI change
that will land for 3.20.
2016-02-16 18:26:02 -02:00
Georges Basile Stavracas Neto 9ff5e05f9c app: automatically load resources from base path
We don't have to load most of the menus we're currently loading
by using the very handy automatic resource loading.

This patch fixup so the app loads resources automagically.
2016-02-16 18:12:18 -02:00
Georges Basile Stavracas Neto bfe18b00df window: fix new event action 2016-02-16 17:53:16 -02:00
Daniel Mustieles 9e5f8438a4 Updated Spanish translation 2016-02-16 18:47:11 +01:00
Georges Basile Stavracas Neto 9ba89e1db6 window: update calendar colors from popover
When we change the calendar color, everything that represents
this calendar must be updated to match the changes. The calendar
popover, however, wasn't aware of these changes and did not match
updates of calendars.

Fix that by destryoing and readding the row for the given calendar
when it changes.

https://bugzilla.gnome.org/show_bug.cgi?id=762069
2016-02-16 15:09:11 -02:00
Georges Basile Stavracas Neto bf95aad2ca event-widget: remove old colors when applying new ones
For the sake of safety and correctness, remove the old color's
CSS before applying the new color's one.
2016-02-16 15:09:11 -02:00
Dušan Kazik 0859b52cb3 Updated Slovak translation 2016-02-16 16:49:31 +00:00
Piotr Drąg 3a3dfc90e7 Updated POTFILES.in 2016-02-16 16:59:56 +01:00
Georges Basile Stavracas Neto 7c0e3776e1 window: use GcalQuickAddPopover internally
Saves a lot of code from the window file, and makes
things better. Yay!
2016-02-16 13:37:54 -02:00
Georges Basile Stavracas Neto 11070f1d17 quick-add-popover: new class to handle new events
Instead of throwing it all for GcalWindow to handle,
add a new class called GcalQuickAddPopover that handles
event creation.

Events are always all day when created from the quick
add popover, unless the user wants to change it and click
'Edit Details' button.

In the future, we'll look forward adding natural language
support, so the user can type the times directly from the
entry (like e.g. "soccer at park from 10am to 11:30am").
2016-02-16 13:32:35 -02:00
Georges Basile Stavracas Neto 3c0c3646f4 utils: use GDateTime to build component
As part of our epic journey to GDateTime, and to
prepare ground for the future work, use GDateTime
as arguments for building the ECalComponent.
2016-02-16 11:54:35 -02:00
Georges Basile Stavracas Neto 6a64384971 year-view: don't allow selection on event list 2016-02-16 03:49:13 +01:00
Georges Basile Stavracas Neto 5d96c11c55 year-view: only apply widget dates to multiday events
Single day events won't ever show slanted edges.
2016-02-16 03:47:31 +01:00
Georges Basile Stavracas Neto 004af2893f month-view: fix date calc on rtl languages 2016-02-16 11:27:21 +09:00
Georges Basile Stavracas Neto 3f4d11f68e event: normalize dates before applying them
I don't know the reasoning behind it, but sometimes
I see dates like March 32 or February 30. Events are
correctly added, so I suspect it's an issue with another
app.

In any case, we should be able to handle weird dates
without crashing, so normalize the dates before using
them.
2016-02-16 10:39:37 +09:00
Georges Basile Stavracas Neto f39991c7c3 month-view: reallocate children when date changes
The subscriber does not add components who are already
added to the view - and doesn't need to do it. To overcome
that fact, we have to reallocate the events even when
nothing was added.

Fix that by setting the GcalSubscriberView->children_changed
to TRUE and queueing an allocation right after the date
changes.

https://bugzilla.gnome.org/show_bug.cgi?id=762066
2016-02-15 21:18:13 -02:00
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