Example #1
0
    def testDateTimeTypes(self):
        vl = QgsVectorLayer(
            '%s table="qgis_test"."date_times" sql=' % (self.dbconn),
            "testdatetimes", "postgres")
        assert (vl.isValid())

        fields = vl.dataProvider().fields()
        self.assertEqual(
            fields.at(fields.indexFromName('date_field')).type(),
            QVariant.Date)
        self.assertEqual(
            fields.at(fields.indexFromName('time_field')).type(),
            QVariant.Time)
        self.assertEqual(
            fields.at(fields.indexFromName('datetime_field')).type(),
            QVariant.DateTime)

        f = vl.getFeatures(QgsFeatureRequest()).next()

        date_idx = vl.fieldNameIndex('date_field')
        assert isinstance(f.attributes()[date_idx], QDate)
        self.assertEqual(f.attributes()[date_idx], QDate(2004, 3, 4))
        time_idx = vl.fieldNameIndex('time_field')
        assert isinstance(f.attributes()[time_idx], QTime)
        self.assertEqual(f.attributes()[time_idx], QTime(13, 41, 52))
        datetime_idx = vl.fieldNameIndex('datetime_field')
        assert isinstance(f.attributes()[datetime_idx], QDateTime)
        self.assertEqual(f.attributes()[datetime_idx],
                         QDateTime(QDate(2004, 3, 4), QTime(13, 41, 52)))
Example #2
0
 def Init(self, song, data, bitrate):
     """ Initialize with song.
     
         :param song: input song
         :type song: list
         :param data: input data from wav file
         :type data: numpy.array
         :param bitrate: bitrate of input file
         :type bitrate: int
     """
     self.song = copy.deepcopy(song)
     self.index = self.song[0]
     self.name = self.song[1]
     self.ui.saveButton.setText(self.name)
     self.data = data
     self.resetData = copy.deepcopy(song)
     self.bitrate = bitrate
     h, m, s = EditForm.ParseTime(self.song[2])
     self.ui.startTime.setTime(QTime(h, m, s))
     h, m, s = EditForm.ParseTime(self.song[3])
     self.ui.endTime.setTime(QTime(h, m, s))
     end_time = datetime.timedelta(seconds=int(self.data.shape[0] /
                                               self.bitrate))
     h, m, s = EditForm.ParseTime(str(end_time))
     self.ui.endTime.setMaximumTime(QTime(h, m, s))
Example #3
0
    def __init__(self, ganttWidget):
        super(XGanttWidgetItem, self).__init__()

        # set default properties
        self.setFixedHeight(ganttWidget.cellHeight())
        for i in range(1, 20):
            self.setTextAlignment(i, Qt.AlignCenter)

        # define custom properties
        self._blockedAdjustments = {}
        self._viewItem = self.createViewItem()
        self._dateStart = QDate.currentDate()
        self._dateEnd = QDate.currentDate()
        self._allDay = True
        self._timeStart = QTime(0, 0, 0)
        self._timeEnd = QTime(23, 59, 59)
        self._name = "NONE"
        self._properties = {}
        self._itemStyle = XGanttWidgetItem.ItemStyle.Normal
        self._useGroupStyleWithChildren = True
        self._dependencies = {}
        self._reverseDependencies = {}
        self._dbEntry = None
        self._workdays = 0
        self._ganttWidget = ganttWidget
        #self._calculateWeekdays         = 0
        #self._dbDepartmentAssignment    = ''

        self.setPrivelages()
Example #4
0
 def toQDateTime(dt):
     if isinstance(dt, datetime.date):
         return QDateTime(Serializeable.toQDate(dt), QTime())
     elif isinstance(dt, datetime.datetime):
         return QDateTime(Serializeable.toQDate(dt),
                          QTime(dt.hour, dt.minute, dt.second))
     return QDateTime()
