Commit Graph
100 Commits
Author SHA1 Message Date
Georges Basile Stavracas Neto b2d2767131 calendar-row: Tweak margins 2019-06-24 21:32:57 -03:00
Georges Basile Stavracas Neto 831bbbdba8 calendar-management-page: Introduce new interface
This will be used by the pages of the calendar management dialog
to let it know they are actual pages, to offer an activation
mechanism, and to communicate with the dialog when they want to
switch to another page.
2019-06-24 21:32:57 -03:00
Georges Basile Stavracas Neto 4088b8b6bb source-dialog: Rename to GcalCalendarManagementDialog 2019-06-24 21:32:44 -03:00
Georges Basile Stavracas Neto c0720d0031 build: Move GcalSourceDialog to gui/calendar-management
Soon we will start populating this subfolder with many other
calendar management files, and to avoid making the gui/ folder
a mess, move source dialog to it.
2019-06-24 21:32:44 -03:00
Georges Basile Stavracas Neto 7217f9fa53 window: Add "Online Accounts..." button 2019-06-24 21:32:44 -03:00
Georges Basile Stavracas Neto 8743121f4d source-dialog: Move Online Accounts panel spawn to utils
So that it can be reused by other files.
2019-06-24 21:32:44 -03:00
Georges Basile Stavracas Neto 7ee0acdcbf source-dialog: Remove online accounts
Showing these online accounts in the dialog only added
an additional step. We'll be adding a link to online
accounts in the next commit, so for now, remove the
widgets from the source dialog.
2019-06-24 21:32:44 -03:00
Georges Basile Stavracas Neto af8d2bb969 schema: Default 'follow-night-light' to false
https://gitlab.gnome.org/GNOME/gnome-calendar/issues/401
2019-05-27 15:14:10 -03:00
Georges Basile Stavracas Neto 2be54af238 flatpak: Build less 2019-05-24 21:28:47 -03:00
Georges Basile Stavracas Neto 16f2a8a554 flatpak: Allow org.gnome.evolution.dataserver.Calendar8
The new EDS bumped its D-Bus API version.
2019-05-24 21:27:14 -03:00
Georges Basile Stavracas Neto 73ddbbdc60 window: Remove non-existing signal handler 2019-05-24 21:26:50 -03:00
Georges Basile Stavracas Neto badd1fb0f1 calendar: Fix double free
The GError is unreferenced twice.
2019-05-24 21:25:28 -03:00
Georges Basile Stavracas Neto dcdd3f6ee8 Remove stray g_message()s
Leftovers from previous commits.
2019-05-11 13:41:50 -03:00
Georges Basile Stavracas Neto ea043ab48b calendar-popover: Show success after synchronizing
https://gitlab.gnome.org/GNOME/gnome-calendar/issues/395
2019-05-10 13:45:00 -03:00
Georges Basile Stavracas Neto 198180d023 manager: Fix typo 2019-05-10 13:44:43 -03:00
Georges Basile Stavracas Neto 117d56a1c9 calendar-popover: Relabel as "Synchronize Calendars"
https://gitlab.gnome.org/GNOME/gnome-calendar/issues/396
2019-05-10 13:30:29 -03:00
Georges Basile Stavracas Neto 647c9ee2c7 calendar-popover: Adjust UI
Add a separator and remove spacing.
2019-05-10 13:15:50 -03:00
Georges Basile Stavracas Neto c5ec57f78e calendar-popover: Improve calendar settings button
Change the label to "Manage Calendars…" and make it a model
button.
2019-05-10 13:14:23 -03:00
Georges Basile Stavracas Neto 405787307c window: Move synchronize button to the calendar popover 2019-05-10 13:10:50 -03:00
Georges Basile Stavracas Neto 0639b4e7ae window: Show a spinner while synchronizing 2019-05-10 13:04:33 -03:00
Georges Basile Stavracas Neto f4c4a91465 manager: Add 'synchronizing' property
Will be useful to know if there are any clients being
synchronized.
2019-05-10 12:42:13 -03:00
Georges Basile Stavracas Neto 1c0131a55f edit-dialog: Restore time removal of all-day events
All day events have no time period. This was a fallout from
the previous commit.
2019-05-10 11:53:24 -03:00
Georges Basile Stavracas Neto 7ad0f100a7 manager: Properly bind default calendar
We need to convert from ESource to GcalCalendar.
2019-05-10 11:20:51 -03:00
Georges Basile Stavracas Neto 79eea9376b window: Add new event button
As per the latest mockups [1]

