forked from AuroraMiddleware/gtk
bgo322298 - Make the file chooser dialog always resizable
2008-05-19 Federico Mena Quintero <federico@novell.com> http://bugzilla.gnome.org/show_bug.cgi?id=322298 - Save dialog can't be resized until you expand the "Browse for other folders" section. * gtk/gtkfilechooserembed.h (struct _GtkFileChooserEmbedIface): Removed the "get_resizable" method. (_gtk_file_chooser_embed_get_resizable): Removed. * gtk/gtkfilechooserembed.c: Removed the _get_resizable() machinery. * gtk/gtkfilechooserdefault.c: Likewise. * gtk/gtkfilechooserdialog.c (file_chooser_widget_default_size_changed): Act as if the dialog were always resizable. Signed-off-by: Federico Mena Quintero <federico@novell.com> svn path=/trunk/; revision=20113
This commit is contained in:
parent
02fd7ba040
commit
20ee3a022e
18
ChangeLog
18
ChangeLog
@ -1,3 +1,21 @@
|
|||||||
|
2008-05-19 Federico Mena Quintero <federico@novell.com>
|
||||||
|
|
||||||
|
http://bugzilla.gnome.org/show_bug.cgi?id=322298 - Save dialog
|
||||||
|
can't be resized until you expand the "Browse for other folders"
|
||||||
|
section.
|
||||||
|
|
||||||
|
* gtk/gtkfilechooserembed.h (struct _GtkFileChooserEmbedIface):
|
||||||
|
Removed the "get_resizable" method.
|
||||||
|
(_gtk_file_chooser_embed_get_resizable): Removed.
|
||||||
|
|
||||||
|
* gtk/gtkfilechooserembed.c: Removed the _get_resizable() machinery.
|
||||||
|
|
||||||
|
* gtk/gtkfilechooserdefault.c: Likewise.
|
||||||
|
|
||||||
|
* gtk/gtkfilechooserdialog.c
|
||||||
|
(file_chooser_widget_default_size_changed): Act as if the dialog
|
||||||
|
were always resizable.
|
||||||
|
|
||||||
2008-05-19 Michael Natterer <mitch@imendio.com>
|
2008-05-19 Michael Natterer <mitch@imendio.com>
|
||||||
|
|
||||||
* gtk/gtkcellrenderer.c
|
* gtk/gtkcellrenderer.c
|
||||||
|
@ -366,7 +366,6 @@ static GSList * gtk_file_chooser_default_list_shortcut_folders (GtkFileCh
|
|||||||
static void gtk_file_chooser_default_get_default_size (GtkFileChooserEmbed *chooser_embed,
|
static void gtk_file_chooser_default_get_default_size (GtkFileChooserEmbed *chooser_embed,
|
||||||
gint *default_width,
|
gint *default_width,
|
||||||
gint *default_height);
|
gint *default_height);
|
||||||
static gboolean gtk_file_chooser_default_get_resizable (GtkFileChooserEmbed *chooser_embed);
|
|
||||||
static gboolean gtk_file_chooser_default_should_respond (GtkFileChooserEmbed *chooser_embed);
|
static gboolean gtk_file_chooser_default_should_respond (GtkFileChooserEmbed *chooser_embed);
|
||||||
static void gtk_file_chooser_default_initial_focus (GtkFileChooserEmbed *chooser_embed);
|
static void gtk_file_chooser_default_initial_focus (GtkFileChooserEmbed *chooser_embed);
|
||||||
|
|
||||||
@ -811,7 +810,6 @@ static void
|
|||||||
gtk_file_chooser_embed_default_iface_init (GtkFileChooserEmbedIface *iface)
|
gtk_file_chooser_embed_default_iface_init (GtkFileChooserEmbedIface *iface)
|
||||||
{
|
{
|
||||||
iface->get_default_size = gtk_file_chooser_default_get_default_size;
|
iface->get_default_size = gtk_file_chooser_default_get_default_size;
|
||||||
iface->get_resizable = gtk_file_chooser_default_get_resizable;
|
|
||||||
iface->should_respond = gtk_file_chooser_default_should_respond;
|
iface->should_respond = gtk_file_chooser_default_should_respond;
|
||||||
iface->initial_focus = gtk_file_chooser_default_initial_focus;
|
iface->initial_focus = gtk_file_chooser_default_initial_focus;
|
||||||
}
|
}
|
||||||
@ -6032,14 +6030,6 @@ gtk_file_chooser_default_size_allocate (GtkWidget *widget,
|
|||||||
|
|
||||||
GTK_WIDGET_CLASS (_gtk_file_chooser_default_parent_class)->size_allocate (widget, allocation);
|
GTK_WIDGET_CLASS (_gtk_file_chooser_default_parent_class)->size_allocate (widget, allocation);
|
||||||
|
|
||||||
if (!gtk_file_chooser_default_get_resizable (GTK_FILE_CHOOSER_EMBED (impl)))
|
|
||||||
{
|
|
||||||
/* The dialog is not resizable, we shouldn't
|
|
||||||
* trust in the size it has in this stage
|
|
||||||
*/
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
impl->default_width = allocation->width;
|
impl->default_width = allocation->width;
|
||||||
impl->default_height = allocation->height;
|
impl->default_height = allocation->height;
|
||||||
|
|
||||||
@ -7946,18 +7936,6 @@ gtk_file_chooser_default_get_default_size (GtkFileChooserEmbed *chooser_embed,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static gboolean
|
|
||||||
gtk_file_chooser_default_get_resizable (GtkFileChooserEmbed *chooser_embed)
|
|
||||||
{
|
|
||||||
GtkFileChooserDefault *impl;
|
|
||||||
|
|
||||||
impl = GTK_FILE_CHOOSER_DEFAULT (chooser_embed);
|
|
||||||
|
|
||||||
return (impl->action == GTK_FILE_CHOOSER_ACTION_OPEN ||
|
|
||||||
impl->action == GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER ||
|
|
||||||
gtk_expander_get_expanded (GTK_EXPANDER (impl->save_expander)));
|
|
||||||
}
|
|
||||||
|
|
||||||
struct switch_folder_closure {
|
struct switch_folder_closure {
|
||||||
GtkFileChooserDefault *impl;
|
GtkFileChooserDefault *impl;
|
||||||
const GtkFilePath *path;
|
const GtkFilePath *path;
|
||||||
|
@ -185,7 +185,6 @@ file_chooser_widget_default_size_changed (GtkWidget *widget,
|
|||||||
gint width, height;
|
gint width, height;
|
||||||
gint default_width, default_height;
|
gint default_width, default_height;
|
||||||
GtkRequisition req, widget_req;
|
GtkRequisition req, widget_req;
|
||||||
gboolean resizable;
|
|
||||||
|
|
||||||
priv = GTK_FILE_CHOOSER_DIALOG_GET_PRIVATE (dialog);
|
priv = GTK_FILE_CHOOSER_DIALOG_GET_PRIVATE (dialog);
|
||||||
|
|
||||||
@ -208,7 +207,6 @@ file_chooser_widget_default_size_changed (GtkWidget *widget,
|
|||||||
height = GTK_WIDGET (dialog)->allocation.height - widget->allocation.height;
|
height = GTK_WIDGET (dialog)->allocation.height - widget->allocation.height;
|
||||||
}
|
}
|
||||||
|
|
||||||
resizable = _gtk_file_chooser_embed_get_resizable (GTK_FILE_CHOOSER_EMBED (priv->widget));
|
|
||||||
_gtk_file_chooser_embed_get_default_size (GTK_FILE_CHOOSER_EMBED (priv->widget),
|
_gtk_file_chooser_embed_get_default_size (GTK_FILE_CHOOSER_EMBED (priv->widget),
|
||||||
&default_width, &default_height);
|
&default_width, &default_height);
|
||||||
|
|
||||||
@ -219,16 +217,7 @@ file_chooser_widget_default_size_changed (GtkWidget *widget,
|
|||||||
if (GTK_WIDGET_REALIZED (dialog))
|
if (GTK_WIDGET_REALIZED (dialog))
|
||||||
clamp_to_screen (GTK_WIDGET (dialog), &width, &height);
|
clamp_to_screen (GTK_WIDGET (dialog), &width, &height);
|
||||||
|
|
||||||
if (resizable)
|
|
||||||
{
|
|
||||||
gtk_window_set_resizable (GTK_WINDOW (dialog), resizable);
|
|
||||||
gtk_window_resize (GTK_WINDOW (dialog), width, height);
|
gtk_window_resize (GTK_WINDOW (dialog), width, height);
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
gtk_widget_set_size_request (GTK_WIDGET (dialog), width, -1);
|
|
||||||
gtk_window_set_resizable (GTK_WINDOW (dialog), resizable);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
@ -28,7 +28,6 @@ static void gtk_file_chooser_embed_class_init (gpointer g_iface);
|
|||||||
static void delegate_get_default_size (GtkFileChooserEmbed *chooser_embed,
|
static void delegate_get_default_size (GtkFileChooserEmbed *chooser_embed,
|
||||||
gint *default_width,
|
gint *default_width,
|
||||||
gint *default_height);
|
gint *default_height);
|
||||||
static gboolean delegate_get_resizable (GtkFileChooserEmbed *chooser_embed);
|
|
||||||
static gboolean delegate_should_respond (GtkFileChooserEmbed *chooser_embed);
|
static gboolean delegate_should_respond (GtkFileChooserEmbed *chooser_embed);
|
||||||
static void delegate_initial_focus (GtkFileChooserEmbed *chooser_embed);
|
static void delegate_initial_focus (GtkFileChooserEmbed *chooser_embed);
|
||||||
static void delegate_default_size_changed (GtkFileChooserEmbed *chooser_embed,
|
static void delegate_default_size_changed (GtkFileChooserEmbed *chooser_embed,
|
||||||
@ -55,7 +54,6 @@ void
|
|||||||
_gtk_file_chooser_embed_delegate_iface_init (GtkFileChooserEmbedIface *iface)
|
_gtk_file_chooser_embed_delegate_iface_init (GtkFileChooserEmbedIface *iface)
|
||||||
{
|
{
|
||||||
iface->get_default_size = delegate_get_default_size;
|
iface->get_default_size = delegate_get_default_size;
|
||||||
iface->get_resizable = delegate_get_resizable;
|
|
||||||
iface->should_respond = delegate_should_respond;
|
iface->should_respond = delegate_should_respond;
|
||||||
iface->initial_focus = delegate_initial_focus;
|
iface->initial_focus = delegate_initial_focus;
|
||||||
}
|
}
|
||||||
@ -95,12 +93,6 @@ delegate_get_default_size (GtkFileChooserEmbed *chooser_embed,
|
|||||||
_gtk_file_chooser_embed_get_default_size (get_delegate (chooser_embed), default_width, default_height);
|
_gtk_file_chooser_embed_get_default_size (get_delegate (chooser_embed), default_width, default_height);
|
||||||
}
|
}
|
||||||
|
|
||||||
static gboolean
|
|
||||||
delegate_get_resizable (GtkFileChooserEmbed *chooser_embed)
|
|
||||||
{
|
|
||||||
return _gtk_file_chooser_embed_get_resizable (get_delegate (chooser_embed));
|
|
||||||
}
|
|
||||||
|
|
||||||
static gboolean
|
static gboolean
|
||||||
delegate_should_respond (GtkFileChooserEmbed *chooser_embed)
|
delegate_should_respond (GtkFileChooserEmbed *chooser_embed)
|
||||||
{
|
{
|
||||||
@ -203,11 +195,3 @@ _gtk_file_chooser_embed_initial_focus (GtkFileChooserEmbed *chooser_embed)
|
|||||||
|
|
||||||
GTK_FILE_CHOOSER_EMBED_GET_IFACE (chooser_embed)->initial_focus (chooser_embed);
|
GTK_FILE_CHOOSER_EMBED_GET_IFACE (chooser_embed)->initial_focus (chooser_embed);
|
||||||
}
|
}
|
||||||
|
|
||||||
gboolean
|
|
||||||
_gtk_file_chooser_embed_get_resizable (GtkFileChooserEmbed *chooser_embed)
|
|
||||||
{
|
|
||||||
g_return_val_if_fail (GTK_IS_FILE_CHOOSER_EMBED (chooser_embed), FALSE);
|
|
||||||
|
|
||||||
return GTK_FILE_CHOOSER_EMBED_GET_IFACE (chooser_embed)->get_resizable (chooser_embed);
|
|
||||||
}
|
|
||||||
|
@ -43,7 +43,6 @@ struct _GtkFileChooserEmbedIface
|
|||||||
void (*get_default_size) (GtkFileChooserEmbed *chooser_embed,
|
void (*get_default_size) (GtkFileChooserEmbed *chooser_embed,
|
||||||
gint *default_width,
|
gint *default_width,
|
||||||
gint *default_height);
|
gint *default_height);
|
||||||
gboolean (*get_resizable) (GtkFileChooserEmbed *chooser_embed);
|
|
||||||
|
|
||||||
gboolean (*should_respond) (GtkFileChooserEmbed *chooser_embed);
|
gboolean (*should_respond) (GtkFileChooserEmbed *chooser_embed);
|
||||||
|
|
||||||
@ -59,7 +58,6 @@ GType _gtk_file_chooser_embed_get_type (void) G_GNUC_CONST;
|
|||||||
void _gtk_file_chooser_embed_get_default_size (GtkFileChooserEmbed *chooser_embed,
|
void _gtk_file_chooser_embed_get_default_size (GtkFileChooserEmbed *chooser_embed,
|
||||||
gint *default_width,
|
gint *default_width,
|
||||||
gint *default_height);
|
gint *default_height);
|
||||||
gboolean _gtk_file_chooser_embed_get_resizable (GtkFileChooserEmbed *chooser_embed);
|
|
||||||
gboolean _gtk_file_chooser_embed_should_respond (GtkFileChooserEmbed *chooser_embed);
|
gboolean _gtk_file_chooser_embed_should_respond (GtkFileChooserEmbed *chooser_embed);
|
||||||
|
|
||||||
void _gtk_file_chooser_embed_initial_focus (GtkFileChooserEmbed *chooser_embed);
|
void _gtk_file_chooser_embed_initial_focus (GtkFileChooserEmbed *chooser_embed);
|
||||||
|
Loading…
Reference in New Issue
Block a user