diff --git a/app/ui/ftp.py b/app/ui/ftp.py index 474f5e8a..51f2d7b0 100644 --- a/app/ui/ftp.py +++ b/app/ui/ftp.py @@ -469,7 +469,7 @@ class FtpClientBox(Gtk.HBox): resp = "2" try: - GLib.idle_add(self._app._wait_dialog.show) + GLib.idle_add(self._app.wait_dialog.show) uris = data.get_uris() if self._settings.is_darwin and len(uris) == 1: @@ -488,7 +488,7 @@ class FtpClientBox(Gtk.HBox): else: resp = self._ftp.send_file(path.name, str(path.parent) + "/", callback=self.update_ftp_info) finally: - GLib.idle_add(self._app._wait_dialog.hide) + GLib.idle_add(self._app.wait_dialog.hide) if resp and resp[0] == "2": itr = self._ftp_model.get_iter_first() if itr: @@ -507,7 +507,7 @@ class FtpClientBox(Gtk.HBox): def on_file_drag_data_received(self, view, context, x, y, data, info, time): cur_path = self._file_model.get_value(self._file_model.get_iter_first(), self.Column.ATTR) + "/" try: - GLib.idle_add(self._app._wait_dialog.show) + GLib.idle_add(self._app.wait_dialog.show) uris = data.get_uris() if self._settings.is_darwin and len(uris) == 1: @@ -525,7 +525,7 @@ class FtpClientBox(Gtk.HBox): except OSError as e: log(e) finally: - GLib.idle_add(self._app._wait_dialog.hide) + GLib.idle_add(self._app.wait_dialog.hide) self.init_file_data(cur_path) Gtk.drag_finish(context, True, False, time) @@ -564,6 +564,10 @@ class FtpClientBox(Gtk.HBox): self.on_ftp_file_remove() elif self._file_view.is_focus(): self.on_file_remove() + elif key is KeyboardKey.RETURN: + path, column = view.get_cursor() + if path: + view.emit("row-activated", path, column) def on_view_press(self, view, event): if event.get_event_type() == Gdk.EventType.BUTTON_PRESS and event.button == Gdk.BUTTON_PRIMARY: diff --git a/app/ui/uicommons.py b/app/ui/uicommons.py index d3b3e0ba..a860a62b 100644 --- a/app/ui/uicommons.py +++ b/app/ui/uicommons.py @@ -1,3 +1,31 @@ +# -*- coding: utf-8 -*- +# +# The MIT License (MIT) +# +# Copyright (c) 2018-2021 Dmitriy Yefremov +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +# THE SOFTWARE. +# +# Author: Dmitriy Yefremov +# + + import locale import os from enum import Enum, IntEnum @@ -263,10 +291,12 @@ if IS_LINUX: LEFT = 113 RIGHT = 114 F2 = 68 + F5 = 71 F7 = 73 SPACE = 65 DELETE = 119 BACK_SPACE = 22 + RETURN = 36 CTRL_L = 37 CTRL_R = 105 # Laptop codes @@ -301,10 +331,12 @@ elif IS_DARWIN: LEFT = 123 RIGHT = 123 F2 = 120 + F5 = 96 F7 = 98 SPACE = 49 DELETE = 51 BACK_SPACE = 76 + RETURN = 36 CTRL_L = 55 CTRL_R = 55 # Laptop codes. @@ -337,10 +369,12 @@ else: LEFT = 37 RIGHT = 39 F2 = 113 + F5 = 116 F7 = 118 SPACE = 32 DELETE = 46 BACK_SPACE = 8 + RETURN = 13 CTRL_L = 17 CTRL_R = 163 # Laptop codes.