Esempio n. 1
0
    def __init__(self, parent):
        super(BookmarksPage, self).__init__()
        self.parent = parent
        self.grid = QGridLayout()

        self.title = QLabel("Favoris")
        self.title.setAlignment(Qt.AlignHCenter)
        self.listeW = ListWidget(
            self.parent.parent.dbConnection.executewithreturn(
                """SELECT * FROM bookmarks"""))
        self.liste = []
        self.supp = PushButton("Supprimer")
        self.suppAll = PushButton("Tout supprimer")
        self.addFav = PushButton("Ajouter la page aux Favoris")

        self.listeW.itemDoubleClicked.connect(self.launch)
        self.suppAll.clicked.connect(self.deleteall)
        self.supp.clicked.connect(self.delete)
        self.addFav.clicked.connect(self.addfavf)

        self.grid.addWidget(self.title, 1, 1, 1, 2)
        self.grid.addWidget(self.listeW, 2, 1, 1, 2)
        self.grid.addWidget(self.supp, 3, 1)
        self.grid.addWidget(self.suppAll, 3, 2)
        self.grid.addWidget(self.addFav, 4, 1, 1, 2)

        self.setLayout(self.grid)
Esempio n. 2
0
    def __init__(self, parent):
        super(RaccourcisPage, self).__init__()
        self.parent = parent
        self.grid = QGridLayout()

        self.title = QLabel("Raccourcis URL")
        self.title.setAlignment(Qt.AlignHCenter)
        self.listeW = ListWidget(self.parent.parent.dbConnection.executewithreturn("""SELECT * FROM raccourcis"""))
        self.liste = self.listeW.liste
        self.supp = PushButton("Supprimer")
        self.suppAll = PushButton("Tout supprimer")
        self.spacerItem = QSpacerItem(20, 20)
        self.tEntryString = "Nom du raccourci"
        self.uEntryString = "URL du raccourci"
        self.tEntry = QLineEdit(self.tEntryString)
        self.uEntry = QLineEdit(self.uEntryString)
        self.addRac = PushButton("Ajouter un raccourci URL")

        self.listeW.itemDoubleClicked.connect(self.launch)
        self.suppAll.clicked.connect(self.deleteall)
        self.supp.clicked.connect(self.delete)
        self.addRac.clicked.connect(self.addraccourci)

        self.grid.addWidget(self.title, 1, 1, 1, 2)
        self.grid.addWidget(self.listeW, 2, 1, 1, 2)
        self.grid.addWidget(self.supp, 3, 1)
        self.grid.addWidget(self.suppAll, 3, 2)
        self.grid.addItem(self.spacerItem, 4, 1, 1, 2)
        self.grid.addWidget(self.tEntry, 5, 1)
        self.grid.addWidget(self.uEntry, 5, 2)
        self.grid.addWidget(self.addRac, 6, 1, 1, 2)

        self.setLayout(self.grid)
Esempio n. 3
0
    def __init__(self, parent):
        super(ThemesPage, self).__init__()
        self.parent = parent
        self.grid = QGridLayout()

        self.title = QLabel("Thèmes")
        self.title.setAlignment(Qt.AlignHCenter)
        self.liste = [{
            "name": "Default",
            "author": "LavaPower",
            "description": "Theme par defaut",
            "folder": ""
        }]
        for i in os.listdir("Themes"):
            if "theme.json" in os.listdir("Themes/" + i):
                fichier = open("Themes/" + i + "/theme.json", "r")
                self.liste.append(json.load(fichier))
            else:
                print("ERREUR : Le theme du dossier " + i +
                      " n'a pas de json.")
        self.listeW = ListWidget(self.liste, "Themes")
        self.supp = PushButton("Supprimer")
        self.suppAll = PushButton("Tout supprimer")

        self.listeW.itemDoubleClicked.connect(self.launch)
        self.suppAll.clicked.connect(self.deleteall)
        self.supp.clicked.connect(self.delete)

        self.grid.addWidget(self.title, 1, 1, 1, 2)
        self.grid.addWidget(self.listeW, 2, 1, 1, 2)
        self.grid.addWidget(self.supp, 3, 1)
        self.grid.addWidget(self.suppAll, 3, 2)

        self.setLayout(self.grid)
