Class: Y2Network::Widgets::WirelessNetworks
- Inherits:
-
CWM::Table
- Object
- CWM::Table
- Y2Network::Widgets::WirelessNetworks
- Defined in:
- src/lib/y2network/widgets/wireless_networks.rb
Overview
This class
Instance Attribute Summary collapse
-
#selected ⇒ Object
readonly
Returns the value of attribute selected.
Instance Method Summary collapse
-
#header ⇒ Array<String>
Returns table headers.
- #init ⇒ Object
-
#initialize(builder, networks = []) ⇒ WirelessNetworks
constructor
Constructor.
-
#items ⇒ Array<Array<String>>
Returns table items.
- #store ⇒ Object
-
#update(networks) ⇒ Object
Updates the list of networks.
Constructor Details
#initialize(builder, networks = []) ⇒ WirelessNetworks
Constructor
33 34 35 36 37 |
# File 'src/lib/y2network/widgets/wireless_networks.rb', line 33 def initialize(builder, networks = []) textdomain "network" @networks = networks @builder = builder end |
Instance Attribute Details
#selected ⇒ Object (readonly)
Returns the value of attribute selected.
27 28 29 |
# File 'src/lib/y2network/widgets/wireless_networks.rb', line 27 def selected @selected end |
Instance Method Details
#header ⇒ Array<String>
Returns table headers
56 57 58 |
# File 'src/lib/y2network/widgets/wireless_networks.rb', line 56 def header [_("ESSID"), _("Mode"), _("Channel"), _("Rate"), _("Signal"), _("Authentication")] end |
#init ⇒ Object
40 41 42 43 44 45 46 47 48 49 50 51 |
# File 'src/lib/y2network/widgets/wireless_networks.rb', line 40 def init self.value = @builder.essid if @builder.essid if value.nil? first_essid = @networks.map(&:essid).min self.value = first_essid if first_essid end # FIXME: the dialog does not implement this method, so we need to set the focus # within the widget. We should find a better way. focus end |
#items ⇒ Array<Array<String>>
Returns table items
Each item corresponds to a wireless network.
65 66 67 68 69 70 71 72 73 74 75 76 77 |
# File 'src/lib/y2network/widgets/wireless_networks.rb', line 65 def items @networks.map do |network| [ network.essid, network.essid, network.mode, network.channel, network.rates.max.to_s, network.quality ? "#{network.quality}%" : "", network.auth_mode&.to_human_string ] end end |
#store ⇒ Object
90 91 92 |
# File 'src/lib/y2network/widgets/wireless_networks.rb', line 90 def store @selected = @networks.find { |n| n.essid == value } end |
#update(networks) ⇒ Object
Updates the list of networks
82 83 84 85 86 87 |
# File 'src/lib/y2network/widgets/wireless_networks.rb', line 82 def update(networks) @networks = networks old_value = Yast::UI.QueryWidget(Id(), :SelectedItems) change_items(items) self.value = old_value if old_value end |