Fix #1263: GTK UI not remembering column width

Removing a column from the treeview on shutdown causes all the
column widths to be zero which are saved to the state file.

The workaround is to not save the state file if all columns are zero.
This commit is contained in:
Calum Lind 2011-07-06 18:05:28 +01:00
parent ce1aca54b5
commit 7c276f3133
3 changed files with 9 additions and 0 deletions

View File

@ -18,6 +18,7 @@
* Add search as you type to the torrent view * Add search as you type to the torrent view
* #1456: Fix no ETA showing with multiple files * #1456: Fix no ETA showing with multiple files
* #1560: Fix FilesTab Progress value sorting by int instead of float * #1560: Fix FilesTab Progress value sorting by int instead of float
* #1263: Fix not remembering column widths
=== AutoAdd === === AutoAdd ===
* #1861: Fix AutoAdd Warning (column number is a boolean) * #1861: Fix AutoAdd Warning (column number is a boolean)

View File

@ -263,6 +263,9 @@ class ListView:
# A list of ListViewColumnStates # A list of ListViewColumnStates
state = [] state = []
# Workaround for all zero widths after removing column on shutdown
if not any(c.get_width() for c in self.treeview.get_columns()): return
# Get the list of TreeViewColumns from the TreeView # Get the list of TreeViewColumns from the TreeView
for counter, column in enumerate(self.treeview.get_columns()): for counter, column in enumerate(self.treeview.get_columns()):
# Append a new column state to the state list # Append a new column state to the state list

View File

@ -319,6 +319,11 @@ class TorrentView(listview.ListView, component.Component):
""" """
listview.ListView.save_state(self, "torrentview.state") listview.ListView.save_state(self, "torrentview.state")
def remove_column(self, header):
"""Removes the column with the name 'header' from the torrentview"""
self.save_state()
listview.ListView.remove_column(self, header)
def set_filter(self, filter_dict): def set_filter(self, filter_dict):
"""Sets filters for the torrentview.. """Sets filters for the torrentview..
see: core.get_torrents_status see: core.get_torrents_status