Example #5
0
    def testDateTimeWriteShapefile(self):
        """Check writing date and time fields to an ESRI shapefile."""
        ml = QgsVectorLayer(
            ('Point?crs=epsg:4326&field=id:int&'
             'field=date_f:date&field=time_f:time&field=dt_f:datetime'),
            'test', 'memory')

        assert ml is not None, 'Provider not initialised'
        assert ml.isValid(), 'Source layer not valid'
        provider = ml.dataProvider()
        assert provider is not None

        ft = QgsFeature()
        ft.setGeometry(QgsGeometry.fromPoint(QgsPoint(10, 10)))
        ft.setAttributes([
            1,
            QDate(2014, 3, 5),
            QTime(13, 45, 22),
            QDateTime(QDate(2014, 3, 5), QTime(13, 45, 22))
        ])
        res, features = provider.addFeatures([ft])
        assert res
        assert len(features) > 0

        dest_file_name = os.path.join(str(QDir.tempPath()), 'datetime.shp')
        print(dest_file_name)
        crs = QgsCoordinateReferenceSystem()
        crs.createFromId(4326, QgsCoordinateReferenceSystem.EpsgCrsId)
        write_result = QgsVectorFileWriter.writeAsVectorFormat(
            ml, dest_file_name, 'utf-8', crs, 'ESRI Shapefile')
        self.assertEqual(write_result, QgsVectorFileWriter.NoError)

        # Open result and check
        created_layer = QgsVectorLayer(u'{}|layerid=0'.format(dest_file_name),
                                       u'test', u'ogr')

        fields = created_layer.dataProvider().fields()
        self.assertEqual(
            fields.at(fields.indexFromName('date_f')).type(), QVariant.Date)
        #shapefiles do not support time types, result should be string
        self.assertEqual(
            fields.at(fields.indexFromName('time_f')).type(), QVariant.String)
        #shapefiles do not support datetime types, result should be date
        self.assertEqual(
            fields.at(fields.indexFromName('dt_f')).type(), QVariant.Date)

        f = created_layer.getFeatures(QgsFeatureRequest()).next()

        date_idx = created_layer.fieldNameIndex('date_f')
        assert isinstance(f.attributes()[date_idx], QDate)
        self.assertEqual(f.attributes()[date_idx], QDate(2014, 3, 5))
        time_idx = created_layer.fieldNameIndex('time_f')
        #shapefiles do not support time types
        assert isinstance(f.attributes()[time_idx], basestring)
        self.assertEqual(f.attributes()[time_idx], '13:45:22')
        #shapefiles do not support datetime types
        datetime_idx = created_layer.fieldNameIndex('dt_f')
        assert isinstance(f.attributes()[datetime_idx], QDate)
        self.assertEqual(f.attributes()[datetime_idx], QDate(2014, 3, 5))
Example #6
0
 def HandleResetButton(self):
     """ Handle reset button. Resets to default configuration.
     
     """
     self.ui.saveButton.setText(self.resetData[1])
     h, m, s = EditForm.ParseTime(self.resetData[2])
     self.ui.startTime.setTime(QTime(h, m, s))
     h, m, s = EditForm.ParseTime(self.resetData[3])
     self.ui.endTime.setTime(QTime(h, m, s))
Example #7
0
def monitorDataInit(myData, csvPath):
	with open(csvPath, "r") as f:
		for line in f:
			try:
				resultados = map(int, line.split(','))
				t_ms = QTime().msecsTo(QTime(resultados[3], resultados[4], resultados[5]))
				myData.update(t_ms, resultados[6], resultados[7], resultados[8], resultados[9], resultados[10])
			except:	
				pass
