Example #1
0
    def __init__(self, parent=None):
        super().__init__(parent)

        self.setWindowTitle('Пользователи')
        self.setWindowIcon(QtGui.QIcon('images/logo_era.png'))
        self.setWindowFlags(self.windowFlags() & (~QtCore.Qt.WindowContextHelpButtonHint))

        lbl_users = QtWidgets.QLabel('Пользователи:')

        btn_add_user = QtWidgets.QPushButton('Добавить')
        btn_remove_user = QtWidgets.QPushButton('Удалить')
        btn_edit_user = QtWidgets.QPushButton('Редактировать')

        btn_add_user.clicked.connect(self.btn_add_user_clicked)
        btn_remove_user.clicked.connect(self.btn_remove_user_clicked)
        btn_edit_user.clicked.connect(self.btn_edit_user_clicked)

        model_users = QtSql.QSqlTableModel()
        model_users.setTable('User')
        model_users.setEditStrategy(QtSql.QSqlTableModel.OnManualSubmit)
        model_users.setHeaderData(0, QtCore.Qt.Horizontal, "Имя")
        model_users.setSort(0, QtCore.Qt.AscendingOrder)
        model_users.select()

        self.table_users = TableView()
        self.table_users.setModel(model_users)
        self.table_users.setSelectionMode(QtWidgets.QTableView.SingleSelection)
        self.table_users.setSelectionBehavior(QtWidgets.QTableView.SelectRows)
        self.table_users.setEditTriggers(QtWidgets.QTableView.NoEditTriggers)
        self.table_users.setHorizontalScrollMode(QtWidgets.QTableView.ScrollPerPixel)
        self.table_users.setVerticalScrollMode(QtWidgets.QTableView.ScrollPerPixel)
        self.table_users.verticalHeader().setHidden(True)
        self.table_users.horizontalHeader().setStretchLastSection(True)
        self.table_users.setColumnHidden(1, True)
        self.table_users.setColumnHidden(2, True)

        self.table_users.doubleClicked.connect(self.table_users_double_clicked)

        layout_buttons = QtWidgets.QHBoxLayout()
        layout_buttons.addWidget(lbl_users)
        layout_buttons.addWidget(btn_add_user)
        layout_buttons.addWidget(btn_remove_user)
        layout_buttons.addWidget(btn_edit_user)

        layout_main = QtWidgets.QVBoxLayout()
        layout_main.addLayout(layout_buttons)
        layout_main.addWidget(self.table_users)

        self.setLayout(layout_main)
Example #2
0
    def __init__(self, parent=None):
        super(MainWindow, self).__init__(parent)
        self.setupUi(self)
        self.about = About()

        self.filelist = None
        self.file_save_path = None
        # self.setMinimumSize(850, 814)
        # self.setWindowTitle("PDF- ja TIF-mittaaja")
        # Tab 1 widgets & connections
        self.tableView = TableView()
        self.tableView.filelist_signal.connect(self.update_filelist)
        self.tableView.file_save_path_signal.connect(self.update_file_save_path)
        # Fixaa UI-tiedosto!
        self.horizontalLayout_2.addWidget(self.tableView)
        self.horizontalLayout_2.addWidget(self.summaryBrowser)
        self.summaryBrowser.setMaximumWidth(200)
        self.horizontalLayout_2.setStretch(7, 1)
        # Signals
        self.saveXlsButton.clicked.connect(self.save_dialog_xls)
        self.saveXmlButton.clicked.connect(self.save_dialog_xml)
        self.rotateButton.clicked.connect(self.rotate)
        self.chooseFolderButton.clicked.connect(self.open_dialog_folders)
        self.summaryButton.clicked.connect(self.summary_create)
        self.clearTableButton.clicked.connect(self.clear_table)
        self.actionTietoja_ohjelmasta.triggered.connect(self.aboutOpen)
        self.actionAvaa_tiedosto.setDisabled(True)
        self.actionAvaa_kansio.triggered.connect(self.open_dialog_folders)
        self.actionTallenna_XLS.triggered.connect(self.save_dialog_xls)
        self.actionTallenna_XML.triggered.connect(self.save_dialog_xml)
        self.actionSulje_ohjelma.triggered.connect(self.closeApp)
Example #3
0
    def fetch_media(self):
        files = self.get_url_paths(
            "http://10.5.5.9:8080/videos/DCIM/100GOPRO/")
        files = sorted(files, key=lambda item: item["date"], reverse=True)

        names = []
        sizes = []
        dates = []
        self.links = []

        for file in files:
            names.append(file["name"])
            sizes.append(file["size"])
            dates.append(file["date"])
            self.links.append(file["link"])

        data = {"Filename": names, "Size": sizes, "Date": dates}

        cols = 3
        rows = len(names)
        self.tableWidget = TableView(data, rows, cols)
        self.tableWidget.clicked.connect(self.item_callback)
        self.gridLayout_2.addWidget(self.tableWidget, 0, 0, 1, 1)
        print(data)
