static void on_volume_toggled(GtkToggleButton *togglebutton, gpointer user_data) { EomDetailWindow *self = (EomDetailWindow *)user_data; gboolean active = gtk_toggle_button_get_active(togglebutton); gint volume = atoi(gtk_button_get_label(GTK_BUTTON(togglebutton))); if (active) { /* Add 1 to mangas collected */ if (!data_add_to_manga(self->manga->id, 1)) { hildon_banner_show_information( self, NULL, "Could not increase the collected manga count" ); return; } if (!data_add_volume_to_manga(self->manga->id, volume)) { data_add_to_manga(self->manga->id, -1); hildon_banner_show_information( self, NULL, "Could not add volume to collection"); return; } } else { /* Remove 1 from mangas collected */ if (!data_add_to_manga(self->manga->id, -1)) { hildon_banner_show_information( self, NULL, "Could not decrease the collected manga count" ); return; } if (!data_remove_volume_from_manga(self->manga->id, volume)) { data_add_to_manga(self->manga->id, 1); /* Undo */ hildon_banner_show_information( self, NULL, "Could not remove volume from collection" ); return; } } set_manga_id(self, self->manga->id); }
static void set_position_cb (MafwRenderer *renderer, gint position, gpointer user_data, const GError *error) { if (error != NULL) hildon_banner_show_information (GTK_WIDGET (user_data), "chat_smiley_angry", error->message); }
static void stop_button_clicked(GtkWidget *window, gpointer data) { if(timmer_running != FALSE) { hildon_banner_show_information(GTK_WIDGET(appdata->window), NULL, "Stopping Countdown Timer"); timmer_running = FALSE; gtk_label_set_label(GTK_LABEL(lblUpdate), "Stopped" ); } }
static void start_button_clicked(GtkWidget *window, gpointer data) { if(timmer_running != TRUE) { hildon_banner_show_information(GTK_WIDGET(appdata->window), NULL, "Starting Countdown Timer"); timmer_running = TRUE; } }
static void on_volume_read_toggled(GtkToggleButton *togglebutton, gpointer user_data) { EomDetailWindow *self = (EomDetailWindow *)user_data; gboolean active = gtk_toggle_button_get_active(togglebutton); gint volume = atoi(gtk_button_get_label(GTK_BUTTON(togglebutton))); if (!data_mark_volume_read(active, self->manga->id, volume)) hildon_banner_show_information( self, NULL, "Could not mark volume as read" ); }
static void show_insensitive_message (GtkWidget *widget, gpointer user_data) { gchar *message = NULL; g_assert (GTK_IS_WIDGET (widget)); message = (gchar*) g_object_get_qdata (G_OBJECT (widget), hildon_helper_insensitive_message_quark ()); if (message) hildon_banner_show_information (widget, NULL, message); }
void UiDialogs::InfoBanner(GtkWindow* parent, const char* text) { ACE_TRACE("[UiDialogs::InfoBanner()]"); g_return_if_fail(parent != NULL && text != NULL); #ifdef MAEMO hildon_banner_show_information(GTK_WIDGET(parent), NULL, text); #else // TODO: Implement a notification banner for Gnome #endif return; }
void take_photo(gchar *image_file) { GstElement *image_sink; cappdata->image_file = image_file; if(cappdata->pipeline == NULL) { hildon_banner_show_information(GTK_WIDGET(cappdata->window), NULL, "Unable To Take Photo"); return; } image_sink = gst_bin_get_by_name(GST_BIN(cappdata->pipeline), "image_sink"); hildon_banner_show_information(GTK_WIDGET(cappdata->window), NULL, "Taking Photo"); cappdata->buffer_cb_id = g_signal_connect( G_OBJECT(image_sink), "handoff", G_CALLBACK(buffer_probe_callback), &cappdata); }
/** * hildon_banner_show_informationf: * @widget: the #GtkWidget that is the owner of the banner * @icon_name: since Hildon 2.2 this parameter is not used anymore and * any value that you pass will be ignored * @format: a printf-like format string * @Varargs: arguments for the format string * * A helper function for hildon_banner_show_information() with * string formatting. * * Returns: the newly created banner */ GtkWidget* hildon_banner_show_informationf (GtkWidget *widget, const gchar *icon_name, const gchar *format, ...) { g_return_val_if_fail (format != NULL, NULL); gchar *message; va_list args; GtkWidget *banner; va_start (args, format); message = g_strdup_vprintf (format, args); va_end (args); banner = hildon_banner_show_information (widget, icon_name, message); g_free (message); return banner; }
static void on_delete(GtkWidget *widget, gpointer user_data) { GtkWidget *dialog, *label, *content_area; EomDetailWindow *self = EOM_DETAIL_WINDOW(user_data); gint result; gchar *ttxt, *ctxt; ttxt = g_strdup_printf("Delete %s", self->manga->name); ctxt = g_strdup_printf("Really delete \"%s\"?", self->manga->name); dialog = gtk_dialog_new_with_buttons( ttxt, GTK_WINDOW(self), GTK_DIALOG_MODAL, GTK_STOCK_OK, GTK_RESPONSE_OK, GTK_STOCK_CANCEL, GTK_RESPONSE_REJECT, NULL ); content_area = gtk_dialog_get_content_area(GTK_DIALOG(dialog)); label = gtk_label_new(ctxt); gtk_container_add(GTK_CONTAINER(content_area), label); gtk_widget_show(label); result = gtk_dialog_run(GTK_DIALOG(dialog)); gtk_widget_destroy(dialog); g_free(ttxt); g_free(ctxt); if (result == GTK_RESPONSE_OK) { if (data_delete_manga(self->manga->id)) { gtk_widget_hide(GTK_WIDGET(self)); gtk_widget_destroy(GTK_WIDGET(self)); } else hildon_banner_show_information( self, NULL, "Could not delete manga" ); } }
gboolean stop_webserver() { hildon_banner_show_information( GTK_WIDGET(appdata->window), NULL, "Stopping Webserver"); gchar *arg[3] = {config->web_server_script, "stop", NULL}; gboolean retval; retval = g_spawn_sync (config->app_dir, arg, NULL, G_SPAWN_STDERR_TO_DEV_NULL, NULL, NULL, NULL, NULL, NULL, NULL); sleep(1); if ( retval != TRUE) return FALSE; else return TRUE; }
static void get_position_info_cb (MafwRenderer *renderer, gint position, gpointer user_data, const GError *error) { MafwPlayState state; if (error == NULL) { set_position_hscale_position (position); } else { /* If we are stopped, it is normal that we got the error, just drop a warning in this case and do not bother the user */ state = get_selected_renderer_state (); if (state == Stopped) { g_warning ("%s", error->message); } else { hildon_banner_show_information (GTK_WIDGET (user_data), "qgn_list_smiley_angry", error->message); } } }
/*---------------------------------------------------------------------*/ void gui_message( char *msg ) { hildon_banner_show_information( GTK_WIDGET( win ), NULL, msg ); }
static gboolean init_app (void) { GError *error = NULL; GList *extension_list; gchar **plugin_list; g_type_init (); /* Register plugins */ registry = MAFW_REGISTRY(mafw_registry_get_instance()); if (registry == NULL) { g_error("init_app: failed to get MafwRegistry object\n"); return FALSE; } mafw_shared_init(registry, &error); if (error != NULL) { hildon_banner_show_information (NULL, "chat_smiley_angry", error->message); g_error_free(error); error = NULL; } g_signal_connect(registry, "renderer_added", G_CALLBACK(renderer_added_cb), NULL); g_signal_connect(registry, "renderer_removed", G_CALLBACK(renderer_removed_cb), NULL); g_signal_connect(registry, "source_added", G_CALLBACK(source_added_cb), NULL); g_signal_connect(registry, "source_removed", G_CALLBACK(source_removed_cb), NULL); extension_list = mafw_registry_get_renderers(registry); while (extension_list) { renderer_added_cb(registry, G_OBJECT(extension_list->data), NULL); extension_list = g_list_next(extension_list); } extension_list = mafw_registry_get_sources(registry); while (extension_list) { source_added_cb(registry, G_OBJECT(extension_list->data), NULL); extension_list = g_list_next(extension_list); } /* Check if we need to load any plugins directly */ if (NULL != g_getenv("MAFW_TG_PLUGINS")) { plugin_list = g_strsplit(g_getenv("MAFW_TG_PLUGINS"), G_SEARCHPATH_SEPARATOR_S, 0); gchar **plugin; plugin = plugin_list; for (; NULL != *plugin; plugin++) { mafw_registry_load_plugin( MAFW_REGISTRY(registry), *plugin, &error); g_debug("Plugin '%s' loaded\n", *plugin); if (error != NULL) { gchar* msg; msg = g_strdup_printf("Unable to load plugin" "%s: %s", *plugin, error->message); hildon_banner_show_information (NULL, "chat_smiley_angry", msg); g_free(msg); g_error_free(error); error = NULL; } } g_strfreev(plugin_list); } /* Hook to crawler status */ register_crawler_watch (); return TRUE; }
/* Shows a dialog asking user to select a preset. If allow_new is TRUE, then * user can specify a new preset. In this case, allow_new will become TRUE if * user selects a new preset, or FALSE if she is selecting an already * existent */ static xmlDoc *dialog_choose_preset(gpointer parent, gboolean *allow_new) { GList *presets; GList *node; GtkWidget *selector; GtkWidget *dialog; xmlDoc *preset; xmlDoc *preset_selected = NULL; gchar *preset_name_selected; gint response; presets = presets_preload_all(); if (!presets && !allow_new) { hildon_banner_show_information(GTK_WIDGET(parent), NULL, "No available presets"); return NULL; } /* Check if user can specify a new preset */ if (allow_new && *allow_new) { selector = hildon_touch_selector_entry_new_text(); } else { selector = hildon_touch_selector_new_text(); } node = presets; while (node) { preset = (xmlDoc *) node->data; hildon_touch_selector_append_text( HILDON_TOUCH_SELECTOR(selector), preset->name); node = g_list_next(node); } dialog = hildon_picker_dialog_new(parent); hildon_picker_dialog_set_selector(HILDON_PICKER_DIALOG(dialog), HILDON_TOUCH_SELECTOR(selector)); response = gtk_dialog_run(GTK_DIALOG(dialog)); if (response != GTK_RESPONSE_DELETE_EVENT) { preset_name_selected = hildon_touch_selector_get_current_text( HILDON_TOUCH_SELECTOR(selector)); } else { preset_name_selected = NULL; } /* NOTE: There is a bug in hildon that prevent using gtk_widget_destroy when a hildon_touch_selector_entry is usedcd, as it segs fault. The bad part is that using hide_all makes a leak. */ if (allow_new && *allow_new) { gtk_widget_hide_all(dialog); } else { gtk_widget_destroy(dialog); } /* Check the selected xmlDoc, freeing remaining */ node = presets; while (node) { preset = (xmlDoc *) node->data; if (preset_name_selected && g_utf8_collate(preset->name, preset_name_selected) == 0) { preset_selected = preset; } else { xmlFreeDoc(preset); } node = g_list_next(node); } g_list_free(presets); if (preset_name_selected) { /* User asks for new presets */ if (allow_new && *allow_new) { if (preset_selected) { *allow_new = FALSE; g_free(preset_name_selected); } else { preset_selected = xmlNewDoc(BAD_CAST "1.0"); preset_selected->name = preset_name_selected; *allow_new = TRUE; } } else { g_free(preset_name_selected); } } return preset_selected; }
/** * main callback for control panel plugins */ osso_return_t execute(osso_context_t *osso, gpointer data, gboolean user_activated) { gint response; create_list_dialog (data); if (!user_activated) { /* load state */ } do { gchar *selected; response = gtk_dialog_run (GTK_DIALOG (ListDialog.dialog)); switch (response) { case RESPONSE_NEW: { edit_connection (data, NULL); break; } case RESPONSE_EDIT: { StrongswanConnection *conn; selected = get_selected (); conn = strongswan_connections_get_connection (ListDialog.conns, selected); if (conn) { edit_connection (data, conn); } else { hildon_banner_show_information (NULL, NULL, "Select a connection first"); } g_free (selected); break; } case RESPONSE_DELETE: { GtkWidget *confirm; gint retval; gchar *msg; selected = get_selected (); if (!selected) { hildon_banner_show_information (NULL, NULL, "Select a connection first"); break; } msg = g_strdup_printf ("Delete connection?\n%s", selected); confirm = hildon_note_new_confirmation (data, msg); retval = gtk_dialog_run (GTK_DIALOG (confirm)); if (retval == GTK_RESPONSE_OK) { strongswan_connections_remove_connection (ListDialog.conns, selected); } gtk_widget_destroy (confirm); g_free (msg); g_free (selected); break; } default: break; } } while (response > 0); gtk_widget_destroy (ListDialog.dialog); g_object_unref (ListDialog.conns); return OSSO_OK; }