From 5d5709122f87de6940d8a601e8df4b9a3d048385 Mon Sep 17 00:00:00 2001 From: Georges Basile Stavracas Neto Date: Thu, 2 Mar 2023 21:26:20 -0300 Subject: [PATCH] views/view: Add private signal helpers They'll be useful to stop hijacking view signals. --- src/gui/views/gcal-view-private.h | 40 +++++++++++++++++++++++++++++++ src/gui/views/gcal-view.c | 37 +++++++++++++++++++++++++++- 2 files changed, 76 insertions(+), 1 deletion(-) create mode 100644 src/gui/views/gcal-view-private.h diff --git a/src/gui/views/gcal-view-private.h b/src/gui/views/gcal-view-private.h new file mode 100644 index 00000000..e2a10a58 --- /dev/null +++ b/src/gui/views/gcal-view-private.h @@ -0,0 +1,40 @@ +/* gcal-view-private.h + * + * Copyright 2023 Georges Basile Stavracas Neto + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + * SPDX-License-Identifier: GPL-3.0-or-later + */ + +#pragma once + +#include "gcal-view.h" + +G_BEGIN_DECLS + +void gcal_view_create_event (GcalView *self, + GDateTime *start, + GDateTime *end, + gdouble x, + gdouble y); + +void gcal_view_create_event_detailed (GcalView *self, + GDateTime *start, + GDateTime *end); + +void gcal_view_event_activated (GcalView *self, + GcalEventWidget *event_widget); + +G_END_DECLS diff --git a/src/gui/views/gcal-view.c b/src/gui/views/gcal-view.c index 3dbe859c..7d591cb7 100644 --- a/src/gui/views/gcal-view.c +++ b/src/gui/views/gcal-view.c @@ -21,7 +21,7 @@ #include "gcal-debug.h" #include "gcal-event-widget.h" -#include "gcal-view.h" +#include "gcal-view-private.h" #include "gcal-utils.h" #include @@ -264,3 +264,38 @@ gcal_view_get_previous_date (GcalView *self) return g_steal_pointer (&previous_date); } + +void +gcal_view_create_event (GcalView *self, + GDateTime *start, + GDateTime *end, + gdouble x, + gdouble y) +{ + g_assert (GCAL_IS_VIEW (self)); + g_assert (start != NULL); + g_assert (end != NULL); + + g_signal_emit (self, signals[CREATE_EVENT], 0, start, end, x, y); +} + +void +gcal_view_create_event_detailed (GcalView *self, + GDateTime *start, + GDateTime *end) +{ + g_assert (GCAL_IS_VIEW (self)); + g_assert (start != NULL); + + g_signal_emit (self, signals[CREATE_EVENT_DETAILED], 0, start, end); +} + +void +gcal_view_event_activated (GcalView *self, + GcalEventWidget *event_widget) +{ + g_assert (GCAL_IS_VIEW (self)); + g_assert (GCAL_IS_EVENT_WIDGET (event_widget)); + + g_signal_emit (self, signals[EVENT_ACTIVATED], 0, event_widget); +}