Example #4
0
    def setupUi(self, MainWindow):
        MainWindow.setObjectName("MainWindow")
        MainWindow.resize(1056, 666)
        MainWindow.setMinimumSize(QtCore.QSize(1056, 666))
        MainWindow.setBaseSize(QtCore.QSize(1056, 666))
        palette = QtGui.QPalette()
        brush = QtGui.QBrush(QtGui.QColor(255, 255, 255))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Active, QtGui.QPalette.Base, brush)
        brush = QtGui.QBrush(QtGui.QColor(232, 236, 240))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Active, QtGui.QPalette.Window, brush)
        brush = QtGui.QBrush(QtGui.QColor(255, 255, 255))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Inactive, QtGui.QPalette.Base, brush)
        brush = QtGui.QBrush(QtGui.QColor(232, 236, 240))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Inactive, QtGui.QPalette.Window, brush)
        brush = QtGui.QBrush(QtGui.QColor(232, 236, 240))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Disabled, QtGui.QPalette.Base, brush)
        brush = QtGui.QBrush(QtGui.QColor(232, 236, 240))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Disabled, QtGui.QPalette.Window, brush)
        MainWindow.setPalette(palette)
        self.centralwidget = QtWidgets.QWidget(MainWindow)
        self.centralwidget.setObjectName("centralwidget")
        # self.context_view = QtWidgets.QTableView(self.centralwidget)
        self.context_view = TableView(self.centralwidget)
        self.context_view.setGeometry(QtCore.QRect(0, 69, 300, 541))
        self.context_view.setMinimumSize(QtCore.QSize(300, 50))
        self.context_view.setBaseSize(QtCore.QSize(300, 500))
        self.context_view.setFrameShape(QtWidgets.QFrame.StyledPanel)
        self.context_view.setFrameShadow(QtWidgets.QFrame.Raised)
        self.context_view.setHorizontalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOff)
        self.context_view.setSelectionBehavior(QtWidgets.QAbstractItemView.SelectRows)
        self.context_view.setShowGrid(False)
        self.context_view.setObjectName("context_view")
        self.context_view.horizontalHeader().setCascadingSectionResizes(True)
        self.context_view.horizontalHeader().setDefaultSectionSize(220)
        self.context_view.horizontalHeader().setHighlightSections(False)
        self.context_view.horizontalHeader().setMinimumSectionSize(60)
        self.context_view.horizontalHeader().setStretchLastSection(True)
        self.context_view.verticalHeader().setVisible(False)
        # self.message_view = QtWidgets.QTableView(self.centralwidget)
        self.message_view = TableView(self.centralwidget)
        self.message_view.setGeometry(QtCore.QRect(350, 70, 300, 531))
        self.message_view.setMinimumSize(QtCore.QSize(250, 50))
        self.message_view.setBaseSize(QtCore.QSize(300, 500))
        self.message_view.setLayoutDirection(QtCore.Qt.LeftToRight)
        self.message_view.setFrameShape(QtWidgets.QFrame.StyledPanel)
        self.message_view.setFrameShadow(QtWidgets.QFrame.Raised)
        self.message_view.setSelectionBehavior(QtWidgets.QAbstractItemView.SelectRows)
        self.message_view.setObjectName("message_view")
        self.message_view.horizontalHeader().setDefaultSectionSize(301)
        self.message_view.horizontalHeader().setHighlightSections(False)
        self.message_view.horizontalHeader().setStretchLastSection(True)
        self.message_view.verticalHeader().setVisible(False)
        self.btLoad = QtWidgets.QPushButton(self.centralwidget)
        self.btLoad.setGeometry(QtCore.QRect(800, 20, 93, 28))
        self.btLoad.setObjectName("btLoad")
        self.source_editBox = QtWidgets.QGroupBox(self.centralwidget)
        self.source_editBox.setGeometry(QtCore.QRect(700, 60, 351, 161))
        self.source_editBox.setObjectName("source_editBox")
        self.sourceText = QtWidgets.QTextEdit(self.source_editBox)
        self.sourceText.setGeometry(QtCore.QRect(10, 20, 301, 87))
        self.sourceText.setObjectName("sourceText")
        self.btChange_source = QtWidgets.QPushButton(self.source_editBox)
        self.btChange_source.setGeometry(QtCore.QRect(250, 120, 93, 28))
        self.btChange_source.setObjectName("btChange_source")
        self.line = QtWidgets.QFrame(self.centralwidget)
        self.line.setGeometry(QtCore.QRect(682, 60, 21, 541))
        self.line.setFrameShadow(QtWidgets.QFrame.Sunken)
        self.line.setFrameShape(QtWidgets.QFrame.VLine)
        self.line.setObjectName("line")
        self.ru_transBox = QtWidgets.QGroupBox(self.centralwidget)
        self.ru_transBox.setGeometry(QtCore.QRect(700, 250, 351, 161))
        self.ru_transBox.setFlat(False)
        self.ru_transBox.setObjectName("ru_transBox")
        self.ru_transText = QtWidgets.QTextEdit(self.ru_transBox)
        self.ru_transText.setGeometry(QtCore.QRect(10, 20, 301, 91))
        self.ru_transText.setObjectName("ru_transText")
        self.btChange_rus = QtWidgets.QPushButton(self.ru_transBox)
        self.btChange_rus.setGeometry(QtCore.QRect(250, 120, 93, 28))
        self.btChange_rus.setObjectName("btChange_rus")
        self.en_transBox = QtWidgets.QGroupBox(self.centralwidget)
        self.en_transBox.setGeometry(QtCore.QRect(699, 430, 351, 161))
        self.en_transBox.setObjectName("en_transBox")
        self.en_transText = QtWidgets.QTextEdit(self.en_transBox)
        self.en_transText.setGeometry(QtCore.QRect(10, 20, 301, 91))
        self.en_transText.setObjectName("en_transText")
        self.btChange_eng = QtWidgets.QPushButton(self.en_transBox)
        self.btChange_eng.setGeometry(QtCore.QRect(250, 120, 93, 28))
        self.btChange_eng.setObjectName("btChange_eng")
        self.line_2 = QtWidgets.QFrame(self.centralwidget)
        self.line_2.setGeometry(QtCore.QRect(-10, 50, 701, 20))
        self.line_2.setFrameShape(QtWidgets.QFrame.HLine)
        self.line_2.setFrameShadow(QtWidgets.QFrame.Sunken)
        self.line_2.setObjectName("line_2")
        self.btSave = QtWidgets.QPushButton(self.centralwidget)
        self.btSave.setGeometry(QtCore.QRect(920, 20, 93, 28))
        self.btSave.setObjectName("btSave")
        self.context_viewTools = QtWidgets.QFrame(self.centralwidget)
        self.context_viewTools.setGeometry(QtCore.QRect(300, 70, 40, 170))
        self.context_viewTools.setFrameShape(QtWidgets.QFrame.StyledPanel)
        self.context_viewTools.setFrameShadow(QtWidgets.QFrame.Raised)
        self.context_viewTools.setObjectName("context_viewTools")
        self.addContext_bt = QtWidgets.QToolButton(self.context_viewTools)
        self.addContext_bt.setGeometry(QtCore.QRect(0, 10, 27, 22))
        self.addContext_bt.setAutoFillBackground(False)
        self.addContext_bt.setStyleSheet("background-color: #e8ecf0;")
        icon = QtGui.QIcon()
        icon.addPixmap(QtGui.QPixmap("D:/ucheba/python/ts_viewer/plus.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.addContext_bt.setIcon(icon)
        self.addContext_bt.setPopupMode(QtWidgets.QToolButton.DelayedPopup)
        self.addContext_bt.setObjectName("addContext_bt")
        self.delContext_bt = QtWidgets.QToolButton(self.context_viewTools)
        self.delContext_bt.setGeometry(QtCore.QRect(0, 40, 27, 22))
        self.delContext_bt.setAutoFillBackground(False)
        self.delContext_bt.setStyleSheet("background-color: #e8ecf0;")
        icon1 = QtGui.QIcon()
        icon1.addPixmap(QtGui.QPixmap("D:/ucheba/python/ts_viewer/minus.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.delContext_bt.setIcon(icon1)
        self.delContext_bt.setPopupMode(QtWidgets.QToolButton.DelayedPopup)
        self.delContext_bt.setObjectName("delContext_bt")
        self.showAllContexts_bt = QtWidgets.QToolButton(self.context_viewTools)
        self.showAllContexts_bt.setGeometry(QtCore.QRect(0, 70, 27, 22))
        self.showAllContexts_bt.setAutoFillBackground(False)
        self.showAllContexts_bt.setStyleSheet("background-color: #e8ecf0;")
        self.showAllContexts_bt.setPopupMode(QtWidgets.QToolButton.DelayedPopup)
        self.showAllContexts_bt.setObjectName("showAllContexts_bt")
        self.cleanContextView_bt = QtWidgets.QToolButton(self.context_viewTools)
        self.cleanContextView_bt.setGeometry(QtCore.QRect(0, 100, 27, 22))
        self.cleanContextView_bt.setAutoFillBackground(False)
        self.cleanContextView_bt.setStyleSheet("background-color: #e8ecf0;")
        icon2 = QtGui.QIcon()
        icon2.addPixmap(QtGui.QPixmap("D:/ucheba/python/ts_viewer/clean.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.cleanContextView_bt.setIcon(icon2)
        self.cleanContextView_bt.setPopupMode(QtWidgets.QToolButton.DelayedPopup)
        self.cleanContextView_bt.setObjectName("cleanContextView_bt")
        self.message_viewTools = QtWidgets.QFrame(self.centralwidget)
        self.message_viewTools.setGeometry(QtCore.QRect(650, 69, 41, 151))
        self.message_viewTools.setFrameShape(QtWidgets.QFrame.StyledPanel)
        self.message_viewTools.setFrameShadow(QtWidgets.QFrame.Raised)
        self.message_viewTools.setObjectName("message_viewTools")
        self.addMessage_bt = QtWidgets.QToolButton(self.message_viewTools)
        self.addMessage_bt.setGeometry(QtCore.QRect(0, 10, 27, 22))
        self.addMessage_bt.setAutoFillBackground(False)
        self.addMessage_bt.setStyleSheet("background-color: #e8ecf0;")
        self.addMessage_bt.setIcon(icon)
        self.addMessage_bt.setPopupMode(QtWidgets.QToolButton.DelayedPopup)
        self.addMessage_bt.setObjectName("addMessage_bt")
        self.delMessage_bt = QtWidgets.QToolButton(self.message_viewTools)
        self.delMessage_bt.setGeometry(QtCore.QRect(0, 40, 27, 22))
        self.delMessage_bt.setAutoFillBackground(False)
        self.delMessage_bt.setStyleSheet("background-color: #e8ecf0;")
        self.delMessage_bt.setIcon(icon1)
        self.delMessage_bt.setPopupMode(QtWidgets.QToolButton.DelayedPopup)
        self.delMessage_bt.setObjectName("delMessage_bt")
        self.showAllMessages_bt = QtWidgets.QToolButton(self.message_viewTools)
        self.showAllMessages_bt.setGeometry(QtCore.QRect(0, 70, 27, 22))
        self.showAllMessages_bt.setAutoFillBackground(False)
        self.showAllMessages_bt.setStyleSheet("background-color: #e8ecf0;")
        self.showAllMessages_bt.setPopupMode(QtWidgets.QToolButton.DelayedPopup)
        self.showAllMessages_bt.setObjectName("showAllMessages_bt")
        self.cleanMessageView_bt = QtWidgets.QToolButton(self.message_viewTools)
        self.cleanMessageView_bt.setGeometry(QtCore.QRect(0, 100, 27, 22))
        self.cleanMessageView_bt.setAutoFillBackground(False)
        self.cleanMessageView_bt.setStyleSheet("background-color: #e8ecf0;")
        self.cleanMessageView_bt.setIcon(icon2)
        self.cleanMessageView_bt.setPopupMode(QtWidgets.QToolButton.DelayedPopup)
        self.cleanMessageView_bt.setObjectName("cleanMessageView_bt")
        self.search_context = QtWidgets.QFrame(self.centralwidget)
        self.search_context.setGeometry(QtCore.QRect(10, 0, 281, 61))
        self.search_context.setFrameShape(QtWidgets.QFrame.StyledPanel)
        self.search_context.setFrameShadow(QtWidgets.QFrame.Raised)
        self.search_context.setObjectName("search_context")
        self.context_searchLine = QtWidgets.QLineEdit(self.search_context)
        self.context_searchLine.setGeometry(QtCore.QRect(10, 20, 171, 31))
        self.context_searchLine.setText("")
        self.context_searchLine.setObjectName("context_searchLine")
        self.label_3 = QtWidgets.QLabel(self.search_context)
        self.label_3.setGeometry(QtCore.QRect(20, 0, 141, 20))
        self.label_3.setObjectName("label_3")
        self.btSearchContext = QtWidgets.QPushButton(self.search_context)
        self.btSearchContext.setGeometry(QtCore.QRect(200, 20, 61, 31))
        self.btSearchContext.setObjectName("btSearchContext")
        self.search_message = QtWidgets.QFrame(self.centralwidget)
        self.search_message.setGeometry(QtCore.QRect(340, -1, 431, 51))
        self.search_message.setFrameShape(QtWidgets.QFrame.StyledPanel)
        self.search_message.setFrameShadow(QtWidgets.QFrame.Raised)
        self.search_message.setObjectName("search_message")
        self.message_searchLine = QtWidgets.QLineEdit(self.search_message)
        self.message_searchLine.setGeometry(QtCore.QRect(10, 20, 171, 31))
        self.message_searchLine.setText("")
        self.message_searchLine.setObjectName("message_searchLine")
        self.label_4 = QtWidgets.QLabel(self.search_message)
        self.label_4.setGeometry(QtCore.QRect(20, 0, 161, 21))
        font = QtGui.QFont()
        font.setFamily("MS Shell Dlg 2")
        self.label_4.setFont(font)
        self.label_4.setObjectName("label_4")
        self.btSearchMessage = QtWidgets.QPushButton(self.search_message)
        self.btSearchMessage.setGeometry(QtCore.QRect(200, 20, 61, 31))
        self.btSearchMessage.setObjectName("btSearchMessage")
        self.search_in_currContext_chB = QtWidgets.QCheckBox(self.search_message)
        self.search_in_currContext_chB.setGeometry(QtCore.QRect(270, 30, 151, 20))
        self.search_in_currContext_chB.setObjectName("search_in_currContext_chB")
        MainWindow.setCentralWidget(self.centralwidget)
        self.statusbar = QtWidgets.QStatusBar(MainWindow)
        self.statusbar.setObjectName("statusbar")
        MainWindow.setStatusBar(self.statusbar)
        self.menubar = QtWidgets.QMenuBar(MainWindow)
        self.menubar.setGeometry(QtCore.QRect(0, 0, 1056, 26))
        self.menubar.setObjectName("menubar")
        MainWindow.setMenuBar(self.menubar)
        self.toolBar = QtWidgets.QToolBar(MainWindow)
        self.toolBar.setObjectName("toolBar")
        MainWindow.addToolBar(QtCore.Qt.TopToolBarArea, self.toolBar)

        self.retranslateUi(MainWindow)
        QtCore.QMetaObject.connectSlotsByName(MainWindow)
Example #5
0
class MainWindow(QMainWindow, GUI.Ui_MainWindow):
    def __init__(self, parent=None):
        super(MainWindow, self).__init__(parent)
        self.setupUi(self)
        self.about = About()

        self.filelist = None
        self.file_save_path = None
        # self.setMinimumSize(850, 814)
        # self.setWindowTitle("PDF- ja TIF-mittaaja")
        # Tab 1 widgets & connections
        self.tableView = TableView()
        self.tableView.filelist_signal.connect(self.update_filelist)
        self.tableView.file_save_path_signal.connect(self.update_file_save_path)
        # Fixaa UI-tiedosto!
        self.horizontalLayout_2.addWidget(self.tableView)
        self.horizontalLayout_2.addWidget(self.summaryBrowser)
        self.summaryBrowser.setMaximumWidth(200)
        self.horizontalLayout_2.setStretch(7, 1)
        # Signals
        self.saveXlsButton.clicked.connect(self.save_dialog_xls)
        self.saveXmlButton.clicked.connect(self.save_dialog_xml)
        self.rotateButton.clicked.connect(self.rotate)
        self.chooseFolderButton.clicked.connect(self.open_dialog_folders)
        self.summaryButton.clicked.connect(self.summary_create)
        self.clearTableButton.clicked.connect(self.clear_table)
        self.actionTietoja_ohjelmasta.triggered.connect(self.aboutOpen)
        self.actionAvaa_tiedosto.setDisabled(True)
        self.actionAvaa_kansio.triggered.connect(self.open_dialog_folders)
        self.actionTallenna_XLS.triggered.connect(self.save_dialog_xls)
        self.actionTallenna_XML.triggered.connect(self.save_dialog_xml)
        self.actionSulje_ohjelma.triggered.connect(self.closeApp)

    def update_filelist(self, filelist):
        if len(filelist) > 0:
            self.filelist = filelist
            model = Model(self, filelist)
            self.tableView.setModel(model)
            return self.filelist
        return False

    def update_file_save_path(self, file_save_path):
        if len(file_save_path) > 0:
            self.file_save_path = file_save_path
            return self.file_save_path
        return False

    # Filedialogs for opening and saving files.
    def open_dialog_folders(self):

        dir = None
        try:
            dir = "V:/01 - Tilaukset/"
        except Exception:
            dir = "."

        file_path = QFileDialog.getExistingDirectory(self, "Valitse kansio", dir)
        self.file_save_path = file_path
        self.processFolderData(unicode(file_path))

    def save_dialog_xls(self):
        if self.filelist == None:
            return QMessageBox.warning(self, u"Tyhjä taulukko", "Ei tallennettavia tietoja.")

        file_path = QFileDialog.getSaveFileName(
            self, u"Tallenna Excel-muotoon", self.file_save_path, "Excel-files(*.xls)"
        )

        return Export(self, self.filelist, file_path[0]).create_xls()

    def save_dialog_xml(self):
        if self.filelist == None:
            return QMessageBox.warning(self, u"Tyhjä taulukko", "Ei tallennettavia tietoja.")

        return Export(self, self.filelist, self.file_save_path).create_xml()

    def rotate(self):
        rotator = Rotation(self.filelist)
        rotator.rotate(90)

    def summary_create(self):
        """ summary_create makes a list out of the contents of the filelist.
        summary_create displays total amount of files and how many A4/A3
        documents (+pages) the filelist has."""

        summary_data = [str(row[1]) for row in self.filelist]
        summary_data_sorted = [v for v, r in itertools.groupby(sorted(summary_data)) if len(list(r)) >= 1]

        document_data = [row[1:3] for row in self.filedata]
        pages_a4 = 0
        pages_a3 = 0
        a4 = []
        a3 = []

        for i in summary_data_sorted:

            self.summaryBrowser.append("<b>%s kpl</b> %s" % (summary_data.count(i), str(i)))

        self.summaryBrowser.append("Tiedostoja yhteens\xe4 = <b>%d</b>" % (len(summary_data)))

        for i in document_data:
            page_size = i[0]
            page_count = i[1]
            """ page_size (eg. 210x297) is transformed into a tuple holding the
            width and height of the document. page_size_tuple is put through a
            conditional to see if the size is A4 or A3 (or something else)."""
            page_size_tuple = page_size.replace("x", ",")
            page_size_tuple = tuple(size for size in page_size_tuple.split(",") if size.strip())

            if 310 > int(page_size_tuple[0]) > 200 and 310 > int(page_size_tuple[1]) > 200:

                pages_a4 += int(page_count)
                a4.append(page_size)
            elif 440 > int(page_size_tuple[0]) > 270 and 440 > int(page_size_tuple[1]) > 200:

                pages_a3 += int(page_count)
                a3.append(page_size)

        self.summaryBrowser.append("A4-kokoisia: <b>%d(%d)=%d</b>" % (len(a4), (pages_a4 - len(a4)), pages_a4))
        self.summaryBrowser.append("A3-kokoisia: <b>%d(%d)=%d</b>" % (len(a3), (pages_a3 - len(a3)), pages_a3))

    def processFolderData(self, path):
        """ processFolderData determines which processing method it's going to
        use: TIF/PDF/TIF+PDF & Recursive/Not-recursive"""

        filelist = []
        fs = Filesorter([path])

        if self.checkBox.isChecked():
            if self.fileTypeComboBox.currentIndex() == 0:
                filelist.extend(fs.sorter("tif"))
            elif self.fileTypeComboBox.currentIndex() == 1:
                filelist.extend(fs.sorter("pdf"))
            else:
                filelist.extend(fs.sorter())
        else:
            if self.fileTypeComboBox.currentIndex() == 0:
                for filename in os.listdir(path):
                    if filename.lower().endswith(".tif"):
                        filelist.append(os.path.join(path, filename))
            elif self.fileTypeComboBox.currentIndex() == 1:
                for filename in os.listdir(path):
                    if filename.lower().endswith(".pdf"):
                        filelist.append(os.path.join(path, filename))
            else:
                for filename in os.listdir(path):
                    if filename.lower().endswith(".pdf") | filename.lower().endswith(".tif"):
                        filelist.append(os.path.join(path, filename))

        process = Process(filelist)
        process.processed.connect(self.update_filelist, Qt.QueuedConnection)
        process.run()

    def clear_table(self):

        self.tableView.model.reset()
        self.summaryBrowser.clearHistory()

    def aboutOpen(self):
        self.about.exec_()

    def closeApp(self):
        sys.exit(0)
Example #6
0
class Ui_MainWindow(object):
    def setupUi(self, MainWindow):
        MainWindow.setObjectName("MainWindow")
        MainWindow.resize(1056, 666)
        palette = QtGui.QPalette()
        brush = QtGui.QBrush(QtGui.QColor(255, 255, 255))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Active, QtGui.QPalette.Base, brush)
        brush = QtGui.QBrush(QtGui.QColor(232, 236, 240))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Active, QtGui.QPalette.Window, brush)
        brush = QtGui.QBrush(QtGui.QColor(255, 255, 255))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Inactive, QtGui.QPalette.Base, brush)
        brush = QtGui.QBrush(QtGui.QColor(232, 236, 240))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Inactive, QtGui.QPalette.Window, brush)
        brush = QtGui.QBrush(QtGui.QColor(232, 236, 240))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Disabled, QtGui.QPalette.Base, brush)
        brush = QtGui.QBrush(QtGui.QColor(232, 236, 240))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Disabled, QtGui.QPalette.Window, brush)
        MainWindow.setPalette(palette)
        self.centralwidget = QtWidgets.QWidget(MainWindow)
        self.centralwidget.setObjectName("centralwidget")
        self.context_searchLine = QtWidgets.QLineEdit(self.centralwidget)
        self.context_searchLine.setGeometry(QtCore.QRect(10, 20, 171, 31))
        self.context_searchLine.setText("")
        self.context_searchLine.setObjectName("context_searchLine")
        self.label_3 = QtWidgets.QLabel(self.centralwidget)
        self.label_3.setGeometry(QtCore.QRect(20, 0, 141, 20))
        self.label_3.setObjectName("label_3")
        self.label_4 = QtWidgets.QLabel(self.centralwidget)
        self.label_4.setGeometry(QtCore.QRect(370, 0, 161, 21))
        font = QtGui.QFont()
        font.setFamily("MS Shell Dlg 2")
        self.label_4.setFont(font)
        self.label_4.setObjectName("label_4")
        self.message_searchLine = QtWidgets.QLineEdit(self.centralwidget)
        self.message_searchLine.setGeometry(QtCore.QRect(360, 20, 171, 31))
        self.message_searchLine.setText("")
        self.message_searchLine.setObjectName("message_searchLine")
        # self.context_view = QtWidgets.QTableView(self.centralwidget)
        self.context_view = TableView(self.centralwidget)
        self.context_view.setGeometry(QtCore.QRect(0, 69, 300, 531))
        self.context_view.setMinimumSize(QtCore.QSize(300, 50))
        self.context_view.setBaseSize(QtCore.QSize(300, 500))
        self.context_view.setFrameShape(QtWidgets.QFrame.StyledPanel)
        self.context_view.setFrameShadow(QtWidgets.QFrame.Raised)
        self.context_view.setHorizontalScrollBarPolicy(
            QtCore.Qt.ScrollBarAlwaysOff)
        self.context_view.setSelectionBehavior(
            QtWidgets.QAbstractItemView.SelectRows)
        self.context_view.setShowGrid(False)
        self.context_view.setObjectName("context_view")
        self.context_view.horizontalHeader().setCascadingSectionResizes(True)
        self.context_view.horizontalHeader().setDefaultSectionSize(220)
        self.context_view.horizontalHeader().setHighlightSections(False)
        self.context_view.horizontalHeader().setMinimumSectionSize(60)
        self.context_view.horizontalHeader().setStretchLastSection(True)
        self.context_view.verticalHeader().setVisible(False)
        # self.message_view = QtWidgets.QTableView(self.centralwidget)
        self.message_view = TableView(self.centralwidget)
        self.message_view.setGeometry(QtCore.QRect(350, 70, 300, 531))
        self.message_view.setMinimumSize(QtCore.QSize(250, 50))
        self.message_view.setBaseSize(QtCore.QSize(300, 500))
        self.message_view.setLayoutDirection(QtCore.Qt.LeftToRight)
        self.message_view.setFrameShape(QtWidgets.QFrame.StyledPanel)
        self.message_view.setFrameShadow(QtWidgets.QFrame.Raised)
        self.message_view.setSelectionBehavior(
            QtWidgets.QAbstractItemView.SelectRows)
        self.message_view.setObjectName("message_view")
        self.message_view.horizontalHeader().setDefaultSectionSize(301)
        self.message_view.horizontalHeader().setHighlightSections(False)
        self.message_view.horizontalHeader().setStretchLastSection(True)
        self.message_view.verticalHeader().setVisible(False)
        self.btSearchContext = QtWidgets.QPushButton(self.centralwidget)
        self.btSearchContext.setGeometry(QtCore.QRect(200, 20, 61, 31))
        self.btSearchContext.setObjectName("btSearchContext")
        self.btSearchMessage = QtWidgets.QPushButton(self.centralwidget)
        self.btSearchMessage.setGeometry(QtCore.QRect(550, 20, 61, 31))
        self.btSearchMessage.setObjectName("btSearchMessage")
        self.btLoad = QtWidgets.QPushButton(self.centralwidget)
        self.btLoad.setGeometry(QtCore.QRect(730, 10, 93, 28))
        self.btLoad.setObjectName("btLoad")
        self.groupBox = QtWidgets.QGroupBox(self.centralwidget)
        self.groupBox.setGeometry(QtCore.QRect(700, 60, 351, 161))
        self.groupBox.setObjectName("groupBox")
        self.sourceText = QtWidgets.QTextEdit(self.groupBox)
        self.sourceText.setGeometry(QtCore.QRect(10, 20, 301, 87))
        self.sourceText.setObjectName("sourceText")
        self.btChange_source = QtWidgets.QPushButton(self.groupBox)
        self.btChange_source.setGeometry(QtCore.QRect(250, 120, 93, 28))
        self.btChange_source.setObjectName("btChange_source")
        self.line = QtWidgets.QFrame(self.centralwidget)
        self.line.setGeometry(QtCore.QRect(680, 60, 21, 541))
        self.line.setFrameShadow(QtWidgets.QFrame.Sunken)
        self.line.setFrameShape(QtWidgets.QFrame.VLine)
        self.line.setObjectName("line")
        self.groupBox_2 = QtWidgets.QGroupBox(self.centralwidget)
        self.groupBox_2.setGeometry(QtCore.QRect(700, 250, 351, 161))
        self.groupBox_2.setFlat(False)
        self.groupBox_2.setObjectName("groupBox_2")
        self.ru_transText = QtWidgets.QTextEdit(self.groupBox_2)
        self.ru_transText.setGeometry(QtCore.QRect(10, 20, 301, 91))
        self.ru_transText.setObjectName("ru_transText")
        self.btChange_rus = QtWidgets.QPushButton(self.groupBox_2)
        self.btChange_rus.setGeometry(QtCore.QRect(250, 120, 93, 28))
        self.btChange_rus.setObjectName("btChange_rus")
        self.groupBox_3 = QtWidgets.QGroupBox(self.centralwidget)
        self.groupBox_3.setGeometry(QtCore.QRect(699, 430, 351, 161))
        self.groupBox_3.setObjectName("groupBox_3")
        self.en_transText = QtWidgets.QTextEdit(self.groupBox_3)
        self.en_transText.setGeometry(QtCore.QRect(10, 20, 301, 91))
        self.en_transText.setObjectName("en_transText")
        self.btChange_eng = QtWidgets.QPushButton(self.groupBox_3)
        self.btChange_eng.setGeometry(QtCore.QRect(250, 120, 93, 28))
        self.btChange_eng.setObjectName("btChange_eng")
        self.line_2 = QtWidgets.QFrame(self.centralwidget)
        self.line_2.setGeometry(QtCore.QRect(-10, 50, 701, 20))
        self.line_2.setFrameShape(QtWidgets.QFrame.HLine)
        self.line_2.setFrameShadow(QtWidgets.QFrame.Sunken)
        self.line_2.setObjectName("line_2")
        self.btSave = QtWidgets.QPushButton(self.centralwidget)
        self.btSave.setGeometry(QtCore.QRect(840, 10, 93, 28))
        self.btSave.setObjectName("btSave")
        self.addMessage_bt = QtWidgets.QToolButton(self.centralwidget)
        self.addMessage_bt.setGeometry(QtCore.QRect(650, 80, 27, 22))
        self.addMessage_bt.setAutoFillBackground(False)
        self.addMessage_bt.setStyleSheet("background-color: #e8ecf0;")
        icon = QtGui.QIcon()
        icon.addPixmap(QtGui.QPixmap("plus.png"), QtGui.QIcon.Normal,
                       QtGui.QIcon.Off)
        self.addMessage_bt.setIcon(icon)
        self.addMessage_bt.setPopupMode(QtWidgets.QToolButton.DelayedPopup)
        self.addMessage_bt.setObjectName("addMessage_bt")
        self.addContext_bt = QtWidgets.QToolButton(self.centralwidget)
        self.addContext_bt.setGeometry(QtCore.QRect(300, 80, 27, 22))
        self.addContext_bt.setAutoFillBackground(False)
        self.addContext_bt.setStyleSheet("background-color: #e8ecf0;")
        self.addContext_bt.setIcon(icon)
        self.addContext_bt.setPopupMode(QtWidgets.QToolButton.DelayedPopup)
        self.addContext_bt.setObjectName("addContext_bt")
        self.delContext_bt = QtWidgets.QToolButton(self.centralwidget)
        self.delContext_bt.setGeometry(QtCore.QRect(300, 110, 27, 22))
        self.delContext_bt.setAutoFillBackground(False)
        self.delContext_bt.setStyleSheet("background-color: #e8ecf0;")
        icon1 = QtGui.QIcon()
        icon1.addPixmap(QtGui.QPixmap("minus.png"), QtGui.QIcon.Normal,
                        QtGui.QIcon.Off)
        self.delContext_bt.setIcon(icon1)
        self.delContext_bt.setPopupMode(QtWidgets.QToolButton.DelayedPopup)
        self.delContext_bt.setObjectName("delContext_bt")
        self.delMessage_bt = QtWidgets.QToolButton(self.centralwidget)
        self.delMessage_bt.setGeometry(QtCore.QRect(650, 110, 27, 22))
        self.delMessage_bt.setAutoFillBackground(False)
        self.delMessage_bt.setStyleSheet("background-color: #e8ecf0;")
        self.delMessage_bt.setIcon(icon1)
        self.delMessage_bt.setPopupMode(QtWidgets.QToolButton.DelayedPopup)
        self.delMessage_bt.setObjectName("delMessage_bt")
        self.showAllContexts_bt = QtWidgets.QToolButton(self.centralwidget)
        self.showAllContexts_bt.setGeometry(QtCore.QRect(300, 140, 27, 22))
        self.showAllContexts_bt.setAutoFillBackground(False)
        self.showAllContexts_bt.setStyleSheet("background-color: #e8ecf0;")
        self.showAllContexts_bt.setPopupMode(
            QtWidgets.QToolButton.DelayedPopup)
        self.showAllContexts_bt.setObjectName("showAllContexts_bt")
        self.showAllMessages_bt = QtWidgets.QToolButton(self.centralwidget)
        self.showAllMessages_bt.setGeometry(QtCore.QRect(650, 140, 27, 22))
        self.showAllMessages_bt.setAutoFillBackground(False)
        self.showAllMessages_bt.setStyleSheet("background-color: #e8ecf0;")
        self.showAllMessages_bt.setPopupMode(
            QtWidgets.QToolButton.DelayedPopup)
        self.showAllMessages_bt.setObjectName("showAllMessages_bt")
        MainWindow.setCentralWidget(self.centralwidget)
        self.statusbar = QtWidgets.QStatusBar(MainWindow)
        self.statusbar.setObjectName("statusbar")
        MainWindow.setStatusBar(self.statusbar)
        self.menubar = QtWidgets.QMenuBar(MainWindow)
        self.menubar.setGeometry(QtCore.QRect(0, 0, 1056, 26))
        self.menubar.setObjectName("menubar")
        MainWindow.setMenuBar(self.menubar)
        self.toolBar = QtWidgets.QToolBar(MainWindow)
        self.toolBar.setObjectName("toolBar")
        MainWindow.addToolBar(QtCore.Qt.TopToolBarArea, self.toolBar)

        self.retranslateUi(MainWindow)
        QtCore.QMetaObject.connectSlotsByName(MainWindow)

    def retranslateUi(self, MainWindow):
        _translate = QtCore.QCoreApplication.translate
        MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))
        self.label_3.setText(
            _translate(
                "MainWindow",
                "<html><head/><body><p><span style=\" font-size:9pt;\">Поиск в contexts</span></p></body></html>"
            ))
        self.label_4.setText(
            _translate(
                "MainWindow",
                "<html><head/><body><p><span style=\" font-size:9pt;\">Поиск в messages</span></p></body></html>"
            ))
        self.btSearchContext.setText(_translate("MainWindow", "Поиск"))
        self.btSearchMessage.setText(_translate("MainWindow", "Поиск"))
        self.btLoad.setText(_translate("MainWindow", "LOAD"))
        self.groupBox.setTitle(_translate("MainWindow", "Исходный текст"))
        self.btChange_source.setText(_translate("MainWindow", "Изменить"))
        self.groupBox_2.setTitle(_translate("MainWindow", "Русский перевод"))
        self.btChange_rus.setText(_translate("MainWindow", "Изменить"))
        self.groupBox_3.setTitle(
            _translate("MainWindow", "English translation"))
        self.btChange_eng.setText(_translate("MainWindow", "Изменить"))
        self.btSave.setText(_translate("MainWindow", "SAVE"))
        self.addMessage_bt.setText(_translate("MainWindow", "..."))
        self.addContext_bt.setText(_translate("MainWindow", "..."))
        self.delContext_bt.setText(_translate("MainWindow", "..."))
        self.delMessage_bt.setText(_translate("MainWindow", "..."))
        self.showAllContexts_bt.setText(_translate("MainWindow", "all"))
        self.showAllMessages_bt.setText(_translate("MainWindow", "all"))
        self.toolBar.setWindowTitle(_translate("MainWindow", "toolBar"))
