Example #1
0
def createMailModel(parent):
    model = QtGui.QStandardItemModel(0, 3, parent)

    model.setHeaderData(0, QtCore.Qt.Horizontal, "Subject")
    model.setHeaderData(1, QtCore.Qt.Horizontal, "Sender")
    model.setHeaderData(2, QtCore.Qt.Horizontal, "Date")

    addMail(model, "Happy New Year!", "Grace K. <*****@*****.**>",
            QtCore.QDateTime(QtCore.QDate(2006, 12, 31), QtCore.QTime(17, 3)))
    addMail(model, "Radically new concept",
            "Grace K. <*****@*****.**>",
            QtCore.QDateTime(QtCore.QDate(2006, 12, 22), QtCore.QTime(9, 44)))
    addMail(model, "Accounts", "*****@*****.**",
            QtCore.QDateTime(QtCore.QDate(2006, 12, 31), QtCore.QTime(12, 50)))
    addMail(model, "Expenses", "Joe Bloggs <*****@*****.**>",
            QtCore.QDateTime(QtCore.QDate(2006, 12, 25), QtCore.QTime(11, 39)))
    addMail(model, "Re: Expenses", "Andy <*****@*****.**>",
            QtCore.QDateTime(QtCore.QDate(2007, 1, 2), QtCore.QTime(16, 5)))
    addMail(model, "Re: Accounts", "Joe Bloggs <*****@*****.**>",
            QtCore.QDateTime(QtCore.QDate(2007, 1, 3), QtCore.QTime(14, 18)))
    addMail(model, "Re: Accounts", "Andy <*****@*****.**>",
            QtCore.QDateTime(QtCore.QDate(2007, 1, 3), QtCore.QTime(14, 26)))
    addMail(model, "Sports", "Linda Smith <*****@*****.**>",
            QtCore.QDateTime(QtCore.QDate(2007, 1, 5), QtCore.QTime(11, 33)))
    addMail(model, "AW: Sports", "Rolf Newschweinstein <*****@*****.**>",
            QtCore.QDateTime(QtCore.QDate(2007, 1, 5), QtCore.QTime(12, 0)))
    addMail(model, "RE: Sports", "Petra Schmidt <*****@*****.**>",
            QtCore.QDateTime(QtCore.QDate(2007, 1, 5), QtCore.QTime(12, 1)))

    return model
Example #2
0
    def get_tick_time(self, tick_time):
        if self.run_tick_start_time == 0:
            tick_date_time = QtCore.QDateTime()
            tick_date_time.setDate(
                QtCore.QDate(tick_time.year, tick_time.month, tick_time.day))
            tick_date_time.setTime(
                QtCore.QTime(tick_time.hour, tick_time.minute,
                             tick_time.second))
            return tick_date_time

        start_time = self.run_tick_start_time.toSecsSinceEpoch()
        tick_date_time = QtCore.QDateTime()
        tick_date_time.setDate(
            QtCore.QDate(tick_time.year, tick_time.month, tick_time.day))
        tick_date_time.setTime(
            QtCore.QTime(tick_time.hour, tick_time.minute, tick_time.second))

        run_time = tick_date_time.toSecsSinceEpoch()
        diff_time_idx = int(
            (run_time - start_time) / SettingFactor().KBarInterval)
        tick_sec_time = start_time + (diff_time_idx *
                                      SettingFactor().KBarInterval)
        tick_date_time.setSecsSinceEpoch(tick_sec_time)

        return tick_date_time
Example #3
0
    def getFirstAndLastTransactionDates(self):
        keys = list(filter(lambda k: len(self.allData[k]) > 0, sorted(list(self.allData.keys()))))
        if len(keys) == 0:
            return QtCore.QDate(0, 0, 0), QtCore.QDate(0, 0, 0)

        minDate = min(self.allData[keys[0]], key=lambda t: t.date).date
        maxDate = max(self.allData[keys[-1]], key=lambda t: t.date).date
        return QtCore.QDate(minDate.year, minDate.month, minDate.day), QtCore.QDate(maxDate.year, maxDate.month, maxDate.day)
Example #4
0
    def set_fs_time_limits_slot(self, limits: tuple):
        """Shows active days based on the millisecond timestamp limits
        """
        self.day_min = datetime.date.fromtimestamp(limits[0] / 1000)
        self.day_max = datetime.date.fromtimestamp(limits[1] / 1000)
        print("CalendarWidget: set_fs_time_limits_slot %s -> %s" %
              (str(self.day_min), str(self.day_max)))

        self.setDateRange(
            QtCore.QDate(self.day_min.year, self.day_min.month,
                         self.day_min.day),
            QtCore.QDate(self.day_max.year, self.day_max.month,
                         self.day_max.day))
Example #5
0
    def updateDateTime (self):
        filter1 = self.df.index.get_level_values('ID') == self.id.currentText()
        filter2 = self.df.index.get_level_values('ContractMonth') == self.month.currentText()
        df = self.df.iloc[filter1 & filter2]
        df = df.sort_values ('Date_Time')
        if df.empty:
            return
        start = df['Date_Time'][0]
        end = df['Date_Time'][-1]

        self.start_date.setDate (QtCore.QDate (start.year, start.month, start.day))
        self.start_time.setTime (QtCore.QTime (start.hour, start.minute))
        self.end_date.setDate (QtCore.QDate (end.year, end.month, end.day))
        self.end_time.setTime (QtCore.QTime (end.hour, end.minute))
Example #6
0
    def __init__(self):
        super(MainWindow, self).__init__()

        self.selectedDate = QtCore.QDate.currentDate()
        self.fontSize = 10

        centralWidget = QtGui.QWidget()

        dateLabel = QtGui.QLabel("Date:")
        monthCombo = QtGui.QComboBox()

        for month in range(1, 13):
            monthCombo.addItem(QtCore.QDate.longMonthName(month))

        yearEdit = QtGui.QDateTimeEdit()
        yearEdit.setDisplayFormat('yyyy')
        yearEdit.setDateRange(QtCore.QDate(1753, 1, 1),
                              QtCore.QDate(8000, 1, 1))

        monthCombo.setCurrentIndex(self.selectedDate.month() - 1)
        yearEdit.setDate(self.selectedDate)

        self.fontSizeLabel = QtGui.QLabel("Font size:")
        self.fontSizeSpinBox = QtGui.QSpinBox()
        self.fontSizeSpinBox.setRange(1, 64)
        self.fontSizeSpinBox.setValue(10)

        self.editor = QtGui.QTextBrowser()
        self.insertCalendar()

        monthCombo.activated[int].connect(self.setMonth)
        yearEdit.dateChanged.connect(self.setYear)
        self.fontSizeSpinBox.valueChanged.connect(self.setfontSize)

        controlsLayout = QtGui.QHBoxLayout()
        controlsLayout.addWidget(dateLabel)
        controlsLayout.addWidget(monthCombo)
        controlsLayout.addWidget(yearEdit)
        controlsLayout.addSpacing(24)
        controlsLayout.addWidget(self.fontSizeLabel)
        controlsLayout.addWidget(self.fontSizeSpinBox)
        controlsLayout.addStretch(1)

        centralLayout = QtGui.QVBoxLayout()
        centralLayout.addLayout(controlsLayout)
        centralLayout.addWidget(self.editor, 1)
        centralWidget.setLayout(centralLayout)

        self.setCentralWidget(centralWidget)
Example #7
0
    def kbar_deal_mark(self, deal):
        go = 1
        count = deal.Count if go > 0 else -deal.Count
        if self.trade.long_short == deal.LongShort:
            self.record_trade.count = self.record_trade.count + (deal.Count *
                                                                 go)
        else:
            self.record_trade.count = self.record_trade.count - (deal.Count *
                                                                 go)

        if self.record_trade.count == 0:
            self.record_trade.long_short = True

        tick_date_time = QtCore.QDateTime()
        tick_date_time.setDate(
            QtCore.QDate(deal.Date_Time.year, deal.Date_Time.month,
                         deal.Date_Time.day))
        tick_date_time.setTime(
            QtCore.QTime(deal.Date_Time.hour, deal.Date_Time.minute,
                         deal.Date_Time.second))

        loc = int(
            (tick_date_time.toTime_t() - self.run_tick_start_time.toTime_t()) /
            SettingFactor().KBarInterval)
        mark = SimpleNamespace(idx=0,
                               posx=loc,
                               count=self.record_trade.count,
                               long_short=deal.LongShort,
                               Date_Time=tick_date_time,
                               Close=deal.Close)
        if self.record_trade.count > 0:
            mark.text = "+" + str(self.record_trade.count)
        else:
            mark.text = str(self.record_trade.count)
        self.priceRecordPosition.append(mark)
