source-dialog: add ::application property
This commit is contained in:
committed by
Erick Pérez Castellanos
parent
75de5bb5b1
commit
ee7025ea99
@@ -16,8 +16,8 @@
|
|||||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include "gcal-application.h"
|
||||||
#include "gcal-source-dialog.h"
|
#include "gcal-source-dialog.h"
|
||||||
|
|
||||||
#include "gcal-utils.h"
|
#include "gcal-utils.h"
|
||||||
|
|
||||||
#include <glib/gi18n.h>
|
#include <glib/gi18n.h>
|
||||||
@@ -89,6 +89,7 @@ typedef struct
|
|||||||
GSimpleActionGroup *action_group;
|
GSimpleActionGroup *action_group;
|
||||||
|
|
||||||
/* manager */
|
/* manager */
|
||||||
|
GcalApplication *application;
|
||||||
GcalManager *manager;
|
GcalManager *manager;
|
||||||
} GcalSourceDialogPrivate;
|
} GcalSourceDialogPrivate;
|
||||||
|
|
||||||
@@ -100,6 +101,12 @@ struct _GcalSourceDialog
|
|||||||
GcalSourceDialogPrivate *priv;
|
GcalSourceDialogPrivate *priv;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
enum {
|
||||||
|
PROP_0,
|
||||||
|
PROP_APPLICATION,
|
||||||
|
LAST_PROP
|
||||||
|
};
|
||||||
|
|
||||||
#define ENTRY_PROGRESS_TIMEOUT 100
|
#define ENTRY_PROGRESS_TIMEOUT 100
|
||||||
|
|
||||||
static void add_button_clicked (GtkWidget *button,
|
static void add_button_clicked (GtkWidget *button,
|
||||||
@@ -1771,7 +1778,7 @@ remove_button_clicked (GtkWidget *button,
|
|||||||
gcal_source_dialog_set_mode (GCAL_SOURCE_DIALOG (user_data), GCAL_SOURCE_DIALOG_MODE_NORMAL);
|
gcal_source_dialog_set_mode (GCAL_SOURCE_DIALOG (user_data), GCAL_SOURCE_DIALOG_MODE_NORMAL);
|
||||||
}
|
}
|
||||||
|
|
||||||
GcalSourceDialog *
|
GtkWidget*
|
||||||
gcal_source_dialog_new (void)
|
gcal_source_dialog_new (void)
|
||||||
{
|
{
|
||||||
return g_object_new (GCAL_TYPE_SOURCE_DIALOG, NULL);
|
return g_object_new (GCAL_TYPE_SOURCE_DIALOG, NULL);
|
||||||
@@ -1817,6 +1824,44 @@ gcal_source_dialog_constructed (GObject *object)
|
|||||||
gtk_window_set_titlebar (GTK_WINDOW (object), priv->headerbar);
|
gtk_window_set_titlebar (GTK_WINDOW (object), priv->headerbar);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
gcal_source_dialog_get_property (GObject *object,
|
||||||
|
guint prop_id,
|
||||||
|
GValue *value,
|
||||||
|
GParamSpec *pspec)
|
||||||
|
{
|
||||||
|
GcalSourceDialog *self = GCAL_SOURCE_DIALOG (object);
|
||||||
|
|
||||||
|
switch (prop_id)
|
||||||
|
{
|
||||||
|
case PROP_APPLICATION:
|
||||||
|
g_value_set_object (value, self->priv->application);
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
gcal_source_dialog_set_property (GObject *object,
|
||||||
|
guint prop_id,
|
||||||
|
const GValue *value,
|
||||||
|
GParamSpec *pspec)
|
||||||
|
{
|
||||||
|
GcalSourceDialog *self = GCAL_SOURCE_DIALOG (object);
|
||||||
|
|
||||||
|
switch (prop_id)
|
||||||
|
{
|
||||||
|
case PROP_APPLICATION:
|
||||||
|
self->priv->application = g_value_get_object (value);
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
gcal_source_dialog_class_init (GcalSourceDialogClass *klass)
|
gcal_source_dialog_class_init (GcalSourceDialogClass *klass)
|
||||||
{
|
{
|
||||||
@@ -1831,9 +1876,24 @@ gcal_source_dialog_class_init (GcalSourceDialogClass *klass)
|
|||||||
g_type_ensure (E_TYPE_SOURCE_LOCAL);
|
g_type_ensure (E_TYPE_SOURCE_LOCAL);
|
||||||
|
|
||||||
object_class->constructed = gcal_source_dialog_constructed;
|
object_class->constructed = gcal_source_dialog_constructed;
|
||||||
|
object_class->get_property = gcal_source_dialog_get_property;
|
||||||
|
object_class->set_property = gcal_source_dialog_set_property;
|
||||||
|
|
||||||
widget_class = GTK_WIDGET_CLASS (klass);
|
widget_class = GTK_WIDGET_CLASS (klass);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* GcalSourceDialog::application:
|
||||||
|
*
|
||||||
|
* The #GcalApplication of the dialog.
|
||||||
|
*/
|
||||||
|
g_object_class_install_property (object_class,
|
||||||
|
PROP_APPLICATION,
|
||||||
|
g_param_spec_object ("application",
|
||||||
|
"Application of this dialog",
|
||||||
|
"The application that runs this dialog over",
|
||||||
|
GCAL_TYPE_APPLICATION,
|
||||||
|
G_PARAM_READWRITE));
|
||||||
|
|
||||||
/* bind things for/from the template class */
|
/* bind things for/from the template class */
|
||||||
gtk_widget_class_set_template_from_resource (GTK_WIDGET_CLASS (klass), "/org/gnome/calendar/source-dialog.ui");
|
gtk_widget_class_set_template_from_resource (GTK_WIDGET_CLASS (klass), "/org/gnome/calendar/source-dialog.ui");
|
||||||
|
|
||||||
|
|||||||
@@ -21,6 +21,7 @@
|
|||||||
#define GCAL_SOURCE_DIALOG_H
|
#define GCAL_SOURCE_DIALOG_H
|
||||||
|
|
||||||
#include <glib-object.h>
|
#include <glib-object.h>
|
||||||
|
#include "gcal-application.h"
|
||||||
#include "gcal-manager.h"
|
#include "gcal-manager.h"
|
||||||
|
|
||||||
#include <libecal/libecal.h>
|
#include <libecal/libecal.h>
|
||||||
@@ -47,7 +48,7 @@ typedef enum
|
|||||||
GCAL_SOURCE_DIALOG_MODE_NORMAL
|
GCAL_SOURCE_DIALOG_MODE_NORMAL
|
||||||
} GcalSourceDialogMode;
|
} GcalSourceDialogMode;
|
||||||
|
|
||||||
GcalSourceDialog* gcal_source_dialog_new (void);
|
GtkWidget* gcal_source_dialog_new (void);
|
||||||
|
|
||||||
void gcal_source_dialog_set_manager (GcalSourceDialog *dialog,
|
void gcal_source_dialog_set_manager (GcalSourceDialog *dialog,
|
||||||
GcalManager *manager);
|
GcalManager *manager);
|
||||||
|
|||||||
Reference in New Issue
Block a user