Przeglądaj źródła

Show all listen entries in a list view

Benoît Hubert 7 lat temu
rodzic
commit
d720841808
1 zmienionych plików z 36 dodań i 0 usunięć
  1. 36 0
      gtk3-listdomains.py

+ 36 - 0
gtk3-listdomains.py

@@ -68,6 +68,39 @@ class EntryWindow(Gtk.Window):
         self.button.connect("clicked", self.on_button_clicked)
         hbox.pack_start(self.button, True, True, 0)
 
+        #Setting up the self.grid in which the elements are to be positionned
+        self.grid = Gtk.Grid()
+        self.grid.set_column_homogeneous(True)
+        self.grid.set_row_homogeneous(True)
+        vbox.add(self.grid)
+
+        #Creating the TreeStore model
+        self.vhost_treestore = Gtk.ListStore(int, str, str)
+        vhost_list = [
+#            (80, "00-benoithubert.net", "benoithubert.net"),
+#            (80, "jsx.fr", "jsx.fr")
+        ]
+        for vhost in vhost_list:
+            self.vhost_treestore.append(list(vhost))
+        self.language_filter = self.vhost_treestore.filter_new()
+        self.language_filter.set_visible_func(self.filter_func)
+
+        #creating the treeview, making it use the filter as a model, and adding the columns
+        self.treeview = Gtk.TreeView.new_with_model(self.language_filter)
+        for i, column_title in enumerate(["Port", "File path", "Root domain"]):
+            renderer = Gtk.CellRendererText()
+            column = Gtk.TreeViewColumn(column_title, renderer, text=i)
+            self.treeview.append_column(column)
+
+
+        self.scrollable_treelist = Gtk.ScrolledWindow()
+        self.scrollable_treelist.set_vexpand(True)
+        self.grid.attach(self.scrollable_treelist, 0, 0, 8, 10)
+        self.scrollable_treelist.add(self.treeview)
+
+    def filter_func(self, model, iter, data):
+        print(model, iter, data)
+        return True
 
     def update_progess(self, domain):
         self.progressbar.pulse()
@@ -135,6 +168,9 @@ class EntryWindow(Gtk.Window):
                     subd_trimmed = directive[1].strip()
                     subdomains = subd_trimmed.split(' ')
             port_subdmomains[port] = subdomains
+            for subd in subdomains:
+                self.vhost_treestore.append([port, vhost, subd])
+
         print(port_subdmomains)
         self.vhosts_done += 1
         percent_done = self.vhosts_done * 1.0 / self.num_vhosts