Example #8
0
def forceTime(val):
    if isinstance(val, QVariant):
        return val.toTime()
    if isinstance(val, QTime):
        return val
    if isinstance(val, QDateTime):
        return val.time()
    if val is None:
        return QTime()
    return QTime(val)
    def __init__(self, parent=None):
        super(AnimationFrame, self).__init__(parent)
        self.parent = parent
        self.animationUI = Animation_menu.Ui_dockAnimationWidget()
        self.animationUI.setupUi(self)

        if iface and not iface.mainWindow().restoreDockWidget(self):
            iface.mainWindow().addDockWidget(Qt.RightDockWidgetArea, self)

        self.mapObject = None
        self.addLayerMenu = None

        self.animationUI.progressBar.hide()
        self.animationUI.labelInfo.setText("")
        self.animationUI.animationSlider.sliderMoved.connect(
            self.onUserMovesSlider)
        #We disable controller to avoid accidental inputs
        self.animationUI.labelInfo.setEnabled(True)
        #self.animationUI.animationSlider.setEnabled(False)
        #self.animationUI.playButton.setEnabled(False)
        self.animationUI.cancelButton.hide()

        self.animationUI.addWCSButton.clicked.connect(
            self._onAddWCSLayerButtonClicked)
        self.animationUI.addWMSButton.clicked.connect(
            self._onAddWMSLayerButtonClicked)
        self.animationUI.addOtherButton.clicked.connect(
            self._onAddOtherLayerButtonClicked)
        self.animationUI.removeButton.clicked.connect(
            self._removeLayerFromAnimation)
        self.animationUI.cancelButton.clicked.connect(self._onCancelRequested)
        self.animationUI.playButton.clicked.connect(self.play)
        self.animationUI.buttonLoad.clicked.connect(self.prepareAnimation)
        self.layerInfoList = []
        self.animationUI.frameRateSpinbox.valueChanged.connect(
            self._newFrameRateSelected)
        self.animationUI.timeFrameVariation.timeChanged.connect(
            self._timeVariationChanged)
        self.animationUI.daysFrameVariation.valueChanged.connect(
            self._timeVariationChanged)

        self.animationUI.timeTolerance.timeChanged.connect(
            self._toleranceChanged)
        self.animationUI.daysTolerance.valueChanged.connect(
            self._toleranceChanged)

        self.initController()
        self.animationUI.timeFrameVariation.setTime(QTime(1, 0, 0))
        self._timeVariationChanged(QTime(1, 0, 0))

        iface.addDockWidget(Qt.LeftDockWidgetArea, self)
Example #10
0
    def __init__(self, db, sql, parent=None):
        self.db = db.connector

        t = QTime()
        t.start()
        c = self.db._execute(None, unicode(sql))
        self._secs = t.elapsed() / 1000.0
        del t

        self._affectedRows = 0
        data = []
        header = self.db._get_cursor_columns(c)
        if header is None:
            header = []

        try:
            if len(header) > 0:
                data = self.db._fetchall(c)
            self._affectedRows = c.rowcount
        except DbError:
            # nothing to fetch!
            data = []
            header = []

        BaseTableModel.__init__(self, header, data, parent)

        # commit before closing the cursor to make sure that the changes are stored
        self.db._commit()
        c.close()
        del c
Example #11
0
def main():
    if settings.get('log:errors'):
        log_filename = settings.get('log:filename')
        if log_filename:
            try:
                log_file = open(log_filename, "w")
                print('Redirecting stderr/stdout... to %s' % log_filename)
                sys.stderr = log_file
                sys.stdout = log_file
            except IOError:
                print "Lector could not open log file '%s'!\n" % log_filename \
                      + " Redirecting will not work."
        else:
            print "Log file is not set. Pleaase set it in settings."

    app = QApplication(sys.argv)
    opts = [str(arg) for arg in app.arguments()[1:]]
    if '--no-scanner' in opts:
        scanner = False
    else:
        scanner = True
    qsrand(QTime(0, 0, 0).secsTo(QTime.currentTime()))

    locale = settings.get('ui:lang')
    if not locale:
        locale = QLocale.system().name()
    qtTranslator = QTranslator()
    if qtTranslator.load(":/translations/ts/lector_" + locale, 'ts'):
        app.installTranslator(qtTranslator)

    window = Window(scanner)
    window.show()
    app.exec_()
Example #12
0
    def setScoreTime(self):
        self.ui.scoretable.repaint()
        QApplication.processEvents()

        try:
            row = self.ui.scoretable.selectedIndexes()[0].row()
            scoreStruct = self.scoreInfo["scoreStructs"][row]
            time = scoreStruct.time
            # Split string into date and time
            time = str(time).split()
            date = time[0].split('-')

            year = str(date[0])
            month = str(date[1])
            day = str(date[2])

            calendaradj = QDate(int(year), int(month), int(day))

            self.ui.calendarWidget.setSelectedDate(calendaradj)
            self.ui.timeEdit.setTime(QTime(int(time[1][:2]),
                                           int(time[1][3:5])))
            self.ui.startButton.setEnabled(True)

        # User clicked a blank cell, stop here
        except IndexError:
            self.ui.statusText.setText("Error reading selected SCORE")
