Commit Graph
59 Commits
Author SHA1 Message Date
Georges Basile Stavracas Neto fc642bb65d build: Remove enum templates
Meson has a handy way to do that without these template files. Let's
just use it
2024-10-11 22:36:35 -03:00
Hari Rana 0c8e1834f7 about, appdata: Port to AdwAboutDialog.new_from_appdata
This removes a lot of duplicated code, as we can simply reuse the
appdata file. It will also allow us to add release notes without
needing to rewrite them. A simple update in the
`adw_about_dialog_new_from_appdata` method will take care of
displaying the release notes.

This also renames the appdata file from `appdata.xml` to
`metainfo.xml`, as `appdata.xml` is considered a legacy filename.
2024-04-26 12:56:14 +00:00
James Westman eff84e9905 build: Remove direct dependency on geocode-glib
It's still a dependency through libgweather, but Calendar doesn't use it
directly. It looks like it was added for the weather feature, in a
function that ended up being removed.
2023-08-16 10:58:14 +00:00
Georges Basile Stavracas Neto 4c9e7a2d03 manager: Bring back credentials 2022-06-23 13:50:20 -03:00
Georges Basile Stavracas Neto 2809ed3abb Depend on GTK4 and libadwaita
This breaks the build. Next commits will port each widget to
GTK4.
2022-02-11 09:18:38 -03:00
Georges Basile Stavracas Neto 2b7e2cb574 build: Temporarily remove libedataserverui dep
Since we'll be switching to GTK4, we can't depend on this
library which links to GTK3. There's a GTK4 port underway,
we'll reenable when it lands
2022-02-11 09:18:38 -03:00
Georges Basile Stavracas Neto f1ac400e5d Drop gnome-online-accounts dependency
We don't need it anymore.
2021-10-13 13:48:09 -03:00
Georges Basile Stavracas Neto e67ebcfc50 project: Move all UI-related files to src/gui/
So we can have a nice separation.
2020-10-30 14:44:33 -03:00
Georges Basile Stavracas Neto 92863f578f project: Split GResource files in subdirs 2020-10-30 14:17:40 -03:00
Georges Basile Stavracas Neto eb954505e4 project: Split meson files in subdirs
It allows us to better control what each subdir does, etc. This is
only the first step; we want to also split GResources, etc.
2020-10-30 13:45:50 -03:00
Georges Basile Stavracas Neto 923e3b7b71 project: Move range tree to core/ 2020-04-14 19:08:05 +00:00
Georges Basile Stavracas Neto dbfebc85fa Introduce GcalRange
GcalRange is a new structure that represents a time range. It is
always inclusive at the start, and exclusive at the end.
2020-04-14 19:08:05 +00:00
Georges Basile Stavracas Neto 1f6559de68 Remove ECalDataModel and ECalDataModelSubscriber
Drop the bomb!
2020-04-01 21:06:51 -03:00
Georges Basile Stavracas Neto 3692a0ccf6 Introduce the new calendar monitoring API
It is, as expected, heavily inspired by the ECalDataModel code,
except it uses GDateTime, is timezone aware, and can handle all
day events correctly.
2020-04-01 21:06:51 -03:00
Georges Basile Stavracas Neto 58ce571e93 build: Include src/ files
This will be required by tests in order to
find headers in src/
2020-04-01 21:06:50 -03:00
Georges Basile Stavracas Neto 87c1ffb9d5 Reimplement alarm support
This is a complete reimplementation of alarms in Calendar.

Rejoice.
2019-12-02 16:41:56 -03:00
Georges Basile Stavracas Neto 646a002826 project: Add libhandy dependency 2019-12-02 16:41:56 -03:00
Georges Basile Stavracas Neto b772349c3f Move UI files to src/
Keep it in sync with what To Do and Settings do.
2019-12-02 16:41:56 -03:00
Georges Basile Stavracas Neto 371fdbc881 Introduce new source discoverer
The new source discoverer is a complete overhaul of
the current code. It is async-only, correctly threaded,
and easier to maintain.

A major new feature of this web source discoverer is
that it now pings the server to see if the URL feeds
us back with an iCalendar file.

Furthermore, it continues to use E-D-S WebDAV discovery
functions as a fallback mechanism.

Fixes #380
2019-07-13 16:04:30 -03:00
Georges Basile Stavracas Neto 9cc07c5786 calendar-management: Introduce GcalEditCalendarPage
This is the second of the three original pages we used to have.
This one edits calendars.
2019-06-24 21:32:58 -03:00
Georges Basile Stavracas Neto db4613ae71 new-calendar-page: Add stub page 2019-06-24 21:32:58 -03:00
Georges Basile Stavracas Neto ad017d1709 calendars-page: Introduce GcalCalendarsPage
A page dedicated to show a list of calendars and add
new ones. Other pages will come in soon.
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 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 f55b4531ef project: Move ui-related classes to gui/ 2019-05-04 12:14:05 -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 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 1a5ff545a2 project: Move a few classes to core/ 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 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 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 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 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 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 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
Iñigo Martínez 11fb4717a2 tests: Fix GCalManager test
The unit test that checks GCalManager test fails due to missing
schemas.

This patch allows schemas to be compiled in the build tree and also
sets the environment variables so tests can found them and run
properly.

Additional code and testing from Mohammed Sadiq <sadiq@sadiqpk.org>
2018-02-11 23:17:12 +00:00
Georges Basile Stavracas Neto c7f6fd19c4 project: Move enums to gcal-enums.h 2018-01-28 00:44:36 -02:00
Georges Basile Stavracas Neto c4ca9cac3c project: Rename GcalSearchView to GcalSearchPopover
This was never a view, but a popover.
2018-01-27 23:02:36 -02:00
Georges Basile Stavracas Neto 499db7bfd4 weather: Rework weather management
This commit brings a few changes that I was too lazy to
split in different commits:

 * Remove a few useless arguments in the GcalWeatherService API
 * Move the weather management code from GcalWindow to GcalWeatherSettings
 * A few style changes
2018-01-27 20:36:29 -02:00
Georges Basile Stavracas Neto ab20672aeb weather: Move to a subdirectory 2018-01-27 15:24:32 -02:00
Florian Brosch 83d6eaef9a weather: Introduce a proper timer for forecasts. 2017-12-11 21:32:01 -02:00
Florian Brosch 83bec27ad5 Initial weather service.
This commit introduces two new classes:

 1. GCalWeatherService
 2. GCalWeatherInfo

GcalWeatherservice picks-up the current location and periodically
fetches weather reports represented by GcalWeatherInfo.

The weather part is not complete yet.
2017-12-11 21:23:19 -02:00
Georges Basile Stavracas Neto eff50668d4 month-view: introduce new overflow popover window
This ~almost~ implements a perfectly semantic transition (which
is kinda impossible now).
2017-11-15 02:03:26 -02:00
Georges Basile Stavracas Neto e59910f0e9 month-view: rewrite was a template widget 2017-10-06 20:32:00 -03:00