class MonitorLastUsedDir

receives messages and tracks the by Roger D. Pack

Public Class Methods

get_last_dir() click to toggle source
# File lib/a-core.rb, line 4419
def self.get_last_dir
  current = $arcadia['pers']['last.used.dir']
  if current != nil && current != ''
    current
  else
    $pwd # startup dir
  end
end
new() click to toggle source
# File lib/a-core.rb, line 4398
def initialize
  for event in [SaveBufferEvent, AckInFilesEvent, SearchInFilesEvent, OpenBufferEvent] do
    Arcadia.attach_listener(self, event)
  end
end
set_last(to_this) click to toggle source
# File lib/a-core.rb, line 4428
def MonitorLastUsedDir.set_last to_this # TODO set as private...
  return if to_this.nil? or to_this == ''
  if(File.directory?(to_this))
    to_this_dir = to_this
  elsif File.directory? File.dirname(to_this)
    # filename,
    to_this_dir = File.dirname(to_this)
  end
  $arcadia['pers']['last.used.dir'] = File.expand_path(to_this_dir)
end

Public Instance Methods

on_after_ack_in_files(_event) click to toggle source
# File lib/a-core.rb, line 4408
def on_after_ack_in_files _event
  MonitorLastUsedDir.set_last _event.dir
end
Also aliased as: on_after_search_in_files
on_after_open_buffer(_event) click to toggle source

we want this one…but…not at startup time…hmm.

# File lib/a-core.rb, line 4413
def on_after_open_buffer _event
  MonitorLastUsedDir.set_last _event.file
end
on_after_save_as_buffer(_event) click to toggle source
# File lib/a-core.rb, line 4404
def on_after_save_as_buffer(_event)
  MonitorLastUsedDir.set_last _event.new_file
end
on_after_search_in_files(_event)