示例#1
0
文件: ymd.py 项目: Noori/starcal
class YearMonthDayBox(gtk.HBox):
    def __init__(self):
        gtk.HBox.__init__(self, spacing=4)
        self.mode = calTypes.primary
        ####
        pack(self, gtk.Label(_('Year')))
        self.spinY = YearSpinButton()
        pack(self, self.spinY)
        ####
        pack(self, gtk.Label(_('Month')))
        comboMonth = gtk.combo_box_new_text()
        module = calTypes[self.mode]
        for i in range(12):
            comboMonth.append_text(_(module.getMonthName(i+1, None)))## year=None means all months
        comboMonth.set_active(0)
        pack(self, comboMonth)
        self.comboMonth = comboMonth
        ####
        pack(self, gtk.Label(_('Day')))
        self.spinD = DaySpinButton()
        pack(self, self.spinD)
        self.comboMonthConn = comboMonth.connect('changed', self.comboMonthChanged)
        self.spinY.connect('changed', self.comboMonthChanged)
    def set_mode(self, mode):
        self.comboMonth.disconnect(self.comboMonthConn)
        self.mode = mode
        module = calTypes[mode]
        combo = self.comboMonth
        for i in range(len(combo.get_model())):
            combo.remove_text(0)
        for i in range(12):
            combo.append_text(_(module.getMonthName(i+1)))
        self.spinD.set_range(1, module.maxMonthLen)
        self.comboMonthConn = self.comboMonth.connect('changed', self.comboMonthChanged)
    def changeMode(self, mode, newMode):## FIXME naming standard?
        self.set_mode(newMode)
    def set_value(self, date):
        y, m, d = date
        self.spinY.set_value(y)
        self.comboMonth.set_active(m-1)
        self.spinD.set_value(d)
    get_value = lambda self: (
        self.spinY.get_value(),
        self.comboMonth.get_active() + 1,
        self.spinD.get_value(),
    )
    def comboMonthChanged(self, widget=None):
        self.spinD.set_range(1, getMonthLen(
            self.spinY.get_value(),
            self.comboMonth.get_active() + 1,
            self.mode,
        ))
示例#2
0
文件: yearly.py 项目: karoon/starcal2
 def __init__(self, event):  ## FIXME
     common.EventWidget.__init__(self, event)
     ################
     hbox = gtk.HBox()
     hbox.pack_start(gtk.Label(_("Month")), 0, 0)
     self.monthCombo = gtk.combo_box_new_text()
     hbox.pack_start(self.monthCombo, 0, 0)
     hbox.pack_start(gtk.Label(""), 1, 1)
     # self.pack_start(hbox, 0, 0)
     ###
     # hbox = gtk.HBox()
     hbox.pack_start(gtk.Label(_("Day")), 0, 0)
     self.daySpin = DaySpinButton()
     hbox.pack_start(self.daySpin, 0, 0)
     hbox.pack_start(gtk.Label(""), 1, 1)
     self.pack_start(hbox, 0, 0)
     ###
     hbox = gtk.HBox()
     self.startYearCheck = gtk.CheckButton(_("Start Year"))
     hbox.pack_start(self.startYearCheck, 0, 0)
     self.startYearSpin = YearSpinButton()
     hbox.pack_start(self.startYearSpin, 0, 0)
     hbox.pack_start(gtk.Label(""), 1, 1)
     self.pack_start(hbox, 0, 0)
     self.startYearCheck.connect("clicked", self.startYearCheckClicked)
     ####
     self.notificationBox = common.NotificationBox(event)
     self.pack_start(self.notificationBox, 0, 0)
示例#3
0
 def __init__(self, event):## FIXME
     common.EventWidget.__init__(self, event)
     ################
     hbox = gtk.HBox()
     hbox.pack_start(gtk.Label(_('Month')), 0, 0)
     self.monthCombo = MonthComboBox()
     self.monthCombo.build(event.mode)
     hbox.pack_start(self.monthCombo, 0, 0)
     hbox.pack_start(gtk.Label(''), 1, 1)
     #self.pack_start(hbox, 0, 0)
     ###
     #hbox = gtk.HBox()
     hbox.pack_start(gtk.Label(_('Day')), 0, 0)
     self.daySpin = DaySpinButton()
     hbox.pack_start(self.daySpin, 0, 0)
     hbox.pack_start(gtk.Label(''), 1, 1)
     self.pack_start(hbox, 0, 0)
     ###
     hbox = gtk.HBox()
     self.startYearCheck = gtk.CheckButton(_('Start Year'))
     hbox.pack_start(self.startYearCheck, 0, 0)
     self.startYearSpin = YearSpinButton()
     hbox.pack_start(self.startYearSpin, 0, 0)
     hbox.pack_start(gtk.Label(''), 1, 1)
     self.pack_start(hbox, 0, 0)
     self.startYearCheck.connect('clicked', self.startYearCheckClicked)
     ####
     self.notificationBox = common.NotificationBox(event)
     self.pack_start(self.notificationBox, 0, 0)