Esempio n. 4
0
    def __init__(self, parent):
        super(HistoryPage, self).__init__()
        self.parent = parent
        self.grid = QGridLayout()

        self.title = QLabel("Historique")
        self.title.setAlignment(Qt.AlignHCenter)
        self.liste = self.parent.parent.dbConnection.executewithreturn("""SELECT * FROM history""")
        self.listeW = ListWidget(self.liste)
        self.supp = PushButton("Supprimer")
        self.suppAll = PushButton("Tout supprimer")
        
        self.listeW.itemDoubleClicked.connect(self.launch)
        self.suppAll.clicked.connect(self.deleteall)
        self.supp.clicked.connect(self.delete)

        self.grid.addWidget(self.title, 1, 1, 1, 2)
        self.grid.addWidget(self.listeW, 2, 1, 1, 2)
        self.grid.addWidget(self.supp, 3, 1)
        self.grid.addWidget(self.suppAll, 3, 2)

        self.setLayout(self.grid)
Esempio n. 5
0
class HistoryPage(QWidget):
    def __init__(self, parent):
        super(HistoryPage, self).__init__()
        self.parent = parent
        self.grid = QGridLayout()

        self.title = QLabel("Historique")
        self.title.setAlignment(Qt.AlignHCenter)
        self.liste = self.parent.parent.dbConnection.executewithreturn("""SELECT * FROM history""")
        self.listeW = ListWidget(self.liste)
        self.supp = PushButton("Supprimer")
        self.suppAll = PushButton("Tout supprimer")
        
        self.listeW.itemDoubleClicked.connect(self.launch)
        self.suppAll.clicked.connect(self.deleteall)
        self.supp.clicked.connect(self.delete)

        self.grid.addWidget(self.title, 1, 1, 1, 2)
        self.grid.addWidget(self.listeW, 2, 1, 1, 2)
        self.grid.addWidget(self.supp, 3, 1)
        self.grid.addWidget(self.suppAll, 3, 2)

        self.setLayout(self.grid)

    def launch(self):
        if self.listeW.currentItem():
            for i in self.liste:
                if str(i[0]) == self.listeW.currentItem().text(3):
                    self.parent.close()
                    self.parent.parent.opennewongletwithurl(i[2])
                    break

    def showupdate(self):
        self.listeW.deleteallitems()
        self.liste = self.parent.parent.dbConnection.executewithreturn("""SELECT * FROM history""")
        self.listeW.updatelist(self.liste)
        self.show()

    def delete(self):
        if self.listeW.currentItem():
            for i in self.liste:
                if str(i[0]) == self.listeW.currentItem().text(3):
                    self.parent.parent.dbConnection.executewithoutreturn(
                        """DELETE FROM history WHERE id = ?""", (i[0],))
        self.showupdate()
    
    def deleteall(self):
        self.parent.parent.dbConnection.executewithoutreturn("""DELETE FROM history""")
        self.showupdate()
