--- /dev/null
+#!/usr/bin/env python
+# -*-coding: utf-8 -*-
+# vim: sw=4 ts=4 expandtab ai
+# pylint: disable-msg=C0301
+
+from gtkmvc import View
+import gtk, gobject
+
+
+class DebsearchView(View):
+ """A view for the Debian packages search plugin"""
+
+ def __init__(self, ctrl):
+ View.__init__(self, ctrl, register=False)
+ self.__build_widgets()
+ ctrl.register_view(self)
+
+ def __build_widgets(self):
+
+ hbox = gtk.HBox(False, 4)
+
+ # "Packages quantity" label
+ qty_label = gtk.Label('Packages quantity')
+
+ # "Packages quantity" spin
+ self['qty_spin'] = gtk.SpinButton()
+ self['qty_spin'].set_numeric(True)
+ self['qty_spin'].set_range(0, 65536)
+ self['qty_spin'].set_increments(1, 10)
+
+ # "Go" button
+ self['start_btn'] = gtk.Button('Go')
+
+ # "Stop" button
+ self['stop_btn'] = gtk.Button('Stop')
+ self['stop_btn'].set_sensitive(False)
+
+ hbox.pack_start(qty_label, False, False, 0)
+ hbox.pack_start(self['qty_spin'], False, False, 0)
+ hbox.pack_start(self['start_btn'])
+ hbox.pack_start(self['stop_btn'])
+
+ # Packages list
+ self['liststore'] = gtk.ListStore(str, str, gobject.TYPE_INT64)
+ self['liststore'].append(['', '', 0])
+
+ self['treeview'] = gtk.TreeView(self['liststore'])
+ self['treeview'].set_headers_visible(1)
+
+ swin = gtk.ScrolledWindow()
+ swin.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
+ swin.add(self['treeview'])
+
+ # Size column
+ size_col = gtk.TreeViewColumn('Size')
+ cell1 = gtk.CellRendererText()
+ cell1.set_property('width', 90)
+ size_col.pack_start(cell1, True)
+ size_col.add_attribute(cell1, 'text', 1)
+ self['treeview'].append_column(size_col)
+
+ # Package name column
+ name_col = gtk.TreeViewColumn('Name')
+ cell2 = gtk.CellRendererText()
+ name_col.pack_start(cell2, True)
+ name_col.add_attribute(cell2, 'text', 0)
+ self['treeview'].append_column(name_col)
+
+ # Column sorting
+ self['treeview'].set_search_column(1)
+ name_col.set_sort_column_id(0)
+ size_col.set_sort_column_id(2)
+
+ self['statusbar'] = gtk.Statusbar()
+ self['context_id'] = self['statusbar'].get_context_id("Current package")
+
+ self['vbox'] = gtk.VBox(False, 4)
+ self['vbox'].pack_start(hbox, False, False, 0)
+ self['vbox'].pack_start(swin)
+ self['vbox'].pack_start(self['statusbar'], False, False, 0)
+ self['vbox'].show_all()
+
+ def set_quantity_value(self, val):
+ self['qty_spin'].set_value(val)
+
+ def set_stopit_value(self, val):
+ pass