Merge 52ab1a9bab07ef4f61805fba06b0dbe849673621 into 16644b009f99e53b8b271c4bd1a50e6260e1935b

This commit is contained in:
mig5 2025-04-14 10:07:28 +00:00 committed by GitHub
commit d1a242a8f1
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
59 changed files with 242 additions and 136 deletions

View File

@ -113,6 +113,16 @@ class GuiCommon:
return {
# OnionShareGui styles
"url_description": """
QLabel {
margin-top: 10px;
background: qlineargradient(x1:0, y1:0, x2:1, y2:0, stop:0 #eaccfc, stop:1 #d3a7f0);
color: #000000;
border: 1px solid #DDDBDA;
border-radius: 8px;
padding: 16px 8px;
}
""",
"tab_widget": """
QTabBar::tab { width: 170px; height: 30px; }
""",
@ -222,7 +232,7 @@ class GuiCommon:
subcontrol-origin: margin;
}""",
# Common styles between modes and their child widgets
"mode_settings_toggle_advanced": """
"mode_settings_toggle_scheduling": """
QPushButton {
color: #3f7fcf;
text-align: left;

View File

@ -124,10 +124,10 @@ class MainWindow(QtWidgets.QMainWindow):
self.settings_button.setAccessibleName(strings._("gui_settings_window_title"))
self.settings_button.clicked.connect(self.open_settings)
self.settings_button.setStyleSheet(self.common.gui.css["settings_button"])
self.status_bar.addPermanentWidget(self.settings_button)
self.settings_button.setToolTip(strings._("gui_settings_window_title"))
# Tabs
self.tabs = TabWidget(self.common, self.system_tray, self.status_bar, self)
self.tabs = TabWidget(self.common, self.system_tray, self.status_bar, self, self.settings_button)
self.tabs.bring_to_front.connect(self.bring_to_front)
# If we have saved persistent tabs, try opening those

View File

@ -236,8 +236,8 @@
"mode_settings_autostart_timer_checkbox": "Begin oniondiens op geskeduleerde tyd",
"mode_settings_public_checkbox": "Dit is n openbare OnionShare-diens (deaktiveer privaat sleutel)",
"mode_settings_persistent_checkbox": "Open altyd hierdie oortjie wanneer OnionShare begin word",
"mode_settings_advanced_toggle_hide": "Versteek gevorderde instellings",
"mode_settings_advanced_toggle_show": "Toon gevorderde instellings",
"mode_settings_scheduling_toggle_hide": "Versteek gevorderde instellings",
"mode_settings_scheduling_toggle_show": "Toon gevorderde instellings",
"gui_quit_warning_cancel": "Kanselleer",
"gui_quit_warning_description": "Sluit alle oortjies af, selfs indien deling in van hulle aktief is?",
"gui_close_tab_warning_cancel": "Kanselleer",

View File

@ -149,8 +149,8 @@
"mode_settings_autostart_timer_checkbox": "بدء الخدمة‬ البصلية في الميعاد المُجدوَل",
"mode_settings_public_checkbox": "هذه هي خدمة OnionShare خاصة بالعامة (تُعطّل المفتاح الخاص)",
"mode_settings_persistent_checkbox": "افتح علامة التبويب هذه دائمًا عند بدء تشغيل OnionShare (سيبقى عنوان البصل كما هو)",
"mode_settings_advanced_toggle_hide": "إخفاء الإعدادات المتقدمة",
"mode_settings_advanced_toggle_show": "عرض الإعدادات المتقدمة",
"mode_settings_scheduling_toggle_hide": "إخفاء الإعدادات المتقدمة",
"mode_settings_scheduling_toggle_show": "عرض الإعدادات المتقدمة",
"gui_quit_warning_cancel": "ألغِ",
"gui_quit_warning_description": "هل تريد الخروج وإغلاق جميع علامات التبويب، على الرغم من أن المشاركة نشطة في بعضها؟",
"gui_quit_warning_title": "هل تريد الخروج من OnionShare؟",

View File

@ -209,8 +209,8 @@
"gui_quit_warning_description": "Выйсці і закрыць усе ўкладкі, нават калі абагульванне актыўна на некаторых з іх?",
"gui_quit_warning_quit": "Выйсці",
"gui_quit_warning_cancel": "Адмяніць",
"mode_settings_advanced_toggle_show": "Паказаць дадатковыя налады",
"mode_settings_advanced_toggle_hide": "Схаваць дадатковыя налады",
"mode_settings_scheduling_toggle_show": "Паказаць дадатковыя налады",
"mode_settings_scheduling_toggle_hide": "Схаваць дадатковыя налады",
"mode_settings_title_label": "Уласная назва",
"mode_settings_persistent_checkbox": "Заўсёды адкрывайце гэту ўкладку пры запуску OnionShare",
"mode_settings_public_checkbox": "Гэта публічная служба OnionShare (адключае прыватны ключ)",

View File

@ -120,7 +120,7 @@
"gui_new_tab_receive_button": "Получете файлове",
"days_first_letter": "д",
"gui_new_tab_share_button": "Споделете файлове",
"mode_settings_advanced_toggle_show": "Разширени настройки",
"mode_settings_scheduling_toggle_show": "Разширени настройки",
"minutes_first_letter": "м",
"gui_dragdrop_sandbox_flatpak": "С цел сигурност, пясъчниците на Flatpack не поддържат влачене и пускане на файлове и папки. Вместо това използвайте бутоните.",
"gui_tab_name_share": "Споделяне",
@ -201,7 +201,7 @@
"gui_main_page_chat_button": "Започнете разговор",
"gui_all_modes_progress_eta": "{0:s}, готово след: {1:s}, %p%",
"systray_receive_started_title": "Започнато е получаване",
"mode_settings_advanced_toggle_hide": "Скриване на разширени настройки",
"mode_settings_scheduling_toggle_hide": "Скриване на разширени настройки",
"gui_close_tab_warning_receive_description": "Затваряте раздел, който получава файлове!",
"gui_status_indicator_chat_stopped": "Спряно",
"moat_solution_empty_error": "Въведете знаците от изображението",

View File

@ -151,8 +151,8 @@
"gui_close_tab_warning_close": "ঠিক আছে",
"gui_close_tab_warning_cancel": "বাতিল",
"gui_quit_warning_cancel": "বাতিল",
"mode_settings_advanced_toggle_show": "উন্নততর সেটিংস দেখাও",
"mode_settings_advanced_toggle_hide": "উন্নততর সেটিংস লুকাও",
"mode_settings_scheduling_toggle_show": "উন্নততর সেটিংস দেখাও",
"mode_settings_scheduling_toggle_hide": "উন্নততর সেটিংস লুকাও",
"mode_settings_public_checkbox": "এটি পব্লিক অনিওনশেয়ার ঠিকানা (ব্যক্তিগত কী ডিসেবল করে)",
"mode_settings_receive_data_dir_browse_button": "অনুসন্ধান করো",
"mode_settings_receive_data_dir_label": "ফাইল সংরক্ষণ করো",

View File

@ -142,8 +142,8 @@
"mode_settings_autostart_timer_checkbox": "Inicia el servei onion a una hora programada",
"mode_settings_public_checkbox": "Aquest és un servei públic d'OnionShare (desactiva la clau privada)",
"mode_settings_persistent_checkbox": "Obre aquesta pestanya automàticament en iniciar l'OnionShare",
"mode_settings_advanced_toggle_hide": "Amaga la configuració avançada",
"mode_settings_advanced_toggle_show": "Mostra la configuració avançada",
"mode_settings_scheduling_toggle_hide": "Amaga la configuració avançada",
"mode_settings_scheduling_toggle_show": "Mostra la configuració avançada",
"gui_quit_warning_cancel": "Cancel·la",
"gui_quit_warning_description": "Voleu sortir i tancar totes les pestanyes, tot i que algunes d'elles estan compartint?",
"gui_quit_warning_title": "Voleu tancar l'OnionShare?",

View File

@ -148,8 +148,8 @@
"gui_quit_warning_description": "Weşandin hîn di hinek beşan de aktîf e. Dema tu vemirînî hemû beş werin girtin. Tu bi rastî dixwazî vemirînî?",
"gui_quit_warning_quit": "Vemirîne",
"gui_quit_warning_cancel": "Betal",
"mode_settings_advanced_toggle_show": "Ayarên pêsketîtir nîsan bide",
"mode_settings_advanced_toggle_hide": "Ayarên pêşketîtir veşêre",
"mode_settings_scheduling_toggle_show": "Ayarên pêsketîtir nîsan bide",
"mode_settings_scheduling_toggle_hide": "Ayarên pêşketîtir veşêre",
"mode_settings_persistent_checkbox": "Vê beşê qeyd bike û veke dema ez OnionShare dîsa vekim",
"mode_settings_public_checkbox": "Şîfre bikar neyêne",
"mode_settings_autostart_timer_checkbox": "Servîsa onion di wextekî ayarkirî despê bike",

View File

@ -246,8 +246,8 @@
"gui_new_tab_share_button": "Sdílet soubory",
"gui_new_tab_website_button": "Hosting webové stránky",
"gui_quit_warning_cancel": "Zrušit",
"mode_settings_advanced_toggle_show": "Ukázat pokročilá nastavení",
"mode_settings_advanced_toggle_hide": "Skrýt pokročila nastavení",
"mode_settings_scheduling_toggle_show": "Ukázat pokročilá nastavení",
"mode_settings_scheduling_toggle_hide": "Skrýt pokročila nastavení",
"mode_settings_public_checkbox": "Toto je veřejná služba OnionShare (vypnout soukromý klíč)",
"mode_settings_autostart_timer_checkbox": "Spustit službu onion v naplánovaný čas",
"settings_error_bundled_tor_not_supported": "Používání verze Toru dodávané se službou OnionShare nefunguje v režimu pro vývojáře v systémech Windows a macOS.",

View File

@ -148,8 +148,8 @@
"mode_settings_receive_data_dir_browse_button": "Gennemse",
"mode_settings_receive_data_dir_label": "Gem filer i",
"mode_settings_public_checkbox": "Brug ikke en adgangskode",
"mode_settings_advanced_toggle_hide": "Skjul avancerede indstillinger",
"mode_settings_advanced_toggle_show": "Vis avancerede indstillinger",
"mode_settings_scheduling_toggle_hide": "Skjul avancerede indstillinger",
"mode_settings_scheduling_toggle_show": "Vis avancerede indstillinger",
"gui_quit_warning_cancel": "Annuller",
"gui_quit_warning_title": "Afslut OnionShare?",
"gui_close_tab_warning_cancel": "Annuller",

View File

@ -139,8 +139,8 @@
"mode_settings_autostart_timer_checkbox": "Onion-Dienst zu einem festgelegten Zeitpunkt starten",
"mode_settings_public_checkbox": "Dies ist ein öffentlicher OnionShare-Dienst (deaktiviert den privaten Schlüssel)",
"mode_settings_persistent_checkbox": "Diesen Tab immer öffnen, wenn OnionShare gestartet wird (die Onion-Adresse bleibt gleich)",
"mode_settings_advanced_toggle_hide": "Erweiterte Einstellungen ausblenden",
"mode_settings_advanced_toggle_show": "Erweiterte Einstellungen anzeigen",
"mode_settings_scheduling_toggle_hide": "Erweiterte Einstellungen ausblenden",
"mode_settings_scheduling_toggle_show": "Erweiterte Einstellungen anzeigen",
"gui_quit_warning_cancel": "Abbrechen",
"gui_quit_warning_description": "Alle Tabs beenden und schließen, obwohl das Teilen in einigen aktiv ist?",
"gui_quit_warning_title": "OnionShare beenden?",

View File

@ -143,8 +143,8 @@
"mode_settings_autostart_timer_checkbox": "Προγραμματισμένη εκκίνηση",
"mode_settings_public_checkbox": "Δημόσια υπηρεσία OnionShare (απενεργοποιεί το ιδιωτικό κλειδί)",
"mode_settings_persistent_checkbox": "Πάντοτε άνοιγμα αυτής της καρτέλας με την έναρξη του OnionShare",
"mode_settings_advanced_toggle_hide": "Απόκρυψη προχωρημένων ρυθμίσεων",
"mode_settings_advanced_toggle_show": "Εμφάνιση προχωρημένων ρυθμίσεων",
"mode_settings_scheduling_toggle_hide": "Απόκρυψη προχωρημένων ρυθμίσεων",
"mode_settings_scheduling_toggle_show": "Εμφάνιση προχωρημένων ρυθμίσεων",
"gui_quit_warning_cancel": "Άκυρο",
"gui_quit_warning_description": "Έξοδος και κλείσιμο όλων των καρτελών ακόμη και των ενεργών;",
"gui_quit_warning_title": "Έξοδος από το OnionShare;",

View File

@ -212,8 +212,8 @@
"gui_quit_warning_description": "Quit and close all tabs, even though sharing is active in some of them?",
"gui_quit_warning_quit": "Quit",
"gui_quit_warning_cancel": "Cancel",
"mode_settings_advanced_toggle_show": "Show advanced settings",
"mode_settings_advanced_toggle_hide": "Hide advanced settings",
"mode_settings_scheduling_toggle_show": "Show scheduling settings",
"mode_settings_scheduling_toggle_hide": "Hide scheduling settings",
"mode_settings_title_label": "Custom title",
"mode_settings_persistent_checkbox": "Always open this tab when OnionShare is started (the onion address will stay the same)",
"mode_settings_persistent_autostart_on_launch_checkbox": "Automatically start this onion service when OnionShare starts",

View File

@ -135,8 +135,8 @@
"mode_settings_autostart_timer_checkbox": "Iniciar el servicio cebolla a una hora determinada",
"mode_settings_public_checkbox": "Este es un servicio público OnionShare (Deshabilita clave privada)",
"mode_settings_persistent_checkbox": "Abre siempre esta pestaña cuando se inicia OnionShare",
"mode_settings_advanced_toggle_hide": "Ocultar la configuración avanzada",
"mode_settings_advanced_toggle_show": "Mostrar configuración avanzada",
"mode_settings_scheduling_toggle_hide": "Ocultar la configuración avanzada",
"mode_settings_scheduling_toggle_show": "Mostrar configuración avanzada",
"gui_quit_warning_cancel": "Cancelar",
"gui_quit_warning_description": "El modo compartir está activo en algunas de tus pestañas. Si sales, todas tus pestañas se cerrarán. ¿Estás seguro/a de que quieres salir?",
"gui_quit_warning_title": "¿Salir de OnionShare?",

View File

@ -144,7 +144,7 @@
"gui_url_instructions_public_mode": "نشانی OnionShare را در زیر ارسال کنید:",
"gui_client_auth_instructions": "سپس، کلید خصوصی برای اجازه دسترسی به خدمات OnionShare خود را ارسال کنید:",
"gui_tab_name_receive": "دریافت",
"mode_settings_advanced_toggle_hide": "عدم نمایش تنظیمات پیشرفته",
"mode_settings_scheduling_toggle_hide": "عدم نمایش تنظیمات پیشرفته",
"gui_rendezvous_cleanup_quit_early": "خروج زودهنگام",
"moat_captcha_submit": "ارسال",
"moat_solution_empty_error": "نویسه‌های در تصویر را وارد کنید",
@ -217,7 +217,7 @@
"gui_quit_warning_title": "خروج از OnionShare؟",
"gui_new_tab_chat_button": "گفتگوی ناشناس",
"gui_main_page_receive_button": "شروع دریافت",
"mode_settings_advanced_toggle_show": "نمایش تنظیمات پیشرفته",
"mode_settings_scheduling_toggle_show": "نمایش تنظیمات پیشرفته",
"mode_settings_title_label": "عنوان سفارشی",
"gui_close_tab_warning_persistent_description": "بستن زبانه دائمی و از دست رفتن نشانی پیازی مورد استفاده آن؟",
"mode_settings_persistent_checkbox": "گشودن همیشگی این زبانه هنگام آغاز پیازرسان (نشانی پیازی یکسان خواهد ماند)",

View File

@ -136,8 +136,8 @@
"mode_settings_share_autostop_sharing_checkbox": "Lopeta jakaminen kun tiedostot on lähetetty (poista valinta malhdollistaaksesi yksittäisten tiedostojen jakamisen)",
"mode_settings_public_checkbox": "Älä käytä salasanaa",
"mode_settings_persistent_checkbox": "Avaa tämä välilehti aina OnionSharen käynnistyessä",
"mode_settings_advanced_toggle_hide": "Piilota edistyneet asetukset",
"mode_settings_advanced_toggle_show": "Näytä edistyneet asetukset",
"mode_settings_scheduling_toggle_hide": "Piilota edistyneet asetukset",
"mode_settings_scheduling_toggle_show": "Näytä edistyneet asetukset",
"gui_quit_warning_cancel": "Peruuta",
"gui_quit_warning_title": "Lopetetaanko OnionShare?",
"gui_close_tab_warning_cancel": "Peruuta",

View File

@ -146,8 +146,8 @@
"mode_settings_share_autostop_sharing_checkbox": "Cesser le partage une fois que les fichiers ont été envoyés (décocher afin de permettre le téléchargement de fichiers individuels)",
"mode_settings_public_checkbox": "Ce service OnionShare est public (il désactive la clé privée)",
"mode_settings_persistent_checkbox": "Toujours ouvrir cet onglet lors du démarrage dOnionShare (ladresse oignon restera la même)",
"mode_settings_advanced_toggle_hide": "Cacher les paramètres avancés",
"mode_settings_advanced_toggle_show": "Afficher les paramètres avancés",
"mode_settings_scheduling_toggle_hide": "Cacher les paramètres avancés",
"mode_settings_scheduling_toggle_show": "Afficher les paramètres avancés",
"gui_quit_warning_cancel": "Annuler",
"gui_quit_warning_description": "Quitter et fermer tous les onglets, même si le partage est actif pour certains deux?",
"gui_quit_warning_title": "Quitter OnionShare?",

View File

@ -208,7 +208,7 @@
"gui_rendezvous_cleanup": "Ag fanacht le ciorcaid Tor a dhúnadh le bheith cinnte go bhfuil do chomhaid aistrithe.\n\nSeans go dtógfaidh sé seo cúpla nóiméad.",
"gui_quit_warning_description": "Scoir agus dún gach cluaisín, cé go bhfuil roinnt gníomhach i gcuid acu?",
"gui_color_mode_changed_notice": "Atosaigh OnionShare chun na dathanna nua a fheiceáil.",
"mode_settings_advanced_toggle_show": "Taispeáin ardsocruithe",
"mode_settings_scheduling_toggle_show": "Taispeáin ardsocruithe",
"gui_close_tab_warning_chat_description": "An bhfuil fonn ort cluaisín a dhúnadh atá ina óstáil ar fhreastalaí comhrá?",
"gui_close_tab_warning_title": "Dún cluaisín?",
"gui_url_instructions_public_mode": "Seol an seoladh OnionShare thíos:",
@ -227,7 +227,7 @@
"gui_main_page_website_button": "Tosaigh Óstáil",
"gui_close_tab_warning_share_description": "Dún cluaisín atá ag seoladh comhaid?",
"gui_close_tab_warning_receive_description": "An bhfuil fonn ort cluaisín a dhúnadh a bhfuil comhaid á bhfáil agat?",
"mode_settings_advanced_toggle_hide": "Folaigh ardsocruithe",
"mode_settings_scheduling_toggle_hide": "Folaigh ardsocruithe",
"mode_settings_persistent_checkbox": "Oscail an cluaisín seo i gcónaí nuair a thosaíonn OnionShare (fanfaidh an seoladh oinniúin mar a chéile)",
"mode_settings_autostop_timer_checkbox": "Cuir stop leis an tseirbhís oinniún ag an am sceidealta",
"mode_settings_website_disable_csp_checkbox": "Ná seol ceanntásc réamhshocraithe Beartas Slándála Inneachair (a ligeann do do shuíomh Gréasáin acmhainní tríú páirtí a úsáid)",

View File

@ -149,8 +149,8 @@
"gui_quit_warning_description": "Saír e pechar todas as pestanas, incluso aquelas que están compartindo de xeito activo?",
"gui_quit_warning_quit": "Saír",
"gui_quit_warning_cancel": "Cancelar",
"mode_settings_advanced_toggle_show": "Mostrar axustes avanzados",
"mode_settings_advanced_toggle_hide": "Agochar axustes avanzados",
"mode_settings_scheduling_toggle_show": "Mostrar axustes avanzados",
"mode_settings_scheduling_toggle_hide": "Agochar axustes avanzados",
"mode_settings_persistent_checkbox": "Abrir sempre esta pestana cando se inicia OnionShare",
"mode_settings_public_checkbox": "Este é un servizo OnionShare público (desactiva a chave privada)",
"mode_settings_autostart_timer_checkbox": "Iniciar o servizo onion na hora programada",

View File

@ -91,8 +91,8 @@
"mode_settings_autostart_timer_checkbox": "निर्धारित समय पर अनियन सर्विस शुरू करें",
"mode_settings_public_checkbox": "यह एक पब्लिक अनियन शेयर सर्विस है (कि अक्षम करे )",
"mode_settings_title_label": "कस्टम टाइटल",
"mode_settings_advanced_toggle_hide": "एडवांस्ड सेटिंग छुपाए",
"mode_settings_advanced_toggle_show": "एडवांस्ड सेटिंग दिखाएं",
"mode_settings_scheduling_toggle_hide": "एडवांस्ड सेटिंग छुपाए",
"mode_settings_scheduling_toggle_show": "एडवांस्ड सेटिंग दिखाएं",
"gui_quit_warning_cancel": "रद्द करना",
"gui_quit_warning_description": "आपके कुछ टैब में शेरिंग सक्रिय है। यदि आप छोड़ते हैं, तो आपके सभी टैब बंद हो जाएंगे। क्या आप वाकई छोड़ना चाहते हैं?",
"gui_quit_warning_title": "क्या आप सुनिचित हैः?",

View File

@ -139,8 +139,8 @@
"mode_settings_autostart_timer_checkbox": "Pokreni onion uslugu u planirano vrijeme",
"mode_settings_public_checkbox": "Ovo je javna OnionShare usluga (deaktivira privatni ključ)",
"mode_settings_persistent_checkbox": "Uvijek otvori ovu karticu kad se pokrene OnionShare (onion adresa će ostati ista)",
"mode_settings_advanced_toggle_hide": "Sakrij napredne postavke",
"mode_settings_advanced_toggle_show": "Prikaži napredne postavke",
"mode_settings_scheduling_toggle_hide": "Sakrij napredne postavke",
"mode_settings_scheduling_toggle_show": "Prikaži napredne postavke",
"gui_quit_warning_cancel": "Odustani",
"gui_quit_warning_description": "Prekinuti i zatvoriti sve kartice, iako je u nekima od njih dijeljenje aktivno?",
"gui_quit_warning_title": "Prekinuti OnionShare?",

View File

@ -87,7 +87,7 @@
"moat_captcha_submit": "Elküldés",
"gui_status_indicator_chat_working": "Indítás…",
"gui_settings_theme_auto": "Automatikus",
"mode_settings_advanced_toggle_show": "Speciális beállítások megjelenítése",
"mode_settings_scheduling_toggle_show": "Speciális beállítások megjelenítése",
"gui_autoconnect_start": "Csatlakozás a Tor-hoz",
"gui_quit_warning_cancel": "Mégsem",
"gui_remove": "Eltávolítás",

View File

@ -60,7 +60,7 @@
"gui_status_indicator_chat_working": "Մեկնարկում է…",
"systray_share_canceled_title": "Տարածումը չեղարկվեց",
"gui_main_page_share_button": "Սկսել տարածումը",
"mode_settings_advanced_toggle_hide": "Թաքցնել ընդլայնված կարգավորումները",
"mode_settings_scheduling_toggle_hide": "Թաքցնել ընդլայնված կարգավորումները",
"days_first_letter": "օ",
"gui_status_indicator_share_stopped": "Պատրաստ է տարածմանը",
"gui_tab_name_share": "Տարածել",
@ -96,7 +96,7 @@
"gui_main_page_website_button": "Սկսել հյուրընկալումը",
"gui_new_tab_website_button": "Հյուրընկալել վեբկայք",
"gui_tab_name_receive": "Ստանալ",
"mode_settings_advanced_toggle_show": "Ցուցադրել ընդլայնված կարգավորումները",
"mode_settings_scheduling_toggle_show": "Ցուցադրել ընդլայնված կարգավորումները",
"mode_settings_title_label": "Հարմարեցված վերնագիր",
"mode_settings_receive_disable_files_checkbox": "Կարողազրկել ֆայլերի վերբեռնումը",
"error_port_not_available": "OnionShare-ի մատույցը հասանելի չէ",

View File

@ -128,8 +128,8 @@
"mode_settings_autostart_timer_checkbox": "Mulai layanan onion pada waktu yang dijadwalkan",
"mode_settings_public_checkbox": "Jangan gunakan kata sandi",
"mode_settings_persistent_checkbox": "Simpan tab ini, dan secara otomatis membukanya saat saya membuka OnionShare",
"mode_settings_advanced_toggle_hide": "Sembunyikan pengaturan lanjut",
"mode_settings_advanced_toggle_show": "Tampilkan pengaturan lanjut",
"mode_settings_scheduling_toggle_hide": "Sembunyikan pengaturan lanjut",
"mode_settings_scheduling_toggle_show": "Tampilkan pengaturan lanjut",
"gui_quit_warning_cancel": "Batal",
"gui_new_tab_receive_button": "Terima File",
"gui_new_tab_share_button": "Bagikan file",

View File

@ -145,10 +145,10 @@
"mode_settings_autostart_timer_checkbox": "Ræsa onion-þjónustu á áætluðum tíma",
"gui_quit_warning_title": "Hætta í OnionShare?",
"gui_new_tab_share_button": "Deila skrám",
"mode_settings_advanced_toggle_show": "Birta ítarlegar stillingar",
"mode_settings_scheduling_toggle_show": "Birta ítarlegar stillingar",
"gui_new_tab_tooltip": "Opna nýjan flipa",
"gui_new_tab_receive_button": "Taka á móti skrám",
"mode_settings_advanced_toggle_hide": "Fela ítarlegar stillingar",
"mode_settings_scheduling_toggle_hide": "Fela ítarlegar stillingar",
"gui_quit_warning_cancel": "Hætta við",
"gui_close_tab_warning_title": "Loka flipa?",
"gui_new_tab_website_button": "Hýsa vefsvæði",

View File

@ -132,8 +132,8 @@
"gui_website_mode_no_files": "Nessun sito web condiviso al momento",
"history_requests_tooltip": "{} richieste web",
"gui_chat_start_server": "Avvia il server della chat",
"mode_settings_advanced_toggle_hide": "Nascondi le impostazioni avanzate",
"mode_settings_advanced_toggle_show": "Mostra impostazioni avanzate",
"mode_settings_scheduling_toggle_hide": "Nascondi le impostazioni avanzate",
"mode_settings_scheduling_toggle_show": "Mostra impostazioni avanzate",
"gui_tab_name_chat": "Chat",
"gui_tab_name_website": "Sito web",
"gui_tab_name_receive": "Ricevi",

View File

@ -139,8 +139,8 @@
"mode_settings_autostart_timer_checkbox": "指定の日時に Onion Service を開始",
"mode_settings_public_checkbox": "公開の OnionShare のサービスとして設定(秘密鍵が無効となります)",
"mode_settings_persistent_checkbox": "OnionShare の起動時に常にこのタブを開く (Onion アドレスは変更されません)",
"mode_settings_advanced_toggle_hide": "詳細設定を非表示",
"mode_settings_advanced_toggle_show": "詳細設定を表示",
"mode_settings_scheduling_toggle_hide": "詳細設定を非表示",
"mode_settings_scheduling_toggle_show": "詳細設定を表示",
"gui_quit_warning_cancel": "キャンセル",
"gui_quit_warning_description": "共有を行っているタブがありますが、すべてのタブを閉じてもよろしいですか?",
"gui_quit_warning_title": "OnionShare を終了しますか?",

View File

@ -142,7 +142,7 @@
"gui_settings_stop_active_tabs_label": "មានសេវាកម្មផ្សេងទៀតដែលកំពុងដំណើរការនៅក្នុងផ្ទាំងមួយចំនួនរបស់អ្នក។\nអ្នកត្រូវតែបញ្ឈប់សេវាកម្មទាំងអស់ដើម្បីផ្លាស់ប្តូរការកំណត់ Tor របស់អ្នក។",
"mode_settings_persistent_checkbox": "បើកផ្ទាំង​ tab នេះជានិច្ច នៅពេលដែល OnionShare ត្រូវបានចាប់ផ្តើម",
"mode_settings_autostop_timer_checkbox": "បញ្ឈប់សេវាកម្ម Onion តាមពេលវេលាកំណត់",
"mode_settings_advanced_toggle_hide": "លាក់ការកំណត់កម្រិតខ្ពស់",
"mode_settings_scheduling_toggle_hide": "លាក់ការកំណត់កម្រិតខ្ពស់",
"mode_settings_public_checkbox": "នេះគឺជាសេវាកម្ម OnionShare សាធារណៈ (បិទកូនសោសម្ងាត់)",
"mode_settings_receive_data_dir_label": "រក្សាទុកឯកសារទៅ",
"mode_settings_receive_disable_text_checkbox": "បិទការដាក់ស្នើអត្ថបទ",
@ -190,7 +190,7 @@
"gui_close_tab_warning_cancel": "បោះបង់",
"gui_quit_warning_title": "បិទ OnionShare?",
"gui_quit_warning_cancel": "បោះបង់",
"mode_settings_advanced_toggle_show": "បង្ហាញការកំណត់កម្រិតខ្ពស់",
"mode_settings_scheduling_toggle_show": "បង្ហាញការកំណត់កម្រិតខ្ពស់",
"mode_settings_receive_data_dir_browse_button": "រុករក",
"mode_settings_receive_webhook_url_checkbox": "ប្រើ webhook ជូនដំណឹង",
"mode_settings_website_custom_csp_checkbox": "ផ្ញើ header គោលការណ៍សុវត្ថិភាពមាតិកាដែលអាចកែប្រែដោយខ្លួនឯងបាន",

View File

@ -146,8 +146,8 @@
"gui_quit_warning_description": "Išeiti ir uždaryti visus skirtukus, net jei kai kuriuose iš jų yra aktyvus bendrinimas?",
"gui_quit_warning_quit": "Išeiti",
"gui_quit_warning_cancel": "Atsisakyti",
"mode_settings_advanced_toggle_show": "Rodyti išplėstinius nustatymus",
"mode_settings_advanced_toggle_hide": "Slėpti išplėstinius nustatymus",
"mode_settings_scheduling_toggle_show": "Rodyti išplėstinius nustatymus",
"mode_settings_scheduling_toggle_hide": "Slėpti išplėstinius nustatymus",
"mode_settings_persistent_checkbox": "Visada atidaryti šį skirtuką paleidus „OnionShare“",
"mode_settings_public_checkbox": "Tai yra vieša „OnionShare“ paslauga (išjungia privatųjį raktą)",
"mode_settings_autostart_timer_checkbox": "Pradėti onion paslaugos paleidimą suplanuotu laiku",

View File

@ -131,8 +131,8 @@
"gui_website_mode_no_files": "Ingen nettside delt enda",
"incorrect_password": "Feil passord",
"history_requests_tooltip": "{} vevforespørsler",
"mode_settings_advanced_toggle_hide": "Skjul avanserte innstillinger",
"mode_settings_advanced_toggle_show": "Vis avanserte innstillinger",
"mode_settings_scheduling_toggle_hide": "Skjul avanserte innstillinger",
"mode_settings_scheduling_toggle_show": "Vis avanserte innstillinger",
"gui_quit_warning_cancel": "Avbryt",
"gui_quit_warning_title": "Lukk OnionShare?",
"gui_close_tab_warning_cancel": "Avbryt",

View File

@ -133,8 +133,8 @@
"history_requests_tooltip": "{} webverzoeken",
"mode_settings_share_autostop_sharing_checkbox": "Stop met het delen van bestanden nadat ze verzonden zijn (afvinken om het downloaden van individuele bestanden toe te staan)",
"mode_settings_public_checkbox": "Geen wachtwoord gebruiken",
"mode_settings_advanced_toggle_hide": "Verberg geavanceerde instellingen",
"mode_settings_advanced_toggle_show": "Toon geavanceerde instellingen",
"mode_settings_scheduling_toggle_hide": "Verberg geavanceerde instellingen",
"mode_settings_scheduling_toggle_show": "Toon geavanceerde instellingen",
"gui_quit_warning_cancel": "Annuleren",
"gui_quit_warning_title": "OnionShare sluiten?",
"gui_close_tab_warning_cancel": "Annuleren",

View File

@ -165,8 +165,8 @@
"mode_settings_autostart_timer_checkbox": "Uruchom usługę cebulową w zaplanowanym czasie",
"mode_settings_public_checkbox": "To jest publiczny serwis OnionShare (wyłącza klucz prywatny)",
"mode_settings_persistent_checkbox": "Zawsze otwieraj tę kartę po uruchomieniu OnionShare (adres onion pozostanie taki sam)",
"mode_settings_advanced_toggle_hide": "Ukryj ustawienia zaawansowane",
"mode_settings_advanced_toggle_show": "Pokaż ustawienia zaawansowane",
"mode_settings_scheduling_toggle_hide": "Ukryj ustawienia zaawansowane",
"mode_settings_scheduling_toggle_show": "Pokaż ustawienia zaawansowane",
"gui_quit_warning_cancel": "Anuluj",
"gui_quit_warning_description": "Wyjść i zamknąć wszystke karty, mimo że udostępnianie jest aktywne w niektórych z nich?",
"gui_quit_warning_title": "Zakończyć OnionShare?",

View File

@ -139,8 +139,8 @@
"mode_settings_autostart_timer_checkbox": "Iniciar serviço de onion na hora programada",
"mode_settings_public_checkbox": "Este é um serviço público OnionShare (desativa a chave privada)",
"mode_settings_persistent_checkbox": "Abrir sempre esta aba quando o OnionShare é inicializado",
"mode_settings_advanced_toggle_hide": "Ocultar configurações avançadas",
"mode_settings_advanced_toggle_show": "Mostrar configurações avançadas",
"mode_settings_scheduling_toggle_hide": "Ocultar configurações avançadas",
"mode_settings_scheduling_toggle_show": "Mostrar configurações avançadas",
"gui_quit_warning_cancel": "Cancelar",
"gui_quit_warning_description": "Sair e fechar todas as abas, embora a partilha de ficheiros esteja ativa em algumas delas?",
"gui_quit_warning_title": "Sair do OnionShare?",

View File

@ -131,8 +131,8 @@
"mode_settings_autostop_timer_checkbox": "Parar serviço Onion na hora agendada",
"mode_settings_autostart_timer_checkbox": "Iniciar serviço Onion na hora agendada",
"mode_settings_public_checkbox": "Não utilizar uma palavra-passe",
"mode_settings_advanced_toggle_hide": "Ocultar definições avançadas",
"mode_settings_advanced_toggle_show": "Mostrar definições avançadas",
"mode_settings_scheduling_toggle_hide": "Ocultar definições avançadas",
"mode_settings_scheduling_toggle_show": "Mostrar definições avançadas",
"gui_quit_warning_cancel": "Cancelar",
"gui_quit_warning_title": "Tem a certeza?",
"gui_close_tab_warning_cancel": "Cancelar",

View File

@ -141,8 +141,8 @@
"mode_settings_autostart_timer_checkbox": "Запустить onion-сервис в назначенное время",
"mode_settings_public_checkbox": "Это публичная версия сервиса OnionShare (секретный ключ не используется)",
"mode_settings_persistent_checkbox": "Показывать эту вкладку при запуске OnionShare",
"mode_settings_advanced_toggle_hide": "Спрятать дополнительные настройки",
"mode_settings_advanced_toggle_show": "Показать дополнительные настройки",
"mode_settings_scheduling_toggle_hide": "Спрятать дополнительные настройки",
"mode_settings_scheduling_toggle_show": "Показать дополнительные настройки",
"gui_quit_warning_cancel": "Отменить",
"gui_quit_warning_description": "Выйти и закрыть все вкладки, несмотря на то, что в некоторых из них раздаются файлы?",
"gui_quit_warning_title": "Закрыть OnionShare?",

View File

@ -148,8 +148,8 @@
"gui_quit_warning_description": "Ukončiť a zatvoriť všetky karty, aj keď je zdieľanie v niektorých z nich aktívne?",
"gui_quit_warning_quit": "Ukončiť",
"gui_quit_warning_cancel": "Zrušiť",
"mode_settings_advanced_toggle_show": "Zobraziť rozšírené nastavenia",
"mode_settings_advanced_toggle_hide": "Skryť rozšírené nastavenia",
"mode_settings_scheduling_toggle_show": "Zobraziť rozšírené nastavenia",
"mode_settings_scheduling_toggle_hide": "Skryť rozšírené nastavenia",
"mode_settings_persistent_checkbox": "Vždy otvoriť túto kartu pri spustení služby OnionShare (adresa onion zostane rovnaká)",
"mode_settings_public_checkbox": "Toto je verejná služba OnionShare ( vypne súkromný kľúč)",
"mode_settings_autostart_timer_checkbox": "Spustiť onion službu v plánovanom čase",

View File

@ -130,9 +130,9 @@
"gui_tab_name_website": "tovuti",
"gui_close_tab_warning_title": "funga ukurasa?",
"gui_quit_warning_cancel": "sitisha",
"mode_settings_advanced_toggle_show": "onyesha mpangilio wenye ubora",
"mode_settings_scheduling_toggle_show": "onyesha mpangilio wenye ubora",
"mode_settings_title_label": "kichwa cha habari kuu",
"mode_settings_advanced_toggle_hide": "ficha mpangilio ulioboreshwa",
"mode_settings_scheduling_toggle_hide": "ficha mpangilio ulioboreshwa",
"gui_all_modes_transfer_finished_range": "imehamishwa{}-[]",
"mode_settings_receive_data_dir_label": "hifadhi faili kwa",
"gui_all_modes_transfer_finished": "imehamishwa {}",

View File

@ -209,8 +209,8 @@
"gui_quit_warning_description": "Të dilet dhe të mbyllen krejt skedat, edhe pse në disa prej tyre po kryhet ende ndarje me të tjerë?",
"gui_quit_warning_quit": "Dilni",
"gui_quit_warning_cancel": "Anuloje",
"mode_settings_advanced_toggle_show": "Shfaq rregullime të mëtejshme",
"mode_settings_advanced_toggle_hide": "Fshihi rregullimet e mëtejshme",
"mode_settings_scheduling_toggle_show": "Shfaq rregullime të mëtejshme",
"mode_settings_scheduling_toggle_hide": "Fshihi rregullimet e mëtejshme",
"mode_settings_title_label": "Titull vetjak",
"mode_settings_persistent_checkbox": "Hape përherë këtë skedë, kur niset OnionShare (adresa Onion do të mbetet po ajo)",
"mode_settings_public_checkbox": "Ky është një shërbim OnionShare publik (çaktivizon kyç publik)",

View File

@ -149,8 +149,8 @@
"mode_settings_persistent_checkbox": "Sačuvaj ovaj jezičak i automatski ga otvori kada otvorim OnionShare",
"gui_quit_warning_cancel": "Otkaži",
"gui_close_tab_warning_cancel": "Otkaži",
"mode_settings_advanced_toggle_hide": "Sakrij napredne postavke",
"mode_settings_advanced_toggle_show": "Prikaži napredne postavke",
"mode_settings_scheduling_toggle_hide": "Sakrij napredne postavke",
"mode_settings_scheduling_toggle_show": "Prikaži napredne postavke",
"gui_quit_warning_title": "Da li ste sigurni?",
"gui_close_tab_warning_close": "U redu",
"gui_close_tab_warning_title": "Da li ste sigurni?",

View File

@ -140,8 +140,8 @@
"mode_settings_autostop_timer_checkbox": "Stoppa oniontjänsten vid schemalagd tid",
"mode_settings_public_checkbox": "Detta är en offentlig OnionShare-tjänst (inaktiverar den privata nyckeln)",
"mode_settings_persistent_checkbox": "Öppna alltid den här fliken när OnionShare startas",
"mode_settings_advanced_toggle_hide": "Dölj avancerade inställningar",
"mode_settings_advanced_toggle_show": "Visa avancerade inställningar",
"mode_settings_scheduling_toggle_hide": "Dölj avancerade inställningar",
"mode_settings_scheduling_toggle_show": "Visa avancerade inställningar",
"gui_quit_warning_cancel": "Avbryt",
"gui_quit_warning_description": "Vill du vsluta och stänga alla flikar, även om delning är aktiv i några av dem?",
"gui_quit_warning_title": "Avsluta OnionShare?",

View File

@ -241,8 +241,8 @@
"gui_main_page_website_button": "Anza Kuendesha",
"gui_main_page_chat_button": "Anza Mawasiliano",
"gui_tab_name_receive": "Pokea",
"mode_settings_advanced_toggle_show": "Onyesha mpangilio ulioboreshwa zaidi",
"mode_settings_advanced_toggle_hide": "Ficha mpangilio ulioboreshwa",
"mode_settings_scheduling_toggle_show": "Onyesha mpangilio ulioboreshwa zaidi",
"mode_settings_scheduling_toggle_hide": "Ficha mpangilio ulioboreshwa",
"mode_settings_title_label": "Kichwa cha habari kuu",
"mode_settings_receive_webhook_url_checkbox": "Tumia taarifa webhook",
"gui_rendezvous_cleanup": "subiri mzunguko wa Tor ufungwe ili kuwa na uhakika kama mafaili yako yamehamishwa.\n\ninaweza kuchukua dakika chache.",

View File

@ -71,7 +71,7 @@
"gui_all_modes_progress_eta": "{0: с}, இது: {1: с}, %n %",
"hours_first_letter": "ம",
"gui_autoconnect_circumventing_censorship": "இணைப்பு சிக்கல்களைத் தீர்ப்பது…",
"mode_settings_advanced_toggle_show": "மேம்பட்ட அமைப்புகளைக் காட்டு",
"mode_settings_scheduling_toggle_show": "மேம்பட்ட அமைப்புகளைக் காட்டு",
"update_error_invalid_latest_version": "புதிய பதிப்பைச் சரிபார்க்க முடியவில்லை: வெங்காயர் வலைத்தளம் அண்மைக் கால பதிப்பு அடையாளம் காண முடியாத '{}' என்று கூறுகிறது…",
"gui_settings_moat_bridges_invalid": "Torproject.org இலிருந்து ஒரு பாலத்தை நீங்கள் இன்னும் கோரவில்லை.",
"gui_main_page_share_button": "பகிர்வைத் தொடங்குங்கள்",
@ -227,7 +227,7 @@
"gui_main_page_chat_button": "அரட்டையடிக்கத் தொடங்குங்கள்",
"gui_quit_warning_title": "வெங்காயத்தை விட்டு வெளியேறவா?",
"gui_quit_warning_description": "அவற்றில் சிலவற்றில் பகிர்வு செயலில் இருந்தாலும், எல்லா தாவல்களையும் விட்டுவிட்டு மூடுங்கள்?",
"mode_settings_advanced_toggle_hide": "மேம்பட்ட அமைப்புகளை மறைக்கவும்",
"mode_settings_scheduling_toggle_hide": "மேம்பட்ட அமைப்புகளை மறைக்கவும்",
"mode_settings_title_label": "தனிப்பயன் தலைப்பு",
"mode_settings_persistent_checkbox": "வெங்காயவைத் தொடங்கும்போது எப்போதும் இந்த தாவலைத் திறக்கவும்",
"mode_settings_public_checkbox": "இது ஒரு பொது வெங்காய பணி (தனியார் விசையை முடக்குகிறது)",

View File

@ -139,8 +139,8 @@
"mode_settings_autostart_timer_checkbox": "Onion hizmeti şu zamanda başlatılsın",
"mode_settings_public_checkbox": "Bu, herkese açık bir OnionShare hizmetidir (kişisel anahtarı devre dışı bırakır)",
"mode_settings_persistent_checkbox": "OnionShare başlatıldığında her zaman bu sekmeyi aç",
"mode_settings_advanced_toggle_hide": "Gelişmiş ayarları gizle",
"mode_settings_advanced_toggle_show": "Gelişmiş ayarları görüntüle",
"mode_settings_scheduling_toggle_hide": "Gelişmiş ayarları gizle",
"mode_settings_scheduling_toggle_show": "Gelişmiş ayarları görüntüle",
"gui_quit_warning_cancel": "İptal",
"gui_quit_warning_description": "Bazılarında paylaşım etkin olsa bile tüm sekmelerden çıkıp kapatılsın mı?",
"gui_quit_warning_title": "OnionShare'den çıkılsın mı?",

View File

@ -141,8 +141,8 @@
"mode_settings_autostart_timer_checkbox": "Запускати службу onion у запланований час",
"mode_settings_public_checkbox": "Це загальнодоступна служба OnionShare (вимикає приватний ключ)",
"mode_settings_persistent_checkbox": "Завжди відкривати цю вкладку під час запуску OnionShare (onion-адреса залишиться та ж сама)",
"mode_settings_advanced_toggle_hide": "Сховати розширені налаштування",
"mode_settings_advanced_toggle_show": "Показати розширені налаштування",
"mode_settings_scheduling_toggle_hide": "Сховати розширені налаштування",
"mode_settings_scheduling_toggle_show": "Показати розширені налаштування",
"gui_quit_warning_description": "Вийти та закрити всі вкладки, навіть якщо спільний доступ активний на деяких з них?",
"gui_close_tab_warning_receive_description": "Закрити вкладку на яку отримуються файли?",
"gui_close_tab_warning_share_description": "Закрити вкладку з якої надсилаються файли?",

View File

@ -209,8 +209,8 @@
"gui_quit_warning_description": "Thoát và đóng tất cả các tab, mặc dù tính năng chia sẻ vẫn đang hoạt động ở một số tab chứ?",
"gui_quit_warning_quit": "Thoát",
"gui_quit_warning_cancel": "Hủy bỏ",
"mode_settings_advanced_toggle_show": "Hiển thị cài đặt nâng cao",
"mode_settings_advanced_toggle_hide": "Ẩn các cài đặt nâng cao",
"mode_settings_scheduling_toggle_show": "Hiển thị cài đặt nâng cao",
"mode_settings_scheduling_toggle_hide": "Ẩn các cài đặt nâng cao",
"mode_settings_title_label": "Tiêu đề tùy chỉnh",
"mode_settings_persistent_checkbox": "Luôn mở tab này khi khởi động OnionShare",
"mode_settings_public_checkbox": "Đây là dịch vụ OnionShare công cộng (tắt khóa key riêng tư)",

View File

@ -139,8 +139,8 @@
"mode_settings_autostart_timer_checkbox": "定时启动洋葱服务",
"mode_settings_public_checkbox": "这是一个公共 OnionShare 服务(禁用私钥)",
"mode_settings_persistent_checkbox": "启动 OnionShare 时始终打开此标签页(洋葱地址将保持不变)",
"mode_settings_advanced_toggle_hide": "隐藏高级选项",
"mode_settings_advanced_toggle_show": "显示高级选项",
"mode_settings_scheduling_toggle_hide": "隐藏高级选项",
"mode_settings_scheduling_toggle_show": "显示高级选项",
"gui_quit_warning_cancel": "取消",
"gui_quit_warning_description": "一些标签页还在共享,是否退出并关闭所有标签页?",
"gui_quit_warning_title": "退出 OnionShare",

View File

@ -134,7 +134,7 @@
"mode_settings_receive_data_dir_browse_button": "瀏覽",
"mode_settings_receive_data_dir_label": "儲存檔案至",
"mode_settings_public_checkbox": "不要使用密碼",
"mode_settings_advanced_toggle_hide": "隱藏進階設定",
"mode_settings_scheduling_toggle_hide": "隱藏進階設定",
"gui_close_tab_warning_title": "關閉標籤頁?",
"gui_quit_warning_cancel": "取消",
"gui_quit_warning_title": "停止 OnionShare ?",
@ -144,7 +144,7 @@
"gui_new_tab": "新分頁",
"gui_new_tab_tooltip": "開啟新分頁",
"gui_new_tab_share_button": "分享檔案",
"mode_settings_advanced_toggle_show": "顯示進階設定",
"mode_settings_scheduling_toggle_show": "顯示進階設定",
"gui_tab_name_chat": "聊天",
"gui_tab_name_website": "網站",
"gui_tab_name_receive": "接收",

View File

@ -23,6 +23,7 @@ from PySide6 import QtCore, QtWidgets, QtGui
from onionshare_cli.web import Web
from .. import Mode
from ..settings_button import SettingsButton
from .... import strings
from ....widgets import MinimumSizeWidget
from ....gui_common import GuiCommon
@ -85,10 +86,14 @@ class ChatMode(Mode):
chat_mode_explainer.setMinimumHeight(80)
chat_mode_explainer.setWordWrap(True)
# Settings button
self.settings_button = SettingsButton(self.common, self.tab.tab_widget)
# Top bar
top_bar_layout = QtWidgets.QHBoxLayout()
# Add space at the top, same height as the toggle history bar in other modes
top_bar_layout.addWidget(MinimumSizeWidget(0, 30))
top_bar_layout.addWidget(self.settings_button)
# Main layout
self.main_layout = QtWidgets.QVBoxLayout()

View File

@ -139,31 +139,31 @@ class ModeSettingsWidget(QtWidgets.QScrollArea):
autostop_timer_layout.addWidget(self.autostop_timer_checkbox)
autostop_timer_layout.addWidget(self.autostop_timer_widget)
# Toggle advanced settings
self.toggle_advanced_button = QtWidgets.QPushButton()
self.toggle_advanced_button.clicked.connect(self.toggle_advanced_clicked)
self.toggle_advanced_button.setFlat(True)
self.toggle_advanced_button.setStyleSheet(
self.common.gui.css["mode_settings_toggle_advanced"]
# Toggle scheduling settings
self.toggle_scheduling_button = QtWidgets.QPushButton()
self.toggle_scheduling_button.clicked.connect(self.toggle_scheduling_clicked)
self.toggle_scheduling_button.setFlat(True)
self.toggle_scheduling_button.setStyleSheet(
self.common.gui.css["mode_settings_toggle_scheduling"]
)
# 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)
self.advanced_widget = QtWidgets.QWidget()
self.advanced_widget.setLayout(advanced_layout)
self.advanced_widget.hide()
# Scheduling group itself
self.scheduling_layout = QtWidgets.QVBoxLayout()
self.scheduling_layout.setContentsMargins(0, 0, 0, 0)
self.scheduling_layout.addLayout(autostart_timer_layout)
self.scheduling_layout.addLayout(autostop_timer_layout)
self.scheduling_layout.addWidget(self.persistent_autostart_on_launch_checkbox)
self.scheduling_widget = QtWidgets.QWidget()
self.scheduling_widget.setLayout(self.scheduling_layout)
self.scheduling_widget.hide()
layout = QtWidgets.QVBoxLayout()
layout.addLayout(self.mode_specific_layout)
layout.addLayout(title_layout)
layout.addWidget(self.persistent_checkbox)
layout.addWidget(self.persistent_autostart_on_launch_checkbox)
layout.addWidget(self.public_checkbox)
layout.addWidget(self.advanced_widget)
layout.addWidget(self.toggle_advanced_button)
layout.addLayout(self.mode_specific_layout)
layout.addWidget(self.scheduling_widget)
layout.addWidget(self.toggle_scheduling_button)
layout.addStretch()
main_widget = QtWidgets.QWidget()
main_widget.setLayout(layout)
@ -177,14 +177,14 @@ class ModeSettingsWidget(QtWidgets.QScrollArea):
self.update_ui()
def update_ui(self):
# Update text on advanced group toggle button
if self.advanced_widget.isVisible():
self.toggle_advanced_button.setText(
strings._("mode_settings_advanced_toggle_hide")
# Update text on scheduling group toggle button
if self.scheduling_widget.isVisible():
self.toggle_scheduling_button.setText(
strings._("mode_settings_scheduling_toggle_hide")
)
else:
self.toggle_advanced_button.setText(
strings._("mode_settings_advanced_toggle_show")
self.toggle_scheduling_button.setText(
strings._("mode_settings_scheduling_toggle_show")
)
def title_editing_finished(self):
@ -255,11 +255,11 @@ class ModeSettingsWidget(QtWidgets.QScrollArea):
else:
self.autostop_timer_widget.hide()
def toggle_advanced_clicked(self):
if self.advanced_widget.isVisible():
self.advanced_widget.hide()
def toggle_scheduling_clicked(self):
if self.scheduling_widget.isVisible():
self.scheduling_widget.hide()
else:
self.advanced_widget.show()
self.scheduling_widget.show()
self.update_ui()

View File

@ -24,6 +24,7 @@ from PySide6 import QtCore, QtWidgets, QtGui
from onionshare_cli.web import Web
from ..history import History, ToggleHistory, ReceiveHistoryItem
from ..settings_button import SettingsButton
from .. import Mode
from .... import strings
from ....widgets import MinimumSizeWidget, Alert
@ -175,10 +176,14 @@ class ReceiveMode(Mode):
receive_warning.setMinimumHeight(80)
receive_warning.setWordWrap(True)
# Settings button
self.settings_button = SettingsButton(self.common, self.tab.tab_widget)
# Top bar
top_bar_layout = QtWidgets.QHBoxLayout()
top_bar_layout.addStretch()
top_bar_layout.addWidget(self.toggle_history)
top_bar_layout.addWidget(self.settings_button)
# Main layout
self.main_layout = QtWidgets.QVBoxLayout()

View File

@ -0,0 +1,54 @@
# -*- coding: utf-8 -*-
"""
OnionShare | https://onionshare.org/
Copyright (C) 2014-2022 Micah Lee, et al. <micah@micahflee.com>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
"""
from PySide6 import QtWidgets, QtGui
from ... import strings
from ...gui_common import GuiCommon
class SettingsButton(QtWidgets.QPushButton):
"""
Widget for toggling showing or hiding the history, as well as keeping track
of the indicator counter if it's hidden
"""
def __init__(self, common, tab_widget):
super(SettingsButton, self).__init__()
self.common = common
self.tab_widget = tab_widget
self.setDefault(False)
self.setFixedSize(40, 50)
self.setIcon(
QtGui.QIcon(
GuiCommon.get_resource_path(
"images/{}_settings.png".format(self.common.gui.color_mode)
)
)
)
self.setAccessibleName(strings._("gui_settings_window_title"))
self.clicked.connect(self.open_settings)
self.setStyleSheet(self.common.gui.css["settings_button"])
self.setToolTip(strings._("gui_settings_window_title"))
def open_settings(self):
self.common.log("SettingsButton", "open settings")
self.tab_widget.open_settings_tab()

View File

@ -28,6 +28,7 @@ from .threads import CompressThread
from .. import Mode
from ..file_selection import FileSelection
from ..history import History, ToggleHistory, ShareHistoryItem
from ..settings_button import SettingsButton
from .... import strings
from ....widgets import MinimumSizeWidget
from ....gui_common import GuiCommon
@ -61,7 +62,7 @@ class ShareMode(Mode):
else:
self.autostop_sharing_checkbox.setCheckState(QtCore.Qt.Unchecked)
self.mode_settings_widget.mode_specific_layout.addWidget(
self.mode_settings_widget.scheduling_layout.addWidget(
self.autostop_sharing_checkbox
)
@ -141,12 +142,16 @@ class ShareMode(Mode):
),
)
# Settings button
self.settings_button = SettingsButton(self.common, self.tab.tab_widget)
# Top bar
top_bar_layout = QtWidgets.QHBoxLayout()
top_bar_layout.addWidget(self.info_label)
top_bar_layout.addStretch()
top_bar_layout.addWidget(self.remove_all_button)
top_bar_layout.addWidget(self.toggle_history)
top_bar_layout.addWidget(self.settings_button)
# Primary action layout
self.primary_action_layout.addWidget(self.filesize_warning)

View File

@ -28,6 +28,7 @@ from onionshare_cli.web import Web
from .. import Mode
from ..file_selection import FileSelection
from ..history import History, ToggleHistory
from ..settings_button import SettingsButton
from .... import strings
from ....widgets import MinimumSizeWidget
from ....gui_common import GuiCommon
@ -163,12 +164,16 @@ class WebsiteMode(Mode):
),
)
# Settings button
self.settings_button = SettingsButton(self.common, self.tab.tab_widget)
# Top bar
top_bar_layout = QtWidgets.QHBoxLayout()
top_bar_layout.addWidget(self.info_label)
top_bar_layout.addStretch()
top_bar_layout.addWidget(self.remove_all_button)
top_bar_layout.addWidget(self.toggle_history)
top_bar_layout.addWidget(self.settings_button)
# Primary action layout
self.primary_action_layout.addWidget(self.filesize_warning)

View File

@ -81,6 +81,7 @@ class ServerStatus(QtWidgets.QWidget):
self.url_description = QtWidgets.QLabel()
self.url_description.setWordWrap(True)
self.url_description.setMinimumHeight(50)
self.url_description.setStyleSheet(self.common.gui.css["url_description"])
# URL sharing instructions, above the URL and Copy Address/QR Code buttons
self.url_instructions = QtWidgets.QLabel()

View File

@ -102,6 +102,8 @@ class Tab(QtWidgets.QWidget):
tab_id,
system_tray,
status_bar,
tab_widget,
settings_button,
filenames=None,
):
super(Tab, self).__init__()
@ -111,6 +113,8 @@ class Tab(QtWidgets.QWidget):
self.tab_id = tab_id
self.system_tray = system_tray
self.status_bar = status_bar
self.tab_widget = tab_widget
self.settings_button = settings_button
self.filenames = filenames
self.mode = None
@ -190,7 +194,17 @@ class Tab(QtWidgets.QWidget):
new_tab_bottom_layout.addStretch()
new_tab_layout = QtWidgets.QVBoxLayout()
new_tab_layout.addStretch()
# Add the settings button to a new top-right layout
top_settings_layout = QtWidgets.QHBoxLayout()
top_settings_layout.addStretch() # Move to the right
top_settings_layout.addWidget(self.settings_button)
# Ensure the settings button is always shown on the New Tab
# screen, including after all other tabs are closed.
self.new_tab_settings_button = self.settings_button
self.new_tab_settings_button.show()
new_tab_layout.addLayout(top_settings_layout)
new_tab_layout.addLayout(new_tab_top_layout)
new_tab_layout.addLayout(new_tab_bottom_layout)
new_tab_layout.addStretch()
@ -261,10 +275,12 @@ class Tab(QtWidgets.QWidget):
self.common.log("Tab", "share_mode_clicked")
self.mode = self.common.gui.MODE_SHARE
self.new_tab.hide()
self.new_tab_settings_button.hide()
self.share_mode = ShareMode(self)
self.share_mode.change_persistent.connect(self.change_persistent)
# Attach the Settings icon to the top right of the mode
self.layout.addWidget(self.share_mode)
self.share_mode.show()
@ -296,6 +312,7 @@ class Tab(QtWidgets.QWidget):
self.common.log("Tab", "receive_mode_clicked")
self.mode = self.common.gui.MODE_RECEIVE
self.new_tab.hide()
self.new_tab_settings_button.hide()
self.receive_mode = ReceiveMode(self)
self.receive_mode.change_persistent.connect(self.change_persistent)
@ -333,6 +350,7 @@ class Tab(QtWidgets.QWidget):
self.common.log("Tab", "website_mode_clicked")
self.mode = self.common.gui.MODE_WEBSITE
self.new_tab.hide()
self.new_tab_settings_button.hide()
self.website_mode = WebsiteMode(self)
self.website_mode.change_persistent.connect(self.change_persistent)
@ -370,6 +388,7 @@ class Tab(QtWidgets.QWidget):
self.common.log("Tab", "chat_mode_clicked")
self.mode = self.common.gui.MODE_CHAT
self.new_tab.hide()
self.new_tab_settings_button.hide()
self.chat_mode = ChatMode(self)
self.chat_mode.change_persistent.connect(self.change_persistent)

View File

@ -37,7 +37,7 @@ class TabWidget(QtWidgets.QTabWidget):
bring_to_front = QtCore.Signal()
def __init__(self, common, system_tray, status_bar, window):
def __init__(self, common, system_tray, status_bar, window, settings_button):
super(TabWidget, self).__init__()
self.common = common
self.common.log("TabWidget", "__init__")
@ -45,6 +45,7 @@ class TabWidget(QtWidgets.QTabWidget):
self.system_tray = system_tray
self.status_bar = status_bar
self.window = window
self.settings_button = settings_button
# Keep track of tabs in a dictionary that maps tab_id to tab.
# Each tab has a unique, auto-incremented id (tab_id). This is different than the
@ -196,7 +197,7 @@ class TabWidget(QtWidgets.QTabWidget):
def add_tab(self, mode_settings=None):
self.common.log("TabWidget", "add_tab", f"mode_settings: {mode_settings}")
tab = Tab(self.common, self.current_tab_id, self.system_tray, self.status_bar)
tab = Tab(self.common, self.current_tab_id, self.system_tray, self.status_bar, self, self.settings_button)
tab.change_title.connect(self.change_title)
tab.change_icon.connect(self.change_icon)
tab.change_persistent.connect(self.change_persistent)

View File

@ -192,7 +192,7 @@ class TestReceive(GuiBaseTest):
Test autostop timer
"""
tab = self.new_receive_tab()
tab.get_mode().mode_settings_widget.toggle_advanced_button.click()
tab.get_mode().mode_settings_widget.toggle_scheduling_button.click()
tab.get_mode().mode_settings_widget.autostop_timer_checkbox.click()
self.run_all_common_setup_tests()