Esempio n. 6
0
class RaccourcisPage(QWidget):
    def __init__(self, parent):
        super(RaccourcisPage, self).__init__()
        self.parent = parent
        self.grid = QGridLayout()

        self.title = QLabel("Raccourcis URL")
        self.title.setAlignment(Qt.AlignHCenter)
        self.listeW = ListWidget(self.parent.parent.dbConnection.executewithreturn("""SELECT * FROM raccourcis"""))
        self.liste = self.listeW.liste
        self.supp = PushButton("Supprimer")
        self.suppAll = PushButton("Tout supprimer")
        self.spacerItem = QSpacerItem(20, 20)
        self.tEntryString = "Nom du raccourci"
        self.uEntryString = "URL du raccourci"
        self.tEntry = QLineEdit(self.tEntryString)
        self.uEntry = QLineEdit(self.uEntryString)
        self.addRac = PushButton("Ajouter un raccourci URL")

        self.listeW.itemDoubleClicked.connect(self.launch)
        self.suppAll.clicked.connect(self.deleteall)
        self.supp.clicked.connect(self.delete)
        self.addRac.clicked.connect(self.addraccourci)

        self.grid.addWidget(self.title, 1, 1, 1, 2)
        self.grid.addWidget(self.listeW, 2, 1, 1, 2)
        self.grid.addWidget(self.supp, 3, 1)
        self.grid.addWidget(self.suppAll, 3, 2)
        self.grid.addItem(self.spacerItem, 4, 1, 1, 2)
        self.grid.addWidget(self.tEntry, 5, 1)
        self.grid.addWidget(self.uEntry, 5, 2)
        self.grid.addWidget(self.addRac, 6, 1, 1, 2)

        self.setLayout(self.grid)

    def launch(self):
        if self.listeW.currentItem():
            for i in self.liste:
                if str(i[0]) == self.listeW.currentItem().text(3):
                    self.parent.close()
                    self.parent.parent.opennewongletwithurl(i[2])
                    break

    def addraccourci(self):
        raccourcis = self.parent.parent.dbConnection.executewithreturn("""SELECT * FROM raccourcis""")
        for i in raccourcis:
            if i[1] == self.tEntry.text():
                QMessageBox.warning(self, "Erreur", "Ce raccourcis existe déjà.")
                return

        tentrybool = self.tEntry.text() != "" and self.tEntry.text() != self.tEntryString
        uentrybool = self.uEntry.text() != "" and self.uEntry.text() != self.uEntryString
        if tentrybool and uentrybool:
            self.parent.parent.dbConnection.executewithoutreturn(
                """INSERT INTO raccourcis(name, url, date) VALUES(?, ?, ?)""",
                (self.tEntry.text(), self.uEntry.text(), getdate())
            )
            self.showupdate()

    def showupdate(self):
        self.listeW.deleteallitems()
        self.liste = self.parent.parent.dbConnection.executewithreturn("""SELECT * FROM raccourcis""")
        self.listeW.updatelist(self.liste)

    def delete(self):
        if self.listeW.currentItem():
            for i in self.liste:
                if str(i[0]) == self.listeW.currentItem().text(3):
                    self.parent.parent.dbConnection.executewithoutreturn(
                        """DELETE FROM raccourcis WHERE id = ?""", (i[0],))
        self.showupdate()

    def deleteall(self):
        self.parent.parent.dbConnection.executewithoutreturn("""DELETE FROM raccourcis""")
        self.showupdate()
Esempio n. 7
0
class ThemesPage(QWidget):
    def __init__(self, parent):
        super(ThemesPage, self).__init__()
        self.parent = parent
        self.grid = QGridLayout()

        self.title = QLabel("Thèmes")
        self.title.setAlignment(Qt.AlignHCenter)
        self.liste = [{
            "name": "Default",
            "author": "LavaPower",
            "description": "Theme par defaut",
            "folder": ""
        }]
        for i in os.listdir("Themes"):
            if "theme.json" in os.listdir("Themes/" + i):
                fichier = open("Themes/" + i + "/theme.json", "r")
                self.liste.append(json.load(fichier))
            else:
                print("ERREUR : Le theme du dossier " + i +
                      " n'a pas de json.")
        self.listeW = ListWidget(self.liste, "Themes")
        self.supp = PushButton("Supprimer")
        self.suppAll = PushButton("Tout supprimer")

        self.listeW.itemDoubleClicked.connect(self.launch)
        self.suppAll.clicked.connect(self.deleteall)
        self.supp.clicked.connect(self.delete)

        self.grid.addWidget(self.title, 1, 1, 1, 2)
        self.grid.addWidget(self.listeW, 2, 1, 1, 2)
        self.grid.addWidget(self.supp, 3, 1)
        self.grid.addWidget(self.suppAll, 3, 2)

        self.setLayout(self.grid)

    def launch(self):
        if self.listeW.currentItem():
            for i in self.liste:
                if i["folder"] == self.listeW.currentItem().text(3):
                    self.parent.close()
                    self.parent.parent.applytheme("Themes/" + i["folder"])
                    parameters = self.parent.parent.dbConnection.executewithreturn(
                        """SELECT * FROM parameters""")
                    self.parent.parent.dbConnection.executewithoutreturn(
                        """UPDATE parameters SET theme = ? WHERE id = ?""",
                        (i["folder"], parameters[0][0]))
                    break

    def showupdate(self):
        self.listeW.deleteallitems()
        self.liste = []
        for i in os.listdir("Themes"):
            if "theme.json" in os.listdir("Themes/" + i):
                fichier = open("Themes/" + i + "/theme.json", "r")
                self.liste.append(json.load(fichier))
                fichier.close()
            else:
                print("ERREUR : Le theme du dossier " + i +
                      " n'a pas de json.")
        self.listeW.updatelist(self.liste)
        self.show()

    def delete(self):
        if self.listeW.currentItem():
            for i in self.liste:
                if i["folder"] == self.listeW.currentItem().text(3):
                    contenu = os.listdir("Themes/" + i["folder"])
                    for x in contenu:
                        os.remove("Themes/" + i["folder"] + "/" + x)
                    os.rmdir("Themes/" + i["folder"])
        self.showupdate()

    def deleteall(self):
        for i in self.liste:
            contenu = os.listdir("Themes/" + i["folder"])
            for x in contenu:
                os.remove("Themes/" + i["folder"] + "/" + x)
            os.rmdir("Themes/" + i["folder"])
        self.showupdate()