Example #8
0
    def review_prev_done(self, prev_time):
        self.setUpdatesEnabled(False)
        tick_date_time = QtCore.QDateTime()
        tick_date_time.setDate(
            QtCore.QDate(prev_time.year, prev_time.month, prev_time.day))
        tick_date_time.setTime(
            QtCore.QTime(prev_time.hour, prev_time.minute, prev_time.second))

        self.run_time = tick_date_time
        start_time = self.run_tick_start_time.toSecsSinceEpoch()
        run_time = tick_date_time.toSecsSinceEpoch()
        diff_time_idx = int(
            (run_time - start_time) / SettingFactor().KBarInterval) - 1

        diff_run_count = self.run_idx - diff_time_idx
        self.run_idx = diff_time_idx

        tmp = []
        for tick_time in self.candle:
            if tick_time >= tick_date_time:
                tmp.append(tick_time)
        for tick_time in tmp:
            del self.candle[tick_time]

        for i in range(0, diff_run_count):
            candle = self.candlesTick.pop()

        self.candlesTick.generatePicture(True)
        self.setUpdatesEnabled(True)
Example #9
0
    def __init__(self):
        QMainWindow.__init__(self)
        Ui_MainWindow.__init__(self)

        self.ui = Ui_MainWindow()
        self.ui.setupUi(self)

        self.ui.dateEdit.setDate(QtCore.QDate.currentDate())
        self.ui.dateEdit.setMinimumDate(QtCore.QDate.currentDate())
        self.ui.dateEdit.setMaximumDate(QtCore.QDate(8181, 12, 31))

        self.ui.AddBtn.clicked.connect(self.save)
        self.ui.lineEdit.returnPressed.connect(self.save)
        self.db = QSqlDatabase.addDatabase("QSQLITE")
        self.db.setDatabaseName("store")
        dateMe = QtCore.QDate.currentDate()
        self.db.open()
        self.que = QSqlQuery("CREATE Table urgent (priority integer, "
                             "task varchar(256), date datetime);")
        if self.que.exec_:
            print("Executed successful.")
        self.que = QSqlQuery("CREATE Table priority (priority integer, "
                             "task varchar(256), date datetime);")
        if self.que.exec_:
            print("Executed successful.")
        self.que = QSqlQuery("CREATE Table dueDate (priority integer, "
                             "task varchar(256), date datetime);")
        if self.que.exec_:
            print("Executed successful.")
        self.load("priority")
        self.load("urgent")
        self.load("dueDate")
        self.ui.priority.itemDoubleClicked.connect(self.editPriority)
        self.ui.urgent.itemDoubleClicked.connect(self.editUrgent)
        self.ui.dueDate.itemDoubleClicked.connect(self.editDueDate)
Example #10
0
 def btn_clear_click(self):
     # действие на кнопку Очистить
     date = QtCore.QDate().currentDate()
     self.ui.de_start.setDate(date)
     self.ui.de_stop.setDate(date)
     self.ui.ed_clientnumber.clear()
     self.ui.cb_whocalledtype.setCurrentIndex(0)
Example #11
0
        def cadastra_membro():
            nome = c_membro.le_nome.text()
            endereco = c_membro.le_endereco.text()
            d_bat = c_membro.le_d_bat.text()
            d_con = c_membro.le_d_con.text()
            contato = c_membro.le_contato.text()
            rg = c_membro.le_rg.text()
            cpf = c_membro.le_cpf.text()
            cargo = str(c_membro.combo_cargo.currentText())

            if nome != "" and endereco != "" and len(d_bat) == 10 and len(
                    d_con) == 10 and len(contato) == 16 and len(
                        rg) == 13 and len(cpf) == 14:
                if cpf_db(cpf) == True:
                    if verificar_cpf(cpf) == True:
                        try:
                            db = conecta_db(meu_db[0])
                            cursor = db.cursor()

                            sql = "INSERT INTO clientes(nome, endereco, rg, cpf, contato, cargo, d_bat, d_con) VALUES(%s, %s, %s, %s, %s, %s, %s, %s)"
                            val = (str(nome), str(endereco), str(rg), str(cpf),
                                   str(contato), str(cargo), str(d_bat),
                                   str(d_con))
                            cursor.execute(sql, val)
                            db.commit()
                            aviso("Cadastro de Membro",
                                  "Cadastro efetuado com sucesso...")
                            c_membro.le_nome.clear()
                            c_membro.le_endereco.clear()
                            c_membro.le_d_bat.setDate(QtCore.QDate(2000, 1, 1))
                            c_membro.le_d_con.setDate(QtCore.QDate(2000, 1, 1))
                            c_membro.le_contato.clear()
                            c_membro.le_rg.clear()
                            c_membro.le_cpf.clear()
                        except BaseException as erro:
                            print("Erro no cadastrado do cliente.", str(erro))
                        finally:
                            cursor.close()
                            db.close()
                    else:
                        aviso("Cadastro de Membro",
                              "CPF Inválido, digite um cpf real")
                else:
                    aviso("Cadastro de Membro", "CPF já cadastrado no banco")
            else:
                aviso("Cadastro de Membro",
                      "Por favor prencha todos os parâmetros")
Example #12
0
    def createDateTimeEdits(self):
        self.editsGroup = QtGui.QGroupBox("Date and time spin boxes")

        dateLabel = QtGui.QLabel()
        dateEdit = QtGui.QDateEdit(QtCore.QDate.currentDate())
        dateEdit.setDateRange(QtCore.QDate(2005, 1, 1),
                              QtCore.QDate(2010, 12, 31))
        dateLabel.setText("Appointment date (between %s and %s):" %
                          (dateEdit.minimumDate().toString(QtCore.Qt.ISODate),
                           dateEdit.maximumDate().toString(QtCore.Qt.ISODate)))

        timeLabel = QtGui.QLabel()
        timeEdit = QtGui.QTimeEdit(QtCore.QTime.currentTime())
        timeEdit.setTimeRange(QtCore.QTime(9, 0, 0, 0),
                              QtCore.QTime(16, 30, 0, 0))
        timeLabel.setText("Appointment time (between %s and %s):" %
                          (timeEdit.minimumTime().toString(QtCore.Qt.ISODate),
                           timeEdit.maximumTime().toString(QtCore.Qt.ISODate)))

        self.meetingLabel = QtGui.QLabel()
        self.meetingEdit = QtGui.QDateTimeEdit(
            QtCore.QDateTime.currentDateTime())

        formatLabel = QtGui.QLabel(
            "Format string for the meeting date and time:")

        formatComboBox = QtGui.QComboBox()
        formatComboBox.addItem('yyyy-MM-dd hh:mm:ss (zzz \'ms\')')
        formatComboBox.addItem('hh:mm:ss MM/dd/yyyy')
        formatComboBox.addItem('hh:mm:ss dd/MM/yyyy')
        formatComboBox.addItem('hh:mm:ss')
        formatComboBox.addItem('hh:mm ap')

        formatComboBox.activated[str].connect(self.setFormatString)

        self.setFormatString(formatComboBox.currentText())

        editsLayout = QtGui.QVBoxLayout()
        editsLayout.addWidget(dateLabel)
        editsLayout.addWidget(dateEdit)
        editsLayout.addWidget(timeLabel)
        editsLayout.addWidget(timeEdit)
        editsLayout.addWidget(self.meetingLabel)
        editsLayout.addWidget(self.meetingEdit)
        editsLayout.addWidget(formatLabel)
        editsLayout.addWidget(formatComboBox)
        self.editsGroup.setLayout(editsLayout)
