* 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 "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;
GtkScrolledWindow *scrollw;
GtkWidget *widget;
gint width, height;
- gint font_size;
+ double font_size;
GdkScreen *screen;
gint monitor_num;
GtkRequisition req;
state = gtk_widget_get_state_flags (widget);
/* Size based on characters and the icon size */
- font_size = pango_font_description_get_size (gtk_style_context_get_font (context, state));
- font_size = PANGO_PIXELS (font_size);
+ gtk_style_context_get (context, state, "font-size", &font_size, NULL);
- width = impl->icon_size + font_size * NUM_CHARS;
- height = (impl->icon_size + font_size) * NUM_LINES;
+ width = impl->icon_size + font_size * NUM_CHARS + 0.5;
+ height = (impl->icon_size + font_size) * NUM_LINES + 0.5;
/* Use at least the requisition size... */
gtk_widget_get_preferred_size (widget, &req, NULL);
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));
{
GtkRecentChooserDefault *impl = GTK_RECENT_CHOOSER_DEFAULT (user_data);
- if (_gtk_button_event_triggers_context_menu (event))
+ if (gdk_event_triggers_context_menu ((GdkEvent *) event))
{
GtkTreePath *path;
gboolean res;