Mercurial > geeqie
comparison src/view_dir_tree.c @ 384:392dd6541d51
Merge parts of view_dir_list/tree constructors/destructors to
view_dir.
author | zas_ |
---|---|
date | Wed, 16 Apr 2008 16:54:38 +0000 |
parents | 499d7ba62261 |
children | 5186f8e38cb8 |
comparison
equal
deleted
inserted
replaced
383:499d7ba62261 | 384:392dd6541d51 |
---|---|
1542 static void vdtree_destroy_cb(GtkWidget *widget, gpointer data) | 1542 static void vdtree_destroy_cb(GtkWidget *widget, gpointer data) |
1543 { | 1543 { |
1544 ViewDir *vd = data; | 1544 ViewDir *vd = data; |
1545 GtkTreeModel *store; | 1545 GtkTreeModel *store; |
1546 | 1546 |
1547 if (vd->popup) | |
1548 { | |
1549 g_signal_handlers_disconnect_matched(G_OBJECT(vd->popup), G_SIGNAL_MATCH_DATA, | |
1550 0, 0, 0, NULL, vd); | |
1551 gtk_widget_destroy(vd->popup); | |
1552 } | |
1553 | |
1554 vdtree_dnd_drop_expand_cancel(vd); | 1547 vdtree_dnd_drop_expand_cancel(vd); |
1555 vdtree_dnd_drop_scroll_cancel(vd); | 1548 vdtree_dnd_drop_scroll_cancel(vd); |
1556 widget_auto_scroll_stop(vd->view); | 1549 widget_auto_scroll_stop(vd->view); |
1557 | 1550 |
1558 store = gtk_tree_view_get_model(GTK_TREE_VIEW(vd->view)); | 1551 store = gtk_tree_view_get_model(GTK_TREE_VIEW(vd->view)); |
1559 gtk_tree_model_foreach(store, vdtree_destroy_node_cb, vd); | 1552 gtk_tree_model_foreach(store, vdtree_destroy_node_cb, vd); |
1560 | 1553 } |
1561 filelist_free(vd->drop_list); | 1554 |
1562 | 1555 ViewDir *vdtree_new(ViewDir *vd, const gchar *path) |
1563 folder_icons_free(vd->pf); | 1556 { |
1564 | |
1565 g_free(vd->path); | |
1566 g_free(vd->info); | |
1567 g_free(vd); | |
1568 } | |
1569 | |
1570 ViewDir *vdtree_new(const gchar *path) | |
1571 { | |
1572 ViewDir *vd; | |
1573 GtkTreeStore *store; | 1557 GtkTreeStore *store; |
1574 GtkTreeSelection *selection; | 1558 GtkTreeSelection *selection; |
1575 GtkTreeViewColumn *column; | 1559 GtkTreeViewColumn *column; |
1576 GtkCellRenderer *renderer; | 1560 GtkCellRenderer *renderer; |
1577 | 1561 |
1578 vd = g_new0(ViewDir, 1); | |
1579 vd->info = g_new0(ViewDirInfoTree, 1); | 1562 vd->info = g_new0(ViewDirInfoTree, 1); |
1580 vd->type = DIRVIEW_TREE; | 1563 vd->type = DIRVIEW_TREE; |
1581 | 1564 vd->widget_destroy_cb = vdtree_destroy_cb; |
1582 vd->path = NULL; | 1565 |
1583 vd->click_fd = NULL; | |
1584 | |
1585 vd->drop_fd = NULL; | |
1586 vd->drop_list = NULL; | |
1587 vd->drop_scroll_id = -1; | |
1588 VDTREE_INFO(vd, drop_expand_id) = -1; | 1566 VDTREE_INFO(vd, drop_expand_id) = -1; |
1589 | 1567 |
1590 vd->popup = NULL; | |
1591 | |
1592 VDTREE_INFO(vd, busy_ref) = 0; | 1568 VDTREE_INFO(vd, busy_ref) = 0; |
1593 | |
1594 vd->widget = gtk_scrolled_window_new(NULL, NULL); | |
1595 gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(vd->widget), GTK_SHADOW_IN); | |
1596 gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(vd->widget), | |
1597 GTK_POLICY_AUTOMATIC, GTK_POLICY_ALWAYS); | |
1598 g_signal_connect(G_OBJECT(vd->widget), "destroy", | |
1599 G_CALLBACK(vdtree_destroy_cb), vd); | |
1600 | 1569 |
1601 store = gtk_tree_store_new(4, G_TYPE_POINTER, GDK_TYPE_PIXBUF, G_TYPE_STRING, G_TYPE_INT); | 1570 store = gtk_tree_store_new(4, G_TYPE_POINTER, GDK_TYPE_PIXBUF, G_TYPE_STRING, G_TYPE_INT); |
1602 vd->view = gtk_tree_view_new_with_model(GTK_TREE_MODEL(store)); | 1571 vd->view = gtk_tree_view_new_with_model(GTK_TREE_MODEL(store)); |
1603 g_object_unref(store); | 1572 g_object_unref(store); |
1604 | 1573 |