forked from AuroraMiddleware/gtk
d64c7c08a8
2004-03-04 Federico Mena Quintero <federico@ximian.com> * gtk/gtkfilechooserdialog.c (response_cb): New handler. Ask the GtkFileChooser widget if it wants to do something special rather than letting us terminate the dialog. (gtk_file_chooser_dialog_init): Connect to "response"; see the comment in the sources to see why we don't override the method in class_init. * gtk/gtkfilechooserembed.h (struct _GtkFileChooserEmbedIface): Added a ::should_respond() method. * gtk/gtkfilechooserembed.c (_gtk_file_chooser_embed_delegate_iface_init): Add a delegate for ::should_respond(). (delegate_should_respond): New delegate. (_gtk_file_chooser_embed_should_respond): New function. * gtk/gtkfilechooserdefault.c (set_list_model, create_file_list): Use dashes in signal names rather than underscores. (gtk_file_chooser_default_init): Hook up our ::should_respond() implementation. (gtk_file_chooser_default_should_respond): Implement. go into a folder rather than responding if we are in File mode and the selected file is a folder. (get_selection): New helper function. (add_bookmark_button_clicked_cb): Use get_selection(). (bookmarks_check_add_sensitivity): Likewise. (gtk_file_chooser_default_get_paths): Likewise. (check_save_entry): New helper function. (gtk_file_chooser_default_get_paths): Use check_save_entry(). (selection_check): Renamed from selection_is_folders(). Now checks whether the selection is empty, all files, all folders. (bookmarks_check_add_sensitivity): Use selection_check().
74 lines
2.9 KiB
C
74 lines
2.9 KiB
C
/* GTK - The GIMP Toolkit
|
|
* gtkfilechooserembed.h: Abstract sizing interface for file selector implementations
|
|
* Copyright (C) 2004, Red Hat, Inc.
|
|
*
|
|
* 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
|
|
* version 2 of the License, or (at your option) any later version.
|
|
*
|
|
* This library 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
|
|
* 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.
|
|
*/
|
|
|
|
#ifndef __GTK_FILE_CHOOSER_EMBED_H__
|
|
#define __GTK_FILE_CHOOSER_EMBED_H__
|
|
|
|
#include <gtk/gtkwidget.h>
|
|
|
|
G_BEGIN_DECLS
|
|
|
|
#define GTK_TYPE_FILE_CHOOSER_EMBED (_gtk_file_chooser_embed_get_type ())
|
|
#define GTK_FILE_CHOOSER_EMBED(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_FILE_CHOOSER_EMBED, GtkFileChooserEmbed))
|
|
#define GTK_IS_FILE_CHOOSER_EMBED(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_FILE_CHOOSER_EMBED))
|
|
#define GTK_FILE_CHOOSER_EMBED_GET_IFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GTK_TYPE_FILE_CHOOSER_EMBED, GtkFileChooserEmbedIface))
|
|
|
|
typedef struct _GtkFileChooserEmbed GtkFileChooserEmbed;
|
|
typedef struct _GtkFileChooserEmbedIface GtkFileChooserEmbedIface;
|
|
|
|
|
|
struct _GtkFileChooserEmbedIface
|
|
{
|
|
GTypeInterface base_iface;
|
|
|
|
/* Methods
|
|
*/
|
|
void (*get_default_size) (GtkFileChooserEmbed *chooser_embed,
|
|
gint *default_width,
|
|
gint *default_height);
|
|
void (*get_resizable_hints) (GtkFileChooserEmbed *chooser_embed,
|
|
gboolean *resize_horizontally,
|
|
gboolean *resize_vertically);
|
|
|
|
gboolean (*should_respond) (GtkFileChooserEmbed *chooser_embed);
|
|
/* Signals
|
|
*/
|
|
void (*default_size_changed) (GtkFileChooserEmbed *chooser_embed);
|
|
};
|
|
|
|
GType _gtk_file_chooser_embed_get_type (void);
|
|
|
|
void _gtk_file_chooser_embed_get_default_size (GtkFileChooserEmbed *chooser_embed,
|
|
gint *default_width,
|
|
gint *default_height);
|
|
void _gtk_file_chooser_embed_get_resizable_hints (GtkFileChooserEmbed *chooser_embed,
|
|
gboolean *resize_horizontally,
|
|
gboolean *resize_vertically);
|
|
|
|
gboolean _gtk_file_chooser_embed_should_respond (GtkFileChooserEmbed *chooser_embed);
|
|
|
|
void _gtk_file_chooser_embed_delegate_iface_init (GtkFileChooserEmbedIface *iface);
|
|
void _gtk_file_chooser_embed_set_delegate (GtkFileChooserEmbed *receiver,
|
|
GtkFileChooserEmbed *delegate);
|
|
|
|
G_END_DECLS
|
|
|
|
#endif /* __GTK_FILE_CHOOSER_EMBED_H__ */
|