Example #7
0
class UsersWidget(QtWidgets.QDialog):
    signal_close = QtCore.pyqtSignal()

    def btn_add_user_clicked(self):
        user_widget = AddUserWidget('Добавить пользователя')
        user_widget.signal_save_user.connect(self.slot_add_user)
        user_widget.exec()

    def slot_add_user(self):
        self.table_users.model().select()

    def btn_remove_user_clicked(self):
        selected_cells = self.table_users.selectedIndexes()
        if len(selected_cells) == 0:
            QtWidgets.QMessageBox.information(self, 'Пользователи', 'Выберите пользователя для удаления')
            return

        selected_cell = selected_cells[0]
        self.table_users.model().removeRow(selected_cell.row())
        self.table_users.model().submitAll()

    def edit_user(self, selected_cell):
        model = self.table_users.model()
        name = model.data(model.createIndex(selected_cell.row(), 0))
        image_data = model.data(model.createIndex(selected_cell.row(), 1))
        image = None
        if image_data:
            image = QtGui.QPixmap()
            image.loadFromData(image_data)
        user_id = model.data(model.createIndex(selected_cell.row(), 2))
        user_widget = AddUserWidget('Редактировать пользователя', user_id=user_id, name=name, image=image)
        user_widget.signal_save_user.connect(self.slot_add_user)
        user_widget.exec()

    def slot_user_edited(self):
        self.table_users.model().select()

    def btn_edit_user_clicked(self):
        selected_cells = self.table_users.selectedIndexes()
        if len(selected_cells) == 0:
            QtWidgets.QMessageBox.information(self, 'Пользователи', 'Выберите пользователя для редактирования')
            return

        selected_cell = selected_cells[0]
        self.edit_user(selected_cell)

    def table_users_double_clicked(self, index):
        self.edit_user(index)

    def closeEvent(self, event):
        self.signal_close.emit()
        super().closeEvent(event)

    def __init__(self, parent=None):
        super().__init__(parent)

        self.setWindowTitle('Пользователи')
        self.setWindowIcon(QtGui.QIcon('images/logo_era.png'))
        self.setWindowFlags(self.windowFlags() & (~QtCore.Qt.WindowContextHelpButtonHint))

        lbl_users = QtWidgets.QLabel('Пользователи:')

        btn_add_user = QtWidgets.QPushButton('Добавить')
        btn_remove_user = QtWidgets.QPushButton('Удалить')
        btn_edit_user = QtWidgets.QPushButton('Редактировать')

        btn_add_user.clicked.connect(self.btn_add_user_clicked)
        btn_remove_user.clicked.connect(self.btn_remove_user_clicked)
        btn_edit_user.clicked.connect(self.btn_edit_user_clicked)

        model_users = QtSql.QSqlTableModel()
        model_users.setTable('User')
        model_users.setEditStrategy(QtSql.QSqlTableModel.OnManualSubmit)
        model_users.setHeaderData(0, QtCore.Qt.Horizontal, "Имя")
        model_users.setSort(0, QtCore.Qt.AscendingOrder)
        model_users.select()

        self.table_users = TableView()
        self.table_users.setModel(model_users)
        self.table_users.setSelectionMode(QtWidgets.QTableView.SingleSelection)
        self.table_users.setSelectionBehavior(QtWidgets.QTableView.SelectRows)
        self.table_users.setEditTriggers(QtWidgets.QTableView.NoEditTriggers)
        self.table_users.setHorizontalScrollMode(QtWidgets.QTableView.ScrollPerPixel)
        self.table_users.setVerticalScrollMode(QtWidgets.QTableView.ScrollPerPixel)
        self.table_users.verticalHeader().setHidden(True)
        self.table_users.horizontalHeader().setStretchLastSection(True)
        self.table_users.setColumnHidden(1, True)
        self.table_users.setColumnHidden(2, True)

        self.table_users.doubleClicked.connect(self.table_users_double_clicked)

        layout_buttons = QtWidgets.QHBoxLayout()
        layout_buttons.addWidget(lbl_users)
        layout_buttons.addWidget(btn_add_user)
        layout_buttons.addWidget(btn_remove_user)
        layout_buttons.addWidget(btn_edit_user)

        layout_main = QtWidgets.QVBoxLayout()
        layout_main.addLayout(layout_buttons)
        layout_main.addWidget(self.table_users)

        self.setLayout(layout_main)