Example #13
0
 def setDay(self, day: datetime.date):
     """Setting the day acts as a global initializator
     """
     assert (isinstance(day, datetime.date))
     self.day = day
     # from datetime.date to Qt's QDate
     self.qday = QtCore.QDate(self.day.year, self.day.month, self.day.day)
     self.setSelectedDate(self.qday)
Example #14
0
    def setFormatString(self, formatString):
        self.meetingEdit.setDisplayFormat(formatString)

        if self.meetingEdit.displayedSections(
        ) & QtGui.QDateTimeEdit.DateSections_Mask:
            self.meetingEdit.setDateRange(QtCore.QDate(2004, 11, 1),
                                          QtCore.QDate(2005, 11, 30))
            self.meetingLabel.setText(
                "Meeting date (between %s and %s):" %
                (self.meetingEdit.minimumDate().toString(QtCore.Qt.ISODate),
                 self.meetingEdit.maximumDate().toString(QtCore.Qt.ISODate)))
        else:
            self.meetingEdit.setTimeRange(QtCore.QTime(0, 7, 20, 0),
                                          QtCore.QTime(21, 0, 0, 0))
            self.meetingLabel.setText(
                "Meeting time (between %s and %s):" %
                (self.meetingEdit.minimumTime().toString(QtCore.Qt.ISODate),
                 self.meetingEdit.maximumTime().toString(QtCore.Qt.ISODate)))
Example #15
0
    def __init__(self, hall, parent=None):
        """ 
        Inicijalizator dijaloga za dodavanje novog proivoda.

        :param hall: selektovana hala
        :type hall: Hall
        :param parent: roditeljski widget.
        :type parent: QWidget
        """
        super().__init__(parent)
        self.setWindowTitle("Dodaj proizvod")
        self.setWindowIcon(QIcon("resources/icons/plus.png"))

        self.resize(350, 256)
        self.button_box = QtWidgets.QDialogButtonBox(self)
        self.button_box.setGeometry(QtCore.QRect(200, 200, 140, 32))
        self.button_box.setOrientation(QtCore.Qt.Horizontal)
        self.button_box.setStandardButtons(QtWidgets.QDialogButtonBox.Cancel
                                           | QtWidgets.QDialogButtonBox.Ok)

        self.hall = hall

        self.item = QtWidgets.QLabel(self)
        self.item.setText("Ime proizvoda")
        self.item.setGeometry(QtCore.QRect(10, 30, 111, 16))
        self.item_name_input = QtWidgets.QComboBox(self)
        self.item_name_input.setGeometry(QtCore.QRect(200, 20, 110, 22))
        self._available_items()

        self.expiration_date = QtWidgets.QLabel(self)
        self.expiration_date.setText("Rok upotrebe")
        self.expiration_date.setGeometry(QtCore.QRect(10, 60, 111, 16))
        self.expiration_date_input = QtWidgets.QDateEdit(self)
        self.expiration_date_input.setGeometry(QtCore.QRect(200, 60, 110, 22))
        self.expiration_date_input.setMaximumDate(QtCore.QDate(2090, 12, 31))
        self.expiration_date_input.setCalendarPopup(True)
        self.expiration_date_input.setDate(QtCore.QDate.currentDate())
        self.expiration_date_input.setDisplayFormat("dd.MM.yyyy")

        self.item_count = QtWidgets.QLabel(self)
        self.item_count.setGeometry(QtCore.QRect(10, 100, 55, 16))
        self.item_count.setText("Količina")
        self.item_count_input = QtWidgets.QSpinBox(self)
        self.item_count_input.setGeometry(QtCore.QRect(200, 100, 110, 22))
        self.item_count_input.setMaximum(self.num_of_places())

        self.temperature = QtWidgets.QLabel(self)
        self.temperature.setGeometry(QtCore.QRect(10, 140, 171, 16))
        self.temperature.setText("Temperatura za čuvanje")
        self.temperature_input = QtWidgets.QSpinBox(self)
        self.temperature_input.setGeometry(QtCore.QRect(200, 130, 110, 22))
        self._set_temperature()

        self.button_box.accepted.connect(self._on_accept)
        self.button_box.rejected.connect(self.reject)

        self.new_item = None
Example #16
0
    def __init__(self, parent=None, dodaj=True, proizvod=None):

        super().__init__(parent)

        if dodaj:
            self.setWindowTitle("Dodaj proizvod")
            self.setWindowIcon(QtGui.QIcon("resources/icons/fruit.png"))
        else:
            self.setWindowTitle("Izmeni proizvod")
            self.setWindowIcon(
                QtGui.QIcon("resources/icons/fruit-apple-half.png"))
        self._dodaj = dodaj
        self._proizvod = proizvod

        self.vbox_layout = QtWidgets.QVBoxLayout()
        self.form_layout = QtWidgets.QFormLayout()
        self.line_edit_naziv = QtWidgets.QLineEdit(self)
        self.date_edit_rok_upotrebe = QtWidgets.QDateEdit(self)
        self.spin_box_temperatura = QtWidgets.QSpinBox()
        self.spin_box_kolicina = QtWidgets.QSpinBox()
        self.dialog_button_box = QtWidgets.QDialogButtonBox(
            QtWidgets.QDialogButtonBox.Ok | QtWidgets.QDialogButtonBox.Cancel,
            parent=self)

        self.line_edit_naziv.setMaxLength(14)
        self.spin_box_kolicina.setMinimum(1)
        self.spin_box_kolicina.setMaximum(250)
        self.spin_box_temperatura.setMinimum(-10)
        self.spin_box_temperatura.setMaximum(25)
        self.date_edit_rok_upotrebe.setDate(QtCore.QDate.currentDate())
        self.date_edit_rok_upotrebe.setMinimumDate(QtCore.QDate.currentDate())
        self.date_edit_rok_upotrebe.setCalendarPopup(True)
        self.date_edit_rok_upotrebe.setDisplayFormat("dd.MM.yyyy")
        self.date_edit_rok_upotrebe.setMinimumDate(QtCore.QDate.currentDate())

        if not dodaj:
            self.line_edit_naziv.setText(proizvod.naziv)
            self.date_edit_rok_upotrebe.setDate(
                QtCore.QDate(int(proizvod.rok_upotrebe[6:]),
                             int(proizvod.rok_upotrebe[3:5]),
                             int(proizvod.rok_upotrebe[:2])))
            self.spin_box_temperatura.setValue(proizvod.temperatura)
            self.spin_box_kolicina.setValue(proizvod.kolicina)

        self.form_layout.addRow("Naziv:", self.line_edit_naziv)
        self.form_layout.addRow("Rok upotrebe:", self.date_edit_rok_upotrebe)
        self.form_layout.addRow("Temperatura:", self.spin_box_temperatura)
        self.form_layout.addRow("Količina:", self.spin_box_kolicina)

        self.vbox_layout.addLayout(self.form_layout)
        self.vbox_layout.addWidget(self.dialog_button_box)

        self.dialog_button_box.accepted.connect(self._ok)
        self.dialog_button_box.rejected.connect(self.reject)

        self.setLayout(self.vbox_layout)
Example #17
0
 def populate_side_header(self):
     self.side_le_title.setText(self.current_project.film_title)
     self.side_le_director.setText(self.current_project.director)
     self.side_le_production.setText(self.current_project.production)
     self.side_le_cinematographer.setText(
         self.current_project.cinematographer)
     self.side_le_verification_date.setDate(
         QtCore.QDate(self.current_project.qc_date.get("year"),
                      self.current_project.qc_date.get("month"),
                      self.current_project.qc_date.get("day")))
Example #18
0
 def update_transaction(self, updated_transaction):
     self.__transaction = copy.deepcopy(updated_transaction)
     self.transactionLabel.setText(self.__transaction.name)
     self.priceInput.setValue(self.__transaction.price)
     self.ammountInput.setValue(self.__transaction.ammount)
     self.faresInput.setValue(self.__transaction.paid_fares)
     self.categoryInput.setCurrentIndex(0 if self.__transaction.category ==
                                        StockTypes.FI else 1)
     self.idInput.setValue(self.__transaction.operation_id)
     self.operationDateInput.setDate(QtCore.QDate(self.__transaction.operation_date.year,\
         self.__transaction.operation_date.month, self.__transaction.operation_date.day))
     self.totalValueLabel.setText("%0.2f" % self.__transaction.total_price)
