summaryrefslogtreecommitdiff
path: root/onionshare_gui
diff options
context:
space:
mode:
authorMicah Lee <micah@micahflee.com>2020-06-28 12:36:13 -0700
committerMicah Lee <micah@micahflee.com>2020-06-28 12:36:13 -0700
commit55e95d527ba839b456eeae3f49e500c5921c8c3a (patch)
tree74861237de860779b863f8f6fa3d3dff6fefc37c /onionshare_gui
parent60ab5a166964f216ed2f0eb0f35a3e12a2f0e442 (diff)
parent37cab504646174d5d7b78fc3203a4cdd6b53347d (diff)
downloadonionshare-55e95d527ba839b456eeae3f49e500c5921c8c3a.tar.gz
onionshare-55e95d527ba839b456eeae3f49e500c5921c8c3a.zip
Merge branch 'clear_all_file_selection_widget' of https://github.com/mig5/onionshare into mig5-clear_all_file_selection_widget
Diffstat (limited to 'onionshare_gui')
-rw-r--r--onionshare_gui/gui_common.py5
-rw-r--r--onionshare_gui/tab/mode/share_mode/__init__.py24
-rw-r--r--onionshare_gui/tab/mode/website_mode/__init__.py24
3 files changed, 53 insertions, 0 deletions
diff --git a/onionshare_gui/gui_common.py b/onionshare_gui/gui_common.py
index 4381545e..40c912bb 100644
--- a/onionshare_gui/gui_common.py
+++ b/onionshare_gui/gui_common.py
@@ -208,6 +208,11 @@ class GuiCommon:
color: #cc0000;
}""",
# Share mode and child widget styles
+ "share_delete_all_files_button": """
+ QPushButton {
+ color: #3f7fcf;
+ }
+ """,
"share_zip_progess_bar": """
QProgressBar {
border: 1px solid #4e064f;
diff --git a/onionshare_gui/tab/mode/share_mode/__init__.py b/onionshare_gui/tab/mode/share_mode/__init__.py
index 1423d60a..3f595280 100644
--- a/onionshare_gui/tab/mode/share_mode/__init__.py
+++ b/onionshare_gui/tab/mode/share_mode/__init__.py
@@ -111,6 +111,13 @@ class ShareMode(Mode):
self.info_label = QtWidgets.QLabel()
self.info_label.hide()
+ # Delete all files button
+ self.delete_all_button = QtWidgets.QPushButton(strings._("gui_file_selection_delete_all"))
+ self.delete_all_button.setFlat(True)
+ self.delete_all_button.setStyleSheet(self.common.gui.css["share_delete_all_files_button"])
+ self.delete_all_button.clicked.connect(self.delete_all)
+ self.delete_all_button.hide()
+
# Toggle history
self.toggle_history = ToggleHistory(
self.common,
@@ -126,6 +133,7 @@ class ShareMode(Mode):
top_bar_layout = QtWidgets.QHBoxLayout()
top_bar_layout.addWidget(self.info_label)
top_bar_layout.addStretch()
+ top_bar_layout.addWidget(self.delete_all_button)
top_bar_layout.addWidget(self.toggle_history)
# Primary action layout
@@ -198,6 +206,8 @@ class ShareMode(Mode):
# Hide and reset the downloads if we have previously shared
self.reset_info_counters()
+ self.delete_all_button.hide()
+
def start_server_step2_custom(self):
"""
Step 2 in starting the server. Zipping up files.
@@ -257,6 +267,8 @@ class ShareMode(Mode):
self.history.update_in_progress()
self.file_selection.file_list.adjustSize()
+ self.delete_all_button.show()
+
def cancel_server_custom(self):
"""
Stop the compression thread on cancel
@@ -343,6 +355,7 @@ class ShareMode(Mode):
if self.server_status.file_selection.get_num_files() > 0:
self.primary_action.show()
self.info_label.show()
+ self.delete_all_button.show()
def update_primary_action(self):
self.common.log("ShareMode", "update_primary_action")
@@ -352,6 +365,7 @@ class ShareMode(Mode):
if file_count > 0:
self.primary_action.show()
self.info_label.show()
+ self.delete_all_button.show()
# Update the file count in the info label
total_size_bytes = 0
@@ -374,6 +388,7 @@ class ShareMode(Mode):
else:
self.primary_action.hide()
self.info_label.hide()
+ self.delete_all_button.hide()
def reset_info_counters(self):
"""
@@ -383,6 +398,15 @@ class ShareMode(Mode):
self.toggle_history.indicator_count = 0
self.toggle_history.update_indicator()
+ def delete_all(self):
+ """
+ Delete All button clicked
+ """
+ self.file_selection.file_list.clear()
+ self.file_selection.file_list.files_updated.emit()
+
+ self.file_selection.file_list.setCurrentItem(None)
+
@staticmethod
def _compute_total_size(filenames):
total_size = 0
diff --git a/onionshare_gui/tab/mode/website_mode/__init__.py b/onionshare_gui/tab/mode/website_mode/__init__.py
index db8dbf09..badcd729 100644
--- a/onionshare_gui/tab/mode/website_mode/__init__.py
+++ b/onionshare_gui/tab/mode/website_mode/__init__.py
@@ -114,6 +114,13 @@ class WebsiteMode(Mode):
self.info_label = QtWidgets.QLabel()
self.info_label.hide()
+ # Delete all files button
+ self.delete_all_button = QtWidgets.QPushButton(strings._("gui_file_selection_delete_all"))
+ self.delete_all_button.setFlat(True)
+ self.delete_all_button.setStyleSheet(self.common.gui.css["share_delete_all_files_button"])
+ self.delete_all_button.clicked.connect(self.delete_all)
+ self.delete_all_button.hide()
+
# Toggle history
self.toggle_history = ToggleHistory(
self.common,
@@ -129,6 +136,7 @@ class WebsiteMode(Mode):
top_bar_layout = QtWidgets.QHBoxLayout()
top_bar_layout.addWidget(self.info_label)
top_bar_layout.addStretch()
+ top_bar_layout.addWidget(self.delete_all_button)
top_bar_layout.addWidget(self.toggle_history)
# Primary action layout
@@ -191,6 +199,8 @@ class WebsiteMode(Mode):
# Hide and reset the downloads if we have previously shared
self.reset_info_counters()
+ self.delete_all_button.hide()
+
def start_server_step2_custom(self):
"""
Step 2 in starting the server. Zipping up files.
@@ -228,6 +238,8 @@ class WebsiteMode(Mode):
self.history.completed_count = 0
self.file_selection.file_list.adjustSize()
+ self.delete_all_button.show()
+
def cancel_server_custom(self):
"""
Log that the server has been cancelled
@@ -248,6 +260,7 @@ class WebsiteMode(Mode):
if self.server_status.file_selection.get_num_files() > 0:
self.primary_action.show()
self.info_label.show()
+ self.delete_all_button.show()
def update_primary_action(self):
self.common.log("WebsiteMode", "update_primary_action")
@@ -257,6 +270,7 @@ class WebsiteMode(Mode):
if file_count > 0:
self.primary_action.show()
self.info_label.show()
+ self.delete_all_button.show()
# Update the file count in the info label
total_size_bytes = 0
@@ -279,6 +293,7 @@ class WebsiteMode(Mode):
else:
self.primary_action.hide()
self.info_label.hide()
+ self.delete_all_button.hide()
def reset_info_counters(self):
"""
@@ -288,6 +303,15 @@ class WebsiteMode(Mode):
self.toggle_history.indicator_count = 0
self.toggle_history.update_indicator()
+ def delete_all(self):
+ """
+ Delete All button clicked
+ """
+ self.file_selection.file_list.clear()
+ self.file_selection.file_list.files_updated.emit()
+
+ self.file_selection.file_list.setCurrentItem(None)
+
@staticmethod
def _compute_total_size(filenames):
total_size = 0