Skip to content

Commit

Permalink
Fixes #71: remember window size, position and sidepanel position
Browse files Browse the repository at this point in the history
  • Loading branch information
mNantern committed Jul 4, 2014
1 parent 2cf52a8 commit 44bbcc8
Show file tree
Hide file tree
Showing 2 changed files with 57 additions and 0 deletions.
30 changes: 30 additions & 0 deletions qtodotxt/lib/settings.py
Expand Up @@ -52,6 +52,36 @@ def getHideFutureTasks(self):
def setHideFutureTasks(self, hideFutureTasks):
self._setData('hide_future_tasks', hideFutureTasks)

def setViewHeight(self,height):
self._setData('view_size_height', height)

def setViewWidth(self,width):
self._setData('view_size_width', width)

def getViewHeight(self):
return self._getData('view_size_height')

def getViewWidth(self):
return self._getData('view_size_width')

def setViewPositionX(self,x):
self._setData('view_position_x', x)

def setViewPositionY(self,y):
self._setData('view_position_y', y)

def getViewPositionX(self):
return self._getData('view_position_x')

def getViewPositionY(self):
return self._getData('view_position_y')

def setViewSlidderPosition(self,position):
self._setData('view_slidder_position', position)

def getViewSlidderPosition(self):
return self._getData('view_slidder_position')

def _getData(self, key):
if self._data:
return self._data.get(key)
Expand Down
27 changes: 27 additions & 0 deletions qtodotxt/ui/controllers/main_controller.py
Expand Up @@ -72,6 +72,7 @@ def show(self):
self._updateAutoSavePref()
self._updateAutoArchivePref()
self._updateHideFutureTasksPref()
self._updateView()

filename = None
if self._args.file:
Expand Down Expand Up @@ -163,10 +164,21 @@ def _canExit(self):

def _view_onCloseEvent(self, closeEvent):
if self._canExit():
self._saveView()
closeEvent.accept()
else:
closeEvent.ignore()

def _saveView(self):
viewSize = self._view.size()
viewPosition = self._view.pos()
splitterPosition = self._view.centralWidget().sizes()
self._settings.setViewHeight(viewSize.height())
self._settings.setViewWidth(viewSize.width())
self._settings.setViewPositionX(viewPosition.x())
self._settings.setViewPositionY(viewPosition.y())
self._settings.setViewSlidderPosition(splitterPosition)

def _setIsModified(self, is_modified):
self._is_modified = is_modified
self._updateTitle()
Expand Down Expand Up @@ -239,6 +251,21 @@ def _updateAutoArchivePref(self):
def _updateHideFutureTasksPref(self):
self._menu_controller.changeHideFutureTasksState(bool(self._settings.getHideFutureTasks()))

def _updateView(self):
height = self._settings.getViewHeight()
width = self._settings.getViewWidth()
if height and width:
self._view.resize(width, height)

positionX = self._settings.getViewPositionX()
positionY = self._settings.getViewPositionY()
if positionX and positionY:
self._view.move(positionX,positionY)

slidderPosition = self._settings.getViewSlidderPosition()
if slidderPosition:
self._view.centralWidget().setSizes(slidderPosition)

def createdDate(self):
if self._settings.getCreateDate():
self._settings.setCreateDate(False)
Expand Down

0 comments on commit 44bbcc8

Please sign in to comment.