Example #19
0
    def eventFilter(self, source, event):
        if event.type() == QtCore.QEvent.MouseButtonPress:
            if self.model:
                model = self.set_model(CalendarModel(self.path))
            index = self._table.indexAt(event.pos())
            current_date = QtCore.QDate(self.calendar.yearShown(),
                                        self.calendar.monthShown(),
                                        index.data())
            self.current_date.setDate(current_date)
            if event.button() == QtCore.Qt.RightButton:
                if self.model:
                    self.selected_date = current_date
                    model = self.set_model(CalendarModel(self.path))
                    self.model_day(self.selected_date)
                self.context_menu = QtWidgets.QMenu()
                self.action_add = QtWidgets.QAction('Add event', self)
                self.action_delete = QtWidgets.QAction('Delete event', self)
                self.context_menu.addAction(self.action_add)
                self.context_menu.addAction(self.action_delete)
                self.action_add.triggered.connect(self._on_add)
                self.action_delete.triggered.connect(self._on_delete)
                self.context_menu.exec_(
                    QtCore.QPoint(event.globalX(), event.globalY()))
                return True
        elif event.type() == QtCore.QEvent.MouseButtonDblClick:
            if event.button() == QtCore.Qt.LeftButton:
                self._on_add()
        elif event.type() == QtCore.QEvent.MouseButtonRelease:
            if self.model:
                index = self._table.indexAt(event.pos())
                current_date = QtCore.QDate(self.calendar.yearShown(),
                                            self.calendar.monthShown(),
                                            index.data())
                model = self.set_model(CalendarModel(self.path))
                # self.model_day(current_date)
                if (self.model._data) == []:
                    model = self.set_model(CalendarModel(self.path))

        return False
Example #20
0
    def __init__(self):
        super().__init__()
        self.ui = Ui_MainWindow()
        self.ui.setupUi(self)
        self.ui.de_start.setDate(QtCore.QDate().currentDate())
        self.ui.de_stop.setDate(QtCore.QDate().currentDate())
        self.ui.cb_whocalled.setVisible(False)
        self.ui.btn_report.setVisible(False)
        self.ui.tab_2.setEnabled(False)
        self.mango = MangoOffice()
        self.dframe = PandasDataFrame()

        # connections
        self.ui.btn_connection.clicked.connect(self.connection)
        self.ui.btn_download.clicked.connect(self.feel_table)
        self.ui.cb_whocalledtype.currentIndexChanged.connect(
            self.who_called_type_change)
        self.ui.cb_ats.currentIndexChanged.connect(self.who_called_type_change)
        self.ui.btn_clear.clicked.connect(self.btn_clear_click)
        self.ui.de_start.dateChanged.connect(self.de_start_date_change)
        self.ui.de_stop.dateChanged.connect(self.de_stop_date_change)
        self.ui.btn_report.clicked.connect(self.export_to_xls)
Example #21
0
	def __init__(self, date, tree_item, column, parent=None, type='end'):
		QtWidgets.QDateEdit.__init__(self, parent)

		self.tree_item = tree_item
		self.column = column

		self.min_date = QtCore.QDate(2016,1,1)
		self.max_date = QtCore.QDate(2016,12,31)
		self.today = QtCore.QDate.currentDate()
		self.date_format = 'yyyy-MM-dd'
		self.date = date

		self.dateedit = TreeDateLineEdit(self)
		self.dateedit.setCalendarPopup(True)
		self.dateedit.setDisplayFormat(self.date_format)
		self.dateedit.setMinimumDate(self.min_date)
		self.dateedit.setMaximumDate(self.max_date)

		self.empty = DateLineEdit(date, self)

		self.layout = QtWidgets.QVBoxLayout(parent)
		self.layout.addWidget(self.empty)
		self.layout.addWidget(self.dateedit)

		if date!="":
			self.dateedit.setDate(QtCore.QDate.fromString(date, self.date_format))
			self.empty.setVisible(False)
			self.dateedit.setVisible(True)
		else:
			self.dateedit.setDate(self.today)
			self.empty.setVisible(True)
			self.dateedit.setVisible(False)

		self.setLayout(self.layout)
		self.empty.clicked.connect(self._show_date)
		self.dateedit.dateChanged.connect(self._change_date)
Example #22
0
 def add_transaction(self, new_transaction):
     new_transaction_widget = TransactionWidget([])
     new_transaction_widget.transactionLabel.setText(new_transaction.name)
     new_transaction_widget.priceInput.setValue(new_transaction.price)
     new_transaction_widget.ammountInput.setValue(new_transaction.ammount)
     new_transaction_widget.faresInput.setValue(new_transaction.paid_fares)
     new_transaction_widget.categoryInput.setCurrentIndex(0 if new_transaction.category == StockTypes.FI else 1)
     new_transaction_widget.idInput.setValue(new_transaction.operation_id)
     new_transaction_widget.operationTypeInput.setCurrentIndex(0 if new_transaction.operation_type ==\
         TransactionTypes.PURCHASE else 1)
     new_transaction_widget.operationDateInput.setDate(QtCore.QDate(new_transaction.operation_date.year,\
         new_transaction.operation_date.month, new_transaction.operation_date.day))
     new_transaction_widget.totalValueLabel.setText("%0.2f" %new_transaction.total_price)
     new_transaction_widget.edit_transaction_signal.connect(self.edit_transaction_slot)
     self.transactionListLayout.insertWidget(self.transactionListLayout.count() -1, new_transaction_widget)
Example #23
0
    def reconnect_trade_order_ret(self, trade):
        long_short = True if '買' in trade.long_short else False
        mark = self.pricePosition.last()
        tick_date_time = QtCore.QDateTime()
        tick_date_time.setDate(
            QtCore.QDate(trade.date_time.year, trade.date_time.month,
                         trade.date_time.day))
        tick_date_time.setTime(
            QtCore.QTime(trade.date_time.hour, trade.date_time.minute,
                         trade.date_time.second))

        if mark != None and mark.Date_Time == tick_date_time and mark.long_short == long_short and mark.Close == trade.price:
            self.trade.count = self.trade.count + trade.count
            mark.count = self.trade.count
            if self.trade.count > 0:
                mark.text = "+" + str(self.trade.count)
            else:
                mark.text = str(self.trade.count)
            self.pricePosition.pop()
            self.pricePosition.append(mark)
        else:
            self.trade.count = self.trade.count + trade.count if long_short else self.trade.count - trade.count
            if not long_short and self.trade.count < 0:
                self.trade.long_short = False
            elif long_short and self.trade.count >= 0:
                self.trade.long_short = True

            loc = int((tick_date_time.toTime_t() -
                       self.run_tick_start_time.toTime_t()) /
                      SettingFactor().KBarInterval)
            mark = SimpleNamespace(idx=0,
                                   posx=loc,
                                   count=self.trade.count,
                                   long_short=long_short,
                                   Date_Time=trade.date_time,
                                   Close=trade.price)
            if self.trade.count > 0:
                mark.text = "+" + str(self.trade.count)
            else:
                mark.text = str(self.trade.count)
            self.pricePosition.append(mark)
        if self.trade.count == 0:
            self.reconnect_trade_order_deal = []
        else:
            self.reconnect_trade_order_deal.append(trade)
Example #24
0
    def __init__(self, parent: Q_Todo_Month_View, *args, **kwargs):
        super(Q_Chains_Calendar, self).__init__(parent=parent, *args, **kwargs)
        self.setFirstDayOfWeek(QtCore.Qt.DayOfWeek.Monday)
        self.setVerticalHeaderFormat(self.VerticalHeaderFormat.NoVerticalHeader)
        self.setSelectionMode(self.NoSelection)

        today = datetime.date.today()

        # Prevent scrolling past the current date
        self.setMaximumDate(date_to_qdate(today))

        # Hides the selected date
        self.setSelectedDate(QtCore.QDate(1, 1, 1))
        self.setCurrentPage(today.year, today.month)

        self.month_chains = {}
        self.set_chain_colors()
        self.currentPageChanged.connect(self.on_chain_selection_update)
        chain_handler.update_chain_val_event.connect(self.on_chain_selection_update)
