Split console options into two panes - interface and columns
This commit is contained in:
parent
31dd1be090
commit
4a58e339cb
|
@ -310,16 +310,29 @@ class BandwidthPane(BasePane):
|
|||
class InterfacePane(BasePane):
|
||||
def __init__(self, offset, parent, width):
|
||||
BasePane.__init__(self,offset,parent,width)
|
||||
self.add_header("General")
|
||||
self.add_header("General options", False)
|
||||
|
||||
self.add_checked_input("ring_bell","Ring system bell when a download finishes",parent.console_config["ring_bell"])
|
||||
|
||||
self.add_header("New Console UI", True)
|
||||
|
||||
self.add_checked_input("separate_complete","List complete torrents after incomplete regardless of sorting order",parent.console_config["separate_complete"])
|
||||
self.add_checked_input("move_selection","Move selection when moving torrents in the queue",parent.console_config["move_selection"])
|
||||
|
||||
self.add_header("Legacy Mode", True)
|
||||
|
||||
self.add_checked_input("ignore_duplicate_lines","Do not store duplicate input in history",parent.console_config["ignore_duplicate_lines"])
|
||||
self.add_checked_input("move_selection","Move selection when moving torrents in the queue",parent.console_config["move_selection"])
|
||||
self.add_checked_input("third_tab_lists_all","Third tab lists all remaining torrents in legacy mode",parent.console_config["third_tab_lists_all"])
|
||||
self.add_int_spin_input("torrents_per_tab_press","Torrents per tab press",parent.console_config["torrents_per_tab_press"], 5, 100)
|
||||
self.add_checked_input("ring_bell","Ring system bell when a download finishes",parent.console_config["ring_bell"])
|
||||
self.add_checked_input("save_legacy_history","Store and load command line history in Legacy mode",parent.console_config["save_legacy_history"])
|
||||
|
||||
self.add_header("", False)
|
||||
|
||||
self.add_checked_input("third_tab_lists_all","Third tab lists all remaining torrents in legacy mode",parent.console_config["third_tab_lists_all"])
|
||||
self.add_int_spin_input("torrents_per_tab_press","Torrents per tab press",parent.console_config["torrents_per_tab_press"], 5, 100)
|
||||
|
||||
|
||||
class ColumnsPane(BasePane):
|
||||
def __init__(self, offset, parent, width):
|
||||
BasePane.__init__(self,offset,parent,width)
|
||||
self.add_header("Columns To Display", True)
|
||||
|
||||
default_prefs = deluge.ui.console.modes.alltorrents.DEFAULT_PREFS
|
||||
|
|
|
@ -39,7 +39,8 @@ from deluge.ui.client import client
|
|||
from basemode import BaseMode
|
||||
from input_popup import Popup,SelectInput
|
||||
|
||||
from preference_panes import DownloadsPane,NetworkPane,BandwidthPane,InterfacePane
|
||||
from preference_panes import DownloadsPane,NetworkPane,BandwidthPane
|
||||
from preference_panes import InterfacePane, ColumnsPane
|
||||
from preference_panes import OtherPane,DaemonPane,QueuePane,ProxyPane,CachePane
|
||||
|
||||
from collections import deque
|
||||
|
@ -108,7 +109,7 @@ class Preferences(BaseMode):
|
|||
def __init__(self, parent_mode, core_config, console_config, active_port, status, stdscr, encoding=None):
|
||||
self.parent_mode = parent_mode
|
||||
self.categories = [_("Downloads"), _("Network"), _("Bandwidth"),
|
||||
_("Interface"), _("Other"), _("Daemon"), _("Queue"), _("Proxy"),
|
||||
_("Interface"), _("Columns"), _("Other"), _("Daemon"), _("Queue"), _("Proxy"),
|
||||
_("Cache")] # , _("Plugins")]
|
||||
self.cur_cat = 0
|
||||
self.popup = None
|
||||
|
@ -135,6 +136,7 @@ class Preferences(BaseMode):
|
|||
NetworkPane(self.div_off+2, self, self.prefs_width),
|
||||
BandwidthPane(self.div_off+2, self, self.prefs_width),
|
||||
InterfacePane(self.div_off+2, self, self.prefs_width),
|
||||
ColumnsPane(self.div_off+2, self, self.prefs_width),
|
||||
OtherPane(self.div_off+2, self, self.prefs_width),
|
||||
DaemonPane(self.div_off+2, self, self.prefs_width),
|
||||
QueuePane(self.div_off+2, self, self.prefs_width),
|
||||
|
@ -202,7 +204,7 @@ class Preferences(BaseMode):
|
|||
def __apply_prefs(self):
|
||||
new_core_config = {}
|
||||
for pane in self.panes:
|
||||
if not isinstance(pane,InterfacePane):
|
||||
if not isinstance(pane,InterfacePane) and not isinstance(pane, ColumnsPane):
|
||||
pane.add_config_values(new_core_config)
|
||||
# Apply Core Prefs
|
||||
if client.connected():
|
||||
|
@ -226,7 +228,7 @@ class Preferences(BaseMode):
|
|||
for pane in self.panes:
|
||||
# could just access panes by index, but that would break if panes
|
||||
# are ever reordered, so do it the slightly slower but safer way
|
||||
if isinstance(pane,InterfacePane):
|
||||
if isinstance(pane,InterfacePane) or isinstance(pane, ColumnsPane):
|
||||
pane.add_config_values(new_console_config)
|
||||
for key in new_console_config.keys():
|
||||
# The values do not match so this needs to be updated
|
||||
|
|
Loading…
Reference in New Issue