View File

@ -256,7 +256,7 @@ class TestShare(GuiBaseTest):
If autostart timer is after autostop timer, a warning should be thrown
"""
tab = self.new_share_tab()
tab.get_mode().mode_settings_widget.toggle_advanced_button.click()
tab.get_mode().mode_settings_widget.toggle_scheduling_button.click()
tab.get_mode().mode_settings_widget.autostart_timer_checkbox.click()
tab.get_mode().mode_settings_widget.autostop_timer_checkbox.click()
@ -280,7 +280,7 @@ class TestShare(GuiBaseTest):
Autostart timer should automatically start
"""
tab = self.new_share_tab()
tab.get_mode().mode_settings_widget.toggle_advanced_button.click()
tab.get_mode().mode_settings_widget.toggle_scheduling_button.click()
tab.get_mode().mode_settings_widget.autostart_timer_checkbox.click()
self.run_all_common_setup_tests()
@ -301,7 +301,7 @@ class TestShare(GuiBaseTest):
Autostart timer should throw a warning if the scheduled time is too soon
"""
tab = self.new_share_tab()
tab.get_mode().mode_settings_widget.toggle_advanced_button.click()
tab.get_mode().mode_settings_widget.toggle_scheduling_button.click()
tab.get_mode().mode_settings_widget.autostart_timer_checkbox.click()
def accept_dialog():
@ -325,7 +325,7 @@ class TestShare(GuiBaseTest):
Test canceling a scheduled share
"""
tab = self.new_share_tab()
tab.get_mode().mode_settings_widget.toggle_advanced_button.click()
tab.get_mode().mode_settings_widget.toggle_scheduling_button.click()
tab.get_mode().mode_settings_widget.autostart_timer_checkbox.click()
self.run_all_common_setup_tests()
@ -440,7 +440,7 @@ class TestShare(GuiBaseTest):
Test the autostop timer
"""
tab = self.new_share_tab()
tab.get_mode().mode_settings_widget.toggle_advanced_button.click()
tab.get_mode().mode_settings_widget.toggle_scheduling_button.click()
tab.get_mode().mode_settings_widget.autostop_timer_checkbox.click()
self.run_all_common_setup_tests()
@ -458,7 +458,7 @@ class TestShare(GuiBaseTest):
Test the autostop timer when the timeout is too short
"""
tab = self.new_share_tab()
tab.get_mode().mode_settings_widget.toggle_advanced_button.click()
tab.get_mode().mode_settings_widget.toggle_scheduling_button.click()
tab.get_mode().mode_settings_widget.autostop_timer_checkbox.click()
def accept_dialog():
@ -504,7 +504,7 @@ class TestShare(GuiBaseTest):
clipboard contains the ClientAuth string
"""
tab = self.new_share_tab()
tab.get_mode().mode_settings_widget.toggle_advanced_button.click()
tab.get_mode().mode_settings_widget.toggle_scheduling_button.click()
self.run_all_common_setup_tests()
self.run_all_share_mode_setup_tests(tab)
@ -587,7 +587,8 @@ class TestShare(GuiBaseTest):
# Click on persistence
tab.get_mode().mode_settings_widget.persistent_checkbox.click()
# Autostart on launch is now visible
# Autostart on launch is now visible if you click the Scheduling settings
tab.get_mode().mode_settings_widget.toggle_scheduling_button.click()
self.assertTrue(tab.get_mode().mode_settings_widget.persistent_autostart_on_launch_checkbox.isVisible())
# Click off persistence