Class: InstalledGemWin
Overview
Constant Summary collapse
- GroupName =
"InstalledGemWindow"
Instance Attribute Summary collapse
-
#gemViewer ⇒ Object
Returns the value of attribute gemViewer.
Instance Method Summary collapse
- #createWidget ⇒ Object
- #generateRdoc ⇒ Object
-
#initialize(parent = nil) ⇒ InstalledGemWin
constructor
A new instance of InstalledGemWin.
- #itemClicked(item) ⇒ Object
-
#notifyInstall ⇒ Object
————————————.
- #readSettings ⇒ Object
- #setStaleTime(stales) ⇒ Object
- #testGem ⇒ Object
- #uninstallGem ⇒ Object
- #updateGem ⇒ Object
- #updateInstalledGemList ⇒ Object
- #viewDir ⇒ Object
- #viewRdoc ⇒ Object
- #writeSettings ⇒ Object
Constructor Details
#initialize(parent = nil) ⇒ InstalledGemWin
Returns a new instance of InstalledGemWin.
136 137 138 139 140 141 142 143 |
# File 'lib/installedwin.rb', line 136 def initialize(parent=nil) super(parent) createWidget readSettings Qt::Timer.singleShot(0, self, SLOT(:updateInstalledGemList)) end |
Instance Attribute Details
#gemViewer ⇒ Object
Returns the value of attribute gemViewer.
246 247 248 |
# File 'lib/installedwin.rb', line 246 def gemViewer @gemViewer end |
Instance Method Details
#createWidget ⇒ Object
145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 |
# File 'lib/installedwin.rb', line 145 def createWidget @installedGemsTable = GemListTable.new('installed') @viewDirBtn = KDE::PushButton.new(KDE::Icon.new('folder'), 'View Directory') @viewRdocBtn = KDE::PushButton.new(KDE::Icon.new('help-contents'), 'View RDoc') @generateRdocBtn = KDE::PushButton.new(KDE::Icon.new('document-new'), 'Generate RDoc/ri') @updateGemBtn = KDE::PushButton.new(KDE::Icon.new('view-refresh'), 'Update') @uninstallBtn = KDE::PushButton.new(KDE::Icon.new('list-remove'), 'Uninstall') @filterInstalledLineEdit = KDE::LineEdit.new do |w| connect(w,SIGNAL('textChanged(const QString &)'), @installedGemsTable, SLOT('filterChanged(const QString &)')) w.setClearButtonShown(true) end @checkTestBtn = KDE::PushButton.new(KDE::Icon.new('checkbox'), 'Test') # connect connect(@viewDirBtn, SIGNAL(:clicked), self, SLOT(:viewDir)) connect(@viewRdocBtn, SIGNAL(:clicked), self, SLOT(:viewRdoc)) connect(@uninstallBtn, SIGNAL(:clicked), self, SLOT(:uninstallGem)) connect(@installedGemsTable, SIGNAL('itemClicked(QTableWidgetItem *)'), self, SLOT('itemClicked(QTableWidgetItem *)')) connect(@generateRdocBtn, SIGNAL(:clicked), self, SLOT(:generateRdoc)) connect(@updateGemBtn, SIGNAL(:clicked), self, SLOT(:updateGem)) connect(@checkTestBtn, SIGNAL(:clicked), self, SLOT(:testGem)) # layout lo = Qt::VBoxLayout.new do |w| w.addWidgets('Filter:', @filterInstalledLineEdit) w.addWidget(@installedGemsTable) w.addWidgets(nil, @viewDirBtn, @viewRdocBtn, @generateRdocBtn, @checkTestBtn, @updateGemBtn, @uninstallBtn) end setLayout(lo) end |
#generateRdoc ⇒ Object
219 220 221 222 223 224 |
# File 'lib/installedwin.rb', line 219 def generateRdoc gem = @installedGemsTable.currentGem return unless gem @gemViewer.generateRdoc(gem) end |
#itemClicked(item) ⇒ Object
248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 |
# File 'lib/installedwin.rb', line 248 def itemClicked(item) unless item.gem.spec then specStr = %x{gem specification #{item.gem.package} -l --marshal} begin spec = Marshal.load(specStr) rescue NoMethodError, ArgumentError => e # rescue from some error gems. @gemViewer.setError(item.gem, e) return end item.gem.spec = spec end @gemViewer.setDetail( item.gem ) files = %x{gem contents --prefix #{item.gem.package} -v #{item.gem.version}}.split(/[\r\n]+/) @gemViewer.setFiles( files ) proc = lambda do |item| file = item.text @gemViewer.previewWin.setFile( file ) end @gemViewer.setPreviewProc(proc) end |
#notifyInstall ⇒ Object
198 199 200 |
# File 'lib/installedwin.rb', line 198 def notifyInstall updateInstalledGemList end |
#readSettings ⇒ Object
189 190 191 192 |
# File 'lib/installedwin.rb', line 189 def readSettings config = $config.group(GroupName) @installedGemsTable.horizontalHeader.restoreState(config.readEntry('Header', @installedGemsTable.horizontalHeader.saveState)) end |
#setStaleTime(stales) ⇒ Object
232 233 234 235 236 237 238 239 240 241 242 243 244 |
# File 'lib/installedwin.rb', line 232 def setStaleTime(stales) stales.each do |i| r = @installedGemsTable.find do |g| g.name == i.name && g.version == i.version end if r then @installedGemsTable.item(r, GemListTable::PACKAGE_ATIME).text = i.atime.to_s end end @installedGemsTable.sortItems(GemListTable::PACKAGE_ATIME) @installedGemsTable.clearSelection parent.parent.currentIndex = parent.indexOf(self) end |
#testGem ⇒ Object
203 204 205 206 207 208 |
# File 'lib/installedwin.rb', line 203 def testGem gem = @installedGemsTable.currentGem return unless gem @gemViewer.testGem(gem) end |
#uninstallGem ⇒ Object
283 284 285 |
# File 'lib/installedwin.rb', line 283 def uninstallGem @gemViewer.uninstall(@installedGemsTable.currentGem) end |
#updateGem ⇒ Object
211 212 213 214 215 216 |
# File 'lib/installedwin.rb', line 211 def updateGem gem = @installedGemsTable.currentGem return unless gem @gemViewer.updateGem(gem) end |
#updateInstalledGemList ⇒ Object
227 228 229 230 |
# File 'lib/installedwin.rb', line 227 def updateInstalledGemList gemList = InstalledGemList.get @installedGemsTable.updateGemList(gemList) end |
#viewDir ⇒ Object
278 279 280 |
# File 'lib/installedwin.rb', line 278 def viewDir @gemViewer.viewGemDir(@installedGemsTable.currentGem) end |
#viewRdoc ⇒ Object
272 273 274 |
# File 'lib/installedwin.rb', line 272 def viewRdoc @gemViewer.viewGemRdoc(@installedGemsTable.currentGem) end |