/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
/*
 *  Authors: Jeffrey Stedfast <fejj@ximian.com>
 *
 *  Copyright 2003 Ximian, Inc. (www.ximian.com)
 *
 *  This program is free software; you can redistribute it and/or modify
 *  it under the terms of the GNU General Public License as published by
 *  the Free Software Foundation; either version 2 of the License, or
 *  (at your option) any later version.
 *
 *  This program is distributed in the hope that it will be useful,
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *  GNU General Public License for more details.
 *
 *  You should have received a copy of the GNU General Public License
 *  along with this program; if not, write to the Free Software
 *  Foundation, Inc., 59 Temple Street #330, Boston, MA 02111-1307, USA.
 *
 */

#ifdef HAVE_CONFIG_H
#include <config.h>
#endif

#include <string.h>

#include <gtk/gtkdialog.h>
#include <gtk/gtkstock.h>

#include "em-folder-tree.h"
#include "em-folder-selector.h"
#include "em-folder-selection.h"
#include "mail-component.h"

/* TODO: rmeove this file, it could just go on em-folder-selection or em-utils */

struct _select_folder_data {
	void (*done) (const char *uri, void *data);
	void *data;
};

static void
emfs_selector_response(EMFolderSelector *emfs, int response, struct _select_folder_data *d)
{
	if (response == GTK_RESPONSE_OK) {
		const char *uri = em_folder_selector_get_selected_uri(emfs);

		d->done(uri, d->data);
	}

	gtk_widget_destroy((GtkWidget *)emfs);
}

