diff --git a/comictaggerlib/taggerwindow.py b/comictaggerlib/taggerwindow.py index 945889c..bf62ae1 100644 --- a/comictaggerlib/taggerwindow.py +++ b/comictaggerlib/taggerwindow.py @@ -31,6 +31,8 @@ from PyQt5 import QtCore, QtGui, QtWidgets, uic from PyQt5 import QtNetwork from PyQt5.QtCore import QUrl +from urllib.parse import urlparse + #from comicarchive import ComicArchive #from pageloader import PageLoader from .volumeselectionwindow import VolumeSelectionWindow @@ -221,6 +223,7 @@ class TaggerWindow(QtWidgets.QMainWindow): self.btnAddCredit.clicked.connect(self.addCredit) self.btnRemoveCredit.clicked.connect(self.removeCredit) self.twCredits.cellDoubleClicked.connect(self.editCredit) + self.btnOpenWebLink.clicked.connect(self.openWebLink) self.connectDirtyFlagSignals() self.pageListEditor.modified.connect(self.setDirtyFlag) self.pageListEditor.firstFrontCoverChanged.connect( @@ -409,8 +412,11 @@ class TaggerWindow(QtWidgets.QMainWindow): self.actionReportBug.triggered.connect(self.reportBug) self.actionComicTaggerForum.triggered.connect(self.showForum) - # ToolBar + # Notes Menu + self.btnOpenWebLink.setIcon( + QtGui.QIcon(ComicTaggerSettings.getGraphic('open.png'))) + # ToolBar self.actionLoad.setIcon( QtGui.QIcon(ComicTaggerSettings.getGraphic('open.png'))) self.actionLoadFolder.setIcon( @@ -1368,6 +1374,24 @@ class TaggerWindow(QtWidgets.QMainWindow): self.twCredits.removeRow(row) self.setDirtyFlag() + def openWebLink(self): + if self.leWebLink is not None: + web_link = self.leWebLink.text().strip(); + valid = False; + try: + result = urlparse(web_link) + valid = all([result.scheme in ["http", "https"], result.netloc]) + except: + pass + + if valid: + webbrowser.open_new_tab(web_link) + else: + QtWidgets.QMessageBox.warning( + self, + self.tr("Web Link"), + self.tr("Web Link is invalid.")) + def showSettings(self): settingswin = SettingsWindow(self, self.settings) diff --git a/comictaggerlib/ui/taggerwindow.ui b/comictaggerlib/ui/taggerwindow.ui index d5fcc3b..cd01647 100644 --- a/comictaggerlib/ui/taggerwindow.ui +++ b/comictaggerlib/ui/taggerwindow.ui @@ -929,11 +929,31 @@ - - - false - - + + + + + false + + + + + + + + 0 + 0 + + + + + 40 + 16777215 + + + + +