Commit Graph

947 Commits

Author SHA1 Message Date
Micah Lee
a9d55e9169
Remove watchdog, replace with a simple background thread 2020-04-06 19:26:45 -07:00
Miguel Jacq
a7856d5dcb
Fix logic that checks if auto-start timer setting is enabled, so that it checks real settings and not widget instantiation. Ensure the auto-start and auto-stop widgets show their datetime widget on start-up if the setting was already enabled. 2020-04-06 15:29:33 +10:00
Micah Lee
aebc96142f
Clean up watchdog thread when quitting, which avoids segfaults 2020-03-22 21:32:53 -07:00
Saptak S
819e406d46
Create GUI for onionshare chat mode with the tab workflow 2020-03-09 17:44:00 +05:30
codyroberts
4c18a72616 Made URL selectable by mouse and keyboard, commented out self.copy_url() to prevent overwriting clipboard 2019-12-14 20:23:53 -06:00
Micah Lee
a217e54d28
Refactor Onion to store all state for auto-start timer directly in the mode settings, and not in the Onion object itself 2019-12-08 12:51:30 -08:00
Micah Lee
de57a2ce55
After you start a server in a tab, you can't change legacy/client auth settings, because this would require changing the saved onion key 2019-12-08 10:29:00 -08:00
Micah Lee
76d109747e
Move private_key, hidservauth_string, and password from "persistent" mode settings to "onion" mode settings; and make it so the onion settings are always saved in each tab, even if the tab is not persistent, so if you stop and start a service in the same tab it has the same onion address and password 2019-12-08 10:13:56 -08:00
Micah Lee
19e378dff4
Pass the correct args to UpdateChecker 2019-12-08 09:52:42 -08:00
Miguel Jacq
9ce2c5cedf
Ensure we always set the service id, so we can stop the right one (particularly when scheduling a share) 2019-11-29 18:40:45 +11:00
Miguel Jacq
60de9fd335
Fix the autostop sharing - a mere history item count of > 0 should not be interpreted as an in-progress download when the timer runs out 2019-11-29 16:52:00 +11:00
Miguel Jacq
35e6e88ea1
Fix up autostart (scheduled shares) 2019-11-29 16:38:34 +11:00
Micah Lee
c588783f57
Make cleaning up the onion more reliably kill the tor subprocess, and make iit so testing tor settings in the settings dialog always uses a tmp tor data dir 2019-11-28 20:32:28 -08:00
Micah Lee
849176ac54
Fix typos in comments 2019-11-28 19:30:48 -08:00
Micah Lee
bea9dc009d
When settings change, only start the timer if a mode has been selected 2019-11-28 15:52:02 -08:00
Micah Lee
b80fc5be17
Only reload settings if a mode has been selected 2019-11-28 15:46:55 -08:00
Micah Lee
780340b3e4
Stop using set_server_active, because all it was used for was to hide the buttons at the top, and we don't need that now that there are tabs 2019-11-28 15:06:19 -08:00
Micah Lee
a0197e49d7
Cleanup tabs on cleanup 2019-11-28 14:58:04 -08:00
Micah Lee
8530321e5d
When Tor settings change, make sure the tabs know 2019-11-28 14:57:01 -08:00
Micah Lee
695fecd21e
When re-ordering tabs, save the correct order in settings so they open in the correct order again later 2019-11-28 14:31:48 -08:00
Micah Lee
e316af0e11
Open share tab if filenames are passed; and when detecting existing onionshare-gui processes, ignore zombies 2019-11-28 13:35:13 -08:00
Micah Lee
58bc258507
If there is an existing onionshare-gui process, open a new tab and quit 2019-11-28 12:35:57 -08:00
Micah Lee
e7c683528d
Support handling events by monitoring an events folder for changes 2019-11-28 12:24:26 -08:00
Micah Lee
28bc37d16f
Start refactoring Onion to allow for managing a separate onion service for each tab 2019-11-10 17:55:07 -08:00
Micah Lee
f0fd0857ae
Fix bug when handling a broken tor connection 2019-11-08 21:36:54 +08:00
Micah Lee
4834e9352f
Fix bug with canceling scheduled share 2019-11-08 20:34:54 +08:00
Micah Lee
6c89ce2f28
Add test_autostart_and_autostop_timer_mismatch, and make it pass 2019-11-08 19:59:20 +08:00
Micah Lee
ed098e8981
Take public mode checkbox outside advanced settings so it's always shown 2019-11-08 18:09:10 +08:00
Micah Lee
cef0d7711b
Test closing window 2019-11-08 15:40:37 +08:00
Micah Lee
6d75468aaa
Start writing tab tests, and figure out how to test the modal dialogs 2019-11-07 13:25:47 +08:00
Micah Lee
1787adabc7
Start writing tabs tests 2019-11-03 00:47:55 -07:00
Micah Lee
d61fc45862
Make it so passing in --persistent [filename] in the CLI, with no other args, will load that persistent mode settings file and start the server, without needing to do other validations like passing in a list of filenames 2019-11-02 23:32:44 -07:00
Micah Lee
1bca467ce3
When disabling persistence, or closing a persistent tab, delete the mode settings file for that tab 2019-11-02 23:06:26 -07:00
Micah Lee
7819a894be
Make it so when you open the GUI, all of the persistent tabs automatically open as well 2019-11-02 22:55:22 -07:00
Micah Lee
a5f8fee065
Starting to make persistent tabs persistent 2019-11-02 21:45:55 -07:00
Micah Lee
1286dfa2f9
Change size of persistent image to 20x20 2019-11-02 19:10:41 -07:00
Micah Lee
01435d1eda
Move autostart and autostop timer widgets into the mode settings widget 2019-11-02 19:03:37 -07:00
Micah Lee
9f920f4353
Move mode settings widget into the primary action layout, and tweak window size 2019-11-02 18:29:24 -07:00
Micah Lee
f04452777d
Show and hide autostart/autostop timer widgets when the mode settings are toggled 2019-11-02 18:08:14 -07:00
Micah Lee
ed1c3e1bc8
Refactor ServerStatus to use mode settings 2019-11-02 17:39:27 -07:00
Micah Lee
52d5a5193b
Remove all mode settings from settings dialog 2019-11-02 17:24:06 -07:00
Micah Lee
4b416141c2
Stop worrying about common.gui.config in settings and update check 2019-11-02 17:13:06 -07:00
Micah Lee
87918c5d89
Fix CLI tests, and also fix bug related to autostop_sharing that the tests found 2019-11-02 17:01:47 -07:00
Micah Lee
598db21dcd
Remove custom config from GUI CLI args, because GUI users can configure OnionShare in the GUI 2019-11-02 15:39:12 -07:00
Micah Lee
12a1d73f91
Make the Web object load from mode settings instead of global settings 2019-11-02 14:35:51 -07:00
Micah Lee
c426cfceb2
Rename mode_settings_widget to be more clear, and fix one place that was still using tab_settings 2019-11-02 11:43:05 -07:00
Micah Lee
9534a44051
Make a new ModeSettings class in onionshare, and use this instead of tab_settings 2019-11-02 10:43:20 -07:00
Micah Lee
2984577f28
Get/set tab settings using a getter and setter function 2019-11-02 10:24:12 -07:00
Micah Lee
f2d4bddc23
When any setting is changed, update the tab settings dict 2019-11-02 10:15:18 -07:00
Micah Lee
555ae9114f
Make checking the persistent checkbox update the mode_settings dict, so closing tabs will catch that it's persistent 2019-10-27 18:48:25 -07:00
Micah Lee
b017b3268c
Make the persistent button an image label instead, and only show it whne the persistent checkbox is checked 2019-10-27 18:41:24 -07:00
Micah Lee
5e93b50f9c
Show mode settings above the columns in each mode, instead of as part of the main column 2019-10-27 18:21:04 -07:00
Micah Lee
784d6e8144
Show settings at the top of each mode, both mode-specific settings and setting that exist for all mode types 2019-10-27 18:16:48 -07:00
Micah Lee
f4e3f92c7b
Fix a few issues related to opening settings and quitting 2019-10-27 16:36:32 -07:00
Micah Lee
a14464d834
Show the server status in the tab as an icon 2019-10-27 16:32:12 -07:00
Micah Lee
b7a095d64d
Show warning when quitting while any tabs are active 2019-10-27 16:18:56 -07:00
Micah Lee
654fccc009
Add warning about closing a persistent tab 2019-10-27 16:01:30 -07:00
Micah Lee
216fbd4e87
Add persistent pin 2019-10-27 15:52:45 -07:00
Micah Lee
656d3d1564
Add settings button to the status bar 2019-10-27 15:26:56 -07:00
Micah Lee
cb83fca6bc
Add purple headers to each mode 2019-10-27 15:21:46 -07:00
Micah Lee
bbc26473c4
Open a new tab to begin with, and open a new tab when the last tab is closed 2019-10-27 15:04:04 -07:00
Micah Lee
df658a0e70
Allow closing tabs, and throw warning when trying to close tabs that contain an active server 2019-10-27 15:01:14 -07:00
Micah Lee
fd2046b976
After choosing the tab type, the title of the tab changes 2019-10-27 14:35:11 -07:00
Micah Lee
4b4020c629
When you open a new tab, make that the current tab 2019-10-27 14:23:45 -07:00
Micah Lee
f83d88b29e
Make new tab button login in the QTabWidget instead of QTabBar 2019-10-27 14:21:40 -07:00
Micah Lee
3ceab336f9
One attempt at making a new tab button 2019-10-26 22:39:59 -07:00
Micah Lee
144985b1c1
Tabs start out with new tab options, and remove the mode switcher from tabs 2019-10-26 21:56:57 -07:00
Micah Lee
6449e5183e
Add a single tab, and fix several issues with moving all the tab code into its own object 2019-10-26 21:14:47 -07:00
Micah Lee
c77db82e67
Move all of the normal onionshare logic into Tab, and make a new placeholder GUI for the main window 2019-10-20 22:08:47 -07:00
Micah Lee
b8dc0551d3
Move more logic into GuiCommon and out of MainWindow 2019-10-20 21:36:30 -07:00
Micah Lee
2a07a3572f
Move Onion and OnionShare app objects into the main window 2019-10-20 20:11:45 -07:00
Micah Lee
e51be47844
Move MODE_SHARE, MODE_RECEIVE, and MODE_WEBSITE into GuiCommon 2019-10-20 20:05:08 -07:00
Micah Lee
bba5286815
Make a new onionshare_gui.GuiCommon object, and move css from onionshare.Common into it 2019-10-20 20:01:09 -07:00
Micah Lee
4f2ce99417
Rename OnionShareGui to MainWindow 2019-10-20 19:41:20 -07:00
Micah Lee
30949cf196
Detect if another onionshare-gui process is running 2019-10-20 19:18:56 -07:00
Micah Lee
8dd60eed78
Fix syntax errors 2019-10-20 17:59:12 -07:00
Micah Lee
25b2f389db
Fix syntax error 2019-10-20 10:44:06 -07:00
Micah Lee
3a2cc8bdee
Replace .format with python 3.6 f-strings in onionshare_gui module 2019-10-20 10:30:16 -07:00
Micah Lee
3037727890
Format all code using black 2019-10-12 21:01:25 -07:00
Micah Lee
9accff1ade
Remove references to website loaded notification that never actually get displayed 2019-09-22 16:07:37 -07:00
Micah Lee
9e7a91aed2
Show the website mode URL description in website mode, instead of the share mode one 2019-09-22 15:35:14 -07:00
Micah Lee
e2b6eecf34
Merge pull request #1034 from micahflee/932_windows_systray_icon
Hide the system tray icon before closing
2019-09-22 12:57:46 -07:00
Micah Lee
26f2490673
Merge pull request #1030 from mig5/1029_optional_csp
Make setting the Content-Security-Policy header optional so it doesn't break website mode shares
2019-09-22 12:57:13 -07:00
Miguel Jacq
d8c0bc4e4f
Invert the CSP header setting and put it in its own Website Mode settings group. Make the CSP header mandatory for share/receive modes, optional for website mode only. 2019-09-22 16:49:31 +10:00
Micah Lee
2022b2b2af
Hide the system tray icon before closing 2019-09-20 18:42:40 -07:00
Micah Lee
e21bf3e80b
Merge pull request #1031 from mig5/950_persistence_fix
Persistence fix (#950)
2019-09-20 17:35:38 -07:00
Miguel Jacq
09ba78efcf
Source string suggestions from the translators on Weblate 2019-09-16 17:58:15 +10:00
Miguel Jacq
670044fa56
Ensure the backend receives the latest settings object before starting the onion service, and likewise for the GUI, so that we absolutely always save the private key for persistence back to the json settings file when we need to 2019-09-16 14:51:16 +10:00
Miguel Jacq
2524ddaf94
Make setting the Content-Security-Policy header optional so it doesn't break website mode shares 2019-09-16 12:10:17 +10:00
Micah Lee
51a1f92d99
Merge pull request #1020 from micahflee/991_sharing_code
[WIP] Share code between share mode and website mode
2019-09-15 14:52:57 -07:00
Miguel Jacq
b1aa36e805
remove unnecessary import of IndividualFileHistoryItem from share_mode/__init__.py 2019-09-09 16:43:09 +10:00
Miguel Jacq
90ebc3aab4
Fix the discrepancy between SendBaseModeWeb and Web objects' separate cur_history_id attibutes, ensuring that when we call web.error404() we send a new history_id integer for communicating back to the frontend. Add tests for this 2019-09-09 16:35:05 +10:00
Micah Lee
26c9256679
Make web requests indicator icon increment on web requests 2019-09-08 17:39:31 -07:00
Micah Lee
2219e107c4
Rename images from share_ to history_, because they are used in all modes 2019-09-08 17:27:24 -07:00
Micah Lee
41b815f0b3
Add web requests counter icon to history widget 2019-09-08 17:24:18 -07:00
Micah Lee
ece908e170
Add individual downloads label to settings dialog 2019-09-08 12:02:17 -07:00
Micah Lee
de67484f09
Don't consider individual downloads in the in_progress counter 2019-09-08 11:58:44 -07:00
Micah Lee
3f7c4a4e25
Remove method from IndividualFileHistoryItem, and only display these widgets on 200 and 404 requests, not all of the others 2019-09-08 09:35:44 -07:00
Micah Lee
c2011e6915
Make the IndividualFileHistoryItem widgets have color 2019-09-03 22:31:13 -07:00
Micah Lee
dee9e40051
Rename a few more count variables to cur_history_id 2019-09-03 22:20:52 -07:00