Save column widths in device views on device disconnect.

This commit is contained in:
Kovid Goyal 2009-10-31 13:09:48 -06:00
parent bbefad58a4
commit d7b3778a69
2 changed files with 15 additions and 2 deletions

View File

@ -274,6 +274,7 @@ class GetMetadata(QObject):
self.emit(SIGNAL('metadata(PyQt_PyObject, PyQt_PyObject)'), id, mi) self.emit(SIGNAL('metadata(PyQt_PyObject, PyQt_PyObject)'), id, mi)
class TableView(QTableView): class TableView(QTableView):
def __init__(self, parent): def __init__(self, parent):
QTableView.__init__(self, parent) QTableView.__init__(self, parent)
self.read_settings() self.read_settings()

View File

@ -742,6 +742,16 @@ class Main(MainWindow, Ui_MainWindow, DeviceGUI):
########################## Connect to device ############################## ########################## Connect to device ##############################
def save_device_view_settings(self):
model = self.location_view.model()
self.memory_view.write_settings()
for x in range(model.rowCount()):
if x > 1:
if model.location_for_row(x) == 'carda':
self.card_a_view.write_settings()
elif model.location_for_row(x) == 'cardb':
self.carb_b_view.write_settings()
def device_detected(self, connected): def device_detected(self, connected):
''' '''
Called when a device is connected to the computer. Called when a device is connected to the computer.
@ -757,6 +767,7 @@ class Main(MainWindow, Ui_MainWindow, DeviceGUI):
self.device_connected = True self.device_connected = True
self._sync_menu.enable_device_actions(True, self.device_manager.device.card_prefix()) self._sync_menu.enable_device_actions(True, self.device_manager.device.card_prefix())
else: else:
self.save_device_view_settings()
self.device_connected = False self.device_connected = False
self._sync_menu.enable_device_actions(False) self._sync_menu.enable_device_actions(False)
self.location_view.model().update_devices() self.location_view.model().update_devices()
@ -765,7 +776,7 @@ class Main(MainWindow, Ui_MainWindow, DeviceGUI):
self.device_info = ' ' self.device_info = ' '
if self.current_view() != self.library_view: if self.current_view() != self.library_view:
self.status_bar.reset_info() self.status_bar.reset_info()
self.location_selected('library') self.location_view.setCurrentIndex(self.location_view.model().index(0))
def info_read(self, job): def info_read(self, job):
''' '''
@ -807,6 +818,7 @@ class Main(MainWindow, Ui_MainWindow, DeviceGUI):
self.card_b_view.set_editable(self.device_manager.device_class.CAN_SET_METADATA) self.card_b_view.set_editable(self.device_manager.device_class.CAN_SET_METADATA)
for view in (self.memory_view, self.card_a_view, self.card_b_view): for view in (self.memory_view, self.card_a_view, self.card_b_view):
view.sortByColumn(3, Qt.DescendingOrder) view.sortByColumn(3, Qt.DescendingOrder)
view.read_settings()
if not view.restore_column_widths(): if not view.restore_column_widths():
view.resizeColumnsToContents() view.resizeColumnsToContents()
view.resizeRowsToContents() view.resizeRowsToContents()
@ -1662,7 +1674,7 @@ class Main(MainWindow, Ui_MainWindow, DeviceGUI):
dynamic.set('sort_column', self.library_view.model().sorted_on) dynamic.set('sort_column', self.library_view.model().sorted_on)
self.library_view.write_settings() self.library_view.write_settings()
if self.device_connected: if self.device_connected:
self.memory_view.write_settings() self.save_device_view_settings()
def restart(self): def restart(self):
self.quit(restart=True) self.quit(restart=True)