Example #25
0
    def trade_deal(self, tick, long_short, count, gain):
        go = 1 if long_short else -1
        count = count if go > 0 else -count
        if self.trade.long_short == long_short:
            self.trade.count = self.trade.count + (count * go)
        else:
            self.trade.count = self.trade.count - (count * go)

        if self.trade.count == 0:
            self.trade.long_short = True

        tick_date_time = QtCore.QDateTime()
        tick_date_time.setDate(
            QtCore.QDate(tick.Date_Time.year, tick.Date_Time.month,
                         tick.Date_Time.day))
        tick_date_time.setTime(
            QtCore.QTime(tick.Date_Time.hour, tick.Date_Time.minute,
                         tick.Date_Time.second))

        mark = self.pricePosition.last()
        if mark != None and mark.Date_Time == tick_date_time and mark.long_short == long_short and mark.Close == tick.Close:
            mark.count = self.trade.count
            if self.trade.count > 0:
                mark.text = "+" + str(self.trade.count)
            else:
                mark.text = str(self.trade.count)
            self.pricePosition.pop()
            self.pricePosition.append(mark)
        else:
            loc = int((tick_date_time.toTime_t() -
                       self.run_tick_start_time.toTime_t()) /
                      SettingFactor().KBarInterval)
            mark = SimpleNamespace(idx=0,
                                   posx=loc,
                                   count=self.trade.count,
                                   long_short=long_short,
                                   Date_Time=tick_date_time,
                                   Close=tick.Close)
            if self.trade.count > 0:
                mark.text = "+" + str(self.trade.count)
            else:
                mark.text = str(self.trade.count)
            self.pricePosition.append(mark)
Example #26
0
    def __init__(self, parent=None):
        super(IncomeDialog, self).__init__(parent)
        self.verticalLayout = QtWidgets.QVBoxLayout(self)
        self.verticalLayout.setContentsMargins(8, 8, 8, 8)
        self.dialogNameLabel = DialogNameWidget(self)
        self.dialogNameLabel.setText('Income')
        self.dialogNameLabel.setPointSize(FontSize.dialogNameLabelFontSize())
        self.dialogNameLabel.setAlignment(QtCore.Qt.AlignCenter)

        self.dateLineEdit = QtWidgets.QDateTimeEdit(
            QtCore.QDate(QtCore.QDate.currentDate()), self)
        self.dateLineEdit.setCalendarPopup(True)
        self.dateLineEdit.setStyleSheet('color:black')

        self.informationWidget = QtWidgets.QWidget(self)
        self.informationGridLayout = QtWidgets.QGridLayout(
            self.informationWidget)

        self.verticalLayout.addWidget(self.dialogNameLabel)
        self.verticalLayout.addWidget(self.dateLineEdit)
        self.verticalLayout.addWidget(self.informationWidget)

        self.setWindowTitle('Income')
        self.totalIncomeLabel = QtWidgets.QLabel(self)
        self.totalIncomeLabelText = QtWidgets.QLabel(self)
        self.totalIncomeLabelText.setStyleSheet(
            'background-color:#505050;padding:4px;border-radius:4px')

        self.totalProfitLabel = QtWidgets.QLabel(self)
        self.totalProfitLabelText = QtWidgets.QLabel(self)
        self.totalProfitLabelText.setStyleSheet(
            'background-color:#505050;padding:4px;border-radius:4px')

        self.totalProfitLabel.setText('Total Profit')
        self.totalIncomeLabel.setText('Total Income')

        self.informationGridLayout.addWidget(self.totalIncomeLabel, 0, 0)
        self.informationGridLayout.addWidget(self.totalIncomeLabelText, 0, 1)
        self.informationGridLayout.addWidget(self.totalProfitLabel, 1, 0)
        self.informationGridLayout.addWidget(self.totalProfitLabelText, 1, 1)

        self.__update(self.dateLineEdit.date())
        self.dateLineEdit.dateChanged.connect(self.__update)
Example #27
0
def date_string_to_qdate(string: str) -> QtCore.QDate:
    # Assumes mm/dd/yy date format
    try:
        _date = datetime.date.today()
        year, month, day = _date.year, _date.month, _date.day

        split_string = string.split("/")
        if len(split_string) == 3:
            month, day, year = split_string
            month, day, year = int(month), int(day), int(year)
        elif len(split_string) == 2:
            month, day = split_string
            month, day = int(month), int(day)
        else:
            return None

        qdate = QtCore.QDate()
        qdate.setDate(year, month, day)

        return qdate
    except:
        return None
