void gToxFileRecv::resume() { if (m_state != PAUSED) { return; } m_state = RECVING; if (m_file.file_size == m_position) { cancel(); std::clog << "Friend " << m_file.nr << " File " << m_file.file_number << " " << m_position << "/" << m_file.file_size << std::endl; observer_notify(ToxEvent(EventFileProgress{ this, m_file.nr, m_file.kind, m_file.file_number, m_position, m_file.file_size })); if (m_file.kind == TOX_FILE_KIND_AVATAR) { WidgetAvatar::set_avatar(observable(), m_path, WidgetAvatar::get_avatar(m_path, true)); } return; } tox().file_control(m_file.nr, m_file.file_number, TOX_FILE_CONTROL_RESUME); }
void WidgetChatBubble::add_filerecv(Toxmm::EventFileRecv file) { auto msg_time = Glib::DateTime::create_now_utc(); // remove seconds msg_time = Glib::DateTime::create_utc(msg_time.get_year(), msg_time.get_month(), msg_time.get_day_of_month(), msg_time.get_hour(), msg_time.get_minute(), 0); bool display_time = true; if (m_last_timestamp != 0) { auto old_time = Glib::DateTime::create_now_utc(m_last_timestamp); // remove seconds old_time = Glib::DateTime::create_utc(old_time.get_year(), old_time.get_month(), old_time.get_day_of_month(), old_time.get_hour(), old_time.get_minute(), 0); // check display_time = !(msg_time.compare(old_time) == 0); } // create a new row auto msg = Gtk::manage(WidgetChatFileRecv::create(observable(), file)); auto time = Gtk::manage(new Gtk::Label()); m_last_timestamp = msg_time.to_unix(); // get local time msg_time = Glib::DateTime::create_now_local(m_last_timestamp); time->set_text(msg_time.format("%R")); // add to grid if (m_side == RIGHT) { rows.emplace_back(m_grid, m_row_count, *msg, *time); } else { rows.emplace_back(m_grid, m_row_count, *time, *msg); } m_row_count += 1; // styling time->set_halign(Gtk::ALIGN_CENTER); time->set_valign(Gtk::ALIGN_START); time->get_style_context()->add_class("bubble_chat_line_time"); msg->set_halign(Gtk::ALIGN_START); msg->set_valign(Gtk::ALIGN_CENTER); msg->show_all(); time->show_all(); time->set_no_show_all(); if (!display_time) { time->hide(); } }
void Simple::generateObservables(vpz::AtomicModel& model, vpz::Observables& observables) { std::string observableName((fmt("obs_DE_%1%") % model.getName()).str()); if (observables.exist(observableName)) { vpz::Observable& observable(observables.get(observableName)); if (not observable.exist(mNameValue.getVariableName())) { observable.add(mNameValue.getVariableName()); } } else { vpz::Observable observable(observableName); observable.add(mNameValue.getVariableName()); observables.add(observable); } if (model.observables().empty()) { model.setObservables(observableName); } }
void Adjustable::detach(DimensionName d, Observer* o) { observable(d)->detach(o); }
void Adjustable::notify_all() const { for (DimensionName d = 0; d < CoordinateSpace::dimensions; d++) { observable(d)->notify(); } }
void Adjustable::notify(DimensionName d) const { observable(d)->notify(); }