[Goodies-commits] r2037 - in xfce4-quicklauncher-plugin/trunk: . panel-plugin
Masse Nicolas
bountykiller at xfce.org
Sun Sep 17 12:17:03 CEST 2006
Author: bountykiller
Date: 2006-09-17 10:17:01 +0000 (Sun, 17 Sep 2006)
New Revision: 2037
Modified:
xfce4-quicklauncher-plugin/trunk/ChangeLog
xfce4-quicklauncher-plugin/trunk/panel-plugin/callbacks.c
xfce4-quicklauncher-plugin/trunk/panel-plugin/main.c
xfce4-quicklauncher-plugin/trunk/panel-plugin/types.h
Log:
Finish to remove eventboxes and fix remaining problems
replace g_assert by g_return_if_fail in order to not crash the panel.
Modified: xfce4-quicklauncher-plugin/trunk/ChangeLog
===================================================================
--- xfce4-quicklauncher-plugin/trunk/ChangeLog 2006-09-16 11:53:03 UTC (rev 2036)
+++ xfce4-quicklauncher-plugin/trunk/ChangeLog 2006-09-17 10:17:01 UTC (rev 2037)
@@ -1,4 +1,4 @@
-
++replace g_assert by g_return_if_fail in order to not crash the panel.
+removed the use of eventboxes. Looks better when a theme is used.
+hopefully fix some compilation problems with netbsd
+lot of new translations (thanks to the people working on this)
Modified: xfce4-quicklauncher-plugin/trunk/panel-plugin/callbacks.c
===================================================================
--- xfce4-quicklauncher-plugin/trunk/panel-plugin/callbacks.c 2006-09-16 11:53:03 UTC (rev 2036)
+++ xfce4-quicklauncher-plugin/trunk/panel-plugin/callbacks.c 2006-09-17 10:17:01 UTC (rev 2037)
@@ -66,7 +66,7 @@
//******************************************************************************
t_qck_launcher_opt_dlg* create_qck_launcher_dlg()
{
- g_assert( !(_dlg || _icon_window) );
+ g_return_if_fail( !(_dlg || _icon_window) );
_icon_window = create_icon_window();
_dlg = (t_qck_launcher_opt_dlg *) g_new0(t_qck_launcher_opt_dlg, 1);
@@ -493,7 +493,7 @@
{
gchar *filename;
- g_assert(GTK_IS_IMAGE(user_data));
+ g_return_if_fail(GTK_IS_IMAGE(user_data));
filename = file_chooser_get_filename(chooser);
if(g_file_test(filename, G_FILE_TEST_IS_REGULAR))
{
Modified: xfce4-quicklauncher-plugin/trunk/panel-plugin/main.c
===================================================================
--- xfce4-quicklauncher-plugin/trunk/panel-plugin/main.c 2006-09-16 11:53:03 UTC (rev 2036)
+++ xfce4-quicklauncher-plugin/trunk/panel-plugin/main.c 2006-09-17 10:17:01 UTC (rev 2037)
@@ -43,7 +43,8 @@
void quicklauncher_save_config(t_quicklauncher *quicklauncher, const gchar* filename);
/* Launcher funcs */
-gboolean launcher_clicked (t_launcher *launcher, gboolean pressed);
+void launcher_passthrough (t_launcher *launcher, gboolean enter);
+void launcher_clicked (t_launcher *launcher, gboolean pressed);
t_launcher* launcher_load_config(XfceRc *rcfile, gint num, t_quicklauncher *quicklauncher);
void launcher_save_config(t_launcher *launcher, XfceRc *rcfile, guint16 num);
@@ -120,7 +121,7 @@
{
GList *liste;
DBG ("setting size %d", size);
- quicklauncher->icon_size = (int) (0.75 * size/quicklauncher->nb_lines);
+ quicklauncher->icon_size = (int) (0.70 * size/quicklauncher->nb_lines);
for(liste = quicklauncher->launchers;
liste ; liste = g_list_next(liste) )
{
@@ -206,7 +207,7 @@
GList *toplace;
DBG ("Organize quicklauncher");
- g_assert( (!quicklauncher->table || GTK_IS_TABLE(quicklauncher->table)) && GTK_IS_CONTAINER(quicklauncher->plugin));
+ g_return_if_fail( (!quicklauncher->table || GTK_IS_TABLE(quicklauncher->table)) && GTK_IS_CONTAINER(quicklauncher->plugin));
if (quicklauncher->launchers)
{
nb_lines = MIN(quicklauncher->nb_lines, quicklauncher->nb_launcher);
@@ -221,18 +222,15 @@
nb_lines = launch_per_line;
launch_per_line = i;
}
- if (quicklauncher->table)
- gtk_table_resize(GTK_TABLE(quicklauncher->table), nb_lines, launch_per_line);
-
+ gtk_table_resize(GTK_TABLE(quicklauncher->table), nb_lines, launch_per_line);
j = quicklauncher->nb_launcher;
for (i=0; i < nb_lines; ++i)
{
for(j=0; (j < launch_per_line) && (toplace); ++j, toplace = g_list_next(toplace))
{
- g_assert(toplace && GTK_IS_WIDGET(((t_launcher*)toplace->data)->image) );
- gtk_table_attach_defaults( GTK_TABLE(quicklauncher->table),
- ((t_launcher*)toplace->data)->image,
- j, j+1, i, i+1);
+ g_return_if_fail(toplace && GTK_IS_WIDGET(((t_launcher*)toplace->data)->image) );
+ gtk_table_attach_defaults(GTK_TABLE(quicklauncher->table), ((t_launcher*)toplace->data)->image,
+ j, j+1, i, i+1);
}
}
}
@@ -299,20 +297,29 @@
launcher = launcher_new("xfhelp4", XFCE_ICON_CATEGORY_HELP,
NULL, quicklauncher);
quicklauncher_add_element(quicklauncher, launcher);
- //g_assert(quicklauncher->nb_launcher == 4);
+ //g_return_if_fail(quicklauncher->nb_launcher == 4);
}
int _quicklauncher_get_numlauncher(t_quicklauncher *quicklauncher, gdouble x, gdouble y)
{
int row, col, nb_lines, launch_per_line;
- col = ( (int)x/quicklauncher->icon_size);
- row = ( (int)y/quicklauncher->icon_size);
nb_lines = MIN(quicklauncher->nb_lines, quicklauncher->nb_launcher);
- if(!(quicklauncher->nb_launcher % quicklauncher->nb_lines))
- launch_per_line = quicklauncher->nb_launcher / quicklauncher->nb_lines;
+ if (quicklauncher->orientation == GTK_ORIENTATION_HORIZONTAL)
+ {
+ col = ( (int)x/(quicklauncher->icon_size));
+ row = ( (int)y/(xfce_panel_plugin_get_size(quicklauncher->plugin)/quicklauncher->nb_lines));
+ if(!(quicklauncher->nb_launcher % quicklauncher->nb_lines))
+ launch_per_line = quicklauncher->nb_launcher / quicklauncher->nb_lines;
+ else
+ launch_per_line = quicklauncher->nb_launcher / quicklauncher->nb_lines + 1;
+ return (launch_per_line * row + col);
+ }
else
- launch_per_line = quicklauncher->nb_launcher / quicklauncher->nb_lines + 1;
- return (launch_per_line * row + col);
+ {
+ col = ( (int)x/(xfce_panel_plugin_get_size(quicklauncher->plugin)/quicklauncher->nb_lines));
+ row = ( (int)y/(quicklauncher->icon_size));
+ return (nb_lines * row + col);
+ }
}
static gboolean
@@ -340,35 +347,44 @@
quicklauncher_moved(XfcePanelPlugin *plugin, GdkEventMotion *event, t_quicklauncher *quicklauncher)
{
int n_launcher;
- static int n_old_launcher;
t_launcher *launcher;
DBG ("moved: %f %f", event->x, event->y);
n_launcher = _quicklauncher_get_numlauncher(quicklauncher, event->x, event->y);
- DBG ("old is: %d\tnew is %d", n_old_launcher, n_launcher);
- if (n_launcher == n_old_launcher) return FALSE;
- launcher = (t_launcher*) g_list_nth_data(quicklauncher->launchers, n_old_launcher);
+ DBG ("old is: %d\tnew is %d", quicklauncher->_last_zoomed_launcher_id, n_launcher);
+ if (n_launcher == quicklauncher->_last_zoomed_launcher_id) return FALSE;
+ launcher = (t_launcher*) g_list_nth_data(quicklauncher->launchers, quicklauncher->_last_zoomed_launcher_id);
if (launcher)
launcher_passthrough(launcher, FALSE);
launcher = (t_launcher*) g_list_nth_data(quicklauncher->launchers, n_launcher);
if (launcher)
launcher_passthrough(launcher, TRUE);
- n_old_launcher = n_launcher;
+ quicklauncher->_last_zoomed_launcher_id = n_launcher;
return TRUE;
}
+static gboolean
+quicklauncher_leave(XfcePanelPlugin *plugin, GdkEventCrossing *event, t_quicklauncher *quicklauncher)
+{
+ g_list_foreach(quicklauncher->launchers, (GFunc*)launcher_passthrough, FALSE);
+ quicklauncher->_last_zoomed_launcher_id = -1;
+ return TRUE;
+}
+
static void
_quicklauncher_update_command(t_quicklauncher *quicklauncher)
{
- g_assert(GTK_IS_TABLE(quicklauncher->table));
+ g_return_if_fail(GTK_IS_TABLE(quicklauncher->table));
if (quicklauncher->command_ids[0] )
{
g_signal_handler_disconnect(quicklauncher->plugin, quicklauncher->command_ids[0]);
g_signal_handler_disconnect(quicklauncher->plugin, quicklauncher->command_ids[1]);
g_signal_handler_disconnect(quicklauncher->plugin, quicklauncher->command_ids[2]);
+ g_signal_handler_disconnect(quicklauncher->plugin, quicklauncher->command_ids[3]);
}
quicklauncher->command_ids[0] = g_signal_connect(quicklauncher->plugin, "button_press_event", G_CALLBACK(quicklauncher_clicked), quicklauncher);
quicklauncher->command_ids[1] = g_signal_connect(quicklauncher->plugin, "button-release-event", G_CALLBACK(quicklauncher_clicked), quicklauncher);
quicklauncher->command_ids[2] = g_signal_connect(quicklauncher->plugin, "motion-notify-event", G_CALLBACK(quicklauncher_moved), quicklauncher);
+ quicklauncher->command_ids[3] = g_signal_connect(quicklauncher->plugin, "leave-notify-event", G_CALLBACK(quicklauncher_leave), quicklauncher);
DBG ("Update Command ids: %d %d %d", quicklauncher->command_ids[0], quicklauncher->command_ids[1], quicklauncher->command_ids[2]);
}
@@ -381,21 +397,21 @@
DBG ("create quicklauncher");
quicklauncher = g_new0(t_quicklauncher, 1);
filename = xfce_panel_plugin_save_location(plugin, TRUE);
- quicklauncher->icon_size = (gint) (0.75 * xfce_panel_plugin_get_size(plugin)/2);
+ quicklauncher->icon_size = (gint) (0.70 * xfce_panel_plugin_get_size(plugin)/2);
DBG ("icon size: %d", quicklauncher->icon_size);
if((!filename) || (!quicklauncher_load_config(quicklauncher, filename) ) )
quicklauncher_load_default(quicklauncher);
-
+ quicklauncher->_last_zoomed_launcher_id = -1;
quicklauncher->orientation = xfce_panel_plugin_get_orientation(plugin);
quicklauncher->plugin = plugin;
gtk_widget_add_events(GTK_WIDGET(plugin),GDK_POINTER_MOTION_MASK);
- quicklauncher->table = g_object_ref(gtk_table_new(2, 2, TRUE));
+ quicklauncher->table = g_object_ref(gtk_table_new(2, 2, FALSE));
gtk_table_set_col_spacings(GTK_TABLE(quicklauncher->table), 0);
+ gtk_table_set_row_spacings(GTK_TABLE(quicklauncher->table), 0);
gtk_container_add( GTK_CONTAINER(quicklauncher->plugin), quicklauncher->table);
_quicklauncher_update_command(quicklauncher);
//xfce_panel_plugin_add_action_widget(quicklauncher->plugin, quicklauncher->table);
gtk_widget_show(quicklauncher->table);
-
quicklauncher_organize(quicklauncher);
return quicklauncher;
}
@@ -423,7 +439,7 @@
xfce_rc_set_group(rcfile, NULL);
quicklauncher->nb_lines = xfce_rc_read_int_entry(rcfile, "nb_lines", 1);
i = xfce_rc_read_int_entry(rcfile, "nb_launcher", 0);
- g_assert(i >= 0);
+ g_return_val_if_fail(i >= 0, FALSE);
while(i)
{
t_launcher *launcher = launcher_load_config(rcfile, i, quicklauncher);
@@ -453,9 +469,8 @@
xfce_rc_flush(rcfile);
for( liste = quicklauncher->launchers; liste; liste = g_list_next(liste), --i)
launcher_save_config((t_launcher*)liste->data, rcfile, i);
-
- g_assert(i == 0);
xfce_rc_close(rcfile);
+ g_return_if_fail(i == 0);
}
/* -------------------------------------------------------------------- *
@@ -476,13 +491,13 @@
return pixbuf;
}
-gboolean
+void
launcher_clicked (t_launcher *launcher, gboolean pressed)
{
DBG ("Launcher clicked => %s", launcher->command);
if (pressed)
{
- g_assert(launcher->zoomed_img);
+ g_return_if_fail(launcher->zoomed_img);
if (!launcher->clicked_img)
{
launcher->clicked_img = gdk_pixbuf_copy (launcher->zoomed_img);
@@ -492,15 +507,14 @@
}
else
{
- g_assert(launcher->clicked_img);
+ g_return_if_fail(launcher->clicked_img);
xfce_exec(launcher->command, FALSE, FALSE, NULL);
gtk_image_set_from_pixbuf (GTK_IMAGE(launcher->image), launcher->def_img);
}
- return TRUE;
}
-gboolean
+void
launcher_passthrough (t_launcher *launcher, gboolean enter)
{
if (enter)
@@ -516,7 +530,6 @@
DBG ("Exit");
gtk_image_set_from_pixbuf (GTK_IMAGE(launcher->image), launcher->def_img);
}
- return TRUE;
}
Modified: xfce4-quicklauncher-plugin/trunk/panel-plugin/types.h
===================================================================
--- xfce4-quicklauncher-plugin/trunk/panel-plugin/types.h 2006-09-16 11:53:03 UTC (rev 2036)
+++ xfce4-quicklauncher-plugin/trunk/panel-plugin/types.h 2006-09-17 10:17:01 UTC (rev 2037)
@@ -52,7 +52,8 @@
GtkOrientation orientation;
gint nb_lines;
gint nb_launcher;
- gulong command_ids[3];
+ gint _last_zoomed_launcher_id;
+ gulong command_ids[4];
}
t_quicklauncher;
More information about the Goodies-commits
mailing list