Пример #1
0
static void new_folder_cb(GtkAction *action, gpointer data)
{
    FolderView *folderview = (FolderView *)data;
    GtkCMCTree *ctree = GTK_CMCTREE(folderview->ctree);
    FolderItem *item;
    FolderItem *new_item;
    gchar *new_folder;
    gchar *name;
    gchar *p;
    gchar separator = '/';

    if (!folderview->selected) return;

    item = gtk_cmctree_node_get_row_data(ctree, folderview->selected);
    cm_return_if_fail(item != NULL);
    cm_return_if_fail(item->folder != NULL);
    cm_return_if_fail(item->folder->account != NULL);

    new_folder = input_dialog_with_checkbtn
                 (_("New folder"),
                  _("Input the name of new folder:\n"
                    "(if you want to create a folder to store subfolders\n"
                    "only and no mail, append '/' to the folder name)"),
                  _("NewFolder"),
                  _("Inherit properties from parent folder"),
                  &(prefs_common.inherit_folder_props));

    if (!new_folder) return;
    AUTORELEASE_STR(new_folder, {g_free(new_folder); return;});
Пример #2
0
void rssyl_new_folder_cb(GtkAction *action, gpointer data)
{
	FolderView *folderview = (FolderView *)data;
	GtkCMCTree *ctree = GTK_CMCTREE(folderview->ctree);
	FolderItem *item;
	FolderItem *new_item;
	gchar *new_folder;
	gchar *name;
	gchar *p;
	RSSylFolderItem *ritem = NULL;

	if (!folderview->selected) return;

	item = gtk_cmctree_node_get_row_data(ctree, folderview->selected);
	g_return_if_fail(item != NULL);
	g_return_if_fail(item->folder != NULL);

	new_folder = input_dialog(_("New folder"),
				  _("Input the name of new folder:"),
				  _("NewFolder"));
	if (!new_folder) return;
	AUTORELEASE_STR(new_folder, {g_free(new_folder); return;});
Пример #3
0
/* clist/ctree clear old selection on click (gtk2 only)
 * - intercept all button clicks (always return TRUE)
 * - only allow left button single click
 * - handle click on expander
 * - update "subscribed" list and un-/select row
 */
static gboolean button_press_cb(GtkCMCTree *ctree, GdkEventButton *button,
				gpointer data)
{
	gint row, col;
	GtkCMCTreeNode *node;
	NewsGroupInfo *ginfo;
	GSList *list;

	if (button->type != GDK_BUTTON_PRESS) return TRUE;
	if (button->button != 1) return TRUE;
	if (button->window != GTK_CMCLIST(ctree)->clist_window) return TRUE;

	if (!gtk_cmclist_get_selection_info(GTK_CMCLIST(ctree), 
				     button->x, button->y, &row, &col))
		return TRUE;
	node = gtk_cmctree_node_nth(ctree, row);
	if (!node) return TRUE;

	if (gtk_cmctree_is_hot_spot(ctree, button->x, button->y)) {
		gtk_cmctree_toggle_expansion(ctree, node);
		return TRUE;
	}

	ginfo = gtk_cmctree_node_get_row_data(ctree, node);
	if (!ginfo) return TRUE;

	list = g_slist_find_custom(subscribed, ginfo->name,
				   (GCompareFunc)g_ascii_strcasecmp);
	if (list) {
		g_free(list->data);
		subscribed = g_slist_remove(subscribed, list->data);
		gtk_cmclist_unselect_row(GTK_CMCLIST(ctree), row, 0);
	} else {
		subscribed = g_slist_append(subscribed, g_strdup(ginfo->name));
		gtk_cmclist_select_row(GTK_CMCLIST(ctree), row, 0);
	}

	return TRUE;
}
Пример #4
0
void rssyl_new_feed_cb(GtkAction *action, gpointer data)
{
	FolderView *folderview = (FolderView *)data;
	GtkCMCTree *ctree = GTK_CMCTREE(folderview->ctree);
	FolderItem *item;
	gchar *new_feed;

	debug_print("RSSyl: new_feed_cb\n");

	g_return_if_fail(folderview->selected != NULL);

	item = gtk_cmctree_node_get_row_data(ctree, folderview->selected);
	g_return_if_fail(item != NULL);
	g_return_if_fail(item->folder != NULL);

	new_feed = input_dialog(_("Subscribe feed"),
					 _("Input the URL of the news feed you wish to subscribe:"),
					 "");
	g_return_if_fail(new_feed != NULL);

	rssyl_subscribe_new_feed(item, new_feed, TRUE);

	g_free(new_feed);
}
Пример #5
0
static void addressbook_foldersel_folder_select( GtkCMCTree *ctree, GtkCMCTreeNode *node,
				      gint column, gpointer data )
{
	addressbook_foldersel_dlg.fiSelected = gtk_cmctree_node_get_row_data( ctree, node );
}