mirror of
https://gitlab.gnome.org/GNOME/nautilus
synced 2024-09-13 04:51:15 +00:00
b08142cc0f
* libnautilus-extensions/nautilus-string-list.c: (nautilus_string_list_new), (nautilus_string_list_new_from_string), (nautilus_string_list_new_from_string_list), (nautilus_string_list_new_from_tokens), (nautilus_string_list_contains), (nautilus_string_list_equals), (nautilus_string_list_get_index_for_string), (nautilus_string_list_sort), (nautilus_string_list_remove_duplicates), (str_is_equal), (nautilus_self_check_string_list): * libnautilus-extensions/nautilus-string-list.h: Add support for case insensitive string lists. * libnautilus-extensions/nautilus-string-map.c, * libnautilus-extensions/nautilus-string-map.c: (nautilus_string_map_add), (map_entry_new), (map_entry_list_lookup_mapped_string), (str_is_equal), (nautilus_self_check_string_map): Add support for case insensitive string maps. * libnautilus-extensions/nautilus-string.c: (nautilus_istr_compare): Add missing function that apparentlt was missing and unnoticed. * libnautilus-extensions/nautilus-font-picker.c: (font_picker_update_weight_picker), (font_picker_update_slant_picker), (font_picker_update_set_width_picker): * libnautilus-extensions/nautilus-preference.c: (preference_allocate_type_info): * libnautilus-extensions/nautilus-preferences-item.c: (preferences_item_create_font_family), (preferences_item_create_theme): * libnautilus-extensions/nautilus-scalable-font.c: (parse_font_description_file), (font_family_table_add_fonts), (nautilus_scalable_font_largest_fitting_font_size), (font_family_table_get_family_list), (nautilus_scalable_font_query_font): * libnautilus-extensions/nautilus-string-picker.c: (nautilus_string_picker_initialize), (nautilus_string_picker_get_string_list), (nautilus_string_picker_insert_string): * libnautilus-extensions/nautilus-user-level-manager.c: (user_level_manager_new), (nautilus_user_level_manager_get_user_level_names): * src/file-manager/fm-directory-view.c: (real_get_emblem_names_to_exclude): * src/nautilus-application.c: (nautilus_application_check_user_directories): * test/test-nautilus-image.c: (create_font_picker_frame): * test/test-nautilus-label.c: (create_font_picker_frame): * test/test-nautilus-widgets.c: (test_string_picker): Update for case insensitive support changes in string list api.
304 lines
7.8 KiB
C
304 lines
7.8 KiB
C
|
|
#include <config.h>
|
|
|
|
#include <libnautilus-extensions/nautilus-caption-table.h>
|
|
#include <libnautilus-extensions/nautilus-radio-button-group.h>
|
|
#include <libnautilus-extensions/nautilus-string-picker.h>
|
|
#include <libnautilus-extensions/nautilus-text-caption.h>
|
|
|
|
#include <gtk/gtk.h>
|
|
|
|
static GdkPixbuf*
|
|
create_pixbuf (const char *name)
|
|
{
|
|
char *path;
|
|
GdkPixbuf *pixbuf;
|
|
|
|
g_return_val_if_fail (name != NULL, NULL);
|
|
|
|
path = g_strdup_printf ("/gnome/share/pixmaps/nautilus/%s", name);
|
|
|
|
pixbuf = gdk_pixbuf_new_from_file (path);
|
|
g_free (path);
|
|
|
|
g_assert (pixbuf != NULL);
|
|
|
|
return pixbuf;
|
|
}
|
|
|
|
static void test_radio_group (void);
|
|
static void test_radio_group_horizontal (void);
|
|
static void test_caption_table (void);
|
|
static void test_string_picker (void);
|
|
static void test_text_caption (void);
|
|
|
|
/* Callbacks */
|
|
static void test_radio_changed_callback (GtkWidget *button_group,
|
|
gpointer user_data);
|
|
static void string_picker_changed_callback (GtkWidget *string_picker,
|
|
gpointer user_data);
|
|
static void text_caption_changed_callback (GtkWidget *text_caption,
|
|
gpointer user_data);
|
|
static void test_caption_table_activate_callback (GtkWidget *button_group,
|
|
gint active_index,
|
|
gpointer user_data);
|
|
|
|
int
|
|
main (int argc, char * argv[])
|
|
{
|
|
gnome_init ("foo", "bar", argc, argv);
|
|
|
|
test_radio_group ();
|
|
test_radio_group_horizontal ();
|
|
test_caption_table ();
|
|
test_string_picker ();
|
|
test_text_caption ();
|
|
|
|
gtk_main ();
|
|
|
|
return 0;
|
|
}
|
|
|
|
static void
|
|
radio_group_load_it_up (NautilusRadioButtonGroup *group,
|
|
gboolean use_icons,
|
|
gboolean use_descriptions)
|
|
{
|
|
g_return_if_fail (group != NULL);
|
|
g_return_if_fail (NAUTILUS_IS_RADIO_BUTTON_GROUP (group));
|
|
|
|
nautilus_radio_button_group_insert (NAUTILUS_RADIO_BUTTON_GROUP (group), "Apples");
|
|
nautilus_radio_button_group_insert (NAUTILUS_RADIO_BUTTON_GROUP (group), "Oranges");
|
|
nautilus_radio_button_group_insert (NAUTILUS_RADIO_BUTTON_GROUP (group), "Strawberries");
|
|
|
|
if (use_descriptions)
|
|
{
|
|
nautilus_radio_button_group_set_entry_description_text (NAUTILUS_RADIO_BUTTON_GROUP (group), 0, _("Apple description"));
|
|
nautilus_radio_button_group_set_entry_description_text (NAUTILUS_RADIO_BUTTON_GROUP (group), 1, _("Oranges description"));
|
|
nautilus_radio_button_group_set_entry_description_text (NAUTILUS_RADIO_BUTTON_GROUP (group), 2, _("Strawberries description"));
|
|
}
|
|
|
|
if (use_icons)
|
|
{
|
|
GdkPixbuf *pixbufs[3];
|
|
|
|
pixbufs[0] = create_pixbuf ("novice.png");
|
|
pixbufs[1] = create_pixbuf ("intermediate.png");
|
|
pixbufs[2] = create_pixbuf ("expert.png");
|
|
|
|
nautilus_radio_button_group_set_entry_pixbuf (NAUTILUS_RADIO_BUTTON_GROUP (group), 0, pixbufs[0]);
|
|
nautilus_radio_button_group_set_entry_pixbuf (NAUTILUS_RADIO_BUTTON_GROUP (group), 1, pixbufs[1]);
|
|
nautilus_radio_button_group_set_entry_pixbuf (NAUTILUS_RADIO_BUTTON_GROUP (group), 2, pixbufs[2]);
|
|
|
|
gdk_pixbuf_unref (pixbufs[0]);
|
|
gdk_pixbuf_unref (pixbufs[1]);
|
|
gdk_pixbuf_unref (pixbufs[2]);
|
|
}
|
|
}
|
|
|
|
static void
|
|
test_radio_group (void)
|
|
{
|
|
GtkWidget *window;
|
|
GtkWidget *buttons;
|
|
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
|
|
|
|
buttons = nautilus_radio_button_group_new (FALSE);
|
|
|
|
radio_group_load_it_up (NAUTILUS_RADIO_BUTTON_GROUP (buttons), TRUE, TRUE);
|
|
|
|
gtk_signal_connect (GTK_OBJECT (buttons),
|
|
"changed",
|
|
GTK_SIGNAL_FUNC (test_radio_changed_callback),
|
|
(gpointer) NULL);
|
|
|
|
gtk_container_add (GTK_CONTAINER (window), buttons);
|
|
|
|
gtk_widget_show (buttons);
|
|
|
|
gtk_widget_show (window);
|
|
}
|
|
|
|
static void
|
|
test_radio_group_horizontal (void)
|
|
{
|
|
GtkWidget *window;
|
|
GtkWidget *buttons;
|
|
|
|
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
|
|
|
|
buttons = nautilus_radio_button_group_new (TRUE);
|
|
|
|
radio_group_load_it_up (NAUTILUS_RADIO_BUTTON_GROUP (buttons), FALSE, FALSE);
|
|
|
|
gtk_signal_connect (GTK_OBJECT (buttons),
|
|
"changed",
|
|
GTK_SIGNAL_FUNC (test_radio_changed_callback),
|
|
(gpointer) NULL);
|
|
|
|
gtk_container_add (GTK_CONTAINER (window), buttons);
|
|
|
|
gtk_widget_show (buttons);
|
|
|
|
gtk_widget_show (window);
|
|
}
|
|
|
|
static void
|
|
test_caption_table (void)
|
|
{
|
|
GtkWidget * window;
|
|
GtkWidget * table;
|
|
|
|
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
|
|
|
|
table = nautilus_caption_table_new (4);
|
|
|
|
nautilus_caption_table_set_row_info (NAUTILUS_CAPTION_TABLE (table),
|
|
0,
|
|
"Something",
|
|
"Text",
|
|
TRUE,
|
|
FALSE);
|
|
|
|
nautilus_caption_table_set_row_info (NAUTILUS_CAPTION_TABLE (table),
|
|
1,
|
|
"ReadOnly",
|
|
"Cant Change Me",
|
|
TRUE,
|
|
TRUE);
|
|
|
|
nautilus_caption_table_set_row_info (NAUTILUS_CAPTION_TABLE (table),
|
|
2,
|
|
"Password",
|
|
"sekret",
|
|
FALSE,
|
|
FALSE);
|
|
|
|
nautilus_caption_table_set_row_info (NAUTILUS_CAPTION_TABLE (table),
|
|
3,
|
|
"This is a very long label",
|
|
"Text",
|
|
TRUE,
|
|
FALSE);
|
|
|
|
gtk_signal_connect (GTK_OBJECT (table),
|
|
"activate",
|
|
GTK_SIGNAL_FUNC (test_caption_table_activate_callback),
|
|
(gpointer) NULL);
|
|
|
|
gtk_container_add (GTK_CONTAINER (window), table);
|
|
|
|
gtk_widget_show (table);
|
|
|
|
gtk_widget_show (window);
|
|
}
|
|
|
|
static void
|
|
test_string_picker (void)
|
|
{
|
|
GtkWidget *window;
|
|
GtkWidget *picker;
|
|
NautilusStringList *font_list;
|
|
|
|
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
|
|
|
|
picker = nautilus_string_picker_new ();
|
|
|
|
nautilus_caption_set_title_label (NAUTILUS_CAPTION (picker), "Icon Font Family:");
|
|
|
|
font_list = nautilus_string_list_new (TRUE);
|
|
|
|
nautilus_string_list_insert (font_list, "Helvetica");
|
|
nautilus_string_list_insert (font_list, "Times");
|
|
nautilus_string_list_insert (font_list, "Courier");
|
|
nautilus_string_list_insert (font_list, "Lucida");
|
|
nautilus_string_list_insert (font_list, "Fixed");
|
|
|
|
nautilus_string_picker_set_string_list (NAUTILUS_STRING_PICKER (picker), font_list);
|
|
|
|
nautilus_string_list_free (font_list);
|
|
|
|
gtk_container_add (GTK_CONTAINER (window), picker);
|
|
|
|
gtk_signal_connect (GTK_OBJECT (picker),
|
|
"changed",
|
|
GTK_SIGNAL_FUNC (string_picker_changed_callback),
|
|
(gpointer) NULL);
|
|
|
|
nautilus_string_picker_set_selected_string (NAUTILUS_STRING_PICKER (picker), "Fixed");
|
|
|
|
gtk_widget_show_all (window);
|
|
}
|
|
|
|
static void
|
|
test_text_caption (void)
|
|
{
|
|
GtkWidget *window;
|
|
GtkWidget *picker;
|
|
|
|
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
|
|
|
|
picker = nautilus_text_caption_new ();
|
|
|
|
nautilus_caption_set_title_label (NAUTILUS_CAPTION (picker), "Home Page:");
|
|
|
|
nautilus_text_caption_set_text (NAUTILUS_TEXT_CAPTION (picker), "file:///tmp");
|
|
|
|
gtk_container_add (GTK_CONTAINER (window), picker);
|
|
|
|
gtk_signal_connect (GTK_OBJECT (picker),
|
|
"changed",
|
|
GTK_SIGNAL_FUNC (text_caption_changed_callback),
|
|
(gpointer) NULL);
|
|
|
|
gtk_widget_show_all (window);
|
|
}
|
|
|
|
static void
|
|
string_picker_changed_callback (GtkWidget *string_picker, gpointer user_data)
|
|
{
|
|
char *text;
|
|
|
|
g_assert (string_picker != NULL);
|
|
g_assert (NAUTILUS_IS_STRING_PICKER (string_picker));
|
|
|
|
text = nautilus_string_picker_get_selected_string (NAUTILUS_STRING_PICKER (string_picker));
|
|
|
|
g_print ("string_picker_changed_callback(%s)\n", text);
|
|
|
|
g_free (text);
|
|
}
|
|
|
|
static void
|
|
text_caption_changed_callback (GtkWidget *text_caption, gpointer user_data)
|
|
{
|
|
char *text;
|
|
|
|
g_assert (text_caption != NULL);
|
|
g_assert (NAUTILUS_IS_TEXT_CAPTION (text_caption));
|
|
|
|
text = nautilus_text_caption_get_text (NAUTILUS_TEXT_CAPTION (text_caption));
|
|
|
|
g_print ("text_caption_changed_callback(%s)\n", text);
|
|
|
|
g_free (text);
|
|
}
|
|
|
|
static void
|
|
test_radio_changed_callback (GtkWidget *buttons, gpointer user_data)
|
|
{
|
|
gint i;
|
|
|
|
i = nautilus_radio_button_group_get_active_index (NAUTILUS_RADIO_BUTTON_GROUP (buttons));
|
|
|
|
g_print ("test_radio_changed_callback (%d)\n", i);
|
|
}
|
|
|
|
static void
|
|
test_caption_table_activate_callback (GtkWidget *button_group,
|
|
gint active_index,
|
|
gpointer user_data)
|
|
{
|
|
g_print ("test_caption_table_activate_callback (active_index=%d)\n", active_index);
|
|
}
|