Esempio n. 8
0
class BookmarksPage(QWidget):
    def __init__(self, parent):
        super(BookmarksPage, self).__init__()
        self.parent = parent
        self.grid = QGridLayout()

        self.title = QLabel("Favoris")
        self.title.setAlignment(Qt.AlignHCenter)
        self.listeW = ListWidget(
            self.parent.parent.dbConnection.executewithreturn(
                """SELECT * FROM bookmarks"""))
        self.liste = []
        self.supp = PushButton("Supprimer")
        self.suppAll = PushButton("Tout supprimer")
        self.addFav = PushButton("Ajouter la page aux Favoris")

        self.listeW.itemDoubleClicked.connect(self.launch)
        self.suppAll.clicked.connect(self.deleteall)
        self.supp.clicked.connect(self.delete)
        self.addFav.clicked.connect(self.addfavf)

        self.grid.addWidget(self.title, 1, 1, 1, 2)
        self.grid.addWidget(self.listeW, 2, 1, 1, 2)
        self.grid.addWidget(self.supp, 3, 1)
        self.grid.addWidget(self.suppAll, 3, 2)
        self.grid.addWidget(self.addFav, 4, 1, 1, 2)

        self.setLayout(self.grid)

    def launch(self):
        if self.listeW.currentItem():
            for i in self.liste:
                if str(i[0]) == self.listeW.currentItem().text(3):
                    self.parent.close()
                    self.parent.parent.opennewongletwithurl(i[2])
                    break

    def addfavf(self):
        bookmarks = self.parent.parent.dbConnection.executewithreturn(
            """SELECT * FROM bookmarks""")
        for i in bookmarks:
            bool1 = i[1] == self.parent.parent.browserWidget.title()
            bool2 = i[2] == self.parent.parent.browserWidget.url().toString()
            if bool1 and bool2:
                QMessageBox.warning(self, "Erreur",
                                    "Cette page est déjà en favori.")
                return

        self.parent.parent.dbConnection.executewithoutreturn(
            """INSERT INTO bookmarks(name, url, date) VALUES(?, ?, ?)""",
            (self.parent.parent.browserWidget.title(),
             self.parent.parent.browserWidget.url().toString(), getdate()))
        self.parent.parent.bookmark.setIcon(
            QIcon("Icons/NavigationBar/yesFav.png"))
        self.showupdate()

    def showupdate(self):
        self.listeW.deleteallitems()
        self.liste = self.parent.parent.dbConnection.executewithreturn(
            """SELECT * FROM bookmarks""")
        self.listeW.updatelist(self.liste)

    def delete(self):
        if self.listeW.currentItem():
            for i in self.liste:
                if str(i[0]) == self.listeW.currentItem().text(3):
                    self.parent.parent.dbConnection.executewithoutreturn(
                        """DELETE FROM bookmarks WHERE id = ?""", (i[0], ))
                    if i[2] == self.parent.parent.browserWidget.url().toString(
                    ):
                        self.parent.parent.bookmark.setIcon(
                            QIcon("Icons/NavigationBar/noFav.png"))
        self.showupdate()

    def deleteall(self):
        self.parent.parent.dbConnection.executewithoutreturn(
            """DELETE FROM bookmarks""")
        self.parent.parent.bookmark.setIcon(
            QIcon("Icons/NavigationBar/noFav.png"))
        self.showupdate()