Example #13
0
 def __init__(self, parent=None):
     """ Class constructor.
     
     """
     super(EditForm, self).__init__(parent)
     # UI setup
     self.ui = Ui_Form()
     self.ui.setupUi(self)
     self.ui.saveButton.clicked.connect(self.HandleSaveButton)
     self.ui.okButton.clicked.connect(self.HandleOkButton)
     self.ui.resetButton.clicked.connect(self.HandleResetButton)
     self.ui.deleteButton.clicked.connect(self.HandleDeleteButton)
     self.ui.musicButton.clicked.connect(self.HandleMusicButton)
     self.ui.saveFileButton.clicked.connect(self.HandleSaveFileButton)
     self.ui.startTime.setDisplayFormat('hh:mm:ss')
     self.ui.endTime.setDisplayFormat('hh:mm:ss')
     self.ui.startTime.setMinimumTime(QTime(0, 0, 0))
     # Class members
     self.song = None
     self.data = None
     self.resetData = None
     self.bitrate = None
     self.name = None
     self.result = None
     self.index = None
     self.isPlaying = False
Example #14
0
    def select_config(self, tablename):
        """ Get data from table 'config' and fill widgets according to the name of the columns """

        sql = "SELECT * FROM " + self.schema_name + "." + tablename
        row = self.dao.get_row(sql)
        if not row:
            self.controller.show_warning("Any data found in table " + tablename)
            return None
        
        # Iterate over all columns and populate its corresponding widget
        columns = []
        for i in range(0, len(row)):

            column_name = self.dao.get_column_name(i)
            widget_type = utils_giswater.getWidgetType(column_name)
            if widget_type is QCheckBox:
                utils_giswater.setChecked(column_name, row[column_name])
            elif widget_type is QDateEdit:
                utils_giswater.setCalendarDate(column_name, datetime.strptime(row[column_name], '%Y-%m-%d'))
            elif widget_type is QTimeEdit:
                timeparts = str(row[column_name]).split(':')
                if len(timeparts) < 3:
                    timeparts.append("0")
                days = int(timeparts[0]) / 24
                hours = int(timeparts[0]) % 24
                minuts = int(timeparts[1])
                seconds = int(timeparts[2])
                time = QTime(hours, minuts, seconds)
                utils_giswater.setTimeEdit(column_name, time)
                utils_giswater.setText(column_name + "_day", days)
            else:
                utils_giswater.setWidgetText(column_name, row[column_name])
            columns.append(column_name)

        return columns
Example #15
0
    def formatValue(self, type_, v, upper):
        util = FLUtil.FLUtil()
        if self.driverName == "PGSql":
            s = None
            # TODO: psycopg2.mogrify ???

            if type_ == "bool" or type_ == "unlock":
                s = text2bool(v)

            elif type_ == "date":
                s = "'%s'" % util.dateDMAtoAMD(v)

            elif type_ == "time":
                time = QTime(s)
                s = "'%s'" % time

            elif type_ == "uint" or type_ == "int" or type_ == "double" or type_ == "serial":
                s = v

            else:
                if upper == True and type_ == "string":
                    v = v.upper()

                s = "'%s'" % v
            #print ("PNSqlDriver.formatValue(%s, %s) = %s" % (type_, v, s))
            return s
