FXRuby FXFileDialog каталог по умолчанию
В FXRuby; как мне установить FXFileDialog
быть в домашнем каталоге, когда он открывается?
1 ответ
Решение
Вот очень ленивый способ сделать это:
#!/usr/bin/ruby
require 'rubygems'
require 'fox16'
include Fox
theApp = FXApp.new
theMainWindow = FXMainWindow.new(theApp, "Hello")
theButton = FXButton.new(theMainWindow, "Hello, World!")
theButton.tipText = "Push Me!"
iconFile = File.open("icon.jpg", "rb")
theButton.icon = FXJPGIcon.new(theApp, iconFile.read)
theButton.iconPosition = ICON_ABOVE_TEXT
iconFile.close
theButton.connect(SEL_COMMAND) {
fileToOpen = FXFileDialog.getOpenFilename(theMainWindow, "window name goes here", `echo $HOME`.chomp + "/")
}
FXToolTip.new(theApp)
theApp.create
theMainWindow.show
theApp.run
Это зависит от того, используете ли вы *nix box (или если установлена переменная окружения $HOME). Строки, которые конкретно отвечают на ваш вопрос:
theButton.connect(SEL_COMMAND) {
fileToOpen = FXFileDialog.getOpenFilename(theMainWindow, "window name goes here", `echo $HOME`.chomp + "/")
}
Здесь первый аргумент - это окно, которому принадлежит диалоговое окно, второй - это заголовок окна, а третий - путь по умолчанию, с которого нужно начинать (в конце нужен символ "/", иначе он запустит каталог выше при выбранной домашней папке пользователя). Проверьте эту ссылку для получения дополнительной информации о FXFileDialog.