Ejemplo n.º 1
0
	def _generateTimeRangeText(self,startTime,endTime):
		startText=winKernel.GetTimeFormat(winKernel.LOCALE_USER_DEFAULT, winKernel.TIME_NOSECONDS, startTime, None)
		endText=winKernel.GetTimeFormat(winKernel.LOCALE_USER_DEFAULT, winKernel.TIME_NOSECONDS, endTime, None)
		startDate=startTime.date()
		endDate=endTime.date()
		if not CalendarView._lastStartDate or startDate!=CalendarView._lastStartDate or endDate!=startDate: 
			startText="%s %s"%(winKernel.GetDateFormat(winKernel.LOCALE_USER_DEFAULT, winKernel.DATE_LONGDATE, startTime, None),startText)
		if endDate!=startDate:
			endText="%s %s"%(winKernel.GetDateFormat(winKernel.LOCALE_USER_DEFAULT, winKernel.DATE_LONGDATE, endTime, None),endText)
		CalendarView._lastStartDate=startDate
		# Translators: a message reporting the time range (i.e. start time to end time) of an Outlook calendar entry
		return _("{startTime} to {endTime}").format(startTime=startText,endTime=endText)
Ejemplo n.º 2
0
 def reportFocus(self):
     if self.appModule.outlookVersion >= 13 and self.appModule.nativeOm:
         e = self.appModule.nativeOm.activeExplorer()
         s = e.selection
         if s.count > 0:
             p = s.item(1)
             try:
                 start = p.start
                 end = p.end
             except COMError:
                 return super(CalendarView, self).reportFocus()
             t = self._generateTimeRangeText(start, end)
             # Translators: A message reported when on a calendar appointment in Microsoft Outlook
             ui.message(
                 _("Appointment {subject}, {time}").format(
                     subject=p.subject, time=t))
         else:
             v = e.currentView
             try:
                 selectedStartTime = v.selectedStartTime
                 selectedEndTime = v.selectedEndTime
             except COMError:
                 return super(CalendarView, self).reportFocus()
             timeSlotText = self._generateTimeRangeText(
                 selectedStartTime, selectedEndTime)
             startLimit = u"%s %s" % (winKernel.GetDateFormatEx(
                 winKernel.LOCALE_NAME_USER_DEFAULT,
                 winKernel.DATE_LONGDATE, selectedStartTime, None),
                                      winKernel.GetTimeFormat(
                                          winKernel.LOCALE_USER_DEFAULT,
                                          winKernel.TIME_NOSECONDS,
                                          selectedStartTime, None))
             endLimit = u"%s %s" % (winKernel.GetDateFormatEx(
                 winKernel.LOCALE_NAME_USER_DEFAULT,
                 winKernel.DATE_LONGDATE, selectedEndTime, None),
                                    winKernel.GetTimeFormat(
                                        winKernel.LOCALE_USER_DEFAULT,
                                        winKernel.TIME_NOSECONDS,
                                        selectedEndTime, None))
             query = u'[Start] < "{endLimit}" And [End] > "{startLimit}"'.format(
                 startLimit=startLimit, endLimit=endLimit)
             i = e.currentFolder.items
             i.sort('[Start]')
             i.IncludeRecurrences = True
             if i.find(query):
                 # Translators: a message when the current time slot on an Outlook Calendar has an appointment
                 timeSlotText = _("Has appointment") + " " + timeSlotText
             ui.message(timeSlotText)
     else:
         self.event_valueChange()
Ejemplo n.º 3
0
 def script_encoderDateTime(self, gesture):
     import winKernel
     if scriptHandler.getLastScriptRepeatCount() == 0:
         text = winKernel.GetTimeFormat(winKernel.LOCALE_USER_DEFAULT, 0,
                                        None, None)
     else:
         text = winKernel.GetDateFormat(winKernel.LOCALE_USER_DEFAULT,
                                        winKernel.DATE_LONGDATE, None, None)
     ui.message(text)