Example #28
0
    def setupUi(self, FiltroRemanufatura):
        FiltroRemanufatura.setObjectName("FiltroRemanufatura")
        FiltroRemanufatura.resize(645, 280)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding,
                                           QtWidgets.QSizePolicy.Expanding)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            FiltroRemanufatura.sizePolicy().hasHeightForWidth())
        FiltroRemanufatura.setSizePolicy(sizePolicy)
        FiltroRemanufatura.setMinimumSize(QtCore.QSize(600, 250))
        FiltroRemanufatura.setMaximumSize(QtCore.QSize(645, 280))
        FiltroRemanufatura.setSizeIncrement(QtCore.QSize(100, 50))
        FiltroRemanufatura.setLocale(
            QtCore.QLocale(QtCore.QLocale.Portuguese, QtCore.QLocale.Brazil))
        FiltroRemanufatura.setSizeGripEnabled(False)
        self.gridLayout = QtWidgets.QGridLayout(FiltroRemanufatura)
        self.gridLayout.setSpacing(6)
        self.gridLayout.setContentsMargins(0, 0, 0, 0)
        self.gridLayout.setObjectName("gridLayout")
        self.frame = QtWidgets.QFrame(FiltroRemanufatura)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding,
                                           QtWidgets.QSizePolicy.Expanding)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.frame.sizePolicy().hasHeightForWidth())
        self.frame.setSizePolicy(sizePolicy)
        font = QtGui.QFont()
        font.setWeight(75)
        font.setBold(True)
        self.frame.setFont(font)
        self.frame.setLineWidth(0)
        self.frame.setObjectName("frame")
        self.gridLayout_2 = QtWidgets.QGridLayout(self.frame)
        self.gridLayout_2.setContentsMargins(0, 0, 0, 0)
        self.gridLayout_2.setVerticalSpacing(6)
        self.gridLayout_2.setObjectName("gridLayout_2")
        self.formFrame = QtWidgets.QFrame(self.frame)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred,
                                           QtWidgets.QSizePolicy.Preferred)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.formFrame.sizePolicy().hasHeightForWidth())
        self.formFrame.setSizePolicy(sizePolicy)
        font = QtGui.QFont()
        font.setWeight(50)
        font.setBold(False)
        self.formFrame.setFont(font)
        self.formFrame.setObjectName("formFrame")
        self.gridLayout_3 = QtWidgets.QGridLayout(self.formFrame)
        self.gridLayout_3.setContentsMargins(9, -1, -1, -1)
        self.gridLayout_3.setObjectName("gridLayout_3")
        self.frame_2 = QtWidgets.QFrame(self.formFrame)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred,
                                           QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.frame_2.sizePolicy().hasHeightForWidth())
        self.frame_2.setSizePolicy(sizePolicy)
        self.frame_2.setObjectName("frame_2")
        self.verticalLayout_4 = QtWidgets.QVBoxLayout(self.frame_2)
        self.verticalLayout_4.setObjectName("verticalLayout_4")
        self.groupBox_situacao = QtWidgets.QGroupBox(self.frame_2)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred,
                                           QtWidgets.QSizePolicy.Preferred)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.groupBox_situacao.sizePolicy().hasHeightForWidth())
        self.groupBox_situacao.setSizePolicy(sizePolicy)
        self.groupBox_situacao.setObjectName("groupBox_situacao")
        self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.groupBox_situacao)
        self.verticalLayout_2.setObjectName("verticalLayout_2")
        self.checkBox_cadastrada = QtWidgets.QCheckBox(self.groupBox_situacao)
        self.checkBox_cadastrada.setObjectName("checkBox_cadastrada")
        self.verticalLayout_2.addWidget(self.checkBox_cadastrada)
        self.checkBox_realizada = QtWidgets.QCheckBox(self.groupBox_situacao)
        self.checkBox_realizada.setObjectName("checkBox_realizada")
        self.verticalLayout_2.addWidget(self.checkBox_realizada)
        self.checkBox_encerrada = QtWidgets.QCheckBox(self.groupBox_situacao)
        self.checkBox_encerrada.setEnabled(True)
        self.checkBox_encerrada.setObjectName("checkBox_encerrada")
        self.verticalLayout_2.addWidget(self.checkBox_encerrada)
        self.verticalLayout_4.addWidget(self.groupBox_situacao)
        self.groupBox_classificacao = QtWidgets.QGroupBox(self.frame_2)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred,
                                           QtWidgets.QSizePolicy.Preferred)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.groupBox_classificacao.sizePolicy().hasHeightForWidth())
        self.groupBox_classificacao.setSizePolicy(sizePolicy)
        self.groupBox_classificacao.setObjectName("groupBox_classificacao")
        self.verticalLayout = QtWidgets.QVBoxLayout(
            self.groupBox_classificacao)
        self.verticalLayout.setObjectName("verticalLayout")
        self.checkBox_colorido = QtWidgets.QCheckBox(
            self.groupBox_classificacao)
        self.checkBox_colorido.setObjectName("checkBox_colorido")
        self.verticalLayout.addWidget(self.checkBox_colorido)
        self.checkBox_PB = QtWidgets.QCheckBox(self.groupBox_classificacao)
        self.checkBox_PB.setObjectName("checkBox_PB")
        self.verticalLayout.addWidget(self.checkBox_PB)
        self.verticalLayout_4.addWidget(self.groupBox_classificacao)
        self.gridLayout_3.addWidget(self.frame_2, 0, 1, 1, 1)
        self.frame_3 = QtWidgets.QFrame(self.formFrame)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred,
                                           QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.frame_3.sizePolicy().hasHeightForWidth())
        self.frame_3.setSizePolicy(sizePolicy)
        self.frame_3.setFrameShape(QtWidgets.QFrame.NoFrame)
        self.frame_3.setFrameShadow(QtWidgets.QFrame.Plain)
        self.frame_3.setLineWidth(0)
        self.frame_3.setObjectName("frame_3")
        self.verticalLayout_5 = QtWidgets.QVBoxLayout(self.frame_3)
        self.verticalLayout_5.setContentsMargins(5, 5, 5, 5)
        self.verticalLayout_5.setObjectName("verticalLayout_5")
        self.horizontalGroupBox_2 = QtWidgets.QGroupBox(self.frame_3)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred,
                                           QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.horizontalGroupBox_2.sizePolicy().hasHeightForWidth())
        self.horizontalGroupBox_2.setSizePolicy(sizePolicy)
        self.horizontalGroupBox_2.setCheckable(False)
        self.horizontalGroupBox_2.setObjectName("horizontalGroupBox_2")
        self.horizontalLayout_2 = QtWidgets.QHBoxLayout(
            self.horizontalGroupBox_2)
        self.horizontalLayout_2.setContentsMargins(9, 9, 9, 9)
        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
        self.lineEdit_cliente_documento = QtWidgets.QLineEdit(
            self.horizontalGroupBox_2)
        self.lineEdit_cliente_documento.setMaximumSize(
            QtCore.QSize(60, 16777215))
        self.lineEdit_cliente_documento.setObjectName(
            "lineEdit_cliente_documento")
        self.horizontalLayout_2.addWidget(self.lineEdit_cliente_documento)
        self.toolButton_cliente = QtWidgets.QToolButton(
            self.horizontalGroupBox_2)
        self.toolButton_cliente.setText("")
        self.toolButton_cliente.setObjectName("toolButton_cliente")
        self.horizontalLayout_2.addWidget(self.toolButton_cliente)
        self.lineEdit_cliente = QtWidgets.QLineEdit(self.horizontalGroupBox_2)
        self.lineEdit_cliente.setEnabled(False)
        self.lineEdit_cliente.setObjectName("lineEdit_cliente")
        self.horizontalLayout_2.addWidget(self.lineEdit_cliente)
        self.verticalLayout_5.addWidget(self.horizontalGroupBox_2)
        self.horizontalGroupBox_3 = QtWidgets.QGroupBox(self.frame_3)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred,
                                           QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.horizontalGroupBox_3.sizePolicy().hasHeightForWidth())
        self.horizontalGroupBox_3.setSizePolicy(sizePolicy)
        self.horizontalGroupBox_3.setCheckable(False)
        self.horizontalGroupBox_3.setObjectName("horizontalGroupBox_3")
        self.horizontalLayout_3 = QtWidgets.QHBoxLayout(
            self.horizontalGroupBox_3)
        self.horizontalLayout_3.setContentsMargins(9, 9, 9, 9)
        self.horizontalLayout_3.setObjectName("horizontalLayout_3")
        self.lineEdit_mercadoria_id = QtWidgets.QLineEdit(
            self.horizontalGroupBox_3)
        self.lineEdit_mercadoria_id.setMaximumSize(QtCore.QSize(60, 16777215))
        self.lineEdit_mercadoria_id.setObjectName("lineEdit_mercadoria_id")
        self.horizontalLayout_3.addWidget(self.lineEdit_mercadoria_id)
        self.toolButton_mercadoria = QtWidgets.QToolButton(
            self.horizontalGroupBox_3)
        self.toolButton_mercadoria.setText("")
        self.toolButton_mercadoria.setObjectName("toolButton_mercadoria")
        self.horizontalLayout_3.addWidget(self.toolButton_mercadoria)
        self.lineEdit_mercadoria = QtWidgets.QLineEdit(
            self.horizontalGroupBox_3)
        self.lineEdit_mercadoria.setEnabled(False)
        self.lineEdit_mercadoria.setObjectName("lineEdit_mercadoria")
        self.horizontalLayout_3.addWidget(self.lineEdit_mercadoria)
        self.verticalLayout_5.addWidget(self.horizontalGroupBox_3)
        self.widget_4 = QtWidgets.QWidget(self.frame_3)
        self.widget_4.setObjectName("widget_4")
        self.horizontalLayout_6 = QtWidgets.QHBoxLayout(self.widget_4)
        self.horizontalLayout_6.setContentsMargins(0, 0, 0, 0)
        self.horizontalLayout_6.setObjectName("horizontalLayout_6")
        self.groupBox_cadastro = QtWidgets.QGroupBox(self.widget_4)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum,
                                           QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.groupBox_cadastro.sizePolicy().hasHeightForWidth())
        self.groupBox_cadastro.setSizePolicy(sizePolicy)
        self.groupBox_cadastro.setCheckable(True)
        self.groupBox_cadastro.setChecked(False)
        self.groupBox_cadastro.setObjectName("groupBox_cadastro")
        self.horizontalLayout = QtWidgets.QHBoxLayout(self.groupBox_cadastro)
        self.horizontalLayout.setContentsMargins(9, 9, 9, 9)
        self.horizontalLayout.setObjectName("horizontalLayout")
        self.dateEdit_data_entrada1 = QtWidgets.QDateEdit(
            self.groupBox_cadastro)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed,
                                           QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.dateEdit_data_entrada1.sizePolicy().hasHeightForWidth())
        self.dateEdit_data_entrada1.setSizePolicy(sizePolicy)
        self.dateEdit_data_entrada1.setWrapping(False)
        self.dateEdit_data_entrada1.setFrame(False)
        self.dateEdit_data_entrada1.setReadOnly(False)
        self.dateEdit_data_entrada1.setButtonSymbols(
            QtWidgets.QAbstractSpinBox.UpDownArrows)
        self.dateEdit_data_entrada1.setCalendarPopup(True)
        self.dateEdit_data_entrada1.setDate(QtCore.QDate(2019, 1, 1))
        self.dateEdit_data_entrada1.setObjectName("dateEdit_data_entrada1")
        self.horizontalLayout.addWidget(self.dateEdit_data_entrada1)
        self.label_2 = QtWidgets.QLabel(self.groupBox_cadastro)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed,
                                           QtWidgets.QSizePolicy.Preferred)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.label_2.sizePolicy().hasHeightForWidth())
        self.label_2.setSizePolicy(sizePolicy)
        self.label_2.setObjectName("label_2")
        self.horizontalLayout.addWidget(self.label_2)
        self.dateEdit_data_entrada2 = QtWidgets.QDateEdit(
            self.groupBox_cadastro)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed,
                                           QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.dateEdit_data_entrada2.sizePolicy().hasHeightForWidth())
        self.dateEdit_data_entrada2.setSizePolicy(sizePolicy)
        self.dateEdit_data_entrada2.setWrapping(False)
        self.dateEdit_data_entrada2.setFrame(False)
        self.dateEdit_data_entrada2.setReadOnly(False)
        self.dateEdit_data_entrada2.setButtonSymbols(
            QtWidgets.QAbstractSpinBox.UpDownArrows)
        self.dateEdit_data_entrada2.setCalendarPopup(True)
        self.dateEdit_data_entrada2.setDate(QtCore.QDate(2019, 12, 31))
        self.dateEdit_data_entrada2.setObjectName("dateEdit_data_entrada2")
        self.horizontalLayout.addWidget(self.dateEdit_data_entrada2)
        self.horizontalLayout_6.addWidget(self.groupBox_cadastro)
        self.groupBox_realizada = QtWidgets.QGroupBox(self.widget_4)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred,
                                           QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.groupBox_realizada.sizePolicy().hasHeightForWidth())
        self.groupBox_realizada.setSizePolicy(sizePolicy)
        self.groupBox_realizada.setAlignment(QtCore.Qt.AlignLeading
                                             | QtCore.Qt.AlignLeft
                                             | QtCore.Qt.AlignVCenter)
        self.groupBox_realizada.setCheckable(True)
        self.groupBox_realizada.setChecked(False)
        self.groupBox_realizada.setObjectName("groupBox_realizada")
        self.horizontalLayout_4 = QtWidgets.QHBoxLayout(
            self.groupBox_realizada)
        self.horizontalLayout_4.setObjectName("horizontalLayout_4")
        self.dateEdit_data_saida1 = QtWidgets.QDateEdit(
            self.groupBox_realizada)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed,
                                           QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.dateEdit_data_saida1.sizePolicy().hasHeightForWidth())
        self.dateEdit_data_saida1.setSizePolicy(sizePolicy)
        self.dateEdit_data_saida1.setWrapping(False)
        self.dateEdit_data_saida1.setFrame(False)
        self.dateEdit_data_saida1.setReadOnly(False)
        self.dateEdit_data_saida1.setButtonSymbols(
            QtWidgets.QAbstractSpinBox.UpDownArrows)
        self.dateEdit_data_saida1.setCalendarPopup(True)
        self.dateEdit_data_saida1.setDate(QtCore.QDate(2019, 1, 1))
        self.dateEdit_data_saida1.setObjectName("dateEdit_data_saida1")
        self.horizontalLayout_4.addWidget(self.dateEdit_data_saida1)
        self.label_3 = QtWidgets.QLabel(self.groupBox_realizada)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed,
                                           QtWidgets.QSizePolicy.Minimum)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.label_3.sizePolicy().hasHeightForWidth())
        self.label_3.setSizePolicy(sizePolicy)
        self.label_3.setObjectName("label_3")
        self.horizontalLayout_4.addWidget(self.label_3)
        self.dateEdit_data_saida2 = QtWidgets.QDateEdit(
            self.groupBox_realizada)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed,
                                           QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.dateEdit_data_saida2.sizePolicy().hasHeightForWidth())
        self.dateEdit_data_saida2.setSizePolicy(sizePolicy)
        self.dateEdit_data_saida2.setWrapping(False)
        self.dateEdit_data_saida2.setFrame(False)
        self.dateEdit_data_saida2.setReadOnly(False)
        self.dateEdit_data_saida2.setButtonSymbols(
            QtWidgets.QAbstractSpinBox.UpDownArrows)
        self.dateEdit_data_saida2.setCalendarPopup(True)
        self.dateEdit_data_saida2.setDate(QtCore.QDate(2019, 12, 31))
        self.dateEdit_data_saida2.setObjectName("dateEdit_data_saida2")
        self.horizontalLayout_4.addWidget(self.dateEdit_data_saida2)
        self.horizontalLayout_6.addWidget(self.groupBox_realizada)
        self.verticalLayout_5.addWidget(self.widget_4)
        self.gridLayout_3.addWidget(self.frame_3, 0, 0, 1, 1)
        spacerItem = QtWidgets.QSpacerItem(20, 40,
                                           QtWidgets.QSizePolicy.Minimum,
                                           QtWidgets.QSizePolicy.Expanding)
        self.gridLayout_3.addItem(spacerItem, 1, 0, 1, 1)
        self.gridLayout_2.addWidget(self.formFrame, 1, 0, 1, 1)
        self.gridLayout.addWidget(self.frame, 0, 0, 1, 1)

        self.retranslateUi(FiltroRemanufatura)
        QtCore.QMetaObject.connectSlotsByName(FiltroRemanufatura)
