#include "modest-ui-constants.h"
#include <hildon/hildon-picker-dialog.h>
-/*
- * For getting and tracking the Bluetooth name
- */
-#define BTNAME_SERVICE "org.bluez"
-#define BTNAME_REQUEST_IF "org.bluez.Adapter"
-#define BTNAME_SIGNAL_IF "org.bluez.Adapter"
-#define BTNAME_SIGNAL_PATH "/org/bluez/hci0"
-
-#define BTNAME_REQ_GET_PROPERTIES "GetProperties"
-#define BTNAME_REQ_DEFAULT_ADAPTER "DefaultAdapter"
-#define BTNAME_SIG_CHANGED "NameChanged"
-
-#define BTNAME_MATCH_RULE "type='signal',interface='" BTNAME_SIGNAL_IF \
- "',member='" BTNAME_SIG_CHANGED "'"
-
/* Label child of a captioned */
#define CAPTIONED_LABEL_CHILD "captioned-label"
modest_maemo_utils_get_osso_context (void)
{
if (!__osso_context)
- g_warning ("%s: __osso_context == NULL", __FUNCTION__);
+ g_debug ("%s: __osso_context == NULL", __FUNCTION__);
return __osso_context;
}
__osso_context = osso_context;
}
-/* static void */
-/* update_device_name_from_msg (DBusMessage *message) */
-/* { */
-/* DBusError error; */
-/* DBusMessageIter iter; */
-
-/* dbus_error_init (&error); */
-
-/* if (dbus_set_error_from_message (&error, message)) { */
-/* g_printerr ("modest: failed to get bluetooth name: %s\n", error.message); */
-/* dbus_error_free (&error); */
-/* } else { */
-/* const gchar *device_name; */
-/* if (!dbus_message_iter_init (message, &iter)) { */
-/* g_printerr ("modest: message did not have argument\n"); */
-/* return; */
-/* } */
-/* dbus_message_iter_get_basic (&iter, &device_name); */
-/* modest_conf_set_string (modest_runtime_get_conf(), */
-/* MODEST_CONF_DEVICE_NAME, device_name, */
-/* NULL); */
-/* } */
-/* } */
-
-
-/* static void */
-/* on_device_name_received (DBusPendingCall *call, void *user_data) */
-/* { */
-/* DBusMessage *message; */
-
-/* g_return_if_fail (dbus_pending_call_get_completed (call)); */
-
-/* message = dbus_pending_call_steal_reply (call); */
-/* if (!message) { */
-/* g_printerr ("modest: no reply on device name query\n"); */
-/* return; */
-/* } */
-
-/* update_device_name_from_msg (message); */
-/* dbus_message_unref (message); */
-/* } */
-
-
-/* static DBusHandlerResult */
-/* handle_dbus_signal (DBusConnection *conn, DBusMessage *msg, gpointer data) */
-/* { */
-/* if (dbus_message_is_signal(msg, BTNAME_SIGNAL_IF, BTNAME_SIG_CHANGED)) */
-/* update_device_name_from_msg (msg); */
-
-/* return DBUS_HANDLER_RESULT_NOT_YET_HANDLED; */
-/* } */
-
static void
-get_properties_cb (DBusPendingCall *call,
- void *user_data)
+get_properties_cb (DBusMessage *message)
{
DBusMessageIter iter;
DBusMessageIter dict_iter;
DBusMessageIter dict_entry_iter;
DBusError err;
gchar *bt_name = NULL;
- DBusMessage *message;
int key_type, array_type, msg_type;
- if ( !dbus_pending_call_get_completed ( call ) )
- g_warning ("%s: Call not completed!", __FUNCTION__);
-
- message = dbus_pending_call_steal_reply ( call );
-
- if (message == NULL)
- g_warning ("%s: Message is NULL", __FUNCTION__);
-
-
dbus_error_init(&err);
if (dbus_set_error_from_message (&err, message)) {
g_warning ("%s: %s", __FUNCTION__, err.message);
}
-
/* Get msg type */
dbus_message_iter_init (message, &iter);
msg_type = dbus_message_iter_get_arg_type (&iter);
if (dict_entry_content_type == DBUS_TYPE_STRING) {
dbus_message_iter_get_basic ( &dict_entry_content_iter, &value );
- if ( strcmp ( key, "Name" ) == 0 ) {
+ if (strcmp (key, "Name") == 0 ) {
g_debug ("-------------Name %s", value);
+ bt_name = value;
break;
}
}
/* Save device name */
if (bt_name) {
+ g_debug ("Setting the device name %s", bt_name);
modest_conf_set_string (modest_runtime_get_conf(),
MODEST_CONF_DEVICE_NAME, bt_name,
NULL);
}
static void
-get_default_adapter_cb (DBusPendingCall *call,
- void *user_data)
+get_default_adapter_cb (DBusConnection *conn,
+ DBusMessage *message)
{
- DBusMessage *message;
DBusMessageIter iter;
gchar* path = NULL;
+ DBusError error;
+ DBusMessage *msg, *adapterMsg;
- message = dbus_pending_call_steal_reply(call);
+ dbus_message_iter_init (message, &iter);
+ dbus_message_iter_get_basic (&iter, &path);
- // Todo extract msg info from here
- dbus_message_iter_init ( message, &iter );
+ if (!path)
+ return;
- dbus_message_iter_get_basic (&iter, &path);
- if (path != NULL) {
- DBusConnection *conn;
- DBusMessage *adapterMsg = dbus_message_new_method_call(BTNAME_SERVICE, path,
- BTNAME_REQUEST_IF,
- BTNAME_REQ_GET_PROPERTIES);
- DBusPendingCall *call = NULL;
-
- conn = dbus_bus_get (DBUS_BUS_SYSTEM, NULL);
-
- if (conn && dbus_connection_send_with_reply(conn, adapterMsg, &call, -1) ) {
- dbus_pending_call_set_notify(call, get_properties_cb, NULL, NULL);
- dbus_pending_call_block(call);
- dbus_pending_call_unref(call);
- }
- } else {
- g_warning ("Failed to get the default bluetooth adapter");
+ adapterMsg = dbus_message_new_method_call ("org.bluez", path,
+ "org.bluez.Adapter",
+ "GetProperties");
+
+ dbus_error_init (&error);
+ msg = dbus_connection_send_with_reply_and_block (conn, adapterMsg, -1, &error);
+ if (msg) {
+ g_debug ("Getting the properties");
+ get_properties_cb (msg);
+ dbus_message_unref (msg);
}
+ dbus_message_unref (adapterMsg);
}
void
static DBusConnection *conn = NULL;
DBusMessage *request;
DBusError error;
- DBusPendingCall *call = NULL;
+ DBusMessage *msg;
dbus_error_init (&error);
if (!conn) {
}
/* Get the default adapter */
- request = dbus_message_new_method_call(BTNAME_SERVICE, "/" ,
- BTNAME_REQUEST_IF,
- BTNAME_REQ_DEFAULT_ADAPTER);
-
- if (dbus_connection_send_with_reply(conn, request, &call, -1)) {
- dbus_pending_call_set_notify(call, get_default_adapter_cb, NULL, NULL);
- dbus_pending_call_block(call);
- dbus_pending_call_unref(call);
+ request = dbus_message_new_method_call ("org.bluez", "/" ,
+ "org.bluez.Manager",
+ "DefaultAdapter");
+
+ msg = dbus_connection_send_with_reply_and_block (conn, request, -1, &error);
+ if (msg) {
+ g_debug ("Getting the default adapter");
+ get_default_adapter_cb (conn, msg);
+ dbus_message_unref (msg);
}
-
-/* request = dbus_message_new_method_call (BTNAME_SERVICE, BTNAME_REQUEST_PATH, */
-/* BTNAME_REQUEST_IF, BTNAME_REQ_GET); */
-/* if (!request) { */
-/* /\* should we free the connection? *\/ */
-/* g_printerr ("modest: dbus_message_new_method_call failed\n"); */
-/* return; */
-/* } */
-/* dbus_message_set_auto_start (request, TRUE); */
-/* if (dbus_connection_send_with_reply (conn, request, &call, -1)) { */
-/* dbus_pending_call_set_notify (call, on_device_name_received, */
-/* NULL, NULL); */
-/* dbus_pending_call_unref (call); */
-/* } */
-/* dbus_message_unref (request); */
-
-/* dbus_connection_setup_with_g_main (conn, NULL); */
-/* dbus_bus_add_match (conn, BTNAME_MATCH_RULE, &error); */
-/* if (dbus_error_is_set(&error)) { */
-/* g_printerr ("modest: dbus_bus_add_match failed: %s\n", error.message); */
-/* dbus_error_free (&error); */
-/* } */
-
-/* if (!dbus_connection_add_filter(conn, handle_dbus_signal, NULL, NULL)) */
-/* g_printerr ("modest: dbus_connection_add_filter failed\n"); */
+ dbus_message_unref (request);
}
void
label = gtk_label_new (title);
}
align = gtk_alignment_new (0.0, 0.0, 1.0, 1.0);
- gtk_alignment_set_padding (GTK_ALIGNMENT (align), 0, 0, MODEST_MARGIN_DOUBLE, MODEST_MARGIN_TRIPLE);
+ gtk_alignment_set_padding (GTK_ALIGNMENT (align), 0, 0, MODEST_MARGIN_DOUBLE, MODEST_MARGIN_DOUBLE);
gtk_label_set_line_wrap (GTK_LABEL (label), TRUE);
hildon_gtk_widget_set_theme_size (label, HILDON_SIZE_FINGER_HEIGHT);
}
/**
+ * modest_maemo_utils_captioned_get_label_widget:
+ * @captioned: a #GtkWidget built as captioned
+ *
+ * obtains the label widget for the captioned
+ *
+ * Returns: a #GtkLabel
+ */
+GtkWidget *
+modest_maemo_utils_captioned_get_label_widget (GtkWidget *captioned)
+{
+ GtkWidget *label;
+
+ g_return_val_if_fail (GTK_IS_WIDGET (captioned), NULL);
+
+ label = g_object_get_data (G_OBJECT (captioned), CAPTIONED_LABEL_CHILD);
+ g_return_val_if_fail (GTK_IS_LABEL (label), NULL);
+
+ return label;
+
+}
+
+/**
* modest_maemo_utils_set_hbutton_layout:
* @title_sizegroup: a #GtkSizeGroup, or %NULL
* @value_sizegroup: a #GtkSizeGroup, or %NULL
if (TNY_IS_MSG (part)) {
TnyHeader *header = tny_msg_get_header (TNY_MSG (part));
filename = tny_header_dup_subject (header);
- if ((filename == NULL) || (filename[0] == '\0')) {
- g_free (filename);
- filename = g_strdup (_("mail_va_no_subject"));
- }
g_object_unref (header);
} else {
filename = g_strdup (tny_mime_part_get_filename (part));
}
+ if ((filename == NULL) || (filename[0] == '\0')) {
+ g_free (filename);
+ filename = g_strdup (_("mail_va_no_subject"));
+ }
gtk_list_store_append (GTK_LIST_STORE (model), &iter);
gtk_list_store_set (GTK_LIST_STORE (model), &iter, 0, filename, 1, part, -1);
attachments_added ++;
g_free (filename);
- g_object_unref (part);
}
+ g_object_unref (part);
}
+ g_object_unref (iterator);
selector = GTK_WIDGET (hildon_touch_selector_new ());
renderer = gtk_cell_renderer_text_new ();
}
if (tny_list_get_length (att_list) == 0)
result = FALSE;
+
+ g_list_foreach (selected_rows, (GFunc) gtk_tree_path_free, NULL);
+ g_list_free (selected_rows);
} else {
result = FALSE;
}