mirror of
https://gitlab.gnome.org/GNOME/calls.git
synced 2025-01-05 19:15:32 +00:00
Make CallsContacts a singleton
Since passing a CallsContacts pointer down to every class it needs, started to become laborous - especially since the intermediates classes don't need the reference themselves - it was made a singleton * src/calls-contacts.c: Added calls_contacts_get_default () function and removed calls_contacts_new () * src/calls-contacts.h: Added _get_default () prototype and removed the _new () prototype * src/calls-application.c: Use calls_contacts_get_default () now * src/calls-history-box.c: Removed self->contacts completely * src/calls-history-box.h: Got rid of CallsContacts argument in _new() * src/calls-main-window.c: Removed self->contacts completely * src/calls-main-window.h: Got rid of CallsContacts argument in _new() * src/calls-call-record-row.c: Use calls_contacts_get_default () now * src/calls-call-record-row.h: Got rid of CallsContacts argument in _new() * src/calls-call-holder.c: Use calls_contacts_get_default () now * src/calls-call-holder.h: Got rid of CallsContacts argument in _new() * src/calls-call-window.c: Removed self->contacts completely * src/calls-call-window.h: Got rid of CallsContacts argument in _new() * src/calls-notifier.c: Use calls_contacts_get_default () now * src/calls-notifier.h: Got rid of CallsContacts argument in _new()
This commit is contained in:
parent
17e8e4bd24
commit
0f0d10e3f2
11 changed files with 28 additions and 124 deletions
|
@ -339,16 +339,15 @@ start_proper (CallsApplication *self)
|
||||||
self->record_store = calls_record_store_new ();
|
self->record_store = calls_record_store_new ();
|
||||||
g_assert (self->record_store != NULL);
|
g_assert (self->record_store != NULL);
|
||||||
|
|
||||||
self->contacts = calls_contacts_new ();
|
self->contacts = calls_contacts_get_default ();
|
||||||
g_assert (self->contacts != NULL);
|
g_assert (self->contacts != NULL);
|
||||||
|
|
||||||
self->notifier = calls_notifier_new (self->contacts);
|
self->notifier = calls_notifier_new ();
|
||||||
g_assert (CALLS_IS_NOTIFIER (self->notifier));
|
g_assert (CALLS_IS_NOTIFIER (self->notifier));
|
||||||
|
|
||||||
self->main_window = calls_main_window_new
|
self->main_window = calls_main_window_new
|
||||||
(gtk_app,
|
(gtk_app,
|
||||||
G_LIST_MODEL (self->record_store),
|
G_LIST_MODEL (self->record_store));
|
||||||
self->contacts);
|
|
||||||
g_assert (self->main_window != NULL);
|
g_assert (self->main_window != NULL);
|
||||||
|
|
||||||
self->call_window = calls_call_window_new (gtk_app);
|
self->call_window = calls_call_window_new (gtk_app);
|
||||||
|
@ -477,6 +476,7 @@ finalize (GObject *object)
|
||||||
g_clear_object (&self->call_window);
|
g_clear_object (&self->call_window);
|
||||||
g_clear_object (&self->main_window);
|
g_clear_object (&self->main_window);
|
||||||
g_clear_object (&self->record_store);
|
g_clear_object (&self->record_store);
|
||||||
|
g_clear_object (&self->contacts);
|
||||||
g_clear_object (&self->ringer);
|
g_clear_object (&self->ringer);
|
||||||
g_clear_object (&self->notifier);
|
g_clear_object (&self->notifier);
|
||||||
|
|
||||||
|
|
|
@ -24,6 +24,7 @@
|
||||||
|
|
||||||
#include "calls-call-record-row.h"
|
#include "calls-call-record-row.h"
|
||||||
#include "calls-best-match.h"
|
#include "calls-best-match.h"
|
||||||
|
#include "calls-contacts.h"
|
||||||
#include "contrib/hdy-avatar.h"
|
#include "contrib/hdy-avatar.h"
|
||||||
#include "util.h"
|
#include "util.h"
|
||||||
|
|
||||||
|
@ -57,7 +58,6 @@ struct _CallsCallRecordRow
|
||||||
gulong end_notify_handler_id;
|
gulong end_notify_handler_id;
|
||||||
guint date_change_timeout;
|
guint date_change_timeout;
|
||||||
|
|
||||||
CallsContacts *contacts;
|
|
||||||
CallsBestMatch *contact;
|
CallsBestMatch *contact;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -67,7 +67,6 @@ G_DEFINE_TYPE (CallsCallRecordRow, calls_call_record_row, GTK_TYPE_LIST_BOX_ROW)
|
||||||
enum {
|
enum {
|
||||||
PROP_0,
|
PROP_0,
|
||||||
PROP_RECORD,
|
PROP_RECORD,
|
||||||
PROP_CONTACTS,
|
|
||||||
PROP_LAST_PROP,
|
PROP_LAST_PROP,
|
||||||
};
|
};
|
||||||
static GParamSpec *props[PROP_LAST_PROP];
|
static GParamSpec *props[PROP_LAST_PROP];
|
||||||
|
@ -386,10 +385,9 @@ setup_contact (CallsCallRecordRow *self)
|
||||||
|
|
||||||
// Look up the best match object
|
// Look up the best match object
|
||||||
self->contact = calls_contacts_lookup_phone_number
|
self->contact = calls_contacts_lookup_phone_number
|
||||||
(self->contacts, phone_number);
|
(calls_contacts_get_default (), phone_number);
|
||||||
g_assert (self->contact != NULL);
|
g_assert (self->contact != NULL);
|
||||||
g_object_ref (self->contact);
|
g_object_ref (self->contact);
|
||||||
g_clear_object (&self->contacts);
|
|
||||||
e_phone_number_free (phone_number);
|
e_phone_number_free (phone_number);
|
||||||
|
|
||||||
g_signal_connect_swapped (self->contact,
|
g_signal_connect_swapped (self->contact,
|
||||||
|
@ -452,11 +450,6 @@ set_property (GObject *object,
|
||||||
CALLS_CALL_RECORD (g_value_get_object (value)));
|
CALLS_CALL_RECORD (g_value_get_object (value)));
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case PROP_CONTACTS:
|
|
||||||
g_set_object (&self->contacts,
|
|
||||||
CALLS_CONTACTS (g_value_get_object (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;
|
||||||
|
@ -525,7 +518,6 @@ dispose (GObject *object)
|
||||||
CallsCallRecordRow *self = CALLS_CALL_RECORD_ROW (object);
|
CallsCallRecordRow *self = CALLS_CALL_RECORD_ROW (object);
|
||||||
|
|
||||||
g_clear_object (&self->contact);
|
g_clear_object (&self->contact);
|
||||||
g_clear_object (&self->contacts);
|
|
||||||
g_clear_object (&self->action_map);
|
g_clear_object (&self->action_map);
|
||||||
g_clear_object (&self->gesture);
|
g_clear_object (&self->gesture);
|
||||||
|
|
||||||
|
@ -559,13 +551,6 @@ calls_call_record_row_class_init (CallsCallRecordRowClass *klass)
|
||||||
CALLS_TYPE_CALL_RECORD,
|
CALLS_TYPE_CALL_RECORD,
|
||||||
G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY);
|
G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY);
|
||||||
|
|
||||||
props[PROP_CONTACTS] =
|
|
||||||
g_param_spec_object ("contacts",
|
|
||||||
"Contacts",
|
|
||||||
"Interface for libfolks",
|
|
||||||
CALLS_TYPE_CONTACTS,
|
|
||||||
G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY);
|
|
||||||
|
|
||||||
g_object_class_install_properties (object_class, PROP_LAST_PROP, props);
|
g_object_class_install_properties (object_class, PROP_LAST_PROP, props);
|
||||||
|
|
||||||
|
|
||||||
|
@ -632,12 +617,10 @@ calls_call_record_row_init (CallsCallRecordRow *self)
|
||||||
|
|
||||||
|
|
||||||
CallsCallRecordRow *
|
CallsCallRecordRow *
|
||||||
calls_call_record_row_new (CallsCallRecord *record,
|
calls_call_record_row_new (CallsCallRecord *record)
|
||||||
CallsContacts *contacts)
|
|
||||||
{
|
{
|
||||||
return g_object_new (CALLS_TYPE_CALL_RECORD_ROW,
|
return g_object_new (CALLS_TYPE_CALL_RECORD_ROW,
|
||||||
"record", record,
|
"record", record,
|
||||||
"contacts", contacts,
|
|
||||||
NULL);
|
NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -26,7 +26,6 @@
|
||||||
#define CALLS_CALL_RECORD_ROW_H__
|
#define CALLS_CALL_RECORD_ROW_H__
|
||||||
|
|
||||||
#include "calls-call-record.h"
|
#include "calls-call-record.h"
|
||||||
#include "calls-contacts.h"
|
|
||||||
#include "calls-new-call-box.h"
|
#include "calls-new-call-box.h"
|
||||||
|
|
||||||
#include <gtk/gtk.h>
|
#include <gtk/gtk.h>
|
||||||
|
@ -38,8 +37,7 @@ G_BEGIN_DECLS
|
||||||
G_DECLARE_FINAL_TYPE (CallsCallRecordRow, calls_call_record_row,
|
G_DECLARE_FINAL_TYPE (CallsCallRecordRow, calls_call_record_row,
|
||||||
CALLS, CALL_RECORD_ROW, GtkListBoxRow)
|
CALLS, CALL_RECORD_ROW, GtkListBoxRow)
|
||||||
|
|
||||||
CallsCallRecordRow *calls_call_record_row_new (CallsCallRecord *record,
|
CallsCallRecordRow *calls_call_record_row_new (CallsCallRecord *record);
|
||||||
CallsContacts *contacts);
|
|
||||||
CallsCallRecord * calls_call_record_row_get_record (CallsCallRecordRow *self);
|
CallsCallRecord * calls_call_record_row_get_record (CallsCallRecordRow *self);
|
||||||
|
|
||||||
G_END_DECLS
|
G_END_DECLS
|
||||||
|
|
|
@ -141,9 +141,15 @@ calls_contacts_init (CallsContacts *self)
|
||||||
|
|
||||||
|
|
||||||
CallsContacts *
|
CallsContacts *
|
||||||
calls_contacts_new ()
|
calls_contacts_get_default ()
|
||||||
{
|
{
|
||||||
return g_object_new (CALLS_TYPE_CONTACTS, NULL);
|
static CallsContacts *instance;
|
||||||
|
if (instance == NULL)
|
||||||
|
{
|
||||||
|
instance = g_object_new (CALLS_TYPE_CONTACTS, NULL);
|
||||||
|
g_object_add_weak_pointer (G_OBJECT (instance), (gpointer *) &instance);
|
||||||
|
}
|
||||||
|
return instance;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -37,7 +37,7 @@ G_BEGIN_DECLS
|
||||||
|
|
||||||
G_DECLARE_FINAL_TYPE (CallsContacts, calls_contacts, CALLS, CONTACTS, GObject);
|
G_DECLARE_FINAL_TYPE (CallsContacts, calls_contacts, CALLS, CONTACTS, GObject);
|
||||||
|
|
||||||
CallsContacts * calls_contacts_new ();
|
CallsContacts * calls_contacts_get_default ();
|
||||||
CallsBestMatch * calls_contacts_lookup_phone_number (CallsContacts *self,
|
CallsBestMatch * calls_contacts_lookup_phone_number (CallsContacts *self,
|
||||||
EPhoneNumber *number);
|
EPhoneNumber *number);
|
||||||
|
|
||||||
|
|
|
@ -43,7 +43,6 @@ struct _CallsHistoryBox
|
||||||
GListModel *model;
|
GListModel *model;
|
||||||
gulong model_changed_handler_id;
|
gulong model_changed_handler_id;
|
||||||
|
|
||||||
CallsContacts *contacts;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
G_DEFINE_TYPE (CallsHistoryBox, calls_history_box, GTK_TYPE_STACK);
|
G_DEFINE_TYPE (CallsHistoryBox, calls_history_box, GTK_TYPE_STACK);
|
||||||
|
@ -52,7 +51,6 @@ G_DEFINE_TYPE (CallsHistoryBox, calls_history_box, GTK_TYPE_STACK);
|
||||||
enum {
|
enum {
|
||||||
PROP_0,
|
PROP_0,
|
||||||
PROP_MODEL,
|
PROP_MODEL,
|
||||||
PROP_CONTACTS,
|
|
||||||
PROP_LAST_PROP,
|
PROP_LAST_PROP,
|
||||||
};
|
};
|
||||||
static GParamSpec *props[PROP_LAST_PROP];
|
static GParamSpec *props[PROP_LAST_PROP];
|
||||||
|
@ -139,8 +137,7 @@ create_row_cb (CallsCallRecord *record,
|
||||||
CallsHistoryBox *self)
|
CallsHistoryBox *self)
|
||||||
{
|
{
|
||||||
GtkWidget *row_widget;
|
GtkWidget *row_widget;
|
||||||
row_widget = GTK_WIDGET (calls_call_record_row_new (record,
|
row_widget = GTK_WIDGET (calls_call_record_row_new (record));
|
||||||
self->contacts));
|
|
||||||
|
|
||||||
g_signal_connect (record,
|
g_signal_connect (record,
|
||||||
"call-delete",
|
"call-delete",
|
||||||
|
@ -165,11 +162,6 @@ set_property (GObject *object,
|
||||||
G_LIST_MODEL (g_value_get_object (value)));
|
G_LIST_MODEL (g_value_get_object (value)));
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case PROP_CONTACTS:
|
|
||||||
g_set_object (&self->contacts,
|
|
||||||
CALLS_CONTACTS (g_value_get_object (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;
|
||||||
|
@ -211,7 +203,6 @@ dispose (GObject *object)
|
||||||
{
|
{
|
||||||
CallsHistoryBox *self = CALLS_HISTORY_BOX (object);
|
CallsHistoryBox *self = CALLS_HISTORY_BOX (object);
|
||||||
|
|
||||||
g_clear_object (&self->contacts);
|
|
||||||
g_clear_object (&self->model);
|
g_clear_object (&self->model);
|
||||||
|
|
||||||
G_OBJECT_CLASS (calls_history_box_parent_class)->dispose (object);
|
G_OBJECT_CLASS (calls_history_box_parent_class)->dispose (object);
|
||||||
|
@ -235,13 +226,6 @@ calls_history_box_class_init (CallsHistoryBoxClass *klass)
|
||||||
G_TYPE_LIST_MODEL,
|
G_TYPE_LIST_MODEL,
|
||||||
G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY);
|
G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY);
|
||||||
|
|
||||||
props[PROP_CONTACTS] =
|
|
||||||
g_param_spec_object ("contacts",
|
|
||||||
"Contacts",
|
|
||||||
"Interface for libfolks",
|
|
||||||
CALLS_TYPE_CONTACTS,
|
|
||||||
G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY);
|
|
||||||
|
|
||||||
g_object_class_install_properties (object_class, PROP_LAST_PROP, props);
|
g_object_class_install_properties (object_class, PROP_LAST_PROP, props);
|
||||||
|
|
||||||
|
|
||||||
|
@ -258,11 +242,9 @@ calls_history_box_init (CallsHistoryBox *self)
|
||||||
|
|
||||||
|
|
||||||
CallsHistoryBox *
|
CallsHistoryBox *
|
||||||
calls_history_box_new (GListModel *model,
|
calls_history_box_new (GListModel *model)
|
||||||
CallsContacts *contacts)
|
|
||||||
{
|
{
|
||||||
return g_object_new (CALLS_TYPE_HISTORY_BOX,
|
return g_object_new (CALLS_TYPE_HISTORY_BOX,
|
||||||
"model", model,
|
"model", model,
|
||||||
"contacts", contacts,
|
|
||||||
NULL);
|
NULL);
|
||||||
}
|
}
|
||||||
|
|
|
@ -26,7 +26,6 @@
|
||||||
#define CALLS_HISTORY_BOX_H__
|
#define CALLS_HISTORY_BOX_H__
|
||||||
|
|
||||||
#include "calls-new-call-box.h"
|
#include "calls-new-call-box.h"
|
||||||
#include "calls-contacts.h"
|
|
||||||
|
|
||||||
#include <gtk/gtk.h>
|
#include <gtk/gtk.h>
|
||||||
|
|
||||||
|
@ -39,8 +38,7 @@ G_BEGIN_DECLS
|
||||||
|
|
||||||
G_DECLARE_FINAL_TYPE (CallsHistoryBox, calls_history_box, CALLS, HISTORY_BOX, GtkStack);
|
G_DECLARE_FINAL_TYPE (CallsHistoryBox, calls_history_box, CALLS, HISTORY_BOX, GtkStack);
|
||||||
|
|
||||||
CallsHistoryBox * calls_history_box_new (GListModel *model,
|
CallsHistoryBox * calls_history_box_new (GListModel *model);
|
||||||
CallsContacts *contacts);
|
|
||||||
|
|
||||||
G_END_DECLS
|
G_END_DECLS
|
||||||
|
|
||||||
|
|
|
@ -45,7 +45,6 @@ struct _CallsMainWindow
|
||||||
GtkApplicationWindow parent_instance;
|
GtkApplicationWindow parent_instance;
|
||||||
|
|
||||||
GListModel *record_store;
|
GListModel *record_store;
|
||||||
CallsContacts *contacts;
|
|
||||||
|
|
||||||
CallsInAppNotification *in_app_notification;
|
CallsInAppNotification *in_app_notification;
|
||||||
|
|
||||||
|
@ -67,7 +66,6 @@ G_DEFINE_TYPE (CallsMainWindow, calls_main_window, GTK_TYPE_APPLICATION_WINDOW);
|
||||||
enum {
|
enum {
|
||||||
PROP_0,
|
PROP_0,
|
||||||
PROP_RECORD_STORE,
|
PROP_RECORD_STORE,
|
||||||
PROP_CONTACTS,
|
|
||||||
PROP_LAST_PROP,
|
PROP_LAST_PROP,
|
||||||
};
|
};
|
||||||
static GParamSpec *props[PROP_LAST_PROP];
|
static GParamSpec *props[PROP_LAST_PROP];
|
||||||
|
@ -153,11 +151,6 @@ set_property (GObject *object,
|
||||||
G_LIST_MODEL (g_value_get_object (value)));
|
G_LIST_MODEL (g_value_get_object (value)));
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case PROP_CONTACTS:
|
|
||||||
g_set_object (&self->contacts,
|
|
||||||
CALLS_CONTACTS (g_value_get_object (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;
|
||||||
|
@ -220,8 +213,7 @@ constructed (GObject *object)
|
||||||
NULL);
|
NULL);
|
||||||
|
|
||||||
// Add call records
|
// Add call records
|
||||||
history = calls_history_box_new (self->record_store,
|
history = calls_history_box_new (self->record_store);
|
||||||
self->contacts);
|
|
||||||
widget = GTK_WIDGET (history);
|
widget = GTK_WIDGET (history);
|
||||||
gtk_stack_add_titled (self->main_stack, widget,
|
gtk_stack_add_titled (self->main_stack, widget,
|
||||||
"recent", _("Recent"));
|
"recent", _("Recent"));
|
||||||
|
@ -272,7 +264,6 @@ dispose (GObject *object)
|
||||||
{
|
{
|
||||||
CallsMainWindow *self = CALLS_MAIN_WINDOW (object);
|
CallsMainWindow *self = CALLS_MAIN_WINDOW (object);
|
||||||
|
|
||||||
g_clear_object (&self->contacts);
|
|
||||||
g_clear_object (&self->record_store);
|
g_clear_object (&self->record_store);
|
||||||
|
|
||||||
G_OBJECT_CLASS (calls_main_window_parent_class)->dispose (object);
|
G_OBJECT_CLASS (calls_main_window_parent_class)->dispose (object);
|
||||||
|
@ -313,13 +304,6 @@ calls_main_window_class_init (CallsMainWindowClass *klass)
|
||||||
G_TYPE_LIST_MODEL,
|
G_TYPE_LIST_MODEL,
|
||||||
G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY);
|
G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY);
|
||||||
|
|
||||||
props[PROP_CONTACTS] =
|
|
||||||
g_param_spec_object ("contacts",
|
|
||||||
"Contacts",
|
|
||||||
"Interface for libfolks",
|
|
||||||
CALLS_TYPE_CONTACTS,
|
|
||||||
G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY);
|
|
||||||
|
|
||||||
g_object_class_install_properties (object_class, PROP_LAST_PROP, props);
|
g_object_class_install_properties (object_class, PROP_LAST_PROP, props);
|
||||||
|
|
||||||
|
|
||||||
|
@ -347,17 +331,14 @@ calls_main_window_init (CallsMainWindow *self)
|
||||||
|
|
||||||
CallsMainWindow *
|
CallsMainWindow *
|
||||||
calls_main_window_new (GtkApplication *application,
|
calls_main_window_new (GtkApplication *application,
|
||||||
GListModel *record_store,
|
GListModel *record_store)
|
||||||
CallsContacts *contacts)
|
|
||||||
{
|
{
|
||||||
g_return_val_if_fail (GTK_IS_APPLICATION (application), NULL);
|
g_return_val_if_fail (GTK_IS_APPLICATION (application), NULL);
|
||||||
g_return_val_if_fail (G_IS_LIST_MODEL (record_store), NULL);
|
g_return_val_if_fail (G_IS_LIST_MODEL (record_store), NULL);
|
||||||
g_return_val_if_fail (CALLS_IS_CONTACTS (contacts), NULL);
|
|
||||||
|
|
||||||
return g_object_new (CALLS_TYPE_MAIN_WINDOW,
|
return g_object_new (CALLS_TYPE_MAIN_WINDOW,
|
||||||
"application", application,
|
"application", application,
|
||||||
"record-store", record_store,
|
"record-store", record_store,
|
||||||
"contacts", contacts,
|
|
||||||
NULL);
|
NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -27,8 +27,6 @@
|
||||||
|
|
||||||
#include <gtk/gtk.h>
|
#include <gtk/gtk.h>
|
||||||
|
|
||||||
#include "calls-contacts.h"
|
|
||||||
|
|
||||||
G_BEGIN_DECLS
|
G_BEGIN_DECLS
|
||||||
|
|
||||||
#define CALLS_TYPE_MAIN_WINDOW (calls_main_window_get_type ())
|
#define CALLS_TYPE_MAIN_WINDOW (calls_main_window_get_type ())
|
||||||
|
@ -36,8 +34,7 @@ G_BEGIN_DECLS
|
||||||
G_DECLARE_FINAL_TYPE (CallsMainWindow, calls_main_window, CALLS, MAIN_WINDOW, GtkApplicationWindow);
|
G_DECLARE_FINAL_TYPE (CallsMainWindow, calls_main_window, CALLS, MAIN_WINDOW, GtkApplicationWindow);
|
||||||
|
|
||||||
CallsMainWindow *calls_main_window_new (GtkApplication *application,
|
CallsMainWindow *calls_main_window_new (GtkApplication *application,
|
||||||
GListModel *record_store,
|
GListModel *record_store);
|
||||||
CallsContacts *contacts);
|
|
||||||
void calls_main_window_dial (CallsMainWindow *self,
|
void calls_main_window_dial (CallsMainWindow *self,
|
||||||
const gchar *target);
|
const gchar *target);
|
||||||
|
|
||||||
|
|
|
@ -24,26 +24,18 @@
|
||||||
|
|
||||||
#include "calls-notifier.h"
|
#include "calls-notifier.h"
|
||||||
#include "calls-manager.h"
|
#include "calls-manager.h"
|
||||||
|
#include "calls-contacts.h"
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
|
|
||||||
#include <glib/gi18n.h>
|
#include <glib/gi18n.h>
|
||||||
#include <glib-object.h>
|
#include <glib-object.h>
|
||||||
|
|
||||||
enum {
|
|
||||||
PROP_0,
|
|
||||||
PROP_CONTACTS,
|
|
||||||
PROP_LAST_PROP,
|
|
||||||
};
|
|
||||||
static GParamSpec *props[PROP_LAST_PROP];
|
|
||||||
|
|
||||||
struct _CallsNotifier
|
struct _CallsNotifier
|
||||||
{
|
{
|
||||||
GObject parent_instance;
|
GObject parent_instance;
|
||||||
|
|
||||||
GListStore *unanswered;
|
GListStore *unanswered;
|
||||||
GList *notifications;
|
GList *notifications;
|
||||||
|
|
||||||
CallsContacts *contacts;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
G_DEFINE_TYPE (CallsNotifier, calls_notifier, G_TYPE_OBJECT);
|
G_DEFINE_TYPE (CallsNotifier, calls_notifier, G_TYPE_OBJECT);
|
||||||
|
@ -75,7 +67,7 @@ notify (CallsNotifier *self, CallsCall *call)
|
||||||
goto done;
|
goto done;
|
||||||
}
|
}
|
||||||
|
|
||||||
match = calls_contacts_lookup_phone_number (self->contacts, phone_number);
|
match = calls_contacts_lookup_phone_number (calls_contacts_get_default (), phone_number);
|
||||||
if (!match)
|
if (!match)
|
||||||
goto done;
|
goto done;
|
||||||
|
|
||||||
|
@ -172,31 +164,10 @@ calls_notifier_dispose (GObject *object)
|
||||||
|
|
||||||
g_list_store_remove_all (self->unanswered);
|
g_list_store_remove_all (self->unanswered);
|
||||||
g_clear_object (&self->unanswered);
|
g_clear_object (&self->unanswered);
|
||||||
g_clear_object (&self->contacts);
|
|
||||||
|
|
||||||
G_OBJECT_CLASS (calls_notifier_parent_class)->dispose (object);
|
G_OBJECT_CLASS (calls_notifier_parent_class)->dispose (object);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
|
||||||
calls_notifier_set_property (GObject *object,
|
|
||||||
guint property_id,
|
|
||||||
const GValue *value,
|
|
||||||
GParamSpec *pspec)
|
|
||||||
{
|
|
||||||
CallsNotifier *self = CALLS_NOTIFIER (object);
|
|
||||||
|
|
||||||
switch (property_id)
|
|
||||||
{
|
|
||||||
case PROP_CONTACTS:
|
|
||||||
g_set_object (&self->contacts,
|
|
||||||
CALLS_CONTACTS (g_value_get_object (value)));
|
|
||||||
break;
|
|
||||||
|
|
||||||
default:
|
|
||||||
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
calls_notifier_class_init (CallsNotifierClass *klass)
|
calls_notifier_class_init (CallsNotifierClass *klass)
|
||||||
|
@ -205,20 +176,10 @@ calls_notifier_class_init (CallsNotifierClass *klass)
|
||||||
|
|
||||||
object_class->constructed = calls_notifier_constructed;
|
object_class->constructed = calls_notifier_constructed;
|
||||||
object_class->dispose = calls_notifier_dispose;
|
object_class->dispose = calls_notifier_dispose;
|
||||||
object_class->set_property = calls_notifier_set_property;
|
|
||||||
|
|
||||||
props[PROP_CONTACTS] =
|
|
||||||
g_param_spec_object ("contacts",
|
|
||||||
"Contacts",
|
|
||||||
"Interface for libfolks",
|
|
||||||
CALLS_TYPE_CONTACTS,
|
|
||||||
G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY);
|
|
||||||
|
|
||||||
g_object_class_install_properties (object_class, PROP_LAST_PROP, props);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
CallsNotifier *
|
CallsNotifier *
|
||||||
calls_notifier_new (CallsContacts *contacts)
|
calls_notifier_new ()
|
||||||
{
|
{
|
||||||
return g_object_new (CALLS_TYPE_NOTIFIER, "contacts", contacts, NULL);
|
return g_object_new (CALLS_TYPE_NOTIFIER, NULL);
|
||||||
}
|
}
|
||||||
|
|
|
@ -25,8 +25,6 @@
|
||||||
#ifndef CALLS_NOTIFIER_H__
|
#ifndef CALLS_NOTIFIER_H__
|
||||||
#define CALLS_NOTIFIER_H__
|
#define CALLS_NOTIFIER_H__
|
||||||
|
|
||||||
#include "calls-contacts.h"
|
|
||||||
|
|
||||||
#include <glib-object.h>
|
#include <glib-object.h>
|
||||||
|
|
||||||
G_BEGIN_DECLS
|
G_BEGIN_DECLS
|
||||||
|
@ -35,7 +33,7 @@ G_BEGIN_DECLS
|
||||||
|
|
||||||
G_DECLARE_FINAL_TYPE (CallsNotifier, calls_notifier, CALLS, NOTIFIER, GObject);
|
G_DECLARE_FINAL_TYPE (CallsNotifier, calls_notifier, CALLS, NOTIFIER, GObject);
|
||||||
|
|
||||||
CallsNotifier *calls_notifier_new (CallsContacts *contacts);
|
CallsNotifier *calls_notifier_new ();
|
||||||
|
|
||||||
G_END_DECLS
|
G_END_DECLS
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue