Class: DownloadedTable
- Defined in:
- lib/downloadedwin.rb
Defined Under Namespace
Classes: Item
Instance Method Summary collapse
- #addPackage(row, fetchedGem) ⇒ Object
- #currentGem ⇒ Object
- #filterChanged(text) ⇒ Object
- #gem(item) ⇒ Object
- #gemAtRow(row) ⇒ Object
-
#initialize ⇒ DownloadedTable
constructor
A new instance of DownloadedTable.
- #showall ⇒ Object
- #updateGemList(gemList) ⇒ Object
Constructor Details
#initialize ⇒ DownloadedTable
Returns a new instance of DownloadedTable.
27 28 29 30 31 32 33 34 35 36 37 38 39 |
# File 'lib/downloadedwin.rb', line 27 def initialize super(0,3) self.windowTitle = i18n('Search Result') setHorizontalHeaderLabels(['file name', 'directory', 'installed']) self.horizontalHeader.stretchLastSection = true self.selectionBehavior = Qt::AbstractItemView::SelectRows self.selectionMode = Qt::AbstractItemView::SingleSelection self.alternatingRowColors = true self.sortingEnabled = true sortByColumn(0, Qt::AscendingOrder) @fetchedGems = {} end |
Instance Method Details
#addPackage(row, fetchedGem) ⇒ Object
41 42 43 44 45 46 47 |
# File 'lib/downloadedwin.rb', line 41 def addPackage(row, fetchedGem) nameItem = Item.new(fetchedGem.fileName) @fetchedGems[nameItem] = fetchedGem # 0 column item is hash key. setItem( row, 0, nameItem ) setItem( row, 1, Item.new(fetchedGem.directory) ) setItem( row, 2, Item.new(fetchedGem.installed_str) ) end |
#currentGem ⇒ Object
70 71 72 |
# File 'lib/downloadedwin.rb', line 70 def currentGem gemAtRow(currentRow) end |
#filterChanged(text) ⇒ Object
81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 |
# File 'lib/downloadedwin.rb', line 81 def filterChanged(text) unless text && !text.empty? showall return end regxs = /#{Regexp.escape(text.strip)}/i rowCount.times do |r| txt = item(r,0).text.gsub(/\.gem$/, '') if regxs =~ txt then showRow(r) else hideRow(r) end end end |
#gem(item) ⇒ Object
62 63 64 |
# File 'lib/downloadedwin.rb', line 62 def gem(item) gemAtRow(item.row) end |
#gemAtRow(row) ⇒ Object
66 67 68 |
# File 'lib/downloadedwin.rb', line 66 def gemAtRow(row) @fetchedGems[item(row,0)] # use 0 column item as hash key. end |
#showall ⇒ Object
74 75 76 77 78 |
# File 'lib/downloadedwin.rb', line 74 def showall rowCount.times do |r| showRow(r) end end |
#updateGemList(gemList) ⇒ Object
49 50 51 52 53 54 55 56 57 58 59 60 |
# File 'lib/downloadedwin.rb', line 49 def updateGemList(gemList) sortFlag = self.sortingEnabled self.sortingEnabled = false clearContents self.rowCount = gemList.length gemList.each_with_index do |g,r| addPackage(r, g) end self.sortingEnabled = sortFlag end |