From aa9e13f17e026dc98a45051768a8662866542a64 Mon Sep 17 00:00:00 2001 From: Etoh Date: Thu, 13 Jun 2013 10:49:11 +0200 Subject: [PATCH] Start at previous location for media path browser, else Movie/Home dir --- syncplay/ui/GuiConfiguration.py | 32 ++++++++++++++++++++++++++------ 1 file changed, 26 insertions(+), 6 deletions(-) diff --git a/syncplay/ui/GuiConfiguration.py b/syncplay/ui/GuiConfiguration.py index ed0ef88..43951d9 100644 --- a/syncplay/ui/GuiConfiguration.py +++ b/syncplay/ui/GuiConfiguration.py @@ -31,8 +31,8 @@ class GuiConfiguration: class ConfigDialog(QtGui.QDialog): pressedclosebutton = False - malToggling = False + mediadirectory = "" def malToggled(self): if self.malToggling == False: @@ -117,14 +117,20 @@ class ConfigDialog(QtGui.QDialog): def browseMediapath(self): options = QtGui.QFileDialog.Options() - defaultdirectory = "" - browserfilter = "All Files (*)" - - - fileName, filtr = QtGui.QFileDialog.getOpenFileName(self,"Browse for media files","", + if (os.path.isdir(self.mediadirectory)): + defaultdirectory = self.mediadirectory + elif (os.path.isdir(QDesktopServices.storageLocation(QDesktopServices.MoviesLocation))): + defaultdirectory = QDesktopServices.storageLocation(QDesktopServices.MoviesLocation) + elif (os.path.isdir(QDesktopServices.storageLocation(QDesktopServices.HomeLocation))): + defaultdirectory = QDesktopServices.storageLocation(QDesktopServices.HomeLocation) + else: + defaultdirectory = "" + browserfilter = "All Files (*)" + fileName, filtr = QtGui.QFileDialog.getOpenFileName(self,"Browse for media files",defaultdirectory, browserfilter, "", options) if fileName: self.mediapathTextbox.setText(fileName) + self.mediadirectory = os.path.dirname(fileName) def _saveDataAndLeave(self): self.config['host'] = self.hostTextbox.text() @@ -155,6 +161,7 @@ class ConfigDialog(QtGui.QDialog): return def closeEvent(self, event): + self.saveSettings() if self.pressedclosebutton == False: sys.exit() raise GuiConfiguration.WindowClosed @@ -178,6 +185,18 @@ class ConfigDialog(QtGui.QDialog): self.executablepathCombobox.setEditText(dropfilepath) else: self.mediapathTextbox.setText(dropfilepath) + + def saveSettings(self): + settings = QSettings("Syncplay", "ConfigWindow") + settings.beginGroup("ConfigWindow") + settings.setValue("mediadir", self.mediadirectory) + settings.endGroup() + + def loadSettings(self): + settings = QSettings("Syncplay", "ConfigWindow") + settings.beginGroup("ConfigWindow") + self.mediadirectory = settings.value("mediadir", "") + settings.endGroup() def __init__(self, config, playerpaths, error): @@ -312,4 +331,5 @@ class ConfigDialog(QtGui.QDialog): self.setLayout(self.mainLayout) self.runButton.setFocus() self.setFixedSize(self.sizeHint()) + self.loadSettings() self.setAcceptDrops(True)