Example #16
0
 def getRecord(self, record):
     dateTime = QDateTime(self.edtDate.date(), QTime().currentTime())
     record.setValue('dateTime', dateTime)
     i = self.cmbSocCodes.currentIndex()
     socCode = forceString(self.cmbSocCodes.itemData(i))
     record.setValue('socCode', socCode)
     pregCard = forceInt(self.edtPregCard.text())
     if pregCard > 0:
         record.setValue('pregCard', pregCard)
     else:
         record.setNull('pregCard')
     getRBComboBoxValue(self.cmbFinance, record, 'finance_id')
     record.setValue('mkb', toVariant(self.cmbMKB.text()))
     getRBComboBoxValue(self.cmbDrug, record, 'formularyItem_id')
     getLineEditValue(self.edtDosage, record, 'dosage')
     getSpinBoxValue(self.spbQnt, record, 'qnt')
     getLineEditValue(self.edtSigna, record, 'signa')
     getSpinBoxValue(self.spbDuration, record, 'duration')
     getSpinBoxValue(self.spbNumPerDay, record, 'numPerDay')
     record.setValue('isVk', int(self.rbtnVkYes.isChecked()))
     record.setValue('printMnn', int(self.rbtnPrintMNN.isChecked()))
     record.setValue('percentage',
                     int(50 if self.rbtn50proc.isChecked() else 100))
     getComboBoxValue(self.cmbTerm, record, 'term')
     record.setValue(
         'status',
         self.modelRecipeStatus.getCode(self.cmbStatus.currentIndex()))
     record.setValue('deleted', 0)
def InitializeDates(phases, due_date, duration):
    currentDate = due_date
    for phase in phases[::-1]:
        #enddate = currentDate-1
        phase._enddate = currentDate - timedelta(days=1)

        #iterate through phases until there's a match
        if str(phase._idphases) in sharedDB.myPhases:
            myPhase = sharedDB.myPhases[str(phase._idphases)]
            #multiply duration(minutes) by _manHoursToMinuteRatio / work hours in a day
            daysGoal = math.ceil(QTime().secsTo(duration) / 60.0 *
                                 myPhase._manHoursToMinuteRatio / 8.0)
            #print daysGoal
            numdays = 0
            #while numdays < work days
            while numdays < daysGoal:
                #subtract day from currentDate
                currentDate = currentDate - timedelta(days=1)
                #if workday
                if currentDate.weekday() < 5:
                    numdays = numdays + 1
            #phase start date = currentdate
            phase._startdate = currentDate

    return phases
Example #18
0
    def run(self):
        time = QTime()
        eventLoop = QEventLoop()

        self.m_bStop = False

        #        log.debug("Запускаем поток")
        #if not self.initThread():
        #return
        while not self.m_bStop:
            self.m_nTactCounter += 1  # Добавить обнуление при переполнении

            time.start()
            eventLoop.processEvents()

            if not self.workThread():
                self.m_bStop = True
                return
            workTime = time.elapsed()
            if 0 <= workTime < self.m_nTact:
                self.msleep(self.m_nTact - workTime)
            else:
                self.msleep(0)

        eventLoop.processEvents()

        self.exitThread()
Example #19
0
 def __init__(self):
     QThread.__init__(self)
     self.running = False
     self.scrollingTimer = QTimer()
     self.scrollingTimer.setSingleShot(True)
     self.scrollingTimer.timeout.connect(self.scrollEventStop)
     self.time = QTime()
     self.counter = 0
Example #20
0
 def slot_setEndNow(self):
     time = int(
         jacklib.get_current_transport_frame(self.fJackClient) /
         self.fSampleRate)
     secs = time % 60
     mins = int(time / 60) % 60
     hrs = int(time / 3600) % 60
     self.ui.te_end.setTime(QTime(hrs, mins, secs))