void
em_select_folder (GtkWindow *parent_window, const char *title, const char *default_uri,
		  void (*done) (const char *uri, void *user_data), void *user_data)
{
	struct _select_folder_data *d;
	EMFolderTreeModel *model;
	GtkWidget *dialog;
	EMFolderTree *emft;
	
	model = mail_component_peek_tree_model (mail_component_peek ());
	emft = (EMFolderTree *) em_folder_tree_new_with_model (model);
	
	dialog = em_folder_selector_new(emft, EM_FOLDER_SELECTOR_CAN_CREATE, title, NULL);
	if (default_uri)
		em_folder_selector_set_selected((EMFolderSelector *)dialog, default_uri);
	d = g_malloc0(sizeof(*d));
	d->data = user_data;
	d->done = done;
	g_signal_connect(dialog, "response", G_CALLBACK (emfs_selector_response), d);
	g_object_set_data_full((GObject *)dialog, "e-select-data", d, (GDestroyNotify)g_free);
	gtk_widget_show(dialog);
}
4/files/minimist-1.2.2</option>
<option value='dependabot/npm_and_yarn/devel/electron4/files/minimist-1.2.3'>dependabot/npm_and_yarn/devel/electron4/files/minimist-1.2.3</option>
<option value='dependabot/npm_and_yarn/devel/electron4/files/node-fetch-2.6.1'>dependabot/npm_and_yarn/devel/electron4/files/node-fetch-2.6.1</option>
<option value='dependabot/npm_and_yarn/devel/electron4/files/serve-10.1.2'>dependabot/npm_and_yarn/devel/electron4/files/serve-10.1.2</option>
<option value='dependabot/npm_and_yarn/devel/electron4/files/y18n-3.2.2'>dependabot/npm_and_yarn/devel/electron4/files/y18n-3.2.2</option>
<option value='dependabot/npm_and_yarn/devel/electron6/files/elliptic-6.5.3'>dependabot/npm_and_yarn/devel/electron6/files/elliptic-6.5.3</option>
<option value='dependabot/npm_and_yarn/devel/electron6/files/elliptic-6.5.4'>dependabot/npm_and_yarn/devel/electron6/files/elliptic-6.5.4</option>
<option value='dependabot/npm_and_yarn/devel/electron6/files/ini-1.3.8'>dependabot/npm_and_yarn/devel/electron6/files/ini-1.3.8</option>
<option value='dependabot/npm_and_yarn/devel/electron6/files/lodash-4.17.19'>dependabot/npm_and_yarn/devel/electron6/files/lodash-4.17.19</option>
<option value='dependabot/npm_and_yarn/devel/electron6/files/lodash.merge-4.6.2'>dependabot/npm_and_yarn/devel/electron6/files/lodash.merge-4.6.2</option>
<option value='dependabot/npm_and_yarn/devel/electron6/files/node-fetch-2.6.1'>dependabot/npm_and_yarn/devel/electron6/files/node-fetch-2.6.1</option>
<option value='dependabot/npm_and_yarn/devel/electron6/files/serve-10.1.2'>dependabot/npm_and_yarn/devel/electron6/files/serve-10.1.2</option>
<option value='gnome-3.22'>gnome-3.22</option>
<option value='gnome-3.24' selected='selected'>gnome-3.24</option>
<option value='gnome-3.26'>gnome-3.26</option>
<option value='gnome-3.28'>gnome-3.28</option>
<option value='gnome-3.32'>gnome-3.32</option>
<option value='gnome-3.36'>gnome-3.36</option>
<option value='gstreamer'>gstreamer</option>
<option value='gstreamer-1.16'>gstreamer-1.16</option>
<option value='gstreamer0.10-removal'>gstreamer0.10-removal</option>
<option value='main'>main</option>
<option value='master'>master</option>
<option value='mate-1.16'>mate-1.16</option>
<option value='mate-1.18'>mate-1.18</option>
<option value='mate-1.20'>mate-1.20</option>
<option value='mate-1.22'>mate-1.22</option>
</select> <input type='submit' value='switch'/></form></td></tr>
<tr><td class='sub'>FreeBSD GNOME current development ports (https://github.com/freebsd/freebsd-ports-gnome)</td><td class='sub right'></td></tr></table>
<table class='tabs'><tr><td>
<a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/about/?h=gnome-3.24'>about</a><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/?h=gnome-3.24'>summary</a><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/refs/?h=gnome-3.24&amp;id=b9f30e8f8c003e0f00fd46fc721ce1b4813ef442'>refs</a><a class='active' href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/log/chinese/ttfm?h=gnome-3.24'>log</a><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/tree/chinese/ttfm?h=gnome-3.24&amp;id=b9f30e8f8c003e0f00fd46fc721ce1b4813ef442'>tree</a><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/commit/chinese/ttfm?h=gnome-3.24&amp;id=b9f30e8f8c003e0f00fd46fc721ce1b4813ef442'>commit</a><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/diff/chinese/ttfm?h=gnome-3.24&amp;id=b9f30e8f8c003e0f00fd46fc721ce1b4813ef442'>diff</a><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/stats/chinese/ttfm?h=gnome-3.24'>stats</a></td><td class='form'><form class='right' method='get' action='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/log/chinese/ttfm'>
<input type='hidden' name='h' value='gnome-3.24'/><input type='hidden' name='id' value='b9f30e8f8c003e0f00fd46fc721ce1b4813ef442'/><select name='qt'>
<option value='grep'>log msg</option>
<option value='author'>author</option>
<option value='committer'>committer</option>
<option value='range'>range</option>
</select>
<input class='txt' type='search' size='10' name='q' value=''/>
<input type='submit' value='search'/>
</form>
</td></tr></table>
<div class='path'>path: <a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/log/?h=gnome-3.24&amp;id=b9f30e8f8c003e0f00fd46fc721ce1b4813ef442'>root</a>/<a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/log/chinese?h=gnome-3.24&amp;id=b9f30e8f8c003e0f00fd46fc721ce1b4813ef442'>chinese</a>/<a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/log/chinese/ttfm?h=gnome-3.24&amp;id=b9f30e8f8c003e0f00fd46fc721ce1b4813ef442'>ttfm</a></div><div class='content'><table class='list nowrap'><tr class='nohover'><th></th><th class='left'>Commit message (<a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/log/chinese/ttfm?h=gnome-3.24&amp;id=b9f30e8f8c003e0f00fd46fc721ce1b4813ef442&amp;showmsg=1'>Expand</a>)</th><th class='left'>Author</th><th class='left'>Age</th><th class='left'>Files</th><th class='left'>Lines</th></tr>
<tr><td class='commitgraph'>* </td><td><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/commit/chinese/ttfm?h=gnome-3.24&amp;id=71212d676d9e763716474b9c4374419f879f0dbe'>- Respect PREFIX and LOCALBASE</a></td><td>rafan</td><td><span title='2008-06-07 00:16:30 +0800'>2008-06-07</span></td><td>2</td><td><span class='deletions'>-3</span>/<span class='insertions'>+15</span></td></tr>
<tr><td class='commitgraph'>* </td><td><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/commit/chinese/ttfm?h=gnome-3.24&amp;id=bce9b81f9d6099820f3839d7809d6b08c1d2ae7b'>- Remove unneeded dependency from gtk12/gtk20 [1]</a></td><td>miwi</td><td><span title='2008-04-20 01:56:05 +0800'>2008-04-20</span></td><td>1</td><td><span class='deletions'>-6</span>/<span class='insertions'>+6</span></td></tr>
<tr><td class='commitgraph'>* </td><td><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/commit/chinese/ttfm?h=gnome-3.24&amp;id=6e47c5cdb459376d87ddb99ef6ecdf4cdcf5b90f'>- Remove reference to X_CLIENTS_PORT and X11BASE</a></td><td>rafan</td><td><span title='2008-03-25 22:28:19 +0800'>2008-03-25</span></td><td>2</td><td><span class='deletions'>-9</span>/<span class='insertions'>+10</span></td></tr>
<tr><td class='commitgraph'>* </td><td><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/commit/chinese/ttfm?h=gnome-3.24&amp;id=87f4d471fb27b9547c1a0de221b51f4c31684157'>- Welcome X.org 7.2 \o/.</a></td><td>flz</td><td><span title='2007-05-20 04:36:56 +0800'>2007-05-20</span></td><td>1</td><td><span class='deletions'>-1</span>/<span class='insertions'>+1</span></td></tr>
<tr><td class='commitgraph'>* </td><td><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/commit/chinese/ttfm?h=gnome-3.24&amp;id=56b2578785185508b9ec4767ef1c60aede74a917'>- Host files on my local distfiles.</a></td><td>rafan</td><td><span title='2007-02-22 15:37:54 +0800'>2007-02-22</span></td><td>1</td><td><span class='deletions'>-2</span>/<span class='insertions'>+2</span></td></tr>
<tr><td class='commitgraph'>* </td><td><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/commit/chinese/ttfm?h=gnome-3.24&amp;id=1cd24608e1a4311beded4c3ea4c29440b353bd10'>- Repsect X11BASE. This should fix chinese/*ttf build failure with</a></td><td>rafan</td><td><span title='2006-11-27 02:12:11 +0800'>2006-11-27</span></td><td>4</td><td><span class='deletions'>-6</span>/<span class='insertions'>+32</span></td></tr>
<tr><td class='commitgraph'>* </td><td><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/commit/chinese/ttfm?h=gnome-3.24&amp;id=33191db0b0431a2a76191c8311b372ed3fb48ece'>- adobe-cmaps has changed its installation since half year ago</a></td><td>rafan</td><td><span title='2006-11-03 16:53:44 +0800'>2006-11-03</span></td><td>1</td><td><span class='deletions'>-1</span>/<span class='insertions'>+1</span></td></tr>
<tr><td class='commitgraph'>* </td><td><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/commit/chinese/ttfm?h=gnome-3.24&amp;id=8e4b99b08e1ee7e7822d1419b8c4c26892501189'>- Add SHA256</a></td><td>pav</td><td><span title='2005-11-25 07:02:13 +0800'>2005-11-25</span></td><td>1</td><td><span class='deletions'>-0</span>/<span class='insertions'>+1</span></td></tr>
<tr><td class='commitgraph'>* </td><td><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/commit/chinese/ttfm?h=gnome-3.24&amp;id=85f9c73f8b65e524116fe95bb1918ff89f7a36e2'>Let mkfontscale(1) and mkfontdir(1) handle fonts.scale and fonts.dir.</a></td><td>clive</td><td><span title='2005-08-28 23:43:47 +0800'>2005-08-28</span></td><td>2</td><td><span class='deletions'>-0</span>/<span class='insertions'>+55</span></td></tr>
<tr><td class='commitgraph'>* </td><td><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/commit/chinese/ttfm?h=gnome-3.24&amp;id=8b6a9d0bc189ec7e4ecd4d50a0716a1845ff6a25'>Reset bouncing maintainer address.  These ports are now available for</a></td><td>linimon</td><td><span title='2005-07-26 05:58:10 +0800'>2005-07-26</span></td><td>1</td><td><span class='deletions'>-1</span>/<span class='insertions'>+1</span></td></tr>
<tr><td class='commitgraph'>* </td><td><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/commit/chinese/ttfm?h=gnome-3.24&amp;id=31459e01770eecb2584fba51544d7b5855a6300f'>- add chinese/Makefile.ttf to control install/deinstall process of all</a></td><td>leeym</td><td><span title='2005-02-19 21:51:50 +0800'>2005-02-19</span></td><td>5</td><td><span class='deletions'>-10</span>/<span class='insertions'>+128</span></td></tr>
<tr><td class='commitgraph'>* </td><td><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/commit/chinese/ttfm?h=gnome-3.24&amp;id=1ba62189921dffff4387eb0a733fcfde50cf87fa'>- Pass maintainership to submitter</a></td><td>sem</td><td><span title='2005-01-08 23:50:05 +0800'>2005-01-08</span></td><td>1</td><td><span class='deletions'>-1</span>/<span class='insertions'>+1</span></td></tr>