Georges Basile Stavracas Neto
290d4bb7a6
project: style fixups to meson
2017-09-09 10:09:02 -03:00
Georges Basile Stavracas Neto
ea548d1584
project: update TODO
...
We just merged GcalSubscriberView and GcalMonthView
2017-09-09 10:08:33 -03:00
Georges Basile Stavracas Neto
ffe67a1304
project: add more tasks to TODO
2017-09-08 23:15:50 -03:00
Georges Basile Stavracas Neto
8f7230cf5f
window: remove stray debug message
2017-09-08 22:59:47 -03:00
Georges Basile Stavracas Neto
5a0a3fcd9c
event: fix various reference ownership issues
2017-09-08 22:25:18 -03:00
Georges Basile Stavracas Neto
242db0436a
main: remove double ;
2017-09-08 22:23:44 -03:00
Georges Basile Stavracas Neto
7f14e9f561
project: rewrite HACKING guides
...
Now I don't have to pass all this tribal knowledge every
single time.
2017-09-08 21:34:52 -03:00
Georges Basile Stavracas Neto
9c50ae9b9c
main: simplify code even more
2017-09-08 21:04:02 -03:00
Georges Basile Stavracas Neto
27a44c3092
project: don't install private library
...
Instead, bring back building all the objects into
calendar itself, and only use the private library
internally.
2017-09-08 21:04:02 -03:00
Georges Basile Stavracas Neto
68c2b7d3ac
project: remove GcalSubscriberView
...
The subscriber view was an unecessary layer and only
added more complication than it actually helped.
This commit merges GcalSubscriberView and GcalMonthView
into a single class.
2017-09-07 16:07:04 -03:00
Georges Basile Stavracas Neto
6d19e30973
project: libgcal library
2017-09-07 16:06:21 -03:00
Georges Basile Stavracas Neto
7c587e896e
edit-dialog: reduce header circle icon
2017-09-07 15:01:50 -03:00
Georges Basile Stavracas Neto
8927e10ae0
edit-dialog: wrap in a scrolled window
...
As we're adding more and more widgets in the Edit dialog,
it is now growing too tall to fit normal screens. Thus, wrap
it in a scrolled window, and let the content height cover
75% of the main window at most.
2017-09-07 14:58:14 -03:00
Georges Basile Stavracas Neto
a0e64ca3c8
edit-dialog: cleanup ui file
2017-09-07 14:38:46 -03:00
Georges Basile Stavracas Neto
e68dc3aebf
project: move GcalView to views/
...
It makes sense to put the interface together with
the other classes.
2017-09-07 14:37:37 -03:00
Georges Basile Stavracas Neto
e60c8593dd
window: propagate manager using properties
2017-09-07 14:35:44 -03:00
Georges Basile Stavracas Neto
36a39e6c5c
window: simplify constructor
...
We don't need to pass information that can easily be
retrieved by the GSettings instance from GcalManager.
2017-09-07 13:21:09 -03:00
Georges Basile Stavracas Neto
a0b6bdb04a
application: move GSettings object to GcalManager
...
The first outcome of the test suite. This separation does
not make much sense now, and GcalManager is basically a
holder for all data types.
This commit moves the GSettings to the GcalManager instance
of the application. Of course, in the future, the plan is to
split GcalManager nicely.
2017-09-07 12:52:49 -03:00
Georges Basile Stavracas Neto
1d29fd4944
project: add some more tasks
2017-09-07 12:38:49 -03:00
Georges Basile Stavracas Neto
c7845d1878
tests: add initial test suite
2017-09-07 12:37:46 -03:00
Georges Basile Stavracas Neto
98d8dbc39a
project: update configure and meson requirement
2017-09-07 12:37:21 -03:00
Georges Basile Stavracas Neto
110c6be7c8
application: style fixes
2017-09-07 12:08:11 -03:00
Georges Basile Stavracas Neto
647e243bd5
project: don't compile source files twice
...
We can just link with the private library, and use the
main file to make it an executable. This drops the compile
time by 43% here.
2017-09-07 12:07:22 -03:00
Georges Basile Stavracas Neto
9c6c8770ec
project: improve configure output
2017-09-07 11:43:37 -03:00
Georges Basile Stavracas Neto
c7f7506d52
project: move evolution files to contrib/
...
It's better for the project organization if we nicely
organize external projects' files in contrib/, and our
own files in src/.
2017-09-07 11:41:05 -03:00
Georges Basile Stavracas Neto
ebcf3f38df
shell-search-provider: remove private field
...
This is a private class, and doesn't need private fields.
2017-09-07 02:37:39 -03:00
Georges Basile Stavracas Neto
edc1d63f26
project: more meson improvements
2017-09-07 02:24:09 -03:00
Georges Basile Stavracas Neto
de780276f9
manager: user the new code style
2017-09-07 02:23:56 -03:00
Georges Basile Stavracas Neto
00b9c1c7a7
project: style improvements in meson files
2017-09-07 02:15:37 -03:00
Georges Basile Stavracas Neto
941f3ee77d
event: cache events
...
This speeds up Calendar a little bit, and more importantly,
allows me to sleep well at night now.
2017-09-07 02:09:53 -03:00
Georges Basile Stavracas Neto
2f52962f01
utils: remove debug spew
2017-09-07 01:52:21 -03:00
Georges Basile Stavracas Neto
c43d74d16a
project: update TODO.md
2017-09-07 00:04:27 -03:00
Georges Basile Stavracas Neto
53a8278953
views: correctly hide events according to the mod type
...
When deleting events with recurrence, we want to hide the event
widgets according to the modification type. So that selecting
e.g. subsequent in the modification type dialog hides the event,
and the subsequent ones, truly reflecting the operation that will
happen.
Currently, however, the views don't do that, and only hide the
event that was asked to be deleted.
Fix that by passing the object modification type, and adapting the
views to take that into account.
2017-09-07 00:02:40 -03:00
Georges Basile Stavracas Neto
1a496eea17
subscriber-view: update comments
2017-09-07 00:02:40 -03:00
Georges Basile Stavracas Neto
3b6b536663
recurrence: add GcalRecurrenceModType
...
Instead of reusing the ECalObjModType and mixing the
prefixes all around, do this small cleanup and add a
gcal-prefixed enum.
2017-09-07 00:02:40 -03:00
Georges Basile Stavracas Neto
edce0ab076
recurrence: use refcount instead of copy/free
2017-09-06 22:15:13 -03:00
Georges Basile Stavracas Neto
0cb6f20aea
view: update style
2017-09-06 21:53:17 -03:00
Georges Basile Stavracas Neto
8cbb5c1a4d
project: update TODO, README and add CONTRIBUTING
...
Let's make the lives of newcomers easier :)
2017-09-06 21:49:00 -03:00
Georges Basile Stavracas Neto
6004123ba2
edit-dialog: fix time widgets sensitive when all day
2017-08-24 07:16:15 +09:00
Georges Basile Stavracas Neto
3eec69c559
edit-dialog: update style
...
Calendar matured its code style over time and
edit dialog kept the old style.
2017-08-24 07:07:36 +09:00
Georges Basile Stavracas Neto
316aeb9c67
quick-add-popover: properly place translator comment
2017-08-22 21:21:19 -03:00
Georges Basile Stavracas Neto
13d6f85d1f
quick-add-popover: put day placeholder in the translatable string
...
As fairly pointed out, we should never split sentences [1].
[1] https://wiki.gnome.org/TranslationProject/DevGuidelines/Never%20split%20sentences
https://bugzilla.gnome.org/show_bug.cgi?id=786022
2017-08-22 20:51:16 -03:00
Georges Basile Stavracas Neto
282fb5fc33
month-view: don't draw dnd highlight on empty cells
...
https://bugzilla.gnome.org/show_bug.cgi?id=786102
2017-08-14 23:42:49 -03:00
Georges Basile Stavracas Neto
2a67a3d935
project: update .gitignore
2017-08-14 23:32:48 -03:00
Georges Basile Stavracas Neto
247e786ff0
project: update HACKING and TODO
2017-08-14 23:32:15 -03:00
Georges Basile Stavracas Neto
dab25a0465
Bump 3.25.90 release
2017-08-11 14:11:55 -03:00
Georges Basile Stavracas Neto
f9cb8823a9
build: generate 'dist' and 'distcheck' targets
2017-08-11 14:09:25 -03:00
Georges Basile Stavracas Neto
d11ed85a7f
month-view: grey out invalid days
...
It should be very clear that days outside the current
month are actually not valid. The current drawing
algorithm does not differentiate that, thought, and
draws everything at the same color.
Fix that by greying out the days outside the current
month.
https://bugzilla.gnome.org/show_bug.cgi?id=763771
2017-07-30 16:03:39 +01:00
Georges Basile Stavracas Neto
72a3bb4168
quick-add-popover, event-widget: add translator comments
...
https://bugzilla.gnome.org/show_bug.cgi?id=784645
2017-07-10 22:57:00 -03:00
Georges Basile Stavracas Neto
60067433c3
Bump 3.25.3 release
2017-06-19 17:11:30 -03:00
Georges Basile Stavracas Neto
3f9731bf89
manager: fix style
2017-06-10 08:30:27 -03:00
Georges Basile Stavracas Neto
d294ea46a5
week-header: fix drawing stray lines when managing events
2017-05-24 17:27:07 -03:00
Georges Basile Stavracas Neto
1ef8fbcb34
edit-dialog: unconditionally update event dialog
...
When setting an event, we might modify the event in such a way that
the edit dialog can be broken if it doesn't update.
Fix that by unconditionally updating the event dialog when setting
an event.
2017-05-22 22:55:10 -03:00
Georges Basile Stavracas Neto
a647033847
project: remove unused variables
2017-05-22 21:57:24 -03:00
Georges Basile Stavracas Neto
4e262f6d5d
event: remove unused code
2017-05-17 14:47:03 -03:00
Georges Basile Stavracas Neto
f2ce665240
flatpak: allow communicating with org.gnome.ControlCenter
2017-05-17 09:05:05 -03:00
Georges Basile Stavracas Neto
05af332937
source-dialog: use DBus to spawn Control Center
...
In a Flatpak'd world, we cannot rely on the fact that
gnome-control-center binary will be installed at the
app's sandbox. But since it's a core app, we can rely
on the fact that it's available outside the sandbox.
To make it work, use DBus rather than raw spawn to
open control center.
2017-05-17 09:03:24 -03:00
Georges Basile Stavracas Neto
dde6b5bf05
week-view: improve scroll timeout logic
...
Instead of keeping an active timeout source spamming the
console, just connect to the right signal and wait for the
week view to be visible again.
2017-05-16 17:48:25 -03:00
Georges Basile Stavracas Neto
f25a7b0dd8
application: only override log handler with --debug
2017-05-16 15:01:11 -03:00
Georges Basile Stavracas Neto
dc72ff4924
log: ignore GdkPixbuf messages
2017-05-16 14:57:21 -03:00
Georges Basile Stavracas Neto
4323990138
window: fix style
2017-05-16 14:57:17 -03:00
Georges Basile Stavracas Neto
09fe510937
views: use the new GcalClock to redraw
...
Instead of having each view manage it's own timeout (or
even worse, making GcalWindow manage it), use the newly
introduced GcalClock API to do that.
2017-05-16 14:57:15 -03:00
Georges Basile Stavracas Neto
15563607dd
manager: create and keep an internal clock
...
This clock will be used in the future by other classes
to update stuff.
2017-05-16 14:57:13 -03:00
Georges Basile Stavracas Neto
e7a05bdc4c
clock: introduce GcalClock
...
GcalClock is an internal clock for GNOME Calendar that
sends a few utility signals, such as :day-changed and
:minute-changed.
It also watches for suspend/resume events to properly
send the signal right after the resume.
2017-05-16 14:57:11 -03:00
Georges Basile Stavracas Neto
f9454b6a8a
event-widget: properly escape event description
...
When we escape first, then truncate, we might end up truncating at
the middle of a special character sequence, breaking the markup.
Fix that by escaping after truncating.
2017-05-08 21:26:21 -03:00
Georges Basile Stavracas Neto
817325da05
month-view: simplify code
2017-04-29 12:57:06 -03:00
Georges Basile Stavracas Neto
7dc5eb5bf5
week-grid, week-header: properly initialize datetimes
...
Since we use autoptr on those, we may end up falling in to
the early return and mistakenly unreferencing the not
initialized new date.
2017-04-29 12:57:06 -03:00
Georges Basile Stavracas Neto
e2c40af9ff
docs: update list of undocumented symbols
2017-04-29 10:47:25 -03:00
Georges Basile Stavracas Neto
dac4f4cd50
project: cleanup gitignore
2017-04-29 10:47:25 -03:00
Georges Basile Stavracas Neto
45f11ed5c0
project: drop intltool usage
2017-04-29 10:47:25 -03:00
Georges Basile Stavracas Neto
0aaa58de0f
Bump 3.25.1 release
2017-04-24 10:55:08 -03:00
Georges Basile Stavracas Neto
b9c1a36256
project: update NEWS and appdata from gnome-3-24
2017-04-24 10:50:09 -03:00
Georges Basile Stavracas Neto
7d771830f1
edit-dialog: fix g_list_sort() usage
2017-04-24 10:03:28 -03:00
Georges Basile Stavracas Neto
9d91c11b52
year-view: simplify code
...
By storing the coordinates array in a local pointer,
we avoid 9 super slow full memory lookups. That matters
when we're inside the drawing function, trying to keep
60fps.
2017-04-19 16:48:51 -03:00
Georges Basile Stavracas Neto
c5772f994e
shell-search: don't crash
2017-04-19 16:46:19 -03:00
Georges Basile Stavracas Neto
141f8d87b8
window: attach update date timeout to window
...
So we can properly remove the timeout source whenever the
window is finalized.
https://bugzilla.gnome.org/show_bug.cgi?id=781431
2017-04-18 09:55:56 -03:00
Georges Basile Stavracas Neto
dff41ebef5
event-widget: fix previous commit
2017-04-18 09:43:42 -03:00
Georges Basile Stavracas Neto
5b44a34407
event-widget: escape event location
...
https://bugzilla.gnome.org/show_bug.cgi?id=781434
2017-04-18 09:38:44 -03:00
Georges Basile Stavracas Neto
5396b946ad
source-dialog: improve validation of remote calendars
2017-04-13 09:53:00 -03:00
Georges Basile Stavracas Neto
fc074bcde3
source-dialog: improve URI handler
...
Now we have a more reliable way to detect whether
the passed URI is a file or a resource.
https://bugzilla.gnome.org/show_bug.cgi?id=780455
2017-04-13 09:17:52 -03:00
Georges Basile Stavracas Neto
78eb9a7435
window: add more shortcuts
...
Add the following new shortcuts:
- Home: moves to today
- PageUp: previous week/month/year
- PageDn: next week/month/year
https://bugzilla.gnome.org/show_bug.cgi?id=740844
2017-04-13 07:32:21 -03:00
Georges Basile Stavracas Neto
1362762efe
manager: fail when client unit isn't found
...
This is a temporary solution to avoid a crash that
some people are experiencing. More investigation is
required.
https://bugzilla.gnome.org/show_bug.cgi?id=781071
2017-04-13 07:08:35 -03:00
Georges Basile Stavracas Neto
e26648a2c6
month-view: don't cancel selection on date change
...
https://bugzilla.gnome.org/show_bug.cgi?id=781244
2017-04-13 06:55:30 -03:00
Georges Basile Stavracas Neto
662373141b
event-widget: correctly ellipsize descripton tooltip
...
https://bugzilla.gnome.org/show_bug.cgi?id=781185
2017-04-12 21:04:42 -03:00
Georges Basile Stavracas Neto
aa5b963412
view: rework active-date
...
The current implementation is deficient in many ways, the
worst one being the it relying on GObject semi-synchronous
property emission.
This issue was exposed by the Week view code, where the active
date was updated, but delayed to reach the Week header and some
events were being added ~before~ the active date changed.
With this work, I was also able to figure out a bunch of code
that relied on this (i.e. luck) to work.
2017-04-12 20:51:23 -03:00
Georges Basile Stavracas Neto
2e84c00233
Merge branch 'wip/gbsneto/docs'
2017-04-12 15:17:37 -03:00
Georges Basile Stavracas Neto
7681b7a2da
project: document classes
2017-04-12 15:17:17 -03:00
Georges Basile Stavracas Neto
57a2bf8983
week-grid, week-header: simplify code
...
We don't need to check whether the end date is NULL,
for GcalEvent always ensures that.
2017-04-12 15:12:03 -03:00
Georges Basile Stavracas Neto
89f142d79e
week-grid: draw today indicator above events
2017-04-12 14:21:02 -03:00
Georges Basile Stavracas Neto
6c784d03c4
event-widget: escape summary and description
2017-04-11 10:38:29 -03:00
Georges Basile Stavracas Neto
8ad65d311b
project: run gtkdocize before autoreconf
2017-04-08 20:59:51 -03:00
Georges Basile Stavracas Neto
f9469f79ee
doc: group sections
2017-04-08 20:59:51 -03:00
Georges Basile Stavracas Neto
e3ef063e00
event: fix documentation
2017-04-08 20:59:51 -03:00
Georges Basile Stavracas Neto
014bcfddc5
doc: add skeleton documentation
...
This adds API documentation, generated at compile time.
2017-04-08 20:59:50 -03:00
Georges Basile Stavracas Neto
b93fe11da8
view: cleanup unused code
2017-03-29 16:25:47 -03:00
Georges Basile Stavracas Neto
2f2867179d
week-grid: fix event creation on RTL languages
...
On RTL languages, the calcs to detect the start and end
of the new event were wrong, leading to the weird behavior
it currently has.
Fix that by correctly calculating the start and end cells
on RTL languages.
https://bugzilla.gnome.org/show_bug.cgi?id=777429
2017-03-29 00:04:10 -03:00
Georges Basile Stavracas Neto
090a79100f
project: update gitignore
2017-03-28 23:57:01 -03:00
Georges Basile Stavracas Neto
19b1563aab
year-view: simplify code
...
The code in ECalDataModelSubscriber:component_changed() and
:component_removed() was actually duplicated, and we can
simplify the :component_changed() routine by simply removing
and readding the event.
2017-03-25 17:56:36 -03:00
Georges Basile Stavracas Neto
3bbd6b64e4
window: show quick add popover with a nice animation
...
Instead of plain show and hide it, let's add a smooth
animation.
2017-03-25 17:46:08 -03:00
Georges Basile Stavracas Neto
a7d7726a35
year-view: optimize drawing
...
The current Year view drawing routine gathers events
every single time we draw the navigator. This is, to
the best case, slow to death. In fact, this is why
year view's navigator is so memory and processor
consuming.
To fix that, cache the added components and simply
query them at drawing time.
2017-03-25 11:22:22 -03:00