Compare commits

...

4 Commits

Author SHA1 Message Date
Fierelier 9aba3ebf5e Add option to allow opening multiple windows 2021-03-20 16:01:51 +01:00
Fierelier 01e77a5a0c Set focus when navigating or opening window 2021-03-20 16:00:27 +01:00
Fierelier 4e204d245f Navigate when pressing return 2021-03-20 15:59:11 +01:00
Fierelier e97e6a5efe Add more descriptions to settings 2021-03-20 15:58:25 +01:00
2 changed files with 20 additions and 3 deletions

View File

@ -1,5 +1,7 @@
[default]
# Home page, used when a new window is opened
home = https://example.com
# User agent, used to identify your browser to a website
useragent = BirdyNet/$VER ($OS)
[accessibility]

View File

@ -27,6 +27,7 @@ from qtpy.QtMultimedia import QSound
import configparser
import json
import time
browserWindows = []
os.chdir(sp)
distro = os.path.splitext(s.rsplit(os.path.sep)[-1])[0]
@ -89,10 +90,13 @@ class browserWindow(QMainWindow):
def cCreateElements(self):
self.cMenuBar = self.menuBar()
self.cFileMenu = self.cMenuBar.addMenu("File")
self.cViewMenu = self.cMenuBar.addMenu("View")
self.cFileMenu = self.cMenuBar.addMenu("&File")
self.cNewWindowButton = self.cFileMenu.addAction("New &window")
self.cNewWindowButton.triggered.connect(self.cNewWindow)
self.cViewMenu = self.cMenuBar.addMenu("&View")
self.cUrlBar = QLineEdit(config["default"]["home"],self)
self.cUrlBar.returnPressed.connect(self.cNavigate)
self.cButtonGo = QPushButton("Go",self)
self.cButtonGo.clicked.connect(self.cNavigate)
@ -104,6 +108,7 @@ class browserWindow(QMainWindow):
self.cResizeElements()
self.show()
self.cNavigate()
self.cUrlBar.setFocus()
def cResizeElements(self):
barSize = 22
@ -124,6 +129,10 @@ class browserWindow(QMainWindow):
self.cHeight = self.height()
self.cResizeElements()
def closeEvent(self,event):
browserWindows.remove(self)
event.accept()
def cNavigate(self,event = None):
try:
#print(prettyJson(parseUrl(self.cUrlBar.text())))
@ -143,12 +152,18 @@ class browserWindow(QMainWindow):
self.cDoc.cRenderHtml(response["body"].decode("utf-8",errors="ignore"))
end = time.time()
print("Rendering page: " +str(end - start))
self.cDoc.setFocus()
self.cStatusBar.showMessage("Ready")
self.update()
#print(prettyJson(response["headers"]))
except Exception as e:
self.cDoc.cRenderHtml(str(e))
raise
def cNewWindow(self):
w = browserWindow()
browserWindows.append(w)
w.show()
def main():
# load program default addons
@ -180,7 +195,7 @@ def main():
app.setWindowIcon(QtGui.QIcon("assets/BirdyNet-XP.ico"))
except Exception as e:
print("Could not set window icon: " +print(e))
window = browserWindow()
browserWindows.append(browserWindow())
sys.exit(app.exec_())