Ejemplo n.º 1
0
    def __clean_and_load_entries__(self, working_date: str):
        """
        Cleans entry table when switch working day.

        :param working_date:
        :return:
        """
        row = 0
        entries = self.time_capture_service.load_working_entries(working_date)

        clean_table(self.ui.table_times)

        for e in entries:
            self.ui.table_times.insertRow(row)
            qte = QTimeEdit(self.ui.table_times)
            qte.setTime(e[wek.START_TIME])
            self.ui.table_times.setCellWidget(row, E_START_TIME_COL, qte)

            qte = QTimeEdit(self.ui.table_times)
            qte.setTime(e[wek.END_TIME])
            self.ui.table_times.setCellWidget(row, E_END_TIME_COL, qte)

            self.ui.table_times.setItem(row, E_ORDER_COL, QTableWidgetItem(e[wek.ORDER]))
            self.ui.table_times.setItem(row, E_COMMENT_COL, QTableWidgetItem(e[wek.COMMENT]))
            row += 1
            self.ui.table_times.resizeRowsToContents()
Ejemplo n.º 2
0
 def add_entry_row(self):
     row = self.ui.table_times.rowCount()
     self.ui.table_times.insertRow(row)
     qte = QTimeEdit(self.ui.table_times)
     qte.setFocus()
     self.ui.table_times.setCellWidget(row, E_START_TIME_COL, qte)
     self.ui.table_times.setCellWidget(row, E_END_TIME_COL, QTimeEdit(self.ui.table_times))
     self.ui.table_times.resizeRowsToContents()
Ejemplo n.º 3
0
    def __init__(self, theme='dark', emphasized=False):
        super().__init__(None)
        self.setProperty('emphasized', emphasized)
        self.setStyleSheet(template(raw_stylesheet, **palettes[theme]))
        lay = QVBoxLayout()
        self.setLayout(lay)
        lay.addWidget(QPushButton('push button'))
        box = QComboBox()
        box.addItems(['a', 'b', 'c', 'cd'])
        lay.addWidget(box)
        lay.addWidget(QFontComboBox())

        hbox = QHBoxLayout()
        chk = QCheckBox('tristate')
        chk.setToolTip('I am a tooltip')
        chk.setTristate(True)
        chk.setCheckState(Qt.PartiallyChecked)
        chk3 = QCheckBox('checked')
        chk3.setChecked(True)
        hbox.addWidget(QCheckBox('unchecked'))
        hbox.addWidget(chk)
        hbox.addWidget(chk3)
        lay.addLayout(hbox)

        lay.addWidget(TabDemo(emphasized=emphasized))

        sld = QSlider(Qt.Horizontal)
        sld.setValue(50)
        lay.addWidget(sld)
        scroll = QScrollBar(Qt.Horizontal)
        scroll.setValue(50)
        lay.addWidget(scroll)
        lay.addWidget(QHRangeSlider(parent=self))
        text = QTextEdit()
        text.setMaximumHeight(100)
        text.setHtml(blurb)
        lay.addWidget(text)
        lay.addWidget(QTimeEdit())
        edit = QLineEdit()
        edit.setPlaceholderText('LineEdit placeholder...')
        lay.addWidget(edit)
        lay.addWidget(QLabel('label'))
        prog = QProgressBar()
        prog.setValue(50)
        lay.addWidget(prog)
        groupBox = QGroupBox("Exclusive Radio Buttons")
        radio1 = QRadioButton("&Radio button 1")
        radio2 = QRadioButton("R&adio button 2")
        radio3 = QRadioButton("Ra&dio button 3")
        radio1.setChecked(True)
        hbox = QHBoxLayout()
        hbox.addWidget(radio1)
        hbox.addWidget(radio2)
        hbox.addWidget(radio3)
        hbox.addStretch(1)
        groupBox.setLayout(hbox)
        lay.addWidget(groupBox)
Ejemplo n.º 4
0
def switch_rows(table: QTableWidget, old_position, new_position):
    """
    Helper function to switch a row in a table.
    Works for booking and entry table.

    :param table:
    :param old_position:
    :param new_position:
    :return:
    """
    for col_index in range(table.columnCount()):
        old_item = table.item(old_position, col_index)
        new_item = table.item(new_position, col_index)
        if old_item is not None and new_item is not None:
            old_text = old_item.text()
            new_text = new_item.text()
            table.setItem(old_position, col_index, QTableWidgetItem(new_text))
            table.setItem(new_position, col_index, QTableWidgetItem(old_text))
        else:
            old_cell_widget = table.cellWidget(old_position, col_index)
            new_cell_widget = table.cellWidget(new_position, col_index)
            if old_cell_widget is not None and new_cell_widget is not None:
                if isinstance(old_cell_widget, QTimeEdit) and isinstance(new_cell_widget, QTimeEdit):
                    qte = QTimeEdit(table)
                    qte.setTime(new_cell_widget.time())
                    table.setCellWidget(old_position, col_index, qte)
                    qte = QTimeEdit(table)
                    qte.setTime(old_cell_widget.time())
                    table.setCellWidget(new_position, col_index, qte)
                if isinstance(old_cell_widget, QDoubleSpinBox) and isinstance(new_cell_widget, QDoubleSpinBox):
                    qdsb = QDoubleSpinBox(table)
                    qdsb.setValue(new_cell_widget.value())
                    table.setCellWidget(old_position, col_index, qdsb)
                    qdsb = QDoubleSpinBox(table)
                    qdsb.setValue(old_cell_widget.value())
                    table.setCellWidget(new_position, col_index, qdsb)
                if isinstance(old_cell_widget, QCheckBox) and isinstance(new_cell_widget, QCheckBox):
                    qcb = QCheckBox(table)
                    qcb.setChecked(new_cell_widget.isChecked())
                    table.setCellWidget(old_position, col_index, qcb)
                    qcb = QCheckBox(table)
                    qcb.setChecked(old_cell_widget.isChecked())
                    table.setCellWidget(new_position, col_index, qcb)