Erick Pérez Castellanos
761475e47b
build: remove unusued code
...
Since we don't build treeview anymore using cell renderer, this code is
not needed.
2014-12-22 08:38:20 -05:00
Erick Pérez Castellanos
6081b9547c
manager: emit ::source-activated on enabled sources
...
The ::source-activated signal has no much sense right now, I'm leaving
it around, for a while, in case some use case pop up. Otherwise in time,
it will go.
2014-12-22 08:38:20 -05:00
Erick Pérez Castellanos
bfeef45983
manager: make ::get_sources retrieve only enabled sources
2014-12-22 08:38:20 -05:00
Erick Pérez Castellanos
f0d35f60fb
Revert "edit-dialog: update sources when their readonly state changes"
...
This reverts commit 31fa4e8e06 .
2014-12-22 08:38:20 -05:00
Erick Pérez Castellanos
c4de15eeef
window: unmark disabled sources checkbox
...
Calendars selector menu needs to know which source is enable to properly
mark the checkbox
2014-12-22 08:38:20 -05:00
Erick Pérez Castellanos
5a00fddfb3
manager: use "disabled-sources" settings
2014-12-22 08:38:19 -05:00
Erick Pérez Castellanos
9af65c8f1f
manager: hold a reference of the application's settings
...
We need to keep on the settings the list of the disabled sources
Moved code from ::init vfunc to ::constructed vfunc in order to wait for
construction properties to be set
2014-12-22 08:38:19 -05:00
Erick Pérez Castellanos
c28e345b5b
app: settings gained "disabled-sources" key
...
This key will keep a list of the uid of the sources marked as disabled
in the interface in order to keep the same state between runs of the application
2014-12-22 08:38:19 -05:00
Erick Pérez Castellanos
a08a0a66c1
event-widget: remove unused CSS tag name
...
Since Gtk+ parses automatically widgets' name, there's no need of custom class
2014-12-22 08:38:19 -05:00
Erick Pérez Castellanos
e2d4e52ec7
month-view: monitor click only on overflow indicator
2014-12-22 08:38:19 -05:00
Erick Pérez Castellanos
83bd285f3d
window: use GcalView::create-event-detailed signal
2014-12-22 08:38:19 -05:00
Erick Pérez Castellanos
c97473e955
month-view: emit ::create-event-detailed
...
Emit this signal from the "Add new event..." button of overflow popover,
the reason is mainly aesthetics since it won't look good showing one
popover after another.
2014-12-22 08:38:18 -05:00
Erick Pérez Castellanos
09f42ad955
gcal-view: signal the opening of edit-dialog directly
2014-12-22 08:38:18 -05:00
Erick Pérez Castellanos
0749520a35
edit-dialog: don't open with summary entry empty
2014-12-22 08:38:18 -05:00
Erick Pérez Castellanos
56f7f88572
month-view: fix insert ordered widgets
...
The head of the list might changed when ordering the list at insertion,
then, some events was getting lost
2014-12-22 08:38:18 -05:00
Erick Pérez Castellanos
4bef6148f9
month-view: sort single-day event widgets by start date
...
This guarantee that events widgets appear sorted by its start date on
the overflow popover
2014-12-20 09:10:00 -05:00
Erick Pérez Castellanos
420e66bdb1
event-widget: add ::compare_by_start_date
...
This function will eventually deprecate gcal_compare_event_widget_by_date()
2014-12-20 09:10:00 -05:00
Erick Pérez Castellanos
f9627fcf98
month-view: show start time header on overflow popover
2014-12-20 09:10:00 -05:00
Erick Pérez Castellanos
9badd9f502
month-view: read 12/24 time format setting
...
The setting will be used when showing the start time of events in the
overflow popover.
2014-12-20 09:10:00 -05:00
Erick Pérez Castellanos
5051ba600f
month-view: draw a background on the overflow indicator
...
This code suffer from a similar bug to ::queue_area on
::size_allocate. This need some revisiting to make it work properly.
2014-12-20 09:10:00 -05:00
Erick Pérez Castellanos
7a00364efb
month-view: preserve hovered cell on popover show
...
The hovered cell is the indicator to draw the background and the
coloring of the overflow indicator. Preserve its value as long as the
overflow is shown.
2014-12-20 09:10:00 -05:00
Erick Pérez Castellanos
d63d23bc16
month-view: add title to overflow popover
2014-12-20 09:10:00 -05:00
Erick Pérez Castellanos
96a939ab48
month-view: update note about Gtk+ clipping bug
2014-12-20 09:10:00 -05:00
Erick Pérez Castellanos
bd62b96a75
month-view: FIXME removed, feature added
2014-12-20 09:10:00 -05:00
Erick Pérez Castellanos
ca20726959
month-view: fix popover placement on RTL locales
2014-12-20 09:09:59 -05:00
Erick Pérez Castellanos
046dac4fe9
month-view: highlight overflow indicator on hover
2014-12-20 09:09:59 -05:00
Erick Pérez Castellanos
07b4ee4862
month-view: initial impl of overflow popover
2014-12-20 09:09:59 -05:00
Erick Pérez Castellanos
e5f507b95a
month-view: track events on overflow indicator area
...
We keep to state variables to handle hovering and clicking on the
indicator.
Note: This commit does not build because requires of upcoming work
2014-12-20 09:09:59 -05:00
Erick Pérez Castellanos
9bfa048101
month-view: add proper count of overflowed events
...
Keep a list of the hidden events per cell in order to add them later to
the popover
2014-12-20 09:09:59 -05:00
Erick Pérez Castellanos
06e43d836f
month-view: amend fix ::forall impl
2014-12-19 10:40:39 -05:00
Erick Pérez Castellanos
2c639d2d00
month-view: queue draw on size_allocate
...
It should not be necessary to queue a draw operation after
::size_allocate. This has been discussed over with Gtk+ devs, as soon as
the bug is fixed these statements will goes away.
2014-12-18 22:21:18 -05:00
Erick Pérez Castellanos
780bebf871
month-view: optimize text direction query
...
By keeping the value of the direction factor k around we save code and
function calling every time we need to use it.
2014-12-18 19:58:13 -05:00
Erick Pérez Castellanos
232b93095d
month-view: fix ::forall and ::remove impl
...
Take care of removing parts-widgets first whenever a master widgets is removed
2014-12-18 19:25:23 -05:00
Erick Pérez Castellanos
5b4e7d470d
month-view: implement GcalView::get_by_uuid
2014-12-18 15:43:13 -05:00
Erick Pérez Castellanos
170501bbdd
month-view: add helper method
2014-12-18 14:50:29 -05:00
Erick Pérez Castellanos
ceabae5e2c
month-view: rework handling of widget's hiding
...
Previously, we were hoping keeping a list of the widgets hidden by the
application, but the implementation did not work.
Now we keep a hash of those widgets hidden because of the overflow, when
a widget is not visible, and it's not in GcalMonthView::hidden_as_overflow
hash, then was hidden by the application.
2014-12-18 14:44:05 -05:00
Erick Pérez Castellanos
1f9b380238
month-view: overflow indicator drawn centered
2014-12-18 01:54:24 -05:00
Erick Pérez Castellanos
fbeb6d35b2
month-view: initial implementation of size alloc
...
This implements breaking of events, and showing of its parts. It also
provides the information need for the drawing of the overflow indicator.
This implementation brings support to RTL locales as well as LTR.
There's some things still missing here:
1. Mark the widgets with CSS classes for styling its broken status
2. Draw properly the overflow indicator
2014-12-18 01:23:46 -05:00
Erick Pérez Castellanos
7f7739db6d
month-view: add helper for hidden event-widgets
...
When an event is deleted we hide it while the notification with the Undo
option is shown and after a while the event is actually destroyed. This
helper is meant for keeping a set of the event-widgets hidden in that situation
2014-12-18 01:11:17 -05:00
Erick Pérez Castellanos
87856ec31c
month-view: initial drawing of overflow indicator
...
Added FIXME for properly wording the message
2014-12-18 01:11:04 -05:00
Erick Pérez Castellanos
4c7626cad2
month-view: fix ::add, ::remove, ::forall vfuncs
...
Fixed some bugs:
1. Insert single-day event-widgets on the proper structure
(GcalMonthView::single_day_children)
2. Add FIXME for keep single-day events-widgets ordered
3. Properly handle hash table replacement. GHashTable::replace call
key_destroy_func() and value_destroy_func() if those are provided
4. Don't keep NULL lists on any of the hashes kept by GcalMonthView
5. Change the order in which forall is executed. Don't modify the hashes
while iterating over it.
2014-12-18 01:03:45 -05:00
Erick Pérez Castellanos
9c29618fb6
month-view: helper to calculate the split of widgets
...
This calculates the split according to the space left on each cell
2014-12-18 00:59:58 -05:00
Erick Pérez Castellanos
51c7e5e2ea
event-widget: add convenient API to query dates
...
Simply it is faster not to allocate memory when there is no need of it
2014-12-18 00:56:46 -05:00
Erick Pérez Castellanos
f5a08f24bb
month-view: rework internals data structures
...
Changed internals data structures in order to handle allocation of
multidays events properly.
Modified GtkContainer::add, GtkContainer::remove and
GtkContainer::forall according to this new internal structure.
Commented out GcalView::get_by_uuid since it might get deprecated.
2014-12-16 10:06:09 -05:00
Erick Pérez Castellanos
719a294fae
event-widget: add helper API
...
Added GcalEventWidget::is_multiday to check if an event span more than
one day.
Added GcalEventWidget::compare_by_length which compares two event
widgets according to the duration of the events they represent.
2014-12-16 10:06:09 -05:00
Erick Pérez Castellanos
d1a7c6ee24
month-view: fix sigsegv if end_date is not created
2014-12-16 10:06:09 -05:00
Erick Pérez Castellanos
52a4e617b5
month-view: draw selected days marks
2014-12-16 10:06:09 -05:00
Erick Pérez Castellanos
70d69ac966
month-view: organize, clean code
2014-12-16 10:06:08 -05:00
Erick Pérez Castellanos
268ef17484
month-view: updated press/release/motions handlers
...
Now internal values of button press, motion and releases are kept
according the cell numbers alone, as explained in the comments.
2014-12-16 10:06:08 -05:00
Erick Pérez Castellanos
aaee4a2657
month-view: initial work to new mockup from Lapo
...
There's a bunch of stuff missing here, but this code is already working.
This includes only part of the drawing code, I already take into account
here LTR and RTL languages.
Here month-view make use of classes for styling different regions of the
grid, there are:
1. header class, which is used for the font and color details of the
days naming on the top of the grid
2. current class, which is used for drawing the current day number and
its background
3. lines class: which set the color property of the lines in the grid
4. :selected pseudo-class is used for drawing the font on the days
marked when creating an event. This will work as well for keyboard
navigation
What's missing here:
1. properly update click/press marks to new model
2. draw border around the selected days
2014-12-16 10:06:08 -05:00
Erick Pérez Castellanos
60946551b3
event-widget: add ::clone API
2014-12-16 10:06:08 -05:00
Erick Pérez Castellanos
069ea90d57
manager: implement ::enable/disable methods
2014-12-15 13:38:42 -05:00
Erick Pérez Castellanos
9e42922543
manager: Keep references of the clients internally
...
In order to remove clients from the ECalDataModel without destroying we
need to keep a reference to it.
2014-12-15 13:38:37 -05:00
Erick Pérez Castellanos
2a6b9a31ce
app: fix sigsegv when not getting a date from cli
2014-12-10 01:21:19 -05:00
Erick Pérez Castellanos
e2a2721e9e
window: add safety check
2014-12-09 15:37:02 -05:00
Erick Pérez Castellanos
83345b2fb4
app: gained --date option
...
GcalWindow loads the date from GcalApplication.
2014-12-09 15:36:01 -05:00
Erick Pérez Castellanos
738bb89d94
edit-dialog: fix memory leaks
2014-12-08 12:33:41 -05:00
Erick Pérez Castellanos
e58959d851
e-cal-data-model: fix event with no end-date
...
Google Calendar set no end-date on events with 0 sec duration time. We
need to make the corner case work.
2014-12-08 11:33:44 -05:00
Erick Pérez Castellanos
98e4b44a7d
manager: defer adding client to the internal hash
...
Wait until the client is opened and connected to add it to the internal
hash, so GcalManager::get_sources work properly.
2014-12-08 11:21:14 -05:00
Erick Pérez Castellanos
e62f48bfea
events: fix handling of event with no end date
...
Fix the sigsegv in edit-dialog and event-widgets when there's no
end-date set.
Set a guard in Utils::gcal_dup_icaltime function.
There's still some problems with the events showing the first time but
not anymore.
Bug: https://bugzilla.gnome.org/show_bug.cgi?id=736002
2014-12-08 11:21:14 -05:00
Erick Pérez Castellanos
b5ff5437f6
manager: removed unneeded code, and comments
2014-12-05 22:40:15 -05:00
Erick Pérez Castellanos
db71a1c1f6
window: adjust new-event popover position
2014-12-05 22:30:10 -05:00
Erick Pérez Castellanos
314f60e040
about: praise our artists properly
...
Add jimmac to artists list
2014-12-05 16:20:57 -05:00
Erick Pérez Castellanos
fe7b1d942e
app: use new icon
2014-12-05 16:20:16 -05:00
Erick Pérez Castellanos
2853e9a3b2
about: add Lapo to the design/art team
2014-12-05 08:17:30 -05:00
Erick Pérez Castellanos
da19ffd6ab
window: create edit-dialog at construct time
...
This isn't as dynamical as one was, so create it at construction will
work just fine, and we have the 'if's.
2014-12-05 08:17:30 -05:00
Erick Pérez Castellanos
532a4de02e
event-widget: fixed typo on method name
2014-12-05 08:17:30 -05:00
Erick Pérez Castellanos
9188d37e53
manager: removed EVENT_CREATED signal
...
Since we are opening edit-dialog on event creation directly, we don't
need this notification anymore.
2014-12-05 08:17:30 -05:00
Erick Pérez Castellanos
1f614948a8
style: HACKING updated
2014-12-04 17:31:00 -05:00
Erick Pérez Castellanos
1916986f15
app: active More details button from new event popover
...
GcalWindow got connected to GcalManager, and pass just created component
to GcalEditDialog
GcalEditDialog gained support to handle component not committed to
manager singleton instance yet.
2014-12-04 17:10:56 -05:00
Erick Pérez Castellanos
b36a390292
manager: updated GcalManager::create_event
...
Move the API to use ECalComponent instead of uids.
2014-12-04 17:10:56 -05:00
Erick Pérez Castellanos
78bced937e
utils: add helper method for component construction
2014-12-04 17:10:56 -05:00
Erick Pérez Castellanos
1c277b99b3
window: connect signal to the right object
...
The ::remove_event handler was not connected to the GtkRevealer so it
was not executing itself when the notification was closed. That caused
the application never removed any events. Fixed now.
2014-12-04 17:10:55 -05:00
Erick Pérez Castellanos
dc941b6a9d
edit-dialog: use reccurrence_id of events
...
When generating the uuid of an event if the event is recurrent, you need
to take into account its rid.
2014-12-04 17:10:55 -05:00
Erick Pérez Castellanos
927233cabb
build: remove GcalNewEventWidget related files
2014-12-04 17:10:55 -05:00
Erick Pérez Castellanos
af3ce14ac2
app: remove GcalNewEventWidget, use GcalWindow ui
...
Since there will be no behavior on GcalNewEventWidget we can use simple
ui from GcalWindow to accomplish this.
2014-12-04 17:10:55 -05:00
Erick Pérez Castellanos
83eb99efba
manager: update retrieve sources API
...
The move to newer API is to drop GtkListStore dependency on the manager.
2014-12-04 17:10:55 -05:00
Erick Pérez Castellanos
329118079d
manager: update GcalManager::remove_event API
...
Move GcalManager::remove_event API to new style using ESource and
ECalComponent instead of uuid
Update GcalWindow uses of this API
2014-12-04 17:10:55 -05:00
Erick Pérez Castellanos
67732884bb
utils: build an uuid string
...
Use an ESource and ECalComponent to build an uuid string with the format specified
2014-12-04 17:10:55 -05:00
Erick Pérez Castellanos
e0ef2892fd
window: fixed event removed notification
...
Moved all this code into ui file.
Removed public API of GcalWindow. In time, if needed by some other
object it can be brought back.
2014-12-04 17:10:55 -05:00
Erick Pérez Castellanos
52fc61a1a5
window: set view visible before show it
...
Since the move into using GtkBuilder's files the views aren't show
automatically. That's why the setting of the view initially was failing.
Bug: https://bugzilla.gnome.org/show_bug.cgi?id=741003
2014-12-04 17:10:54 -05:00
Erick Pérez Castellanos
947e23758c
misc: whitespace, comments and strings fixed
2014-12-04 17:10:54 -05:00
Erick Pérez Castellanos
f3bd29ba9c
app: use new search ECalDataModel
2014-12-04 17:10:54 -05:00
Erick Pérez Castellanos
7fa696c137
manager: added ECalDataModel for search alone
2014-12-04 17:10:54 -05:00
Erick Pérez Castellanos
934b1c4be0
window: more code moved into ui file
2014-12-04 17:10:54 -05:00
Erick Pérez Castellanos
f8f8991510
window: move more code into ui file
...
Probably I can load the GMenuModel of the popover directly but I don't
know exactly how, and I've asked already and you can set bindings using
builder's ui file, just like before I don't know how at this time.
2014-12-04 17:10:54 -05:00
Erick Pérez Castellanos
3887951323
month-view: more double to int rounding issues
...
Style fixes
2014-12-04 17:10:52 -05:00
Erick Pérez Castellanos
260237bc85
month-view: style cleaning
2014-12-04 17:10:52 -05:00
Erick Pérez Castellanos
5cbdf28387
month-view: added current day highlight
...
Improved ::draw vfunc code. Use .current class to handle active day styling
2014-12-04 17:10:52 -05:00
Erick Pérez Castellanos
298a0e56c2
Revert: month-view: fix cell rendering glitch
...
This was not the proper fix.
2014-12-04 17:10:52 -05:00
Erick Pérez Castellanos
4425149647
month-view: optimized, organized ::draw vfunc code
2014-12-04 17:10:51 -05:00
Erick Pérez Castellanos
184854e318
week-view: take into account GNOME time format
...
Bug: https://bugzilla.gnome.org/show_bug.cgi?id=703321
2014-12-04 17:10:51 -05:00
Erick Pérez Castellanos
8c5eaa66c8
views: fixed docs style
2014-12-04 17:10:51 -05:00
Erick Pérez Castellanos
c77076c7d6
week-view: added current day highlight
...
Cleaned code a little bit. Removed unnecessary instructions. Added style
class to handle current day.
2014-12-04 17:10:51 -05:00
Erick Pérez Castellanos
746864e7bc
event-widget: fix icons scaling, made 16x always.
...
Previously the scaling was made to the size of the text layout which
caused a blurriness of the icon. Making its size a multiple of 16 made
the icon preserve its sharpness.
2014-12-04 17:10:51 -05:00
Erick Pérez Castellanos
3b9f2aa128
window: set timezone of date when moving to today
2014-12-04 17:10:51 -05:00
Erick Pérez Castellanos
c526329450
misc: code style and comments removed
2014-12-04 17:10:51 -05:00
Erick Pérez Castellanos
251e849548
year-view: launch edit dialog on event activate
2014-12-04 17:10:51 -05:00
Erick Pérez Castellanos
2cecaf9337
week-view: add first_weekday setting to view
...
Bug: https://bugzilla.gnome.org/show_bug.cgi?id=703317
2014-12-04 17:10:50 -05:00
Erick Pérez Castellanos
a67635bb05
month-view: add first_weekday settings to view
...
Bug: https://bugzilla.gnome.org/show_bug.cgi?id=703317
2014-12-04 17:10:50 -05:00