Class: Y2Network::Widgets::Driver

Inherits:
CWM::CustomWidget
  • Object
show all
Includes:
Yast::Logger
Defined in:
src/lib/y2network/widgets/driver.rb

Overview

Widget to select the driver and to specify its options

Instance Method Summary collapse

Constructor Details

#initialize(builder) ⇒ Driver

Returns a new instance of Driver.



31
32
33
34
35
36
# File 'src/lib/y2network/widgets/driver.rb', line 31

def initialize(builder)
  super()
  textdomain "network"
  @builder = builder
  self.handle_all_events = true
end

Instance Method Details

#contentsObject



38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
# File 'src/lib/y2network/widgets/driver.rb', line 38

def contents
  Frame(
    _("&Kernel Module"),
    HBox(
      HSpacing(0.5),
      VBox(
        VSpacing(0.4),
        HBox(
          kernel_module_widget,
          HSpacing(0.5),
          kernel_options_widget
        ),
        VSpacing(0.4)
      ),
      HSpacing(0.5)
    )
  )
end

#handle(event) ⇒ Object



61
62
63
64
65
66
67
68
69
70
71
72
73
74
# File 'src/lib/y2network/widgets/driver.rb', line 61

def handle(event)
  return unless event["ID"] == "kernel_module" && event["EventReason"] == "ValueChanged"
  return nil if @old_kernel_module == kernel_module_widget.value

  if kernel_module_widget.value == :auto
    disable_kernel_options
  else
    enable_kernel_options
  end

  @old_kernel_module = kernel_module_widget.value

  nil
end

#initObject



57
58
59
# File 'src/lib/y2network/widgets/driver.rb', line 57

def init
  disable_kernel_options if @builder.driver == :auto
end

#storeObject



76
77
78
79
80
81
82
83
# File 'src/lib/y2network/widgets/driver.rb', line 76

def store
  @builder.driver =
    if kernel_module_widget.value == :auto
      :auto
    else
      Y2Network::Driver.new(kernel_module_widget.value, kernel_options_widget.value)
    end
end