Ejemplo n.º 1
0
/**
 * Setup function allocating new taglist instance for unit tests.
 */
void taglist_setup(void) {

	COLOR_SETUP_START;

	tag_list = taglist_create();

	if ( error_is_error() ) {
		ERROR_LOG();
	}
	COLOR_SETUP_END;
	return;
}
Ejemplo n.º 2
0
gchar* 
tags_dialog (GtkWidget *win, JamAccountLJ *acc, gchar *journal, gchar *typed)
{
  GtkWidget *dlg, *sw, *tv;
  GSList *list = NULL;
  gchar *taglist = NULL;
  GSList *prev;

  if (acc == NULL) return NULL;

  load_tags (GTK_WINDOW (win), acc, journal, &list);
  
  dlg = gtk_dialog_new_with_buttons (_("Select tags"),
                                     GTK_WINDOW (win),
                                     GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT,
                                     GTK_STOCK_OK,
                                     GTK_RESPONSE_OK,
                                     GTK_STOCK_CLOSE,
                                     GTK_RESPONSE_CLOSE,
                                     NULL);

  sw = gtk_scrolled_window_new (NULL, NULL);
  gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (sw),
				       GTK_SHADOW_ETCHED_IN);
  gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (sw),
				  GTK_POLICY_AUTOMATIC,
				  GTK_POLICY_AUTOMATIC);
  gtk_box_pack_start (GTK_BOX (GTK_DIALOG (dlg)->vbox), sw, TRUE, TRUE, 0);

  prev = tags_split(typed);
  tv = taglist_create (list, &prev);
  gtk_container_add (GTK_CONTAINER (sw), tv);

  gtk_window_resize(dlg, 60, 210);
  gtk_widget_show_all (sw);

  if (gtk_dialog_run (GTK_DIALOG (dlg)) == GTK_RESPONSE_OK)
    {
      taglist = g_strdup ("");
      gtk_tree_model_foreach (gtk_tree_view_get_model (tv),
			      create_tag_string,
			      &taglist);
      if (g_ascii_strcasecmp (taglist, "") == 0) 
	{
	  g_free (taglist);
	  taglist = NULL;
	}
    }  

  gtk_widget_destroy (dlg);
  
  /* free rest of prev list */
  if (prev) {
    GSList *p;
    for (p = prev; p; p = g_slist_next(p)) {
      g_free(p->data);
    }
    g_slist_free(prev);
  }

  return taglist;
}
Ejemplo n.º 3
0
TagList_t*
taglist_clone(TagList_t *src)
{
   return taglist_copy(src, taglist_create());
}