Commit Graph
283 Commits
Author SHA1 Message Date
Georges Basile Stavracas Neto c65fe989fe window: use a GcalEvent to delete events
Instead of using the GcalEventData struct, use the
deleted event. It holds a reference until the event
gets destroyed.

With this commit, we can safely drop GcalEventData
structure, since it's not used anymore.
2016-02-14 12:17:37 -02:00
Georges Basile Stavracas Neto e31e6eeac0 edit-dialog: use GcalEvent internally
Instead of using the ESource + ECalComponent combination,
use the new GcalEvent class, which wraps up and simplifies
most of the code.

This commit adds a GcalEditDialog::event property, and
adapts the dialog (and everything dependant on it's code)
to use the GcalEvent class.
2016-02-14 12:17:37 -02:00
Georges Basile Stavracas Neto 0ec0ea8121 event-widget: use GcalEvent internally
This saves a lot of code, and is much saner to maintain.
2016-02-14 12:17:37 -02:00
Georges Basile Stavracas Neto 771d227520 window: turn into a final class 2016-01-19 20:27:21 -02:00
Georges Basile Stavracas Neto abd6fa8b2d window: properly case ::manager property getter
It's a readwrite property, thus it must have an
case PROP_MANAGER set in get_property.
2015-12-31 00:37:36 -02:00
Georges Basile Stavracas Neto 961bf5dc88 window: setup edit dialog from UI file
This commit sets up the edit dialog from the window's ui
resource file, in a series of commits that tries to move
all C code to the UI definitions.

Also, GcalManager is a full GObject class, not a simple
pointer. As such, update the property spec to be of type
object, not pointer.
2015-12-30 17:37:12 -02:00
Georges Basile Stavracas Neto b1540e3f41 window: code cleanup
Remove the unneeded code to manage search bar visibility,
since it is correctly hidden now. Also, clean up some UI
code.
2015-07-15 20:57:12 -03:00
Georges Basile Stavracas Neto 0c1df74735 month-view: add keyboard navigation
This big patch implements keyboard navigation for
Month view and the main window. Also, refactor
some of it's drawing code.
2015-07-15 20:40:55 -03:00
Georges Basile Stavracas Neto 1f666ba405 window: move forward/backward according to locale 2015-06-04 15:44:48 -03:00
Erick Pérez Castellanos d5cc7efcd0 build: fix merge leftovers 2015-05-25 12:43:49 -04:00
Georges Basile Stavracas Neto 87c02b520a source-dialog: hide itself on response event 2015-05-25 12:36:55 -04:00
Georges Basile Stavracas Neto c1b14e48d4 window: comment misleading destruction of calendar row 2015-05-25 12:36:55 -04:00
Erick Pérez Castellanos b04720135f window: sources are unique
There's no need to loop through the rest of the list once the ESource has been
found
2015-05-25 12:36:53 -04:00
Erick Pérez Castellanos 44480da71a window: I rather have these lines
I prefer a clean separation between declarations and code
2015-05-25 12:36:53 -04:00
Georges Basile Stavracas Neto 2b4e46a4b6 manager: notify when sources are enabled/disabled
Add the new signal for GcalManager::source-enabled that
notifies connected widgets about the source change. With
that, we can keep checkboxes syncronizes.
2015-05-25 12:35:58 -04:00
Georges Basile Stavracas Neto c3d34ae149 window: add a nice style to the calendar listbox 2015-05-25 12:35:58 -04:00
Georges Basile Stavracas Neto 3905622420 window: don't set the manager twice 2015-05-25 12:35:57 -04:00
Georges Basile Stavracas Neto 5862f1671f window: add source dialog to builder file again 2015-05-25 12:35:57 -04:00
Georges Basile Stavracas Neto 0142b0494e window: instance source dialog on init 2015-05-25 12:35:56 -04:00
Georges Basile Stavracas Neto 72eb5dd20b source-dialog: make remove action local to the dialog
Instead of delegating it to GcalWindow, take
the responsability to manage the source removal
logic.

This commit expose a problem we were trying to
avoid: make our widgets sensitive to source
modifications.
2015-05-25 12:35:33 -04:00
Georges Basile Stavracas Neto f70702a885 window: correctly set the source and mode
Cannot change to edit mode without actually
give the source to edit.
2015-05-25 12:35:31 -04:00
Georges Basile Stavracas Neto 102b5431fd source-dialog: better name the modes
Since we're not creating a calendar
as the default state, rename the mode
to NORMAL as it better describes the
dialog state.
2015-05-25 12:35:30 -04:00
Georges Basile Stavracas Neto e7af463290 window: release timeout source after undo 2015-05-25 12:35:28 -04:00
Georges Basile Stavracas Neto b43544cae7 window: update GcalSourceDialog::manager when the window's one is updated 2015-05-25 12:35:28 -04:00
Georges Basile Stavracas Neto 6657dad17f window: remove hash table usage
Replaced by g_object_{get|set}_data methods
2015-05-25 12:35:27 -04:00
Georges Basile Stavracas Neto 491e9d3e85 window: rename GcalWindow::make_row_for_source to GcalWindow::make_row_from_source 2015-05-25 12:35:27 -04:00
Georges Basile Stavracas Neto 17f56895dd window: use markup label for in-app notification 2015-05-25 12:35:26 -04:00
Georges Basile Stavracas Neto 9df8b8077d window: implement removing and undoing the removal of a calendar
We're still facing the bug where the just-added calendar segfaults when removed.
2015-05-25 12:35:26 -04:00
Georges Basile Stavracas Neto 4585b44941 window: remove annoying compile warning
Hey GCC, they're just pointers!
2015-05-25 12:31:07 -04:00
Georges Basile Stavracas Neto d6b4aef582 window: sort calendars by name 2015-05-25 12:31:07 -04:00
Georges Basile Stavracas Neto df1b7def8c window: refresh calendar list when a source is edited 2015-05-25 12:31:07 -04:00
Georges Basile Stavracas Neto c91d5bbb59 window: hide calendar popover when the dialog is trigged 2015-05-25 12:31:06 -04:00
Georges Basile Stavracas Neto b08165364a window: set the source dialog's manager field 2015-05-25 12:31:06 -04:00
Georges Basile Stavracas Neto 557ec083da window: set the source to be edited 2015-05-25 12:31:05 -04:00
Georges Basile Stavracas Neto 95af5c72d3 window: hide the dialog after the response 2015-05-25 12:31:05 -04:00
Georges Basile Stavracas Neto 143444ddd5 window: show source dialog when a calendar is activated 2015-05-25 12:31:05 -04:00
Georges Basile Stavracas Neto 7e9d722206 window: set source dialog to create mode 2015-05-25 12:31:05 -04:00
Georges Basile Stavracas Neto 6dccbfe431 window: show sources dialog 2015-05-25 12:31:05 -04:00
Georges Basile Stavracas Neto ee2c22b950 window: add a GcalSourceDialog instance 2015-05-25 12:31:05 -04:00
Georges Basile Stavracas Neto cb532bbfbd window: port the calendar popover to GtkListBox
This is a significant rewrite of the calendar popover. Instead of adding actions to the window, it uses a internal map to find the corresponding source.
2015-05-25 12:31:04 -04:00
Georges Basile Stavracas Neto 66c464d92e window: remove unneeded shortcuts 2015-05-14 15:35:38 -03:00
Georges Basile Stavracas Neto 6a017cca8b window: add view switching shortcuts
<Ctrl>PgUp to go to the previous view
<Ctrl>PgDn to go to the next view
<Ctrl>2 to go to month view
<Ctrl>3 to go to year view
2015-05-13 20:13:18 -03:00
Georges Basile Stavracas Neto a75d458f69 window: use a macro to simplify code 2015-05-13 15:22:37 -03:00
Georges Basile Stavracas Neto 052e64eb53 window: add accelerators to change date
<Alt>Left for previous date
<Alt>Down or <Ctrl>t for today
<Alt>Right for next date

More expected shortcuts are being discussed and
registered at https://etherpad.gnome.org/p/calendar-keynav.
2015-05-13 11:39:14 -03:00
Erick Pérez Castellanos 601f3c461e app: add event uses current date as start
Bug: https://bugzilla.gnome.org/show_bug.cgi?id=748133
2015-04-26 21:49:25 -04:00
Marcus Lundblad adfffad88d window: mark date format string for new event popover for translation
https://bugzilla.gnome.org/show_bug.cgi?id=746928
2015-04-07 10:17:27 -03:00
Georges Basile Stavracas Neto 955c934956 window: block automatic creation of nameless events
We shouldn't let nameless events be created.
This commit blocks all ways to create them
when the name is not set.

The user can still edit events' data.
2015-04-02 12:35:29 -03:00
Erick Pérez Castellanos c7563da2d0 app: handle calendars colours better
Bug: https://bugzilla.gnome.org/show_bug.cgi?id=745487
2015-03-06 11:32:32 -05:00
Erick Pérez Castellanos 91defe22de window: handle reissue of in-app notification
For now we throw the first one away, and show the second. Eventually we
could handle this better.
2015-02-16 09:31:21 -05:00
Erick Pérez Castellanos 8fadbaa760 misc: fix various memory leaks 2015-02-16 09:31:20 -05:00