diff --git a/src/Makefile.am b/src/Makefile.am index 61c68a4a..ba58565c 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -33,6 +33,8 @@ gnome_calendar_SOURCES = \ gcal-window.c \ gcal-view.c \ gcal-view.h \ + gcal-source-dialog.c \ + gcal-source-dialog.h \ gcal-subscriber-view.c \ gcal-subscriber-view.h \ gcal-subscriber-view-private.h \ diff --git a/src/gcal-source-manager.c b/src/gcal-source-manager.c new file mode 100644 index 00000000..6e3edff9 --- /dev/null +++ b/src/gcal-source-manager.c @@ -0,0 +1,104 @@ +/* gcal-source-manager.c + * + * Copyright (C) 2015 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 . + */ + +#include "gcal-manager.h" + +#include "gcal-source-manager.h" + +typedef enum +{ + SOURCE_DIALOG_EDIT_MODE, + SOURCE_DIALOG_CREATE_MODE +} + +typedef struct +{ + gint mode : 1; + + /* manager */ + GcalManager *manager; +} GcalSourceManagerPrivate; + +G_DEFINE_TYPE_WITH_PRIVATE (GcalSourceManager, gcal_source_manager, GTK_TYPE_DIALOG) + +enum { + PROP_0, + LAST_PROP +}; + +static GParamSpec *gParamSpecs [LAST_PROP]; + +GcalSourceManager * +gcal_source_manager_new (void) +{ + return g_object_new (GCAL_TYPE_SOURCE_MANAGER, NULL); +} + +static void +gcal_source_manager_finalize (GObject *object) +{ + GcalSourceManager *self = (GcalSourceManager *)object; + GcalSourceManagerPrivate *priv = gcal_source_manager_get_instance_private (self); + + G_OBJECT_CLASS (gcal_source_manager_parent_class)->finalize (object); +} + +static void +gcal_source_manager_get_property (GObject *object, + guint prop_id, + GValue *value, + GParamSpec *pspec) +{ + GcalSourceManager *self = GCAL_SOURCE_MANAGER (object); + + switch (prop_id) + { + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); + } +} + +static void +gcal_source_manager_set_property (GObject *object, + guint prop_id, + const GValue *value, + GParamSpec *pspec) +{ + GcalSourceManager *self = GCAL_SOURCE_MANAGER (object); + + switch (prop_id) + { + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); + } +} + +static void +gcal_source_manager_class_init (GcalSourceManagerClass *klass) +{ + GObjectClass *object_class = G_OBJECT_CLASS (klass); + + object_class->finalize = gcal_source_manager_finalize; + object_class->get_property = gcal_source_manager_get_property; + object_class->set_property = gcal_source_manager_set_property; +} + +static void +gcal_source_manager_init (GcalSourceManager *self) +{ +} diff --git a/src/gcal-source-manager.h b/src/gcal-source-manager.h new file mode 100644 index 00000000..359604c2 --- /dev/null +++ b/src/gcal-source-manager.h @@ -0,0 +1,40 @@ +/* gcal-source-manager.h + * + * Copyright (C) 2015 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 . + */ + + +#ifndef GCAL_SOURCE_MANAGER_H +#define GCAL_SOURCE_MANAGER_H + +#include + +G_BEGIN_DECLS + +#define GCAL_TYPE_SOURCE_MANAGER (gcal_source_manager_get_type()) + +G_DECLARE_FINAL_TYPE (GcalSourceManager, gcal_source_manager, GCAL, SOURCE_MANAGER, GtkDialog) + +struct _GcalSourceManagerClass +{ + GtkDialogClass parent; +}; + +GcalSourceManager *gcal_source_manager_new (void); + +G_END_DECLS + +#endif /* GCAL_SOURCE_MANAGER_H */