Changeset 3689
- Timestamp:
- 12/19/07 13:29:45 (5 years ago)
- Location:
- trunk/src/target/OM-2007.2/applications/openmoko-dialer2
- Files:
-
- 8 edited
-
ChangeLog (modified) (1 diff)
-
configure.ac (modified) (2 diffs)
-
src/phone-kit/Makefile.am (modified) (2 diffs)
-
src/phone-kit/dialer-main.c (modified) (3 diffs)
-
src/phone-kit/moko-dialer.c (modified) (1 diff)
-
src/phone-kit/moko-notify.c (modified) (5 diffs)
-
src/phone-kit/moko-notify.h (modified) (1 diff)
-
src/phone-kit/moko-sms.c (modified) (5 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/target/OM-2007.2/applications/openmoko-dialer2/ChangeLog
r3561 r3689 1 2007-12-19 Chris Lord <chris@openedhand.com> 2 3 * configure.ac: 4 Add AC_GNU_SOURCE for basename(), add libnotify 5 6 * src/phone-kit/Makefile.am: 7 Add libnotify 8 9 * src/phone-kit/dialer-main.c: (main): 10 Initialise libnotify 11 12 * src/phone-kit/moko-dialer.c: (moko_dialer_init): 13 Use moko_notify_get_default() 14 15 * src/phone-kit/moko-notify.c: (moko_notify_start), 16 (moko_notify_stop), (moko_notify_init), (moko_notify_get_default): 17 * src/phone-kit/moko-notify.h: 18 Add moko_notify_get_default() to share MokoNotify with other objects 19 20 * src/phone-kit/moko-sms.c: (update_notification), (note_added_cb), 21 (note_modified_cb), (note_removed_cb), (sms_store_opened_cb), 22 (moko_sms_init): 23 Add notifications with libnotify 24 1 25 2007-12-04 Thomas Wood <thomas@openedhand.com> 2 26 -
trunk/src/target/OM-2007.2/applications/openmoko-dialer2/configure.ac
r3481 r3689 10 10 AC_STDC_HEADERS 11 11 AC_PROG_LIBTOOL 12 AC_GNU_SOURCE 12 13 13 14 # base deps … … 22 23 23 24 PKG_CHECK_MODULES(JANA, libjana libjana-ecal) 25 PKG_CHECK_MODULES(NOTIFY, libnotify) 24 26 25 27 old_cflags=$CFLAGS -
trunk/src/target/OM-2007.2/applications/openmoko-dialer2/src/phone-kit/Makefile.am
r3553 r3689 1 1 AM_CPPFLAGS = -DDATADIR=\"$(datadir)\" -DPKGDATADIR=\"$(pkgdatadir)\" 2 AM_CFLAGS = -Wall @DIALER_CFLAGS@ @JANA_CFLAGS@ 2 AM_CFLAGS = -Wall @DIALER_CFLAGS@ @JANA_CFLAGS@ @NOTIFY_CFLAGS@ 3 3 4 4 INCLUDES = -I$(top_srcdir)/src/common … … 18 18 moko-mcc-dc.h 19 19 20 phone_kit_LDADD = @DIALER_LIBS@ @JANA_LIBS@ $(top_srcdir)/src/common/libdialer-common.a20 phone_kit_LDADD = @DIALER_LIBS@ @JANA_LIBS@ @NOTIFY_LIBS@ $(top_srcdir)/src/common/libdialer-common.a 21 21 22 22 -
trunk/src/target/OM-2007.2/applications/openmoko-dialer2/src/phone-kit/dialer-main.c
r3553 r3689 14 14 */ 15 15 16 #ifdef HAVE_CONFIG_H 17 # include <config.h> 18 #endif 19 16 20 #include <stdio.h> 17 21 #include <stdlib.h> 22 #include <string.h> 18 23 #include <gtk/gtk.h> 19 24 #include <dbus/dbus-glib.h> 20 25 #include <dbus/dbus-glib-bindings.h> 21 26 #include <glib-object.h> 27 #include <libnotify/notify.h> 22 28 23 29 #include "moko-network.h" … … 65 71 GError *error = NULL; 66 72 guint32 ret; 73 char *prog; 67 74 68 75 /* initialise type system */ … … 111 118 /* Initialize Threading & GTK+ */ 112 119 gtk_init (&argc, &argv); 120 121 /* Initialise libnotify */ 122 notify_init (basename (argv[0])); 113 123 114 124 /* Create the PhoneKit objects */ -
trunk/src/target/OM-2007.2/applications/openmoko-dialer2/src/phone-kit/moko-dialer.c
r3553 r3689 812 812 813 813 /* Load the notification object */ 814 priv->notify = moko_notify_ new();814 priv->notify = moko_notify_get_default (); 815 815 816 816 -
trunk/src/target/OM-2007.2/applications/openmoko-dialer2/src/phone-kit/moko-notify.c
r3310 r3689 43 43 struct _MokoNotifyPrivate 44 44 { 45 gbooleanstarted;45 int started; 46 46 47 47 /* Sound stuff */ … … 255 255 priv = notify->priv; 256 256 257 if (priv->started)258 return;259 priv->started = TRUE;257 priv->started ++; 258 if (priv->started != 1) 259 return; 260 260 261 261 moko_notify_check_brightness (); … … 275 275 if (!priv->started) 276 276 return; 277 priv->started = FALSE; 278 279 moko_notify_stop_vibrate (); 280 moko_notify_stop_ringtone (notify); 277 priv->started --; 278 279 if (!priv->started) { 280 moko_notify_stop_vibrate (); 281 moko_notify_stop_ringtone (notify); 282 } 281 283 } 282 284 … … 314 316 priv = notify->priv = MOKO_NOTIFY_GET_PRIVATE (notify); 315 317 316 priv->started = FALSE;318 priv->started = 0; 317 319 priv->pac = NULL; 318 320 … … 345 347 } 346 348 349 MokoNotify* 350 moko_notify_get_default (void) 351 { 352 static MokoNotify *notify = NULL; 353 354 if (!notify) notify = moko_notify_new (); 355 356 return notify; 357 } 358 -
trunk/src/target/OM-2007.2/applications/openmoko-dialer2/src/phone-kit/moko-notify.h
r3310 r3689 67 67 moko_notify_new (void); 68 68 69 MokoNotify* 70 moko_notify_get_default (void); 71 69 72 void 70 73 moko_notify_start (MokoNotify *notify); -
trunk/src/target/OM-2007.2/applications/openmoko-dialer2/src/phone-kit/moko-sms.c
r3553 r3689 27 27 #include <libjana-ecal/jana-ecal.h> 28 28 29 #include <libnotify/notification.h> 30 31 #include <libmokoui2/moko-stock.h> 32 29 33 #include "moko-sms.h" 30 34 #include "moko-network.h" … … 64 68 gboolean sms_store_open; 65 69 JanaNote *last_msg; 70 71 GList *unread_uids; 72 NotifyNotification *notification; 66 73 }; 67 74 … … 401 408 402 409 static void 410 update_notification (MokoSms *sms, gboolean show) 411 { 412 gchar *body; 413 MokoSmsPrivate *priv = sms->priv; 414 415 if (!priv->unread_uids) { 416 notify_notification_close (priv->notification, NULL); 417 return; 418 } 419 420 body = g_strdup_printf ("%d unread message(s)", 421 g_list_length (priv->unread_uids)); 422 g_object_set (G_OBJECT (priv->notification), "body", body, NULL); 423 g_free (body); 424 425 /* Show notification */ 426 if (show) notify_notification_show (priv->notification, NULL); 427 } 428 429 static void 430 note_added_cb (JanaStoreView *store_view, GList *components, MokoSms *sms) 431 { 432 MokoSmsPrivate *priv = sms->priv; 433 gboolean update = FALSE; 434 435 for (; components; components = components->next) { 436 JanaComponent *comp = JANA_COMPONENT (components->data); 437 438 if (!comp) continue; 439 440 if (!jana_utils_component_has_category (comp, "Read")) { 441 gchar *uid = jana_component_get_uid (comp); 442 priv->unread_uids = g_list_prepend (priv->unread_uids, uid); 443 update = TRUE; 444 } 445 } 446 447 /* TODO: Put this in an idle? */ 448 if (update) update_notification (sms, TRUE); 449 } 450 451 static void 452 note_modified_cb (JanaStoreView *store_view, GList *components, MokoSms *sms) 453 { 454 MokoSmsPrivate *priv = sms->priv; 455 gboolean update = FALSE; 456 457 for (; components; components = components->next) { 458 gchar *uid; 459 GList *found; 460 JanaComponent *comp = JANA_COMPONENT (components->data); 461 462 if (!comp) continue; 463 464 uid = jana_component_get_uid (comp); 465 if ((found = g_list_find_custom ( 466 priv->unread_uids, uid, (GCompareFunc)strcmp))) { 467 g_free (uid); 468 if (jana_utils_component_has_category (comp, "Read")) { 469 g_free (found->data); 470 priv->unread_uids = g_list_delete_link (priv->unread_uids, found); 471 update = TRUE; 472 } 473 } else if (!jana_utils_component_has_category (comp, "Read")) { 474 priv->unread_uids = g_list_prepend (priv->unread_uids, uid); 475 update = TRUE; 476 } else { 477 g_free (uid); 478 } 479 } 480 481 if (update) update_notification (sms, FALSE); 482 } 483 484 static void 485 note_removed_cb (JanaStoreView *store_view, GList *uids, MokoSms *sms) 486 { 487 MokoSmsPrivate *priv = sms->priv; 488 gboolean update = FALSE; 489 490 for (; uids; uids = uids->next) { 491 GList *found = g_list_find_custom (priv->unread_uids, uids->data, 492 (GCompareFunc)strcmp); 493 if (found) { 494 g_free (found->data); 495 priv->unread_uids = g_list_delete_link (priv->unread_uids, found); 496 update = TRUE; 497 } 498 } 499 500 if (update) update_notification (sms, FALSE); 501 } 502 503 static void 403 504 start_handling_sms (MokoSms *sms) 404 505 { … … 422 523 sms_store_opened_cb (JanaStore *store, MokoSms *self) 423 524 { 525 JanaStoreView *view; 424 526 MokoSmsPrivate *priv = self->priv; 425 527 priv->sms_store_open = TRUE; 528 529 /* Hook onto added/modified/removed signals for SMS notification */ 530 view = jana_store_get_view (store); 531 g_signal_connect (view, "added", G_CALLBACK (note_added_cb), self); 532 g_signal_connect (view, "modified", G_CALLBACK (note_modified_cb), self); 533 g_signal_connect (view, "removed", G_CALLBACK (note_removed_cb), self); 534 jana_store_view_start (view); 426 535 427 536 if (!priv->handling_sms) start_handling_sms (self); … … 436 545 437 546 priv = sms->priv = MOKO_SMS_GET_PRIVATE (sms); 547 priv->notification = notify_notification_new ("New SMS message", 548 "", 549 MOKO_STOCK_SMS_NEW, 550 NULL); 438 551 439 552 /* Get the SMS note store */
Note: See TracChangeset
for help on using the changeset viewer.
