summaryrefslogtreecommitdiff
path: root/applets
diff options
context:
space:
mode:
Diffstat (limited to 'applets')
-rw-r--r--applets/Makefile.am2
-rw-r--r--applets/launcher/Makefile.am14
-rw-r--r--applets/launcher/nautilus-icon-applet.c77
3 files changed, 82 insertions, 11 deletions
diff --git a/applets/Makefile.am b/applets/Makefile.am
index 46e7f6765..42b7c6ee3 100644
--- a/applets/Makefile.am
+++ b/applets/Makefile.am
@@ -1,7 +1,5 @@
include $(top_srcdir)/Makefile.shared
-NULL=
-
SUBDIRS = \
launcher \
$(NULL)
diff --git a/applets/launcher/Makefile.am b/applets/launcher/Makefile.am
index ec4ed0c0d..1b302cfd4 100644
--- a/applets/launcher/Makefile.am
+++ b/applets/launcher/Makefile.am
@@ -4,6 +4,7 @@ INCLUDES = -I. -I$(srcdir) \
-DGNOMELOCALEDIR=\""$(datadir)/locale"\" \
-I$(includedir) \
$(APPLETS_CFLAGS) \
+ -DDATADIR=\""$(datadir)"\" \
$(NULL)
bin_PROGRAMS = nautilus-icon-applet
@@ -14,9 +15,22 @@ nautilus_icon_applet_SOURCES = \
$(NULL)
nautilus_icon_applet_LDADD = \
+ $(top_builddir)/libnautilus/libnautilus.la \
+ $(top_builddir)/libnautilus-extensions/libnautilus-extensions.la \
$(APPLETS_LIBS) \
$(NULL)
+foo =\
+ $(top_builddir)/libnautilus/libnautilus.la \
+ $(top_builddir)/libnautilus-extensions/libnautilus-extensions.la \
+ $(BONOBO_LIBS) \
+ $(OAF_LIBS) \
+ $(GCONF_LIBS) \
+ $(GNOMEUI_LIBS) \
+ $(VFS_LIBS) \
+ $(XML_LIBS) \
+ $(NULL)
+
EXTRA_DIST = \
nautilus-icon-applet.desktop \
nautilus-icon-applet.gnorba \
diff --git a/applets/launcher/nautilus-icon-applet.c b/applets/launcher/nautilus-icon-applet.c
index 2a2cf29d1..61542294d 100644
--- a/applets/launcher/nautilus-icon-applet.c
+++ b/applets/launcher/nautilus-icon-applet.c
@@ -20,13 +20,32 @@
#include <config.h>
#include <applet-widget.h>
-
#include <gtk/gtkobject.h>
-#include <gtk/gtkbutton.h>
-
+#include <gtk/gtkeventbox.h>
+#include <libnautilus-extensions/nautilus-image.h>
+#include <libnautilus-extensions/nautilus-graphic-effects.h>
+#define ICON_NAME "nautilus-launch-icon.png"
+static GdkPixbuf *icon_pixbuf = NULL;
+static GdkPixbuf *icon_prelight_pixbuf = NULL;
+static void
+create_pixbufs ()
+{
+ if (icon_pixbuf == NULL) {
+ char *path;
+
+ path = g_strdup_printf ("%s/pixmaps/%s", DATADIR, ICON_NAME);
+
+ icon_pixbuf = gdk_pixbuf_new_from_file (path);
+ g_free (path);
+
+ g_assert (icon_pixbuf != NULL);
+
+ icon_prelight_pixbuf = nautilus_create_spotlight_pixbuf (icon_pixbuf);
+ }
+}
static void
applet_change_pixel_size(GtkWidget *widget, int size, gpointer data)
@@ -34,12 +53,38 @@ applet_change_pixel_size(GtkWidget *widget, int size, gpointer data)
/* need to change the size of the button here */
}
+static gint
+image_enter_event (GtkWidget *event_box,
+ GdkEventCrossing *event,
+ gpointer client_data)
+{
+ g_return_val_if_fail (GTK_IS_EVENT_BOX (event_box), TRUE);
+ g_return_val_if_fail (NAUTILUS_IS_IMAGE (client_data), TRUE);
+
+ nautilus_image_set_pixbuf (NAUTILUS_IMAGE (client_data), icon_prelight_pixbuf);
+
+ return TRUE;
+}
+
+static gint
+image_leave_event (GtkWidget *event_box,
+ GdkEventCrossing *event,
+ gpointer client_data)
+{
+ g_return_val_if_fail (GTK_IS_EVENT_BOX (event_box), TRUE);
+ g_return_val_if_fail (NAUTILUS_IS_IMAGE (client_data), TRUE);
+
+ nautilus_image_set_pixbuf (NAUTILUS_IMAGE (client_data), icon_pixbuf);
+
+ return TRUE;
+}
int
main (int argc, char **argv)
{
GtkWidget *applet;
- GtkWidget *icon_applet;
+ GtkWidget *icon;
+ GtkWidget *event_box;
int size;
bindtextdomain (PACKAGE, GNOMELOCALEDIR);
@@ -52,15 +97,29 @@ main (int argc, char **argv)
if (applet == NULL)
g_error (_("Can't create nautilus-icon-applet!"));
- icon_applet = gtk_button_new_with_label ("nautilus");
- gtk_object_set_data (GTK_OBJECT (applet), "widget", icon_applet);
- applet_widget_add (APPLET_WIDGET (applet), icon_applet);
+ create_pixbufs ();
+
+ event_box = gtk_event_box_new ();
+
+ icon = nautilus_image_new ();
+
+ gtk_signal_connect (GTK_OBJECT (event_box), "enter_notify_event", GTK_SIGNAL_FUNC (image_enter_event), icon);
+ gtk_signal_connect (GTK_OBJECT (event_box), "leave_notify_event", GTK_SIGNAL_FUNC (image_leave_event), icon);
+
+ nautilus_image_set_pixbuf (NAUTILUS_IMAGE (icon), icon_pixbuf);
+ //nautilus_image_set_pixbuf (NAUTILUS_IMAGE (icon), icon_prelight_pixbuf);
+
+ gtk_container_add (GTK_CONTAINER (event_box), icon);
+
+ //gtk_object_set_data (GTK_OBJECT (applet), "widget", icon);
+ gtk_object_set_data (GTK_OBJECT (applet), "widget", event_box);
+ //applet_widget_add (APPLET_WIDGET (applet), icon);
+ applet_widget_add (APPLET_WIDGET (applet), event_box);
size = applet_widget_get_panel_pixel_size(APPLET_WIDGET(applet)) - 2;
applet_change_pixel_size (GTK_WIDGET (applet), size, NULL);
- gtk_widget_show (icon_applet);
- gtk_widget_show (applet);
+ gtk_widget_show_all (applet);
gtk_signal_connect(GTK_OBJECT(applet),"change_pixel_size",
GTK_SIGNAL_FUNC(applet_change_pixel_size),