Nel progetto Ubuntu Accomplishments stiamo riscontrando alcuni bug insoliti:
Vale a dire che abbiamo una finestra con un GtkNotebook e un GtkIconView su una pagina e un'altra su un'altra pagina.
Quando l'utente ridimensiona la finestra iconview non riempie automaticamente lo spazio di icone (rimangono nel loro layout di colonna originale) ma se l'utente cambia le pagine di GtkNotebook e quindi aggiorna la visualizzazione dell'icona lo spazio viene occupato come previsto. Come possiamo usare automaticamente lo spazio quando ridimensioniamo la finestra?
La cosa più preoccupante è che quando appare la finestra, possiamo ridimensionarla più piccola - sembra che la vista icona ci blocchi dal ridimensionamento e quindi abbia un'area scorrevole per le icone.
Il codice è simile al seguente. I ListStore che guidano IconView:
self.trophystore = Gtk.ListStore(str, GdkPixbuf.Pixbuf, bool, bool, str, str) # title, icon accomplished, locked, app, accomplishment
self.trophystore.set_sort_column_id(COL_TITLE, Gtk.SortType.ASCENDING)
self.trophy_icon.set_model(self.trophystore)
self.oppstore = Gtk.ListStore(str, GdkPixbuf.Pixbuf, bool, bool, str, str) # title, icon, accomplished, locked, app, accomplishment
self.oppstore.set_sort_column_id(COL_TITLE, Gtk.SortType.ASCENDING)
self.opp_icon.set_model(self.oppstore)
self.trophy_icon.set_text_column(COL_TITLE)
self.trophy_icon.set_pixbuf_column(COL_PIXBUF)
self.opp_icon.set_text_column(COL_TITLE)
self.opp_icon.set_pixbuf_column(COL_PIXBUF)
Oltre a questo, non curiamo davvero con IconViews, ma aggiungiamo semplicemente contenuto a ListStores per aggiornare le visualizzazioni.
Il codice per il progetto è qui : qualcuno può consigliarci come possiamo risolvere questi due problemi?