Georges Basile Stavracas Neto
9787f02e5b
views: Implement GcalTimelineSubscriber
2020-04-01 21:06:51 -03:00
Georges Basile Stavracas Neto
6bcf1a3705
manager: Add GcalTimelineSubscribers to GcalTimeline
...
Instead of subscribing to the ECalDataModel's API, use the
new API.
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
94413c26b1
event: Remove event cache
...
It's for the best. The cache was being more
problematic than it was worth it.
2020-04-01 21:06:51 -03:00
Georges Basile Stavracas Neto
92f331cd9f
range-tree: Add API to remove data
...
It'll be useful to remove entries without knowing their
range.
2020-04-01 21:06:50 -03:00
Georges Basile Stavracas Neto
ec0c17f6fb
range-tree: Support destroy function
2020-04-01 21:06:50 -03:00
Georges Basile Stavracas Neto
78248bec5e
calendar: Mark all properties as G_PARAM_EXPLICIT_NOTIFY
...
We explicitly notify them all, so mark them as such. Otherwise,
GLib notifies it when changing these properties through bindings
and such.
2020-04-01 21:06:50 -03:00
Georges Basile Stavracas Neto
90597ca128
calendar: Only notify visibility when it changes
...
Otherwise we get weird double-notify issues from it.
2020-04-01 21:06:50 -03:00
Georges Basile Stavracas Neto
f182813e49
event: Protect event cache with a lock
...
We'll be creating events from multiple threads soon,
so make sure the event cache is protected enough.
2020-04-01 21:06:50 -03:00
Georges Basile Stavracas Neto
ae2a6b9d21
range-tree: Switch to use GDateTime
...
Using raw integers forces us to select a pre-defined
start and end ranges for the timeline. Since we want
to reuse this data structure on GcalTimeline, make it
a bit more useful.
2020-04-01 21:06:50 -03:00
Georges Basile Stavracas Neto
047078d67d
build: Move foward typedefs to gcal-types.h
...
Standard practice; gcal-types.h is meant to only be
used by header files.
2020-04-01 21:06:50 -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
f3a9fcf8f1
contrib: Fix and simplify range checks
2020-04-01 21:06:50 -03:00
Georges Basile Stavracas Neto
9f0c20fe24
flatpak: Build EDS without libcanberra
2020-04-01 22:52:39 +00:00
Georges Basile Stavracas Neto
0cb9645076
Bump 3.37 version
2020-03-17 00:26:25 -03:00
Georges Basile Stavracas Neto
fb2830bbc2
3.36.0
2020-03-06 22:34:50 -03:00
Georges Basile Stavracas Neto
22c9570f16
3.35.92
2020-02-29 15:19:34 -03:00
Georges Basile Stavracas Neto
bca17d78bb
flatpak: Upgrade to libical 3.0.7
2020-02-04 18:45:52 -03:00
Georges Basile Stavracas Neto
2be799d78d
edit-dialog: Make the new alarm row have a label
...
With the introduction of the new event editor, Calendar
saw it receive sections of editable properties of the
events. One of these sections is the "Reminders" section,
that contains the reminders (also called alarms) of an
event.
However, this section's row to add a new alarm does not
match the proposed mockups for it. It currently has a
combo box that shows the popover with selectable reminder
times, instead of being a clickable row.
Make it a clickable listbox row, and show the alarms popover
when clicked.
https://gitlab.gnome.org/GNOME/gnome-calendar/issues/502
2019-12-06 16:37:12 -03:00
Georges Basile Stavracas Neto
866cdabe9c
edit-dialog: Move the all day switch to the top of the list
...
As nitpicked by Sam.
2019-12-02 16:41:56 -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
e871486766
edit-dialog: Split recurrency widgets in different rows
2019-12-02 16:41:56 -03:00
Georges Basile Stavracas Neto
23e1544a25
edit-dialog: Simplify notes widgetry
...
Remove an intemediary GtkBox that is now not necessary anymore.
2019-12-02 16:41:56 -03:00
Georges Basile Stavracas Neto
4a1c5b9cc6
edit-dialog: Split Reminders to its own section
2019-12-02 16:41:56 -03:00
Georges Basile Stavracas Neto
ce47cfea86
time-selector: Make it a GtkBox directly
2019-12-02 16:41:56 -03:00
Georges Basile Stavracas Neto
34eb3a2343
utils: Use GDate to compare dates
2019-12-02 16:41:56 -03:00
Georges Basile Stavracas Neto
3896aac734
edit-dialog: Make date & time rows expandable
...
Add a human-readable label and move the widgets to the expandable
section.
2019-12-02 16:41:56 -03:00
Georges Basile Stavracas Neto
948447d8bf
edit-dialog: Turn the All Day check a switch
2019-12-02 16:41:56 -03:00
Georges Basile Stavracas Neto
d14175895a
date-selector: Reduce width
2019-12-02 16:41:56 -03:00
Georges Basile Stavracas Neto
d5529f1782
edit-dialog: Move widgets to lisbox rows
2019-12-02 16:41:56 -03:00
Georges Basile Stavracas Neto
bb310421c1
edit-dialog: Make it a HdyDialog subclass
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
d843885fc0
data: Remove unused menu.ui file
2019-12-02 16:41:56 -03:00
Georges Basile Stavracas Neto
15a76a636c
3.35.2
2019-11-25 11:30:44 -03:00
Georges Basile Stavracas Neto
58974cb7e2
manager: Only remove connected calendars
...
The "source-removed" signal can pass any kind of source,
including source collections that even have the calendar
extension, but are not connected.
2019-10-09 13:02:35 -03:00
Georges Basile Stavracas Neto
cafd17627c
year-view: Trivial code cleanup
2019-10-09 12:37:01 -03:00
Georges Basile Stavracas Neto
1c39e501f6
calendar: Always initialize color
2019-10-09 12:37:01 -03:00
Georges Basile Stavracas Neto
262cd40eec
manager: Instrument removing calendars
2019-10-09 12:37:01 -03:00
Georges Basile Stavracas Neto
1308e33f1d
manager: Always return if calendar creation fails
...
This is an embarrassing mistake: when an error is propagated,
we always need to return! The error matching should only be
used for deciding whether to warn or not.
https://gitlab.gnome.org/GNOME/gnome-calendar/issues/470
https://gitlab.gnome.org/GNOME/gnome-calendar/issues/264
2019-10-09 12:37:01 -03:00
Georges Basile Stavracas Neto
357ec18a0a
Fix GcalContext management
...
GObject automatically notifies when passing
properties as part of g_object_new(). This
happens after the instance is created, thus
after constructed().
By passing G_PARAM_EXPLICIT_NOTIFY, we avoid
this behavior. However, we are still notifying
PROP_CONTEXT in GcalWindow. Removing this other
notify fixes the crashes related to GcalContext.
https://gitlab.gnome.org/GNOME/gnome-calendar/issues/417
2019-10-04 20:54:05 -03:00
Georges Basile Stavracas Neto
a0403b0b3e
search-model: Wait for results before returning
...
Dazzle is very sensitive to returning empty search results,
and ends up flickering when we pass a search model that is
not yet populated.
Wait for a few results, or for 150ms, before returning the
model.
https://gitlab.gnome.org/GNOME/gnome-calendar/issues/468
2019-10-04 01:55:08 -03:00
Georges Basile Stavracas Neto
44092da60b
edit-dialog: Use GtkCalendar internally
...
Instead of tracking the ESource, which is an extra
complication on top of this messy code.
2019-10-04 00:58:41 -03:00
Georges Basile Stavracas Neto
970cc1fca5
application: Remove -d as short form of --debug
...
Both --debug and --date had their short form -d, causing
problems. Let's make -d stand for --date, since --debug
is more of a development tool.
https://gitlab.gnome.org/GNOME/gnome-calendar/issues/456
2019-10-03 20:19:40 -03:00
Georges Basile Stavracas Neto
5d87a8459d
icons: Simplify icon management
2019-09-30 13:18:41 -03:00
Georges Basile Stavracas Neto
01da00b3fa
flatpak: Actually drop the suffix
...
I've been told they can be dropped with the nightly icon!
2019-09-30 13:14:29 -03:00
Georges Basile Stavracas Neto
1ba204540b
flatpak: Switch to (Nightly) suffix
2019-09-30 13:12:34 -03:00
Georges Basile Stavracas Neto
ec26156344
Revert "ci: Remove collon from job names"
...
We're actually not hitting that bug.
2019-09-30 12:53:21 -03:00
Georges Basile Stavracas Neto
bbbd89b17a
ci: Remove collon from job names
...
Looks like we're hitting https://gitlab.com/gitlab-com/support-forum/issues/2597
2019-09-30 12:50:36 -03:00
Georges Basile Stavracas Neto
86ce0b7c80
ci: Remove double deploy stages
2019-09-30 12:27:38 -03:00
Georges Basile Stavracas Neto
d91984ed54
ci: Actually deploy Flatpaks
2019-09-30 12:21:16 -03:00
Georges Basile Stavracas Neto
c3fb16bb1b
Reimplement Flatpak publishing
2019-09-30 12:19:06 -03:00
Georges Basile Stavracas Neto
151c47a8b3
Bump 3.35.0
2019-09-30 12:03:36 -03:00
Georges Basile Stavracas Neto
5e4bbe446f
utils: Pass GcalCalendar to ask_recurrence_modification_type()
...
The method ask_recurrence_modification_type() currently
receives an ESource, and tried to fetch the ECalClient
from the ESource by using g_object_get_data().
However, since we moved to GcalCalendar, we do not set
this data field in ESource.
Receive a GcalCalendar instead, and use the appropriate
function gcal_calendar_get_client() instead.
2019-09-14 21:38:53 -03:00
Georges Basile Stavracas Neto
9644c30eee
date-time-utils: Fix weekday calculation
...
GNOME Calendar needs to deal with two different
weekday ranges:
1. Sunday → 0 ... Saturday → 6
2. Monday → 1 ... Sunday → 7 (used by GDateTime)
When converting (2) into (1), the correct calculation
is `weekday % 7`.
However, gcal_date_time_get_start_of_week() was doing
`weekday - 1` instead.
Fix it and do the correct calculation instead.
https://gitlab.gnome.org/GNOME/gnome-calendar/issues/451
2019-09-14 11:14:01 -03:00
Georges Basile Stavracas Neto
450aa5e158
log: Remove g_get_current_time
2019-09-14 10:46:14 -03:00
Georges Basile Stavracas Neto
e39bd95c87
log: Use g_autofree
2019-09-14 10:39:38 -03:00
Georges Basile Stavracas Neto
43f5de8a0c
main: Trivial style cleanup
2019-09-13 18:53:13 -03:00
Georges Basile Stavracas Neto
22596db1d1
window: Readd <Ctrl>n shortcut
...
https://gitlab.gnome.org/GNOME/gnome-calendar/issues/383
2019-09-13 18:49:05 -03:00
Georges Basile Stavracas Neto
5b49c4fc46
3.34.0
2019-09-09 12:31:13 -03:00
Georges Basile Stavracas Neto
666679f123
year-view: Remove stray message
2019-08-25 17:57:48 +03:00
Georges Basile Stavracas Neto
f81320bdd1
3.33.4
2019-07-16 21:30:31 -03:00
Georges Basile Stavracas Neto
75d24803ed
tests: Temporarily disable discoverer test
2019-07-16 21:30:31 -03:00
Georges Basile Stavracas Neto
00e883ca63
year-view: Optimize sidebar update
...
Use the cached events to fill the sidebar, instead of
querying e-d-s every time we need an update.
2019-07-13 20:44:27 -03:00
Georges Basile Stavracas Neto
9aec1c097d
new-calendar-page: Properly cleanup sources
...
We can't control a widget's property at destruction time.
Cleanup the sources directly.
2019-07-13 20:07:30 -03:00
Georges Basile Stavracas Neto
b49486d0f9
calendar: Disconnect from the visible signals as well
...
Missed from the initial implementation.
2019-07-13 19:54:47 -03:00
Georges Basile Stavracas Neto
07acf540ae
calendar: Disconnect from the correct object
...
The name changed signal comes from the ESource, not
the extension.
2019-07-13 19:54:17 -03:00
Georges Basile Stavracas Neto
bb2a1321be
calendar: Use gulong for signal handlers
...
They are unsigned longs, not unsigned ints.
2019-07-13 19:52:53 -03:00
Georges Basile Stavracas Neto
1d6dee8bbb
manager: Avoid reentrancy
...
While deleting the calendar, we may run into a situation
where the GcalCalendar instance is destroyed before the
GcalManager:calendar-removed signal is emitted, causing
us to emit the signal with a destroyed object.
Prevent that by increasing the ref count before emiting
the signal.
2019-07-13 19:51:02 -03:00
Georges Basile Stavracas Neto
f0060b7699
new-calendar-page: Use the new discoverer
...
The new discoverer is a vast improvement over the code
that use used to have here. Right now, we fail to use
Soup to detect the URL, and that's been reported multiple
times already.
Use the new web discoverer code, and adjust the UI to
match the new code. Namely, use a GtkPopover to show
the credentials widget.
Fixes #380
2019-07-13 16:04:31 -03:00
Georges Basile Stavracas Neto
ff0644ad76
utils: Add auxiliary function to format display names
...
This will be used by the web source discoverer to format
any URLs that contain a file name in their path.
2019-07-13 16:04:31 -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
2aa9bc1f61
tests: Add calendar server and tests
...
This will be used to write a propert test suite
for the new calendar discoverer code.
2019-07-13 16:04:30 -03:00
Georges Basile Stavracas Neto
54690e285a
build: Improve test generation
2019-07-13 16:04:30 -03:00
Georges Basile Stavracas Neto
02a5eca945
weather-service: Reorganize file
2019-07-09 21:47:14 -03:00
Georges Basile Stavracas Neto
8a98c697c4
week-header: Trivial style cleanup
2019-07-09 21:24:58 -03:00
Georges Basile Stavracas Neto
c62bb2eb95
flatpak: Reorder some sources
...
Small cosmetic change.
2019-07-09 21:24:58 -03:00
Georges Basile Stavracas Neto
0b4119367a
month-view: Use last cell to calculate multday event end
...
Instead of assuming all cells have the same width, use the last
cell to figure out the width of the event with the traditional:
event width = end.x2 - start.x1
event width = (end.x1 + end.width) - start.x1
https://gitlab.gnome.org/GNOME/gnome-calendar/issues/413
2019-06-26 11:04:39 -03:00
Georges Basile Stavracas Neto
33fc75ca01
calendar-management-page: Pass GcalCalendar
2019-06-25 14:16:47 -03:00
Georges Basile Stavracas Neto
47bed7bc77
new-calendar-page: Restore opening Online Accounts panel from label
2019-06-25 12:51:14 -03:00
Georges Basile Stavracas Neto
a95097f594
calendar-management-dialog: Remove unused signal handler
2019-06-25 12:50:48 -03:00
Georges Basile Stavracas Neto
4a7536328e
new-calendar-page: Add more file filters
2019-06-25 11:42:11 -03:00
Georges Basile Stavracas Neto
fcfa403902
new-calendar-page: Reenable file filter
...
We were blocked on a GtkBuilder issue [1].
[1] https://gitlab.gnome.org/GNOME/gtk/issues/1973
2019-06-25 11:39:06 -03:00
Georges Basile Stavracas Neto
0f28e3fa53
new-calendar-page: Implement new designs
...
This looks soooooo much better =)
https://gitlab.gnome.org/GNOME/gnome-calendar/issues/388
2019-06-24 21:33:00 -03:00
Georges Basile Stavracas Neto
7da3197186
calendars-page: Remove previously deleted calendar if any
...
It is possible to delete a calendar, and immediately delete another.
When that happens, both should be deleted.
2019-06-24 21:33:00 -03:00
Georges Basile Stavracas Neto
39ebc5457a
calendars-page: Fix callback parameters
2019-06-24 21:33:00 -03:00
Georges Basile Stavracas Neto
e53a7532f2
calendars-page: Use the passed calendar for deletion
2019-06-24 21:33:00 -03:00
Georges Basile Stavracas Neto
78680d9b5b
search-engine: Fix wrong debug message
2019-06-24 21:32:59 -03:00
Georges Basile Stavracas Neto
10e10f6605
edit-calendar-page: Silence warning
2019-06-24 21:32:59 -03:00
Georges Basile Stavracas Neto
170347b016
calendar-management-dialog: Trivial style cleanup
2019-06-24 21:32:59 -03:00
Georges Basile Stavracas Neto
efa29b19d5
calendars-page: Use switch to toggle visibility
2019-06-24 21:32:59 -03:00
Georges Basile Stavracas Neto
c092445363
calendar-management: Shuffle code around and cleanup
2019-06-24 21:32:59 -03:00
Georges Basile Stavracas Neto
f7df717e1b
edit-calendar-page: Add back button
...
And remove the remaining code (and a few extras) from the
calendar management dialog.
2019-06-24 21:32:59 -03:00
Georges Basile Stavracas Neto
a2d15697d9
log: Increase prefix width
...
GcalCalendarManagementDialog is too wide and breaks the log
layout, so increase the spacing to fit it.
2019-06-24 21:32:58 -03:00
Georges Basile Stavracas Neto
5e9f7bf01e
new-calendar-page: Add "Cancel" and "Add" header buttons
2019-06-24 21:32:58 -03:00
Georges Basile Stavracas Neto
804479ebcc
calendar-management-page: Add helper to retrieve titlebar
2019-06-24 21:32:58 -03:00
Georges Basile Stavracas Neto
e49ed1ed67
calendar-management: Move code to GcalNewCalendarPage
2019-06-24 21:32:58 -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
375b9fc53c
calendar-management-dialog: Response to page switch
2019-06-24 21:32:57 -03:00