Class: Configuration

Inherits:
ConfigurationDlg show all
Defined in:
lib/Configuration.rb

Instance Attribute Summary

Attributes inherited from ConfigurationDlg

#Widget8, #Widget9, #browserCommand, #cancelBtn, #dnsEntries, #dnsResolverCB, #dnsTimeout, #editLogBtn, #geolocEntries, #geolocHost, #geolocPort, #geolocTimeout, #geolocatorCB, #groupBox14, #groupBox15, #groupBox16, #logFileDataTimeout, #logFileEntries, #logList, #newLogBtn, #okBtn, #removeLogBtn, #tabWidget, #textLabel1, #textLabel10, #textLabel11, #textLabel13, #textLabel14, #textLabel17, #textLabel18, #textLabel1_2, #textLabel2, #textLabel3, #textLabel6, #textLabel7, #textLabel8, #textLabel9, #traceEntries, #traceRouteTimeout, #traceRouterCB

Instance Method Summary collapse

Constructor Details

#initialize(parent = nil, name = nil) ⇒ Configuration

Returns a new instance of Configuration.



20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
# File 'lib/Configuration.rb', line 20

def initialize(parent = nil, name = nil)
  super(parent)

  connect(@logList, SIGNAL('selectionChanged(QListViewItem*)'),
      SLOT('selectionChanged(QListViewItem*)'))
  connect(@logList, SIGNAL('clicked(QListViewItem*)'),
      SLOT('itemClicked(QListViewItem*)'))

  # Server log tab values
  @logListCSLV = CSListView.new(@logList)
  @logList.setSorting(1, true)

  @logSettings = Array.new($globals.serverLogFiles)
  @logSettings.each { |ls| @logListCSLV.insertItem(ls, ls.name ) }
  enableEditButtons(false)

  # Other settings
  @browserCommand.text = $globals.getSetting('BrowserCommand')
  @logFileDataTimeout.value = $globals.getSetting('LogFileDataTimeout')
  @logFileEntries.text = "%d" % $hitRecords.size
  @dnsTimeout.value = $globals.getSetting('DNSTimeout')
  @dnsEntries.text = "%d" % $resolver.cacheSize
  @dnsResolverCB.checked = $globals.getSetting('DNSResolver')
  @geolocTimeout.value = $globals.getSetting('GeolocTimeout')
  @geolocEntries.text = "%d" % $geoLocator.cacheSize
  @geolocatorCB.checked = $globals.getSetting('Geolocator')
  @traceRouteTimeout.value = $globals.getSetting('TracerTimeout')
  @traceEntries.text = "%d" % $traceRouter.cacheSize
  @traceRouterCB.checked = $globals.getSetting('TraceRouter')
  @geolocHost.text = $globals.getSetting('GeolocHost')
  @geolocPort.value = $globals.getSetting('GeolocPort')

  show
end

Instance Method Details

#editLogBtnClickedObject



63
64
65
66
67
68
69
# File 'lib/Configuration.rb', line 63

def editLogBtnClicked
  return unless @logList.selectedItem
  settings = @logListCSLV.selectedItemList[0]
  if ServerLogSettings.new(settings, self).exec() == Qt::Dialog.Accepted
    @logList.selectedItem.setText(0, settings.name)
  end
end

#itemClicked(item) ⇒ Object



111
112
113
# File 'lib/Configuration.rb', line 111

def itemClicked(item)
  enableEditButtons(false) unless item
end

#newLogBtnClickedObject



55
56
57
58
59
60
61
# File 'lib/Configuration.rb', line 55

def newLogBtnClicked
  settings = GSServerLogSettings.new
  if ServerLogSettings.new(settings, self).exec() == Qt::Dialog.Accepted
    @logSettings << settings
    @logListCSLV.insertItem(settings, settings.name)
  end
end

#okBtnClickedObject



85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
# File 'lib/Configuration.rb', line 85

def okBtnClicked
  # Server log tab values
  $globals.serverLogFiles = @logSettings

  # Other settings
  $globals.setSetting('BrowserCommand', @browserCommand.text)
  $globals.setSetting('LogFileDataTimeout', @logFileDataTimeout.value)
  $globals.setSetting('DNSTimeout', @dnsTimeout.value)
  $globals.setSetting('DNSResolver', @dnsResolverCB.isChecked)
  $resolver.enabled = @dnsResolverCB.isChecked
  $globals.setSetting('GeolocTimeout', @geolocTimeout.value)
  $globals.setSetting('Geolocator', @geolocatorCB.isChecked)
  $geoLocator.enabled = @geolocatorCB.isChecked
  $globals.setSetting('TracerTimeout', @traceRouteTimeout.value)
  $globals.setSetting('TraceRouter', @traceRouterCB.isChecked)
  $traceRouter.enabled = @traceRouterCB.isChecked
  $globals.setSetting('GeolocHost', @geolocHost.text)
  $globals.setSetting('GeolocPort', @geolocPort.value)

  accept
end

#removeLogBtnClickedObject



71
72
73
74
75
76
77
78
79
80
81
82
83
# File 'lib/Configuration.rb', line 71

def removeLogBtnClicked
  return unless @logList.selectedItem

  if @logListCSLV.selectedItem == $globals.currentLogFile
    Qt::MessageBox.warning(self, "Illegal action",
        "You cannot remove the active log file", Qt::MessageBox.Ok, 0)
    return
  end

  @logSettings.delete(@logListCSLV.selectedItem)
  @logListCSLV.deleteItem(@logListCSLV.selectedItem)
  enableEditButtons(false) unless @logList.selectedItem
end

#selectionChanged(item) ⇒ Object



107
108
109
# File 'lib/Configuration.rb', line 107

def selectionChanged(item)
  enableEditButtons(true)
end