[1] https://teams.pages.gitlab.gnome.org/Design/web-experiments/calendar/headerbar
2019-05-09 17:42:59 -03:00
Georges Basile Stavracas Neto 771c5c30f0 window: Reorganize a few functions 2019-05-09 17:42:59 -03:00
Georges Basile Stavracas Neto 0baeaa160a window: Delegate changing dates to GcalView
The view knows its time range, and knows what the
next or previous dates should be. So instead of
calculating the next date manually, ask the views
for that.
2019-05-09 17:42:59 -03:00
Georges Basile Stavracas Neto da31180cba view: Let views handle subscription range
Instead of GcalWindow handling the ranges themselves,
delegate this responsibility to the views.
2019-05-09 17:42:58 -03:00
Georges Basile Stavracas Neto 1f0179c431 ci: Simplify CI
Only build with the 'flatpak' stage, since it does
everything we do on other stages already.
2019-05-04 22:45:14 -03:00
Georges Basile Stavracas Neto a88b628507 build: Make generated sources a dependency
So that they are 100% certain to be generated before
starting to build libgcal.
2019-05-04 22:15:17 -03:00
Georges Basile Stavracas Neto a2609d6853 project: Reorganize much 2019-05-04 19:48:40 -03:00
Georges Basile Stavracas Neto 70cb7c14a9 build: Make libgcal a static library
This avoids us building everything twice.
2019-05-04 12:28:45 -03:00
Georges Basile Stavracas Neto 682e614e4b Remove developer docs
They're essentially useless.
2019-05-04 12:28:24 -03:00
Georges Basile Stavracas Neto f55b4531ef project: Move ui-related classes to gui/ 2019-05-04 12:14:05 -03:00
Georges Basile Stavracas Neto d5fbce1385 window: Remove search mode 2019-05-04 12:05:39 -03:00
Georges Basile Stavracas Neto bb8d5b92ce manager: Handle default calendars via GcalCalendar 2019-05-04 12:05:39 -03:00
Georges Basile Stavracas Neto 7811b90730 tests: Fix test suite
Introduce a new GcalStubCalendar class that essentially
removes the ECalClient initialization from GcalCalendar,
and use it as part of a new private library consumed by
the tests.
2019-05-04 12:05:39 -03:00
Georges Basile Stavracas Neto 28c5a41639 build: Properly include deps and directories in libgcal_dep 2019-05-04 12:05:39 -03:00
Georges Basile Stavracas Neto ada9bcc473 calendar: Fix signal handler cleanup on finalize() 2019-05-04 12:05:39 -03:00
Georges Basile Stavracas Neto 5e3eb40c53 utils: Add gcal_clear_signal_handler 2019-05-04 12:05:39 -03:00
Georges Basile Stavracas Neto 245df513d7 event: Simplify color handling
We can use GcalCalendar::color property directly now.
2019-05-04 12:05:39 -03:00
Georges Basile Stavracas Neto 02cbfdadf2 calendar: Make it a derivable class 2019-05-04 12:05:39 -03:00
Georges Basile Stavracas Neto df182d1b88 manager: Remove "loading" property
The stack is robust enough to handle dynamically
loading the calendars.
2019-05-04 12:05:39 -03:00
Georges Basile Stavracas Neto e7c6120133 manager: Remove gcal_manager_is_client_writable()
It is now handled by GcalCalendar, and nobody else uses
it.
2019-05-04 12:05:39 -03:00
Georges Basile Stavracas Neto e617d29309 source-dialog: Use more GcalCalendar API 2019-05-04 12:05:39 -03:00
Georges Basile Stavracas Neto e800bb2476 manager: Remove gcal_manager_enable/disable_source()
This is now managed by GcalCalendar itself.
2019-05-04 12:05:39 -03:00
Georges Basile Stavracas Neto 560419ed8a editorconfig: Update tab width 2019-05-04 12:05:39 -03:00
Georges Basile Stavracas Neto e3e19b4cea application: Parse CSS more aggressively 2019-05-04 12:05:39 -03:00
Georges Basile Stavracas Neto 2ef1cbc463 manager: Toggle data model sources when changed
Instead of other classes needing to manually set and
unset whether a source is registered in the data model,
we can now simply call GcalCalendar.set_visible() and
have the model be updated for us.
2019-05-04 12:05:39 -03:00
Georges Basile Stavracas Neto fd3d2ea3f6 window: Move calendar popover to GcalCalendarPopover
This helps reducing the LOC number of GcalWindow, and
allows us to also implement the popover in a better way.
2019-05-04 12:05:39 -03:00
Georges Basile Stavracas Neto 64fa11f4c0 calendar: Fix double unref 2019-05-04 12:05:39 -03:00
Georges Basile Stavracas Neto 1a5ff545a2 project: Move a few classes to core/ 2019-05-04 12:05:39 -03:00
Georges Basile Stavracas Neto 7297d369fb manager: Remove gcal_manager_get_client()
Not used anymore.
2019-05-04 12:05:39 -03:00
Georges Basile Stavracas Neto ea60c95a44 manager: Rework signals to use GcalCalendar 2019-05-04 12:05:39 -03:00
Georges Basile Stavracas Neto 1118c74881 event: Receive and operate on GcalCalendar
Instead of receiving an ESource, receive a GcalCalendar
and operate on it. Many places needed to be adjusted for
that.

Tests need to be rethinked.
2019-05-04 12:05:39 -03:00
Georges Basile Stavracas Neto 810ef7956b manager: Replace gcal_manager_get_sources()
With a GcalCalendar-based function.
2019-05-04 12:05:39 -03:00
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