Esempio n. 1
0
void
ol_osd_toolbar_set_player (OlOsdToolbar *toolbar,
                           OlPlayer *player)
{
  ol_assert (OL_IS_OSD_TOOLBAR (toolbar));
  OlOsdToolbarPriv *priv = OL_OSD_TOOLBAR_GET_PRIVATE (toolbar);
  if (player == priv->player)
    return;
  if (player != NULL)
  {
    g_object_ref (player);
    g_signal_connect (player,
                      "status-changed",
                      G_CALLBACK (_status_changed_cb),
                      toolbar);
    g_signal_connect (player,
                      "caps-changed",
                      G_CALLBACK (_caps_changed_cb),
                      toolbar);
  }
  if (priv->player != NULL)
  {
    g_signal_handlers_disconnect_by_func (priv->player,
                                          _status_changed_cb,
                                          toolbar);
    g_signal_handlers_disconnect_by_func (priv->player,
                                          _caps_changed_cb,
                                          toolbar);
    g_object_unref (priv->player);
  }
  priv->player = player;
  _update_caps (toolbar);
  _update_status (toolbar);
}
Esempio n. 2
0
void
house::interruptable_action_update(const std::string &s) {
    interruptable_action_update();

    _status_tmp = s;
    _update_status();
}
Esempio n. 3
0
void
house::interruptable_action_update() {
    // True if interruptable
    bool intr = false;
    if (!self_model()->joining_room().empty()) {
        intr = true;
    }

    _action_cancel->setEnabled(intr);
    _status_tmp.clear();
    _update_status();
}
Esempio n. 4
0
void
house::handle_message(::message *msg) {
    ACE_DEBUG((LM_DEBUG, "house: handle_message\n"));

    if (handle_dht_message(msg)         ||
        handle_ctz_message(msg)         ||
        handle_external_ip_message(msg))
    {
        _update_status();
        return;
    }

    switch(msg->id()) {
    case ::message::room:
        _room_buttons_status();
        break;
    case ::message::user:
    {
        _room_buttons_status();
    }
        break;
    case ::message::send:
        // Don't flash the window, however, if playing
        // already
        ACE_DEBUG((LM_DEBUG, "house::handle_message: flash_main_chat %d\n",
                  app_opts.flash_main_chat()));
        if (app_opts.flash_main_chat() &&
            self_model()->user().status() != chat_gaming::user::status_playing)
        {
            message_channel *m = dynamic_ptr_cast<message_channel>(msg);
            ACE_DEBUG((LM_DEBUG, "house::handle_message send: m->channel() %s, _chat_view->channel() %s\n",
                    m->channel().c_str(), _chat_view->channel().c_str()));
            if (m->channel() == _chat_view->channel()) {
                ACE_DEBUG((LM_DEBUG, "house::handle_message send flashing main window\n"));
                os::flash_window(this);
            }
        }
        break;
    case ::message::block_users:
    {
        message_block_users *mb = dynamic_ptr_cast<message_block_users>(msg);
        if (mb->global_ignore()) {
            handle_global_block_users(mb);
        }
    }
        break;

    }
    _users_view->handle_message(msg);
    _chat_view->handle_message(msg);
    _rooms_view->handle_message(msg);
}
Esempio n. 5
0
static void
ol_osd_toolbar_init (OlOsdToolbar *toolbar)
{
  OlOsdToolbarPriv *priv = OL_OSD_TOOLBAR_GET_PRIVATE (toolbar);
  gtk_alignment_set (GTK_ALIGNMENT (toolbar), 0.5, 0.5, 0.0, 0.0);
  toolbar->center_box = GTK_HBOX (gtk_hbox_new (FALSE, 0));
  gtk_container_add (GTK_CONTAINER (toolbar), GTK_WIDGET (toolbar->center_box));
  
  toolbar->prev_button = _add_button (toolbar, &btn_spec[BTN_PREV]);
  toolbar->play_button = _add_button (toolbar, &btn_spec[BTN_PLAY]);
  toolbar->pause_button = _add_button (toolbar, &btn_spec[BTN_PAUSE]);
  toolbar->stop_button = _add_button (toolbar, &btn_spec[BTN_STOP]);
  toolbar->next_button = _add_button (toolbar, &btn_spec[BTN_NEXT]);

  priv->player = NULL;
  _update_status (toolbar);
  _update_caps (toolbar);
}
Esempio n. 6
0
bool
house::handle_external_ip_message(::message *msg) {
    message_string *ms = dynamic_cast<message_string *>(msg);
    if (!ms) return false;

    switch (ms->id()) {
    case message::external_ip_fetching:
        _status_tmp = langstr("main_win/ip_detecting", ms->str().c_str()); break;
    case message::external_ip_fetch_done:
        _status_tmp = langstr("main_win/ip_detected",  ms->str().c_str());
        self_model()->user().ip_as_string(ms->str());
        _check_if_self_blocked();
        break;
    case message::external_ip_fetch_fail:
        _status_tmp = langstr("main_win/ip_failed",    ms->str().c_str()); break;
    default:
        return false;
    }

    _update_status();
    return true;
}
Esempio n. 7
0
static void
_status_changed_cb (OlPlayer *player,
                    OlOsdToolbar *toolbar)
{
  _update_status (toolbar);
}
Esempio n. 8
0
/*
	check the keypad status
	called every main loop
*/
void Keypad::update(Passcode passcode) {
	_update_status(passcode);
	_is_key_pressed(passcode);
	_update_btns_flashing();
}