r3325 - in trunk/src/target/OM-2007.2/applications/openmoko-dialer2: . src/dialer
thomas at sita.openmoko.org
thomas at sita.openmoko.org
Thu Nov 1 18:09:24 CET 2007
Author: thomas
Date: 2007-11-01 18:09:23 +0100 (Thu, 01 Nov 2007)
New Revision: 3325
Modified:
trunk/src/target/OM-2007.2/applications/openmoko-dialer2/ChangeLog
trunk/src/target/OM-2007.2/applications/openmoko-dialer2/src/dialer/dialer-main.c
Log:
* src/dialer/dialer-main.c: (dial_clicked_cb), (main):
- Notify user if there was a problem connecting to dbus
- Switch to history page if dial activated with no number entered
- Clean up code
Modified: trunk/src/target/OM-2007.2/applications/openmoko-dialer2/ChangeLog
===================================================================
--- trunk/src/target/OM-2007.2/applications/openmoko-dialer2/ChangeLog 2007-11-01 17:09:18 UTC (rev 3324)
+++ trunk/src/target/OM-2007.2/applications/openmoko-dialer2/ChangeLog 2007-11-01 17:09:23 UTC (rev 3325)
@@ -1,5 +1,12 @@
2007-11-01 Thomas Wood <thomas at openedhand.com>
+ * src/dialer/dialer-main.c: (dial_clicked_cb), (main):
+ - Notify user if there was a problem connecting to dbus
+ - Switch to history page if dial activated with no number entered
+ - Clean up code
+
+2007-11-01 Thomas Wood <thomas at openedhand.com>
+
* src/phone-kit/moko-dialer.c: (moko_dialer_class_init),
(dialer_display_error), (moko_dialer_init): Reimplement dial out function
Modified: trunk/src/target/OM-2007.2/applications/openmoko-dialer2/src/dialer/dialer-main.c
===================================================================
--- trunk/src/target/OM-2007.2/applications/openmoko-dialer2/src/dialer/dialer-main.c 2007-11-01 17:09:18 UTC (rev 3324)
+++ trunk/src/target/OM-2007.2/applications/openmoko-dialer2/src/dialer/dialer-main.c 2007-11-01 17:09:23 UTC (rev 3325)
@@ -22,41 +22,42 @@
#include <moko-stock.h>
-// #include "moko-dialer.h"
#include "moko-keypad.h"
#include "moko-history.h"
+typedef struct
+{
+ GtkWidget *notebook;
+ GtkWidget *history;
+
+ DBusGProxy *dialer_proxy;
+} DialerData;
+
static gboolean show_missed;
static GOptionEntry entries[] = {
-
{"show-missed", 'm', 0, G_OPTION_ARG_NONE, &show_missed,
"Show the history window filtered by the missed, none.", "N"},
-
{NULL}
};
/* Callbacks from widgets */
static void
-on_keypad_dial_clicked (MokoKeypad *keypad,
- const gchar *number,
- DBusGProxy *proxy)
+dial_clicked_cb (GtkWidget *widget, const gchar *number, DialerData *data)
{
GError *error = NULL;
if (!number)
{
- /*
- gtk_notebook_set_current_page (GTK_NOTEBOOK (priv->notebook), 1);
- moko_history_set_filter (MOKO_HISTORY (priv->history), HISTORY_FILTER_DIALED);
- */
+ gtk_notebook_set_current_page (GTK_NOTEBOOK (data->notebook), 1);
+ moko_history_set_filter (MOKO_HISTORY (data->history), HISTORY_FILTER_DIALED);
return;
}
g_debug ("Dial %s", number);
- dbus_g_proxy_call (proxy, "Dial", &error, G_TYPE_STRING, number, G_TYPE_INVALID, G_TYPE_INVALID);
+ dbus_g_proxy_call (data->dialer_proxy, "Dial", &error, G_TYPE_STRING, number, G_TYPE_INVALID, G_TYPE_INVALID);
if (error)
{
@@ -69,19 +70,17 @@
}
}
-static void
-on_history_dial_number (MokoHistory *history,
- const gchar *number,
- DBusGProxy *proxy)
-{
- on_keypad_dial_clicked (NULL, number, proxy);
-}
-
int main (int argc, char **argv)
{
- GtkWidget *window, *notebook, *keypad, *history;
+ GtkWidget *window, *keypad;
MokoJournal *journal;
+ DBusGConnection *connection;
+ GError *error = NULL;
+ DBusGProxy *proxy;
+ DialerData *data;
+ data = g_new0 (DialerData, 1);
+
if (argc != 1)
{
/* Add init code. */
@@ -95,31 +94,28 @@
g_option_context_free (context);
}
-
/* Initialize Threading & GTK+ */
gtk_init (&argc, &argv);
moko_stock_register ();
-
- DBusGConnection *connection;
- GError *error;
- DBusGProxy *proxy;
-
- g_type_init ();
-
- error = NULL;
connection = dbus_g_bus_get (DBUS_BUS_SESSION,
&error);
if (connection == NULL)
- {
- g_printerr ("Failed to open connection to bus: %s\n",
- error->message);
- g_error_free (error);
- exit (1);
- }
+ {
+ GtkWidget *dlg;
- proxy = dbus_g_proxy_new_for_name (connection, "org.openmoko.Dialer", "/org/openmoko/Dialer", "org.openmoko.Dialer");
+ dlg = gtk_message_dialog_new (NULL, 0, GTK_MESSAGE_ERROR, GTK_BUTTONS_OK,
+ "Failed to open connection to bus: %s", error->message);
+ gtk_dialog_run (GTK_DIALOG (dlg));
+ gtk_widget_destroy (dlg);
+ g_error_free (error);
+ exit (1);
+ }
+
+ data->dialer_proxy = dbus_g_proxy_new_for_name (connection, "org.openmoko.Dialer",
+ "/org/openmoko/Dialer", "org.openmoko.Dialer");
+
/* application object */
g_set_application_name ("OpenMoko Dialer");
@@ -131,42 +127,42 @@
journal = NULL;
}
-
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
- g_signal_connect (G_OBJECT (window), "delete-event",
- (GCallback) gtk_widget_hide_on_delete, NULL);
+ g_signal_connect (window, "delete-event", G_CALLBACK (gtk_main_quit), NULL);
gtk_window_set_title (GTK_WINDOW (window), "Dialer");
/* Notebook */
- notebook = gtk_notebook_new ();
- gtk_notebook_set_tab_pos (GTK_NOTEBOOK (notebook), GTK_POS_BOTTOM);
- gtk_container_add (GTK_CONTAINER (window), notebook);
+ data->notebook = gtk_notebook_new ();
+ gtk_notebook_set_tab_pos (GTK_NOTEBOOK (data->notebook), GTK_POS_BOTTOM);
+ gtk_container_add (GTK_CONTAINER (window), data->notebook);
/* Keypad */
keypad = moko_keypad_new ();
- g_signal_connect (keypad, "dial_number", G_CALLBACK (on_keypad_dial_clicked), proxy);
+ g_signal_connect (keypad, "dial_number", G_CALLBACK (dial_clicked_cb), data);
- gtk_notebook_append_page (GTK_NOTEBOOK (notebook), keypad, gtk_image_new_from_file (PKGDATADIR"/dtmf.png"));
- gtk_container_child_set (GTK_CONTAINER (notebook), keypad, "tab-expand", TRUE, NULL);
+ gtk_notebook_append_page (GTK_NOTEBOOK (data->notebook), keypad, gtk_image_new_from_file (PKGDATADIR"/dtmf.png"));
+ gtk_container_child_set (GTK_CONTAINER (data->notebook), keypad, "tab-expand", TRUE, NULL);
/* History */
- history = moko_history_new (journal);
- g_signal_connect (history, "dial_number", G_CALLBACK (on_history_dial_number), proxy);
- gtk_notebook_append_page (GTK_NOTEBOOK (notebook), history,
+ data->history = moko_history_new (journal);
+ g_signal_connect (data->history, "dial_number", G_CALLBACK (dial_clicked_cb), data);
+ gtk_notebook_append_page (GTK_NOTEBOOK (data->notebook), data->history,
gtk_image_new_from_stock (MOKO_STOCK_CALL_HISTORY,
GTK_ICON_SIZE_BUTTON));
- gtk_container_child_set (GTK_CONTAINER (notebook), history,
+ gtk_container_child_set (GTK_CONTAINER (data->notebook), data->history,
"tab-expand", TRUE,
NULL);
gtk_widget_show_all (window);
+
if (show_missed)
- gtk_notebook_set_current_page (GTK_NOTEBOOK (notebook), 1);
+ gtk_notebook_set_current_page (GTK_NOTEBOOK (data->notebook), 1);
else
- gtk_notebook_set_current_page (GTK_NOTEBOOK (notebook), 0);
+ gtk_notebook_set_current_page (GTK_NOTEBOOK (data->notebook), 0);
gtk_main ();
+ g_free (data);
return 0;
}
More information about the commitlog
mailing list