Class: DownloadedTable
- Inherits:
-
Qt::TableWidget
- Object
- Qt::TableWidget
- 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.
25 26 27 28 29 30 31 32 33 34 35 36 37 |
# File 'lib/downloadedwin.rb', line 25 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
39 40 41 42 43 44 45 |
# File 'lib/downloadedwin.rb', line 39 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
68 69 70 |
# File 'lib/downloadedwin.rb', line 68 def currentGem gemAtRow(currentRow) end |
#filterChanged(text) ⇒ Object
79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 |
# File 'lib/downloadedwin.rb', line 79 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
60 61 62 |
# File 'lib/downloadedwin.rb', line 60 def gem(item) gemAtRow(item.row) end |
#gemAtRow(row) ⇒ Object
64 65 66 |
# File 'lib/downloadedwin.rb', line 64 def gemAtRow(row) @fetchedGems[item(row,0)] # use 0 column item as hash key. end |
#showall ⇒ Object
72 73 74 75 76 |
# File 'lib/downloadedwin.rb', line 72 def showall rowCount.times do |r| showRow(r) end end |
#updateGemList(gemList) ⇒ Object
47 48 49 50 51 52 53 54 55 56 57 58 |
# File 'lib/downloadedwin.rb', line 47 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 |