Wed, 27 Nov 2024 16:42:19 +0100
add encryption and lock indicator, resolves #501
2
fbdfaacc4182
update ucx, libidav and add first gui code
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
1 | /* |
fbdfaacc4182
update ucx, libidav and add first gui code
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
2 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. |
fbdfaacc4182
update ucx, libidav and add first gui code
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
3 | * |
fbdfaacc4182
update ucx, libidav and add first gui code
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
4 | * Copyright 2024 Olaf Wintermann. All rights reserved. |
fbdfaacc4182
update ucx, libidav and add first gui code
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
5 | * |
fbdfaacc4182
update ucx, libidav and add first gui code
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
6 | * Redistribution and use in source and binary forms, with or without |
fbdfaacc4182
update ucx, libidav and add first gui code
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
7 | * modification, are permitted provided that the following conditions are met: |
fbdfaacc4182
update ucx, libidav and add first gui code
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
8 | * |
fbdfaacc4182
update ucx, libidav and add first gui code
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
9 | * 1. Redistributions of source code must retain the above copyright |
fbdfaacc4182
update ucx, libidav and add first gui code
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
10 | * notice, this list of conditions and the following disclaimer. |
fbdfaacc4182
update ucx, libidav and add first gui code
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
11 | * |
fbdfaacc4182
update ucx, libidav and add first gui code
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
12 | * 2. Redistributions in binary form must reproduce the above copyright |
fbdfaacc4182
update ucx, libidav and add first gui code
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
13 | * notice, this list of conditions and the following disclaimer in the |
fbdfaacc4182
update ucx, libidav and add first gui code
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
14 | * documentation and/or other materials provided with the distribution. |
fbdfaacc4182
update ucx, libidav and add first gui code
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
15 | * |
fbdfaacc4182
update ucx, libidav and add first gui code
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
16 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" |
fbdfaacc4182
update ucx, libidav and add first gui code
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
17 | * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
fbdfaacc4182
update ucx, libidav and add first gui code
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
18 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE |
fbdfaacc4182
update ucx, libidav and add first gui code
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
19 | * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE |
fbdfaacc4182
update ucx, libidav and add first gui code
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
20 | * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR |
fbdfaacc4182
update ucx, libidav and add first gui code
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
21 | * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF |
fbdfaacc4182
update ucx, libidav and add first gui code
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
22 | * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS |
fbdfaacc4182
update ucx, libidav and add first gui code
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
23 | * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN |
fbdfaacc4182
update ucx, libidav and add first gui code
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
24 | * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) |
fbdfaacc4182
update ucx, libidav and add first gui code
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
25 | * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE |
fbdfaacc4182
update ucx, libidav and add first gui code
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
26 | * POSSIBILITY OF SUCH DAMAGE. |
fbdfaacc4182
update ucx, libidav and add first gui code
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
27 | */ |
fbdfaacc4182
update ucx, libidav and add first gui code
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
28 | |
6
09ac07345656
add config related code from dav / load config and fill repo list
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
3
diff
changeset
|
29 | #ifndef IDAV_APPLICATION_H |
60
ee4e4742391e
add settings window and implement repository editing
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
56
diff
changeset
|
30 | #define IDAV_APPLICATION_H |
6
09ac07345656
add config related code from dav / load config and fill repo list
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
3
diff
changeset
|
31 | |
2
fbdfaacc4182
update ucx, libidav and add first gui code
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
32 | #include <ui/ui.h> |
fbdfaacc4182
update ucx, libidav and add first gui code
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
33 | |
fbdfaacc4182
update ucx, libidav and add first gui code
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
34 | #include <stdio.h> |
fbdfaacc4182
update ucx, libidav and add first gui code
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
35 | #include <stdlib.h> |
15
78684a24dc52
implement navigation back/forward buttons
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
14
diff
changeset
|
36 | #include <stdbool.h> |
2
fbdfaacc4182
update ucx, libidav and add first gui code
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
37 | |
fbdfaacc4182
update ucx, libidav and add first gui code
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
38 | #include <libidav/webdav.h> |
fbdfaacc4182
update ucx, libidav and add first gui code
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
39 | #include <libidav/config.h> |
fbdfaacc4182
update ucx, libidav and add first gui code
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
40 | |
15
78684a24dc52
implement navigation back/forward buttons
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
14
diff
changeset
|
41 | #include <cx/linked_list.h> |
78684a24dc52
implement navigation back/forward buttons
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
14
diff
changeset
|
42 | |
35
834d9c15a69f
some toolkit fixes
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
29
diff
changeset
|
43 | #ifdef __cplusplus |
6
09ac07345656
add config related code from dav / load config and fill repo list
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
3
diff
changeset
|
44 | extern "C" { |
09ac07345656
add config related code from dav / load config and fill repo list
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
3
diff
changeset
|
45 | #endif |
09ac07345656
add config related code from dav / load config and fill repo list
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
3
diff
changeset
|
46 | |
68 | 47 | #define APP_STATE_BROWSER_SESSION 100 |
48 | #define APP_STATE_BROWSER_SELECTION 110 | |
49 | ||
78
ad7ced6cf00b
implement resourceviewer textfile save button
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
68
diff
changeset
|
50 | #define RESOURCEVIEWER_STATE_MODIFIED 2000 |
ad7ced6cf00b
implement resourceviewer textfile save button
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
68
diff
changeset
|
51 | |
2
fbdfaacc4182
update ucx, libidav and add first gui code
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
52 | typedef struct DavApp { |
35
834d9c15a69f
some toolkit fixes
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
29
diff
changeset
|
53 | DavConfig *dav_config; |
834d9c15a69f
some toolkit fixes
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
29
diff
changeset
|
54 | UiList *repos; |
2
fbdfaacc4182
update ucx, libidav and add first gui code
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
55 | } DavApp; |
fbdfaacc4182
update ucx, libidav and add first gui code
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
56 | |
51
e324291ca9f8
add resource preview window
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
47
diff
changeset
|
57 | |
e324291ca9f8
add resource preview window
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
47
diff
changeset
|
58 | typedef enum DavResourceViewType { |
e324291ca9f8
add resource preview window
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
47
diff
changeset
|
59 | DAV_RESOURCE_VIEW_PROPERTIES = 0, |
e324291ca9f8
add resource preview window
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
47
diff
changeset
|
60 | DAV_RESOURCE_VIEW_TEXT, |
e324291ca9f8
add resource preview window
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
47
diff
changeset
|
61 | DAV_RESOURCE_VIEW_IMAGE |
e324291ca9f8
add resource preview window
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
47
diff
changeset
|
62 | } DavResourceViewType; |
e324291ca9f8
add resource preview window
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
47
diff
changeset
|
63 | |
e324291ca9f8
add resource preview window
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
47
diff
changeset
|
64 | #define DAV_RESOURCEVIEWER_PREVIEW_MAX_SIZE 0x1000000 |
e324291ca9f8
add resource preview window
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
47
diff
changeset
|
65 | |
8
726b24766437
implement connecting to repositories
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
7
diff
changeset
|
66 | /* |
726b24766437
implement connecting to repositories
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
7
diff
changeset
|
67 | * main window document object |
726b24766437
implement connecting to repositories
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
7
diff
changeset
|
68 | */ |
726b24766437
implement connecting to repositories
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
7
diff
changeset
|
69 | typedef struct DavBrowser { |
35
834d9c15a69f
some toolkit fixes
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
29
diff
changeset
|
70 | UiContext *ctx; |
834d9c15a69f
some toolkit fixes
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
29
diff
changeset
|
71 | DavSession *sn; |
834d9c15a69f
some toolkit fixes
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
29
diff
changeset
|
72 | UiThreadpool *dav_queue; |
51
e324291ca9f8
add resource preview window
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
47
diff
changeset
|
73 | |
e324291ca9f8
add resource preview window
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
47
diff
changeset
|
74 | CxMap *res_open_inprogress; |
8
726b24766437
implement connecting to repositories
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
7
diff
changeset
|
75 | |
35
834d9c15a69f
some toolkit fixes
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
29
diff
changeset
|
76 | char *repo_base; |
8
726b24766437
implement connecting to repositories
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
7
diff
changeset
|
77 | |
35
834d9c15a69f
some toolkit fixes
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
29
diff
changeset
|
78 | DavResource *current; |
8
726b24766437
implement connecting to repositories
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
7
diff
changeset
|
79 | |
35
834d9c15a69f
some toolkit fixes
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
29
diff
changeset
|
80 | /* |
834d9c15a69f
some toolkit fixes
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
29
diff
changeset
|
81 | * incremented every time current is updated |
834d9c15a69f
some toolkit fixes
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
29
diff
changeset
|
82 | */ |
834d9c15a69f
some toolkit fixes
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
29
diff
changeset
|
83 | uint64_t res_counter; |
26
40d6af793c1a
implement resource deletion
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
18
diff
changeset
|
84 | |
35
834d9c15a69f
some toolkit fixes
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
29
diff
changeset
|
85 | CxList *navigation_stack; |
834d9c15a69f
some toolkit fixes
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
29
diff
changeset
|
86 | bool navstack_enabled; |
834d9c15a69f
some toolkit fixes
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
29
diff
changeset
|
87 | int navstack_pos; |
15
78684a24dc52
implement navigation back/forward buttons
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
14
diff
changeset
|
88 | |
35
834d9c15a69f
some toolkit fixes
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
29
diff
changeset
|
89 | /* |
834d9c15a69f
some toolkit fixes
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
29
diff
changeset
|
90 | * path textfield value |
834d9c15a69f
some toolkit fixes
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
29
diff
changeset
|
91 | */ |
834d9c15a69f
some toolkit fixes
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
29
diff
changeset
|
92 | UiString *path; |
8
726b24766437
implement connecting to repositories
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
7
diff
changeset
|
93 | |
35
834d9c15a69f
some toolkit fixes
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
29
diff
changeset
|
94 | /* |
834d9c15a69f
some toolkit fixes
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
29
diff
changeset
|
95 | * children of the current collection |
834d9c15a69f
some toolkit fixes
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
29
diff
changeset
|
96 | */ |
834d9c15a69f
some toolkit fixes
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
29
diff
changeset
|
97 | UiList *resources; |
8
726b24766437
implement connecting to repositories
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
7
diff
changeset
|
98 | } DavBrowser; |
2
fbdfaacc4182
update ucx, libidav and add first gui code
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
99 | |
51
e324291ca9f8
add resource preview window
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
47
diff
changeset
|
100 | /* |
e324291ca9f8
add resource preview window
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
47
diff
changeset
|
101 | * resource view window document object |
e324291ca9f8
add resource preview window
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
47
diff
changeset
|
102 | */ |
e324291ca9f8
add resource preview window
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
47
diff
changeset
|
103 | typedef struct DavResourceViewer { |
e324291ca9f8
add resource preview window
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
47
diff
changeset
|
104 | UiContext *ctx; |
e324291ca9f8
add resource preview window
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
47
diff
changeset
|
105 | DavSession *sn; |
e324291ca9f8
add resource preview window
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
47
diff
changeset
|
106 | DavResource *current; |
e324291ca9f8
add resource preview window
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
47
diff
changeset
|
107 | char *path; |
e324291ca9f8
add resource preview window
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
47
diff
changeset
|
108 | DavResourceViewType type; |
e324291ca9f8
add resource preview window
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
47
diff
changeset
|
109 | |
e324291ca9f8
add resource preview window
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
47
diff
changeset
|
110 | UiInteger *tabview; |
e324291ca9f8
add resource preview window
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
47
diff
changeset
|
111 | UiInteger *loading; |
e324291ca9f8
add resource preview window
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
47
diff
changeset
|
112 | UiString *message; |
e324291ca9f8
add resource preview window
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
47
diff
changeset
|
113 | |
e324291ca9f8
add resource preview window
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
47
diff
changeset
|
114 | UiList *properties; |
e324291ca9f8
add resource preview window
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
47
diff
changeset
|
115 | UiText *text; |
e324291ca9f8
add resource preview window
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
47
diff
changeset
|
116 | UiGeneric *image; |
e324291ca9f8
add resource preview window
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
47
diff
changeset
|
117 | |
52
0c881944fa10
add resourceviewer info and properties
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
51
diff
changeset
|
118 | UiString *info_url; |
0c881944fa10
add resourceviewer info and properties
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
51
diff
changeset
|
119 | UiString *info_name; |
0c881944fa10
add resourceviewer info and properties
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
51
diff
changeset
|
120 | UiString *info_type; |
0c881944fa10
add resourceviewer info and properties
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
51
diff
changeset
|
121 | UiString *info_encrypted; |
0c881944fa10
add resourceviewer info and properties
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
51
diff
changeset
|
122 | UiString *info_etag; |
0c881944fa10
add resourceviewer info and properties
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
51
diff
changeset
|
123 | UiString *info_size; |
0c881944fa10
add resourceviewer info and properties
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
51
diff
changeset
|
124 | |
51
e324291ca9f8
add resource preview window
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
47
diff
changeset
|
125 | int error; |
e324291ca9f8
add resource preview window
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
47
diff
changeset
|
126 | char *message_str; |
e324291ca9f8
add resource preview window
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
47
diff
changeset
|
127 | |
e324291ca9f8
add resource preview window
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
47
diff
changeset
|
128 | CxBuffer *text_content; |
e324291ca9f8
add resource preview window
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
47
diff
changeset
|
129 | char *tmp_file; |
54
3ca3acefc66a
add resourceviewer cleanup
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
53
diff
changeset
|
130 | |
3ca3acefc66a
add resourceviewer cleanup
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
53
diff
changeset
|
131 | bool loaded; |
3ca3acefc66a
add resourceviewer cleanup
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
53
diff
changeset
|
132 | bool window_closed; |
51
e324291ca9f8
add resource preview window
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
47
diff
changeset
|
133 | } DavResourceViewer; |
e324291ca9f8
add resource preview window
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
47
diff
changeset
|
134 | |
e324291ca9f8
add resource preview window
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
47
diff
changeset
|
135 | typedef struct DavPropertyList { |
e324291ca9f8
add resource preview window
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
47
diff
changeset
|
136 | char *ns; |
e324291ca9f8
add resource preview window
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
47
diff
changeset
|
137 | char *name; |
e324291ca9f8
add resource preview window
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
47
diff
changeset
|
138 | char *value_simplified; |
e324291ca9f8
add resource preview window
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
47
diff
changeset
|
139 | char *value_full; |
e324291ca9f8
add resource preview window
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
47
diff
changeset
|
140 | } DavPropertyList; |
e324291ca9f8
add resource preview window
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
47
diff
changeset
|
141 | |
56
294d5515583a
add authentication dialog
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
54
diff
changeset
|
142 | typedef struct SessionAuthData { |
294d5515583a
add authentication dialog
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
54
diff
changeset
|
143 | UiObject *obj; |
294d5515583a
add authentication dialog
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
54
diff
changeset
|
144 | UiCondVar *cond; |
294d5515583a
add authentication dialog
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
54
diff
changeset
|
145 | DavSession *sn; |
294d5515583a
add authentication dialog
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
54
diff
changeset
|
146 | char *user; |
294d5515583a
add authentication dialog
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
54
diff
changeset
|
147 | char *password; |
294d5515583a
add authentication dialog
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
54
diff
changeset
|
148 | } SessionAuthData; |
294d5515583a
add authentication dialog
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
54
diff
changeset
|
149 | |
294d5515583a
add authentication dialog
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
54
diff
changeset
|
150 | |
3
f154867f54dc
add nav buttons, update toolkit
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
2
diff
changeset
|
151 | void application_init(void); |
f154867f54dc
add nav buttons, update toolkit
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
2
diff
changeset
|
152 | |
2
fbdfaacc4182
update ucx, libidav and add first gui code
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
153 | /* |
fbdfaacc4182
update ucx, libidav and add first gui code
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
154 | * startup callback for the ui framework |
fbdfaacc4182
update ucx, libidav and add first gui code
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
155 | */ |
fbdfaacc4182
update ucx, libidav and add first gui code
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
156 | void application_startup(UiEvent* event, void* data); |
fbdfaacc4182
update ucx, libidav and add first gui code
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
157 | |
fbdfaacc4182
update ucx, libidav and add first gui code
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
158 | /* |
fbdfaacc4182
update ucx, libidav and add first gui code
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
159 | * create the global menu and toolbar |
fbdfaacc4182
update ucx, libidav and add first gui code
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
160 | */ |
fbdfaacc4182
update ucx, libidav and add first gui code
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
161 | void application_create_menu(void); |
fbdfaacc4182
update ucx, libidav and add first gui code
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
162 | |
60
ee4e4742391e
add settings window and implement repository editing
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
56
diff
changeset
|
163 | DavApp* get_application(void); |
2
fbdfaacc4182
update ucx, libidav and add first gui code
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
164 | |
fbdfaacc4182
update ucx, libidav and add first gui code
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
165 | DavApp* application_create_app_document(void); |
6
09ac07345656
add config related code from dav / load config and fill repo list
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
3
diff
changeset
|
166 | |
09ac07345656
add config related code from dav / load config and fill repo list
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
3
diff
changeset
|
167 | void application_update_repolist(DavApp *app); |
09ac07345656
add config related code from dav / load config and fill repo list
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
3
diff
changeset
|
168 | |
7
905ac52c910f
port more dav config code
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
6
diff
changeset
|
169 | DavContext* application_dav_context(void); |
905ac52c910f
port more dav config code
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
6
diff
changeset
|
170 | |
17
7cfd36aa005b
add refresh button
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
15
diff
changeset
|
171 | void action_refresh(UiEvent *event, void *data); |
7
905ac52c910f
port more dav config code
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
6
diff
changeset
|
172 | |
14
872d570ae843
implement window new button
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
10
diff
changeset
|
173 | void action_window_new(UiEvent *event, void *data); |
872d570ae843
implement window new button
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
10
diff
changeset
|
174 | |
68 | 175 | void action_window_close(UiEvent *event, void *data); |
176 | ||
7
905ac52c910f
port more dav config code
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
6
diff
changeset
|
177 | void action_repo_selected(UiEvent *event, void *data); |
905ac52c910f
port more dav config code
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
6
diff
changeset
|
178 | |
29
3fc287f06305
add minimal working download
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
28
diff
changeset
|
179 | void action_download(UiEvent *event, void *data); |
3fc287f06305
add minimal working download
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
28
diff
changeset
|
180 | |
18
af411868ab9b
implement dnd upload (without progressbar)
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
17
diff
changeset
|
181 | void action_upload_file(UiEvent *event, void *data); |
af411868ab9b
implement dnd upload (without progressbar)
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
17
diff
changeset
|
182 | |
47
3ac472683246
add upload dir action
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
35
diff
changeset
|
183 | void action_upload_dir(UiEvent *event, void *data); |
3ac472683246
add upload dir action
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
35
diff
changeset
|
184 | |
26
40d6af793c1a
implement resource deletion
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
18
diff
changeset
|
185 | void action_delete(UiEvent *event, void *data); |
40d6af793c1a
implement resource deletion
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
18
diff
changeset
|
186 | |
88
e27526429d85
add context menu, implement 'Select All'
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
78
diff
changeset
|
187 | void action_selectall(UiEvent *event, void *data); |
e27526429d85
add context menu, implement 'Select All'
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
78
diff
changeset
|
188 | |
89
2fbb3cac05a5
implement rename
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
88
diff
changeset
|
189 | void action_rename(UiEvent *event, void *data); |
2fbb3cac05a5
implement rename
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
88
diff
changeset
|
190 | |
28
1ecc1183f046
implement new-collection toolbar button
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
26
diff
changeset
|
191 | void action_newfile(UiEvent *event, void *data); |
1ecc1183f046
implement new-collection toolbar button
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
26
diff
changeset
|
192 | |
1ecc1183f046
implement new-collection toolbar button
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
26
diff
changeset
|
193 | void action_mkcol(UiEvent *event, void *data); |
1ecc1183f046
implement new-collection toolbar button
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
26
diff
changeset
|
194 | |
47
3ac472683246
add upload dir action
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
35
diff
changeset
|
195 | void action_open_settings(UiEvent *event, void *data); |
3ac472683246
add upload dir action
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
35
diff
changeset
|
196 | |
53
da05df77652e
add menu items to open resource properties
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
52
diff
changeset
|
197 | void action_open_properties(UiEvent *event, void *data); |
da05df77652e
add menu items to open resource properties
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
52
diff
changeset
|
198 | |
35
834d9c15a69f
some toolkit fixes
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
29
diff
changeset
|
199 | #ifdef __cplusplus |
6
09ac07345656
add config related code from dav / load config and fill repo list
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
3
diff
changeset
|
200 | } |
09ac07345656
add config related code from dav / load config and fill repo list
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
3
diff
changeset
|
201 | #endif |
09ac07345656
add config related code from dav / load config and fill repo list
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
3
diff
changeset
|
202 | |
09ac07345656
add config related code from dav / load config and fill repo list
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
3
diff
changeset
|
203 | #endif /* IDAV_APPLICATION_H */ |