Example #21
0
 def stateChanged(self, newState, oldState):
     if newState == Phonon.ErrorState:
         if self.__media_object.errorType() == Phonon.FatalError:
             QMessageBox.warning(self.__main_window, "Fatal Error",
                                 self.__media_object.errorString())
             self.__media_object.setCurrentSource(self.__list_music[0])
             self.__list_music.remove(self.__media_object.currentSource())
         else:
             QMessageBox.warning(self.__main_window, "Error",
                                 self.__media_object.errorString())
             self.__media_object.setCurrentSource(self.__list_music[0])
             self.__list_music.remove(self.__media_object.currentSource())
     elif newState == Phonon.PlayingState:
         self.__main_window.getActionBar().get_widget(
             'BTN_PLAY_PAUSE').setMStyle(MButton.Type.Pause)
         self.__main_window.getActionBar().get_widget(
             'BTN_PLAY_PAUSE').setToolTip('暂停')
         self.__main_window.setSuspendStatus(False)
         if self.__media_object.isSeekable():
             self.__main_window.getActionBar().get_widget(
                 'SLD_SEEK').setCursor(Qt.PointingHandCursor)
         self.__main_window.getActionBar().get_widget(
             'INDICT_INFO').setText(self.__get_music_display_info())
         time_total = self.__media_object.totalTime()
         self.__main_window.getActionBar().get_widget(
             'LBL_TIME_TOTAL').setText(
                 QTime(0, (time_total / 60000) % 60,
                       (time_total / 1000) % 60).toString('mm:ss'))
         btn_music_stop = self.__main_window.getActionBar().get_widget(
             'BTN_STOP')
         if not btn_music_stop.isEnabled():
             btn_music_stop.setEnabled(True)
         self.__set_lyric(self.__media_object.currentSource().fileName())
     elif newState == Phonon.StoppedState:
         self.__main_window.getActionBar().get_widget('SLD_SEEK').setCursor(
             Qt.ArrowCursor)
         self.__main_window.getActionBar().get_widget(
             'INDICT_INFO').setText(u'无音乐')
         self.__main_window.getActionBar().get_widget(
             'LBL_TIME_TOTAL').setText('00:00')
         btn_music_stop = self.__main_window.getActionBar().get_widget(
             'BTN_STOP')
         if btn_music_stop.isEnabled():
             btn_music_stop.setEnabled(False)
         self.__lyric_panel.setNoLyric()
         self.__main_window.getActionBar().get_widget(
             'BTN_PLAY_PAUSE').setMStyle(MButton.Type.Play)
         self.__main_window.getActionBar().get_widget(
             'BTN_PLAY_PAUSE').setToolTip('播放')
         self.__main_window.setSuspendStatus(True)
     elif newState == Phonon.PausedState:
         self.__main_window.getActionBar().get_widget(
             'BTN_PLAY_PAUSE').setMStyle(MButton.Type.Play)
         self.__main_window.getActionBar().get_widget(
             'BTN_PLAY_PAUSE').setToolTip('播放')
         self.__main_window.setSuspendStatus(True)
     if newState != Phonon.StoppedState and newState != Phonon.PausedState:
         return
Example #22
0
def setTimeEdit(widget, time):
    if type(widget) is str:
        widget = _dialog.findChild(QWidget, widget)
    if not widget:
        return
    if type(widget) is QTimeEdit:
        if time is None:
            time = QTime(00, 00, 00)
        widget.setTime(time)
Example #23
0
    def _qgs_memory_layer(self, style, features=None):
        """ Create QgsVectorLayer with memory backend and load
        features into it """

        result = QgsVectorLayer(style.parent.geometry_type, None, 'memory')
        provider = result.dataProvider()

        # Setup layer fields
        fldmap = {}
        for fld in style.parent.fields:
            provider.addAttributes(
                [QgsField(fld.keyname, *FIELD_TYPE_TO_QGIS[fld.datatype])])
            fldmap[fld.keyname] = len(fldmap)
        qgsfields = provider.fields()
        result.updateFields()

        # Load style from qml file
        result.loadNamedStyle(self.env.file_storage.filename(
            style.qml_fileobj))

        # Disable read only flag when it was set via qml file
        result.setReadOnly(False)

        # Load features into layers if needed
        if features is not None:
            result.startEditing()

            for feat in features:
                qgsfeat = QgsFeature(qgsfields)
                fattrs = [None] * len(fldmap)
                for k, v in feat.fields.iteritems():
                    if v is None:
                        continue
                    elif isinstance(v, date):
                        v = QDate(v.year, v.month, v.day)
                    elif isinstance(v, time):
                        v = QTime(v.hour, v.minute, v.second)
                    elif isinstance(v, datetime):
                        v = QDateTime(v.year, v.month, v.day, v.hour, v.minute,
                                      v.second)
                    fattrs[fldmap[k]] = v
                qgsfeat.setAttributes(fattrs)

                # Method fromWkb() is much faster constructor fromWkt()
                # TODO: QGIS 3 have constructor fromWkb()
                qgsgeom = QgsGeometry()
                qgsgeom.fromWkb(feat.geom.wkb)
                qgsfeat.setGeometry(qgsgeom)

                result.addFeature(qgsfeat)

            result.commitChanges()

        result.setCrs(QgsCoordinateReferenceSystem(style.parent.srs.id))

        return result
