diff -r 493959648de6 -r 5a3d27b8e6b0 application/application.h --- a/application/application.h Wed Nov 27 18:53:11 2024 +0100 +++ b/application/application.h Thu Nov 28 18:03:12 2024 +0100 @@ -48,6 +48,8 @@ #define APP_STATE_BROWSER_SELECTION 110 #define RESOURCEVIEWER_STATE_MODIFIED 2000 +#define RESOURCEVIEWER_STATE_PROP_SELECTED 2001 +#define RESOURCEVIEWER_STATE_PROP_XML 2002 typedef struct DavApp { DavConfig *dav_config; @@ -108,12 +110,28 @@ UiList *resources; } DavBrowser; + +/* + * resource property list entry + */ +typedef struct DavPropertyList { + char *ns; + char *name; + char *value_simplified; + char *value_full; + DavXmlNode *xml; + DavBool update; + DavBool isnew; +} DavPropertyList; + /* * resource view window document object */ typedef struct DavResourceViewer { + UiObject *obj; UiContext *ctx; DavSession *sn; + UiThreadpool *dav_queue; DavResource *current; char *path; DavResourceViewType type; @@ -133,23 +151,27 @@ UiString *info_etag; UiString *info_size; + UiInteger *property_type; + UiString *property_ns; + UiString *property_name; + UiString *property_nsdef; + UiText *property_value; + UiString *property_errormsg; + + DavPropertyList *selected_property; + DavPropertyList *edit_property; + int error; char *message_str; CxBuffer *text_content; char *tmp_file; + bool properties_modified; bool loaded; bool window_closed; } DavResourceViewer; -typedef struct DavPropertyList { - char *ns; - char *name; - char *value_simplified; - char *value_full; -} DavPropertyList; - typedef struct SessionAuthData { UiObject *obj; UiCondVar *cond;