Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 25 additions & 3 deletions sftp/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -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()
Expand All @@ -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()

Expand All @@ -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")
Expand All @@ -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)
Expand Down Expand Up @@ -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):
Expand All @@ -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)
58 changes: 43 additions & 15 deletions sftp/settings.ui
Original file line number Diff line number Diff line change
Expand Up @@ -165,45 +165,73 @@
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="label_url">
<property name="text">
<string>URL:</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QLineEdit" name="input_url">
<property name="placeholderText">
<string>Example: http://example.com/imgs/</string>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QCheckBox" name="checkbox_url_extension">
<property name="checked">
<bool>True</bool>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QLineEdit" name="input_name">
<widget class="QLabel" name="label_url_extension">
<property name="text">
<string extracomment="Hlap"/>
<string>Include file extension in URL</string>
</property>
</widget>
</item>
<item row="4" column="0">
<widget class="QLabel" name="label_result">
<item row="3" column="0">
<widget class="QLabel" name="label_url_result">
<property name="text">
<string>Result:</string>
<string>URL result:</string>
</property>
</widget>
</item>
<item row="4" column="1">
<widget class="QLabel" name="label_example">
<item row="3" column="1">
<widget class="QLabel" name="label_url_example">
<property name="text">
<string>ex</string>
</property>
</widget>
</item>
<item row="2" column="0">
<item row="4" column="0">
<widget class="QLabel" name="label_name">
<property name="text">
<string>Name:</string>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="label_url">
<item row="4" column="1">
<widget class="QLineEdit" name="input_name">
<property name="text">
<string>URL:</string>
<string extracomment="Hlap"/>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QLineEdit" name="input_url">
<property name="placeholderText">
<string>Example: http://example.com/imgs/</string>
<item row="5" column="0">
<widget class="QLabel" name="label_name_result">
<property name="text">
<string>Name result:</string>
</property>
</widget>
</item>
<item row="5" column="1">
<widget class="QLabel" name="label_name_example">
<property name="text">
<string>ex</string>
</property>
</widget>
</item>
Expand Down