46 return doc; |
46 return doc; |
47 } |
47 } |
48 |
48 |
49 |
49 |
50 void davbrowser_set_collection(UiObject *ui, DavBrowser *browser, DavResource *collection) { |
50 void davbrowser_set_collection(UiObject *ui, DavBrowser *browser, DavResource *collection) { |
|
51 if (browser->current) { |
|
52 dav_resource_free_all(browser->current); |
|
53 } |
51 ui_list_clear(browser->resources); |
54 ui_list_clear(browser->resources); |
52 |
55 |
|
56 browser->current = collection; |
53 for (DavResource *res = collection->children; res; res = res->next) { |
57 for (DavResource *res = collection->children; res; res = res->next) { |
54 ui_list_append(browser->resources, res); |
58 ui_list_append(browser->resources, res); |
55 } |
59 } |
56 |
60 |
57 browser->resources->update(browser->resources, 0); |
61 browser->resources->update(browser->resources, 0); |
86 |
90 |
87 static int browser_query_path(void *data) { |
91 static int browser_query_path(void *data) { |
88 DavBrowserQueryPath *query = data; |
92 DavBrowserQueryPath *query = data; |
89 DavSession *sn = query->browser->sn; |
93 DavSession *sn = query->browser->sn; |
90 |
94 |
91 DavResource *res = dav_query(sn, "select `idav:crypto-name`,`idav:crypto-key`,D:lockdiscovery from %s with depth = 1 order by iscollection desc, name", query->path); |
95 DavResource *res = dav_query(sn, "select `idav:crypto-name`,`idav:crypto-key`,D:lockdiscovery,D:getcontenttype from %s with depth = 1 order by iscollection desc, name", query->path); |
92 query->result = res; |
96 query->result = res; |
93 |
97 |
94 return 0; |
98 return 0; |
95 } |
99 } |
96 |
100 |