| ... |
... |
@@ -12,6 +12,7 @@ |
|
12
|
12
|
# You should have received a copy of the GNU General Public License
|
|
13
|
13
|
# along with Gajim. If not, see <http://www.gnu.org/licenses/>.
|
|
14
|
14
|
|
|
|
15
|
+from typing import Any
|
|
15
|
16
|
from typing import Optional
|
|
16
|
17
|
|
|
17
|
18
|
import logging
|
| ... |
... |
@@ -147,7 +148,7 @@ def update(self, preview: Preview, data: Optional[GdkPixbufType]) -> None: |
|
147
|
148
|
self._ui.file_name.set_tooltip_text(preview.filename)
|
|
148
|
149
|
|
|
149
|
150
|
def _get_context_menu(self) -> Gtk.Menu:
|
|
150
|
|
- def _destroy(menu, _pspec):
|
|
|
151
|
+ def _destroy(menu: Gtk.Menu, _pspec: Any) -> None:
|
|
151
|
152
|
visible = menu.get_property('visible')
|
|
152
|
153
|
if not visible:
|
|
153
|
154
|
GLib.idle_add(menu.destroy)
|
| ... |
... |
@@ -156,6 +157,7 @@ def _destroy(menu, _pspec): |
|
156
|
157
|
menu.connect_signals(self)
|
|
157
|
158
|
menu.context_menu.connect('notify::visible', _destroy)
|
|
158
|
159
|
|
|
|
160
|
+ assert self._preview
|
|
159
|
161
|
if self._preview.is_aes_encrypted:
|
|
160
|
162
|
menu.open_link_in_browser.hide()
|
|
161
|
163
|
|
| ... |
... |
@@ -195,6 +197,7 @@ def _on_open(self, _menu: Gtk.Menu) -> None: |
|
195
|
197
|
self._preview, force=True)
|
|
196
|
198
|
return
|
|
197
|
199
|
|
|
|
200
|
+ assert self._preview.orig_path
|
|
198
|
201
|
open_file(self._preview.orig_path)
|
|
199
|
202
|
|
|
200
|
203
|
def _on_save_as(self, _menu: Gtk.Menu) -> None:
|
| ... |
... |
@@ -233,21 +236,26 @@ def _on_ok(target: str) -> None: |
|
233
|
236
|
transient_for=app.app.get_active_window())
|
|
234
|
237
|
|
|
235
|
238
|
def _on_open_folder(self, _menu: Gtk.Menu) -> None:
|
|
|
239
|
+ assert self._preview
|
|
236
|
240
|
if not self._preview.orig_exists():
|
|
237
|
241
|
app.interface.preview_manager.download_content(
|
|
238
|
242
|
self._preview, force=True)
|
|
239
|
243
|
return
|
|
|
244
|
+ assert self._preview.orig_path
|
|
240
|
245
|
open_file(self._preview.orig_path.parent)
|
|
241
|
246
|
|
|
242
|
247
|
def _on_copy_link_location(self, _menu: Gtk.Menu) -> None:
|
|
243
|
248
|
clipboard = Gtk.Clipboard.get_default(Gdk.Display.get_default())
|
|
|
249
|
+ assert self._preview
|
|
244
|
250
|
clipboard.set_text(self._preview.uri, -1)
|
|
245
|
251
|
|
|
246
|
252
|
def _on_open_link_in_browser(self, _menu: Gtk.Menu) -> None:
|
|
|
253
|
+ assert self._preview
|
|
247
|
254
|
if self._preview.is_aes_encrypted:
|
|
248
|
255
|
if self._preview.is_geo_uri:
|
|
249
|
256
|
open_uri(self._preview.uri)
|
|
250
|
257
|
return
|
|
|
258
|
+ assert self._preview.orig_path
|
|
251
|
259
|
open_file(self._preview.orig_path)
|
|
252
|
260
|
else:
|
|
253
|
261
|
open_uri(self._preview.uri)
|
| ... |
... |
@@ -268,4 +276,6 @@ def _on_button_press_event(self, |
|
268
|
276
|
|
|
269
|
277
|
@staticmethod
|
|
270
|
278
|
def _on_realize(event_box: Gtk.EventBox) -> None:
|
|
271
|
|
- event_box.get_window().set_cursor(get_cursor('pointer'))
|
|
|
279
|
+ window = event_box.get_window()
|
|
|
280
|
+ assert window
|
|
|
281
|
+ window.set_cursor(get_cursor('pointer'))
|