Mercurial > libervia-desktop-kivy
comparison cagou/core/share_widget.py @ 491:203755bbe0fe
massive refactoring from camelCase -> snake_case. See backend commit log for more details
author | Goffi <goffi@goffi.org> |
---|---|
date | Sat, 08 Apr 2023 13:44:32 +0200 |
parents | 3c9ba4a694ef |
children |
comparison
equal
deleted
inserted
replaced
490:962d17c4078c | 491:203755bbe0fe |
---|---|
50 """Widget previewing shared image""" | 50 """Widget previewing shared image""" |
51 path = StringProperty() | 51 path = StringProperty() |
52 reduce_layout = ObjectProperty() | 52 reduce_layout = ObjectProperty() |
53 reduce_checkbox = ObjectProperty() | 53 reduce_checkbox = ObjectProperty() |
54 | 54 |
55 def _checkImageCb(self, report_raw): | 55 def _check_image_cb(self, report_raw): |
56 self.report = data_format.deserialise(report_raw) | 56 self.report = data_format.deserialise(report_raw) |
57 if self.report['too_large']: | 57 if self.report['too_large']: |
58 self.reduce_layout.opacity = 1 | 58 self.reduce_layout.opacity = 1 |
59 self.reduce_layout.height = self.reduce_layout.minimum_height + dp(10) | 59 self.reduce_layout.height = self.reduce_layout.minimum_height + dp(10) |
60 self.reduce_layout.padding = [0, dp(5)] | 60 self.reduce_layout.padding = [0, dp(5)] |
61 | 61 |
62 def _checkImageEb(self, failure_): | 62 def _check_image_eb(self, failure_): |
63 log.error(f"Can't check image: {failure_}") | 63 log.error(f"Can't check image: {failure_}") |
64 | 64 |
65 def on_path(self, wid, path): | 65 def on_path(self, wid, path): |
66 G.host.bridge.imageCheck( | 66 G.host.bridge.image_check( |
67 path, callback=self._checkImageCb, errback=self._checkImageEb) | 67 path, callback=self._check_image_cb, errback=self._check_image_eb) |
68 | 68 |
69 def resizeImage(self, data, callback, errback): | 69 def resize_image(self, data, callback, errback): |
70 | 70 |
71 def imageResizeCb(new_path): | 71 def image_resize_cb(new_path): |
72 new_path = Path(new_path) | 72 new_path = Path(new_path) |
73 log.debug(f"image {data['path']} resized at {new_path}") | 73 log.debug(f"image {data['path']} resized at {new_path}") |
74 data['path'] = new_path | 74 data['path'] = new_path |
75 data['cleaning_cb'] = lambda: new_path.unlink() | 75 data['cleaning_cb'] = lambda: new_path.unlink() |
76 callback(data) | 76 callback(data) |
77 | 77 |
78 path = data['path'] | 78 path = data['path'] |
79 width, height = self.report['recommended_size'] | 79 width, height = self.report['recommended_size'] |
80 G.host.bridge.imageResize( | 80 G.host.bridge.image_resize( |
81 path, width, height, | 81 path, width, height, |
82 callback=imageResizeCb, | 82 callback=image_resize_cb, |
83 errback=errback | 83 errback=errback |
84 ) | 84 ) |
85 | 85 |
86 def getFilter(self): | 86 def get_filter(self): |
87 if self.report['too_large'] and self.reduce_checkbox.active: | 87 if self.report['too_large'] and self.reduce_checkbox.active: |
88 return self.resizeImage | 88 return self.resize_image |
89 else: | 89 else: |
90 return lambda data, callback, errback: callback(data) | 90 return lambda data, callback, errback: callback(data) |
91 | 91 |
92 | 92 |
93 class GenericPreview(BoxLayout): | 93 class GenericPreview(BoxLayout): |
108 self.preview_box.add_widget(ImagePreview(path=self.data['path'])) | 108 self.preview_box.add_widget(ImagePreview(path=self.data['path'])) |
109 else: | 109 else: |
110 self.preview_box.add_widget(GenericPreview(path=self.data['path'])) | 110 self.preview_box.add_widget(GenericPreview(path=self.data['path'])) |
111 | 111 |
112 def close(self): | 112 def close(self): |
113 G.host.closeUI() | 113 G.host.close_ui() |
114 | 114 |
115 def getFilteredData(self, callback, errback): | 115 def get_filtered_data(self, callback, errback): |
116 """Apply filter if suitable, and call callback with with modified data""" | 116 """Apply filter if suitable, and call callback with with modified data""" |
117 try: | 117 try: |
118 getFilter = self.preview_box.children[0].getFilter | 118 get_filter = self.preview_box.children[0].get_filter |
119 except AttributeError: | 119 except AttributeError: |
120 callback(self.data) | 120 callback(self.data) |
121 else: | 121 else: |
122 filter_ = getFilter() | 122 filter_ = get_filter() |
123 filter_(self.data, callback=callback, errback=errback) | 123 filter_(self.data, callback=callback, errback=errback) |
124 | 124 |
125 def filterDataCb(self, data, contact_jid, profile): | 125 def filter_data_cb(self, data, contact_jid, profile): |
126 chat_wid = G.host.doAction('chat', contact_jid, [profile]) | 126 chat_wid = G.host.do_action('chat', contact_jid, [profile]) |
127 | 127 |
128 if self.type == 'text' and 'text' in self.data: | 128 if self.type == 'text' and 'text' in self.data: |
129 text = self.data['text'] | 129 text = self.data['text'] |
130 chat_wid.message_input.text += text | 130 chat_wid.message_input.text += text |
131 else: | 131 else: |
132 path = self.data['path'] | 132 path = self.data['path'] |
133 chat_wid.transferFile(path, cleaning_cb=data.get('cleaning_cb')) | 133 chat_wid.transfer_file(path, cleaning_cb=data.get('cleaning_cb')) |
134 self.close() | 134 self.close() |
135 | 135 |
136 def filterDataEb(self, failure_): | 136 def filter_data_eb(self, failure_): |
137 G.host.addNote( | 137 G.host.add_note( |
138 _("file filter error"), | 138 _("file filter error"), |
139 _("Can't apply filter to file: {msg}").format(msg=failure_), | 139 _("Can't apply filter to file: {msg}").format(msg=failure_), |
140 level=C.XMLUI_DATA_LVL_ERROR) | 140 level=C.XMLUI_DATA_LVL_ERROR) |
141 | 141 |
142 def on_select(self, contact_button): | 142 def on_select(self, contact_button): |
143 contact_jid = jid.JID(contact_button.jid) | 143 contact_jid = jid.JID(contact_button.jid) |
144 self.getFilteredData( | 144 self.get_filtered_data( |
145 partial( | 145 partial( |
146 self.filterDataCb, | 146 self.filter_data_cb, |
147 contact_jid=contact_jid, | 147 contact_jid=contact_jid, |
148 profile=contact_button.profile), | 148 profile=contact_button.profile), |
149 self.filterDataEb | 149 self.filter_data_eb |
150 ) | 150 ) |
151 | 151 |
152 def key_input(self, window, key, scancode, codepoint, modifier): | 152 def key_input(self, window, key, scancode, codepoint, modifier): |
153 if key == 27: | 153 if key == 27: |
154 return G.local_platform.on_key_back_share(self) | 154 return G.local_platform.on_key_back_share(self) |