[maemo-developers] Fwd: Re: DBUS / EDS Confusion
From: Adam L spycedtx at gmail.comDate: Fri Mar 2 00:42:17 EET 2007
- Previous message: DBUS / EDS Confusion
- Next message: Maemo at Google's Summer of Code 2007?
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On Thursday 01 March 2007 16:21, you wrote:
> On Thu, 2007-03-01 at 15:05 -0600, Adam L wrote:
> > Here is the offending code, within a static void section linked to a menu
> > action:
> > [CODE]
> > EBook *mybook = e_book_new_from_uri("/home/adam/books/adambook", &err);
> > if (mybook == NULL)
> > {
> >   hildon_banner_show_information(GTK_WIDGET(app->window), NULL,
> > err->message); }
> > [/CODE]
>
> Note that unless you really want to, you should use
> e_book_new_system_addressbook () instead of hard-coding a path.  This
> way you re-use the existing addressbook.
There's a reason for wanting to use other books.  But, that aside, this
 method should still work (in theory).
> >From a single line of source it's tricky to debug... can you publish the
>
> source?
There's nothing to the source. It's just a simple app with 2 menu items.
#include <gtk/gtk.h>
#include <gdk-pixbuf/gdk-pixbuf-core.h>
#include <hildon-widgets/hildon-program.h>
#include <dbus/dbus-glib-lowlevel.h>
#include <libosso.h>
#include <libebook/e-book.h>
#include <libosso-abook/osso-abook.h>
#include <vars.h>
static void window_destroy (GtkWidget* widget, gpointer data)
{
    gtk_main_quit();
}
static void  dump_books(GtkWidget* widget, gpointer data)
{
    AppData *app;
    GList *contacts, *c;
    GError *err = NULL;
    int count;
    app = data;
		EBook *mybook = e_book_new_from_uri("/home/adam/books/adambook", &err);
		if (mybook == NULL)
		{
		    hildon_banner_show_information(GTK_WIDGET(app->window), NULL,
 err->message); }
		/**
		gboolean created = e_book_open(mybook, FALSE, &err);
		if (!created)
		{ printf("wasn't able to open the book\n"); }
		else {printf("opened the book\n");}
		**/
}
int main(int argc, char *argv[])
{
    GtkWidget *vbox, *label, *button;
    GtkMenu *menu;
    GtkMenuItem *item_close;
    GtkMenuItem *item_nothin;
    GdkPixbuf *icon;
    GError *error = NULL;
    osso_return_t result;
    appData.context = osso_initialize("ihello", "1.0", FALSE, NULL);
    if (appData.context == NULL)
    {
	printf("context was null\n");
    }
    else
    {
        printf("context was good\n");
    }
    gtk_init(&argc, &argv);
		/* Init abook */
		if (!osso_abook_init (&argc, &argv, appData.context))
		{
			g_critical ("Error initializing libosso-abook");
		  osso_deinitialize (appData.context);
		  return 1;
		}
    menu = GTK_MENU(gtk_menu_new());
    item_close = GTK_MENU_ITEM(gtk_menu_item_new_with_label("Close app"));
    item_nothin = GTK_MENU_ITEM(gtk_menu_item_new_with_label("Does nothing in
 app")); g_signal_connect(G_OBJECT(item_close), "activate",
 GTK_SIGNAL_FUNC(window_destroy), NULL);
 g_signal_connect(G_OBJECT(item_nothin), "activate",
 GTK_SIGNAL_FUNC(dump_books), &appData);
    gtk_menu_append(menu, GTK_WIDGET(item_close));
    gtk_menu_append(menu, GTK_WIDGET(item_nothin));
    appData.program = hildon_program_get_instance();
    g_set_application_name("application level title");
    hildon_program_set_common_menu(appData.program, menu);
    hildon_program_set_can_hibernate(appData.program, TRUE);
    mainWindow = HILDON_WINDOW(hildon_window_new());
    gtk_widget_set_name(GTK_WIDGET(mainWindow), "main window");
    hildon_program_add_window(appData.program, mainWindow);
    gtk_widget_show_all (GTK_WIDGET(mainWindow));
    gtk_main();
    osso_deinitialize(appData.context);
    return 0;
}
***************
vars.h
#include <hildon-widgets/hildon-window.h>
/* Application UI data struct */
 typedef struct _AppData AppData;
 struct _AppData {
  /* View items */
  HildonProgram *program;
  HildonWindow *window;
  osso_context_t *context;
  /* Toolbar */
  GtkWidget *main_toolbar;
  /* Find toolbar */
//  HildonFindToolbar *find_toolbar;
  /* Is Find toolbar visible or not */
  gboolean find_visible;
  };
HildonWindow *mainWindow;
gboolean   windowMax;
AppData   appData;
-------------------------------------------------------
    - Previous message: DBUS / EDS Confusion
- Next message: Maemo at Google's Summer of Code 2007?
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
