Allowing sorting by columns, Code cleanup
This commit is contained in:
parent
27f3ebe1f2
commit
add6e9b0fd
@ -1129,10 +1129,13 @@ void browser_set_view(Browser * browser, BrowserView view)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void _details_column_text(GtkTreeView * view, char const * title,
|
||||||
|
int id);
|
||||||
static void _view_details(Browser * browser)
|
static void _view_details(Browser * browser)
|
||||||
{
|
{
|
||||||
GtkTreeSelection * treesel;
|
GtkTreeSelection * treesel;
|
||||||
GtkCellRenderer * renderer;
|
GtkCellRenderer * renderer;
|
||||||
|
GtkTreeView * view;
|
||||||
|
|
||||||
if(browser->detailview != NULL)
|
if(browser->detailview != NULL)
|
||||||
return;
|
return;
|
||||||
@ -1146,10 +1149,10 @@ static void _view_details(Browser * browser)
|
|||||||
#endif
|
#endif
|
||||||
browser->detailview = gtk_tree_view_new_with_model(GTK_TREE_MODEL(
|
browser->detailview = gtk_tree_view_new_with_model(GTK_TREE_MODEL(
|
||||||
browser->store));
|
browser->store));
|
||||||
if((treesel = gtk_tree_view_get_selection(GTK_TREE_VIEW(
|
view = GTK_TREE_VIEW(browser->detailview);
|
||||||
browser->detailview))) != NULL)
|
if((treesel = gtk_tree_view_get_selection(view)) != NULL)
|
||||||
gtk_tree_selection_set_mode(treesel, GTK_SELECTION_MULTIPLE);
|
gtk_tree_selection_set_mode(treesel, GTK_SELECTION_MULTIPLE);
|
||||||
gtk_tree_view_append_column(GTK_TREE_VIEW(browser->detailview),
|
gtk_tree_view_append_column(view,
|
||||||
gtk_tree_view_column_new_with_attributes("",
|
gtk_tree_view_column_new_with_attributes("",
|
||||||
gtk_cell_renderer_pixbuf_new(), "pixbuf",
|
gtk_cell_renderer_pixbuf_new(), "pixbuf",
|
||||||
BR_COL_PIXBUF_24, NULL));
|
BR_COL_PIXBUF_24, NULL));
|
||||||
@ -1157,36 +1160,31 @@ static void _view_details(Browser * browser)
|
|||||||
g_object_set(renderer, "editable", TRUE, NULL);
|
g_object_set(renderer, "editable", TRUE, NULL);
|
||||||
g_signal_connect(G_OBJECT(renderer), "edited", G_CALLBACK(
|
g_signal_connect(G_OBJECT(renderer), "edited", G_CALLBACK(
|
||||||
on_filename_edited), browser);
|
on_filename_edited), browser);
|
||||||
gtk_tree_view_append_column(GTK_TREE_VIEW(browser->detailview),
|
_details_column_text(view, "Filename", BR_COL_DISPLAY_NAME);
|
||||||
gtk_tree_view_column_new_with_attributes("Filename",
|
_details_column_text(view, "Size", BR_COL_SIZE);
|
||||||
renderer, "text", BR_COL_DISPLAY_NAME, NULL));
|
_details_column_text(view, "Owner", BR_COL_OWNER);
|
||||||
gtk_tree_view_append_column(GTK_TREE_VIEW(browser->detailview),
|
_details_column_text(view, "Group", BR_COL_GROUP);
|
||||||
gtk_tree_view_column_new_with_attributes("Size",
|
_details_column_text(view, "MIME type", BR_COL_MIME_TYPE);
|
||||||
gtk_cell_renderer_text_new(), "text",
|
gtk_tree_view_set_headers_visible(view, TRUE);
|
||||||
BR_COL_SIZE, NULL));
|
g_signal_connect(G_OBJECT(view), "row-activated", G_CALLBACK(
|
||||||
gtk_tree_view_append_column(GTK_TREE_VIEW(browser->detailview),
|
on_detail_default), browser);
|
||||||
gtk_tree_view_column_new_with_attributes("Owner",
|
g_signal_connect(G_OBJECT(view), "button-press-event", G_CALLBACK(
|
||||||
gtk_cell_renderer_text_new(), "text",
|
on_view_press), browser);
|
||||||
BR_COL_OWNER, NULL));
|
|
||||||
gtk_tree_view_append_column(GTK_TREE_VIEW(browser->detailview),
|
|
||||||
gtk_tree_view_column_new_with_attributes("Group",
|
|
||||||
gtk_cell_renderer_text_new(), "text",
|
|
||||||
BR_COL_GROUP, NULL));
|
|
||||||
gtk_tree_view_append_column(GTK_TREE_VIEW(browser->detailview),
|
|
||||||
gtk_tree_view_column_new_with_attributes("MIME type",
|
|
||||||
gtk_cell_renderer_text_new(), "text",
|
|
||||||
BR_COL_MIME_TYPE, NULL));
|
|
||||||
gtk_tree_view_set_headers_visible(GTK_TREE_VIEW(browser->detailview),
|
|
||||||
TRUE);
|
|
||||||
g_signal_connect(G_OBJECT(browser->detailview), "row-activated",
|
|
||||||
G_CALLBACK(on_detail_default), browser);
|
|
||||||
g_signal_connect(G_OBJECT(browser->detailview), "button-press-event",
|
|
||||||
G_CALLBACK(on_view_press), browser);
|
|
||||||
gtk_container_add(GTK_CONTAINER(browser->scrolled),
|
gtk_container_add(GTK_CONTAINER(browser->scrolled),
|
||||||
browser->detailview);
|
browser->detailview);
|
||||||
gtk_widget_show(browser->detailview);
|
gtk_widget_show(browser->detailview);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void _details_column_text(GtkTreeView * view, char const * title, int id)
|
||||||
|
{
|
||||||
|
GtkTreeViewColumn * column;
|
||||||
|
|
||||||
|
column = gtk_tree_view_column_new_with_attributes(title,
|
||||||
|
gtk_cell_renderer_text_new(), "text", id, NULL);
|
||||||
|
gtk_tree_view_column_set_sort_column_id(column, id);
|
||||||
|
gtk_tree_view_append_column(view, column);
|
||||||
|
}
|
||||||
|
|
||||||
#if GTK_CHECK_VERSION(2, 6, 0)
|
#if GTK_CHECK_VERSION(2, 6, 0)
|
||||||
static void _view_icon_view(Browser * browser);
|
static void _view_icon_view(Browser * browser);
|
||||||
static void _view_icons(Browser * browser)
|
static void _view_icons(Browser * browser)
|
||||||
|
Loading…
Reference in New Issue
Block a user