示例#1
0
void
empathy_smiley_manager_add (EmpathySmileyManager *manager,
			    const gchar          *icon_name,
			    const gchar          *first_str,
			    ...)
{
	GdkPixbuf *pixbuf;
	va_list    var_args;

	g_return_if_fail (EMPATHY_IS_SMILEY_MANAGER (manager));
	g_return_if_fail (!TPAW_STR_EMPTY (icon_name));
	g_return_if_fail (!TPAW_STR_EMPTY (first_str));

	pixbuf = tpaw_pixbuf_from_icon_name (icon_name, GTK_ICON_SIZE_MENU);
	if (pixbuf) {
		gchar *path;

		va_start (var_args, first_str);
		path = tpaw_filename_from_icon_name (icon_name, GTK_ICON_SIZE_MENU);
		smiley_manager_add_valist (manager, pixbuf, path, first_str, var_args);
		va_end (var_args);
		g_object_unref (pixbuf);
		g_free (path);
	}
}
示例#2
0
static gboolean
model_find_name (EmpathyGroupsWidget *self,
    const gchar *name,
    GtkTreeIter *iter)
{
  EmpathyGroupsWidgetPriv *priv = GET_PRIV (self);
  FindNameData data;

  if (TPAW_STR_EMPTY (name))
    return FALSE;

  data.widget = self;
  data.name = name;
  data.found = FALSE;

  gtk_tree_model_foreach (GTK_TREE_MODEL (priv->group_store),
      (GtkTreeModelForeachFunc) model_find_name_foreach, &data);

  if (data.found == TRUE)
    {
      *iter = data.found_iter;
      return TRUE;
    }

  return FALSE;
}
示例#3
0
static void
add_group_entry_changed_cb (GtkEditable *editable,
    EmpathyGroupsWidget *self)
{
  EmpathyGroupsWidgetPriv *priv = GET_PRIV (self);
  GtkTreeIter iter;
  const gchar *group;

  group = gtk_entry_get_text (GTK_ENTRY (priv->add_group_entry));

  if (model_find_name (self, group, &iter))
    {
      gtk_widget_set_sensitive (GTK_WIDGET (priv->add_group_button), FALSE);
    }
  else
    {
      gtk_widget_set_sensitive (GTK_WIDGET (priv->add_group_button),
          !TPAW_STR_EMPTY (group));
    }
}
static void
search_text_notify_cb (TpawLiveSearch *search,
    GParamSpec *pspec,
    TpawIrcNetworkChooserDialog *self)
{
  GtkTreeIter filter_iter;
  gboolean sensitive = FALSE;

  gtk_tree_model_filter_refilter (self->priv->filter);

  /* Is there at least one network in the view ? */
  if (gtk_tree_model_get_iter_first (GTK_TREE_MODEL (self->priv->filter),
        &filter_iter))
    {
      const gchar *text;

      text = tpaw_live_search_get_text (
          TPAW_LIVE_SEARCH (self->priv->search));
      if (!TPAW_STR_EMPTY (text))
        {
          /* We are doing a search, select the first matching network */
          select_iter (self, &filter_iter, TRUE);
        }
      else
        {
          /* Search has been cancelled. Scroll to the selected network */
          GtkTreeSelection *selection;

          selection = gtk_tree_view_get_selection (
              GTK_TREE_VIEW (self->priv->treeview));

          if (gtk_tree_selection_get_selected (selection, NULL,
                &filter_iter))
            scroll_to_iter (self, &filter_iter);
        }

      sensitive = TRUE;
    }

  gtk_widget_set_sensitive (self->priv->select_button, sensitive);
}