デスクトップをインクリメンタル検索するアプリ
公開日:
:
最終更新日:2014/02/05
RubyCocoa
記事内に広告を含む場合があります。記事内で紹介する商品を購入することで、当サイトに売り上げの一部が還元されることがあります。
以下のページを参考にしました。
スクリーンショット。
コードは以下の通り。
require 'osx/cocoa'
class AppController < OSX::NSObject
include OSX
ib_outlet :window, :text, :table
def initialize
@items = []
end
def awakeFromNib
controlTextDidChange(self)
end
def controlTextDidChange(note)
s = @text.stringValue.to_s
d = NSString.stringWithString('~/Desktop')
d = d.stringByExpandingTildeInPath.to_s
@items = Dir::glob(d + "/**/*#{s}*", File::FNM_CASEFOLD).map do |i|
[File.basename(i), File.dirname(i)]
end
@items.sort! {|a,b| a[0].upcase <=> b[0].upcase }
@table.reloadData
end
def numberOfRowsInTableView(sender)
@items.length
end
def tableView_objectValueForTableColumn_row(sender, col, row)
if col == @table.tableColumns.to_a[0]
@items[row][0]
else
@items[row][1]
end
end
end
関連記事
- PREV
- RubyCocoaでQuartzComposerのデモ
- NEXT
- 物体をアニメーションさせてみた