示例#4
0
文件: yearly.py 项目: Noori/starcal
 def __init__(self, event):## FIXME
     common.EventWidget.__init__(self, event)
     ################
     hbox = gtk.HBox()
     pack(hbox, gtk.Label(_('Month')))
     self.monthCombo = MonthComboBox()
     self.monthCombo.build(event.mode)
     pack(hbox, self.monthCombo)
     pack(hbox, gtk.Label(''), 1, 1)
     #pack(self, hbox)
     ###
     #hbox = gtk.HBox()
     pack(hbox, gtk.Label(_('Day')))
     self.daySpin = DaySpinButton()
     pack(hbox, self.daySpin)
     pack(hbox, gtk.Label(''), 1, 1)
     pack(self, hbox)
     ###
     hbox = gtk.HBox()
     self.startYearCheck = gtk.CheckButton(_('Start Year'))
     pack(hbox, self.startYearCheck)
     self.startYearSpin = YearSpinButton()
     pack(hbox, self.startYearSpin)
     pack(hbox, gtk.Label(''), 1, 1)
     pack(self, hbox)
     self.startYearCheck.connect('clicked', self.startYearCheckClicked)
     ####
     self.notificationBox = common.NotificationBox(event)
     pack(self, self.notificationBox)
示例#5
0
class YearMonthDayBox(gtk.HBox):
    def __init__(self):
        gtk.HBox.__init__(self, spacing=4)
        self.mode = core.primaryMode
        ####
        self.pack_start(gtk.Label(_("Year")), 0, 0)
        self.spinY = YearSpinButton()
        self.pack_start(self.spinY, 0, 0)
        ####
        self.pack_start(gtk.Label(_("Month")), 0, 0)
        comboMonth = gtk.combo_box_new_text()
        module = calTypes[self.mode]
        for i in xrange(12):
            comboMonth.append_text(_(module.getMonthName(i + 1, None)))  ## year=None means all months
        comboMonth.set_active(0)
        self.pack_start(comboMonth, 0, 0)
        self.comboMonth = comboMonth
        ####
        self.pack_start(gtk.Label(_("Day")), 0, 0)
        self.spinD = DaySpinButton()
        self.pack_start(self.spinD, 0, 0)
        self.comboMonthConn = comboMonth.connect("changed", self.comboMonthChanged)
        self.spinY.connect("changed", self.comboMonthChanged)

    def set_mode(self, mode):
        self.comboMonth.disconnect(self.comboMonthConn)
        self.mode = mode
        module = calTypes[mode]
        combo = self.comboMonth
        for i in xrange(len(combo.get_model())):
            combo.remove_text(0)
        for i in xrange(12):
            combo.append_text(_(module.getMonthName(i + 1)))
        self.spinD.set_range(1, module.maxMonthLen)
        self.comboMonthConn = self.comboMonth.connect("changed", self.comboMonthChanged)

    def changeMode(self, mode, newMode):  ## FIXME naming standard?
        self.set_mode(newMode)

    def set_value(self, date):
        y, m, d = date
        self.spinY.set_value(y)
        self.comboMonth.set_active(m - 1)
        self.spinD.set_value(d)

    def get_value(self):
        return (self.spinY.get_value(), self.comboMonth.get_active() + 1, self.spinD.get_value())

    def comboMonthChanged(self, widget=None):
        self.spinD.set_range(1, getMonthLen(self.spinY.get_value(), self.comboMonth.get_active() + 1, self.mode))
