Class: SearchWin
Overview
Constant Summary collapse
- GroupName =
"SearchWindow"
Instance Attribute Summary collapse
-
#gemViewer ⇒ Object
Returns the value of attribute gemViewer.
Instance Method Summary collapse
- #createWidget ⇒ Object
- #fetch ⇒ Object
-
#initialize(parent = nil) ⇒ SearchWin
constructor
A new instance of SearchWin.
- #install ⇒ Object
- #itemClicked(item) ⇒ Object
- #readSettings ⇒ Object
- #search ⇒ Object
- #writeSettings ⇒ Object
Constructor Details
#initialize(parent = nil) ⇒ SearchWin
Returns a new instance of SearchWin.
74 75 76 77 78 79 |
# File 'lib/searchwin.rb', line 74 def initialize(parent=nil) super(parent) createWidget readSettings end |
Instance Attribute Details
#gemViewer ⇒ Object
Returns the value of attribute gemViewer.
118 119 120 |
# File 'lib/searchwin.rb', line 118 def gemViewer @gemViewer end |
Instance Method Details
#createWidget ⇒ Object
81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 |
# File 'lib/searchwin.rb', line 81 def createWidget @gemList = SearchTable.new @searchLine = KDE::HistoryComboBox.new do |w| w.sizePolicy = Qt::SizePolicy.new(Qt::SizePolicy::Expanding, Qt::SizePolicy::Fixed, Qt::SizePolicy::LineEdit) end @searchBtn = KDE::PushButton.new(KDE::Icon.new('system-search'), i18n('Search')) @downloadBtn = KDE::PushButton.new(KDE::Icon.new('download'), i18n('Download')) @installBtn = KDE::PushButton.new(KDE::Icon.new('run-build-install'), i18n('Install')) # connect connect(@searchBtn, SIGNAL(:clicked), self, SLOT(:search)) connect(@searchLine, SIGNAL(:returnPressed), self, SLOT(:search)) connect(@gemList, SIGNAL('itemClicked(QTableWidgetItem *)'), self, SLOT('itemClicked(QTableWidgetItem *)')) connect(@downloadBtn, SIGNAL(:clicked), self, SLOT(:fetch)) connect(@installBtn, SIGNAL(:clicked), self, SLOT(:install)) # layout lo = Qt::VBoxLayout.new lo.addWidgets('Search Gems:', @searchLine, @searchBtn) lo.addWidget(@gemList) lo.addWidgets(nil, @downloadBtn, @installBtn) setLayout(lo) end |
#fetch ⇒ Object
137 138 139 140 141 142 |
# File 'lib/searchwin.rb', line 137 def fetch gem = @gemList.currentGem return unless gem @gemViewer.download(gem) end |
#install ⇒ Object
145 146 147 148 149 150 |
# File 'lib/searchwin.rb', line 145 def install gem = @gemList.currentGem return gem unless gem @gemViewer.install(gem, false) # localFlag = false end |
#itemClicked(item) ⇒ Object
120 121 122 123 124 |
# File 'lib/searchwin.rb', line 120 def itemClicked(item) gem = @gemList.gem(item) @gemViewer.setDetail(gem) if @gemViewer and gem @gemViewer.setFiles(nil) end |
#readSettings ⇒ Object
112 113 114 115 |
# File 'lib/searchwin.rb', line 112 def readSettings config = $config.group(GroupName) @gemList.horizontalHeader.restoreState(config.readEntry('Header', @gemList.horizontalHeader.saveState)) end |
#search ⇒ Object
127 128 129 130 131 132 133 |
# File 'lib/searchwin.rb', line 127 def search res = Net::HTTP.get(URI.parse( 'http://rubygems.org/api/v1/search.json?query=' + URI.escape(@searchLine.currentText))) gems = JSON.parse(res) gems.map! do |g| GemItem.parseHashGem(g) end @gemList.updateGemList(gems) @searchLine.insertItems([@searchLine.currentText]) end |