Commit Graph
100 Commits
Author SHA1 Message Date
Georges Basile Stavracas Neto 0acf0b60ba utils: Receive const GdkRGBA*
We do not modify their values, they're const in
practice already.
2019-05-04 12:05:39 -03:00
Georges Basile Stavracas Neto 5aa0dd910a manager: Use GcalCalendar internally
Make GcalManager operate on GcalCalendar instead of ESources
internally. This is far from being a total switch.
2019-05-04 12:05:39 -03:00
Georges Basile Stavracas Neto b9848e5443 Introduce GcalCalendar
GcalCalendar is an abstraction on top of ESource
and ECalClient. Its initialization is asynchronous
and failable. This gives us more flexibility when
initializing and loading the calendars from EDS.
2019-05-04 12:05:39 -03:00
Georges Basile Stavracas Neto b8c80e08e8 source-dialog: Don't use g_autolist
Chaos ensues with it.
2019-04-29 17:13:30 -03:00
Georges Basile Stavracas Neto d6c5bf032d search: Open event from search results
And this finally hooks up the last missing bit from the
search engine: opening events from search results.

All the necessary plumbing is there for extending search
with other commands or results, such as go to date, etc.
2019-04-29 17:08:54 -03:00
Georges Basile Stavracas Neto 1aecd1043d application: Add 'open-event' action
This will be used by the search engine to open
events.
2019-04-29 17:08:53 -03:00
Georges Basile Stavracas Neto 74af4af540 search-button: Remove useless debug message 2019-04-29 17:08:53 -03:00
Georges Basile Stavracas Neto 23c012aee1 event: Add date formatting function
Will be useful for the search results.
2019-04-29 17:08:53 -03:00
Georges Basile Stavracas Neto 3baa71f07d application: Reorganize file a bit 2019-04-29 17:08:53 -03:00
Georges Basile Stavracas Neto 6994723d79 search: Introduce a search engine
This is architectured in such a way that it will
allow us to introduce other searcheable terms in
the future.

All the functionality that in the past was in
GcalManager is now spread across GcalSearchModel,
GcalSearchHitEvent and GcalSearchEngine.
2019-04-29 17:08:53 -03:00
Georges Basile Stavracas Neto 6ecb7465eb event: Receive the time_t directly
There is absolutely no reason to receive a pointer
to an integer when we can receive the actual integer.
2019-04-29 17:08:53 -03:00
Georges Basile Stavracas Neto b967f047bf window: Remove search popover
Won't be missed.
2019-04-29 17:08:52 -03:00
Georges Basile Stavracas Neto 133e82f34e theme: Allow use circle icon class on random images
Will be needed to tweak the suggestion row's GtkImage.
2019-04-29 17:08:52 -03:00
Georges Basile Stavracas Neto 0c3a16b688 application: Turn it into a DzlApplication
This is required for Dazzle resources to be registered
correctly.
2019-04-29 17:08:52 -03:00
Georges Basile Stavracas Neto dfbd7fca26 search-button: Add a context property
We will use it later when GcalContext has a search
engine.
2019-04-29 17:08:52 -03:00
Georges Basile Stavracas Neto 907b71635b manager: Move threading functions to utils 2019-04-29 17:08:52 -03:00
Georges Basile Stavracas Neto 36f4809c1c window: Turn search button into a DzlSuggestionButton
Gives us a nice, smooth and sweet animation.
2019-04-29 17:08:51 -03:00
Georges Basile Stavracas Neto f5741eaaea build: Depend on libdazzle 3.33.1 2019-04-29 17:08:51 -03:00
Georges Basile Stavracas Neto 08eed8338e application: Trivial style cleanup 2019-04-29 17:08:40 -03:00
Georges Basile Stavracas Neto f67009bbba week-header: Use GDateTime to fetch weekday names 2019-04-26 16:00:33 -03:00
Georges Basile Stavracas Neto 6dda74432c utils: Remove more unused functions 2019-04-26 15:42:32 -03:00
Georges Basile Stavracas Neto 14966831bf search-popover: Remove date property
Not used.
2019-04-26 15:38:53 -03:00
Georges Basile Stavracas Neto 06e07fe4d6 year-view: Cleanup header 2019-04-26 15:25:05 -03:00
Georges Basile Stavracas Neto c88cf19e86 week-header: Simplify set_date() 2019-04-26 15:20:47 -03:00
Georges Basile Stavracas Neto c64849a29a week-header: Compare week number 2019-04-26 15:17:20 -03:00
Georges Basile Stavracas Neto 360a50acf2 year-view: Fix sidebar events
Various fallouts from moving to GDateTime
2019-04-26 14:09:39 -03:00
Georges Basile Stavracas Neto c52bacfc3f utils: Move more API to gcal-date-time-utils.c 2019-04-26 13:57:05 -03:00
Georges Basile Stavracas Neto 527cb6fc5f quick-add-popover: React to time format changes 2019-04-26 13:41:07 -03:00
Georges Basile Stavracas Neto 9216e0931c quick-add-popover: Receive a context 2019-04-26 13:36:35 -03:00
Georges Basile Stavracas Neto ab1c0b6ca4 utils: Rename gcal_clear_datetime to gcal_clear_date_time
To keep it consistent with the rest of the API.
2019-04-26 13:27:37 -03:00
Georges Basile Stavracas Neto 21c74baed8 edit-dialog: Fix property name
The enum name was updated, but not the property
name itself.
2019-04-26 13:22:21 -03:00
Georges Basile Stavracas Neto 7410f9bb93 manager: Remove system timezone support
It is now handled by GcalContext, and no other class uses
the manager's system timezone anymore.

