/*
- * (SLIK) SimpLIstic sKin functions
- * (C) 2004 John Ellis
- * Copyright (C) 2008 The Geeqie Team
+ * Copyright (C) 2004 John Ellis
+ * Copyright (C) 2008 - 2016 The Geeqie Team
*
* Author: John Ellis
*
- * This software is released under the GNU General Public License (GNU GPL).
- * Please read the included file COPYING for more information.
- * This software comes with no warranty of any kind, use at your own risk!
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
#ifdef HAVE_CONFIG_H
return item;
}
-GtkWidget *menu_item_add_sensitive(GtkWidget *menu, const gchar *label, gint sensitive,
+GtkWidget *menu_item_add_sensitive(GtkWidget *menu, const gchar *label, gboolean sensitive,
GCallback func, gpointer data)
{
GtkWidget *item;
return item;
}
-GtkWidget *menu_item_add_stock_sensitive(GtkWidget *menu, const gchar *label, const gchar *stock_id, gint sensitive,
+GtkWidget *menu_item_add_stock_sensitive(GtkWidget *menu, const gchar *label, const gchar *stock_id, gboolean sensitive,
GCallback func, gpointer data)
{
GtkWidget *item;
return item;
}
-GtkWidget *menu_item_add_check(GtkWidget *menu, const gchar *label, gint active,
+GtkWidget *menu_item_add_check(GtkWidget *menu, const gchar *label, gboolean active,
GCallback func, gpointer data)
{
GtkWidget *item;
return item;
}
-GtkWidget *menu_item_add_radio(GtkWidget *menu, GtkWidget *parent,
- const gchar *label, gint active,
+GtkWidget *menu_item_add_radio(GtkWidget *menu, const gchar *label, gpointer item_data, gboolean active,
GCallback func, gpointer data)
{
- GtkWidget *item;
- GSList *group = NULL;
-
- if (parent) group = gtk_radio_menu_item_get_group(GTK_RADIO_MENU_ITEM(parent));
-
- item = gtk_radio_menu_item_new_with_mnemonic(group, label);
- if (active) gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(item), active);
- menu_item_finish(menu, item, func, data);
+ GtkWidget *item = menu_item_add_check(menu, label, active, func, data);
+ g_object_set_data(G_OBJECT(item), "menu_item_radio_data", item_data);
+ g_object_set(G_OBJECT(item), "draw-as-radio", TRUE, NULL);
return item;
}
void menu_item_add_divider(GtkWidget *menu)
{
- GtkWidget *item = gtk_menu_item_new();
+ GtkWidget *item = gtk_separator_menu_item_new();
gtk_widget_set_sensitive(item, FALSE);
gtk_menu_shell_append(GTK_MENU_SHELL(menu),item);
gtk_widget_show(item);
return menu;
}
-gint popup_menu_position_clamp(GtkMenu *menu, gint *x, gint *y, gint height)
+gboolean popup_menu_position_clamp(GtkMenu *menu, gint *x, gint *y, gint height)
{
- gint adjusted = FALSE;
+ gboolean adjusted = FALSE;
gint w, h;
gint xw, xh;
+ GtkRequisition requisition;
- w = GTK_WIDGET(menu)->requisition.width;
- h = GTK_WIDGET(menu)->requisition.height;
+ gtk_widget_get_requisition(GTK_WIDGET(menu), &requisition);
+ w = requisition.width;
+ h = requisition.height;
xw = gdk_screen_width();
xh = gdk_screen_height();
return adjusted;
}
+/* vim: set shiftwidth=8 softtabstop=0 cindent cinoptions={1s: */