Esempio n. 1
0
    def build(cls):
        """Construct the system tray"""
        cls.systray.setIcon(App.icon)

        cls.act_status.setText("00:00:00")
        cls.menu.addAction(cls.act_status)

        cls.menu.addAction(cls.act_time)
        cls.set_mode_stopped()

        cls.menu.addSeparator()

        cls.act_toggle.setIcon(QIcon.fromTheme('view-restore'))
        cls.act_toggle.setText("Show/Hide Window")
        cls.act_toggle.triggered.connect(cls.toggle_window)
        cls.menu.addAction(cls.act_toggle)

        cls.menu.addSeparator()

        cls.act_quit.setIcon(QIcon.fromTheme('application-exit'))
        cls.act_quit.setText("Quit Timecard")
        cls.act_quit.triggered.connect(cls.quit_app)
        cls.menu.addAction(cls.act_quit)

        cls.systray.setContextMenu(cls.menu)
        cls.systray.show()

        TimeDisplay.connect(on_tick=cls.update_time)
        TimeControls.connect(on_start=cls.set_mode_running,
                             on_resume=cls.set_mode_running,
                             on_pause=cls.set_mode_paused,
                             on_stop=cls.set_mode_save,
                             on_save=cls.set_mode_stopped,
                             on_reset=cls.set_mode_stopped)
        App.connect(on_hide=cls.popup)

        return cls.systray
Esempio n. 2
0
def run():
    """Run the interface."""
    build()
    return App.run()
Esempio n. 3
0
def build():
    """Construct the interface."""
    # Build the actual interface.
    App.build()
    App.add_widget(TimeDisplay.build())
    App.add_widget(Notes.build())
    App.add_widget(TimeControls.build())
    App.add_widget(Workspace.build())
    App.add_widget(AppControls.build())
    SysTray.build()

    # See if there's anything to recover from a damaged session.
    Backup.check_for_recall()
    # Start monitoring new timers.
    Backup.start_monitoring()

    # Initialize systems
    Focus.initialize()

    # Start the clock!
    Clock.start()
Esempio n. 4
0
 def yes(cls):
     """Quit the program."""
     App.quit()
Esempio n. 5
0
 def quit_app(cls):
     App.quit()
Esempio n. 6
0
 def toggle_window(cls):
     App.toggle_window()
Esempio n. 7
0
def build():
    """Construct the interface."""
    App.build()
    App.add_widget(TimeDisplay.build())
    App.add_widget(Notes.build())
    App.add_widget(TimeControls.build())
    App.add_widget(Workspace.build())
    App.add_widget(AppControls.build())
    SysTray.build()