Esempio n. 9
0
class SessionsPage(QWidget):
    def __init__(self, parent):
        super(SessionsPage, self).__init__()
        self.parent = parent
        self.grid = QGridLayout()

        self.title = QLabel("Sessions")
        self.title.setAlignment(Qt.AlignHCenter)
        self.listeW = ListWidget(
            self.parent.parent.dbConnection.executewithreturn(
                """SELECT * FROM sessions"""))
        self.liste = self.listeW.liste
        self.supp = PushButton("Supprimer")
        self.suppAll = PushButton("Tout supprimer")
        self.spacerItem = QSpacerItem(20, 20)
        self.tEntryString = "Nom de la session"
        self.tEntry = QLineEdit(self.tEntryString)
        self.addSession = PushButton("Ajouter une session")

        self.listeW.itemDoubleClicked.connect(self.launch)
        self.suppAll.clicked.connect(self.deleteall)
        self.supp.clicked.connect(self.delete)
        self.addSession.clicked.connect(self.addsession)

        self.grid.addWidget(self.title, 1, 1, 1, 2)
        self.grid.addWidget(self.listeW, 2, 1, 1, 2)
        self.grid.addWidget(self.supp, 3, 1)
        self.grid.addWidget(self.suppAll, 3, 2)
        self.grid.addItem(self.spacerItem, 4, 1, 1, 2)
        self.grid.addWidget(self.tEntry, 5, 1, 1, 2)
        self.grid.addWidget(self.addSession, 6, 1, 1, 2)

        self.setLayout(self.grid)

    def launch(self):
        if self.listeW.currentItem():
            for i in self.liste:
                if str(i[0]) == self.listeW.currentItem().text(3):
                    self.parent.close()
                    for z in i[2].split(" | "):
                        self.parent.parent.opennewongletwithurl(z)
                    break

    def addsession(self):
        sessions = self.parent.parent.dbConnection.executewithreturn(
            """SELECT * FROM sessions""")
        for i in sessions:
            if i[1] == self.tEntry.text():
                QMessageBox.warning(self, "Erreur",
                                    "Cette session existe déjà.")
                return

        tentrybool = self.tEntry.text() != "" and self.tEntry.text(
        ) != self.tEntryString
        if tentrybool:
            urls = ""
            for i in range(self.parent.parent.tabWidget.count()):
                urls += self.parent.parent.tabWidget.widget(
                    i).url().toString() + " | "
            self.parent.parent.dbConnection.executewithoutreturn(
                """INSERT INTO sessions(name, urls, date) VALUES(?, ?, ?)""",
                (self.tEntry.text(), urls[:-3], getdate()))
            self.showupdate()

    def showupdate(self):
        self.listeW.deleteallitems()
        self.liste = self.parent.parent.dbConnection.executewithreturn(
            """SELECT * FROM sessions""")
        self.listeW.updatelist(self.liste)

    def delete(self):
        if self.listeW.currentItem():
            for i in self.liste:
                if str(i[0]) == self.listeW.currentItem().text(3):
                    self.parent.parent.dbConnection.executewithoutreturn(
                        """DELETE FROM sessions WHERE id = ?""", (i[0], ))
        self.showupdate()

    def deleteall(self):
        self.parent.parent.dbConnection.executewithoutreturn(
            """DELETE FROM sessions""")
        self.showupdate()