diff options
| author | Jasmine Hassan <[email protected]> | 2012-11-08 08:36:39 +0200 | 
|---|---|---|
| committer | Jasmine Hassan <[email protected]> | 2012-11-16 09:45:53 +0200 | 
| commit | cb95554ed52fc0c5d996de6ae821999d92e15b65 (patch) | |
| tree | af63c03fbdeae80fc82f125b0329765c75271514 /src | |
| parent | 743a7522519fb3c3ac69dae3789d4f0873252779 (diff) | |
| download | caja-cb95554ed52fc0c5d996de6ae821999d92e15b65.tar.bz2 caja-cb95554ed52fc0c5d996de6ae821999d92e15b65.tar.xz | |
[window] don't use deprecated size_request vfunc
http://git.gnome.org/browse/nautilus/commit/?id=b532d0d9290d1731203d971e7c679979265f0a43
Diffstat (limited to 'src')
| -rw-r--r-- | src/caja-window.c | 74 | 
1 files changed, 57 insertions, 17 deletions
| diff --git a/src/caja-window.c b/src/caja-window.c index 14c5d5c4..142ae4a1 100644 --- a/src/caja-window.c +++ b/src/caja-window.c @@ -527,30 +527,18 @@ static void  caja_window_set_initial_window_geometry (CajaWindow *window)  {      GdkScreen *screen; -    guint max_width_for_screen, max_height_for_screen, min_width, min_height; +    guint max_width_for_screen, max_height_for_screen; +#if !GTK_CHECK_VERSION(3,0,0) +    guint min_width, min_height; +#endif      guint default_width, default_height;      screen = gtk_window_get_screen (GTK_WINDOW (window)); -    /* Don't let GTK determine the minimum size -     * automatically. It will insist that the window be -     * really wide based on some misguided notion about -     * the content view area. Also, it might start the -     * window wider (or taller) than the screen, which -     * is evil. So we choose semi-arbitrary initial and -     * minimum widths instead of letting GTK decide. -     */ -    /* FIXME - the above comment suggests that the size request -     * of the content view area is wrong, probably because of -     * another stupid set_usize someplace. If someone gets the -     * content view area's size request right then we can -     * probably remove this broken set_size_request() here. -     * - [email protected] -     */ -      max_width_for_screen = get_max_forced_width (screen);      max_height_for_screen = get_max_forced_height (screen); +#if !GTK_CHECK_VERSION(3,0,0)      EEL_CALL_METHOD (CAJA_WINDOW_CLASS, window,                       get_min_size, (window, &min_width, &min_height)); @@ -559,6 +547,7 @@ caja_window_set_initial_window_geometry (CajaWindow *window)                                        max_width_for_screen),                                   MIN (min_height,                                        max_height_for_screen)); +#endif      EEL_CALL_METHOD (CAJA_WINDOW_CLASS, window,                       get_default_size, (window, &default_width, &default_height)); @@ -1003,6 +992,51 @@ caja_window_slot_close (CajaWindowSlot *slot)      caja_window_pane_slot_close (slot->pane, slot);  } +#if GTK_CHECK_VERSION(3,0,0) +static void +caja_window_get_preferred_width (GtkWidget *widget, +    			     gint *minimal_width, +    			     gint *natural_width) +{ +    GdkScreen *screen; +    gint max_w, min_w, min_h, default_w, default_h; +    CajaWindow *window = CAJA_WINDOW (widget); + +    screen = gtk_window_get_screen (GTK_WINDOW (widget));	 + +    max_w = get_max_forced_width (screen); +    EEL_CALL_METHOD (CAJA_WINDOW_CLASS, window, +    		 get_min_size, (window, &min_w, &min_h)); +    EEL_CALL_METHOD (CAJA_WINDOW_CLASS, window, +    		 get_default_size, (window, &default_w, &default_h)); + +    *minimal_width = MIN (min_w, max_w); +    *natural_width = MIN (default_w, max_w); +} + +static void +caja_window_get_preferred_height (GtkWidget *widget, +    			      gint *minimal_height, +    			      gint *natural_height) +{ +    GdkScreen *screen; +    gint max_h, min_w, min_h, default_w, default_h; +    CajaWindow *window = CAJA_WINDOW (widget); + +    screen = gtk_window_get_screen (GTK_WINDOW (widget));	 + +    max_h = get_max_forced_height (screen); +    EEL_CALL_METHOD (CAJA_WINDOW_CLASS, window, +    		 get_min_size, (window, &min_w, &min_h)); +    EEL_CALL_METHOD (CAJA_WINDOW_CLASS, window, +    		 get_default_size, (window, &default_w, &default_h)); + +    *minimal_height = MIN (min_h, max_h); +    *natural_height = MIN (default_h, max_h); +} + +#else /* GTK_CHECK_VERSION(3,0,0) */ +  static void  caja_window_size_request (GtkWidget		*widget,                            GtkRequisition	*requisition) @@ -1044,6 +1078,7 @@ caja_window_size_request (GtkWidget		*widget,          requisition->height = max_height;      }  } +#endif  /* GTK_CHECK_VERSION(3,0,0) */  static void  caja_window_realize (GtkWidget *widget) @@ -2122,7 +2157,12 @@ caja_window_class_init (CajaWindowClass *class)  #endif      GTK_WIDGET_CLASS (class)->show = caja_window_show; +#if GTK_CHECK_VERSION(3,0,0) +    GTK_WIDGET_CLASS (class)->get_preferred_width = caja_window_get_preferred_width; +    GTK_WIDGET_CLASS (class)->get_preferred_height = caja_window_get_preferred_height; +#else      GTK_WIDGET_CLASS (class)->size_request = caja_window_size_request; +#endif      GTK_WIDGET_CLASS (class)->realize = caja_window_realize;      GTK_WIDGET_CLASS (class)->key_press_event = caja_window_key_press_event;      class->get_title = real_get_title; | 
