forked from AuroraMiddleware/gtk
Use g_message() throughout, add RTL envar for rtl testing.
2004-08-17 Matthias Clasen <mclasen@redhat.com> * tests/testfilechooserbutton.c: Use g_message() throughout, add RTL envar for rtl testing. * gtk/gtkfilechooserbutton.c: Get rid of HAVE_CONFIG_H. (gtk_file_chooser_button_init): Use gtk_drag_dest_add_text_targets(). (gtk_file_chooser_button_drag_data_received): Use gtk_selection_data_get_text(). (gtk_file_chooser_button_set_dialog): _gtk_file_chooser_entry_set_base_folder() seems to expect a path, not an uri. (update_dialog): Handle g_filename_from_uri() returning NULL, don't free info if it is NULL. * gtk/gtkfilechooserbutton.h: Minor stylistic changes.
This commit is contained in:
parent
3a76d4848b
commit
3cc0ae605a
15
ChangeLog
15
ChangeLog
@ -1,3 +1,18 @@
|
|||||||
|
2004-08-17 Matthias Clasen <mclasen@redhat.com>
|
||||||
|
|
||||||
|
* tests/testfilechooserbutton.c: Use g_message() throughout, add RTL envar for
|
||||||
|
rtl testing.
|
||||||
|
|
||||||
|
* gtk/gtkfilechooserbutton.c: Get rid of HAVE_CONFIG_H.
|
||||||
|
(gtk_file_chooser_button_init): Use gtk_drag_dest_add_text_targets().
|
||||||
|
(gtk_file_chooser_button_drag_data_received): Use gtk_selection_data_get_text().
|
||||||
|
(gtk_file_chooser_button_set_dialog): _gtk_file_chooser_entry_set_base_folder()
|
||||||
|
seems to expect a path, not an uri.
|
||||||
|
(update_dialog): Handle g_filename_from_uri() returning NULL, don't free
|
||||||
|
info if it is NULL.
|
||||||
|
|
||||||
|
* gtk/gtkfilechooserbutton.h: Minor stylistic changes.
|
||||||
|
|
||||||
2004-08-17 Matthias Clasen <mclasen@redhat.com>
|
2004-08-17 Matthias Clasen <mclasen@redhat.com>
|
||||||
|
|
||||||
* gtk/gtkfilechooserbutton.[hc]: New widget to go along with
|
* gtk/gtkfilechooserbutton.[hc]: New widget to go along with
|
||||||
|
@ -1,3 +1,18 @@
|
|||||||
|
2004-08-17 Matthias Clasen <mclasen@redhat.com>
|
||||||
|
|
||||||
|
* tests/testfilechooserbutton.c: Use g_message() throughout, add RTL envar for
|
||||||
|
rtl testing.
|
||||||
|
|
||||||
|
* gtk/gtkfilechooserbutton.c: Get rid of HAVE_CONFIG_H.
|
||||||
|
(gtk_file_chooser_button_init): Use gtk_drag_dest_add_text_targets().
|
||||||
|
(gtk_file_chooser_button_drag_data_received): Use gtk_selection_data_get_text().
|
||||||
|
(gtk_file_chooser_button_set_dialog): _gtk_file_chooser_entry_set_base_folder()
|
||||||
|
seems to expect a path, not an uri.
|
||||||
|
(update_dialog): Handle g_filename_from_uri() returning NULL, don't free
|
||||||
|
info if it is NULL.
|
||||||
|
|
||||||
|
* gtk/gtkfilechooserbutton.h: Minor stylistic changes.
|
||||||
|
|
||||||
2004-08-17 Matthias Clasen <mclasen@redhat.com>
|
2004-08-17 Matthias Clasen <mclasen@redhat.com>
|
||||||
|
|
||||||
* gtk/gtkfilechooserbutton.[hc]: New widget to go along with
|
* gtk/gtkfilechooserbutton.[hc]: New widget to go along with
|
||||||
|
@ -1,3 +1,18 @@
|
|||||||
|
2004-08-17 Matthias Clasen <mclasen@redhat.com>
|
||||||
|
|
||||||
|
* tests/testfilechooserbutton.c: Use g_message() throughout, add RTL envar for
|
||||||
|
rtl testing.
|
||||||
|
|
||||||
|
* gtk/gtkfilechooserbutton.c: Get rid of HAVE_CONFIG_H.
|
||||||
|
(gtk_file_chooser_button_init): Use gtk_drag_dest_add_text_targets().
|
||||||
|
(gtk_file_chooser_button_drag_data_received): Use gtk_selection_data_get_text().
|
||||||
|
(gtk_file_chooser_button_set_dialog): _gtk_file_chooser_entry_set_base_folder()
|
||||||
|
seems to expect a path, not an uri.
|
||||||
|
(update_dialog): Handle g_filename_from_uri() returning NULL, don't free
|
||||||
|
info if it is NULL.
|
||||||
|
|
||||||
|
* gtk/gtkfilechooserbutton.h: Minor stylistic changes.
|
||||||
|
|
||||||
2004-08-17 Matthias Clasen <mclasen@redhat.com>
|
2004-08-17 Matthias Clasen <mclasen@redhat.com>
|
||||||
|
|
||||||
* gtk/gtkfilechooserbutton.[hc]: New widget to go along with
|
* gtk/gtkfilechooserbutton.[hc]: New widget to go along with
|
||||||
|
@ -1,3 +1,18 @@
|
|||||||
|
2004-08-17 Matthias Clasen <mclasen@redhat.com>
|
||||||
|
|
||||||
|
* tests/testfilechooserbutton.c: Use g_message() throughout, add RTL envar for
|
||||||
|
rtl testing.
|
||||||
|
|
||||||
|
* gtk/gtkfilechooserbutton.c: Get rid of HAVE_CONFIG_H.
|
||||||
|
(gtk_file_chooser_button_init): Use gtk_drag_dest_add_text_targets().
|
||||||
|
(gtk_file_chooser_button_drag_data_received): Use gtk_selection_data_get_text().
|
||||||
|
(gtk_file_chooser_button_set_dialog): _gtk_file_chooser_entry_set_base_folder()
|
||||||
|
seems to expect a path, not an uri.
|
||||||
|
(update_dialog): Handle g_filename_from_uri() returning NULL, don't free
|
||||||
|
info if it is NULL.
|
||||||
|
|
||||||
|
* gtk/gtkfilechooserbutton.h: Minor stylistic changes.
|
||||||
|
|
||||||
2004-08-17 Matthias Clasen <mclasen@redhat.com>
|
2004-08-17 Matthias Clasen <mclasen@redhat.com>
|
||||||
|
|
||||||
* gtk/gtkfilechooserbutton.[hc]: New widget to go along with
|
* gtk/gtkfilechooserbutton.[hc]: New widget to go along with
|
||||||
|
@ -20,9 +20,7 @@
|
|||||||
* Boston, MA 02111-1307, USA.
|
* Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifdef HAVE_CONFIG_H
|
#include <config.h>
|
||||||
# include <config.h>
|
|
||||||
#endif /* HAVE_CONFIG_H */
|
|
||||||
|
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
#include <sys/stat.h>
|
#include <sys/stat.h>
|
||||||
@ -55,7 +53,6 @@
|
|||||||
|
|
||||||
#define GTK_FILE_CHOOSER_BUTTON_GET_PRIVATE(object) (GTK_FILE_CHOOSER_BUTTON ((object))->priv)
|
#define GTK_FILE_CHOOSER_BUTTON_GET_PRIVATE(object) (GTK_FILE_CHOOSER_BUTTON ((object))->priv)
|
||||||
|
|
||||||
#define DEFAULT_TITLE N_("Select a File")
|
|
||||||
#define DEFAULT_FILENAME N_("(None)")
|
#define DEFAULT_FILENAME N_("(None)")
|
||||||
#define DEFAULT_SPACING 0
|
#define DEFAULT_SPACING 0
|
||||||
|
|
||||||
@ -102,13 +99,12 @@ struct _GtkFileChooserButtonPrivate
|
|||||||
|
|
||||||
enum
|
enum
|
||||||
{
|
{
|
||||||
TEXT_URI_LIST,
|
TEXT_PLAIN,
|
||||||
TEXT_PLAIN
|
TEXT_URI_LIST
|
||||||
};
|
};
|
||||||
|
|
||||||
static const GtkTargetEntry drop_targets[] = {
|
static const GtkTargetEntry drop_targets[] = {
|
||||||
{ "text/uri-list", 0, TEXT_URI_LIST },
|
{ "text/uri-list", 0, TEXT_URI_LIST }
|
||||||
{ "text/plain", 0, TEXT_PLAIN }
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
@ -223,7 +219,7 @@ gtk_file_chooser_button_class_init (GtkFileChooserButtonClass * class)
|
|||||||
g_param_spec_string ("title",
|
g_param_spec_string ("title",
|
||||||
P_("Title"),
|
P_("Title"),
|
||||||
P_("The title of the file chooser dialog."),
|
P_("The title of the file chooser dialog."),
|
||||||
_(DEFAULT_TITLE),
|
_("Select a File"),
|
||||||
G_PARAM_READWRITE));
|
G_PARAM_READWRITE));
|
||||||
g_object_class_install_property (gobject_class, PROP_ACTIVE,
|
g_object_class_install_property (gobject_class, PROP_ACTIVE,
|
||||||
g_param_spec_boolean ("active",
|
g_param_spec_boolean ("active",
|
||||||
@ -288,11 +284,10 @@ gtk_file_chooser_button_init (GtkFileChooserButton *button)
|
|||||||
/* DnD */
|
/* DnD */
|
||||||
gtk_drag_dest_unset (priv->entry);
|
gtk_drag_dest_unset (priv->entry);
|
||||||
gtk_drag_dest_set (GTK_WIDGET (button),
|
gtk_drag_dest_set (GTK_WIDGET (button),
|
||||||
(GTK_DEST_DEFAULT_MOTION |
|
(GTK_DEST_DEFAULT_ALL),
|
||||||
GTK_DEST_DEFAULT_HIGHLIGHT |
|
|
||||||
GTK_DEST_DEFAULT_DROP),
|
|
||||||
drop_targets, G_N_ELEMENTS (drop_targets),
|
drop_targets, G_N_ELEMENTS (drop_targets),
|
||||||
GDK_ACTION_COPY);
|
GDK_ACTION_COPY);
|
||||||
|
gtk_drag_dest_add_text_targets (GTK_WIDGET (button));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -467,6 +462,7 @@ gtk_file_chooser_button_drag_data_received (GtkWidget *widget,
|
|||||||
guint drag_time)
|
guint drag_time)
|
||||||
{
|
{
|
||||||
GtkFileChooserButtonPrivate *priv;
|
GtkFileChooserButtonPrivate *priv;
|
||||||
|
gchar *text;
|
||||||
|
|
||||||
if (GTK_WIDGET_CLASS (gtk_file_chooser_button_parent_class)->drag_data_received != NULL)
|
if (GTK_WIDGET_CLASS (gtk_file_chooser_button_parent_class)->drag_data_received != NULL)
|
||||||
(*GTK_WIDGET_CLASS (gtk_file_chooser_button_parent_class)->drag_data_received) (widget,
|
(*GTK_WIDGET_CLASS (gtk_file_chooser_button_parent_class)->drag_data_received) (widget,
|
||||||
@ -514,7 +510,7 @@ gtk_file_chooser_button_drag_data_received (GtkWidget *widget,
|
|||||||
GTK_FILE_INFO_IS_FOLDER,
|
GTK_FILE_INFO_IS_FOLDER,
|
||||||
NULL);
|
NULL);
|
||||||
|
|
||||||
info = gtk_file_folder_get_info (folder, base_path, NULL);
|
info = gtk_file_folder_get_info (folder, path, NULL);
|
||||||
|
|
||||||
if (info != NULL)
|
if (info != NULL)
|
||||||
{
|
{
|
||||||
@ -549,11 +545,13 @@ gtk_file_chooser_button_drag_data_received (GtkWidget *widget,
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case TEXT_PLAIN:
|
case TEXT_PLAIN:
|
||||||
gtk_entry_set_text (GTK_ENTRY (priv->entry), data->data);
|
text = gtk_selection_data_get_text (data);
|
||||||
|
gtk_entry_set_text (GTK_ENTRY (priv->entry), text);
|
||||||
|
g_free (text);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
gtk_drag_finish (context, FALSE, FALSE, drag_time);
|
gtk_drag_finish (context, TRUE, FALSE, drag_time);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -752,7 +750,7 @@ gtk_file_chooser_button_set_dialog (GObject *object,
|
|||||||
/* Kinda ugly to set this here... */
|
/* Kinda ugly to set this here... */
|
||||||
_gtk_file_chooser_entry_set_file_system (GTK_FILE_CHOOSER_ENTRY (priv->entry),
|
_gtk_file_chooser_entry_set_file_system (GTK_FILE_CHOOSER_ENTRY (priv->entry),
|
||||||
_gtk_file_chooser_get_file_system (GTK_FILE_CHOOSER (priv->dialog)));
|
_gtk_file_chooser_get_file_system (GTK_FILE_CHOOSER (priv->dialog)));
|
||||||
path = gtk_file_path_new_steal ("file:///");
|
path = gtk_file_path_new_steal ("/");
|
||||||
_gtk_file_chooser_entry_set_base_folder (GTK_FILE_CHOOSER_ENTRY (priv->entry),
|
_gtk_file_chooser_entry_set_base_folder (GTK_FILE_CHOOSER_ENTRY (priv->entry),
|
||||||
path);
|
path);
|
||||||
priv->entry_changed_id = g_signal_connect_after (priv->entry, "changed",
|
priv->entry_changed_id = g_signal_connect_after (priv->entry, "changed",
|
||||||
@ -863,9 +861,12 @@ update_dialog (gpointer user_data)
|
|||||||
gchar *display_name;
|
gchar *display_name;
|
||||||
|
|
||||||
display_name = g_filename_from_uri (full_uri, NULL, NULL);
|
display_name = g_filename_from_uri (full_uri, NULL, NULL);
|
||||||
display_name = get_display_name (display_name);
|
if (display_name)
|
||||||
gtk_label_set_text (GTK_LABEL (priv->label), display_name);
|
{
|
||||||
g_free (display_name);
|
display_name = get_display_name (display_name);
|
||||||
|
gtk_label_set_text (GTK_LABEL (priv->label), display_name);
|
||||||
|
g_free (display_name);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -901,8 +902,9 @@ update_dialog (gpointer user_data)
|
|||||||
else
|
else
|
||||||
_gtk_file_chooser_select_path (GTK_FILE_CHOOSER (priv->dialog),
|
_gtk_file_chooser_select_path (GTK_FILE_CHOOSER (priv->dialog),
|
||||||
full_path, NULL);
|
full_path, NULL);
|
||||||
|
|
||||||
gtk_file_info_free (info);
|
if (info)
|
||||||
|
gtk_file_info_free (info);
|
||||||
gtk_file_path_free (full_path);
|
gtk_file_path_free (full_path);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -1054,12 +1056,9 @@ button_toggled_cb (GtkToggleButton *real_button,
|
|||||||
|
|
||||||
if (GTK_WIDGET_TOPLEVEL (toplevel) && GTK_IS_WINDOW (toplevel))
|
if (GTK_WIDGET_TOPLEVEL (toplevel) && GTK_IS_WINDOW (toplevel))
|
||||||
{
|
{
|
||||||
if (GTK_WINDOW (toplevel) !=
|
if (GTK_WINDOW (toplevel) != gtk_window_get_transient_for (GTK_WINDOW (priv->dialog)))
|
||||||
gtk_window_get_transient_for (GTK_WINDOW (priv->dialog)))
|
gtk_window_set_transient_for (GTK_WINDOW (priv->dialog), GTK_WINDOW (toplevel));
|
||||||
{
|
|
||||||
gtk_window_set_transient_for (GTK_WINDOW (priv->dialog),
|
|
||||||
GTK_WINDOW (toplevel));
|
|
||||||
}
|
|
||||||
gtk_window_set_modal (GTK_WINDOW (priv->dialog),
|
gtk_window_set_modal (GTK_WINDOW (priv->dialog),
|
||||||
gtk_window_get_modal (GTK_WINDOW (toplevel)));
|
gtk_window_get_modal (GTK_WINDOW (toplevel)));
|
||||||
}
|
}
|
||||||
|
@ -19,10 +19,10 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef __GTK_FILE_CHOOSER_BUTTON_H__
|
#ifndef __GTK_FILE_CHOOSER_BUTTON_H__
|
||||||
#define __GTK_FILE_CHOOSER_BUTTON_H__ 1
|
#define __GTK_FILE_CHOOSER_BUTTON_H__
|
||||||
|
|
||||||
#include "gtkhbox.h"
|
#include <gtk/gtkhbox.h>
|
||||||
#include "gtkfilechooser.h"
|
#include <gtk/gtkfilechooser.h>
|
||||||
|
|
||||||
G_BEGIN_DECLS
|
G_BEGIN_DECLS
|
||||||
|
|
||||||
@ -69,19 +69,17 @@ struct _GtkFileChooserButtonClass
|
|||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
GType gtk_file_chooser_button_get_type (void) G_GNUC_CONST;
|
GType gtk_file_chooser_button_get_type (void) G_GNUC_CONST;
|
||||||
|
GtkWidget * gtk_file_chooser_button_new (const gchar *title);
|
||||||
GtkWidget *gtk_file_chooser_button_new (const gchar *title);
|
GtkWidget * gtk_file_chooser_button_new_with_backend (const gchar *title,
|
||||||
GtkWidget *gtk_file_chooser_button_new_with_backend (const gchar *title,
|
const gchar *backend);
|
||||||
const gchar *backend);
|
GtkWidget * gtk_file_chooser_button_new_with_dialog (GtkWidget *dialog);
|
||||||
GtkWidget *gtk_file_chooser_button_new_with_dialog (GtkWidget *dialog);
|
G_CONST_RETURN gchar *gtk_file_chooser_button_get_title (GtkFileChooserButton *button);
|
||||||
|
void gtk_file_chooser_button_set_title (GtkFileChooserButton *button,
|
||||||
G_CONST_RETURN gchar *gtk_file_chooser_button_get_title (GtkFileChooserButton *button);
|
const gchar *title);
|
||||||
void gtk_file_chooser_button_set_title (GtkFileChooserButton *button,
|
gboolean gtk_file_chooser_button_get_active (GtkFileChooserButton *button);
|
||||||
const gchar *title);
|
void gtk_file_chooser_button_set_active (GtkFileChooserButton *button,
|
||||||
gboolean gtk_file_chooser_button_get_active (GtkFileChooserButton *button);
|
gboolean is_active);
|
||||||
void gtk_file_chooser_button_set_active (GtkFileChooserButton *button,
|
|
||||||
gboolean is_active);
|
|
||||||
|
|
||||||
|
|
||||||
G_END_DECLS
|
G_END_DECLS
|
||||||
|
@ -68,7 +68,7 @@ chooser_selection_changed_cb (GtkFileChooser *chooser, gpointer user_data)
|
|||||||
{
|
{
|
||||||
GSList *selection;
|
GSList *selection;
|
||||||
|
|
||||||
g_warning ("%s:%s:\n`%s` Selection:", G_STRFUNC, G_STRLOC, G_OBJECT_TYPE_NAME (chooser));
|
g_message ("%s:%s:\n`%s` Selection:", G_STRFUNC, G_STRLOC, G_OBJECT_TYPE_NAME (chooser));
|
||||||
for (selection = gtk_file_chooser_get_filenames (chooser); selection != NULL;
|
for (selection = gtk_file_chooser_get_filenames (chooser); selection != NULL;
|
||||||
selection = g_slist_remove_link (selection, selection))
|
selection = g_slist_remove_link (selection, selection))
|
||||||
{
|
{
|
||||||
@ -86,7 +86,7 @@ chooser_file_activated_cb (GtkFileChooser *chooser, gpointer user_data)
|
|||||||
|
|
||||||
folder = gtk_file_chooser_get_current_folder (chooser);
|
folder = gtk_file_chooser_get_current_folder (chooser);
|
||||||
filename = gtk_file_chooser_get_filename (chooser);
|
filename = gtk_file_chooser_get_filename (chooser);
|
||||||
g_warning ("%s:%s:\n`%s`\nFolder: `%s'\nFilename: `%s'", G_STRFUNC, G_STRLOC, G_OBJECT_TYPE_NAME (chooser), folder, filename);
|
g_message ("%s:%s:\n`%s`\nFolder: `%s'\nFilename: `%s'", G_STRFUNC, G_STRLOC, G_OBJECT_TYPE_NAME (chooser), folder, filename);
|
||||||
g_free (folder);
|
g_free (folder);
|
||||||
g_free (filename);
|
g_free (filename);
|
||||||
}
|
}
|
||||||
@ -98,7 +98,7 @@ chooser_update_preview_cb (GtkFileChooser *chooser, gpointer user_data)
|
|||||||
gchar *filename;
|
gchar *filename;
|
||||||
|
|
||||||
filename = gtk_file_chooser_get_preview_filename (chooser);
|
filename = gtk_file_chooser_get_preview_filename (chooser);
|
||||||
g_warning ("%s:%s:\n`%s`\nPreview Filename: `%s'", G_STRFUNC, G_STRLOC, G_OBJECT_TYPE_NAME (chooser), filename);
|
g_message ("%s:%s:\n`%s`\nPreview Filename: `%s'", G_STRFUNC, G_STRLOC, G_OBJECT_TYPE_NAME (chooser), filename);
|
||||||
g_free (filename);
|
g_free (filename);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -111,6 +111,10 @@ main (int argc, char *argv[])
|
|||||||
|
|
||||||
gtk_init (&argc, &argv);
|
gtk_init (&argc, &argv);
|
||||||
|
|
||||||
|
/* to test rtl layout, set RTL=1 in the environment */
|
||||||
|
if (g_getenv ("RTL"))
|
||||||
|
gtk_widget_set_default_direction (GTK_TEXT_DIR_RTL);
|
||||||
|
|
||||||
win = gtk_dialog_new_with_buttons ("TestFileChooserButton", NULL, GTK_DIALOG_NO_SEPARATOR,
|
win = gtk_dialog_new_with_buttons ("TestFileChooserButton", NULL, GTK_DIALOG_NO_SEPARATOR,
|
||||||
GTK_STOCK_QUIT, GTK_RESPONSE_CLOSE, NULL);
|
GTK_STOCK_QUIT, GTK_RESPONSE_CLOSE, NULL);
|
||||||
g_signal_connect (win, "style-set", G_CALLBACK (win_style_set_cb), NULL);
|
g_signal_connect (win, "style-set", G_CALLBACK (win_style_set_cb), NULL);
|
||||||
|
Loading…
Reference in New Issue
Block a user