Next step is to get rid of the e_cal_util_get_system_timezone()
calls, but that will require the GcalTimeline API.
2019-04-26 13:21:26 -03:00
Georges Basile Stavracas Neto b280001487 shell-search-provider: Receive a GcalContext
And use the system timezone from the context, instead
of the manager.
2019-04-26 13:19:29 -03:00
Georges Basile Stavracas Neto 501ed25270 shell-search-provider: Use GDateTime 2019-04-26 13:11:54 -03:00
Georges Basile Stavracas Neto 073fc961c1 view: Turn 'active-date' into a GDateTime property
Drop the bomb!
2019-04-26 13:04:37 -03:00
Georges Basile Stavracas Neto 68943eec57 utils: Add GDateTime utils
This will greatly help with the transition to GDateTime.
In the future, we can propose these APIs to GLib itself.
2019-04-26 12:59:29 -03:00
Georges Basile Stavracas Neto 3bff2b8981 utils: Move to utils/ subdir
We will split this file into more, specialized, files
so it makes sense to not pollute the top source dir.
2019-04-25 20:59:08 -03:00
Georges Basile Stavracas Neto efaef1b0e1 window: Operate with GDateTime 2019-04-25 20:30:54 -03:00
Georges Basile Stavracas Neto 21e748ac36 month-view: Don't get weather info before having a date 2019-04-25 16:35:37 -03:00
Georges Basile Stavracas Neto da3a903d1e application: Delay context initialization 2019-04-25 16:30:58 -03:00
Georges Basile Stavracas Neto 09cb142a5b application: Remove unused variable 2019-04-25 16:30:58 -03:00
Georges Basile Stavracas Neto aa82567f98 application: Use GDateTime instead of icaltime 2019-04-25 16:30:57 -03:00
Georges Basile Stavracas Neto 506f0c110e manager: Trivial style cleanup 2019-04-25 16:30:57 -03:00
Georges Basile Stavracas Neto ffb6eabe53 time-zone-monitor: Introduce timezone monitor
This will finally allow us monitor timezones and react
to changes. And that's only possible because of the new
GcalContext API!
2019-04-25 16:30:57 -03:00
Georges Basile Stavracas Neto c5b5023508 application: Move time format to GcalContext
It finally found its place under the sun.
2019-04-25 16:30:57 -03:00
Georges Basile Stavracas Neto ad21581d6f search-popover: Add "context" property 2019-04-25 16:30:56 -03:00
Georges Basile Stavracas Neto fd8e82b4ae edit-dialog: Receive a GcalContext 2019-04-25 16:30:56 -03:00
Georges Basile Stavracas Neto 0f1de0c2ca application: Remove gcal_application_get_manager()
GcalManager is handled by GcalContext now, and as such, there's
no need to expose this wrapper around it anymore.
2019-04-25 16:30:56 -03:00
Georges Basile Stavracas Neto 01fdf79e6a Use weather service from GcalContext
All those properties were a waste compared to storing it
into the context.
2019-04-25 16:30:56 -03:00
Georges Basile Stavracas Neto 1297ad695b application: Remove gcal_application_get_clock()
That moved to GcalContext, and now that all pieces who
used it have access to the context, we can just use it.
2019-04-25 16:30:55 -03:00
Georges Basile Stavracas Neto 54506973fc event-widget: Receive a context 2019-04-25 16:30:55 -03:00
Georges Basile Stavracas Neto c175599550 view: Replace the manager property by the context 2019-04-25 16:30:55 -03:00
Georges Basile Stavracas Neto 8366d22cf0 application: Move night light monitor to GcalContext 2019-04-25 16:30:55 -03:00
Georges Basile Stavracas Neto 1b8a29e59b manager: Move GOA to GcalContext
Another step into making GcalManager only be responsible
for handling backend interactions.
2019-04-25 16:30:54 -03:00
Georges Basile Stavracas Neto 9b7650db45 source-dialog: Receive a context 2019-04-25 16:30:54 -03:00
Georges Basile Stavracas Neto 802c6948e8 manager: Move GSettings to GcalContext 2019-04-25 16:30:54 -03:00
Georges Basile Stavracas Neto dc9d1d0d9b weahter-settings: Receive a context 2019-04-25 16:30:54 -03:00
Georges Basile Stavracas Neto 14c6544b95 night-light-monitor: Receive a context 2019-04-25 16:30:53 -03:00
Georges Basile Stavracas Neto b98801a621 window: Receive the context
Instead of the manager. This adds multiple lines retrieving
the manager from the context, but throughout the course of
this rework, they will probably be simplified.
2019-04-25 16:30:53 -03:00
Georges Basile Stavracas Neto beeecdf6b3 application: Use the GcalContext internally
Most was left as it is, such as the "manager" property.
2019-04-24 12:55:20 -03:00
Georges Basile Stavracas Neto 9a13fb5c2a context: Introduce GcalContext
This is just the bare minimum of what will become
the main context class of GNOME Calendar. As of
now, nothing creates or uses it.
2019-04-24 11:44:51 -03:00
Georges Basile Stavracas Neto 13671554ad flatpak: Use host EDS
Let's try it again.
2019-04-23 23:11:27 -03:00
Georges Basile Stavracas Neto 9fab861ea1 3.33.0
Let's rock this cycle.
2019-04-23 19:28:26 -03:00
Georges Basile Stavracas Neto f9f46a2f35 3.32.1 2019-04-23 19:18:53 -03:00
Georges Basile Stavracas Neto f1b5d70be3 3.32.0 2019-03-11 12:31:55 -03:00
Georges Basile Stavracas Neto b592ca2877 flatpak: Don't cleanup EDS
Otherwise events are not loaded.
2019-02-08 20:16:22 -02:00
Georges Basile Stavracas Neto 6c4092dd0e 3.31.90 2019-02-06 21:59:06 -02:00
Georges Basile Stavracas Neto 0580637772 flatpak: Run EDS nested to the sandbox
EDS keeps changing its D-Bus API and we can't really
rely on it matching the host. Thus, make EDS run nested
to the sandbox.
2019-02-01 13:31:56 -02:00
Georges Basile Stavracas Neto 2e684a6288 flatpak: Build GOA with meson
It's faster. It's the future.
2019-02-01 13:31:08 -02:00
Georges Basile Stavracas Neto 12866fc741 Bump 3.31.0 release 2018-09-15 01:52:34 -03:00
Georges Basile Stavracas Neto 13a375f483 edit-dialog: fix code style 2018-09-14 20:16:54 -03:00
Georges Basile Stavracas Neto e6d7651c50 edit-dialog: use 'self' instead of 'dialog' 2018-09-14 20:16:54 -03:00
Georges Basile Stavracas Neto 565558cbd3 project: Bump minimum glib version
We use APIs that are available at 2.58.0 now.
2018-09-14 20:16:54 -03:00
Georges Basile Stavracas Neto a799678f68 event: rewrite timezone support
Now with something that hopefully works.

