Sophie

Sophie

distrib > Mageia > 3 > i586 > media > core-release-src > by-pkgid > 8d905e1bba7bf5f43ae59477511494f5 > files > 2

xfce4-quicklauncher-plugin-1.9.4-13.git20120718.3.mga3.src.rpm

diff -p -up ./configure.ac.0004 ./configure.ac
--- ./configure.ac.0004	2007-06-27 19:01:50.000000000 +0000
+++ ./configure.ac	2012-07-17 15:13:42.002811403 +0000
@@ -32,8 +32,9 @@ AC_PROG_INTLTOOL()
 AC_PROG_LIBTOOL
 
 dnl configure the panel plugin
+XDT_CHECK_PACKAGE([EXO], [exo-1], [0.6.0])
 XDT_CHECK_PACKAGE([LIBXFCE4PANEL], [libxfce4panel-1.0], [4.3.20])
-XDT_CHECK_PACKAGE([LIBXFCEGUI4], [libxfcegui4-1.0], [4.3.20])
+XDT_CHECK_PACKAGE([LIBXFCE4UI], [libxfce4ui-1], [4.8.0])
 
 dnl Check for debugging support
 XDT_FEATURE_DEBUG()
diff -p -up ./panel-plugin/callbacks.c.0004 ./panel-plugin/callbacks.c
--- ./panel-plugin/callbacks.c.0004	2007-06-09 20:50:08.000000000 +0000
+++ ./panel-plugin/callbacks.c	2012-07-17 15:13:42.112806750 +0000
@@ -25,7 +25,8 @@
 #endif
 
 #include <string.h>
-#include <libxfcegui4/icons.h>
+#include <exo/exo.h>
+#include <libxfce4ui/libxfce4ui.h>
 
 #include "callbacks.h"
 #include "avoid_deprecation.h"
@@ -33,12 +34,9 @@
 
 
 static t_qck_launcher_opt_dlg *_dlg = NULL;
-static GtkWidget  *_icon_window = NULL;
 
-GtkWidget* create_icon_window();
-void show_icon_window( GtkTreeView *treeview, GtkTreePath *arg1,
-						GtkTreeViewColumn *arg2, gpointer user_data);
-void btn_clicked(GtkButton *button, gpointer icon_id);
+void show_icon_window( GtkTreeView *treeview, GtkTreePath *path,
+			GtkTreeViewColumn *column, gpointer user_data);
 void on_spin_value_changed(GtkSpinButton *spinbutton, gpointer user_data);
 void on_btn_new_clicked(GtkButton *button, gpointer user_data);
 void on_btn_remove_clicked(GtkButton *button, gpointer user_data);
