1+ CurrentVersion = "1.2"
12import subprocess
23from msg import cmdconfig , msgconfig
34from dialog import CustomDialog
45import browser_config
6+ from internal import about
57from subprocess import DEVNULL , STDOUT
68try :
79 subprocess .run (cmdconfig .installcmd , stdout = DEVNULL , stderr = DEVNULL )
@@ -34,25 +36,26 @@ def __init__(self):
3436 self .url_bar = QLineEdit ()
3537 self .url_bar .returnPressed .connect (self .navigateToURL )
3638 self .url_bar .setDisabled (browser_config .urlBarDisabled )
37- self .go_btn = QPushButton (msgconfig .ButtonText .homeButton )
38- self .go_btn .clicked .connect (self .navigate_to_home )
39-
40- self .back_btn = QPushButton (msgconfig .ButtonText .backButton )
41- self .back_btn .clicked .connect (self .browser .back )
42-
43- self .forward_btn = QPushButton (msgconfig .ButtonText .forwardButton )
44- self .forward_btn .clicked .connect (self .browser .forward )
45-
46- self .refresh_btn = QPushButton (msgconfig .ButtonText .refreshButton )
47- self .refresh_btn .clicked .connect (self .browser .reload )
39+ if browser_config .showHomeButton :
40+ self .go_btn = QPushButton (msgconfig .ButtonText .homeButton )
41+ self .go_btn .clicked .connect (self .navigate_to_home )
42+ if browser_config .showBackButton :
43+ self .back_btn = QPushButton (msgconfig .ButtonText .backButton )
44+ self .back_btn .clicked .connect (self .browser .back )
45+ if browser_config .showForwardButton :
46+ self .forward_btn = QPushButton (msgconfig .ButtonText .forwardButton )
47+ self .forward_btn .clicked .connect (self .browser .forward )
48+ if browser_config .showRefreshButton :
49+ self .refresh_btn = QPushButton (msgconfig .ButtonText .refreshButton )
50+ self .refresh_btn .clicked .connect (self .browser .reload )
4851
4952 # Layout for navigation bar
5053 nav_layout = QHBoxLayout ()
51- nav_layout .addWidget (self .back_btn )
52- nav_layout .addWidget (self .forward_btn )
53- nav_layout .addWidget (self .refresh_btn )
54+ if browser_config . showBackButton : nav_layout .addWidget (self .back_btn )
55+ if browser_config . showForwardButton : nav_layout .addWidget (self .forward_btn )
56+ if browser_config . showRefreshButton : nav_layout .addWidget (self .refresh_btn )
5457 nav_layout .addWidget (self .url_bar )
55- nav_layout .addWidget (self .go_btn )
58+ if browser_config . showHomeButton : nav_layout .addWidget (self .go_btn )
5659
5760 # Main layout
5861 main_layout = QVBoxLayout ()
@@ -67,6 +70,17 @@ def __init__(self):
6770 # Update URL bar when URL changes
6871 self .browser .urlChanged .connect (self .update_url_bar )
6972 def navigateToURL (self ):
73+ if self .url_bar .text ().startswith ("pb:" ) and browser_config .pbUrlsEnabled :
74+ if self .url_bar .text () == "pb:exit" and browser_config .exitURLEnabled : exit ()
75+ elif self .url_bar .text () == "pb:exit" : self .browser .setUrl (QUrl ("" ))
76+ if self .url_bar .text () == "pb:about" and browser_config .abouURLEnabled : about .ShowAbout ()
77+ elif self .url_bar .text () == "pb:about" : self .browser .setUrl (QUrl ("" ))
78+
79+ for url in browser_config .url_blocklist :
80+ if url in self .url_bar .text ():
81+ CustomDialog .NewOkDialog (msgconfig .ErrorMsg .siteBlockedError [0 ], msgconfig .ErrorMsg .siteBlockedError [1 ])
82+ self .url_bar .setText ("" )
83+ return
7084 if not self .url_bar .text ().startswith (("https://" , "http://" )):
7185 self .url_bar .setText ("http://" + self .url_bar .text ())
7286 self .browser .setUrl (QUrl (self .url_bar .text ()))
@@ -77,9 +91,6 @@ def navigate_to_home(self):
7791
7892 def update_url_bar (self , q ):
7993 self .url_bar .setText (q .toString ())
80- if str (self .browser .url ().toString ()).startswith (tuple (browser_config .url_blocklist )):
81- self .browser .setUrl (QUrl (browser_config .homepage ))
82- CustomDialog .NewOkDialog (msgconfig .ErrorMsg .siteBlockedError [0 ], msgconfig .ErrorMsg .siteBlockedError [1 ])
8394
8495
8596
0 commit comments