https://gitlab.gnome.org/GNOME/gnome-calendar/issues/43
https://gitlab.gnome.org/GNOME/gnome-calendar/issues/302
2018-09-14 20:16:54 -03:00
Georges Basile Stavracas Neto 84324b3a6f event: remove unimplemented and unused prototype 2018-09-14 17:08:15 -03:00
Georges Basile Stavracas Neto 63ed4c48c8 3.30.0 2018-09-03 12:08:34 -03:00
Georges Basile Stavracas Neto 19740edc4a 3.29.92 2018-08-27 22:06:44 -03:00
Georges Basile Stavracas Neto 696520c988 3.29.90 2018-07-31 12:35:57 -03:00
Georges Basile Stavracas Neto 54a8c55d81 project: remove trash 2018-07-31 12:35:56 -03:00
Georges Basile Stavracas Neto af095fce48 application: Free icaltimetype with g_free
g_date_time_unref is reserved to GDateTime pointers.
2018-07-31 12:35:56 -03:00
Georges Basile Stavracas Neto f17c7b91b8 tests: Set TZ before running tests
Otherwise, we're depending on the host machine to run
the tests.
2018-07-31 12:35:56 -03:00
Georges Basile Stavracas Neto 77245a3c45 ci: Adjust Flatpak manifest path 2018-07-29 21:19:14 -03:00
Georges Basile Stavracas Neto 474ce8b9da application: Integrate with Night Light
This is mostly a nice touch of integration for when
using the Night Light feature. It can be disabled by
switching the 'follow-night-light' dconf key to false,
but no user interface widgetry was added.
2018-07-29 00:54:02 -03:00
Georges Basile Stavracas Neto 7d99af9c36 window: Simplify window menu
We could have relied on the popover menu automatic
menu handling capabilities from the very beginning.
2018-07-29 00:54:02 -03:00
Georges Basile Stavracas Neto 89e80e688b appmenu: Remove "New Event" entry
The "New Event" menu item is confusing and misleading, since
it is contextless item that has a context-aware action. The
result varies depending on which view you are, but this is in
no way communicated.

