application: Move time format to GcalContext
It finally found its place under the sun.
This commit is contained in:
@@ -24,7 +24,6 @@
|
|||||||
#include "css-code.h"
|
#include "css-code.h"
|
||||||
#include "gcal-application.h"
|
#include "gcal-application.h"
|
||||||
#include "gcal-debug.h"
|
#include "gcal-debug.h"
|
||||||
#include "gcal-enums.h"
|
|
||||||
#include "gcal-log.h"
|
#include "gcal-log.h"
|
||||||
#include "gcal-shell-search-provider.h"
|
#include "gcal-shell-search-provider.h"
|
||||||
#include "gcal-window.h"
|
#include "gcal-window.h"
|
||||||
@@ -46,9 +45,6 @@ struct _GcalApplication
|
|||||||
gchar *uuid;
|
gchar *uuid;
|
||||||
icaltimetype *initial_date;
|
icaltimetype *initial_date;
|
||||||
|
|
||||||
GSettings *desktop_settings;
|
|
||||||
GcalTimeFormat time_format;
|
|
||||||
|
|
||||||
GcalShellSearchProvider *search_provider;
|
GcalShellSearchProvider *search_provider;
|
||||||
|
|
||||||
GcalContext *context;
|
GcalContext *context;
|
||||||
@@ -115,7 +111,6 @@ enum
|
|||||||
PROP_0,
|
PROP_0,
|
||||||
PROP_CONTEXT,
|
PROP_CONTEXT,
|
||||||
PROP_MANAGER,
|
PROP_MANAGER,
|
||||||
PROP_TIME_FORMAT,
|
|
||||||
N_PROPS
|
N_PROPS
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -188,25 +183,6 @@ load_css_provider (GcalApplication *self)
|
|||||||
gtk_css_provider_load_from_resource (self->provider, "/org/gnome/calendar/theme/Adwaita.css");
|
gtk_css_provider_load_from_resource (self->provider, "/org/gnome/calendar/theme/Adwaita.css");
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
|
||||||
load_time_format (GcalApplication *self)
|
|
||||||
{
|
|
||||||
g_autofree gchar *clock_format = NULL;
|
|
||||||
g_autofree gchar *enum_format = NULL;
|
|
||||||
|
|
||||||
clock_format = g_settings_get_string (self->desktop_settings, "clock-format");
|
|
||||||
|
|
||||||
if (g_strcmp0 (clock_format, "12h") == 0)
|
|
||||||
self->time_format = GCAL_TIME_FORMAT_12H;
|
|
||||||
else
|
|
||||||
self->time_format = GCAL_TIME_FORMAT_24H;
|
|
||||||
|
|
||||||
enum_format = g_enum_to_string (GCAL_TYPE_TIME_FORMAT, self->time_format);
|
|
||||||
g_debug ("Setting time format to %s", enum_format);
|
|
||||||
|
|
||||||
g_object_notify_by_pspec (G_OBJECT (self), properties[PROP_TIME_FORMAT]);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* GObject overrides
|
* GObject overrides
|
||||||
@@ -223,7 +199,6 @@ gcal_application_finalize (GObject *object)
|
|||||||
g_clear_pointer (&self->uuid, g_free);
|
g_clear_pointer (&self->uuid, g_free);
|
||||||
g_clear_object (&self->context);
|
g_clear_object (&self->context);
|
||||||
g_clear_object (&self->colors_provider);
|
g_clear_object (&self->colors_provider);
|
||||||
g_clear_object (&self->desktop_settings);
|
|
||||||
g_clear_object (&self->provider);
|
g_clear_object (&self->provider);
|
||||||
g_clear_object (&self->search_provider);
|
g_clear_object (&self->search_provider);
|
||||||
|
|
||||||
@@ -250,10 +225,6 @@ gcal_application_get_property (GObject *object,
|
|||||||
g_value_set_object (value, gcal_context_get_manager (self->context));
|
g_value_set_object (value, gcal_context_get_manager (self->context));
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case PROP_TIME_FORMAT:
|
|
||||||
g_value_set_enum (value, self->time_format);
|
|
||||||
break;
|
|
||||||
|
|
||||||
default:
|
default:
|
||||||
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
|
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
|
||||||
}
|
}
|
||||||
@@ -301,11 +272,8 @@ gcal_application_activate (GApplication *application)
|
|||||||
"application", self,
|
"application", self,
|
||||||
"context", self->context,
|
"context", self->context,
|
||||||
"active-date", self->initial_date,
|
"active-date", self->initial_date,
|
||||||
"time-format", self->time_format,
|
|
||||||
NULL);
|
NULL);
|
||||||
|
|
||||||
g_object_bind_property (self, "time-format", self->window, "time-format", G_BINDING_DEFAULT);
|
|
||||||
|
|
||||||
g_signal_connect (self->window, "destroy", G_CALLBACK (gtk_widget_destroyed), &self->window);
|
g_signal_connect (self->window, "destroy", G_CALLBACK (gtk_widget_destroyed), &self->window);
|
||||||
gtk_widget_show (self->window);
|
gtk_widget_show (self->window);
|
||||||
}
|
}
|
||||||
@@ -347,14 +315,6 @@ gcal_application_startup (GApplication *app)
|
|||||||
|
|
||||||
self->colors_provider = gtk_css_provider_new ();
|
self->colors_provider = gtk_css_provider_new ();
|
||||||
|
|
||||||
/* Time format */
|
|
||||||
self->desktop_settings = g_settings_new ("org.gnome.desktop.interface");
|
|
||||||
g_signal_connect_swapped (self->desktop_settings,
|
|
||||||
"changed::clock-format",
|
|
||||||
G_CALLBACK (load_time_format),
|
|
||||||
self);
|
|
||||||
load_time_format (self);
|
|
||||||
|
|
||||||
/* Startup the manager */
|
/* Startup the manager */
|
||||||
gcal_manager_startup (gcal_context_get_manager (self->context));
|
gcal_manager_startup (gcal_context_get_manager (self->context));
|
||||||
|
|
||||||
@@ -513,13 +473,6 @@ gcal_application_class_init (GcalApplicationClass *klass)
|
|||||||
GCAL_TYPE_MANAGER,
|
GCAL_TYPE_MANAGER,
|
||||||
G_PARAM_READABLE | G_PARAM_STATIC_STRINGS);
|
G_PARAM_READABLE | G_PARAM_STATIC_STRINGS);
|
||||||
|
|
||||||
properties[PROP_TIME_FORMAT] = g_param_spec_enum ("time-format",
|
|
||||||
"The time format of the computer",
|
|
||||||
"The time format of the computer",
|
|
||||||
GCAL_TYPE_TIME_FORMAT,
|
|
||||||
GCAL_TIME_FORMAT_24H,
|
|
||||||
G_PARAM_READABLE | G_PARAM_STATIC_STRINGS);
|
|
||||||
|
|
||||||
g_object_class_install_properties (object_class, N_PROPS, properties);
|
g_object_class_install_properties (object_class, N_PROPS, properties);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -27,10 +27,13 @@ struct _GcalContext
|
|||||||
{
|
{
|
||||||
GObject parent;
|
GObject parent;
|
||||||
|
|
||||||
|
GSettings *desktop_settings;
|
||||||
|
|
||||||
GcalClock *clock;
|
GcalClock *clock;
|
||||||
GoaClient *goa_client;
|
GoaClient *goa_client;
|
||||||
GcalManager *manager;
|
GcalManager *manager;
|
||||||
GSettings *settings;
|
GSettings *settings;
|
||||||
|
GcalTimeFormat time_format;
|
||||||
GcalWeatherService *weather_service;
|
GcalWeatherService *weather_service;
|
||||||
|
|
||||||
GcalNightLightMonitor *night_light_monitor;
|
GcalNightLightMonitor *night_light_monitor;
|
||||||
@@ -45,6 +48,7 @@ enum
|
|||||||
PROP_GOA_CLIENT,
|
PROP_GOA_CLIENT,
|
||||||
PROP_MANAGER,
|
PROP_MANAGER,
|
||||||
PROP_SETTINGS,
|
PROP_SETTINGS,
|
||||||
|
PROP_TIME_FORMAT,
|
||||||
PROP_WEATHER_SERVICE,
|
PROP_WEATHER_SERVICE,
|
||||||
N_PROPS
|
N_PROPS
|
||||||
};
|
};
|
||||||
@@ -52,6 +56,30 @@ enum
|
|||||||
static GParamSpec *properties [N_PROPS];
|
static GParamSpec *properties [N_PROPS];
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Auxiliary methods
|
||||||
|
*/
|
||||||
|
|
||||||
|
static void
|
||||||
|
load_time_format (GcalContext *self)
|
||||||
|
{
|
||||||
|
g_autofree gchar *clock_format = NULL;
|
||||||
|
g_autofree gchar *enum_format = NULL;
|
||||||
|
|
||||||
|
clock_format = g_settings_get_string (self->desktop_settings, "clock-format");
|
||||||
|
|
||||||
|
if (g_strcmp0 (clock_format, "12h") == 0)
|
||||||
|
self->time_format = GCAL_TIME_FORMAT_12H;
|
||||||
|
else
|
||||||
|
self->time_format = GCAL_TIME_FORMAT_24H;
|
||||||
|
|
||||||
|
enum_format = g_enum_to_string (GCAL_TYPE_TIME_FORMAT, self->time_format);
|
||||||
|
g_debug ("Setting time format to %s", enum_format);
|
||||||
|
|
||||||
|
g_object_notify_by_pspec (G_OBJECT (self), properties[PROP_TIME_FORMAT]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* GObject overrides
|
* GObject overrides
|
||||||
*/
|
*/
|
||||||
@@ -64,6 +92,7 @@ gcal_context_finalize (GObject *object)
|
|||||||
gcal_weather_service_stop (self->weather_service);
|
gcal_weather_service_stop (self->weather_service);
|
||||||
|
|
||||||
g_clear_object (&self->clock);
|
g_clear_object (&self->clock);
|
||||||
|
g_clear_object (&self->desktop_settings);
|
||||||
g_clear_object (&self->goa_client);
|
g_clear_object (&self->goa_client);
|
||||||
g_clear_object (&self->manager);
|
g_clear_object (&self->manager);
|
||||||
g_clear_object (&self->night_light_monitor);
|
g_clear_object (&self->night_light_monitor);
|
||||||
@@ -98,6 +127,10 @@ gcal_context_get_property (GObject *object,
|
|||||||
g_value_set_object (value, self->settings);
|
g_value_set_object (value, self->settings);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case PROP_TIME_FORMAT:
|
||||||
|
g_value_set_enum (value, self->time_format);
|
||||||
|
break;
|
||||||
|
|
||||||
case PROP_WEATHER_SERVICE:
|
case PROP_WEATHER_SERVICE:
|
||||||
g_value_set_object (value, self->weather_service);
|
g_value_set_object (value, self->weather_service);
|
||||||
break;
|
break;
|
||||||
@@ -119,6 +152,7 @@ gcal_context_set_property (GObject *object,
|
|||||||
case PROP_GOA_CLIENT:
|
case PROP_GOA_CLIENT:
|
||||||
case PROP_MANAGER:
|
case PROP_MANAGER:
|
||||||
case PROP_SETTINGS:
|
case PROP_SETTINGS:
|
||||||
|
case PROP_TIME_FORMAT:
|
||||||
case PROP_WEATHER_SERVICE:
|
case PROP_WEATHER_SERVICE:
|
||||||
default:
|
default:
|
||||||
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
|
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
|
||||||
@@ -158,6 +192,13 @@ gcal_context_class_init (GcalContextClass *klass)
|
|||||||
G_TYPE_SETTINGS,
|
G_TYPE_SETTINGS,
|
||||||
G_PARAM_READABLE | G_PARAM_EXPLICIT_NOTIFY | G_PARAM_STATIC_STRINGS);
|
G_PARAM_READABLE | G_PARAM_EXPLICIT_NOTIFY | G_PARAM_STATIC_STRINGS);
|
||||||
|
|
||||||
|
properties[PROP_TIME_FORMAT] = g_param_spec_enum ("time-format",
|
||||||
|
"Time format",
|
||||||
|
"System time format",
|
||||||
|
GCAL_TYPE_TIME_FORMAT,
|
||||||
|
GCAL_TIME_FORMAT_24H,
|
||||||
|
G_PARAM_READABLE | G_PARAM_EXPLICIT_NOTIFY | G_PARAM_STATIC_STRINGS);
|
||||||
|
|
||||||
properties[PROP_WEATHER_SERVICE] = g_param_spec_object ("weather-service",
|
properties[PROP_WEATHER_SERVICE] = g_param_spec_object ("weather-service",
|
||||||
"Weather service",
|
"Weather service",
|
||||||
"Weather service",
|
"Weather service",
|
||||||
@@ -177,6 +218,15 @@ gcal_context_init (GcalContext *self)
|
|||||||
self->weather_service = gcal_weather_service_new ();
|
self->weather_service = gcal_weather_service_new ();
|
||||||
|
|
||||||
self->night_light_monitor = gcal_night_light_monitor_new (self);
|
self->night_light_monitor = gcal_night_light_monitor_new (self);
|
||||||
|
|
||||||
|
/* Time format */
|
||||||
|
self->desktop_settings = g_settings_new ("org.gnome.desktop.interface");
|
||||||
|
g_signal_connect_object (self->desktop_settings,
|
||||||
|
"changed::clock-format",
|
||||||
|
G_CALLBACK (load_time_format),
|
||||||
|
self,
|
||||||
|
G_CONNECT_SWAPPED);
|
||||||
|
load_time_format (self);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -253,6 +303,21 @@ gcal_context_get_settings (GcalContext *self)
|
|||||||
return self->settings;
|
return self->settings;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* gcal_context_get_time_format:
|
||||||
|
*
|
||||||
|
* Retrieves the #GcalTimeFormat from @self.
|
||||||
|
*
|
||||||
|
* Returns: a #GcalTimeFormat
|
||||||
|
*/
|
||||||
|
GcalTimeFormat
|
||||||
|
gcal_context_get_time_format (GcalContext *self)
|
||||||
|
{
|
||||||
|
g_return_val_if_fail (GCAL_IS_CONTEXT (self), 0);
|
||||||
|
|
||||||
|
return self->time_format;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* gcal_context_get_weather_service:
|
* gcal_context_get_weather_service:
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -21,6 +21,7 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include "gcal-clock.h"
|
#include "gcal-clock.h"
|
||||||
|
#include "gcal-enums.h"
|
||||||
#include "gcal-manager.h"
|
#include "gcal-manager.h"
|
||||||
#include "weather/gcal-weather-service.h"
|
#include "weather/gcal-weather-service.h"
|
||||||
|
|
||||||
@@ -42,6 +43,8 @@ GcalManager* gcal_context_get_manager (GcalContext
|
|||||||
|
|
||||||
GSettings* gcal_context_get_settings (GcalContext *self);
|
GSettings* gcal_context_get_settings (GcalContext *self);
|
||||||
|
|
||||||
|
GcalTimeFormat gcal_context_get_time_format (GcalContext *self);
|
||||||
|
|
||||||
GcalWeatherService* gcal_context_get_weather_service (GcalContext *self);
|
GcalWeatherService* gcal_context_get_weather_service (GcalContext *self);
|
||||||
|
|
||||||
G_END_DECLS
|
G_END_DECLS
|
||||||
|
|||||||
+17
-43
@@ -108,7 +108,6 @@ struct _GcalEditDialog
|
|||||||
ESource *selected_source;
|
ESource *selected_source;
|
||||||
|
|
||||||
/* flags */
|
/* flags */
|
||||||
GcalTimeFormat time_format;
|
|
||||||
gboolean event_is_new;
|
gboolean event_is_new;
|
||||||
gboolean recurrence_changed;
|
gboolean recurrence_changed;
|
||||||
gboolean setting_event;
|
gboolean setting_event;
|
||||||
@@ -142,7 +141,6 @@ enum
|
|||||||
PROP_0,
|
PROP_0,
|
||||||
PROP_CONTEXT,
|
PROP_CONTEXT,
|
||||||
PROP_EVENT,
|
PROP_EVENT,
|
||||||
PROP_TIME_FORMAT,
|
|
||||||
PROP_WRITABLE,
|
PROP_WRITABLE,
|
||||||
N_PROPS
|
N_PROPS
|
||||||
};
|
};
|
||||||
@@ -1020,6 +1018,17 @@ on_sound_toggle_changed_cb (GtkToggleButton *button,
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
on_time_format_changed_cb (GcalEditDialog *self)
|
||||||
|
{
|
||||||
|
GcalTimeFormat time_format;
|
||||||
|
|
||||||
|
time_format = gcal_context_get_time_format (self->context);
|
||||||
|
|
||||||
|
gcal_time_selector_set_time_format (GCAL_TIME_SELECTOR (self->start_time_selector), time_format);
|
||||||
|
gcal_time_selector_set_time_format (GCAL_TIME_SELECTOR (self->end_time_selector), time_format);
|
||||||
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
setup_alarms (GcalEditDialog *self)
|
setup_alarms (GcalEditDialog *self)
|
||||||
{
|
{
|
||||||
@@ -1179,10 +1188,6 @@ gcal_edit_dialog_get_property (GObject *object,
|
|||||||
g_value_set_object (value, self->context);
|
g_value_set_object (value, self->context);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case PROP_TIME_FORMAT:
|
|
||||||
g_value_set_enum (value, self->time_format);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case PROP_WRITABLE:
|
case PROP_WRITABLE:
|
||||||
g_value_set_boolean (value, self->writable);
|
g_value_set_boolean (value, self->writable);
|
||||||
break;
|
break;
|
||||||
@@ -1208,10 +1213,12 @@ gcal_edit_dialog_set_property (GObject *object,
|
|||||||
|
|
||||||
case PROP_CONTEXT:
|
case PROP_CONTEXT:
|
||||||
self->context = g_value_dup_object (value);
|
self->context = g_value_dup_object (value);
|
||||||
break;
|
g_signal_connect_object (self->context,
|
||||||
|
"notify::time-format",
|
||||||
case PROP_TIME_FORMAT:
|
G_CALLBACK (on_time_format_changed_cb),
|
||||||
gcal_edit_dialog_set_time_format (self, g_value_get_enum (value));
|
self,
|
||||||
|
G_CONNECT_SWAPPED);
|
||||||
|
on_time_format_changed_cb (self);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case PROP_WRITABLE:
|
case PROP_WRITABLE:
|
||||||
@@ -1259,18 +1266,6 @@ gcal_edit_dialog_class_init (GcalEditDialogClass *klass)
|
|||||||
GCAL_TYPE_MANAGER,
|
GCAL_TYPE_MANAGER,
|
||||||
G_PARAM_READWRITE | G_PARAM_EXPLICIT_NOTIFY | G_PARAM_STATIC_STRINGS);
|
G_PARAM_READWRITE | G_PARAM_EXPLICIT_NOTIFY | G_PARAM_STATIC_STRINGS);
|
||||||
|
|
||||||
/**
|
|
||||||
* GcalEditDialog::time-format:
|
|
||||||
*
|
|
||||||
* The time format.
|
|
||||||
*/
|
|
||||||
properties[PROP_TIME_FORMAT] = g_param_spec_enum ("time-format",
|
|
||||||
"Manager of the dialog",
|
|
||||||
"The manager of the dialog",
|
|
||||||
GCAL_TYPE_TIME_FORMAT,
|
|
||||||
GCAL_TIME_FORMAT_24H,
|
|
||||||
G_PARAM_READWRITE | G_PARAM_EXPLICIT_NOTIFY | G_PARAM_STATIC_STRINGS);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* GcalEditDialog::writable:
|
* GcalEditDialog::writable:
|
||||||
*
|
*
|
||||||
@@ -1364,27 +1359,6 @@ gcal_edit_dialog_new (void)
|
|||||||
return g_object_new (GCAL_TYPE_EDIT_DIALOG, NULL);
|
return g_object_new (GCAL_TYPE_EDIT_DIALOG, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* gcal_edit_dialog_set_time_format:
|
|
||||||
* @dialog: a #GcalDialog
|
|
||||||
* @use_24h_format: %TRUE to use 24h format, %FALSE otherwise
|
|
||||||
*
|
|
||||||
* Sets the time format to be used by @dialog.
|
|
||||||
*/
|
|
||||||
void
|
|
||||||
gcal_edit_dialog_set_time_format (GcalEditDialog *self,
|
|
||||||
GcalTimeFormat time_format)
|
|
||||||
{
|
|
||||||
g_return_if_fail (GCAL_IS_EDIT_DIALOG (self));
|
|
||||||
|
|
||||||
self->time_format = time_format;
|
|
||||||
|
|
||||||
gcal_time_selector_set_time_format (GCAL_TIME_SELECTOR (self->start_time_selector), self->time_format);
|
|
||||||
gcal_time_selector_set_time_format (GCAL_TIME_SELECTOR (self->end_time_selector), self->time_format);
|
|
||||||
|
|
||||||
g_object_notify_by_pspec (G_OBJECT (self), properties[PROP_TIME_FORMAT]);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* gcal_edit_dialog_set_event_is_new:
|
* gcal_edit_dialog_set_event_is_new:
|
||||||
* @dialog: a #GcalDialog
|
* @dialog: a #GcalDialog
|
||||||
|
|||||||
@@ -19,7 +19,6 @@
|
|||||||
#ifndef __GCAL_EDIT_DIALOG_H__
|
#ifndef __GCAL_EDIT_DIALOG_H__
|
||||||
#define __GCAL_EDIT_DIALOG_H__
|
#define __GCAL_EDIT_DIALOG_H__
|
||||||
|
|
||||||
#include "gcal-enums.h"
|
|
||||||
#include "gcal-event.h"
|
#include "gcal-event.h"
|
||||||
#include "gcal-manager.h"
|
#include "gcal-manager.h"
|
||||||
|
|
||||||
@@ -45,9 +44,6 @@ GcalEvent* gcal_edit_dialog_get_event (GcalEditDialog *d
|
|||||||
void gcal_edit_dialog_set_event (GcalEditDialog *dialog,
|
void gcal_edit_dialog_set_event (GcalEditDialog *dialog,
|
||||||
GcalEvent *event);
|
GcalEvent *event);
|
||||||
|
|
||||||
void gcal_edit_dialog_set_time_format (GcalEditDialog *dialog,
|
|
||||||
GcalTimeFormat time_format);
|
|
||||||
|
|
||||||
gboolean gcal_edit_dialog_get_recurrence_changed (GcalEditDialog *self);
|
gboolean gcal_edit_dialog_get_recurrence_changed (GcalEditDialog *self);
|
||||||
|
|
||||||
GcalRecurrenceModType gcal_edit_dialog_get_recurrence_mod_type (GcalEditDialog *self);
|
GcalRecurrenceModType gcal_edit_dialog_get_recurrence_mod_type (GcalEditDialog *self);
|
||||||
|
|||||||
@@ -61,7 +61,6 @@ struct _GcalSearchPopover
|
|||||||
GcalManager *manager; /* weak reference */
|
GcalManager *manager; /* weak reference */
|
||||||
|
|
||||||
/* flags */
|
/* flags */
|
||||||
GcalTimeFormat time_format;
|
|
||||||
gboolean subscribed;
|
gboolean subscribed;
|
||||||
|
|
||||||
GcalContext *context;
|
GcalContext *context;
|
||||||
@@ -72,7 +71,7 @@ enum
|
|||||||
PROP_0,
|
PROP_0,
|
||||||
PROP_CONTEXT,
|
PROP_CONTEXT,
|
||||||
PROP_DATE,
|
PROP_DATE,
|
||||||
PROP_TIME_FORMAT,
|
N_PROPS,
|
||||||
};
|
};
|
||||||
|
|
||||||
enum
|
enum
|
||||||
@@ -296,8 +295,11 @@ make_row_for_event (GcalSearchPopover *self,
|
|||||||
/* show 'all day' instead of 00:00 */
|
/* show 'all day' instead of 00:00 */
|
||||||
if (!gcal_event_get_all_day (event))
|
if (!gcal_event_get_all_day (event))
|
||||||
{
|
{
|
||||||
|
GcalTimeFormat time_format;
|
||||||
|
|
||||||
|
time_format = gcal_context_get_time_format (self->context);
|
||||||
text = g_date_time_format (local_datetime,
|
text = g_date_time_format (local_datetime,
|
||||||
self->time_format == GCAL_TIME_FORMAT_24H ? "%R" : "%r");
|
time_format == GCAL_TIME_FORMAT_24H ? "%R" : "%r");
|
||||||
time_label = gtk_label_new (text);
|
time_label = gtk_label_new (text);
|
||||||
g_free (text);
|
g_free (text);
|
||||||
}
|
}
|
||||||
@@ -593,10 +595,6 @@ gcal_search_popover_set_property (GObject *object,
|
|||||||
self->date = g_value_dup_boxed (value);
|
self->date = g_value_dup_boxed (value);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case PROP_TIME_FORMAT:
|
|
||||||
self->time_format = g_value_get_enum (value);
|
|
||||||
break;
|
|
||||||
|
|
||||||
default:
|
default:
|
||||||
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
|
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
|
||||||
break;
|
break;
|
||||||
@@ -621,10 +619,6 @@ gcal_search_popover_get_property (GObject *object,
|
|||||||
g_value_set_boxed (value, self->date);
|
g_value_set_boxed (value, self->date);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case PROP_TIME_FORMAT:
|
|
||||||
g_value_set_enum (value, self->time_format);
|
|
||||||
break;
|
|
||||||
|
|
||||||
default:
|
default:
|
||||||
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
|
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
|
||||||
break;
|
break;
|
||||||
@@ -700,15 +694,6 @@ gcal_search_popover_class_init (GcalSearchPopoverClass *klass)
|
|||||||
ICAL_TIME_TYPE,
|
ICAL_TIME_TYPE,
|
||||||
G_PARAM_READWRITE));
|
G_PARAM_READWRITE));
|
||||||
|
|
||||||
g_object_class_install_property (object_class,
|
|
||||||
PROP_TIME_FORMAT,
|
|
||||||
g_param_spec_enum ("time-format",
|
|
||||||
"The time format",
|
|
||||||
"The time format",
|
|
||||||
GCAL_TYPE_TIME_FORMAT,
|
|
||||||
GCAL_TIME_FORMAT_24H,
|
|
||||||
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
|
|
||||||
|
|
||||||
/* 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/search-popover.ui");
|
gtk_widget_class_set_template_from_resource (GTK_WIDGET_CLASS (klass), "/org/gnome/calendar/search-popover.ui");
|
||||||
|
|
||||||
|
|||||||
@@ -157,8 +157,6 @@ struct _GcalWindow
|
|||||||
|
|
||||||
gint open_edit_dialog_timeout_id;
|
gint open_edit_dialog_timeout_id;
|
||||||
|
|
||||||
GcalTimeFormat time_format;
|
|
||||||
|
|
||||||
/* weather management */
|
/* weather management */
|
||||||
GcalWeatherSettings *weather_settings;
|
GcalWeatherSettings *weather_settings;
|
||||||
|
|
||||||
@@ -183,7 +181,6 @@ enum
|
|||||||
PROP_ACTIVE_VIEW,
|
PROP_ACTIVE_VIEW,
|
||||||
PROP_CONTEXT,
|
PROP_CONTEXT,
|
||||||
PROP_NEW_EVENT_MODE,
|
PROP_NEW_EVENT_MODE,
|
||||||
PROP_TIME_FORMAT,
|
|
||||||
N_PROPS
|
N_PROPS
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -1259,9 +1256,6 @@ gcal_window_constructed (GObject *object)
|
|||||||
g_object_bind_property (self, "context", self->edit_dialog, "context", G_BINDING_DEFAULT | G_BINDING_SYNC_CREATE);
|
g_object_bind_property (self, "context", self->edit_dialog, "context", G_BINDING_DEFAULT | G_BINDING_SYNC_CREATE);
|
||||||
g_object_bind_property (self, "context", self->search_popover, "context", G_BINDING_DEFAULT | G_BINDING_SYNC_CREATE);
|
g_object_bind_property (self, "context", self->search_popover, "context", G_BINDING_DEFAULT | G_BINDING_SYNC_CREATE);
|
||||||
g_object_bind_property (self->context, "manager", self->quick_add_popover, "manager", G_BINDING_DEFAULT | G_BINDING_SYNC_CREATE);
|
g_object_bind_property (self->context, "manager", self->quick_add_popover, "manager", G_BINDING_DEFAULT | G_BINDING_SYNC_CREATE);
|
||||||
g_object_bind_property (self, "time-format", self->edit_dialog, "time-format", G_BINDING_DEFAULT | G_BINDING_SYNC_CREATE);
|
|
||||||
g_object_bind_property (self, "time-format", self->search_popover, "time-format", G_BINDING_DEFAULT | G_BINDING_SYNC_CREATE);
|
|
||||||
g_object_bind_property (self, "time-format", self->week_view, "time-format", G_BINDING_DEFAULT | G_BINDING_SYNC_CREATE);
|
|
||||||
|
|
||||||
GCAL_EXIT;
|
GCAL_EXIT;
|
||||||
}
|
}
|
||||||
@@ -1326,14 +1320,6 @@ gcal_window_set_property (GObject *object,
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case PROP_TIME_FORMAT:
|
|
||||||
if (self->time_format != g_value_get_enum (value))
|
|
||||||
{
|
|
||||||
self->time_format = g_value_get_enum (value);
|
|
||||||
g_object_notify_by_pspec (object, properties[PROP_TIME_FORMAT]);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
default:
|
default:
|
||||||
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
|
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
|
||||||
}
|
}
|
||||||
@@ -1367,10 +1353,6 @@ gcal_window_get_property (GObject *object,
|
|||||||
g_value_set_object (value, self->context);
|
g_value_set_object (value, self->context);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case PROP_TIME_FORMAT:
|
|
||||||
g_value_set_enum (value, self->time_format);
|
|
||||||
break;
|
|
||||||
|
|
||||||
default:
|
default:
|
||||||
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
|
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
|
||||||
}
|
}
|
||||||
@@ -1449,13 +1431,6 @@ gcal_window_class_init (GcalWindowClass *klass)
|
|||||||
FALSE,
|
FALSE,
|
||||||
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
|
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
|
||||||
|
|
||||||
properties[PROP_TIME_FORMAT] = g_param_spec_enum ("time-format",
|
|
||||||
"The time format of the computer",
|
|
||||||
"The time format of the computer",
|
|
||||||
GCAL_TYPE_TIME_FORMAT,
|
|
||||||
GCAL_TIME_FORMAT_24H,
|
|
||||||
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
|
|
||||||
|
|
||||||
g_object_class_install_properties (object_class, N_PROPS, properties);
|
g_object_class_install_properties (object_class, N_PROPS, properties);
|
||||||
|
|
||||||
gtk_widget_class_set_template_from_resource (widget_class, "/org/gnome/calendar/window.ui");
|
gtk_widget_class_set_template_from_resource (widget_class, "/org/gnome/calendar/window.ui");
|
||||||
@@ -1531,8 +1506,6 @@ gcal_window_init (GcalWindow *self)
|
|||||||
G_N_ELEMENTS (actions),
|
G_N_ELEMENTS (actions),
|
||||||
self);
|
self);
|
||||||
|
|
||||||
self->time_format = GCAL_TIME_FORMAT_24H;
|
|
||||||
|
|
||||||
gtk_widget_init_template (GTK_WIDGET (self));
|
gtk_widget_init_template (GTK_WIDGET (self));
|
||||||
|
|
||||||
self->views[GCAL_WINDOW_VIEW_WEEK] = self->week_view;
|
self->views[GCAL_WINDOW_VIEW_WEEK] = self->week_view;
|
||||||
|
|||||||
+10
-22
@@ -48,8 +48,6 @@ struct _GcalWeekView
|
|||||||
GtkWidget *scrolled_window;
|
GtkWidget *scrolled_window;
|
||||||
GtkWidget *week_grid;
|
GtkWidget *week_grid;
|
||||||
|
|
||||||
GcalTimeFormat time_format;
|
|
||||||
|
|
||||||
/* property */
|
/* property */
|
||||||
icaltimetype *date;
|
icaltimetype *date;
|
||||||
GcalContext *context;
|
GcalContext *context;
|
||||||
@@ -70,7 +68,6 @@ enum
|
|||||||
PROP_0,
|
PROP_0,
|
||||||
PROP_DATE,
|
PROP_DATE,
|
||||||
PROP_CONTEXT,
|
PROP_CONTEXT,
|
||||||
PROP_TIME_FORMAT,
|
|
||||||
NUM_PROPS
|
NUM_PROPS
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -383,6 +380,7 @@ gcal_week_view_draw_hours (GcalWeekView *self,
|
|||||||
GtkWidget *widget)
|
GtkWidget *widget)
|
||||||
{
|
{
|
||||||
GtkStyleContext *context;
|
GtkStyleContext *context;
|
||||||
|
GcalTimeFormat time_format;
|
||||||
GtkStateFlags state;
|
GtkStateFlags state;
|
||||||
GtkBorder padding;
|
GtkBorder padding;
|
||||||
GdkRGBA color;
|
GdkRGBA color;
|
||||||
@@ -394,6 +392,7 @@ gcal_week_view_draw_hours (GcalWeekView *self,
|
|||||||
PangoLayout *layout;
|
PangoLayout *layout;
|
||||||
PangoFontDescription *font_desc;
|
PangoFontDescription *font_desc;
|
||||||
|
|
||||||
|
time_format = gcal_context_get_time_format (self->context);
|
||||||
context = gtk_widget_get_style_context (widget);
|
context = gtk_widget_get_style_context (widget);
|
||||||
state = gtk_widget_get_state_flags (widget);
|
state = gtk_widget_get_state_flags (widget);
|
||||||
ltr = gtk_widget_get_direction (widget) != GTK_TEXT_DIR_RTL;
|
ltr = gtk_widget_get_direction (widget) != GTK_TEXT_DIR_RTL;
|
||||||
@@ -418,7 +417,7 @@ gcal_week_view_draw_hours (GcalWeekView *self,
|
|||||||
{
|
{
|
||||||
gchar *hours;
|
gchar *hours;
|
||||||
|
|
||||||
if (self->time_format == GCAL_TIME_FORMAT_24H)
|
if (time_format == GCAL_TIME_FORMAT_24H)
|
||||||
{
|
{
|
||||||
hours = g_strdup_printf ("%02d:00", i);
|
hours = g_strdup_printf ("%02d:00", i);
|
||||||
}
|
}
|
||||||
@@ -528,12 +527,14 @@ gcal_week_view_set_property (GObject *object,
|
|||||||
|
|
||||||
gcal_week_grid_set_context (GCAL_WEEK_GRID (self->week_grid), self->context);
|
gcal_week_grid_set_context (GCAL_WEEK_GRID (self->week_grid), self->context);
|
||||||
gcal_week_header_set_context (GCAL_WEEK_HEADER (self->header), self->context);
|
gcal_week_header_set_context (GCAL_WEEK_HEADER (self->header), self->context);
|
||||||
g_object_notify (object, "context");
|
|
||||||
break;
|
|
||||||
|
|
||||||
case PROP_TIME_FORMAT:
|
g_signal_connect_object (self->context,
|
||||||
self->time_format = g_value_get_enum (value);
|
"notify::time-format",
|
||||||
gtk_widget_queue_draw (self->hours_bar);
|
G_CALLBACK (gtk_widget_queue_draw),
|
||||||
|
self->hours_bar,
|
||||||
|
G_CONNECT_SWAPPED);
|
||||||
|
|
||||||
|
g_object_notify (object, "context");
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
@@ -563,10 +564,6 @@ gcal_week_view_get_property (GObject *object,
|
|||||||
g_value_set_object (value, self->context);
|
g_value_set_object (value, self->context);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case PROP_TIME_FORMAT:
|
|
||||||
g_value_set_enum (value, self->time_format);
|
|
||||||
break;
|
|
||||||
|
|
||||||
default:
|
default:
|
||||||
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
|
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
|
||||||
break;
|
break;
|
||||||
@@ -589,15 +586,6 @@ gcal_week_view_class_init (GcalWeekViewClass *klass)
|
|||||||
g_object_class_override_property (object_class, PROP_DATE, "active-date");
|
g_object_class_override_property (object_class, PROP_DATE, "active-date");
|
||||||
g_object_class_override_property (object_class, PROP_CONTEXT, "context");
|
g_object_class_override_property (object_class, PROP_CONTEXT, "context");
|
||||||
|
|
||||||
g_object_class_install_property (object_class,
|
|
||||||
PROP_TIME_FORMAT,
|
|
||||||
g_param_spec_enum ("time-format",
|
|
||||||
"Time format",
|
|
||||||
"Time format",
|
|
||||||
GCAL_TYPE_TIME_FORMAT,
|
|
||||||
GCAL_TIME_FORMAT_24H,
|
|
||||||
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
|
|
||||||
|
|
||||||
gtk_widget_class_set_template_from_resource (widget_class, "/org/gnome/calendar/week-view.ui");
|
gtk_widget_class_set_template_from_resource (widget_class, "/org/gnome/calendar/week-view.ui");
|
||||||
|
|
||||||
gtk_widget_class_bind_template_child (widget_class, GcalWeekView, header);
|
gtk_widget_class_bind_template_child (widget_class, GcalWeekView, header);
|
||||||
|
|||||||
Reference in New Issue
Block a user