Exemple #1
0
 def on_toggle_chronometer(self, ev_box, gdk_ev_btn):
     time_entry = self.time_entries.get_by_id(self.time_entry_id)
     if time_entry["is_running"]:
         GtkThread(
             target=self.stop_chronometer,
             target_cb=self.stop_chronometer_cb,
         ).start()
     else:
         self.time_entries.emit("time_entry_restarted", self.time_entry_id)
         GtkThread(target=self.start_chronometer,
                   target_cb=self.start_chronometer_cb).start()
    def on_saving_time_entry_form(self, btn):
        self.start_spinner()
        btn.hide()
        # TODO Hide Delete Button As Well
        data = {
            "user_id": self.user.data["id"],
            "notes": self.notes,
            "task_id": int(self.task_id),
            "project_id": int(self.proj_id),
            "hours": self.hours,
        }
        if not self.time_entry_id:
            data["user_id"] = self.user.data["id"]
            data["spent_date"] = self.week.get_selected_date()\
                                          .date()\
                                          .isoformat()
        else:
            if self.time_entry["is_running"]:
                del data["hours"]

        GtkThread(
            target=self.on_saving_time_entry,
            args=(self.time_entry_id, data),
            target_cb=self.on_saving_time_entry_cb,
        ).start()
Exemple #3
0
 def fetch_time_summary(self):
     GtkThread(
         target=self.time_summary.sync_data,
         args=(self.week.get_selected_date(), ),
         target_cb=gtk_thread_cb(
             lambda t: self.time_summary.emit("data_update_end")),
     ).start()
Exemple #4
0
 def on_back_to_today(self, ev_box, ev_btn):
     self.week.set_selected_date(datetime.now())
     self.week.emit("selected_date_changed")
     self.time_entries.date_obj = self.week.get_selected_date()
     GtkThread(
         target=self.time_entries.sync_data,
         target_cb=gtk_thread_cb(
             lambda t: self.time_entries.emit("data_update_end")),
     ).start()
 def on_delete_time_entry(self, ev_box, gdk_ev_btn):
     self.start_spinner()
     self.get_widget('buttonCreateOrUpateNewTimeEntry').hide()
     ev_box.hide()
     GtkThread(
         target=self.time_entries.delete,
         args=(self.time_entry_id, ),
         target_cb=self.on_saving_time_entry_cb,
     ).start()
Exemple #6
0
 def fetch_new_time_entries(self):
     self.week.emit("selected_date_changed")
     self.time_entries.date_obj = self.week.get_selected_date()
     self.time_entries.emit('data_update_bgn')
     GtkThread(
         target=self.time_entries.sync_data,
         target_cb=gtk_thread_cb(
             lambda t: self.time_entries.emit('data_update_end')
             ),
         ).start()
Exemple #7
0
 def on_back_to_today_kb(self, *args):
     self.week.set_selected_date(datetime.now())
     self.week.emit("selected_date_changed")
     self.time_entries.date_obj = self.week.get_selected_date()
     self.time_entries.emit('data_update_bgn')
     GtkThread(
         target=self.time_entries.sync_data,
         target_cb=gtk_thread_cb(
             lambda t: self.time_entries.emit('data_update_end')
             ),
         ).start()
 def bind_data(self):
     self.get_widget("label_user_fullname")\
         .set_markup(self.user.get_full_name())
     self.get_widget("label_user_email").set_markup(self.user.data["email"])
     self.get_widget("label_user_avatar").set_from_pixbuf(
         self.user.get_avatar_img_as_pixbuf())
     self.get_widget("label_user_avatar").set_from_pixbuf(
         self.user.get_avatar_img_as_pixbuf(), )
     GtkThread(
         target=self.user.download_user_avatar,
         target_cb=gtk_thread_cb(
             lambda t: self.user.emit("avatar_download_end")),
     ).start()
Exemple #9
0
 def fetch_base_data(self):
     '''
     Description:
         Yes. We are blocking on purpose to avoid user trying interacting
         with some part of the UI and see no reaction. We will slowly move
         the parts to be more and more asynchronous.
     '''
     self.user.sync_data()
     self.assignments.sync_data()
     self.time_entries.emit('data_update_bgn')
     GtkThread(
         target=self.time_entries.sync_data,
         target_cb=gtk_thread_cb(
             lambda t: self.time_entries.emit('data_update_end')
             ),
         ).start()
Exemple #10
0
 def on_time_entry_restarted(self, gobj, rst_time_entry_id):
     is_running = self.get_time_entry()["is_running"]
     if self.time_entry_id != rst_time_entry_id and is_running:
         GtkThread(target=self.stop_chronometer,
                   target_cb=self.stop_chronometer_cb).start()