1
2 #ifdef HAVE_CONFIG_H
3 # include <config.h>
4 #endif
5
6 #include <sys/types.h>
7 #include <sys/stat.h>
8 #include <unistd.h>
9 #include <string.h>
10 #include <stdio.h>
11 #include <dirent.h>
12
13 #include <gdk/gdkkeysyms.h>
14 #include <gtk/gtk.h>
15 #include "rfm.h"
16
17 #include "rodent-mime_callbacks.h"
18 #include "rodent-mime_gui.h"
19 #include "rodent-mime_support.h"
20 extern gchar *icon_theme_name;
21 GtkWidget *
create_xfmime_edit(gchar * name)22 create_xfmime_edit (gchar * name) {
23 GtkWidget *xfmime_edit;
24 GtkWidget *vbox1;
25 GtkWidget *hpaned1;
26 GtkWidget *scrolledwindow3;
27 GtkWidget *treeview1;
28 GtkWidget *scrolledwindow2;
29 GtkWidget *treeview2;
30 GtkWidget *hbox3;
31 GtkWidget *hbuttonbox1;
32 GtkWidget *save;
33 GtkWidget *quit;
34 //"Custom:""Select Custom Icon""Use custom &icons:"
35 xfmime_edit = gtk_window_new (GTK_WINDOW_TOPLEVEL);
36 gtk_widget_set_size_request (xfmime_edit, 400, 537);
37 gchar *string=g_strdup_printf("%s: %s", _("Select Custom Icon"), icon_theme_name);
38 gtk_window_set_title (GTK_WINDOW (xfmime_edit), string);
39 g_free(string);
40 gtk_window_set_default_size (GTK_WINDOW (xfmime_edit), 640, 480);
41
42 vbox1 = rfm_vbox_new (FALSE, 0);
43 gtk_widget_show (vbox1);
44 gtk_container_add (GTK_CONTAINER (xfmime_edit), vbox1);
45
46 hpaned1 = rfm_hpaned_new ();
47 gtk_widget_show (hpaned1);
48 gtk_box_pack_start (GTK_BOX (vbox1), hpaned1, TRUE, TRUE, 0);
49 gtk_paned_set_position (GTK_PANED (hpaned1), 345);
50
51 scrolledwindow3 = gtk_scrolled_window_new (NULL, NULL);
52 gtk_widget_show (scrolledwindow3);
53 gtk_paned_pack1 (GTK_PANED (hpaned1), scrolledwindow3, FALSE, TRUE);
54
55 treeview1 = gtk_tree_view_new ();
56 gtk_widget_show (treeview1);
57 gtk_container_add (GTK_CONTAINER (scrolledwindow3), treeview1);
58
59 scrolledwindow2 = gtk_scrolled_window_new (NULL, NULL);
60 gtk_widget_show (scrolledwindow2);
61 gtk_paned_pack2 (GTK_PANED (hpaned1), scrolledwindow2, TRUE, TRUE);
62
63 treeview2 = gtk_tree_view_new ();
64 gtk_widget_show (treeview2);
65 gtk_container_add (GTK_CONTAINER (scrolledwindow2), treeview2);
66
67 hbox3 = rfm_hbox_new (FALSE, 0);
68 gtk_widget_show (hbox3);
69 gtk_box_pack_start (GTK_BOX (vbox1), hbox3, FALSE, FALSE, 0);
70
71 GtkWidget *hbox4 = rfm_hbox_new (FALSE, 0);
72 gtk_box_pack_start (GTK_BOX (vbox1), hbox4, FALSE, FALSE, 0);
73 GtkWidget *moving_label = (GtkWidget *)
74 gtk_label_new (_("Please drag just one image to set a custom icon."));
75 gtk_box_pack_start (GTK_BOX (hbox4), moving_label, FALSE, FALSE, 0);
76 gtk_widget_show_all (hbox4);
77
78 hbuttonbox1 = rfm_hbutton_box_new ();
79 gtk_widget_show (hbuttonbox1);
80 gtk_box_pack_start (GTK_BOX (hbox3), hbuttonbox1, FALSE, FALSE, 0);
81
82 save = rfm_dialog_button ("xffm/stock_save", _("Save"));
83
84 gtk_container_add (GTK_CONTAINER (hbuttonbox1), save);
85 gtk_widget_set_can_default(save, TRUE);
86 gtk_widget_show(save);
87
88 quit = rfm_dialog_button ("xffm/stock_close", _("Close"));
89
90 gtk_container_add (GTK_CONTAINER (hbuttonbox1), quit);
91 gtk_widget_set_can_default(quit, TRUE);
92 gtk_widget_show(quit);
93
94
95 /*g_signal_connect ((gpointer) treeview1, "drag_data_get",
96 G_CALLBACK (on_treeview1_drag_data_get), NULL); */
97
98 g_signal_connect ((gpointer) treeview1, "drag_data_received", G_CALLBACK (on_drag_data), NULL);
99 g_signal_connect ((gpointer) treeview1, "drag_drop", G_CALLBACK (on_treeview1_drag_drop), NULL);
100
101 g_signal_connect ((gpointer) treeview1, "drag_motion", G_CALLBACK (on_drag_motion), NULL);
102
103 g_signal_connect ((gpointer) treeview2, "drag_data_get", G_CALLBACK (on_treeview2_drag_data_get), NULL);
104
105 g_signal_connect ((gpointer) treeview2, "drag_motion", G_CALLBACK (on_drag_motion), NULL);
106 g_signal_connect ((gpointer) treeview2, "drag_drop", G_CALLBACK (on_treeview1_drag_drop), NULL);
107
108 g_signal_connect ((gpointer) save, "clicked", G_CALLBACK (on_save_clicked), NULL);
109 g_signal_connect ((gpointer) quit, "clicked", G_CALLBACK (on_quit_clicked), NULL);
110
111 /* Store pointers to all widgets, for use by lookup_widget(). */
112 GLADE_HOOKUP_OBJECT_NO_REF (xfmime_edit, xfmime_edit, "xffm-mime");
113 GLADE_HOOKUP_OBJECT (xfmime_edit, vbox1, "vbox1");
114 GLADE_HOOKUP_OBJECT (xfmime_edit, hpaned1, "hpaned1");
115 GLADE_HOOKUP_OBJECT (xfmime_edit, scrolledwindow3, "scrolledwindow3");
116 GLADE_HOOKUP_OBJECT (xfmime_edit, treeview1, "treeview1");
117 GLADE_HOOKUP_OBJECT (xfmime_edit, scrolledwindow2, "scrolledwindow2");
118 GLADE_HOOKUP_OBJECT (xfmime_edit, treeview2, "treeview2");
119 GLADE_HOOKUP_OBJECT (xfmime_edit, hbox3, "hbox3");
120 GLADE_HOOKUP_OBJECT (xfmime_edit, hbuttonbox1, "hbuttonbox1");
121 GLADE_HOOKUP_OBJECT (xfmime_edit, save, "save");
122 GLADE_HOOKUP_OBJECT (xfmime_edit, quit, "quit");
123
124 return xfmime_edit;
125 }
126