Changeset 3380
- Timestamp:
- 08/09/08 18:37:36 (2 years ago)
- Location:
- branch/PacketManipulator
- Files:
-
- 2 modified
-
Dialogs/Interface.py (modified) (1 diff)
-
widgets/Sniff.py (modified) (7 diffs)
Legend:
- Unmodified
- Added
- Removed
-
branch/PacketManipulator/Dialogs/Interface.py
r3376 r3380 171 171 172 172 if factor == 0: 173 factor = 1 173 factor = 1024 174 174 elif factor == 1: 175 factor = 1024 175 factor = 1024 ** 2 176 176 elif factor == 2: 177 factor = 1024 ** 2177 factor = 1024 ** 3 178 178 179 179 ssize = ssize * factor -
branch/PacketManipulator/widgets/Sniff.py
r3367 r3380 39 39 40 40 def __init__(self, context): 41 super(SniffPage, self).__init__(False, 2) 41 super(SniffPage, self).__init__(False, 4) 42 43 self.set_border_width(2) 42 44 43 45 sw = gtk.ScrolledWindow() … … 47 49 self.store = gtk.ListStore(int, str, str, str, str, str, gtk.gdk.Color, object) 48 50 self.tree = gtk.TreeView(self.store) 51 52 # Create a filter function 53 self.model_filter = self.store.filter_new() 54 self.model_filter.set_visible_func(self.__filter_func) 55 56 self.tree.set_model(self.model_filter) 49 57 50 58 idx = 0 … … 59 67 sw.add(self.tree) 60 68 69 self.filter = SniffFilter() 61 70 self.statusbar = HIGAnimatedBar(_('Sniffing on <tt>%s</tt> ...') % context.iface, gtk.STOCK_INFO) 62 71 72 self.pack_start(self.filter, False, False) 63 73 self.pack_start(sw) 64 74 self.pack_start(self.statusbar, False, False) … … 87 97 self.timeout_id = gobject.timeout_add(200, self.__update_tree) 88 98 self.tree.get_selection().connect('changed', self.__on_selection_changed) 99 self.filter.get_entry().connect('activate', self.__on_apply_filter) 89 100 90 101 def __modify_font(self, font): … … 130 141 # Scroll to end 131 142 if self.context.auto_scroll: 132 self.tree.scroll_to_cell( id- 1)143 self.tree.scroll_to_cell(len(self.model_filter) - 1) 133 144 134 145 alive = self.context.is_alive() … … 167 178 nb.set_view_page(packet) 168 179 180 def __on_apply_filter(self, entry): 181 print "Refiltering" 182 self.model_filter.refilter() 183 184 def __filter_func(self, model, iter): 185 txt = self.filter.get_text() 186 187 if not txt: 188 return True 189 190 for idx in xrange(6): 191 if txt in str(model.get_value(iter, idx)): 192 return True 193 194 return False 195 169 196 class SniffFilter(gtk.HBox): 170 pass 171 197 __gtype_name__ = "SniffFilter" 198 199 def __init__(self): 200 super(SniffFilter, self).__init__(False, 2) 201 202 self.set_border_width(4) 203 204 self._entry = gtk.Entry() 205 self._box = gtk.EventBox() 206 self._box.add(gtk.image_new_from_stock(gtk.STOCK_CLEAR, gtk.ICON_SIZE_MENU)) 207 208 self._entry.set_has_frame(False) 209 210 self.pack_start(self._entry) 211 self.pack_end(self._box, False, False) 212 213 self._box.connect('button-release-event', self.__on_button_release) 214 self._entry.connect('changed', self.__on_update) 215 216 self._colors = None 217 218 def do_realize(self): 219 gtk.HBox.do_realize(self) 220 221 self._colors = ( 222 self.style.white, 223 gtk.gdk.color_parse("#FEFEDC") 224 ) 225 226 self.__on_update(self._entry) 227 228 def do_expose_event(self, evt): 229 alloc = self.allocation 230 rect = gtk.gdk.Rectangle(alloc.x, alloc.y, alloc.width, alloc.height) 231 232 self.style.paint_flat_box( 233 self.window, 234 self._entry.state, 235 self._entry.get_property('shadow_type'), 236 alloc, 237 self._entry, 238 'entry_bg', 239 rect.x, rect.y, rect.width, rect.height 240 ) 241 242 self.style.paint_shadow( 243 self.window, 244 self._entry.state, 245 self._entry.get_property('shadow_type'), 246 alloc, 247 self._entry, 248 'entry', 249 rect.x, rect.y, rect.width, rect.height 250 ) 251 252 return gtk.HBox.do_expose_event(self, evt) 253 254 def __on_button_release(self, image, evt): 255 if evt.button == 1: 256 self._entry.set_text('') 257 258 def __on_update(self, entry): 259 if self._entry.get_text(): 260 color = self._colors[1] 261 else: 262 color = self._colors[0] 263 264 self._entry.modify_base(gtk.STATE_NORMAL, color) 265 self._box.modify_bg(gtk.STATE_NORMAL, color) 266 self.modify_base(gtk.STATE_NORMAL, color) 267 268 def get_text(self): 269 return self._entry.get_text() 270 271 def set_text(self, txt): 272 self._entry.set_text(txt) 273 274 def get_entry(self): 275 return self._entry 276 277 gobject.type_register(SniffFilter) 172 278 173 279 class SniffTab: … … 183 289 if __name__ == "__main__": 184 290 w = gtk.Window() 185 w.add(Sniff Tree(SniffContext("wlan0")))291 w.add(SniffFilter()) 186 292 w.show_all() 187 293 gtk.main()
