Exemplo n.º 1
0
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);
}
Exemplo n.º 2
0
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);
}
Exemplo n.º 3
0
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" );
	}
}
Exemplo n.º 4
0
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;
	}
}
Exemplo n.º 5
0
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"
        );
}
Exemplo n.º 6
0
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);
}
Exemplo n.º 7
0
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;
}
Exemplo n.º 8
0
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);
}
Exemplo n.º 9
0
/**
 * 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;
}
Exemplo n.º 10
0
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"
            );
    }
}
Exemplo n.º 11
0
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;

}
Exemplo n.º 12
0
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);
		}
	}
}
Exemplo n.º 13
0
/*---------------------------------------------------------------------*/
void
gui_message( char *msg ) {
   hildon_banner_show_information( GTK_WIDGET( win ), NULL, msg );
}
Exemplo n.º 14
0
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;
}
Exemplo n.º 15
0
/* 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;
}
Exemplo n.º 16
0
/**
 * 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;
}