Changeset 3310
- Timestamp:
- 10/31/07 14:49:04 (6 years ago)
- Location:
- trunk/src/target/OM-2007.2/applications/openmoko-dialer2
- Files:
-
- 4 added
- 3 edited
- 25 moved
-
ChangeLog (modified) (1 diff)
-
configure.ac (modified) (2 diffs)
-
src/Makefile.am (modified) (1 diff)
-
src/common (added)
-
src/common/Makefile.am (added)
-
src/common/dialer-defines.h (moved) (moved from trunk/src/target/OM-2007.2/applications/openmoko-dialer2/src/dialer-defines.h)
-
src/common/moko-contacts.c (moved) (moved from trunk/src/target/OM-2007.2/applications/openmoko-dialer2/src/moko-contacts.c)
-
src/common/moko-contacts.h (moved) (moved from trunk/src/target/OM-2007.2/applications/openmoko-dialer2/src/moko-contacts.h)
-
src/common/moko-dialer-panel.c (moved) (moved from trunk/src/target/OM-2007.2/applications/openmoko-dialer2/src/moko-dialer-panel.c)
-
src/common/moko-dialer-panel.h (moved) (moved from trunk/src/target/OM-2007.2/applications/openmoko-dialer2/src/moko-dialer-panel.h)
-
src/common/moko-dialer-textview.c (moved) (moved from trunk/src/target/OM-2007.2/applications/openmoko-dialer2/src/moko-dialer-textview.c)
-
src/common/moko-dialer-textview.h (moved) (moved from trunk/src/target/OM-2007.2/applications/openmoko-dialer2/src/moko-dialer-textview.h)
-
src/common/moko-digit-button.c (moved) (moved from trunk/src/target/OM-2007.2/applications/openmoko-dialer2/src/moko-digit-button.c)
-
src/common/moko-digit-button.h (moved) (moved from trunk/src/target/OM-2007.2/applications/openmoko-dialer2/src/moko-digit-button.h)
-
src/dialer (added)
-
src/dialer/moko-history.c (moved) (moved from trunk/src/target/OM-2007.2/applications/openmoko-dialer2/src/moko-history.c)
-
src/dialer/moko-history.h (moved) (moved from trunk/src/target/OM-2007.2/applications/openmoko-dialer2/src/moko-history.h)
-
src/dialer/moko-keypad.c (moved) (moved from trunk/src/target/OM-2007.2/applications/openmoko-dialer2/src/moko-keypad.c)
-
src/dialer/moko-keypad.h (moved) (moved from trunk/src/target/OM-2007.2/applications/openmoko-dialer2/src/moko-keypad.h)
-
src/dialer/moko-tips.c (moved) (moved from trunk/src/target/OM-2007.2/applications/openmoko-dialer2/src/moko-tips.c)
-
src/dialer/moko-tips.h (moved) (moved from trunk/src/target/OM-2007.2/applications/openmoko-dialer2/src/moko-tips.h)
-
src/phone-kit (added)
-
src/phone-kit/dialer-main.c (moved) (moved from trunk/src/target/OM-2007.2/applications/openmoko-dialer2/src/dialer-main.c) (6 diffs)
-
src/phone-kit/moko-dialer-dbus.xml (moved) (moved from trunk/src/target/OM-2007.2/applications/openmoko-dialer2/src/moko-dialer-dbus.xml) (2 diffs)
-
src/phone-kit/moko-dialer.c (moved) (moved from trunk/src/target/OM-2007.2/applications/openmoko-dialer2/src/moko-dialer.c) (16 diffs)
-
src/phone-kit/moko-dialer.h (moved) (moved from trunk/src/target/OM-2007.2/applications/openmoko-dialer2/src/moko-dialer.h)
-
src/phone-kit/moko-notify.c (moved) (moved from trunk/src/target/OM-2007.2/applications/openmoko-dialer2/src/moko-notify.c)
-
src/phone-kit/moko-notify.h (moved) (moved from trunk/src/target/OM-2007.2/applications/openmoko-dialer2/src/moko-notify.h)
-
src/phone-kit/moko-sound.c (moved) (moved from trunk/src/target/OM-2007.2/applications/openmoko-dialer2/src/moko-sound.c)
-
src/phone-kit/moko-sound.h (moved) (moved from trunk/src/target/OM-2007.2/applications/openmoko-dialer2/src/moko-sound.h)
-
src/phone-kit/moko-talking.c (moved) (moved from trunk/src/target/OM-2007.2/applications/openmoko-dialer2/src/moko-talking.c)
-
src/phone-kit/moko-talking.h (moved) (moved from trunk/src/target/OM-2007.2/applications/openmoko-dialer2/src/moko-talking.h)
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/target/OM-2007.2/applications/openmoko-dialer2/ChangeLog
r3306 r3310 1 2007-10-31 Thomas Wood <thomas@openedhand.com> 2 3 * configure.ac: 4 * src/*: 5 6 Begin seperation of dialer and phone management 7 1 8 2007-10-30 Thomas Wood <thomas@openedhand.com> 2 9 -
trunk/src/target/OM-2007.2/applications/openmoko-dialer2/configure.ac
r3170 r3310 2 2 AC_INIT(openmoko-dialer, 0.1, http://www.openmoko.org/) 3 3 AM_INIT_AUTOMAKE() 4 AC_CONFIG_SRCDIR(src/ dialer-main.c)4 AC_CONFIG_SRCDIR(src/phone-kit/dialer-main.c) 5 5 AM_CONFIG_HEADER(config.h) 6 6 AM_MAINTAINER_MODE … … 53 53 Makefile 54 54 src/Makefile 55 src/common/Makefile 56 src/dialer/Makefile 57 src/phone-kit/Makefile 55 58 data/Makefile 56 59 ]) -
trunk/src/target/OM-2007.2/applications/openmoko-dialer2/src/Makefile.am
r3170 r3310 1 bin_PROGRAMS = openmoko-dialer 2 3 openmoko_dialer_SOURCES = \ 4 dialer-defines.h \ 5 dialer-main.c \ 6 moko-contacts.c \ 7 moko-contacts.h \ 8 moko-dialer.c \ 9 moko-dialer.h \ 10 moko-dialer-glue.h \ 11 moko-dialer-panel.c \ 12 moko-dialer-panel.h \ 13 moko-dialer-textview.c \ 14 moko-dialer-textview.h \ 15 moko-digit-button.c \ 16 moko-digit-button.h \ 17 moko-history.c \ 18 moko-history.h \ 19 moko-keypad.c \ 20 moko-keypad.h \ 21 moko-notify.c \ 22 moko-notify.h \ 23 moko-talking.c \ 24 moko-talking.h \ 25 moko-tips.c \ 26 moko-tips.h \ 27 moko-sound.c \ 28 moko-sound.h 29 30 openmoko_dialer_CPPFLAGS = -DDATADIR=\"$(datadir)\" \ 31 -DPKGDATADIR=\"$(pkgdatadir)\" 32 openmoko_dialer_CFLAGS = -Wall @DIALER_CFLAGS@ 33 34 openmoko_dialer_LDADD = @DIALER_LIBS@ 35 36 moko-dialer-glue.h: moko-dialer-dbus.xml 37 $(LIBTOOL) --mode=execute $(DBUS_GLIB_BIN)/dbus-binding-tool --prefix=moko_dialer --mode=glib-server --output=$@ $< 38 39 BUILT_SOURCES = \ 40 moko-dialer-glue.h 41 42 EXTRA_DIST = \ 43 moko-dialer-dbus.xml 1 SUBDIRS = common dialer phone-kit 44 2 45 3 46 -
trunk/src/target/OM-2007.2/applications/openmoko-dialer2/src/phone-kit/dialer-main.c
r3309 r3310 19 19 #include <dbus/dbus-glib.h> 20 20 #include <dbus/dbus-glib-bindings.h> 21 #include <glib-object.h> 21 22 22 23 #include <moko-stock.h> … … 27 28 #define DIALER_OBJECT "/org/openmoko/Dialer" 28 29 29 static gboolean show_dialer;30 static gboolean show_missed;31 30 static gchar *number = NULL; 32 33 static GOptionEntry entries[] = {34 {"show-dialer", 's', 0, G_OPTION_ARG_NONE, &show_dialer,35 "Show the dialer at startup", "N"},36 37 {"show-missed", 'm', 0, G_OPTION_ARG_NONE, &show_missed,38 "Show the history window filtered by the missed, none.", "N"},39 40 {"dial", 'd', 0, G_OPTION_ARG_STRING, &number,41 "Dial the specified number.", "N"},42 43 {NULL}44 };45 46 47 static void48 _show_dialer (DBusGConnection *conn)49 {50 DBusGProxy *proxy = NULL;51 GError *error = NULL;52 53 proxy = dbus_g_proxy_new_for_name (conn,54 DIALER_NAMESPACE,55 DIALER_OBJECT,56 DIALER_NAMESPACE);57 58 if (!proxy)59 return;60 61 dbus_g_proxy_call (proxy, "ShowDialer", &error,62 G_TYPE_INVALID, G_TYPE_INVALID);63 if (error)64 g_warning (error->message);65 66 }67 68 static void69 _show_missed (DBusGConnection *conn)70 {71 DBusGProxy *proxy = NULL;72 GError *error = NULL;73 74 proxy = dbus_g_proxy_new_for_name (conn,75 DIALER_NAMESPACE,76 DIALER_OBJECT,77 DIALER_NAMESPACE);78 79 if (!proxy)80 return;81 82 dbus_g_proxy_call (proxy, "ShowMissedCalls", &error,83 G_TYPE_INVALID, G_TYPE_INVALID);84 if (error)85 g_warning (error->message);86 87 }88 31 89 32 static void … … 108 51 109 52 } 53 110 54 int 111 55 main (int argc, char **argv) … … 116 60 GError *error = NULL; 117 61 guint32 ret; 118 /*gchar *out = NULL, *err = NULL;*/119 120 if (argc != 1)121 {122 /* Add init code. */123 GError *error = NULL;124 GOptionContext *context = g_option_context_new ("");125 126 g_option_context_add_main_entries (context, entries, NULL);127 g_option_context_add_group (context, gtk_get_option_group (TRUE));128 g_option_context_parse (context, &argc, &argv, &error);129 130 g_option_context_free (context);131 }132 62 133 63 /* initialise type system */ … … 162 92 if (ret != DBUS_REQUEST_NAME_REPLY_PRIMARY_OWNER) 163 93 { 164 /* Someone else hase registered the object */ 165 166 if (show_missed) 167 _show_missed (connection); 168 else if (number) 94 /* Someone else has registered the object */ 95 if (number) 169 96 _dial_number (connection); 170 else171 _show_dialer (connection);172 97 173 98 dbus_g_connection_unref (connection); … … 196 121 if (number) 197 122 moko_dialer_dial (dialer, number, NULL); 198 else if (show_missed)199 moko_dialer_show_missed_calls (dialer, NULL);200 else if (show_dialer)201 moko_dialer_show_dialer (dialer, NULL);202 123 203 124 gtk_main (); -
trunk/src/target/OM-2007.2/applications/openmoko-dialer2/src/phone-kit/moko-dialer-dbus.xml
r3309 r3310 3 3 <interface name="org.openmoko.Dialer"> 4 4 <annotation name="org.freedesktop.DBus.GLib.CSymbol" value="moko_dialer"/> 5 6 <method name="ShowDialer">7 </method>8 9 <method name="ShowMissedCalls">10 </method>11 12 5 <method name="GetStatus"> 13 6 <arg type="i" name="status" direction="out" /> … … 22 15 </method> 23 16 24 <signal name="IncomingCall">25 <arg type="s" name="number"/>26 </signal>27 <signal name="OutgoingCall">28 <arg type="s" name="number" />29 </signal>17 <signal name="IncomingCall"> 18 <arg type="s" name="number"/> 19 </signal> 20 <signal name="OutgoingCall"> 21 <arg type="s" name="number" /> 22 </signal> 30 23 31 <signal name="Talking">32 </signal>24 <signal name="Talking"> 25 </signal> 33 26 34 <signal name="HungUp">35 </signal>27 <signal name="HungUp"> 28 </signal> 36 29 37 <signal name="Rejected">38 </signal>30 <signal name="Rejected"> 31 </signal> 39 32 40 33 </interface> -
trunk/src/target/OM-2007.2/applications/openmoko-dialer2/src/phone-kit/moko-dialer.c
r3309 r3310 34 34 35 35 #include "moko-contacts.h" 36 #include "moko-history.h"37 #include "moko-keypad.h"38 36 #include "moko-notify.h" 39 37 #include "moko-talking.h" … … 44 42 #define MOKO_DIALER_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE(obj, \ 45 43 MOKO_TYPE_DIALER, MokoDialerPrivate)) 46 47 #define GSM_REGISTER_TIMEOUT 10000 /* Ten seconds after powering up */48 44 49 45 struct _MokoDialerPrivate … … 89 85 static guint dialer_signals[LAST_SIGNAL] = {0, }; 90 86 91 static void on_keypad_dial_clicked (MokoKeypad *keypad,92 const gchar *number,93 MokoDialer *dialer);94 95 87 /* DBus functions */ 96 gboolean97 moko_dialer_show_dialer (MokoDialer *dialer, GError *error)98 {99 MokoDialerPrivate *priv;100 g_return_val_if_fail (MOKO_IS_DIALER (dialer), FALSE);101 priv = dialer->priv;102 103 gtk_widget_show (priv->window);104 gtk_window_present (GTK_WINDOW (priv->window));105 return TRUE;106 }107 108 109 gboolean110 moko_dialer_show_missed_calls (MokoDialer *dialer, GError *error)111 {112 MokoDialerPrivate *priv;113 114 g_return_val_if_fail (MOKO_IS_DIALER (dialer), FALSE);115 priv = dialer->priv;116 117 /* Filter history on missed calls */118 119 moko_history_set_filter (MOKO_HISTORY (priv->history), HISTORY_FILTER_MISSED);120 121 gtk_notebook_set_current_page (GTK_NOTEBOOK (priv->notebook), -1);122 123 gtk_widget_show (priv->window);124 gtk_window_present (GTK_WINDOW (priv->window));125 126 return TRUE;127 }128 88 129 89 static gboolean … … 147 107 g_return_val_if_fail (MOKO_IS_DIALER (dialer), FALSE); 148 108 g_return_val_if_fail (number != NULL, FALSE); 149 g_return_val_if_fail (moko_dialer_show_dialer (dialer, NULL), FALSE); 150 priv = dialer->priv; 151 152 moko_dialer_show_dialer (dialer, NULL); 153 on_keypad_dial_clicked (NULL, number, dialer); 109 priv = dialer->priv; 110 111 /* FIXME: Dial the number! */ 112 154 113 return TRUE; 155 114 } … … 223 182 } 224 183 225 /* Callbacks from widgets */ 226 static void 227 on_keypad_dial_clicked (MokoKeypad *keypad, 228 const gchar *number, 229 MokoDialer *dialer) 230 { 231 GtkWidget *dlg; 232 MokoDialerPrivate *priv; 233 MokoContactEntry *entry = NULL; 234 235 g_return_if_fail (MOKO_IS_DIALER (dialer)); 236 priv = dialer->priv; 237 238 if (!number) { 239 gtk_notebook_set_current_page (GTK_NOTEBOOK (priv->notebook), 1); 240 moko_history_set_filter (MOKO_HISTORY (priv->history), HISTORY_FILTER_DIALED); 241 return; 242 } 243 244 /* check current dialer state */ 245 if (0 || priv->status != DIALER_STATUS_NORMAL) 246 { 247 gchar *strings[] = { 248 "Normal", 249 "Incoming Call", 250 "Dialing", 251 "Outgoing Call" 252 }; 253 dlg = gtk_message_dialog_new (NULL, 0, GTK_MESSAGE_ERROR, GTK_BUTTONS_OK, 254 "Cannot dial when dialer is busy.\nCurrent status = %s", strings[priv->status]); 255 gtk_dialog_run (GTK_DIALOG (dlg)); 256 gtk_widget_destroy (dlg); 257 258 g_warning ("Cannot dial when dialer is busy: %d\n", priv->status); 259 260 return; 261 } 262 priv->status = DIALER_STATUS_DIALING; 263 264 /* check for network connection */ 265 if (priv->registered != MOKO_GSMD_CONNECTION_NETREG_HOME 266 && priv->registered != MOKO_GSMD_CONNECTION_NETREG_ROAMING 267 && priv->registered != MOKO_GSMD_CONNECTION_NETREG_DENIED) 268 { 269 gchar *strings[] = { 270 "None", 271 "Home network registered", 272 "Searching for network", 273 "Network registration denied", 274 "", 275 "Roaming network registered" 276 }; 277 278 dlg = gtk_message_dialog_new (NULL, 0, GTK_MESSAGE_ERROR, GTK_BUTTONS_OK, 279 "Cannot dial number. %s", strings[priv->registered]); 280 gtk_dialog_run (GTK_DIALOG (dlg)); 281 gtk_widget_destroy (dlg); 282 283 /* no point continuing if we're not connected to a network! */ 284 priv->status = DIALER_STATUS_NORMAL; 285 return; 286 } 287 288 entry = moko_contacts_lookup (moko_contacts_get_default (), number); 289 290 /* Prepare a voice journal entry */ 291 if (priv->journal) 292 { 293 priv->entry = moko_journal_entry_new (VOICE_JOURNAL_ENTRY); 294 moko_journal_entry_set_direction (priv->entry, DIRECTION_OUT); 295 moko_journal_entry_set_source (priv->entry, "Openmoko Dialer"); 296 moko_journal_entry_set_gsm_location (priv->entry, &priv->gsm_location); 297 moko_journal_voice_info_set_distant_number (priv->entry, number); 298 if (entry && entry->contact->uid) 299 moko_journal_entry_set_contact_uid (priv->entry, entry->contact->uid); 300 } 301 moko_talking_outgoing_call (MOKO_TALKING (priv->talking), number, entry); 302 303 gtk_notebook_insert_page (GTK_NOTEBOOK (priv->notebook), priv->talking, 304 gtk_image_new_from_file (PKGDATADIR"/phone.png"), 305 0); 306 gtk_container_child_set (GTK_CONTAINER (priv->notebook), priv->talking, 307 "tab-expand", TRUE, 308 NULL); 309 310 gtk_notebook_set_current_page (GTK_NOTEBOOK (priv->notebook), 0); 311 312 gtk_window_present (GTK_WINDOW (priv->window)); 313 314 moko_keypad_set_talking (MOKO_KEYPAD (priv->keypad), TRUE); 315 316 moko_gsmd_connection_voice_dial (priv->connection, number); 317 318 g_signal_emit (G_OBJECT (dialer), dialer_signals[OUTGOING_CALL], 0, number); 319 } 320 184 185 #if 0 321 186 static void 322 187 on_keypad_pin_entry (MokoKeypad *keypad, … … 338 203 g_free (pin); 339 204 } 340 205 #endif 341 206 342 207 static void … … 388 253 389 254 g_signal_emit (G_OBJECT (dialer), dialer_signals[REJECTED], 0); 390 moko_keypad_set_talking (MOKO_KEYPAD (priv->keypad), FALSE);391 255 moko_notify_stop (priv->notify); 392 256 } … … 406 270 407 271 g_signal_emit (G_OBJECT (dialer), dialer_signals[HUNG_UP], 0); 408 moko_keypad_set_talking (MOKO_KEYPAD (priv->keypad), FALSE);409 272 } 410 273 … … 437 300 g_debug ("Speaker toggled"); 438 301 } 439 302 #if 0 440 303 static void 441 304 on_keypad_digit_pressed (MokoKeypad *keypad, … … 454 317 moko_gsmd_connection_voice_dtmf (priv->connection, digit); 455 318 } 456 457 static void 458 on_history_dial_number (MokoHistory *history, 459 const gchar *number, 460 MokoDialer *dialer) 461 { 462 on_keypad_dial_clicked (NULL, number, dialer); 463 } 464 319 #endif 465 320 /* Callbacks for MokoGsmdConnection */ 466 321 static void … … 588 443 priv = dialer->priv; 589 444 590 moko_keypad_set_pin_mode (MOKO_KEYPAD (priv->keypad), TRUE);591 moko_dialer_show_dialer (dialer, NULL);592 445 g_debug ("Pin Requested"); 593 594 446 } 595 447 … … 627 479 628 480 moko_dialer_hung_up (dialer); 629 moko_keypad_set_talking (MOKO_KEYPAD (priv->keypad), FALSE);630 481 631 482 if (priv->incoming_clip) … … 639 490 case MOKO_GSMD_PROG_REJECT: 640 491 moko_dialer_rejected (dialer); 641 moko_keypad_set_talking (MOKO_KEYPAD (priv->keypad), FALSE);642 492 g_debug ("mokogsmd reject"); 643 493 break; … … 647 497 moko_dialer_talking (dialer); 648 498 moko_talking_accepted_call (MOKO_TALKING (priv->talking), NULL, NULL); 649 moko_keypad_set_talking (MOKO_KEYPAD (priv->keypad), TRUE);650 499 651 500 /* Update a journal entry */ … … 868 717 g_signal_connect (G_OBJECT (priv->talking), "speaker_toggle", 869 718 G_CALLBACK (on_talking_speaker_toggle), (gpointer)dialer); 870 719 #if 0 871 720 /* Keypad */ 872 721 priv->keypad = moko_keypad_new (); … … 896 745 gtk_widget_show_all (priv->notebook); 897 746 gtk_notebook_set_current_page (GTK_NOTEBOOK (priv->notebook), 0); 747 #endif 898 748 } 899 749
Note: See TracChangeset
for help on using the changeset viewer.
