Re: Mugshot in maemo - Kickoff



Hi all,

Here's an updated version of the patch with network connection
awareness. Basically,it listens to the signal from the network
connection daemon present on the device instead of NetworkManager.

I'll probably try to increase the size of several UI elements of
Stacker to make it more thumbable.

Cheers!

--lucasr


2007/10/30, Lucas Rocha <lucasr gnome org>:
> Hi,
>
> One more quick (visual) update:
>
> http://www.flickr.com/photos/lucasrocha/1804765774/
>
> The UI is definitely not good enough to use with fingers on a
> touchscreen but it's quite nice to have those notifications on the
> device. :-)
>
> I'm having some problems with D-Bus when running mugshot on device
> (still investigating).
>
> Cheers!
>
> --lucasr
>
>
> 2007/10/29, Lucas Rocha <lucasr gnome org>:
> > Hi,
> >
> > I've just update the patch by removing the icon installation related
> > part as it was already commited in trunk.
> >
> > --lucasr
> >
> >
> > 2007/10/28, Lucas Rocha <lucasr gnome org>:
> > > Hi all,
> > >
> > > I had some random spare time last couple weeks and I thought it would
> > > be nice to have a Mugshot client running on maemo. Basically, I got it
> > > woking on Chinook (latest version of maemo which is the basis for
> > > N810). Here are some general issues and comments.
> > >
> > > 1. Icon issues
> > > Yes, maemo uses some really weird icon sizes. So, here's what's needed:
> > > - mugshot app logo in 64x64 pixels
> > > - mugshot_connection and mugshot_connection_disabled in 40x40 pixels.
> > > Currently, only have it in 22x22 pixels.
> > >
> > > 2. Screensaver issues
> > > Screensaver X extension is not available in maemo. I saw that this
> > > extension is being used in hippo-idle. At first sight, I don't think
> > > it makes sense to have it on maemo anyway. I disabled all code related
> > > to this extension when maemo mode is on.
> > >
> > > 3. Mozilla engine issues
> > > I added the necessary dependency checks for maemo mozilla-based
> > > browser. There's a build problem due to an API incompatible code
> > > chunk. I get this error:
> > >
> > > • NS_IMETHODIMP hippoControl::SetWindow() incompatible API (build error)
> > > ./../common/firefox/src/hippoControl.cpp: In member function `virtual
> > > nsresult hippoControl::SetWindow(nsIDOMWindow*)':
> > > ./../common/firefox/src/hippoControl.cpp:155: error: 'class
> > > nsDerivedSafe<nsIScriptGlobalObject>' has no member named
> > > 'GetDocShell'
> > >
> > > I'm far from being a Mozilla expert, so, do you have any idea on how
> > > to work around this? For now, I disabled this code chunk when maemo
> > > mode is on. My patch adds a new type of browser (HIPPO_BROWSER_MAEMO)
> > > which is used when running on maemo mode.
> > >
> > > 4. Loudmouth version
> > > The correct loudmouth dependency should be 1.2.2, not 1.0 as mugshot
> > > doesn't build because LM_DISCONNECT_REASON_RESOURCE_CONFLICT and
> > > LM_DISCONNECT_REASON_INVALID_XML are not available in loudmounth <
> > > 1.2.2. This is fixed in the patch as well.
> > >
> > > 5. Build configure option
> > > I added a --with-maemo configure option to activate maemo bits in
> > > mugshot client.
> > >
> > > 6. Web pages
> > > There some design issues on viewing the online desktop webpages on a
> > > small screen. See screenshots (initial-page.png and login-page.png).
> > >
> > > 7. gnome-desktop
> > > I still need to replace gnome-desktop (desktop file handling) with
> > > equivalent code based on maemo stack. For now, I've just disabled the
> > > code.
> > >
> > > 7. User interaction issues
> > > For now, this is just a simple port of the current client but there
> > > should be some major adaptations on the UI to make it work nicely on a
> > > small screen and finger usage.
> > >
> > > 8. Status icon
> > > There are still some issues on Hildon Desktop side (the maemo main UI
> > > component) on handling GtkStatusIcon in statusbar (see screenshots).
> > > Those are already fixed but not yet commited (will be in the next
> > > weeks).
> > >
> > > I'm still working on the proper (debian) packaging for mugshot client
> > > and its dependencies to make it easily instalable on Nokia devices.
> > > This will come soon.
> > >
> > > Patch is attached. You can find some screenshots of mugshot running on
> > > maemo here:
> > >
> > >   http://www.gnome.org/~lucasr/misc/mugshot/
> > >
> > > Cheers!
> > >
> > > --lucasr
> > >
> > >
> >
> >
>
Index: linux/src/hippo-platform-impl.c
===================================================================
--- linux/src/hippo-platform-impl.c	(revisão 6852)
+++ linux/src/hippo-platform-impl.c	(cópia de trabalho)
@@ -208,7 +208,7 @@
         g_object_unref(impl->system_dbus);
         impl->system_dbus = NULL;
     }
-    
+
     G_OBJECT_CLASS(hippo_platform_impl_parent_class)->finalize(object);
 }
 
@@ -304,7 +304,6 @@
         g_free(web_host);
         goto out;
     }        
-
     /* Extract value from first cookie and free the rest of them 
      * (we only expect to have one, though)
      */
@@ -448,10 +447,15 @@
     case HIPPO_BROWSER_GALEON:
         command = g_strdup_printf("galeon %s", quoted);
         break;
+#ifdef WITH_MAEMO
+    case HIPPO_BROWSER_MAEMO:
+        command = g_strdup_printf("browser --url=%s", quoted);
+        break;
+#endif
     case HIPPO_BROWSER_FIREFOX:
     case HIPPO_BROWSER_UNKNOWN: /* FIXME get user's default from gnome */
     default:
-        command = g_strdup_printf("firefox %s", quoted);    
+	command = g_strdup_printf("firefox %s", quoted);
         break;
     }
 
Index: linux/src/hippo-dbus-system.c
===================================================================
--- linux/src/hippo-dbus-system.c	(revisão 6852)
+++ linux/src/hippo-dbus-system.c	(cópia de trabalho)
@@ -144,19 +144,41 @@
         const char *member = dbus_message_get_member(message);
 
         g_debug("system bus signal from %s %s.%s", sender ? sender : "NULL", interface, member);
-   
+
+#ifndef WITH_MAEMO   
         if (dbus_message_is_signal(message, "org.freedesktop.NetworkManager", "StateChange")) {
             dbus_uint32_t v_UINT32;
-            
+#else
+        if (dbus_message_is_signal(message, "com.nokia.icd", "status_changed")) {
+            char *iap_id, *bearer, *state;
+#endif
+
+#ifndef WITH_MAEMO            
             if (dbus_message_get_args(message, NULL, DBUS_TYPE_UINT32, &v_UINT32, DBUS_TYPE_INVALID)) {
+#else
+            if (dbus_message_get_args(message, NULL, 
+                                      DBUS_TYPE_STRING, &iap_id,
+                                      DBUS_TYPE_STRING, &bearer,
+                                      DBUS_TYPE_STRING, &state,
+                                      DBUS_TYPE_INVALID)) {
+#endif
                 HippoNetworkStatus status = HIPPO_NETWORK_STATUS_UNKNOWN;
+
+#ifndef WITH_MAEMO
                 if (v_UINT32 == 3)
                     status = HIPPO_NETWORK_STATUS_UP;
                 else if (v_UINT32 == 1)
                     status = HIPPO_NETWORK_STATUS_DOWN;
 
                 g_debug("new network status from network manager %u", v_UINT32);
-                
+#else
+                if (strcmp(state, "IDLE") == 0)
+                    status = HIPPO_NETWORK_STATUS_DOWN;
+                else if (strcmp(state, "CONNECTED") == 0)
+                    status = HIPPO_NETWORK_STATUS_UP;
+
+                g_debug("new network status from network manager %s", state);
+#endif
                 g_signal_emit(G_OBJECT(dbus), signals[NETWORK_STATUS_CHANGED], 0, status);
             }
         } else if (dbus_message_is_signal(message, DBUS_INTERFACE_LOCAL, "Disconnected")) {
@@ -206,7 +228,8 @@
     }
 
     dbus_error_init(&derror);
-    
+
+#ifndef WITH_MAEMO
     /* Add NetworkManager signal match */
     dbus_bus_add_match(connection,
                        "type='signal',sender='"
@@ -217,6 +240,17 @@
                        "StateChange"
                        "'",
                        &derror);
+#else
+    dbus_bus_add_match(connection,
+                       "type='signal',sender='"
+                       "com.nokia.icd"
+                       "',interface='"
+                       "com.nokia.icd"
+                       "',member='"
+                       "status_changed"
+                       "'",
+                       &derror);
+#endif
 
     if (dbus_error_is_set(&derror)) {
         propagate_dbus_error(error, &derror);
Index: linux/src/hippo-distribution.c
===================================================================
--- linux/src/hippo-distribution.c	(revisão 6852)
+++ linux/src/hippo-distribution.c	(cópia de trabalho)
@@ -1,10 +1,13 @@
 /* -*- mode: C; c-basic-offset: 4; indent-tabs-mode: nil; -*- */
 
+#include <config.h>
 #include <errno.h>
 #include <stdlib.h>
 #include <string.h>
 #include <sys/wait.h>
+#ifndef WITH_MAEMO
 #include <libgnome/gnome-desktop-item.h>
+#endif
 #include <libgnomevfs/gnome-vfs.h>
 #include <gtk/gtk.h>
 #include <gdk/gdkx.h>
@@ -1069,6 +1072,7 @@
                                       HippoAsyncCallback  callback,
                                       void               *callback_data)
 {
+#ifndef WITH_MAEMO
     GnomeDesktopItem *item = NULL;
     char *desktop_file = NULL;
     GError *error = NULL;
@@ -1110,6 +1114,7 @@
         gnome_desktop_item_unref(item);
     
     g_free(desktop_file);
+#endif
 }
 
 
Index: linux/src/hippo-cookies-linux.c
===================================================================
--- linux/src/hippo-cookies-linux.c	(revisão 6852)
+++ linux/src/hippo-cookies-linux.c	(cópia de trabalho)
@@ -1,4 +1,5 @@
 /* -*- mode: C; c-basic-offset: 4; indent-tabs-mode: nil; -*- */
+#include <config.h>
 #include "hippo-cookies-linux.h"
 #include <string.h>
 
@@ -29,6 +30,14 @@
     hippo_cookie_locator_add_file(locator, path, HIPPO_BROWSER_GALEON);
     g_free(path);
 
+#ifdef WITH_MAEMO
+    path = g_build_filename(homedir,
+                            ".mozilla/microb/cookies.txt",
+                            NULL);
+    hippo_cookie_locator_add_file(locator, path, HIPPO_BROWSER_MAEMO);
+    g_free(path);
+#endif
+    
     path = g_build_filename(homedir, ".mozilla/firefox", NULL);
     hippo_cookie_locator_add_directory(locator, path, HIPPO_BROWSER_FIREFOX);
     g_free(path);
Index: linux/src/hippo-window-gtk.c
===================================================================
--- linux/src/hippo-window-gtk.c	(revisão 6852)
+++ linux/src/hippo-window-gtk.c	(cópia de trabalho)
@@ -69,8 +69,12 @@
 
 static const RoleProperties role_properties[] = {
     /*                   type_hint,                   skip_taskbar_pager, accept_focus, no_background */
-    /* APPLICATION */  { GDK_WINDOW_TYPE_HINT_NORMAL,  FALSE,              TRUE,         FALSE  },
+    /* APPLICATION */  { GDK_WINDOW_TYPE_HINT_NORMAL,  FALSE,              TRUE,         FALSE },
+#ifdef WITH_MAEMO
+    /* NOTIFICATION */ { GDK_WINDOW_TYPE_HINT_DIALOG,  TRUE,               FALSE,        TRUE  },
+#else
     /* NOTIFICATION */ { GDK_WINDOW_TYPE_HINT_DOCK,    TRUE,               FALSE,        TRUE  },
+#endif
     /* INPUT_POPUP */  { GDK_WINDOW_TYPE_HINT_TOOLBAR, FALSE,              TRUE,         TRUE  },
 };
 
Index: linux/src/hippo-idle.c
===================================================================
--- linux/src/hippo-idle.c	(revisão 6852)
+++ linux/src/hippo-idle.c	(cópia de trabalho)
@@ -4,7 +4,9 @@
 
 #include <X11/Xlib.h>
 #include <X11/Xatom.h>
+#ifndef WITH_MAEMO
 #include <X11/extensions/scrnsaver.h>
+#endif
 #include <gdk/gdkx.h>
 
 #include "hippo-idle.h"
@@ -16,7 +18,9 @@
 };
 
 struct HippoIdleMonitor {
+#ifndef WITH_MAEMO
     XScreenSaverInfo *info;
+#endif
     GdkDisplay *display;
     HippoDataCache *cache;
     GTime activity_time;
@@ -226,20 +230,24 @@
     idle_time = G_MAXINT;
     n_screens = gdk_display_get_n_screens(monitor->display);
     for (i = 0; i < n_screens; ++i) {
-        int result;
+        int result = 0;
         GdkScreen *screen;
 
-        screen = gdk_display_get_screen(monitor->display, i);        
+        screen = gdk_display_get_screen(monitor->display, i);       
+#ifndef WITH_MAEMO
         result = XScreenSaverQueryInfo(GDK_DISPLAY_XDISPLAY(monitor->display),
                                 GDK_SCREEN_XSCREEN(screen)->root,
                                 monitor->info);
+#endif
         if (result == 0) {
             g_warning("Failed to get idle time from screensaver extension");
             break;
         }
         
         /* monitor->info->idle is time in milliseconds since last user interaction event */
+#ifndef WITH_MAEMO
         idle_time = MIN(monitor->info->idle, idle_time);
+#endif
     }
     
     was_idle = monitor->currently_idle;
@@ -290,16 +298,20 @@
     HippoIdleMonitor *monitor;
         
     xdisplay = GDK_DISPLAY_XDISPLAY(display);
-    
+#ifndef WITH_MAEMO   
     if (!XScreenSaverQueryExtension(xdisplay, &event_base, &error_base)) {
         g_warning("Screensaver extension not found on X display, can't detect user idleness");
         return NULL;
     }
+#endif
+    return NULL;
     
     monitor = g_new0(HippoIdleMonitor, 1);
     monitor->display = g_object_ref(display);
     monitor->cache = g_object_ref(cache);
+#ifndef WITH_MAEMO
     monitor->info = XScreenSaverAllocInfo();
+#endif
     monitor->activity_time = get_time();
     monitor->last_idle = 0;    
     monitor->currently_idle = FALSE;
@@ -319,9 +331,9 @@
 {
     if (monitor == NULL)
         return; /* means no screensaver extension */
-
+#ifndef WITH_MAEMO
     XFree(monitor->info);
-
+#endif
     g_source_remove(monitor->poll_id);
     g_object_unref(monitor->display);
     g_object_unref(monitor->cache);
Index: linux/src/hippo-ui.c
===================================================================
--- linux/src/hippo-ui.c	(revisão 6852)
+++ linux/src/hippo-ui.c	(cópia de trabalho)
@@ -493,16 +493,19 @@
      */
     GdkDisplay *display = gdk_screen_get_display(screen);
     GdkWindow *root = gdk_screen_get_root_window(screen);
+#ifndef WITH_MAEMO
     Atom current_desktop_atom = gdk_x11_get_xatom_by_name_for_display(display, "_NET_CURRENT_DESKTOP");
+#endif
     Atom workarea_atom = gdk_x11_get_xatom_by_name_for_display(display, "_NET_WORKAREA");
     int format;
     Atom type;
     unsigned long n_items;
     unsigned long bytes_after;
     unsigned char *data;
-    guint current_desktop;
+    guint current_desktop = 0;
     guint n_desktops;
     
+#ifndef WITH_MAEMO
     if (XGetWindowProperty(GDK_WINDOW_XDISPLAY(root), GDK_WINDOW_XWINDOW(root),
                            current_desktop_atom, 
                            0, G_MAXLONG, False, XA_CARDINAL,
@@ -519,7 +522,7 @@
 
     current_desktop = ((unsigned long *)data)[0];
     XFree(data);
-    
+#endif    
 
     if (XGetWindowProperty(GDK_WINDOW_XDISPLAY(root), GDK_WINDOW_XWINDOW(root),
                            workarea_atom, 
@@ -542,9 +545,14 @@
     }
 
     work_area->x = ((unsigned long *)data)[current_desktop * 4];
+    work_area->width = ((unsigned long *)data)[current_desktop * 4 + 2];
+#ifndef WITH_MAEMO
     work_area->y = ((unsigned long *)data)[current_desktop * 4 + 1];
-    work_area->width = ((unsigned long *)data)[current_desktop * 4 + 2];
     work_area->height = ((unsigned long *)data)[current_desktop * 4 + 3];
+#else
+    work_area->y = ((unsigned long *)data)[current_desktop * 4 + 1] + 50;
+    work_area->height = ((unsigned long *)data)[current_desktop * 4 + 3] - 50;
+#endif
     
     XFree(data);
     return;
Index: linux/configure.ac
===================================================================
--- linux/configure.ac	(revisão 6852)
+++ linux/configure.ac	(cópia de trabalho)
@@ -287,10 +287,15 @@
     fi
 fi
 
+AC_ARG_WITH(maemo,
+	    AC_HELP_STRING([--with-maemo=[yes/no]],
+		           [Whether to use Maemo version of Mugshot client]),
+	    ,
+	    with_maemo=no)
 
 GLIB2_REQUIRED=2.6.0
 GTK2_REQUIRED=2.6.0
-LOUDMOUTH_REQUIRED=1.0
+LOUDMOUTH_REQUIRED=1.2.2
 # unfortunately this breaks us on FC4
 DBUS_REQUIRED=0.60
 DBUS_GLIB_REQUIRED=0.60
@@ -341,35 +346,37 @@
 XSCREENSAVER_LIBS=""
 XSCREENSAVER_CFLAGS=""
 
-# First check to see if we have a .pc file for the xscreensaver extensio
-HIPPO_PKG_CHECK_EXISTS(xscrnsaver, have_xscreensaver=true, have_xscreensaver=false)
-if $have_xscreensaver ; then
-    XSCREENSAVER_PACKAGES="xscrnsaver"
-else
-    # No, check the old way
-    AC_PATH_XTRA
-    if test "x$no_x" = xyes ; then
-        AC_MSG_ERROR([Can't find path to the X development files])
+if test "x$with_maemo" = xno ; then
+    # First check to see if we have a .pc file for the xscreensaver extensio
+    HIPPO_PKG_CHECK_EXISTS(xscrnsaver, have_xscreensaver=true, have_xscreensaver=false)
+    if $have_xscreensaver ; then
+        XSCREENSAVER_PACKAGES="xscrnsaver"
+    else
+        # No, check the old way
+        AC_PATH_XTRA
+        if test "x$no_x" = xyes ; then
+            AC_MSG_ERROR([Can't find path to the X development files])
+        fi
+    
+        hippo_save_CPPFLAGS="$CPPFLAGS"
+        CPPFLAGS="$CPPFLAGS $X_CFLAGS"
+    
+        hippo_save_LIBS="$LIBS"
+        LIBS="$X_LIBS $LIBS"
+    
+        have_xscreensaver=true
+        AC_CHECK_HEADERS([X11/extensions/scrnsaver.h], :, [have_xscreensaver=false])
+        AC_CHECK_LIB(Xss, XScreenSaverQueryExtension, :, [have_xscreensaver=false], -lXext -lX11 $X_EXTRA_LIBS)
+    
+        CFLAGS="$hippo_save_CFLAGS"
+        LIBS="$hippo_save_LIBS"
+    
+        if ! $have_xscreensaver ; then
+            AC_MSG_ERROR([XScreenSaver extension is required - X11/extensions/scnsaver.h, libXss.so])
+        fi
+        XSCREENSAVER_LIBS="-lXss -lXext -lX11 $X_EXTRA_LIBS"
+        XSCREENSAVER_CFLAGS="$X_CFLAGS"
     fi
-
-    hippo_save_CPPFLAGS="$CPPFLAGS"
-    CPPFLAGS="$CPPFLAGS $X_CFLAGS"
-
-    hippo_save_LIBS="$LIBS"
-    LIBS="$X_LIBS $LIBS"
-
-    have_xscreensaver=true
-    AC_CHECK_HEADERS([X11/extensions/scrnsaver.h], :, [have_xscreensaver=false])
-    AC_CHECK_LIB(Xss, XScreenSaverQueryExtension, :, [have_xscreensaver=false], -lXext -lX11 $X_EXTRA_LIBS)
-
-    CFLAGS="$hippo_save_CFLAGS"
-    LIBS="$hippo_save_LIBS"
-
-    if ! $have_xscreensaver ; then
-        AC_MSG_ERROR([XScreenSaver extension is required - X11/extensions/scnsaver.h, libXss.so])
-    fi
-    XSCREENSAVER_LIBS="-lXss -lXext -lX11 $X_EXTRA_LIBS"
-    XSCREENSAVER_CFLAGS="$X_CFLAGS"
 fi
 
 # PCRE checks
@@ -448,14 +455,27 @@
 AC_DEFINE(HIPPO_LOUDMOUTH_IS_10, 1, [Define if Loudmouth is version 1.0 or below])
 PKG_CHECK_MODULES(LIBHIPPOIPC, gobject-2.0 dbus-1 >= $DBUS_REQUIRED dbus-glib-1 >= $DBUS_REQUIRED)
 PKG_CHECK_MODULES(LIBGTKCOPY, gtk+-2.0 >= $GTK2_REQUIRED gtk+-x11-2.0)
-PKG_CHECK_MODULES(MUGSHOT_BASE, gtk+-2.0 >= $GTK2_REQUIRED gthread-2.0 loudmouth-1.0 >= $LOUDMOUTH_REQUIRED dbus-1 >= $DBUS_REQUIRED dbus-glib-1 >= $DBUS_GLIB_REQUIRED gnome-desktop-2.0 >= $GNOME_DESKTOP_REQUIRED gnome-vfs-2.0 $XSCREENSAVER_PACKAGES $CANVAS_MODULES)
-MUGSHOT_LIBS="$MUGSHOT_BASE_LIBS $CURL_LIBS $XSCREENSAVER_LIBS $JPEG_LIBS $RESOLV_LIBS"
-MUGSHOT_CFLAGS="$MUGSHOT_BASE_CFLAGS $CURL_CFLAGS $XSCREENSAVER_CFLAGS"
+PKG_CHECK_MODULES(MUGSHOT_BASE, gtk+-2.0 >= $GTK2_REQUIRED gthread-2.0 loudmouth-1.0 >= $LOUDMOUTH_REQUIRED dbus-1 >= $DBUS_REQUIRED dbus-glib-1 >= $DBUS_GLIB_REQUIRED gnome-vfs-2.0 $XSCREENSAVER_PACKAGES $CANVAS_MODULES)
+
+# If we're building the Maemo client, we don't need gnome-desktop
+if test "x$with_maemo" != xno ; then
+    PKG_CHECK_MODULES(MUGSHOT_MAEMO, libosso >= 0.9.19)
+else
+    PKG_CHECK_MODULES(MUGSHOT_GNOME, gnome-desktop-2.0 >= $GNOME_DESKTOP_REQUIRED)
+fi
+   
+MUGSHOT_LIBS="$MUGSHOT_BASE_LIBS $MUGSHOT_GNOME_LIBS $MUGSHOT_MAEMO_LIBS $CURL_LIBS $XSCREENSAVER_LIBS $JPEG_LIBS $RESOLV_LIBS"
+MUGSHOT_CFLAGS="$MUGSHOT_BASE_CFLAGS $MUGSHOT_GNOME_CFLAGS $MUGSHOT_MAEMO_CFLAGS $CURL_CFLAGS $XSCREENSAVER_CFLAGS"
 AC_SUBST(MUGSHOT_LIBS)
 AC_SUBST(MUGSHOT_CFLAGS)
 PKG_CHECK_MODULES(MUGSHOT_URI_HANDLER, gtk+-2.0 >= $GTK2_REQUIRED gthread-2.0 dbus-1 >= $DBUS_REQUIRED)
 PKG_CHECK_MODULES(TEST_HIPPO_IPC, gobject-2.0 dbus-1 >= $DBUS_REQUIRED dbus-glib-1 >= $DBUS_REQUIRED)
 
+if test "x$with_maemo" != xno ; then
+    AC_DEFINE(WITH_MAEMO, , [whether Maemo is active])
+fi
+AM_CONDITIONAL(WITH_MAEMO, test "x$with_maemo" != xno)
+
 GLIB_GENMARSHAL=`$PKG_CONFIG --variable=glib_genmarshal glib-2.0`
 AC_SUBST(GLIB_GENMARSHAL)
 
@@ -620,7 +640,7 @@
 if $sdk_includes_nspr ; then
     NSPR_LIBS="-L $with_gecko_sdk/lib -lnspr4"
 else
-    for pkg in firefox-nspr xulrunnner-nspr nspr ; do
+    for pkg in firefox-nspr xulrunnner-nspr nspr microb-engine-nspr; do
         if test "x$NSPR_PACKAGES" = x ; then
 	    HIPPO_PKG_CHECK_EXISTS($pkg, NSPR_PACKAGES=$pkg)
 	fi
@@ -631,7 +651,7 @@
 fi
 
 if $need_separate_js ; then
-    for pkg in firefox-js xulrunner-js ; do
+    for pkg in firefox-js xulrunner-js microb-engine-js; do
         if test "x$JS_PACKAGES" = x ; then
 	    HIPPO_PKG_CHECK_EXISTS($pkg, JS_PACKAGES=$pkg)
 	fi
Index: linux/Makefile-mugshot.am
===================================================================
--- linux/Makefile-mugshot.am	(revisão 6852)
+++ linux/Makefile-mugshot.am	(cópia de trabalho)
@@ -157,7 +157,11 @@
 autostart_files=$(autostart_in_files:.desktop.in=.desktop)
 autostart_DATA = $(autostart_files)
 
+if WITH_MAEMO
+desktopfilesdir=$(datadir)/applications/hildon
+else
 desktopfilesdir=$(datadir)/applications
+endif
 desktopfiles_in_files=mugshot.desktop.in
 desktopfiles_files=$(desktopfiles_in_files:.desktop.in=.desktop)
 desktopfiles_DATA = $(desktopfiles_files)
Index: linux/icons/hicolor/24x24/apps/mugshot.png
===================================================================
Não é possível mostrar: arquivo marcado como tipo binário.
svn:mime-type = application/octet-stream
Index: common/hippo/hippo-connection.c
===================================================================
--- common/hippo/hippo-connection.c	(revisão 6852)
+++ common/hippo/hippo-connection.c	(cópia de trabalho)
@@ -1,4 +1,5 @@
 /* -*- mode: C; c-basic-offset: 4; indent-tabs-mode: nil; -*- */
+#include <config.h>
 #include "hippo-common-internal.h"
 #include "hippo-connection.h"
 #include "hippo-data-cache-internal.h"
@@ -316,8 +317,14 @@
 #ifdef G_OS_WIN32
     connection->login_browser = HIPPO_BROWSER_IE;
 #else
+
+#ifdef WITH_MAEMO
+    connection->login_browser = HIPPO_BROWSER_MAEMO;
+#else
     connection->login_browser = HIPPO_BROWSER_FIREFOX;
-#endif
+#endif /* WITH_MAEMO */
+
+#endif /* G_OS_WIN32 */
 }
 
 static void
@@ -705,7 +712,7 @@
     g_return_val_if_fail(HIPPO_IS_CONNECTION(connection), FALSE);
     
     hippo_connection_stop_signin_timeout(connection);
-        
+
     if (hippo_connection_load_auth(connection)) {
         if (connection->state == HIPPO_STATE_AUTH_WAIT)
             hippo_connection_authenticate(connection);
@@ -1161,6 +1168,7 @@
                             handle_open, connection, NULL, 
                             &error)) {
         g_debug("lm_connection_open returned false");
+
         hippo_connection_connect_failure(connection, error ? error->message : "");
         if (error)
             g_error_free(error);
@@ -1318,6 +1326,7 @@
                 g_error_free(error);
         } else {
         hippo_connection_state_change(connection, HIPPO_STATE_AUTHENTICATING);
+
     }
     g_free(jabber_id);
 }
Index: common/hippo/hippo-stack-manager.c
===================================================================
--- common/hippo/hippo-stack-manager.c	(revisão 6852)
+++ common/hippo/hippo-stack-manager.c	(cópia de trabalho)
@@ -140,7 +140,7 @@
     HippoRectangle base;
     gboolean is_west;
     gboolean is_north;
-
+    
 #if 1
     g_debug("SIZING: work area %d,%d %dx%d icon %d,%d %dx%d orientation %d",
         monitor->x, monitor->y, monitor->width,  monitor->height,
@@ -896,6 +896,10 @@
 
     manager->browser_window = hippo_platform_create_window(platform);
 
+#ifdef WITH_MAEMO
+    g_object_set(manager->browser_window, "role", HIPPO_WINDOW_ROLE_NOTIFICATION, NULL);
+#endif
+
     g_signal_connect(manager->browser_window, "minimize",
                      G_CALLBACK(on_browser_minimize), manager);
 
Index: common/hippo/hippo-basics.h
===================================================================
--- common/hippo/hippo-basics.h	(revisão 6852)
+++ common/hippo/hippo-basics.h	(cópia de trabalho)
@@ -2,6 +2,7 @@
 #ifndef __HIPPO_BASICS_H__
 #define __HIPPO_BASICS_H__
 
+#include <config.h>
 #include <glib-object.h>
 
 G_BEGIN_DECLS
@@ -69,7 +70,10 @@
     HIPPO_BROWSER_IE,
     HIPPO_BROWSER_FIREFOX,
     HIPPO_BROWSER_EPIPHANY,
-    HIPPO_BROWSER_GALEON
+    HIPPO_BROWSER_GALEON,
+#ifdef WITH_MAEMO
+    HIPPO_BROWSER_MAEMO
+#endif
 } HippoBrowserKind;
 
 typedef enum {
Index: common/hippo/hippo-canvas-filter-area.c
===================================================================
--- common/hippo/hippo-canvas-filter-area.c	(revisão 6852)
+++ common/hippo/hippo-canvas-filter-area.c	(cópia de trabalho)
@@ -202,6 +202,9 @@
     
     item = g_object_new(HIPPO_TYPE_CANVAS_TEXT,
                         "text", "Hide feeds: ",
+#ifdef WITH_MAEMO
+                        "font", "14px",
+#endif
                         "padding-left", 4,
                         "xalign", HIPPO_ALIGNMENT_START,
                         NULL);
@@ -219,6 +222,9 @@
     
     item = g_object_new(HIPPO_TYPE_CANVAS_TEXT,
                         "text", "Hide my items: ",
+#ifdef WITH_MAEMO
+                        "font", "14px",
+#endif
                         "padding-left", 40,
                         "xalign", HIPPO_ALIGNMENT_START,
                         NULL);
Index: common/firefox/src/hippoControl.cpp
===================================================================
--- common/firefox/src/hippoControl.cpp	(revisão 6852)
+++ common/firefox/src/hippoControl.cpp	(cópia de trabalho)
@@ -1,5 +1,7 @@
 /* -*- mode: C++; c-basic-offset: 4; indent-tabs-mode: nil; -*- */
 
+#include <config.h>
+
 #ifdef HIPPO_OS_LINUX
 #include <glib.h>
 #include <gtk/gtk.h>
@@ -135,6 +137,8 @@
 {
     window_ = do_GetWeakReference(window);
 
+#ifndef WITH_MAEMO
+
 #ifdef HIPPO_OS_LINUX
     HippoWindowId windowId = 0;
     
@@ -167,8 +171,10 @@
     
     if (controller_ && endpoint_ && windowId)
         controller_->setWindowId(endpoint_, windowId);
-#endif
+#endif /* HIPPO_OS_LINUX */
 
+#endif /* WITH_MAEMO */
+
     return NS_OK;
 }
 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]