Example #29
0
    def insertCalendar(self):
        self.editor.clear()
        cursor = self.editor.textCursor()
        cursor.beginEditBlock()

        date = QtCore.QDate(self.selectedDate.year(),
                            self.selectedDate.month(), 1)

        tableFormat = QtGui.QTextTableFormat()
        tableFormat.setAlignment(QtCore.Qt.AlignHCenter)
        tableFormat.setBackground(QtGui.QColor('#e0e0e0'))
        tableFormat.setCellPadding(2)
        tableFormat.setCellSpacing(4)
        constraints = [
            QtGui.QTextLength(QtGui.QTextLength.PercentageLength, 14),
            QtGui.QTextLength(QtGui.QTextLength.PercentageLength, 14),
            QtGui.QTextLength(QtGui.QTextLength.PercentageLength, 14),
            QtGui.QTextLength(QtGui.QTextLength.PercentageLength, 14),
            QtGui.QTextLength(QtGui.QTextLength.PercentageLength, 14),
            QtGui.QTextLength(QtGui.QTextLength.PercentageLength, 14),
            QtGui.QTextLength(QtGui.QTextLength.PercentageLength, 14)
        ]

        tableFormat.setColumnWidthConstraints(constraints)

        table = cursor.insertTable(1, 7, tableFormat)

        frame = cursor.currentFrame()
        frameFormat = frame.frameFormat()
        frameFormat.setBorder(1)
        frame.setFrameFormat(frameFormat)

        format = cursor.charFormat()
        format.setFontPointSize(float(self.fontSize))

        boldFormat = QtGui.QTextCharFormat(format)
        boldFormat.setFontWeight(QtGui.QFont.Bold)

        highlightedFormat = QtGui.QTextCharFormat(boldFormat)
        highlightedFormat.setBackground(QtCore.Qt.yellow)

        for weekDay in range(1, 8):
            cell = table.cellAt(0, weekDay - 1)
            cellCursor = cell.firstCursorPosition()
            cellCursor.insertText(QtCore.QDate.longDayName(weekDay),
                                  boldFormat)

        table.insertRows(table.rows(), 1)

        while date.month() == self.selectedDate.month():
            weekDay = date.dayOfWeek()
            cell = table.cellAt(table.rows() - 1, weekDay - 1)
            cellCursor = cell.firstCursorPosition()

            if date == QtCore.QDate.currentDate():
                cellCursor.insertText(str(date.day()), highlightedFormat)
            else:
                cellCursor.insertText(str(date.day()), format)

            date = date.addDays(1)

            if weekDay == 7 and date.month() == self.selectedDate.month():
                table.insertRows(table.rows(), 1)

        cursor.endEditBlock()

        self.setWindowTitle("Calendar for %s %d" % (QtCore.QDate.longMonthName(
            self.selectedDate.month()), self.selectedDate.year()))
