mirror of
https://git.deluge-torrent.org/deluge
synced 2025-08-03 23:18:40 +00:00
Flake8'd gtkui/path_combo_chooser
This commit is contained in:
parent
a47b1a28f4
commit
3b79be04bc
1 changed files with 46 additions and 35 deletions
|
@ -42,6 +42,7 @@ from gtk import gdk, keysyms
|
||||||
|
|
||||||
from deluge.path_chooser_common import get_resource, get_completion_paths
|
from deluge.path_chooser_common import get_resource, get_completion_paths
|
||||||
|
|
||||||
|
|
||||||
def is_ascii_value(keyval, ascii_key):
|
def is_ascii_value(keyval, ascii_key):
|
||||||
try:
|
try:
|
||||||
# Set show/hide hidden files
|
# Set show/hide hidden files
|
||||||
|
@ -52,21 +53,27 @@ def is_ascii_value(keyval, ascii_key):
|
||||||
pass
|
pass
|
||||||
return False
|
return False
|
||||||
|
|
||||||
|
|
||||||
def key_is_up(keyval):
|
def key_is_up(keyval):
|
||||||
return keyval == keysyms.Up or keyval == keysyms.KP_Up
|
return keyval == keysyms.Up or keyval == keysyms.KP_Up
|
||||||
|
|
||||||
|
|
||||||
def key_is_down(keyval):
|
def key_is_down(keyval):
|
||||||
return keyval == keysyms.Down or keyval == keysyms.KP_Down
|
return keyval == keysyms.Down or keyval == keysyms.KP_Down
|
||||||
|
|
||||||
|
|
||||||
def key_is_up_or_down(keyval):
|
def key_is_up_or_down(keyval):
|
||||||
return key_is_up(keyval) or key_is_down(keyval)
|
return key_is_up(keyval) or key_is_down(keyval)
|
||||||
|
|
||||||
|
|
||||||
def key_is_pgup_or_pgdown(keyval):
|
def key_is_pgup_or_pgdown(keyval):
|
||||||
return keyval == keysyms.Page_Down or keyval == keysyms.Page_Up
|
return keyval == keysyms.Page_Down or keyval == keysyms.Page_Up
|
||||||
|
|
||||||
|
|
||||||
def key_is_enter(keyval):
|
def key_is_enter(keyval):
|
||||||
return keyval == keysyms.Return or keyval == keysyms.KP_Enter
|
return keyval == keysyms.Return or keyval == keysyms.KP_Enter
|
||||||
|
|
||||||
|
|
||||||
def path_without_trailing_path_sep(path):
|
def path_without_trailing_path_sep(path):
|
||||||
while path.endswith("/") or path.endswith("\\"):
|
while path.endswith("/") or path.endswith("\\"):
|
||||||
if path == "/":
|
if path == "/":
|
||||||
|
@ -74,6 +81,7 @@ def path_without_trailing_path_sep(path):
|
||||||
path = path[0:-1]
|
path = path[0:-1]
|
||||||
return path
|
return path
|
||||||
|
|
||||||
|
|
||||||
class ValueList(object):
|
class ValueList(object):
|
||||||
|
|
||||||
paths_without_trailing_path_sep = False
|
paths_without_trailing_path_sep = False
|
||||||
|
@ -313,8 +321,7 @@ class ValueList(object):
|
||||||
if swap:
|
if swap:
|
||||||
p1 = self.tree_store[path][0]
|
p1 = self.tree_store[path][0]
|
||||||
p2 = self.tree_store[new_path][0]
|
p2 = self.tree_store[new_path][0]
|
||||||
self.tree_store.swap(self.tree_store.get_iter(path),
|
self.tree_store.swap(self.tree_store.get_iter(path), self.tree_store.get_iter(new_path))
|
||||||
self.tree_store.get_iter(new_path))
|
|
||||||
self.emit("list-values-reordered", [p1, p2])
|
self.emit("list-values-reordered", [p1, p2])
|
||||||
self.emit("list-values-changed", self.get_values())
|
self.emit("list-values-changed", self.get_values())
|
||||||
path = new_path
|
path = new_path
|
||||||
|
@ -324,6 +331,7 @@ class ValueList(object):
|
||||||
if set_entry:
|
if set_entry:
|
||||||
self.set_entry_value(path)
|
self.set_entry_value(path)
|
||||||
|
|
||||||
|
|
||||||
class StoredValuesList(ValueList):
|
class StoredValuesList(ValueList):
|
||||||
|
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
|
@ -397,6 +405,7 @@ class StoredValuesList(ValueList):
|
||||||
|
|
||||||
def on_edit_clicked(widget, path):
|
def on_edit_clicked(widget, path):
|
||||||
self.on_edit_path(path, self.tree_column)
|
self.on_edit_path(path, self.tree_column)
|
||||||
|
|
||||||
def on_remove_clicked(widget, path):
|
def on_remove_clicked(widget, path):
|
||||||
self.remove_selected_path()
|
self.remove_selected_path()
|
||||||
|
|
||||||
|
@ -410,7 +419,6 @@ class StoredValuesList(ValueList):
|
||||||
# Resize popup
|
# Resize popup
|
||||||
PathChooserPopup.popup(self)
|
PathChooserPopup.popup(self)
|
||||||
|
|
||||||
|
|
||||||
def on_stored_values_treeview_key_press_event(self, widget, event):
|
def on_stored_values_treeview_key_press_event(self, widget, event):
|
||||||
super(StoredValuesList, self).on_value_list_treeview_key_press_event(widget, event)
|
super(StoredValuesList, self).on_value_list_treeview_key_press_event(widget, event)
|
||||||
# Prevent the default event handler to move the cursor in the list
|
# Prevent the default event handler to move the cursor in the list
|
||||||
|
@ -426,7 +434,6 @@ class StoredValuesList(ValueList):
|
||||||
|
|
||||||
"""
|
"""
|
||||||
keyval = event.keyval
|
keyval = event.keyval
|
||||||
state = event.state & gtk.accelerator_get_default_mod_mask()
|
|
||||||
ctrl = event.state & gtk.gdk.CONTROL_MASK
|
ctrl = event.state & gtk.gdk.CONTROL_MASK
|
||||||
|
|
||||||
# Edit selected row
|
# Edit selected row
|
||||||
|
@ -460,6 +467,7 @@ class StoredValuesList(ValueList):
|
||||||
self.edit_selected_path()
|
self.edit_selected_path()
|
||||||
return True
|
return True
|
||||||
|
|
||||||
|
|
||||||
class CompletionList(ValueList):
|
class CompletionList(ValueList):
|
||||||
|
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
|
@ -512,12 +520,12 @@ class CompletionList(ValueList):
|
||||||
else:
|
else:
|
||||||
x = event.x
|
x = event.x
|
||||||
y = event.y
|
y = event.y
|
||||||
state = event.state
|
|
||||||
|
|
||||||
path = self.treeview.get_path_at_pos(int(x), int(y))
|
path = self.treeview.get_path_at_pos(int(x), int(y))
|
||||||
if path:
|
if path:
|
||||||
self.handle_list_scroll(path=path[0], next=None)
|
self.handle_list_scroll(path=path[0], next=None)
|
||||||
|
|
||||||
|
|
||||||
class PathChooserPopup(object):
|
class PathChooserPopup(object):
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
@ -665,7 +673,7 @@ class PathChooserPopup(object):
|
||||||
if gdk.keyboard_grab(self.popup_window.window, True, activate_time) == 0:
|
if gdk.keyboard_grab(self.popup_window.window, True, activate_time) == 0:
|
||||||
return True
|
return True
|
||||||
else:
|
else:
|
||||||
self.popup_window.window.get_display().pointer_ungrab(activate_time);
|
self.popup_window.window.get_display().pointer_ungrab(activate_time)
|
||||||
return False
|
return False
|
||||||
return False
|
return False
|
||||||
|
|
||||||
|
@ -852,6 +860,7 @@ class StoredValuesPopup(StoredValuesList, PathChooserPopup):
|
||||||
if self.default_text:
|
if self.default_text:
|
||||||
self.set_text(self.default_text, trigger_event=True)
|
self.set_text(self.default_text, trigger_event=True)
|
||||||
|
|
||||||
|
|
||||||
class PathCompletionPopup(CompletionList, PathChooserPopup):
|
class PathCompletionPopup(CompletionList, PathChooserPopup):
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
@ -924,6 +933,7 @@ class PathCompletionPopup(CompletionList, PathChooserPopup):
|
||||||
self.handle_list_scroll(path=path[0], next=None)
|
self.handle_list_scroll(path=path[0], next=None)
|
||||||
return True
|
return True
|
||||||
|
|
||||||
|
|
||||||
class PathAutoCompleter(object):
|
class PathAutoCompleter(object):
|
||||||
|
|
||||||
def __init__(self, builder, path_entry, max_visible_rows):
|
def __init__(self, builder, path_entry, max_visible_rows):
|
||||||
|
@ -937,7 +947,8 @@ class PathAutoCompleter(object):
|
||||||
self.signal_handlers["on_completion_popup_window_key_press_event"] = \
|
self.signal_handlers["on_completion_popup_window_key_press_event"] = \
|
||||||
self.on_completion_popup_window_key_press_event
|
self.on_completion_popup_window_key_press_event
|
||||||
# We must set the signal handler here to get the handler ID.
|
# We must set the signal handler here to get the handler ID.
|
||||||
self.text_entry_delete_handler_id = self.path_entry.text_entry.connect("delete-text", self.on_entry_text_delete_text)
|
self.text_entry_delete_handler_id = \
|
||||||
|
self.path_entry.text_entry.connect("delete-text", self.on_entry_text_delete_text)
|
||||||
self.signal_handlers["on_entry_text_insert_text"] = \
|
self.signal_handlers["on_entry_text_insert_text"] = \
|
||||||
self.on_entry_text_insert_text
|
self.on_entry_text_insert_text
|
||||||
self.accelerator_string = gtk.accelerator_name(keysyms.Tab, 0)
|
self.accelerator_string = gtk.accelerator_name(keysyms.Tab, 0)
|
||||||
|
@ -960,7 +971,6 @@ class PathAutoCompleter(object):
|
||||||
"""
|
"""
|
||||||
if self.completion_popup.is_popped_up():
|
if self.completion_popup.is_popped_up():
|
||||||
cur_text = self.path_entry.get_text()
|
cur_text = self.path_entry.get_text()
|
||||||
pos = entry.get_position()
|
|
||||||
new_complete_text = cur_text[:start] + cur_text[end:]
|
new_complete_text = cur_text[:start] + cur_text[end:]
|
||||||
self.do_completion(value=new_complete_text, forward_completion=False)
|
self.do_completion(value=new_complete_text, forward_completion=False)
|
||||||
|
|
||||||
|
@ -1021,6 +1031,7 @@ class PathAutoCompleter(object):
|
||||||
elif self.completion_popup.is_popped_up() and args["forward_completion"]:
|
elif self.completion_popup.is_popped_up() and args["forward_completion"]:
|
||||||
self.completion_popup.popdown()
|
self.completion_popup.popdown()
|
||||||
|
|
||||||
|
|
||||||
class PathChooserComboBox(gtk.HBox, StoredValuesPopup, gobject.GObject):
|
class PathChooserComboBox(gtk.HBox, StoredValuesPopup, gobject.GObject):
|
||||||
|
|
||||||
__gsignals__ = {
|
__gsignals__ = {
|
||||||
|
@ -1108,7 +1119,8 @@ class PathChooserComboBox(gtk.HBox, StoredValuesPopup, gobject.GObject):
|
||||||
self.tooltips.set_tip(self.combo_hbox, text)
|
self.tooltips.set_tip(self.combo_hbox, text)
|
||||||
if default_text:
|
if default_text:
|
||||||
self.default_text = text
|
self.default_text = text
|
||||||
self.tooltips.set_tip(self.button_default, "Restore the default value in the text entry:\n%s" % self.default_text)
|
self.tooltips.set_tip(self.button_default,
|
||||||
|
"Restore the default value in the text entry:\n%s" % self.default_text)
|
||||||
self.button_default.set_sensitive(True)
|
self.button_default.set_sensitive(True)
|
||||||
# Set text for the filechooser dialog button
|
# Set text for the filechooser dialog button
|
||||||
folder_name = ""
|
folder_name = ""
|
||||||
|
@ -1344,7 +1356,6 @@ class PathChooserComboBox(gtk.HBox, StoredValuesPopup, gobject.GObject):
|
||||||
return True
|
return True
|
||||||
return False
|
return False
|
||||||
|
|
||||||
|
|
||||||
def _on_button_toggle_dropdown_toggled(self, button):
|
def _on_button_toggle_dropdown_toggled(self, button):
|
||||||
"""
|
"""
|
||||||
Shows the popup when clicking the toggle button.
|
Shows the popup when clicking the toggle button.
|
||||||
|
@ -1394,7 +1405,6 @@ class PathChooserComboBox(gtk.HBox, StoredValuesPopup, gobject.GObject):
|
||||||
|
|
||||||
def _setup_config_dialog(self):
|
def _setup_config_dialog(self):
|
||||||
self.config_dialog = self.builder.get_object("completion_config_dialog")
|
self.config_dialog = self.builder.get_object("completion_config_dialog")
|
||||||
close_button = self.builder.get_object("config_dialog_button_close")
|
|
||||||
self.enable_completion = self.builder.get_object("enable_auto_completion_checkbutton")
|
self.enable_completion = self.builder.get_object("enable_auto_completion_checkbutton")
|
||||||
self.show_filechooser_checkbutton = self.builder.get_object("show_filechooser_checkbutton")
|
self.show_filechooser_checkbutton = self.builder.get_object("show_filechooser_checkbutton")
|
||||||
self.show_path_entry_checkbutton = self.builder.get_object("show_path_entry_checkbutton")
|
self.show_path_entry_checkbutton = self.builder.get_object("show_path_entry_checkbutton")
|
||||||
|
@ -1520,7 +1530,7 @@ if __name__ == "__main__":
|
||||||
return "%s/glade/%s" % (os.path.abspath(os.path.dirname(sys.argv[0])), filename)
|
return "%s/glade/%s" % (os.path.abspath(os.path.dirname(sys.argv[0])), filename)
|
||||||
|
|
||||||
# Override get_resource which fetches from deluge install
|
# Override get_resource which fetches from deluge install
|
||||||
get_resource = get_resource2
|
# get_resource = get_resource2
|
||||||
|
|
||||||
entry1 = PathChooserComboBox(max_visible_rows=15)
|
entry1 = PathChooserComboBox(max_visible_rows=15)
|
||||||
entry2 = PathChooserComboBox()
|
entry2 = PathChooserComboBox()
|
||||||
|
@ -1543,7 +1553,8 @@ if __name__ == "__main__":
|
||||||
|
|
||||||
entry1.add_values(paths)
|
entry1.add_values(paths)
|
||||||
entry1.set_text("/home/bro/", default_text=True)
|
entry1.set_text("/home/bro/", default_text=True)
|
||||||
entry2.set_text("/home/bro/programmer/deluge/deluge-yarss-plugin/build/lib/yarss2/include/bs4/tests/", cursor_end=False)
|
entry2.set_text("/home/bro/programmer/deluge/deluge-yarss-plugin/build/lib/yarss2/include/bs4/tests/",
|
||||||
|
cursor_end=False)
|
||||||
|
|
||||||
entry2.set_filechooser_button_visible(False)
|
entry2.set_filechooser_button_visible(False)
|
||||||
#entry2.set_enable_properties(False)
|
#entry2.set_enable_properties(False)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue