diff options
author | Micah Lee <micah@micahflee.com> | 2019-09-01 20:15:30 -0700 |
---|---|---|
committer | Micah Lee <micah@micahflee.com> | 2019-09-01 20:15:30 -0700 |
commit | 1c465b40fe13d7fe9db445d2d74d860a71c66a68 (patch) | |
tree | 9f96646a351d0b47e57293e6866976fb152eec0f /onionshare_gui | |
parent | 1e1243c8b6d7a9a6a983ebbef0d105fb3c3a19a7 (diff) | |
download | onionshare-1c465b40fe13d7fe9db445d2d74d860a71c66a68.tar.gz onionshare-1c465b40fe13d7fe9db445d2d74d860a71c66a68.zip |
Add new "Allow downloading of individual files" checkbox to share settings, and only allow it to be enabled when "Stop sharing after files have been sent" is unchecked
Diffstat (limited to 'onionshare_gui')
-rw-r--r-- | onionshare_gui/settings_dialog.py | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/onionshare_gui/settings_dialog.py b/onionshare_gui/settings_dialog.py index ae5f5acf..cabddc9b 100644 --- a/onionshare_gui/settings_dialog.py +++ b/onionshare_gui/settings_dialog.py @@ -204,10 +204,17 @@ class SettingsDialog(QtWidgets.QDialog): self.close_after_first_download_checkbox = QtWidgets.QCheckBox() self.close_after_first_download_checkbox.setCheckState(QtCore.Qt.Checked) self.close_after_first_download_checkbox.setText(strings._("gui_settings_close_after_first_download_option")) + self.close_after_first_download_checkbox.toggled.connect(self.close_after_first_download_toggled) + + # Close after first download + self.allow_downloading_individual_files_checkbox = QtWidgets.QCheckBox() + self.allow_downloading_individual_files_checkbox.setCheckState(QtCore.Qt.Checked) + self.allow_downloading_individual_files_checkbox.setText(strings._("gui_settings_allow_downloading_individual_files_option")) # Sharing options layout sharing_group_layout = QtWidgets.QVBoxLayout() sharing_group_layout.addWidget(self.close_after_first_download_checkbox) + sharing_group_layout.addWidget(self.allow_downloading_individual_files_checkbox) sharing_group = QtWidgets.QGroupBox(strings._("gui_settings_sharing_label")) sharing_group.setLayout(sharing_group_layout) @@ -503,8 +510,16 @@ class SettingsDialog(QtWidgets.QDialog): close_after_first_download = self.old_settings.get('close_after_first_download') if close_after_first_download: self.close_after_first_download_checkbox.setCheckState(QtCore.Qt.Checked) + self.allow_downloading_individual_files_checkbox.setEnabled(False) else: self.close_after_first_download_checkbox.setCheckState(QtCore.Qt.Unchecked) + self.allow_downloading_individual_files_checkbox.setEnabled(True) + + allow_downloading_individual_files = self.old_settings.get('share_allow_downloading_individual_files') + if allow_downloading_individual_files: + self.allow_downloading_individual_files_checkbox.setCheckState(QtCore.Qt.Checked) + else: + self.allow_downloading_individual_files_checkbox.setCheckState(QtCore.Qt.Unchecked) autostart_timer = self.old_settings.get('autostart_timer') if autostart_timer: @@ -629,6 +644,15 @@ class SettingsDialog(QtWidgets.QDialog): self.connect_to_tor_label.show() self.onion_settings_widget.hide() + def close_after_first_download_toggled(self, checked): + """ + Stop sharing after files have been sent was toggled. If checked, disable allow downloading of individual files. + """ + self.common.log('SettingsDialog', 'close_after_first_download_toggled') + if checked: + self.allow_downloading_individual_files_checkbox.setEnabled(False) + else: + self.allow_downloading_individual_files_checkbox.setEnabled(True) def connection_type_bundled_toggled(self, checked): """ @@ -956,6 +980,7 @@ class SettingsDialog(QtWidgets.QDialog): settings.load() # To get the last update timestamp settings.set('close_after_first_download', self.close_after_first_download_checkbox.isChecked()) + settings.set('share_allow_downloading_individual_files', self.allow_downloading_individual_files_checkbox.isChecked()) settings.set('autostart_timer', self.autostart_timer_checkbox.isChecked()) settings.set('autostop_timer', self.autostop_timer_checkbox.isChecked()) |