@@ -72,8 +70,7 @@ _gtk_widget_get_parent_gtk_window(GtkWid
 //******************************************************************************
 t_qck_launcher_opt_dlg* create_qck_launcher_dlg()
 {
-  g_return_val_if_fail( !(_dlg || _icon_window), NULL);
-  _icon_window = create_icon_window();
+  g_return_val_if_fail( !(_dlg), NULL);
   _dlg = (t_qck_launcher_opt_dlg *) g_new0(t_qck_launcher_opt_dlg, 1);
 
   _dlg->dialog = gtk_dialog_new_with_buttons (_("Configure Quicklauncher"), NULL,
@@ -236,13 +233,13 @@ qck_launcher_opt_dlg_set_quicklauncher(t
 	{
 		launcher = i->data;
 		gtk_list_store_insert(GTK_LIST_STORE(treemodel), &iter, 0);
-		pixbuf = _create_pixbuf(launcher->icon_id, launcher->icon_name, 16);
+		pixbuf = _create_pixbuf(launcher->icon_name, 16);
 		gtk_list_store_set(GTK_LIST_STORE(treemodel), &iter, 0, pixbuf,
 							1,  launcher->command, 2, launcher->name, 3,(gpointer)launcher, -1);
 		UNREF(pixbuf);
 	}
 	g_signal_connect(_dlg->treeview1, "row-activated",
-					G_CALLBACK(show_icon_window), NULL);
+					G_CALLBACK(show_icon_window), launcher);
 	g_signal_connect((gpointer)_dlg->spin1, "value-changed",
 					G_CALLBACK (on_spin_value_changed), NULL);
 	g_signal_connect ((gpointer) _dlg->btn_new, "clicked",
@@ -266,137 +263,68 @@ void
 free_qck_launcher_dlg(GtkDialog *dialog, gint arg1, gpointer user_data)
 {
 	g_print("destroy\n");
-	if (_icon_window)
-	{
-		gtk_widget_destroy(_icon_window);
-		_icon_window = NULL;
-	}
 	gtk_widget_hide(_dlg->dialog);
 	gtk_widget_destroy(_dlg->dialog);
 	g_free(_dlg);
 	_dlg = NULL;
 }
 
-
-GtkWidget* create_icon_window()
-{
-	GtkWidget *hbox, *btn;
-	GdkPixbuf *pixbuf;
-	gint i;
-
-	_icon_window = gtk_window_new(GTK_WINDOW_POPUP);
-	hbox = gtk_hbox_new(FALSE, 0);
-	gtk_container_add(GTK_CONTAINER(_icon_window), hbox);
-	for(i=0; i < XFCE_N_BUILTIN_ICON_CATEGORIES; ++i)
-	{
-		pixbuf = xfce_themed_icon_load_category(i, 16);
-		btn = xfce_iconbutton_new();
-		gtk_button_set_relief (GTK_BUTTON (btn), GTK_RELIEF_NONE);
-		xfce_iconbutton_set_pixbuf(XFCE_ICONBUTTON (btn), pixbuf);
-		UNREF(pixbuf);
-		gtk_box_pack_start(GTK_BOX(hbox), btn, TRUE, TRUE, 1);
-		g_signal_connect(btn, "clicked", G_CALLBACK(btn_clicked), (gpointer)i);
-		g_signal_connect_swapped(btn, "clicked", G_CALLBACK(gtk_widget_hide), (gpointer)_icon_window);
-		gtk_widget_show(btn);
-	}
-	btn = gtk_button_new_with_label(" ... ");
-	gtk_button_set_relief (GTK_BUTTON (btn), GTK_RELIEF_NONE);
-	gtk_box_pack_start(GTK_BOX(hbox), btn, TRUE, TRUE, 1);
-	g_signal_connect(btn, "clicked", G_CALLBACK(btn_clicked), (gpointer)XFCE_ICON_CATEGORY_EXTERN);
-	g_signal_connect_swapped(btn, "clicked", G_CALLBACK(gtk_widget_hide), (gpointer)_icon_window);
-	gtk_widget_show(btn);
-	gtk_widget_show(hbox);
-
-	return _icon_window;
-}
-
-
 void
-show_icon_window( GtkTreeView *treeview, GtkTreePath *arg1,
-								GtkTreeViewColumn *arg2, gpointer user_data)
+show_icon_window( GtkTreeView *treeview, GtkTreePath *path,
+		GtkTreeViewColumn *column, gpointer user_data)
 {
-	if (gtk_tree_view_get_column(treeview, 0) == arg2)
-	{
-		gtk_window_set_position(GTK_WINDOW(_icon_window), GTK_WIN_POS_MOUSE);
-		gtk_window_set_modal(GTK_WINDOW(_icon_window), TRUE);
-		gtk_widget_show(_icon_window);
-	}
-}
+  t_launcher *launcher = (t_launcher *)user_data;
+  GtkTreeModel *treemodel = gtk_tree_view_get_model (treeview);
+  GtkTreeIter iter;
+  GtkWidget *toplevel;
+  GtkWidget *chooser;
+  gchar     *icon;
+
+  g_return_if_fail (gtk_tree_view_get_column(treeview, 0) == column);
+  g_return_if_fail (launcher != NULL);
+  g_return_if_fail (treemodel != NULL);
+  g_return_if_fail (gtk_tree_model_get_iter(treemodel, &iter, path));
+
+  /* determine the toplevel widget */
+  toplevel = gtk_widget_get_toplevel (GTK_WIDGET(treeview));
+  if (toplevel == NULL || !GTK_WIDGET_TOPLEVEL (toplevel))
+    return;
+
+  /* allocate the icon chooser dialog */
+  chooser = exo_icon_chooser_dialog_new (_("Select an icon"),
+                                         GTK_WINDOW (toplevel),
+                                         GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
+                                         GTK_STOCK_OK, GTK_RESPONSE_ACCEPT,
+                                         NULL);
+  gtk_dialog_set_default_response (GTK_DIALOG (chooser), GTK_RESPONSE_ACCEPT);
+  gtk_dialog_set_alternative_button_order (GTK_DIALOG (chooser),
+                                           GTK_RESPONSE_ACCEPT,
+                                           GTK_RESPONSE_CANCEL,
+                                           -1);
+
+  /* check if we have an icon to set for the chooser */
+  if (G_LIKELY (!exo_str_is_empty (launcher->icon_name)))
+    exo_icon_chooser_dialog_set_icon (EXO_ICON_CHOOSER_DIALOG (chooser), launcher->icon_name);
+
+  /* run the chooser dialog */
+  if (gtk_dialog_run (GTK_DIALOG (chooser)) == GTK_RESPONSE_ACCEPT)
+    {
+      GdkPixbuf *pixbuf = NULL;
+      /* remember the selected icon from the chooser */
+      icon = exo_icon_chooser_dialog_get_icon (EXO_ICON_CHOOSER_DIALOG (chooser));
+      if (launcher->icon_name)
+        g_free(launcher->icon_name);
+      launcher->icon_name = icon;
+      launcher_update_icon(launcher, _dlg->quicklauncher->icon_size);
+      pixbuf = _create_pixbuf(icon, 16);
+      gtk_list_store_set(GTK_LIST_STORE(treemodel), &iter, 0, pixbuf, -1);
+      UNREF(pixbuf);
+    }
 
-gchar* get_icon_file()
-{
-	GtkWidget *chooser, *img;
-	FileFilter *filter;
-	gchar *result = NULL;
-	chooser = file_chooser_new(_("Open icon"), GTK_WINDOW(_icon_window), FILE_CHOOSER_ACTION_OPEN,
-												  GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
-		      									  GTK_STOCK_OPEN, GTK_RESPONSE_ACCEPT, NULL);
-	/*Preview widget*/
-	img = gtk_image_new();
-	gtk_widget_set_size_request(img, 96, 96);
-	gtk_widget_show(img);
-	file_chooser_set_preview_widget(FILE_CHOOSER(chooser), img);
-	file_chooser_set_preview_widget_active(FILE_CHOOSER(chooser), FALSE);
-	file_chooser_set_preview_callback(FILE_CHOOSER(chooser),
-									file_chooser_preview_img, (gpointer)img);
-
-	file_chooser_get_local_only(FILE_CHOOSER(chooser));
-	file_chooser_set_select_multiple(FILE_CHOOSER(chooser), FALSE);
-	filter = file_filter_new();
-	if (filter){
-		file_filter_set_name(filter, "image");
-		file_filter_add_mime_type(filter, "image/*");
-		file_chooser_add_filter(FILE_CHOOSER(chooser), filter);
-	}
-	file_chooser_set_current_folder(FILE_CHOOSER(chooser), "/usr/share/pixmaps");//Maybe can be changed...
-	gtk_window_set_modal(GTK_WINDOW(chooser), TRUE);
-	gtk_window_set_transient_for(GTK_WINDOW(chooser),  _gtk_widget_get_parent_gtk_window(_dlg->vbox) );
-	if(gtk_dialog_run(GTK_DIALOG(chooser)) == GTK_RESPONSE_ACCEPT)
-		result = file_chooser_get_filename(FILE_CHOOSER(chooser));
-
-	gtk_widget_destroy(img);
-	gtk_widget_destroy(chooser);
-
-	return result;
+  /* destroy the chooser */
+  gtk_widget_destroy (chooser);
 }
 
-//Callback functions
-//******************************************************************************
-void
-btn_clicked(GtkButton *button, gpointer icon_id)
-{
-	GtkTreeModel *treemodel;
-	GtkTreeIter iter;
-	GdkPixbuf *pixbuf;
-	GtkTreeSelection *sel;
-	gchar *icon_name = NULL;
-	t_launcher *launcher;
-
-	sel = gtk_tree_view_get_selection( GTK_TREE_VIEW(_dlg->treeview1) );
-	if ( gtk_tree_selection_get_selected(sel, &treemodel, &iter) )
-	{
-		gtk_tree_model_get(treemodel, &iter, 3, &launcher, -1);
-		if ( (gint)icon_id == XFCE_ICON_CATEGORY_EXTERN )
-		{
-			gtk_window_set_modal(GTK_WINDOW(_icon_window), FALSE);
-			gtk_widget_hide(GTK_WIDGET(_icon_window));
-			icon_name = get_icon_file();
-			//gtk_widget_show(GTK_WIDGET(_icon_window)); //useless
-			if (icon_name)
-			{
-				if (launcher->icon_name)
-					g_free(launcher->icon_name);
-				launcher->icon_name = icon_name;
-				launcher->icon_id = (gint)icon_id;
-			}
-		}else
-			launcher->icon_id = (gint)icon_id;
-		launcher_update_icon(launcher, _dlg->quicklauncher->icon_size);
-		pixbuf = _create_pixbuf(launcher->icon_id, icon_name, 16);
-		gtk_list_store_set(GTK_LIST_STORE(treemodel), &iter, 0, pixbuf, -1);
-		UNREF(pixbuf);
-	}
-}
 
 void on_spin_value_changed(GtkSpinButton *spinbutton, gpointer user_data)
 {
@@ -411,10 +339,10 @@ on_btn_new_clicked (GtkButton *button, g
 	GdkPixbuf *pixbuf;
 	t_launcher *launcher; 
 	
-	launcher = launcher_new(NULL, NULL, XFCE_ICON_CATEGORY_UNKNOWN, NULL, _dlg->quicklauncher);
+	launcher = launcher_new(NULL, NULL, "xfce-unknown", _dlg->quicklauncher);
 	treemodel = gtk_tree_view_get_model(GTK_TREE_VIEW(_dlg->treeview1));
 	gtk_list_store_insert(GTK_LIST_STORE(treemodel), &iter, INT_MAX); //INT_MAX must be enough ;-)
-	pixbuf = xfce_themed_icon_load_category(XFCE_ICON_CATEGORY_UNKNOWN, 16);
+	pixbuf = _create_pixbuf("xfce-unknown", 16);
 	gtk_list_store_set(GTK_LIST_STORE(treemodel), &iter, 0, pixbuf, 1, NULL,
 												2, NULL, 3, (gpointer)launcher, -1);
 	UNREF(pixbuf);
diff -p -up ./panel-plugin/main.c.0004 ./panel-plugin/main.c
--- ./panel-plugin/main.c.0004	2012-07-17 15:13:41.888816226 +0000
+++ ./panel-plugin/main.c	2012-07-17 15:27:57.285640203 +0000
@@ -318,17 +318,14 @@ quicklauncher_load_default(t_quicklaunch
 	quicklauncher->has_labels = FALSE;
 	quicklauncher->has_tooltips = TRUE;
 
-	launcher = launcher_new(_("Lock"), "xflock4", XFCE_ICON_CATEGORY_SYSTEM,
-							NULL, quicklauncher);
-	quicklauncher_add_element(quicklauncher, launcher);
-	launcher = launcher_new(_("Parameters"),"xfce-settings-manager", XFCE_ICON_CATEGORY_SETTINGS,
-							NULL, quicklauncher);
+	launcher = launcher_new(_("Lock"), "xflock4", "system-lock-screen",
+							quicklauncher);
 	quicklauncher_add_element(quicklauncher, launcher);
-	launcher = launcher_new(_("Applications"), "xfce4-appfinder", XFCE_ICON_CATEGORY_UTILITY,
-							NULL, quicklauncher);
+	launcher = launcher_new(_("Parameters"),"xfce4-settings-manager",
+							"preferences-desktop", quicklauncher);
 	quicklauncher_add_element(quicklauncher, launcher);
-	launcher = launcher_new(_("Help"), "xfhelp4", XFCE_ICON_CATEGORY_HELP,
-							NULL, quicklauncher);
+	launcher = launcher_new(_("Applications"), "xfce4-appfinder", 
+							"applications-utilities", quicklauncher);
 	quicklauncher_add_element(quicklauncher, launcher);
 	//g_return_if_fail(quicklauncher->nb_launcher == 4);
 }
@@ -429,16 +426,15 @@ quicklauncher_save_config(t_quicklaunche
 
 //TO DO: support icon by name
 GdkPixbuf *
-_create_pixbuf(gint id, const gchar* name, gint size)
+_create_pixbuf(const gchar* name, gint size)
 {
-	DBG ("id: %d" , id);
+	DBG ("name: %s" , name);
 	GdkPixbuf  *pixbuf = NULL;
-	if(id != XFCE_ICON_CATEGORY_EXTERN)
-		pixbuf = xfce_themed_icon_load_category(id, size);
-	else
-		pixbuf = gdk_pixbuf_new_from_file_at_size(name, size, size, NULL);
+	pixbuf = gtk_icon_theme_load_icon ( gtk_icon_theme_get_default(), name,
+			size, GTK_ICON_LOOKUP_GENERIC_FALLBACK, NULL);
 	if(!pixbuf)
-		pixbuf = xfce_themed_icon_load_category(XFCE_ICON_CATEGORY_UNKNOWN, size);
+		pixbuf = gtk_icon_theme_load_icon ( gtk_icon_theme_get_default(), "xfce-unknown",
+				size, GTK_ICON_LOOKUP_GENERIC_FALLBACK, NULL);
 	return pixbuf;
 }
 
@@ -462,7 +458,7 @@ gboolean launcher_clicked (GtkWidget *bo
 		if(launcher->quicklauncher->_last_zoomed_launcher == launcher)
 		{
 			g_return_val_if_fail(launcher->clicked_img, FALSE);
-			xfce_exec(launcher->command, FALSE, FALSE, NULL);
+			xfce_spawn_command_line_on_screen(gtk_widget_get_screen (box), launcher->command, FALSE, FALSE, NULL);
 			gtk_image_set_from_pixbuf (GTK_IMAGE(launcher->image), launcher->def_img);
 		}
 		else
@@ -499,7 +495,7 @@ launcher_update_icon(t_launcher *launche
 	UNREF(launcher->def_img);
 	UNREF(launcher->zoomed_img); launcher->zoomed_img = NULL;
 	UNREF(launcher->clicked_img); launcher->clicked_img = NULL;
-	launcher->def_img = _create_pixbuf(launcher->icon_id, launcher->icon_name, size);
+	launcher->def_img = _create_pixbuf(launcher->icon_name, size);
 	if (launcher->def_img)
 		gtk_image_set_from_pixbuf(GTK_IMAGE(launcher->image), launcher->def_img);
 	gtk_widget_set_size_request(launcher->box, launcher->quicklauncher->has_labels?-1:size, size); 
@@ -569,7 +565,7 @@ void create_launcher(t_launcher	*launche
 }
 
 
-t_launcher *launcher_new (const gchar *name, const gchar *command, gint icon_id,
+t_launcher *launcher_new (const gchar *name, const gchar *command,
 						const gchar *icon_name, t_quicklauncher* quicklauncher)
 {
 	t_launcher *launcher;
@@ -581,7 +577,6 @@ t_launcher *launcher_new (const gchar *n
 	if(command)
 		launcher->command = g_strdup(command);
 	else launcher->command = NULL;
-	launcher->icon_id = icon_id;
 	if (icon_name)
 		launcher->icon_name = g_strdup(icon_name);
 	else launcher->icon_name = NULL;
@@ -614,7 +609,6 @@ launcher_load_config(XfceRc *rcfile, gin
 	xfce_rc_set_group(rcfile, group);
 	launcher = launcher_new(xfce_rc_read_entry(rcfile, "name", NULL),
 							xfce_rc_read_entry(rcfile, "command", NULL),
-							xfce_rc_read_int_entry(rcfile, "icon_id", 0),
 							xfce_rc_read_entry(rcfile, "icon_name", NULL),
 							quicklauncher);
 	return launcher;
@@ -634,6 +628,5 @@ launcher_save_config(t_launcher *launche
 		xfce_rc_write_entry(rcfile, "name", launcher->name);
 	if(launcher->icon_name)
 		xfce_rc_write_entry(rcfile, "icon_name", launcher->icon_name);
-	xfce_rc_write_int_entry(rcfile, "icon_id", launcher->icon_id);
 	xfce_rc_flush(rcfile);
 }
diff -p -up ./panel-plugin/Makefile.am.0004 ./panel-plugin/Makefile.am
--- ./panel-plugin/Makefile.am.0004	2006-11-21 12:27:30.000000000 +0000
+++ ./panel-plugin/Makefile.am	2012-07-17 15:13:42.443792749 +0000
@@ -18,12 +18,14 @@ libquicklauncher_la_SOURCES =							\
 
 libquicklauncher_la_CFLAGS =							\
 	-DPACKAGE_LOCALE_DIR=\"$(localedir)\"				\
+	@EXO_CFLAGS@		\
 	@LIBXFCE4PANEL_CFLAGS@		\
-	@LIBXFCEGUI4_CFLAGS@
+	@LIBXFCE4UI_CFLAGS@
 
 libquicklauncher_la_LIBADD = 							\
+	@EXO_LIBS@		\
 	@LIBXFCE4PANEL_LIBS@		\
-	@LIBXFCEGUI4_LIBS@
+	@LIBXFCE4UI_LIBS@
 
 # .desktop file
 #
diff -p -up ./panel-plugin/types.h.0004 ./panel-plugin/types.h
--- ./panel-plugin/types.h.0004	2007-06-09 20:50:08.000000000 +0000
+++ ./panel-plugin/types.h	2012-07-17 15:13:42.575787162 +0000
@@ -25,8 +25,8 @@
 
 
 #include <libxfce4util/libxfce4util.h>
-#include <libxfcegui4/libxfcegui4.h>
-#include <libxfce4panel/xfce-panel-plugin.h>
+#include <libxfce4ui/libxfce4ui.h>
+#include <libxfce4panel/libxfce4panel.h>
 
 
 #define XFCE_ICON_CATEGORY_STOCK 		(XFCE_N_BUILTIN_ICON_CATEGORIES + 1) //not used yet
@@ -104,15 +104,14 @@ struct _t_launcher
 	gchar *command;
 	gchar *name;
 	gchar *icon_name;
-	gint icon_id;
 	t_quicklauncher *quicklauncher;
 };
 
 
 GdkPixbuf *
-_create_pixbuf(gint id, const gchar* name, gint size);
+_create_pixbuf(const gchar* name, gint size);
 
-t_launcher *launcher_new (const gchar *name, const gchar *command, gint icon_id,
+t_launcher *launcher_new (const gchar *name, const gchar *command,
 						const gchar *icon_name, t_quicklauncher* quicklauncher);
 void launcher_free (t_launcher *launcher);
 void launcher_update_icon(t_launcher *launcher, gint size);