示例#6
0
文件: ymd.py 项目: karoon/starcal2
 def __init__(self):
     gtk.HBox.__init__(self, spacing=4)
     self.mode = core.primaryMode
     ####
     self.pack_start(gtk.Label(_('Year')), 0, 0)
     self.spinY = YearSpinButton()
     self.pack_start(self.spinY, 0, 0)
     ####
     self.pack_start(gtk.Label(_('Month')), 0, 0)
     comboMonth = gtk.combo_box_new_text()
     module = core.modules[self.mode]
     for i in xrange(12):
         comboMonth.append_text(_(module.getMonthName(i+1, None)))## year=None means all months
     comboMonth.set_active(0)
     self.pack_start(comboMonth, 0, 0)
     self.comboMonth = comboMonth
     ####
     self.pack_start(gtk.Label(_('Day')), 0, 0)
     self.spinD = DaySpinButton()
     self.pack_start(self.spinD, 0, 0)
     self.comboMonthConn = comboMonth.connect('changed', self.comboMonthChanged)
     self.spinY.connect('changed', self.comboMonthChanged) 
示例#7
0
文件: ymd.py 项目: Noori/starcal
 def __init__(self):
     gtk.HBox.__init__(self, spacing=4)
     self.mode = calTypes.primary
     ####
     pack(self, gtk.Label(_('Year')))
     self.spinY = YearSpinButton()
     pack(self, self.spinY)
     ####
     pack(self, gtk.Label(_('Month')))
     comboMonth = gtk.combo_box_new_text()
     module = calTypes[self.mode]
     for i in range(12):
         comboMonth.append_text(_(module.getMonthName(i+1, None)))## year=None means all months
     comboMonth.set_active(0)
     pack(self, comboMonth)
     self.comboMonth = comboMonth
     ####
     pack(self, gtk.Label(_('Day')))
     self.spinD = DaySpinButton()
     pack(self, self.spinD)
     self.comboMonthConn = comboMonth.connect('changed', self.comboMonthChanged)
     self.spinY.connect('changed', self.comboMonthChanged)
示例#8
0
文件: yearly.py 项目: karoon/starcal2
class EventWidget(common.EventWidget):
    def __init__(self, event):  ## FIXME
        common.EventWidget.__init__(self, event)
        ################
        hbox = gtk.HBox()
        hbox.pack_start(gtk.Label(_("Month")), 0, 0)
        self.monthCombo = gtk.combo_box_new_text()
        hbox.pack_start(self.monthCombo, 0, 0)
        hbox.pack_start(gtk.Label(""), 1, 1)
        # self.pack_start(hbox, 0, 0)
        ###
        # hbox = gtk.HBox()
        hbox.pack_start(gtk.Label(_("Day")), 0, 0)
        self.daySpin = DaySpinButton()
        hbox.pack_start(self.daySpin, 0, 0)
        hbox.pack_start(gtk.Label(""), 1, 1)
        self.pack_start(hbox, 0, 0)
        ###
        hbox = gtk.HBox()
        self.startYearCheck = gtk.CheckButton(_("Start Year"))
        hbox.pack_start(self.startYearCheck, 0, 0)
        self.startYearSpin = YearSpinButton()
        hbox.pack_start(self.startYearSpin, 0, 0)
        hbox.pack_start(gtk.Label(""), 1, 1)
        self.pack_start(hbox, 0, 0)
        self.startYearCheck.connect("clicked", self.startYearCheckClicked)
        ####
        self.notificationBox = common.NotificationBox(event)
        self.pack_start(self.notificationBox, 0, 0)
        ####
        # self.filesBox = common.FilesBox(self.event)
        # self.pack_start(self.filesBox, 0, 0)

    startYearCheckClicked = lambda self, obj=None: self.startYearSpin.set_sensitive(self.startYearCheck.get_active())

    def updateWidget(self):  ## FIXME
        common.EventWidget.updateWidget(self)
        self.monthCombo.set_active(self.event.getMonth() - 1)
        self.daySpin.set_value(self.event.getDay())
        try:
            startRule = self.event["start"]
        except:
            self.startYearCheck.set_active(False)
            self.startYearSpin.set_value(self.event.getSuggestedStartYear())
        else:
            self.startYearCheck.set_active(True)
            self.startYearSpin.set_value(startRule.date[0])
        self.startYearCheckClicked()

    def updateVars(self):  ## FIXME
        common.EventWidget.updateVars(self)
        self.event.setMonth(self.monthCombo.get_active() + 1)
        self.event.setDay(int(self.daySpin.get_value()))
        if self.startYearCheck.get_active():
            startRule = self.event.getAddRule("start")
            startRule.date = (self.startYearSpin.get_value(), 1, 1)
        else:
            try:
                del self.event["start"]
            except KeyError:
                pass

    def modeComboChanged(self, obj=None):  ## overwrite method from common.EventWidget
        newMode = self.modeCombo.get_active()
        module = core.modules[newMode]
        monthCombo = self.monthCombo
        active = monthCombo.get_active()
        for i in range(len(monthCombo.get_model())):
            monthCombo.remove_text(0)
        for i in range(12):
            monthCombo.append_text(_(module.getMonthName(i + 1)))
        # monthCombo.set_active(active)
        y2, m2, d2 = convert(
            int(self.startYearSpin.get_value()), active + 1, int(self.daySpin.get_value()), self.event.mode, newMode
        )
        self.startYearSpin.set_value(y2)
        monthCombo.set_active(m2 - 1)
        self.daySpin.set_value(d2)
        self.event.mode = newMode