Example #24
0
 def export2gui(self):
     """Take data from program and fills GUI widget values."""
     for entry in self._settings_data.values():
         if entry.data_type == 'timedelta':
             entry.gui_widget.setTime(
                 QTime(0,
                       entry.value.total_seconds() // 60,
                       entry.value.total_seconds() % 60))
         else:
             entry.gui_widget.setChecked(entry.value)
Example #25
0
 def timeEnd(self):
     """
     Returns the ending time that will be used for this item.  If it is an
     all day event, then the time returned will be 23:59:59.
     
     :return     <QTime>
     """
     if (self.isAllDay()):
         return QTime(23, 59, 59)
     return self._timeEnd
def setTimeEdit(dialog, widget, time):

    if type(widget) is str or type(widget) is unicode:
        widget = dialog.findChild(QWidget, widget)
    if not widget:
        return
    if type(widget) is QTimeEdit:
        if time is None:
            time = QTime(0, 0, 0)
        widget.setTime(time)
Example #27
0
    def timeStart(self):
        """
        Returns the starting time that will be used for this item.  If it is
        an all day event, then the time returned will be 0:0:0
        
        :return     <QTime>
        """
        if (self.isAllDay()):
            return QTime(0, 0, 0)

        return self._timeStart
Example #28
0
 def __init__(self, parent=None):
     AbstractKeyboardMonitor.__init__(self, parent)
     self._keyboard_was_active = False
     self._old_keymap = array(b'B', b'\0' * 32)
     self._keyboard_timer = QTimer(self)
     self._keyboard_timer.timeout.connect(self._check_keyboard_activity)
     self._keyboard_timer.setInterval(self.DEFAULT_POLLDELAY)
     self._activity = QTime()
     self._keys_to_ignore = self.IGNORE_NO_KEYS
     self._keymap_mask = self._setup_mask()
     self._idle_time = self.DEFAULT_IDLETIME
Example #29
0
def forceDateTime(val):
    if isinstance(val, QVariant):
        return val.toDateTime()
    if isinstance(val, QDateTime):
        return val
    if isinstance(val, QDate):
        return QDateTime(val, QTime())
    if isinstance(val, QTime):
        return QDateTime(QDate(), val)
    if val is None:
        return QDateTime()
    return QDateTime(val)
Example #30
0
    def testDateTimeFormats(self):
        # check that date and time formats are correctly interpreted
        basetestfile = os.path.join(TEST_DATA_DIR, 'tab_file.tab')
        vl = QgsVectorLayer(u'{}|layerid=0'.format(basetestfile), u'test', u'ogr')

        fields = vl.dataProvider().fields()
        self.assertEqual(fields.at(fields.indexFromName('date')).type(), QVariant.Date)
        self.assertEqual(fields.at(fields.indexFromName('time')).type(), QVariant.Time)
        self.assertEqual(fields.at(fields.indexFromName('date_time')).type(), QVariant.DateTime)

        f = vl.getFeatures(QgsFeatureRequest()).next()

        date_idx = vl.fieldNameIndex('date')
        assert isinstance(f.attributes()[date_idx], QDate)
        self.assertEqual(f.attributes()[date_idx], QDate(2004, 5, 3))
        time_idx = vl.fieldNameIndex('time')
        assert isinstance(f.attributes()[time_idx], QTime)
        self.assertEqual(f.attributes()[time_idx], QTime(13, 41, 00))
        datetime_idx = vl.fieldNameIndex('date_time')
        assert isinstance(f.attributes()[datetime_idx], QDateTime)
        self.assertEqual(f.attributes()[datetime_idx], QDateTime(QDate(2004, 5, 3), QTime(13, 41, 00)))