So just remove that, and all the GcalWindow API that is not
used anymore altogether.
2018-07-29 00:54:02 -03:00
Georges Basile Stavracas Neto 7e9ef5e055 date-chooser: Ensure selected day is contained in new month
When navigating through the dates of GcalDateChooser, if we
select a day (e.g. 31) that is not contained inside the next
or previous month, Calendar crashes.

Fix that by ensuring that the selected day is always contained
in the new month.

https://gitlab.gnome.org/GNOME/gnome-calendar/issues/284
2018-07-24 19:40:38 -03:00
Georges Basile Stavracas Neto 8fd74a7859 project: Reorganize files
Add a build-aux/ folder and move the Flatpak and
Meson auxiliary files there.
2018-07-24 19:22:38 -03:00
Georges Basile Stavracas Neto 82cf8d970a project: Update .gitignore
We don't need to ignore all this Autotools trash
anymore.
2018-07-24 19:11:34 -03:00
Georges Basile Stavracas Neto 56f789cdd9 project: fix README link
Calendar has a dedicate page in the GNOME Wiki nowadays,
point to it.
2018-07-24 19:07:27 -03:00
Georges Basile Stavracas Neto 98ec549967 contrib: Bring ECalDataModel changes
This particular changeset is important because it fixes that
annoying issue of the event staying when edited out of the
range (out of the month in Month view, week in Week view,
etc).

Commit: https://gitlab.gnome.org/GNOME/evolution/commit/3cea6c53337382330c443f50f858424ead2005b6
2018-07-24 19:02:07 -03:00
Georges Basile Stavracas Neto 6da7cf380d flatpak: Fix build 2018-06-01 16:57:29 -03:00
Georges Basile Stavracas Neto 34c7a16390 event: really fix multiday check
The time difference should've been greater than
zero since the beginning.
2018-05-05 23:06:14 -03:00
Georges Basile Stavracas Neto d66a76af88 event-widget: React to time changes
When an event is timed, and we move past its end
date and time, the event does not react to that
and continues with the opacity of a regular event.

Fix that by reacting to minute changes.
2018-05-04 21:49:30 -03:00
Georges Basile Stavracas Neto cfa8794313 manager: Move GcalClock to GcalApplication
GcalManager is basically an object that is shared
among classes that need to modify calendars, while
GcalClock is just a wall clock implementation.

Move it to GcalApplication, so that objects without
access to GcalManager can still access the clock.
2018-05-04 21:37:53 -03:00
Georges Basile Stavracas Neto d9417d207c project: add Epic.md 2018-05-02 18:52:51 -03:00
Georges Basile Stavracas Neto df7216f2f5 month-popover: don't be so small
This commit limits the month popover at least
250px wide. To make it actually usable.
2018-05-01 20:29:57 -03:00
Georges Basile Stavracas Neto 1da2151bb9 month-popover: popdown when adding new event 2018-05-01 20:29:36 -03:00
Georges Basile Stavracas Neto d272bbe3c8 week-view: use the correct inclusive end date
Event dates are, by definition, inclusive on their
start dates, but exclusives on their end dates. That
means that end dates don't actually contain the date
they represent.

Week grid code, however, was considering that end date
as inclusive, and the layout code was miscalculated
because of that.

Fix that by using an inclusive end date when calculating
the event span. Since Calendar does not support subsecond
precision, we do that by subtracting one second from the
exclusive end date.

Issue: #279
2018-05-01 18:50:27 -03:00
Georges Basile Stavracas Neto 93b22f2c43 month-view: reorganize code 2018-05-01 11:06:47 -03:00
Georges Basile Stavracas Neto 601076f6a4 event-widget: force squared color boxes
On HiDPI displays, the color boxes of timed events
appear distorted and not squared.

Fix that by setting a fixed size, and changing the
box alignment to always shrink to a squared state.
2018-05-01 10:24:48 -03:00