diff --git a/desktop/onionshare/__init__.py b/desktop/onionshare/__init__.py index 72491e7f..e50d430b 100644 --- a/desktop/onionshare/__init__.py +++ b/desktop/onionshare/__init__.py @@ -26,10 +26,10 @@ import signal import json import psutil import getpass -from PySide6 import QtCore, QtWidgets, QtGui +from qtpy import QtCore, QtWidgets, QtGui -from PySide6.QtCore import Slot, Qt -from PySide6.QtGui import QPalette, QColor +from qtpy.QtCore import Slot, Qt +from qtpy.QtGui import QPalette, QColor from onionshare_cli.common import Common from onionshare_cli.settings import Settings diff --git a/desktop/onionshare/connection_tab.py b/desktop/onionshare/connection_tab.py index 452b2b76..99fbde78 100644 --- a/desktop/onionshare/connection_tab.py +++ b/desktop/onionshare/connection_tab.py @@ -20,7 +20,7 @@ along with this program. If not, see . import json import os -from PySide6 import QtCore, QtWidgets, QtGui +from qtpy import QtCore, QtWidgets, QtGui from onionshare_cli.censorship import ( CensorshipCircumvention, diff --git a/desktop/onionshare/gui_common.py b/desktop/onionshare/gui_common.py index fcbf47f7..204d3234 100644 --- a/desktop/onionshare/gui_common.py +++ b/desktop/onionshare/gui_common.py @@ -21,7 +21,7 @@ along with this program. If not, see . import os import shutil from pkg_resources import resource_filename -from PySide6 import QtCore, QtWidgets, QtGui +from qtpy import QtCore, QtWidgets, QtGui from . import strings from onionshare_cli.onion import ( @@ -624,9 +624,11 @@ class ToggleCheckbox(QtWidgets.QCheckBox): x = ( rect.width() - rect.x() - self.w + 20 ) # 20 is the padding between text and toggle + x = int(x) y = ( self.height() / 2 - self.h / 2 + 16 ) # 16 is the padding top for the checkbox + y = int(y) self.toggleRect = QtCore.QRect(x, y, self.w, self.h) painter.setBrush(QtGui.QColor(self.bg_color)) painter.drawRoundedRect(x, y, self.w, self.h, self.h / 2, self.h / 2) diff --git a/desktop/onionshare/main_window.py b/desktop/onionshare/main_window.py index 986f8720..c119183c 100644 --- a/desktop/onionshare/main_window.py +++ b/desktop/onionshare/main_window.py @@ -20,7 +20,7 @@ along with this program. If not, see . import os import time -from PySide6 import QtCore, QtWidgets, QtGui +from qtpy import QtCore, QtWidgets, QtGui from . import strings from .widgets import Alert diff --git a/desktop/onionshare/moat_dialog.py b/desktop/onionshare/moat_dialog.py index 6e33a047..a55ee1a4 100644 --- a/desktop/onionshare/moat_dialog.py +++ b/desktop/onionshare/moat_dialog.py @@ -18,7 +18,7 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . """ -from PySide6 import QtCore, QtWidgets, QtGui +from qtpy import QtCore, QtWidgets, QtGui import requests import os import base64 diff --git a/desktop/onionshare/settings_parent_tab.py b/desktop/onionshare/settings_parent_tab.py index 08815c1d..4369ad72 100644 --- a/desktop/onionshare/settings_parent_tab.py +++ b/desktop/onionshare/settings_parent_tab.py @@ -1,4 +1,4 @@ -from PySide6 import QtCore, QtWidgets, QtGui +from qtpy import QtCore, QtWidgets, QtGui from onionshare_cli.mode_settings import ModeSettings diff --git a/desktop/onionshare/settings_tab.py b/desktop/onionshare/settings_tab.py index ad911412..03cfb816 100644 --- a/desktop/onionshare/settings_tab.py +++ b/desktop/onionshare/settings_tab.py @@ -18,7 +18,7 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . """ -from PySide6 import QtCore, QtWidgets, QtGui +from qtpy import QtCore, QtWidgets, QtGui import platform import datetime from onionshare_cli.settings import Settings diff --git a/desktop/onionshare/tab/mode/__init__.py b/desktop/onionshare/tab/mode/__init__.py index 34d78cbd..e8344c11 100644 --- a/desktop/onionshare/tab/mode/__init__.py +++ b/desktop/onionshare/tab/mode/__init__.py @@ -18,7 +18,7 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . """ -from PySide6 import QtCore, QtWidgets +from qtpy import QtCore, QtWidgets from onionshare_cli.common import AutoStopTimer diff --git a/desktop/onionshare/tab/mode/chat_mode/__init__.py b/desktop/onionshare/tab/mode/chat_mode/__init__.py index cb4f6911..554fb9b6 100644 --- a/desktop/onionshare/tab/mode/chat_mode/__init__.py +++ b/desktop/onionshare/tab/mode/chat_mode/__init__.py @@ -18,7 +18,7 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . """ -from PySide6 import QtCore, QtWidgets, QtGui +from qtpy import QtCore, QtWidgets, QtGui from onionshare_cli.web import Web diff --git a/desktop/onionshare/tab/mode/file_selection.py b/desktop/onionshare/tab/mode/file_selection.py index c03ecaa1..ba99e8a9 100644 --- a/desktop/onionshare/tab/mode/file_selection.py +++ b/desktop/onionshare/tab/mode/file_selection.py @@ -19,7 +19,7 @@ along with this program. If not, see . """ import os -from PySide6 import QtCore, QtWidgets, QtGui +from qtpy import QtCore, QtWidgets, QtGui from ... import strings from ...widgets import Alert, AddFileDialog diff --git a/desktop/onionshare/tab/mode/history.py b/desktop/onionshare/tab/mode/history.py index ad8af099..f4692f7b 100644 --- a/desktop/onionshare/tab/mode/history.py +++ b/desktop/onionshare/tab/mode/history.py @@ -22,9 +22,11 @@ import time import subprocess import os from datetime import datetime -from PySide6 import QtCore, QtWidgets, QtGui + +from qtpy import QtCore, QtWidgets, QtGui from urllib.parse import unquote + from ... import strings from ...widgets import Alert from ...gui_common import GuiCommon @@ -122,7 +124,7 @@ class ShareHistoryItem(HistoryItem): self.progress_bar.setAttribute(QtCore.Qt.WA_DeleteOnClose) self.progress_bar.setAlignment(QtCore.Qt.AlignHCenter) self.progress_bar.setMinimum(0) - self.progress_bar.setMaximum(total_bytes / 1024) + self.progress_bar.setMaximum(total_bytes // 1024) self.progress_bar.setValue(0) self.progress_bar.setStyleSheet( self.common.gui.css["downloads_uploads_progress_bar"] @@ -141,7 +143,7 @@ class ShareHistoryItem(HistoryItem): def update(self, downloaded_bytes): self.downloaded_bytes = downloaded_bytes - self.progress_bar.setValue(downloaded_bytes / 1024) + self.progress_bar.setValue(downloaded_bytes // 1024) if (downloaded_bytes / 1024) == (self.progress_bar.total_bytes / 1024): pb_fmt = strings._("gui_all_modes_progress_complete").format( self.common.format_seconds(time.time() - self.started) @@ -393,8 +395,8 @@ class ReceiveHistoryItem(HistoryItem): total_uploaded_bytes += data["progress"][filename]["uploaded_bytes"] # Update the progress bar - self.progress_bar.setMaximum(self.content_length / 1024) - self.progress_bar.setValue(total_uploaded_bytes / 1024) + self.progress_bar.setMaximum(self.content_length // 1024) + self.progress_bar.setValue(total_uploaded_bytes // 1024) elapsed = datetime.now() - self.started if elapsed.seconds < 10: @@ -529,7 +531,7 @@ class IndividualFileHistoryItem(HistoryItem): else: self.total_bytes = data["filesize"] self.progress_bar.setMinimum(0) - self.progress_bar.setMaximum(data["filesize"] / 1024) + self.progress_bar.setMaximum(data["filesize"] // 1024) self.progress_bar.total_bytes = data["filesize"] # Start at 0 @@ -538,7 +540,7 @@ class IndividualFileHistoryItem(HistoryItem): def update(self, downloaded_bytes): self.downloaded_bytes = downloaded_bytes - self.progress_bar.setValue(downloaded_bytes / 1024) + self.progress_bar.setValue(downloaded_bytes // 1024) if (downloaded_bytes / 1024) == (self.progress_bar.total_bytes / 1024): self.status_code_label.setText("200") self.status_code_label.setStyleSheet( diff --git a/desktop/onionshare/tab/mode/mode_settings_widget.py b/desktop/onionshare/tab/mode/mode_settings_widget.py index 9a8cd441..315adde5 100644 --- a/desktop/onionshare/tab/mode/mode_settings_widget.py +++ b/desktop/onionshare/tab/mode/mode_settings_widget.py @@ -18,7 +18,7 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . """ -from PySide6 import QtCore, QtWidgets +from qtpy import QtCore, QtWidgets from ... import strings diff --git a/desktop/onionshare/tab/mode/receive_mode/__init__.py b/desktop/onionshare/tab/mode/receive_mode/__init__.py index bfa85459..49714a4c 100644 --- a/desktop/onionshare/tab/mode/receive_mode/__init__.py +++ b/desktop/onionshare/tab/mode/receive_mode/__init__.py @@ -19,7 +19,7 @@ along with this program. If not, see . """ import os -from PySide6 import QtCore, QtWidgets, QtGui +from qtpy import QtCore, QtWidgets, QtGui from onionshare_cli.web import Web diff --git a/desktop/onionshare/tab/mode/share_mode/__init__.py b/desktop/onionshare/tab/mode/share_mode/__init__.py index daa35a4d..e7d14aa4 100644 --- a/desktop/onionshare/tab/mode/share_mode/__init__.py +++ b/desktop/onionshare/tab/mode/share_mode/__init__.py @@ -19,7 +19,7 @@ along with this program. If not, see . """ import os -from PySide6 import QtCore, QtWidgets, QtGui +from qtpy import QtCore, QtWidgets, QtGui from onionshare_cli.common import Common from onionshare_cli.web import Web diff --git a/desktop/onionshare/tab/mode/share_mode/threads.py b/desktop/onionshare/tab/mode/share_mode/threads.py index 77a5cb6c..d8f7e8ef 100644 --- a/desktop/onionshare/tab/mode/share_mode/threads.py +++ b/desktop/onionshare/tab/mode/share_mode/threads.py @@ -18,7 +18,7 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . """ -from PySide6 import QtCore +from qtpy import QtCore class CompressThread(QtCore.QThread): diff --git a/desktop/onionshare/tab/mode/website_mode/__init__.py b/desktop/onionshare/tab/mode/website_mode/__init__.py index 47614cae..c2320222 100644 --- a/desktop/onionshare/tab/mode/website_mode/__init__.py +++ b/desktop/onionshare/tab/mode/website_mode/__init__.py @@ -20,7 +20,7 @@ along with this program. If not, see . import os -from PySide6 import QtCore, QtWidgets, QtGui +from qtpy import QtCore, QtWidgets, QtGui from onionshare_cli.common import Common from onionshare_cli.web import Web diff --git a/desktop/onionshare/tab/server_status.py b/desktop/onionshare/tab/server_status.py index 185033c4..79be25cb 100644 --- a/desktop/onionshare/tab/server_status.py +++ b/desktop/onionshare/tab/server_status.py @@ -18,8 +18,8 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . """ import textwrap -from PySide6 import QtCore, QtWidgets, QtGui -from PySide6.QtCore import Qt +from qtpy import QtCore, QtWidgets, QtGui +from qtpy.QtCore import Qt from .. import strings from ..widgets import Alert diff --git a/desktop/onionshare/tab/tab.py b/desktop/onionshare/tab/tab.py index ab6cc3e5..766a381e 100644 --- a/desktop/onionshare/tab/tab.py +++ b/desktop/onionshare/tab/tab.py @@ -19,7 +19,7 @@ along with this program. If not, see . """ import queue -from PySide6 import QtCore, QtWidgets, QtGui +from qtpy import QtCore, QtWidgets, QtGui from onionshare_cli.onionshare import OnionShare from onionshare_cli.web import Web @@ -69,11 +69,11 @@ class NewTabButton(QtWidgets.QPushButton): self.title_label.setStyleSheet(self.common.gui.css["new_tab_title_text"]) if self.title_label.sizeHint().width() >= 250: self.title_label.setGeometry( - (self.width() - 250) / 2, self.height() - 120, 250, 60 + (self.width() - 250) // 2, self.height() - 120, 250, 60 ) else: self.title_label.setGeometry( - (self.width() - 250) / 2, self.height() - 100, 250, 30 + (self.width() - 250) // 2, self.height() - 100, 250, 30 ) self.title_label.show() @@ -82,7 +82,7 @@ class NewTabButton(QtWidgets.QPushButton): self.text_label.setAlignment(QtCore.Qt.AlignCenter) self.text_label.setStyleSheet(self.common.gui.css["new_tab_button_text"]) self.text_label.setGeometry( - (self.width() - 200) / 2, self.height() - 50, 200, 30 + (self.width() - 200) // 2, self.height() - 50, 200, 30 ) self.text_label.show() diff --git a/desktop/onionshare/tab_widget.py b/desktop/onionshare/tab_widget.py index 2a867ba5..29a68f34 100644 --- a/desktop/onionshare/tab_widget.py +++ b/desktop/onionshare/tab_widget.py @@ -18,7 +18,7 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . """ -from PySide6 import QtCore, QtWidgets, QtGui +from qtpy import QtCore, QtWidgets, QtGui from onionshare_cli.mode_settings import ModeSettings diff --git a/desktop/onionshare/threads.py b/desktop/onionshare/threads.py index 6eeeb97f..4386d33f 100644 --- a/desktop/onionshare/threads.py +++ b/desktop/onionshare/threads.py @@ -21,7 +21,7 @@ along with this program. If not, see . import time import json import os -from PySide6 import QtCore +from qtpy import QtCore from onionshare_cli.onion import ( TorErrorInvalidSetting, diff --git a/desktop/onionshare/tor_connection.py b/desktop/onionshare/tor_connection.py index f87967ef..7021189c 100644 --- a/desktop/onionshare/tor_connection.py +++ b/desktop/onionshare/tor_connection.py @@ -19,7 +19,7 @@ along with this program. If not, see . """ import time -from PySide6 import QtCore, QtWidgets +from qtpy import QtCore, QtWidgets from onionshare_cli.onion import ( BundledTorCanceled, diff --git a/desktop/onionshare/tor_settings_tab.py b/desktop/onionshare/tor_settings_tab.py index a7aa4bbb..22f974fc 100644 --- a/desktop/onionshare/tor_settings_tab.py +++ b/desktop/onionshare/tor_settings_tab.py @@ -18,7 +18,7 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . """ -from PySide6 import QtCore, QtWidgets, QtGui +from qtpy import QtCore, QtWidgets, QtGui import sys import platform import os diff --git a/desktop/onionshare/update_checker.py b/desktop/onionshare/update_checker.py index e40a8c77..3bd6412b 100644 --- a/desktop/onionshare/update_checker.py +++ b/desktop/onionshare/update_checker.py @@ -18,7 +18,7 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . """ -from PySide6 import QtCore +from qtpy import QtCore import datetime import re import socks diff --git a/desktop/onionshare/widgets.py b/desktop/onionshare/widgets.py index 2eacc771..e2f101d1 100644 --- a/desktop/onionshare/widgets.py +++ b/desktop/onionshare/widgets.py @@ -18,7 +18,7 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . """ -from PySide6 import QtCore, QtWidgets, QtGui +from qtpy import QtCore, QtWidgets, QtGui import qrcode from . import strings diff --git a/desktop/tests/conftest.py b/desktop/tests/conftest.py index 73517e62..5d1e562d 100644 --- a/desktop/tests/conftest.py +++ b/desktop/tests/conftest.py @@ -2,7 +2,7 @@ import sys import os from datetime import datetime, timedelta -from PySide6 import QtTest +from qtpy import QtTest # Force tests to look for resources in the source code tree diff --git a/desktop/tests/gui_base_test.py b/desktop/tests/gui_base_test.py index af391a0d..d2a24d04 100644 --- a/desktop/tests/gui_base_test.py +++ b/desktop/tests/gui_base_test.py @@ -7,7 +7,7 @@ import secrets import platform import sys -from PySide6 import QtCore, QtTest, QtWidgets +from qtpy import QtCore, QtTest, QtWidgets from onionshare_cli.common import Common diff --git a/desktop/tests/test_gui_chat.py b/desktop/tests/test_gui_chat.py index 1b5e4e6d..9f7365b7 100644 --- a/desktop/tests/test_gui_chat.py +++ b/desktop/tests/test_gui_chat.py @@ -1,6 +1,6 @@ import requests -from PySide6 import QtTest +from qtpy import QtTest from .gui_base_test import GuiBaseTest diff --git a/desktop/tests/test_gui_receive.py b/desktop/tests/test_gui_receive.py index 11f2d609..5136c70c 100644 --- a/desktop/tests/test_gui_receive.py +++ b/desktop/tests/test_gui_receive.py @@ -6,7 +6,7 @@ import shutil import sys from datetime import datetime, timedelta -from PySide6 import QtCore, QtTest +from qtpy import QtCore, QtTest from .gui_base_test import GuiBaseTest diff --git a/desktop/tests/test_gui_share.py b/desktop/tests/test_gui_share.py index f0c460f2..cf13efc3 100644 --- a/desktop/tests/test_gui_share.py +++ b/desktop/tests/test_gui_share.py @@ -3,7 +3,7 @@ import requests import tempfile import zipfile -from PySide6 import QtCore, QtTest +from qtpy import QtCore, QtTest from .gui_base_test import GuiBaseTest diff --git a/desktop/tests/test_gui_tabs.py b/desktop/tests/test_gui_tabs.py index b0e24666..92dae1ad 100644 --- a/desktop/tests/test_gui_tabs.py +++ b/desktop/tests/test_gui_tabs.py @@ -1,6 +1,6 @@ import os -from PySide6 import QtCore, QtTest, QtWidgets +from qtpy import QtCore, QtTest, QtWidgets from .gui_base_test import GuiBaseTest diff --git a/desktop/tests/test_gui_website.py b/desktop/tests/test_gui_website.py index 80093553..9f9ffa29 100644 --- a/desktop/tests/test_gui_website.py +++ b/desktop/tests/test_gui_website.py @@ -1,6 +1,6 @@ import requests -from PySide6 import QtTest +from qtpy import QtTest from .gui_base_test import GuiBaseTest