示例#9
0
class EventWidget(common.EventWidget):
    def __init__(self, event):## FIXME
        common.EventWidget.__init__(self, event)
        ################
        hbox = gtk.HBox()
        hbox.pack_start(gtk.Label(_('Month')), 0, 0)
        self.monthCombo = MonthComboBox()
        self.monthCombo.build(event.mode)
        hbox.pack_start(self.monthCombo, 0, 0)
        hbox.pack_start(gtk.Label(''), 1, 1)
        #self.pack_start(hbox, 0, 0)
        ###
        #hbox = gtk.HBox()
        hbox.pack_start(gtk.Label(_('Day')), 0, 0)
        self.daySpin = DaySpinButton()
        hbox.pack_start(self.daySpin, 0, 0)
        hbox.pack_start(gtk.Label(''), 1, 1)
        self.pack_start(hbox, 0, 0)
        ###
        hbox = gtk.HBox()
        self.startYearCheck = gtk.CheckButton(_('Start Year'))
        hbox.pack_start(self.startYearCheck, 0, 0)
        self.startYearSpin = YearSpinButton()
        hbox.pack_start(self.startYearSpin, 0, 0)
        hbox.pack_start(gtk.Label(''), 1, 1)
        self.pack_start(hbox, 0, 0)
        self.startYearCheck.connect('clicked', self.startYearCheckClicked)
        ####
        self.notificationBox = common.NotificationBox(event)
        self.pack_start(self.notificationBox, 0, 0)
        ####
        #self.filesBox = common.FilesBox(self.event)
        #self.pack_start(self.filesBox, 0, 0)
    startYearCheckClicked = lambda self, obj=None: self.startYearSpin.set_sensitive(self.startYearCheck.get_active())
    def updateWidget(self):## FIXME
        common.EventWidget.updateWidget(self)
        self.monthCombo.setValue(self.event.getMonth())
        self.daySpin.set_value(self.event.getDay())
        try:
            startRule = self.event['start']
        except:
            self.startYearCheck.set_active(False)
            self.startYearSpin.set_value(self.event.getSuggestedStartYear())
        else:
            self.startYearCheck.set_active(True)
            self.startYearSpin.set_value(startRule.date[0])
        self.startYearCheckClicked()
    def updateVars(self):## FIXME
        common.EventWidget.updateVars(self)
        self.event.setMonth(self.monthCombo.getValue())
        self.event.setDay(int(self.daySpin.get_value()))
        if self.startYearCheck.get_active():
            startRule = self.event.getAddRule('start')
            startRule.date = (self.startYearSpin.get_value(), 1, 1)
        else:
            try:
                del self.event['start']
            except KeyError:
                pass
    def modeComboChanged(self, obj=None):## overwrite method from common.EventWidget
        newMode = self.modeCombo.get_active()
        module = calTypes[newMode]
        monthCombo = self.monthCombo
        month = monthCombo.getValue()
        monthCombo.build(newMode)
        y2, m2, d2 = convert(
            int(self.startYearSpin.get_value()),
            month,
            int(self.daySpin.get_value()),
            self.event.mode,
            newMode,
        )
        self.startYearSpin.set_value(y2)
        monthCombo.setValue(m2)
        self.daySpin.set_value(d2)
        self.event.mode = newMode