Example #30
0
    def __init__(self, current_project):
        super().__init__()
        self.current_project = current_project
        self.selected_card = ""
        self.current_day_edited = 0

        # menu
        menu = self.menuBar()
        menu.setNativeMenuBar(False)
        file_menu = menu.addMenu("Rapport")

        load_action = QtWidgets.QAction("ouvrir un rapport", self)
        load_action.triggered.connect(self.open_report)

        save_action = QtWidgets.QAction("Sauvegarder le rapport", self)
        save_action.triggered.connect(self.save_report)

        file_menu.addAction(load_action)
        file_menu.addAction(save_action)

        #Window setup
        self.setWindowTitle("La Ruche QCReport")
        # LAYOUT  ################## LAYOUT
        #Layouts creation and setup
        self.main_layout = QtWidgets.QGridLayout()
        self.side_layout = QtWidgets.QVBoxLayout()
        self.day_header_layout = QtWidgets.QGridLayout()

        self.day_header_layout.setSpacing(0)

        ###HEADER############################################
        #DAY HEADER WIDEGTS CREATION and assignment
        self.lab_shooting_day_number_title = QtWidgets.QLabel('Jour')
        self.lab_shooting_day_number = QtWidgets.QLabel(
            f"{self.current_day_edited} : {self.current_project.get_shooting_date_string_from_number(self.current_day_edited)}"
        )
        self.lab_shooting_day_number.setStyleSheet(
            "font-size: 40px; color:DarkSlateGray; font-style: bold")

        self.lab_clip_number = QtWidgets.QLabel()
        self.lab_clip_number.setStyleSheet("font-size: 20px;")

        self.te_day_comment = QtWidgets.QPlainTextEdit()
        self.te_day_comment.setPlaceholderText("Commentaire de la journée.")
        self.te_day_comment.setMaximumWidth(300)
        self.te_day_comment.setMaximumHeight(80)
        self.te_day_comment.cursorPositionChanged.connect(self.set_day_comment)
        #### A REPARER

        self.lw_framerate_list = QtWidgets.QListWidget()
        self.lw_framerate_list.setMaximumSize(100, 80)
        self.lw_codec_list = QtWidgets.QListWidget()
        self.lw_codec_list.setMaximumSize(150, 80)
        self.lw_cards_list = QtWidgets.QListWidget()
        self.lw_cards_list.setMaximumSize(100, 80)

        self.lab_codec = QtWidgets.QLabel("Codec detectés")
        self.lab_codec.setStyleSheet("font-size: 10px;")
        self.lab_framerates = QtWidgets.QLabel("Cadences detectées")
        self.lab_framerates.setStyleSheet("font-size: 10px;")
        self.lab_cards = QtWidgets.QLabel("Cartes")
        self.lab_cards.setStyleSheet("font-size: 10px;")

        self.day_header_layout.addWidget(self.lab_shooting_day_number, 0, 0, 1,
                                         1)
        self.day_header_layout.addWidget(self.lab_clip_number, 1, 0, 1, 1)
        self.day_header_layout.addWidget(self.te_day_comment, 2, 0, 1, 1)

        self.day_header_layout.addWidget(self.lab_framerates, 1, 2, 1, 1)
        self.day_header_layout.addWidget(self.lw_framerate_list, 2, 2, 1, 1)
        self.day_header_layout.addWidget(self.lab_codec, 1, 3, 1, 1)
        self.day_header_layout.addWidget(self.lw_codec_list, 2, 3, 1, 1)
        self.day_header_layout.addWidget(self.lab_cards, 1, 4, 1, 1)
        self.day_header_layout.addWidget(self.lw_cards_list, 2, 4, 1, 1)

        # HEADER END

        ### CLIP LIST
        # set scrollable area

        self.lab_scroll = QtWidgets.QLabel("")

        self.clips_layout = QtWidgets.QVBoxLayout(self)
        self.scrollable_area = QtWidgets.QScrollArea(self)
        self.placeholder_widget = QtWidgets.QWidget(self)
        self.placeholder_widget.setLayout(self.clips_layout)
        self.scrollable_area.setVerticalScrollBarPolicy(
            QtCore.Qt.ScrollBarAlwaysOn)
        self.scrollable_area.setHorizontalScrollBarPolicy(
            QtCore.Qt.ScrollBarAlwaysOff)
        self.scrollable_area.setWidgetResizable(True)
        self.scrollable_area.setWidget(self.placeholder_widget)
        self.scrollable_area.setFrameStyle(QtWidgets.QFrame.StyledPanel
                                           | QtWidgets.QFrame.Sunken)

        # Assigning widgets
        #self.side_layout.addWidget(self.lab_side)
        self.clips_layout.addWidget(self.lab_scroll)

        # Side widgets
        #labels
        self.side_lab_title = QtWidgets.QLabel("Titre du film:")
        self.side_lab_director = QtWidgets.QLabel("Mise en scène:")
        self.side_lab_production = QtWidgets.QLabel("Production:")
        self.side_lab_cinematographer = QtWidgets.QLabel("Chef opérateur:")
        self.side_lab_verification_date = QtWidgets.QLabel(
            "Date de vérification:")
        #Line edits
        self.side_le_title = QtWidgets.QLineEdit(
            self.current_project.film_title)
        self.side_le_director = QtWidgets.QLineEdit(
            self.current_project.director)
        self.side_le_production = QtWidgets.QLineEdit(
            self.current_project.production)
        self.side_le_cinematographer = QtWidgets.QLineEdit(
            self.current_project.cinematographer)
        self.side_le_verification_date = QtWidgets.QDateEdit(
            QtCore.QDate(self.current_project.qc_date.get("year"),
                         self.current_project.qc_date.get("month"),
                         self.current_project.qc_date.get("day")))
        self.side_le_verification_date.setCalendarPopup(True)

        # Side connectipns
        self.side_le_title.textChanged.connect(self.set_title)
        self.side_le_director.textChanged.connect(self.set_director)
        self.side_le_production.textChanged.connect(self.set_production)
        self.side_le_cinematographer.textChanged.connect(
            self.set_cinematographer)
        self.side_le_verification_date.userDateChanged.connect(
            self.set_verification_date)

        # Adding widgets
        self.side_layout.addWidget(self.side_lab_title)
        self.side_layout.addWidget(self.side_le_title)

        self.side_layout.addWidget(self.side_lab_director)
        self.side_layout.addWidget(self.side_le_director)

        self.side_layout.addWidget(self.side_lab_production)
        self.side_layout.addWidget(self.side_le_production)

        self.side_layout.addWidget(self.side_lab_cinematographer)
        self.side_layout.addWidget(self.side_le_cinematographer)

        self.side_layout.addWidget(self.side_lab_verification_date)
        self.side_layout.addWidget(self.side_le_verification_date)

        self.side_layout.addWidget(QtWidgets.QLabel("Jours de tournage"))
        self.day_list = QtWidgets.QListWidget()
        self.day_list.itemSelectionChanged.connect(self.change_day)
        self.side_layout.addWidget(self.day_list)
        self.populate_day_list()

        # self.side_layout.addWidget(QtWidgets.QPushButton("Manage Report"))
        # self.side_layout.addWidget(QtWidgets.QPushButton("Save Report"))
        # self.side_layout.addWidget(QtWidgets.QPushButton("Export Report"))
        ###DEBUG
        self.debug = QtWidgets.QPushButton("Debug")
        self.side_layout.addWidget(self.debug)
        self.debug.clicked.connect(self.current_project.export_report)

        # LAYOUTS HIERARCHY

        self.main_layout.addLayout(self.side_layout, 0, 0, 8, 2)
        self.main_layout.addLayout(self.day_header_layout, 0, 2, 2, 8)
        self.main_layout.addWidget(self.scrollable_area, 2, 2, 6, 8)

        self.widget = QtWidgets.QWidget()
        self.widget.setLayout(self.main_layout)
        self.setCentralWidget(self.widget)
        self.resize(1200, 800)