/* * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) version 3. * * 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 * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with the program; if not, see <http://www.gnu.org/licenses/> * * * Authors: * Jeffrey Stedfast <fejj@ximian.com> * * Copyright (C) 1999-2008 Novell, Inc. (www.novell.com) * */ #ifndef EM_FOLDER_TREE_H #define EM_FOLDER_TREE_H #include <gtk/gtk.h> #include <camel/camel.h> #include <mail/em-folder-tree-model.h> /* Standard GObject macros */ #define EM_TYPE_FOLDER_TREE \ (em_folder_tree_get_type ()) #define EM_FOLDER_TREE(obj) \ (G_TYPE_CHECK_INSTANCE_CAST \ ((obj), EM_TYPE_FOLDER_TREE, EMFolderTree)) #define EM_FOLDER_TREE_CLASS(cls) \ (G_TYPE_CHECK_CLASS_CAST \ ((cls), EM_TYPE_FOLDER_TREE, EMFolderTreeClass)) #define EM_IS_FOLDER_TREE(obj) \ (G_TYPE_CHECK_INSTANCE_TYPE \ ((obj), EM_TYPE_FOLDER_TREE)) #define EM_IS_FOLDER_TREE_CLASS(cls) \ (G_TYPE_CHECK_CLASS_TYPE \ ((cls), EM_TYPE_FOLDER_TREE)) #define EM_FOLDER_TREE_GET_CLASS(obj) \ (G_TYPE_INSTANCE_GET_CLASS \ ((obj), EM_TYPE_FOLDER_TREE, EMFolderTreeClass)) G_BEGIN_DECLS typedef struct _EMFolderTree EMFolderTree; typedef struct _EMFolderTreeClass EMFolderTreeClass; typedef struct _EMFolderTreePrivate EMFolderTreePrivate; #define STATE_KEY_EXPANDED "Expanded" /* XXX Not sure this api is the best, but its the easiest * to implement and will cover what we need. */ #define EMFT_EXCLUDE_NOSELECT CAMEL_FOLDER_NOSELECT #define EMFT_EXCLUDE_NOINFERIORS CAMEL_FOLDER_NOINFERIORS #define EMFT_EXCLUDE_VIRTUAL CAMEL_FOLDER_VIRTUAL #define EMFT_EXCLUDE_SYSTEM CAMEL_FOLDER_SYSTEM #define EMFT_EXCLUDE_VTRASH CAMEL_FOLDER_VTRASH typedef gboolean (*EMFTExcludeFunc) (EMFolderTree *folder_tree, GtkTreeModel *model, GtkTreeIter *iter, gpointer user_data); struct _EMFolderTree { GtkTreeView parent; EMFolderTreePrivate *priv; }; struct _EMFolderTreeClass { GtkTreeViewClass parent_class; /* signals */ void (*folder_activated) (EMFolderTree *folder_tree, const gchar *full_name, const gchar *uri); void (*folder_selected) (EMFolderTree *folder_tree, const gchar *full_name, const gchar *uri, guint32 flags); void (*popup_event) (EMFolderTree *folder_tree); void (*hidden_key_event) (EMFolderTree *emft, GdkEvent *event); }; GType em_folder_tree_get_type (void); GtkWidget * em_folder_tree_new (void); void em_folder_tree_enable_drag_and_drop (EMFolderTree *folder_tree); void em_folder_tree_set_excluded (EMFolderTree *folder_tree, guint32 flags); void em_folder_tree_set_excluded_func (EMFolderTree *folder_tree, EMFTExcludeFunc exclude, gpointer data); void em_folder_tree_set_selected_list (EMFolderTree *folder_tree, GList *list, gboolean expand_only); GList * em_folder_tree_get_selected_uris (EMFolderTree *folder_tree); GList * em_folder_tree_get_selected_paths (EMFolderTree *folder_tree); void em_folder_tree_set_selected (EMFolderTree *folder_tree, const gchar *uri, gboolean expand_only); void em_folder_tree_select_next_path (EMFolderTree *folder_tree, gboolean skip_read_folders); void em_folder_tree_select_prev_path (EMFolderTree *folder_tree, gboolean skip_read_folders); void em_folder_tree_edit_selected (EMFolderTree *folder_tree); gchar * em_folder_tree_get_selected_uri (EMFolderTree *folder_tree); gchar * em_folder_tree_get_selected_path (EMFolderTree *folder_tree); CamelFolder * em_folder_tree_get_selected_folder (EMFolderTree *folder_tree); CamelFolderInfo * em_folder_tree_get_selected_folder_info (EMFolderTree *folder_tree); gboolean em_folder_tree_create_folder (EMFolderTree *folder_tree, const gchar *full_name, const gchar *uri); void em_folder_tree_set_skip_double_click (EMFolderTree *folder_tree, gboolean skip); void em_folder_tree_restore_state (EMFolderTree *folder_tree, GKeyFile *key_file); void em_folder_tree_set_selectable_widget (EMFolderTree *folder_tree, GtkWidget *selectable); G_END_DECLS #endif /* EM_FOLDER_TREE_H */ '>branches/2020Q2</option> <option value='branches/2020Q3'>branches/2020Q3</option> <option value='branches/2020Q4'>branches/2020Q4</option> <option value='branches/2021Q1'>branches/2021Q1</option> <option value='branches/RELEASE_8_4_0'>branches/RELEASE_8_4_0</option> <option value='branches/RELENG_2_1_0'>branches/RELENG_2_1_0</option> <option value='branches/RELENG_2_2'>branches/RELENG_2_2</option> <option value='branches/RELENG_9_1_0'>branches/RELENG_9_1_0</option> <option value='branches/RELENG_9_2_0'>branches/RELENG_9_2_0</option> <option value='dependabot/npm_and_yarn/devel/electron4/files/eslint-utils-1.4.3'>dependabot/npm_and_yarn/devel/electron4/files/eslint-utils-1.4.3</option> <option value='dependabot/npm_and_yarn/devel/electron4/files/lodash-4.17.15'>dependabot/npm_and_yarn/devel/electron4/files/lodash-4.17.15</option> <option value='dependabot/npm_and_yarn/devel/electron4/files/lodash.merge-4.6.2'>dependabot/npm_and_yarn/devel/electron4/files/lodash.merge-4.6.2</option> <option value='dependabot/npm_and_yarn/devel/electron4/files/lodash.template-4.5.0'>dependabot/npm_and_yarn/devel/electron4/files/lodash.template-4.5.0</option> <option value='dependabot/npm_and_yarn/devel/electron4/files/minimist-1.2.2'>dependabot/npm_and_yarn/devel/electron4/files/minimist-1.2.2</option> <option value='dependabot/npm_and_yarn/devel/electron4/files/mixin-deep-1.3.2'>dependabot/npm_and_yarn/devel/electron4/files/mixin-deep-1.3.2</option> <option value='main' selected='selected'>main</option> <option value='master'>master</option> <option value='svn_head'>svn_head</option> </select> <input type='submit' value='switch'/></form></td></tr> <tr><td class='sub'>FreeBSD Ports (https://github.com/freebsd/freebsd-ports)</td><td class='sub right'></td></tr></table> <table class='tabs'><tr><td> <a href='/~lantw44/cgit/cgit.cgi/freebsd-ports/about/'>about</a><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports/'>summary</a><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports/refs/?id=7a184841104c44983d74c45e0484b7a27fd8b5d5'>refs</a><a class='active' href='/~lantw44/cgit/cgit.cgi/freebsd-ports/log/editors/libreoffice-kk'>log</a><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports/tree/editors/libreoffice-kk?id=7a184841104c44983d74c45e0484b7a27fd8b5d5'>tree</a><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports/commit/editors/libreoffice-kk?id=7a184841104c44983d74c45e0484b7a27fd8b5d5'>commit</a><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports/diff/editors/libreoffice-kk?id=7a184841104c44983d74c45e0484b7a27fd8b5d5'>diff</a><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports/stats/editors/libreoffice-kk'>stats</a></td><td class='form'><form class='right' method='get' action='/~lantw44/cgit/cgit.cgi/freebsd-ports/log/editors/libreoffice-kk'> <input type='hidden' name='id' value='7a184841104c44983d74c45e0484b7a27fd8b5d5'/><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/log/?id=7a184841104c44983d74c45e0484b7a27fd8b5d5'>root</a>/<a href='/~lantw44/cgit/cgit.cgi/freebsd-ports/log/editors?id=7a184841104c44983d74c45e0484b7a27fd8b5d5'>editors</a>/<a href='/~lantw44/cgit/cgit.cgi/freebsd-ports/log/editors/libreoffice-kk?id=7a184841104c44983d74c45e0484b7a27fd8b5d5'>libreoffice-kk</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/log/editors/libreoffice-kk?id=7a184841104c44983d74c45e0484b7a27fd8b5d5&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/commit/editors/libreoffice-kk?id=1fc4b7db57ed8620821a80c6041faced6146d19f'>editors/libreoffice: update to 7.4.0 release (+)</a></td><td>Dima Panov</td><td><span title='2022-08-18 20:25:31 +0800'>2022-08-18</span></td><td>1</td><td><span class='deletions'>-3</span>/<span class='insertions'>+3</span></td></tr> <tr><td class='commitgraph'>* </td><td><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports/commit/editors/libreoffice-kk?id=d31904329b2ded753a718cac418dfab1e766fb2d'>editors/libreoffice: update to 7.3.5 release (+)</a></td><td>Dima Panov</td><td><span title='2022-07-24 05:53:32 +0800'>2022-07-24</span></td><td>1</td><td><span class='deletions'>-3</span>/<span class='insertions'>+3</span></td></tr> <tr><td class='commitgraph'>* </td><td><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports/commit/editors/libreoffice-kk?id=4821e83c2e5b16a156aa92900ee5ddbea6bef24f'>*/libreoffice*: update to 7.3.4 release (+)</a></td><td>Dima Panov</td><td><span title='2022-06-10 05:36:21 +0800'>2022-06-10</span></td><td>1</td><td><span class='deletions'>-3</span>/<span class='insertions'>+3</span></td></tr> <tr><td class='commitgraph'>* </td><td><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports/commit/editors/libreoffice-kk?id=b305ea3361859bddd115ea9748fb89fbc85f20a8'>editors/libreoffice: update to 7.3.3 release (+)</a></td><td>Dima Panov</td><td><span title='2022-05-07 19:27:17 +0800'>2022-05-07</span></td><td>1</td><td><span class='deletions'>-3</span>/<span class='insertions'>+3</span></td></tr> <tr><td class='commitgraph'>* </td><td><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports/commit/editors/libreoffice-kk?id=8cee3a0fa6b7dc5405c48abf188e2bc0774e0abf'>*/libreoffice*: update to 7.3.2 release (+)</a></td><td>Dima Panov</td><td><span title='2022-04-01 01:49:20 +0800'>2022-04-01</span></td><td>1</td><td><span class='deletions'>-3</span>/<span class='insertions'>+3</span></td></tr> <tr><td class='commitgraph'>* </td><td><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports/commit/editors/libreoffice-kk?id=07ca0beba339b3972452ca663115007e45c4e3ed'>LibreOffice 7.3.1 Community, the first minor release of the LibreOffice 7.3 f...</a></td><td>Dima Panov</td><td><span title='2022-03-05 13:49:48 +0800'>2022-03-05</span></td><td>1</td><td><span class='deletions'>-3</span>/<span class='insertions'>+3</span></td></tr> <tr><td class='commitgraph'>* </td><td><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports/commit/editors/libreoffice-kk?id=33a790e8a22a2ec08a49e135b40a11e1ca29cbf2'>Please welcome new generation release of LibreOffice suite - 7.3.0! (+)</a></td><td>Dima Panov</td><td><span title='2022-02-17 07:02:03 +0800'>2022-02-17</span></td><td>1</td><td><span class='deletions'>-3</span>/<span class='insertions'>+3</span></td></tr> <tr><td class='commitgraph'>* </td><td><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports/commit/editors/libreoffice-kk?id=97dcd5109929e7de1da3be782a8658bf771902f9'>Please welcome LibreOffice suite 7.2.5 release! (+)</a></td><td>Dima Panov</td><td><span title='2022-01-06 21:07:48 +0800'>2022-01-06</span></td><td>1</td><td><span class='deletions'>-3</span>/<span class='insertions'>+3</span></td></tr> <tr><td class='commitgraph'>* </td><td><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports/commit/editors/libreoffice-kk?id=aad581d3bf8997bf849108333650efa2af3b877e'>LibreOffice 7.2.4 Community release available ahead of schedule to provide an...</a></td><td>Dima Panov</td><td><span title='2021-12-10 17:29:08 +0800'>2021-12-10</span></td><td>1</td><td><span class='deletions'>-3</span>/<span class='insertions'>+3</span></td></tr>