diff --git a/sftp/main.py b/sftp/main.py
index 45967fb..2cd023e 100644
--- a/sftp/main.py
+++ b/sftp/main.py
@@ -21,6 +21,8 @@ def showSettingsUI(self, parentWidget):
self.settingsDialog = self.uil.load(QFile(workingDir + "/settings.ui"), parentWidget)
self.settingsDialog.group_server.combo_auth.connect("currentIndexChanged(QString)", self.authMethodChanged)
self.settingsDialog.group_server.button_browse.connect("clicked()", self.browseForKeyfile)
+ self.settingsDialog.group_location.input_url.connect("textChanged(QString)", self.urlFormatEdited)
+ self.settingsDialog.group_location.checkbox_url_extension.connect("stateChanged(int)", self.urlExtensionEdited)
self.settingsDialog.group_location.input_name.connect("textChanged(QString)", self.nameFormatEdited)
self.settingsDialog.connect("accepted()", self.saveSettings)
self.loadSettings()
@@ -32,8 +34,9 @@ def showSettingsUI(self, parentWidget):
self.settingsDialog.group_server.input_keyfile.text = self.keyfile
self.settingsDialog.group_server.input_passphrase.text = self.passphrase
self.settingsDialog.group_location.input_folder.text = self.folder
- self.settingsDialog.group_location.input_url.text = self.url
self.settingsDialog.group_location.input_name.text = self.nameFormat
+ self.settingsDialog.group_location.checkbox_url_extension.checked = self.urlExtension
+ self.settingsDialog.group_location.input_url.text = self.url
self.settingsDialog.group_server.combo_auth.setCurrentIndex(self.settingsDialog.group_server.combo_auth.findText(self.authMethod))
self.settingsDialog.open()
@@ -48,6 +51,7 @@ def loadSettings(self):
self.keyfile = settings.value("keyfile", "")
self.passphrase = settings.value("passphrase", "")
self.url = settings.value("url", "")
+ self.urlExtension = settings.value("url-extension", "true") == "true"
self.folder = settings.value("folder", "")
self.nameFormat = settings.value("name-format", "Screenshot at %H-%M-%S")
self.authMethod = settings.value("auth-method", "Password")
@@ -65,6 +69,7 @@ def saveSettings(self):
settings.setValue("keyfile", self.settingsDialog.group_server.input_keyfile.text)
settings.setValue("passphrase", self.settingsDialog.group_server.input_passphrase.text)
settings.setValue("url", self.settingsDialog.group_location.input_url.text)
+ settings.setValue("url-extension", self.settingsDialog.group_location.checkbox_url_extension.isChecked())
settings.setValue("folder", self.settingsDialog.group_location.input_folder.text)
settings.setValue("name-format", self.settingsDialog.group_location.input_name.text)
settings.setValue("auth-method", self.settingsDialog.group_server.combo_auth.currentText)
@@ -142,7 +147,12 @@ def upload(self, screenshot, name):
sftp.close()
transport.close()
if self.url:
- ScreenCloud.setUrl(self.url + ScreenCloud.formatFilename(name))
+ url = self.url + ScreenCloud.formatFilename(name)
+ if not self.urlExtension:
+ last_dot = url.rfind(".")
+ if last_dot != -1:
+ url = url[:last_dot]
+ ScreenCloud.setUrl(url)
return True
def authMethodChanged(self, method):
@@ -154,5 +164,17 @@ def browseForKeyfile(self):
if filename:
self.settingsDialog.group_server.input_keyfile.setText(filename)
+ def urlFormatEdited(self, urlFormat):
+ url = urlFormat + self.settingsDialog.group_location.label_name_example.text
+ if not self.settingsDialog.group_location.checkbox_url_extension.isChecked():
+ last_dot = url.rfind(".")
+ if last_dot != -1:
+ url = url[:last_dot]
+ self.settingsDialog.group_location.label_url_example.setText(url)
+
+ def urlExtensionEdited(self, urlExtension):
+ self.urlFormatEdited(self.settingsDialog.group_location.input_url.text)
+
def nameFormatEdited(self, nameFormat):
- self.settingsDialog.group_location.label_example.setText(ScreenCloud.formatFilename(nameFormat))
+ self.settingsDialog.group_location.label_name_example.setText(ScreenCloud.formatFilename(nameFormat))
+ self.urlFormatEdited(self.settingsDialog.group_location.input_url.text)
diff --git a/sftp/settings.ui b/sftp/settings.ui
index e986cfe..5472ca5 100644
--- a/sftp/settings.ui
+++ b/sftp/settings.ui
@@ -165,45 +165,73 @@
+ -
+
+
+ URL:
+
+
+
+ -
+
+
+ Example: http://example.com/imgs/
+
+
+
+ -
+
+
+ True
+
+
+
-
-
+
-
+ Include file extension in URL
- -
-
+
-
+
- Result:
+ URL result:
- -
-
+
-
+
ex
- -
+
-
Name:
- -
-
+
-
+
- URL:
+
- -
-
-
- Example: http://example.com/imgs/
+
-
+
+
+ Name result:
+
+
+
+ -
+
+
+ ex