/* GTK - The GIMP Toolkit
* gtkrecentchooserdefault.c
* Copyright (C) 2005-2006, Emmanuele Bassi
- *
+ *
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * License along with this library. If not, see <http://www.gnu.org/licenses/>.
*/
#include "config.h"
#include "gtkeventbox.h"
#include "gtkexpander.h"
#include "gtkframe.h"
-#include "gtkhbox.h"
-#include "gtkhpaned.h"
+#include "gtkbox.h"
+#include "gtkpaned.h"
#include "gtkimage.h"
#include "gtkimagemenuitem.h"
#include "gtkintl.h"
#include "gtkseparatormenuitem.h"
#include "gtksizegroup.h"
#include "gtksizerequest.h"
-#include "gtktable.h"
#include "gtktreemodelsort.h"
#include "gtktreemodelfilter.h"
#include "gtktreeselection.h"
#include "gtkrecentchooserutils.h"
#include "gtkrecentchooserdefault.h"
-#include "gtkprivate.h"
-
enum
{
impl->load_id = 0;
}
- if (impl->recent_items)
- {
- g_list_foreach (impl->recent_items, (GFunc) gtk_recent_info_unref, NULL);
- g_list_free (impl->recent_items);
- impl->recent_items = NULL;
- }
+ g_list_free_full (impl->recent_items, (GDestroyNotify) gtk_recent_info_unref);
+ impl->recent_items = NULL;
if (impl->manager && impl->manager_changed_id)
{
/* we have finished loading, so we remove the items cache */
impl->load_state = LOAD_LOADING;
- g_list_foreach (impl->recent_items,
- (GFunc) gtk_recent_info_unref,
- NULL);
- g_list_free (impl->recent_items);
+ g_list_free_full (impl->recent_items, (GDestroyNotify) gtk_recent_info_unref);
impl->recent_items = NULL;
impl->n_recent_items = 0;
monitor_num = gdk_screen_get_monitor_at_window (screen,
gtk_widget_get_window (widget));
- gdk_screen_get_monitor_geometry (screen, monitor_num, &monitor);
+ gdk_screen_get_monitor_workarea (screen, monitor_num, &monitor);
width = MIN (width, monitor.width * 3 / 4);
height = MIN (height, monitor.height * 3 / 4);
monitor_num = gdk_screen_get_monitor_at_point (screen, *x, *y);
gtk_menu_set_monitor (menu, monitor_num);
- gdk_screen_get_monitor_geometry (screen, monitor_num, &monitor);
+ gdk_screen_get_monitor_workarea (screen, monitor_num, &monitor);
*x = CLAMP (*x, monitor.x, monitor.x + MAX (0, monitor.width - req.width));
*y = CLAMP (*y, monitor.y, monitor.y + MAX (0, monitor.height - req.height));
gpointer user_data)
{
GtkRecentChooserDefault *impl = GTK_RECENT_CHOOSER_DEFAULT (user_data);
-
- if (event->button == 3)
+
+ if (gdk_event_triggers_context_menu ((GdkEvent *) event))
{
GtkTreePath *path;
gboolean res;