summaryrefslogtreecommitdiff
path: root/gtk
diff options
context:
space:
mode:
Diffstat (limited to 'gtk')
-rw-r--r--gtk/gtk_cookies.c4
-rw-r--r--gtk/gtk_gui.c2
-rw-r--r--gtk/gtk_history.c3
-rw-r--r--gtk/gtk_hotlist.c3
-rw-r--r--gtk/gtk_treeview.c114
-rw-r--r--gtk/gtk_treeview.h4
6 files changed, 66 insertions, 64 deletions
diff --git a/gtk/gtk_cookies.c b/gtk/gtk_cookies.c
index 1576290ad..e9528320b 100644
--- a/gtk/gtk_cookies.c
+++ b/gtk/gtk_cookies.c
@@ -118,7 +118,9 @@ void nsgtk_cookies_init(void)
CONNECT(window, "delete_event", gtk_widget_hide_on_delete, NULL);
CONNECT(window, "hide", nsgtk_tree_window_hide, cookies_window);
- cookies_initialise(nsgtk_treeview_get_tree(cookies_window));
+ cookies_initialise(nsgtk_treeview_get_tree(cookies_window),
+ tree_directory_icon_name,
+ tree_content_icon_name);
nsgtk_cookies_init_menu();
}
diff --git a/gtk/gtk_gui.c b/gtk/gtk_gui.c
index be6e4afe2..739462060 100644
--- a/gtk/gtk_gui.c
+++ b/gtk/gtk_gui.c
@@ -500,7 +500,7 @@ static void gui_init(int argc, char** argv, char **respath)
nsgtk_cookies_init();
nsgtk_hotlist_init();
- sslcert_init();
+ sslcert_init(tree_content_icon_name);
if (option_homepage_url != NULL && option_homepage_url[0] != '\0')
addr = option_homepage_url;
diff --git a/gtk/gtk_history.c b/gtk/gtk_history.c
index 75b392fb3..62cc798e5 100644
--- a/gtk/gtk_history.c
+++ b/gtk/gtk_history.c
@@ -128,7 +128,8 @@ bool nsgtk_history_init(void)
CONNECT(window, "hide", nsgtk_tree_window_hide, global_history_window);
history_global_initialise(
- nsgtk_treeview_get_tree(global_history_window));
+ nsgtk_treeview_get_tree(global_history_window),
+ tree_directory_icon_name);
nsgtk_history_init_menu();
diff --git a/gtk/gtk_hotlist.c b/gtk/gtk_hotlist.c
index 905050260..bf700a047 100644
--- a/gtk/gtk_hotlist.c
+++ b/gtk/gtk_hotlist.c
@@ -132,7 +132,8 @@ void nsgtk_hotlist_init()
CONNECT(window, "hide", nsgtk_tree_window_hide, hotlist_window);
hotlist_initialise(nsgtk_treeview_get_tree(hotlist_window),
- option_hotlist_path);
+ option_hotlist_path,
+ tree_directory_icon_name);
nsgtk_hotlist_init_menu();
}
diff --git a/gtk/gtk_treeview.c b/gtk/gtk_treeview.c
index 20562e3d5..e3915501c 100644
--- a/gtk/gtk_treeview.c
+++ b/gtk/gtk_treeview.c
@@ -48,62 +48,6 @@ struct nsgtk_treeview {
const char tree_directory_icon_name[] = "directory.png";
const char tree_content_icon_name[] = "content.png";
-static void nsgtk_tree_redraw_request(int x, int y, int width, int height,
- void *data);
-static void nsgtk_tree_resized(struct tree *tree, int width, int height, void *data);
-static void nsgtk_tree_scroll_visible(int y, int height, void *data);
-static void nsgtk_tree_get_window_dimensions(int *width, int *height, void *data);
-
-static const struct treeview_table nsgtk_tree_callbacks = {
- .redraw_request = nsgtk_tree_redraw_request,
- .resized = nsgtk_tree_resized,
- .scroll_visible = nsgtk_tree_scroll_visible,
- .get_window_dimensions = nsgtk_tree_get_window_dimensions
-};
-
-struct nsgtk_treeview *nsgtk_treeview_create(unsigned int flags,
- GtkWindow *window, GtkScrolledWindow *scrolled,
- GtkDrawingArea *drawing_area)
-{
- struct nsgtk_treeview *tv;
-
- tv = malloc(sizeof(struct nsgtk_treeview));
- if (tv == NULL) {
- LOG(("malloc failed"));
- warn_user("NoMemory", 0);
- return NULL;
- }
-
- tv->window = window;
- tv->scrolled = scrolled;
- tv->drawing_area = drawing_area;
- tv->tree = tree_create(flags, &nsgtk_tree_callbacks, tv);
- tv->mouse_state = 0;
-
- gtk_widget_modify_bg(GTK_WIDGET(drawing_area), GTK_STATE_NORMAL,
- &((GdkColor) { 0, 0xffff, 0xffff, 0xffff } ));
-
-#define CONNECT(obj, sig, callback, ptr) \
- g_signal_connect(G_OBJECT(obj), (sig), G_CALLBACK(callback), (ptr))
-
- CONNECT(drawing_area, "expose_event",
- nsgtk_tree_window_expose_event,
- tv->tree);
- CONNECT(drawing_area, "button_press_event",
- nsgtk_tree_window_button_press_event,
- tv);
- CONNECT(drawing_area, "button_release_event",
- nsgtk_tree_window_button_release_event,
- tv);
- CONNECT(drawing_area, "motion_notify_event",
- nsgtk_tree_window_motion_notify_event,
- tv);
- CONNECT(drawing_area, "key_press_event",
- nsgtk_tree_window_keypress_event,
- tv);
- return tv;
-}
-
void nsgtk_treeview_destroy(struct nsgtk_treeview *tv)
{
tree_delete(tv->tree);
@@ -116,7 +60,7 @@ struct tree *nsgtk_treeview_get_tree(struct nsgtk_treeview *tv)
return tv->tree;
}
-void nsgtk_tree_redraw_request(int x, int y, int width, int height, void *data)
+static void nsgtk_tree_redraw_request(int x, int y, int width, int height, void *data)
{
struct nsgtk_treeview *tw = data;
@@ -130,7 +74,7 @@ void nsgtk_tree_redraw_request(int x, int y, int width, int height, void *data)
*
* \param tree the tree to update the owner of
*/
-void nsgtk_tree_resized(struct tree *tree, int width, int height, void *data)
+static void nsgtk_tree_resized(struct tree *tree, int width, int height, void *data)
{
struct nsgtk_treeview *tw = data;
@@ -194,7 +138,7 @@ void tree_icon_name_from_content_type(char *buffer, content_type type)
* \param height height of the element
* \param data user data assigned to the tree on tree creation
*/
-void nsgtk_tree_scroll_visible(int y, int height, void *data)
+static void nsgtk_tree_scroll_visible(int y, int height, void *data)
{
int y0, y1;
gdouble page;
@@ -225,7 +169,7 @@ void nsgtk_tree_scroll_visible(int y, int height, void *data)
* \param width will be updated to window width if not NULL
* \param height will be updated to window height if not NULL
*/
-void nsgtk_tree_get_window_dimensions(int *width, int *height, void *data)
+static void nsgtk_tree_get_window_dimensions(int *width, int *height, void *data)
{
struct nsgtk_treeview *tw = data;
GtkAdjustment *vadj;
@@ -540,3 +484,53 @@ gboolean nsgtk_tree_window_keypress_event(GtkWidget *widget, GdkEventKey *event,
return TRUE;
}
+
+static const struct treeview_table nsgtk_tree_callbacks = {
+ .redraw_request = nsgtk_tree_redraw_request,
+ .resized = nsgtk_tree_resized,
+ .scroll_visible = nsgtk_tree_scroll_visible,
+ .get_window_dimensions = nsgtk_tree_get_window_dimensions
+};
+
+struct nsgtk_treeview *nsgtk_treeview_create(unsigned int flags,
+ GtkWindow *window, GtkScrolledWindow *scrolled,
+ GtkDrawingArea *drawing_area)
+{
+ struct nsgtk_treeview *tv;
+
+ tv = malloc(sizeof(struct nsgtk_treeview));
+ if (tv == NULL) {
+ LOG(("malloc failed"));
+ warn_user("NoMemory", 0);
+ return NULL;
+ }
+
+ tv->window = window;
+ tv->scrolled = scrolled;
+ tv->drawing_area = drawing_area;
+ tv->tree = tree_create(flags, &nsgtk_tree_callbacks, tv);
+ tv->mouse_state = 0;
+
+ gtk_widget_modify_bg(GTK_WIDGET(drawing_area), GTK_STATE_NORMAL,
+ &((GdkColor) { 0, 0xffff, 0xffff, 0xffff } ));
+
+#define CONNECT(obj, sig, callback, ptr) \
+ g_signal_connect(G_OBJECT(obj), (sig), G_CALLBACK(callback), (ptr))
+
+ CONNECT(drawing_area, "expose_event",
+ nsgtk_tree_window_expose_event,
+ tv->tree);
+ CONNECT(drawing_area, "button_press_event",
+ nsgtk_tree_window_button_press_event,
+ tv);
+ CONNECT(drawing_area, "button_release_event",
+ nsgtk_tree_window_button_release_event,
+ tv);
+ CONNECT(drawing_area, "motion_notify_event",
+ nsgtk_tree_window_motion_notify_event,
+ tv);
+ CONNECT(drawing_area, "key_press_event",
+ nsgtk_tree_window_keypress_event,
+ tv);
+ return tv;
+}
diff --git a/gtk/gtk_treeview.h b/gtk/gtk_treeview.h
index 655f8223d..c7520465e 100644
--- a/gtk/gtk_treeview.h
+++ b/gtk/gtk_treeview.h
@@ -26,6 +26,10 @@
#include "desktop/browser.h"
+/* defined in front end code */
+extern const char tree_directory_icon_name[];
+extern const char tree_content_icon_name[];
+
struct nsgtk_treeview;
struct nsgtk_treeview *nsgtk_treeview_create(unsigned int flags,