Georges Basile Stavracas Neto
ab9b5b218a
41.0
2021-09-17 19:20:45 -03:00
Georges Basile Stavracas Neto
04c2f99028
Post-release version bump
2021-09-05 18:47:44 -03:00
Georges Basile Stavracas Neto
70d4124c88
41.rc1
2021-09-05 18:35:52 -03:00
Georges Basile Stavracas Neto
8f715c19b5
application: Move CSS providers to GcalWindow
2021-09-05 18:34:32 -03:00
Georges Basile Stavracas Neto
229b6f7add
window: Silence a compilar warning
2021-09-05 18:07:27 -03:00
Georges Basile Stavracas Neto
52ef8ff6bf
application: Only add CSS providers once
...
Instead of adding the color CSS provider over and over on
every activation, only add it once. Also make sure to start
the manager after doing that.
2021-08-19 14:26:06 -03:00
Georges Basile Stavracas Neto
7fd8babdda
application: Activate on open
...
Otherwise, there might be no window available.
2021-08-16 19:48:09 -03:00
Georges Basile Stavracas Neto
7bf8d8851b
application: Add weak ref to window
2021-08-16 19:47:54 -03:00
Georges Basile Stavracas Neto
440bb39498
window: Add weak pointer to import dialog
...
Otherwise we crash the second time it's opened.
2021-08-16 19:07:35 -03:00
Georges Basile Stavracas Neto
9efbef347d
flatpak: Shrink permissions
2021-08-16 19:05:55 -03:00
Georges Basile Stavracas Neto
7bbe8ddf41
project: Handle %U in the desktop file
2021-08-16 18:55:58 -03:00
Georges Basile Stavracas Neto
2dd70d5496
Post-release version bump
2021-08-16 18:49:11 -03:00
Georges Basile Stavracas Neto
4d9f6618f0
41.beta
2021-08-16 18:41:26 -03:00
Georges Basile Stavracas Neto
febfe599ff
Revert "Don't claim to support opening ICS files"
...
This reverts commit b378c672df .
We now support it.
2021-08-16 18:26:21 -03:00
Georges Basile Stavracas Neto
e689f18b1e
Add file importing dialog
...
Add a file importing dialog, and pass through files received from command
line.
Fixes https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/5
2021-08-16 18:26:21 -03:00
Georges Basile Stavracas Neto
a080d8ec0f
utils: Protect against NULL description
2021-08-16 15:27:19 -03:00
Georges Basile Stavracas Neto
e90c67a57d
manager: Ensure default calendar property is always set
2021-08-16 15:26:59 -03:00
Georges Basile Stavracas Neto
aec1d8d5cd
calendar-page: Add rounded corners to listbox
2021-08-06 17:37:40 -03:00
Georges Basile Stavracas Neto
8c71c60e8d
calendar-management: Switch to HdyWindow
...
Make GcalCalendarManagementDialog an HdyWindow subclass,
and adapt the widgetry to work with the new parent class.
Use HdyHeaderBar everywhere.
2021-08-06 17:32:58 -03:00
Georges Basile Stavracas Neto
10946539c8
41.alpha
2021-07-29 20:07:27 -03:00
Georges Basile Stavracas Neto
68160348dc
Introduce GcalEventPopover
...
GcalEventPopover gives a preview of the event, and handy access
to the event description and information. It also allows easily
joining meetings if any one if available.
The list of supported meeting URLs is small now, but I hope
more people will contribute as we go.
It is also possible to edit the event through an edit button.
2021-06-27 18:45:12 -03:00
Georges Basile Stavracas Neto
01ee4a2b49
utils: Add Google extractor
...
Google events have an exotic section at the end of their event
descriptions, we can parse that to find some information like
the meeting URL.
2021-06-27 18:36:05 -03:00
Georges Basile Stavracas Neto
eaa4ad1a6e
Begin 41 development cycle
2021-06-21 18:36:56 -03:00
Georges Basile Stavracas Neto
7079cf2a80
quick-add-popover: Properly localize string arrays
...
N_() only marks strings for translation, it is necessary to call gettext()
when using the strings.
2021-06-21 18:34:53 -03:00
Georges Basile Stavracas Neto
bdce9b29ba
quick-add-popover: Don't leak GDateTime
...
Not sure how this went through.
2021-06-21 18:34:52 -03:00
Georges Basile Stavracas Neto
a7d40352b7
quick-add-popover: Mark string arrays const
...
As they really are.
2021-06-21 18:34:50 -03:00
Georges Basile Stavracas Neto
f2e62576c4
40.2
2021-06-03 16:22:38 -03:00
Georges Basile Stavracas Neto
c3211a888d
40.1
2021-05-11 16:58:41 -03:00
Georges Basile Stavracas Neto
62749c165a
40.0
2021-03-22 15:54:41 -03:00
Georges Basile Stavracas Neto
9a636f33e5
tests: Disable unauthorized test again
...
Needs more love.
Closes https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/700
2021-03-22 15:54:41 -03:00
Georges Basile Stavracas Neto
c37a9ef9ff
Post-release version bump
2021-03-12 11:13:08 -03:00
Georges Basile Stavracas Neto
2465b9e7be
40.rc
2021-03-12 11:06:59 -03:00
Georges Basile Stavracas Neto
46c225e07c
build: Bump GLib dependency
...
We depend on a newer version now.
2021-03-12 11:06:07 -03:00
Georges Basile Stavracas Neto
d38c1f2f41
tests: Enable unauthorized discovery test
...
This one is actually implemented, what's not implemented is the WebDAV one.
2021-03-12 11:03:26 -03:00
Georges Basile Stavracas Neto
d1a0dbd8f5
event: Switch to g_time_zone_new_identifier()
...
And add the relevant NULL checks here.
2021-02-26 19:26:49 -03:00
Georges Basile Stavracas Neto
27c6d2c017
time-zone-monitor: Switch to g_time_zone_new_identifier()
...
We don't even need to check for NULL here because if the system timezone
is invalid, we're too screwed to have a fallback path anyway.
2021-02-26 19:26:49 -03:00
Georges Basile Stavracas Neto
64fe7e543c
utils/date-time-utils: Use g_time_zone_new_identifier()
...
g_time_zone_new() is deprecated in favor of it, so use it.
2021-02-26 19:26:49 -03:00
Georges Basile Stavracas Neto
9800fbec4b
utils/date-time-utils: Trivial style cleanup
2021-02-26 19:26:49 -03:00
Georges Basile Stavracas Neto
97d127c9db
Post-release version bump
2021-02-26 19:26:49 -03:00
Georges Basile Stavracas Neto
232d7e725e
40.beta
2021-02-14 13:53:18 -03:00
Georges Basile Stavracas Neto
efe60e10d1
notes-section: Remove scrolled window
...
The entire dialog is wrapped under a scrolled window, it
doesn't make much sense to have yet another one for the
notes. This is a relif of times when the edit dialog didn't
have a scrolled window.
Remove the scrolled window of the notes section.
2020-11-10 15:00:59 +00:00
Georges Basile Stavracas Neto
7a5580980b
summary-section: Use expandable entries
...
Now the entry grows as much as possible to accomodate the
text.
Fixes https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/153
2020-11-10 15:00:59 +00:00
Georges Basile Stavracas Neto
b4fedbbba5
Introduce GcalExpandableEntry
...
This is simply a copy-past of GNOME To Do's GtdExpandableEntry.
2020-11-10 15:00:59 +00:00
Georges Basile Stavracas Neto
d41af9f8a0
summary-section: Set max-width-char on entries
...
We want them to grow a bit more, and not let the expansion
of the title label detemine the width. Allow the location
and title entries to expand, and set a maximum width char
to 30 on them.
See https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/554
2020-11-10 15:00:59 +00:00
Georges Basile Stavracas Neto
a146b9050d
project: Silence CI warnings
2020-10-31 16:55:06 -03:00
Georges Basile Stavracas Neto
06f0c4d011
schedule-section: Make date & time labels dim
...
They should have been dim labels since the beginning, this was an
oversight.
2020-10-31 16:15:54 -03:00
Georges Basile Stavracas Neto
b481b40381
schedule-section: Mark date & time labels as action children
...
Otherwise they appear inside the expanded section, and not outside like
we wanted. This was a regression from the libhandy 1.0 port.
2020-10-31 16:15:54 -03:00
Georges Basile Stavracas Neto
b725d25b86
schedule-section: Remove useless labels
...
They're placeholders, and always overriden. Remove them.
2020-10-31 16:15:54 -03:00
Georges Basile Stavracas Neto
968ae16e08
window: Use leaf type for GcalEventEditorDialog
...
We're casting either way, to at least let's cast to something
that requires fewer characters.
2020-10-31 16:15:54 -03:00
Georges Basile Stavracas Neto
4c24103bae
event-editor-dialog: Make 'event' property read-only
...
It is not meant to be set externally.
2020-10-31 16:15:54 -03:00
Georges Basile Stavracas Neto
b0cdca78b1
event-editor-dialog: Unify set_event and set_event_is_new
...
The split is annoying, and a relic of time.
2020-10-31 16:15:54 -03:00
Georges Basile Stavracas Neto
7e10c6d451
event-editor-dialog: Stop using response type
...
Using dialog responses to communicate intent to GcalWindow was always
a hack, and as the code is cleaned, it's getting increasingly annoying.
Replace this with a proper 'remove-event' signal ('delete-event' would
conflict with the equally named GTK signal), remove the custom response
types, and cleanup the code.
2020-10-31 16:15:54 -03:00
Georges Basile Stavracas Neto
1480d7ac70
event-editor-dialog: Code cleanup
...
Use g_autofoo when possible; avoid allocating new strings when fetching
from GVariant; sort and reorder fields.
2020-10-31 16:15:54 -03:00
Georges Basile Stavracas Neto
c098dc7aa7
event-editor-dialog: Store sections in an array
...
It allows us to simplify some boring copy-pasted code.
2020-10-31 16:15:54 -03:00
Georges Basile Stavracas Neto
3a9f9009a4
event-editor-dialog: Remove dead code
...
These weren't being used anywhere.
2020-10-31 16:15:54 -03:00
Georges Basile Stavracas Neto
0f1dc88030
event-editor-dialog: Move notes to GcalNotesSection
2020-10-31 16:15:49 -03:00
Georges Basile Stavracas Neto
73cbe1f39c
event-editor-dialog: Move summary to GcalSummarySection
2020-10-31 13:30:56 -03:00
Georges Basile Stavracas Neto
46aee00f65
event-editor-dialog: More schedule to GcalScheduleSection
2020-10-31 13:30:56 -03:00
Georges Basile Stavracas Neto
997f6bb671
event-editor-dialog: Move reminders to GcalRemindersSection
...
Move all widgetry, logic, and setup to GcalReminderSection.
2020-10-31 13:30:56 -03:00
Georges Basile Stavracas Neto
a839a0d860
Introduce GcalEventEditorSection
...
This is the interface to represent sections of the event editor
dialog.
2020-10-31 13:30:56 -03:00
Georges Basile Stavracas Neto
f9c466a1be
event-editor-dialog: Notify context when setting property
...
The 'context' property is set a explicit notify property, meaning we have
to manually notify it when setting it.
2020-10-31 13:30:56 -03:00
Georges Basile Stavracas Neto
b4029b0c23
edit-dialog: Rename to GcalEventEditorDialog
2020-10-31 13:30:56 -03:00
Georges Basile Stavracas Neto
c73dc191db
project: Move GcalEditDialog and friends to src/gui/event-editor/
2020-10-30 15:13:35 -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
87ce5e6d49
project: Move css-code.h to src/gui/
...
It is only used there.
2020-10-30 13:47:38 -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
28be1e858d
build: Use meson summary instead of hardocded string
2020-09-16 10:28:33 -03:00
Georges Basile Stavracas Neto
5d858f1905
40.alpha
2020-09-16 10:28:32 -03:00
Georges Basile Stavracas Neto
dc06fa92e2
3.38.0
2020-09-12 12:49:29 -03:00
Georges Basile Stavracas Neto
a202818c54
Update screenshots
2020-09-12 12:47:23 -03:00
Georges Basile Stavracas Neto
5f381b01f2
3.37.92
2020-09-05 13:51:27 -03:00
Georges Basile Stavracas Neto
158c65db4b
event: Trivial cleanup
...
We can avoid a lookup by simply checking if the alarm id
isn't NULL.
2020-06-17 21:24:36 -03:00
Georges Basile Stavracas Neto
4b6a559924
manager: Assert that cloning was successful
...
Cloning an ECalComponent can fail, and we need to be able to
catch these failures.
Assert that cloning was successful before procceeding with
the move.
2020-06-17 21:24:36 -03:00
Georges Basile Stavracas Neto
1bb00b8989
edit-dialog: Commit sequence after poking at component
...
GcalEditDialog code pre-dates GcalEvent and apply changes directly
to the underlying ECalComponent. However, it doesn't commit the
sequence after doing so, which opens the door for doom.
Commit the component sequence after changing the recurrence data.
2020-06-17 21:24:36 -03:00
Georges Basile Stavracas Neto
c1ec9e734b
event: Commit component more often
...
GcalEvent was mising many points where committing the component
is required. Commit the component more often.
https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/620
2020-06-17 21:24:36 -03:00
Georges Basile Stavracas Neto
53bc8d15a7
edit-dialog: Fake a cancel response when moving
...
When moving an event to another calendar, the GcalEvent instance
that is being held by GcalEditDialog is not valid one. On the other
hand, moving an event shouldn't trigger an update either.
For now, simply fake a GTK_RESPONSE_CANCEL. In the future, it'll
be better to move most of the GcalWindow code to GcalEventDialog
itself.
2020-06-17 21:24:36 -03:00
Georges Basile Stavracas Neto
d5ed8626ca
edit-dialog: Factor out update code to a separate function
...
To simplify readability of the response function, move some of
its code to an auxiliary function.
2020-06-17 21:24:36 -03:00
Georges Basile Stavracas Neto
4b1e303448
year-view: Clone and modify new event when dropping
...
Pretty much the same rationale and implementation of the previous
commit.
2020-06-15 13:32:02 -03:00
Georges Basile Stavracas Neto
ed7121c995
month-cell: Clone and modify new event when dropping
...
Instead of modifying the original event, create a new event
from it and modify this new event instead. After updating it
through gcal_manager_update_event(), GcalMonthView will remove
the old instance and add the new one anyway.
2020-06-15 13:26:51 -03:00
Georges Basile Stavracas Neto
cab7d5907f
month-cell: Instrument drop function
...
It's useful for debugging DnD.
2020-06-15 13:26:12 -03:00
Georges Basile Stavracas Neto
8243e0b8ed
edit-dialog: Edit cloned event
...
Edit a cloned event instead of the actual event, so that it
can preserve the original event's integrity. This allows for
a major edit dialog cleanup in the future.
2020-06-15 13:19:38 -03:00
Georges Basile Stavracas Neto
dbd81f401c
event: Add API to clone events
...
This will be useful for updating events without having
to keep track of the event states.
Add the new API, and also a unit test.
2020-06-15 13:07:48 -03:00
Georges Basile Stavracas Neto
d18441204f
tests: Trivial cleanup
2020-06-15 13:07:37 -03:00
Georges Basile Stavracas Neto
e5986a05c1
calendar-monitor: Use inclusive end date for ECalClientView
...
May prevent a few events from being transmitted.
2020-04-16 16:31:36 -03:00
Georges Basile Stavracas Neto
0c510d6709
month-view: Ignore events outside current range
...
The month view looks specially awful when switching between
dates, since it doesn't implicitly filter the ranges it's
displaying.
Ignore events outside the current month range, since they'll
be removed anyway by the timeline.
2020-04-16 16:16:49 -03:00
Georges Basile Stavracas Neto
d2da70fb28
range: Properly compare ranges
...
The behavior of gcal_range_compare(), and the 'position' argument
of gcal_range_calculate_overlap(), should be the same. However,
because we were comparing the end dates in the wrong order, they
didn't match.
Fix that by properly comparing the end of the ranges.
2020-04-16 16:15:34 -03:00
Georges Basile Stavracas Neto
a790f30176
timeline: Add sentinel events to the queue
...
Moving to have one subscriber per event made us face an interesting
problem: when removing an event, there may be no subscribers that
contain this event, in which case we never queue any REMOVE_EVENT
and the range tree isn't updated.
Add sentinel events (that update the range tree) and subscriber events
(that update subscribers, but not the range tree).
2020-04-16 16:10:33 -03:00
Georges Basile Stavracas Neto
494bd187d8
timeline: Cancel additions and removals
...
When we add an event to the queue, and later remove it, if the
event is still in the queue, we can just cancel both out and
save the timeline some processing time.
2020-04-16 15:11:53 -03:00
Georges Basile Stavracas Neto
61815ddccf
timeline: Trivial code cleanup
2020-04-16 13:47:09 -03:00
Georges Basile Stavracas Neto
381ae0046a
timeline: Protect against NULL arrays
2020-04-15 20:49:47 -03:00
Georges Basile Stavracas Neto
3073b6b6d8
timeline: Also queue remove events
2020-04-15 20:35:17 -03:00
Georges Basile Stavracas Neto
b5cdc0bd38
timeline: Only diff when ranges intersect
...
When the old and the new range of the subscribers don't
overlap entirely, we can't use the regular diff algorithm.
It fails quite spectacularly.
Do a full cleanup when ranges don't overlap.
2020-04-15 20:35:04 -03:00
Georges Basile Stavracas Neto
a1a4804315
timeline: Only modify event tree once
...
Now that we queue one event per subscriber, we need to
make sure to update the range tree only once.
2020-04-15 19:16:00 -03:00
Georges Basile Stavracas Neto
678d0acc00
timeline: Remove subscriber from range tree as well
...
update_range() does not remove any subscriber. They must be
removed manually.
2020-04-15 18:49:36 -03:00
Georges Basile Stavracas Neto
e9812b2f28
timeline: Don't try to use removed subscribers
...
Because the timeline is essentially asynchronous, it may
try and process events after their subscribers were removed.
Protect against that.
Fixes https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/576
2020-04-15 18:49:36 -03:00
Georges Basile Stavracas Neto
db668a0b90
timeline: Queue one event per subscriber
...
Right now, GcalTimeline queues one event per N subscribers. Queue
one event per subscriber instead.
2020-04-15 18:49:36 -03:00
Georges Basile Stavracas Neto
98e6ac28e7
event: Remove unused method
...
Comparing ranges is so easy now that we don't need this
helper anymore.
2020-04-14 19:08:06 +00:00
Georges Basile Stavracas Neto
fd32492053
timeline, calendar-monitor: Remove useless event range checks
...
GcalRange is now smart enough to compare correctly with other ranges.
2020-04-14 19:08:06 +00:00
Georges Basile Stavracas Neto
d4a6cd0e61
timeline: Process events in batches
...
A batch size of 5 doesn't seem to impact the mainloop
any more than a batch of size 1, but it reduces the
amount of time spinning the loop quite considerably.
2020-04-14 19:08:06 +00:00