summaryrefslogtreecommitdiff
path: root/desktop/src/onionshare/tab/mode/mode_settings_widget.py
diff options
context:
space:
mode:
authorMicah Lee <micah@micahflee.com>2021-08-20 14:43:21 -0700
committerGitHub <noreply@github.com>2021-08-20 14:43:21 -0700
commitb66e742bc20ae977232fc53f22d485c10173ac2f (patch)
treec6eb66c340c34b45bac5525350c5eb5c43fe33a6 /desktop/src/onionshare/tab/mode/mode_settings_widget.py
parent76104671c3eacbef53ad96fffd8a57512ab2d093 (diff)
parent02254b13bb4818745193092f2144fd83726d79e7 (diff)
downloadonionshare-b66e742bc20ae977232fc53f22d485c10173ac2f.tar.gz
onionshare-b66e742bc20ae977232fc53f22d485c10173ac2f.zip
Merge pull request #1395 from onionshare/developv2.3.3
Version 2.3.3, merge develop into stable
Diffstat (limited to 'desktop/src/onionshare/tab/mode/mode_settings_widget.py')
-rw-r--r--desktop/src/onionshare/tab/mode/mode_settings_widget.py50
1 files changed, 48 insertions, 2 deletions
diff --git a/desktop/src/onionshare/tab/mode/mode_settings_widget.py b/desktop/src/onionshare/tab/mode/mode_settings_widget.py
index a3a315c9..9f55dbaf 100644
--- a/desktop/src/onionshare/tab/mode/mode_settings_widget.py
+++ b/desktop/src/onionshare/tab/mode/mode_settings_widget.py
@@ -23,7 +23,7 @@ from PySide2 import QtCore, QtWidgets
from ... import strings
-class ModeSettingsWidget(QtWidgets.QWidget):
+class ModeSettingsWidget(QtWidgets.QScrollArea):
"""
All of the common settings for each mode are in this widget
"""
@@ -57,6 +57,16 @@ class ModeSettingsWidget(QtWidgets.QWidget):
else:
self.public_checkbox.setCheckState(QtCore.Qt.Unchecked)
+ # Title
+ title_label = QtWidgets.QLabel(strings._("mode_settings_title_label"))
+ self.title_lineedit = QtWidgets.QLineEdit()
+ self.title_lineedit.editingFinished.connect(self.title_editing_finished)
+ if self.settings.get("general", "title"):
+ self.title_lineedit.setText(self.settings.get("general", "title"))
+ title_layout = QtWidgets.QHBoxLayout()
+ title_layout.addWidget(title_label)
+ title_layout.addWidget(self.title_lineedit)
+
# Whether or not to use an auto-start timer
self.autostart_timer_checkbox = QtWidgets.QCheckBox()
self.autostart_timer_checkbox.clicked.connect(
@@ -152,6 +162,7 @@ class ModeSettingsWidget(QtWidgets.QWidget):
# Advanced group itself
advanced_layout = QtWidgets.QVBoxLayout()
advanced_layout.setContentsMargins(0, 0, 0, 0)
+ advanced_layout.addLayout(title_layout)
advanced_layout.addLayout(autostart_timer_layout)
advanced_layout.addLayout(autostop_timer_layout)
advanced_layout.addWidget(self.legacy_checkbox)
@@ -166,7 +177,15 @@ class ModeSettingsWidget(QtWidgets.QWidget):
layout.addWidget(self.public_checkbox)
layout.addWidget(self.advanced_widget)
layout.addWidget(self.toggle_advanced_button)
- self.setLayout(layout)
+ layout.addStretch()
+ main_widget = QtWidgets.QWidget()
+ main_widget.setLayout(layout)
+
+ self.setHorizontalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOff)
+ self.setVerticalScrollBarPolicy(QtCore.Qt.ScrollBarAsNeeded)
+ self.setWidgetResizable(True)
+ self.setFrameShape(QtWidgets.QFrame.NoFrame)
+ self.setWidget(main_widget)
self.update_ui()
@@ -203,6 +222,33 @@ class ModeSettingsWidget(QtWidgets.QWidget):
self.legacy_checkbox.hide()
self.client_auth_checkbox.hide()
+ def title_editing_finished(self):
+ if self.title_lineedit.text().strip() == "":
+ self.title_lineedit.setText("")
+ self.settings.set("general", "title", None)
+ if self.tab.mode == self.common.gui.MODE_SHARE:
+ self.tab.change_title.emit(
+ self.tab.tab_id, strings._("gui_tab_name_share")
+ )
+ elif self.tab.mode == self.common.gui.MODE_RECEIVE:
+ self.tab.change_title.emit(
+ self.tab.tab_id, strings._("gui_tab_name_receive")
+ )
+ elif self.tab.mode == self.common.gui.MODE_WEBSITE:
+ self.tab.change_title.emit(
+ self.tab.tab_id, strings._("gui_tab_name_website")
+ )
+ elif self.tab.mode == self.common.gui.MODE_CHAT:
+ self.tab.change_title.emit(
+ self.tab.tab_id, strings._("gui_tab_name_chat")
+ )
+ elif self.tab_mode is None:
+ pass
+ else:
+ title = self.title_lineedit.text()
+ self.settings.set("general", "title", title)
+ self.tab.change_title.emit(self.tab.tab_id, title)
+
def persistent_checkbox_clicked(self):
self.settings.set("persistent", "enabled", self.persistent_checkbox.isChecked())
self.settings.set("persistent", "mode", self.tab.mode)