コード例 #1
0
ファイル: gui.py プロジェクト: ygormutti/d10r
    def construir(self):
        '''Cria a janela com os widgets e configura o label para ser atualizado
        com o tempo decorrido.'''
        ### Janela ###
        self.root = root_config(self.pararCb,
                                u'%s - Atividade: %s' % (TITLE,
                                                         self.atividade.nome))
        self.root.wm_attributes('-topmost', 1)

        ### Frames ###

        mainFrame = tk.Frame(self.root)
        mainFrame.pack()

        ### Labels ###

        atividadeLabel = tk.Label(mainFrame, text='Decorrido/Saldo: ', justify='left')
        atividadeLabel.pack(side='left', expand=True)

        self.tempoDecorridoLbl = tk.Label(mainFrame,
                                 text=formatah(-self.cronometro.decorridoh, True))
        self.tempoDecorridoLbl.pack(side='left', expand=True)

        tempoSaldoLbl = tk.Label(mainFrame,
                                 text='/ ' + formatah(self.atividade.saldo))
        tempoSaldoLbl.pack(side='left', expand=True)

        ### Buttons ###
        pausarBtn = tk.Checkbutton(mainFrame, text='Pausar', command=self.pausarCb)
        pausarBtn.pack(side='left')

        pararBtn = tk.Button(mainFrame, text='Finalizar', command=self.pararCb)
        pararBtn.pack(side='left')
コード例 #2
0
 def _refresh(self):
     self.tempoDecorridoLbl.config(
         text=formatah(-self.cronometro.decorridoh, segundos=True))
     if not self.cronometro.isparado:
         self.tempoDecorridoLbl.after(200, self._refresh)
     else:
         self.fechar()
コード例 #3
0
ファイル: gui.py プロジェクト: ygormutti/d10r
 def _refresh(self):
     self.tempoDecorridoLbl.config(text=formatah(-self.cronometro.decorridoh,
                                   segundos=True))
     if not self.cronometro.isparado:
         self.tempoDecorridoLbl.after(200, self._refresh)
     else:
         self.fechar()
コード例 #4
0
    def construir(self):
        '''Cria a janela com os widgets e configura o label para ser atualizado
        com o tempo decorrido.'''
        ### Janela ###
        self.root = root_config(
            self.pararCb, u'%s - Atividade: %s' % (TITLE, self.atividade.nome))
        self.root.wm_attributes('-topmost', 1)

        ### Frames ###

        mainFrame = tk.Frame(self.root)
        mainFrame.pack()

        ### Labels ###

        atividadeLabel = tk.Label(mainFrame,
                                  text='Decorrido/Saldo: ',
                                  justify='left')
        atividadeLabel.pack(side='left', expand=True)

        self.tempoDecorridoLbl = tk.Label(mainFrame,
                                          text=formatah(
                                              -self.cronometro.decorridoh,
                                              True))
        self.tempoDecorridoLbl.pack(side='left', expand=True)

        tempoSaldoLbl = tk.Label(mainFrame,
                                 text='/ ' + formatah(self.atividade.saldo))
        tempoSaldoLbl.pack(side='left', expand=True)

        ### Buttons ###
        pausarBtn = tk.Checkbutton(mainFrame,
                                   text='Pausar',
                                   command=self.pausarCb)
        pausarBtn.pack(side='left')

        pararBtn = tk.Button(mainFrame, text='Finalizar', command=self.pararCb)
        pararBtn.pack(side='left')
コード例 #5
0
ファイル: d10r.py プロジェクト: ygormutti/d10r
def escolher_ativ():
    '''escolher_ativ() -> atividade

    Exibe as atividades cadastradas, o saldo de horas e espera que o usuário
    informe qual delas deseja começar.'''
    atividades = sorted(data.Atividade.all(), key=lambda x: x.saldo, reverse=True)

    opcoes = []
    for i, a in enumerate(atividades):
        opcoes.append('%d- %s (Saldo: %s)' % (i, a.nome, formatah(a.saldo)))

    opcao = gui.escolher('Qual atividade deseja iniciar?', opcoes)

    if opcao:
        return atividades[int(opcao.split('-')[0])]
    else:
        return None
コード例 #6
0
ファイル: d10r.py プロジェクト: alsimoes/d10r
def escolher_ativ():
    '''escolher_ativ() -> atividade

    Exibe as atividades cadastradas, o saldo de horas e espera que o usuário
    informe qual delas deseja começar.'''
    atividades = sorted(data.Atividade.all(),
                        key=lambda x: x.saldo,
                        reverse=True)

    opcoes = []
    for i, a in enumerate(atividades):
        opcoes.append('%d- %s (Saldo: %s)' % (i, a.nome, formatah(a.saldo)))

    opcao = gui.escolher('Qual atividade deseja iniciar?', opcoes)

    if opcao:
        return atividades[int(opcao.split('-')[0])]
    else:
        return None
コード例 #7
0
ファイル: d10r.py プロジェクト: alsimoes/d10r
            if data.creditar_tudo(toth, inicio, timestamp):
                # guarda a data do último crédito
                timestamp = datetime.date.today()

        debito = 0
        try:
            atividade = escolher_ativ()

            if atividade.saldo > 0:
                debito = debitar(atividade)
            else:
                if gui.perguntar(
                        'Esta atividade não possui mais horas a serem' +
                        ' cumpridas.\nDeseja continuar mesmo assim?'):
                    debito = debitar(atividade, False)
        except gui.FimAlcancado:
            debito = atividade.saldo
            gui.notificar(u'Você acabou de cumprir as horas da atividade:\n' +
                          atividade.nome)
        except AttributeError, e:  # usuário clicou em Sair, ou não... =/
            break
        finally:
            if debito and gui.perguntar(u'Confirma %s horas gastas com %s?' %
                                        (formatah(debito), atividade.nome)):
                atividade.debitarh(debito)
            data.salvar_config(toth, inicio, timestamp)


if __name__ == '__main__':
    main()
コード例 #8
0
ファイル: d10r.py プロジェクト: ygormutti/d10r
        if (not timestamp) or (datetime.date.today() > timestamp):
                        if data.creditar_tudo(toth, inicio, timestamp):
                            # guarda a data do último crédito
                            timestamp = datetime.date.today()

        debito = 0
        try:
            atividade = escolher_ativ()

            if atividade.saldo > 0:
                debito = debitar(atividade)
            else:
                if gui.perguntar('Esta atividade não possui mais horas a serem' +
                             ' cumpridas.\nDeseja continuar mesmo assim?'):
                    debito = debitar(atividade, False)
        except gui.FimAlcancado:
            debito = atividade.saldo
            gui.notificar(u'Você acabou de cumprir as horas da atividade:\n' +
                      atividade.nome)
        except AttributeError, e: # usuário clicou em Sair, ou não... =/
            break
        finally:
            if debito and gui.perguntar(u'Confirma %s horas gastas com %s?' %
                         (formatah(debito), atividade.nome)):
                atividade.debitarh(debito)
            data.salvar_config(toth, inicio, timestamp)


if __name__ == '__main__':
    main()