/* * e-shell-window-private.h * * 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/> * * * Copyright (C) 1999-2008 Novell, Inc. (www.novell.com) * */ #ifndef E_SHELL_WINDOW_PRIVATE_H #define E_SHELL_WINDOW_PRIVATE_H #include "e-shell-window.h" #include <string.h> #include <glib/gi18n.h> #include <e-util/e-util.h> #include <e-util/e-binding.h> #include <e-util/e-plugin-ui.h> #include <e-util/gconf-bridge.h> #include <widgets/misc/e-menu-tool-button.h> #include <widgets/misc/e-online-button.h> #include <e-shell.h> #include <e-shell-content.h> #include <e-shell-view.h> #include <e-shell-switcher.h> #include <e-shell-window-actions.h> #define E_SHELL_WINDOW_GET_PRIVATE(obj) \ (G_TYPE_INSTANCE_GET_PRIVATE \ ((obj), E_TYPE_SHELL_WINDOW, EShellWindowPrivate)) /* Shorthand, requires a variable named "shell_window". */ #define ACTION(name) \ (E_SHELL_WINDOW_ACTION_##name (shell_window)) #define ACTION_GROUP(name) \ (E_SHELL_WINDOW_ACTION_GROUP_##name (shell_window)) /* For use in dispose() methods. */ #define DISPOSE(obj) \ G_STMT_START { \ if ((obj) != NULL) { g_object_unref (obj); (obj) = NULL; } \ } G_STMT_END /* Format for switcher action names. * The last part is the shell view name. * (e.g. switch-to-mail, switch-to-calendar) */ #define SWITCHER_FORMAT "switch-to-%s" G_BEGIN_DECLS struct _EShellWindowPrivate { gpointer shell; /* weak pointer */ /*** UI Management ***/ GtkUIManager *ui_manager; guint custom_rule_merge_id; guint gal_view_merge_id; /*** Shell Views ***/ GHashTable *loaded_views; const gchar *active_view; /*** Widgetry ***/ GtkWidget *main_menu; GtkWidget *main_toolbar; GtkWidget *menu_tool_button; GtkWidget *content_pane; GtkWidget *content_notebook; GtkWidget *sidebar_notebook; GtkWidget *switcher; GtkWidget *status_area; GtkWidget *online_button; GtkWidget *tooltip_label; GtkWidget *status_notebook; /* Miscellaneous */ /* Shell signal handlers. */ GArray *signal_handler_ids; guint destroyed : 1; /* XXX Do we still need this? */ guint safe_mode : 1; }; void e_shell_window_private_init (EShellWindow *shell_window); void e_shell_window_private_constructed (EShellWindow *shell_window); void e_shell_window_private_dispose (EShellWindow *shell_window); void e_shell_window_private_finalize (EShellWindow *shell_window); /* Private Utilities */ void e_shell_window_actions_init (EShellWindow *shell_window); void e_shell_window_switch_to_view (EShellWindow *shell_window, const gchar *view_name); GtkWidget * e_shell_window_create_new_menu (EShellWindow *shell_window); void e_shell_window_create_switcher_actions (EShellWindow *shell_window); void e_shell_window_update_gal_view (EShellWindow *shell_window); void e_shell_window_update_icon (EShellWindow *shell_window); void e_shell_window_update_title (EShellWindow *shell_window); void e_shell_window_update_new_menu (EShellWindow *shell_window); void e_shell_window_update_view_menu (EShellWindow *shell_window); void e_shell_window_update_search_menu (EShellWindow *shell_window); G_END_DECLS #endif /* E_SHELL_WINDOW_PRIVATE_H */ 6bc51de36fd2dd2c58520c7f4'>plain</a>) (<a href='/~lantw44/cgit/gsoc2013-evolution/tree/libical/README?h=BALSA_2_2_1&id=621d5972f4c85456bc51de36fd2dd2c58520c7f4'>tree</a>) <table class='blame blob'> <tr> <td class='hashes'><div class='alt'><pre><span class='sha1'><a title='author Eric Busboom <ericb@src.gnome.org> 2000-05-15 14:18:21 +0800 committer Eric Busboom <ericb@src.gnome.org> 2000-05-15 14:18:21 +0800 reparing damage from removing files' href='/~lantw44/cgit/gsoc2013-evolution/commit/libical/README?h=BALSA_2_2_1&id=d6b0035a325d060d7f175705c33b0a2d7b60e533'>d6b0035a32</a></span> </pre></div><div class='alt'><pre><span class='sha1'><a title='author JP Rosevear <jpr@src.gnome.org> 2000-08-25 04:12:06 +0800 committer JP Rosevear <jpr@src.gnome.org> 2000-08-25 04:12:06 +0800 Fix minor conflicts.' href='/~lantw44/cgit/gsoc2013-evolution/commit/libical/README?h=BALSA_2_2_1&id=73a6d43a66a828b09e2c1b5a483405e6e0b5fa6a'>73a6d43a66</a></span> </pre></div><div class='alt'><pre><span class='sha1'><a title='author Hans Petter <hansp@src.gnome.org> 2003-09-12 06:04:44 +0800 committer Hans Petter <hansp@src.gnome.org> 2003-09-12 06:04:44 +0800 Import new libical from mainline HEAD and make appropriate changes to' href='/~lantw44/cgit/gsoc2013-evolution/commit/libical/README?h=BALSA_2_2_1&id=697761cc337aa77a47140c8df50ed84bc25e23f6'>697761cc33</a></span> </pre></div><div class='alt'><pre><span class='sha1'><a title='author Eric Busboom <ericb@src.gnome.org> 2000-05-15 14:18:21 +0800 committer Eric Busboom <ericb@src.gnome.org> 2000-05-15 14:18:21 +0800 reparing damage from removing files' href='/~lantw44/cgit/gsoc2013-evolution/commit/libical/README?h=BALSA_2_2_1&id=d6b0035a325d060d7f175705c33b0a2d7b60e533'>d6b0035a32</a></span> </pre></div><div class='alt'><pre><span class='sha1'><a title='author JP Rosevear <jpr@src.gnome.org> 2000-08-25 04:12:06 +0800 committer JP Rosevear <jpr@src.gnome.org> 2000-08-25 04:12:06 +0800 Fix minor conflicts.' href='/~lantw44/cgit/gsoc2013-evolution/commit/libical/README?h=BALSA_2_2_1&id=73a6d43a66a828b09e2c1b5a483405e6e0b5fa6a'>73a6d43a66</a></span> </pre></div><div class='alt'><pre><span class='sha1'><a title='author Eric Busboom <ericb@src.gnome.org> 2000-05-15 14:18:21 +0800 committer Eric Busboom <ericb@src.gnome.org> 2000-05-15 14:18:21 +0800 reparing damage from removing files' href='/~lantw44/cgit/gsoc2013-evolution/commit/libical/README?h=BALSA_2_2_1&id=d6b0035a325d060d7f175705c33b0a2d7b60e533'>d6b0035a32</a></span> </pre></div><div class='alt'><pre><span class='sha1'><a title='author Hans Petter <hansp@src.gnome.org> 2003-09-12 06:04:44 +0800 committer Hans Petter <hansp@src.gnome.org> 2003-09-12 06:04:44 +0800 Import new libical from mainline HEAD and make appropriate changes to' href='/~lantw44/cgit/gsoc2013-evolution/commit/libical/README?h=BALSA_2_2_1&id=697761cc337aa77a47140c8df50ed84bc25e23f6'>697761cc33</a></span> </pre></div><div class='alt'><pre><span class='sha1'><a title='author Eric Busboom <ericb@src.gnome.org> 2000-05-15 14:18:21 +0800 committer Eric Busboom <ericb@src.gnome.org> 2000-05-15 14:18:21 +0800 reparing damage from removing files' href='/~lantw44/cgit/gsoc2013-evolution/commit/libical/README?h=BALSA_2_2_1&id=d6b0035a325d060d7f175705c33b0a2d7b60e533'>d6b0035a32</a></span> </pre></div><div class='alt'><pre><span class='sha1'><a title='author Hans Petter <hansp@src.gnome.org> 2003-09-12 06:04:44 +0800 committer Hans Petter <hansp@src.gnome.org> 2003-09-12 06:04:44 +0800 Import new libical from mainline HEAD and make appropriate changes to' href='/~lantw44/cgit/gsoc2013-evolution/commit/libical/README?h=BALSA_2_2_1&id=697761cc337aa77a47140c8df50ed84bc25e23f6'>697761cc33</a></span> </pre></div><div class='alt'><pre><span class='sha1'><a title='author Eric Busboom <ericb@src.gnome.org> 2000-05-15 14:18:21 +0800 committer Eric Busboom <ericb@src.gnome.org> 2000-05-15 14:18:21 +0800 reparing damage from removing files' href='/~lantw44/cgit/gsoc2013-evolution/commit/libical/README?h=BALSA_2_2_1&id=d6b0035a325d060d7f175705c33b0a2d7b60e533'>d6b0035a32</a></span> </pre></div><div class='alt'><pre><span class='sha1'><a title='author Federico Mena Quintero <federico@src.gnome.org> 2000-12-12 07:01:26 +0800 committer Federico Mena Quintero <federico@src.gnome.org> 2000-12-12 07:01:26 +0800 Fix fucking CVS conflicts because fucking CVS is a fucking big doofus - Federico' href='/~lantw44/cgit/gsoc2013-evolution/commit/libical/README?h=BALSA_2_2_1&id=26eee7328031f78b063ab71265ef4fddc8619c72'>26eee73280</a></span> </pre></div><div class='alt'><pre><span class='sha1'><a title='author Hans Petter <hansp@src.gnome.org> 2003-09-12 06:04:44 +0800 committer Hans Petter <hansp@src.gnome.org> 2003-09-12 06:04:44 +0800 Import new libical from mainline HEAD and make appropriate changes to' href='/~lantw44/cgit/gsoc2013-evolution/commit/libical/README?h=BALSA_2_2_1&id=697761cc337aa77a47140c8df50ed84bc25e23f6'>697761cc33</a></span> </pre></div><div class='alt'><pre><span class='sha1'><a title='author Eric Busboom <ericb@src.gnome.org> 2000-05-15 14:18:21 +0800 committer Eric Busboom <ericb@src.gnome.org> 2000-05-15 14:18:21 +0800 reparing damage from removing files' href='/~lantw44/cgit/gsoc2013-evolution/commit/libical/README?h=BALSA_2_2_1&id=d6b0035a325d060d7f175705c33b0a2d7b60e533'>d6b0035a32</a></span> </pre></div><div class='alt'><pre><span class='sha1'><a title='author Federico Mena Quintero <federico@src.gnome.org> 2000-12-12 07:01:26 +0800 committer Federico Mena Quintero <federico@src.gnome.org> 2000-12-12 07:01:26 +0800 Fix fucking CVS conflicts because fucking CVS is a fucking big doofus - Federico' href='/~lantw44/cgit/gsoc2013-evolution/commit/libical/README?h=BALSA_2_2_1&id=26eee7328031f78b063ab71265ef4fddc8619c72'>26eee73280</a></span> </pre></div><div class='alt'><pre><span class='sha1'><a title='author Hans Petter <hansp@src.gnome.org> 2003-09-12 06:04:44 +0800 committer Hans Petter <hansp@src.gnome.org> 2003-09-12 06:04:44 +0800 Import new libical from mainline HEAD and make appropriate changes to' href='/~lantw44/cgit/gsoc2013-evolution/commit/libical/README?h=BALSA_2_2_1&id=697761cc337aa77a47140c8df50ed84bc25e23f6'>697761cc33</a></span> </pre></div><div class='alt'><pre><span class='sha1'><a title='author Eric Busboom <ericb@src.gnome.org> 2000-05-15 14:18:21 +0800 committer Eric Busboom <ericb@src.gnome.org> 2000-05-15 14:18:21 +0800 reparing damage from removing files' href='/~lantw44/cgit/gsoc2013-evolution/commit/libical/README?h=BALSA_2_2_1&id=d6b0035a325d060d7f175705c33b0a2d7b60e533'>d6b0035a32</a></span> </pre></div><div class='alt'><pre><span class='sha1'><a title='author Eric Busboom <ericb@src.gnome.org> 2000-05-15 14:18:21 +0800 committer Eric Busboom <ericb@src.gnome.org> 2000-05-15 14:18:21 +0800 reparing damage from removing files' href='/~lantw44/cgit/gsoc2013-evolution/commit/libical/README?h=BALSA_2_2_1&id=d6b0035a325d060d7f175705c33b0a2d7b60e533'>d6b0035a32</a></span> </pre></div><div class='alt'><pre><span class='sha1'><a title='author Eric Busboom <ericb@src.gnome.org> 2000-05-15 14:18:21 +0800 committer Eric Busboom <ericb@src.gnome.org> 2000-05-15 14:18:21 +0800 reparing damage from removing files' href='/~lantw44/cgit/gsoc2013-evolution/commit/libical/README?h=BALSA_2_2_1&id=d6b0035a325d060d7f175705c33b0a2d7b60e533'>d6b0035a32</a></span> </pre></div></td> <td class='linenumbers'><div class='alt'><pre><a id='n1' href='#n1'>1</a> <a id='n2' href='#n2'>2</a> <a id='n3' href='#n3'>3</a> <a id='n4' href='#n4'>4</a> <a id='n5' href='#n5'>5</a> <a id='n6' href='#n6'>6</a> <a id='n7' href='#n7'>7</a> <a id='n8' href='#n8'>8</a> <a id='n9' href='#n9'>9</a> <a id='n10' href='#n10'>10</a> <a id='n11' href='#n11'>11</a> <a id='n12' href='#n12'>12</a> <a id='n13' href='#n13'>13</a> <a id='n14' href='#n14'>14</a> <a id='n15' href='#n15'>15</a> </pre></div><div class='alt'><pre><a id='n16' href='#n16'>16</a> <a id='n17' href='#n17'>17</a> <a id='n18' href='#n18'>18</a> <a id='n19' href='#n19'>19</a> <a id='n20' href='#n20'>20</a> </pre></div><div class='alt'><pre><a id='n21' href='#n21'>21</a> <a id='n22' href='#n22'>22</a> <a id='n23' href='#n23'>23</a> <a id='n24' href='#n24'>24</a> </pre></div><div class='alt'><pre><a id='n25' href='#n25'>25</a> <a id='n26' href='#n26'>26</a> <a id='n27' href='#n27'>27</a> <a id='n28' href='#n28'>28</a> <a id='n29' href='#n29'>29</a> <a id='n30' href='#n30'>30</a> <a id='n31' href='#n31'>31</a> <a id='n32' href='#n32'>32</a> <a id='n33' href='#n33'>33</a> <a id='n34' href='#n34'>34</a> <a id='n35' href='#n35'>35</a> <a id='n36' href='#n36'>36</a> <a id='n37' href='#n37'>37</a> <a id='n38' href='#n38'>38</a> <a id='n39' href='#n39'>39</a> <a id='n40' href='#n40'>40</a> <a id='n41' href='#n41'>41</a> <a id='n42' href='#n42'>42</a> <a id='n43' href='#n43'>43</a> </pre></div><div class='alt'><pre><a id='n44' href='#n44'>44</a> <a id='n45' href='#n45'>45</a> </pre></div><div class='alt'><pre><a id='n46' href='#n46'>46</a> </pre></div><div class='alt'><pre><a id='n47' href='#n47'>47</a> <a id='n48' href='#n48'>48</a> </pre></div><div class='alt'><pre><a id='n49' href='#n49'>49</a> <a id='n50' href='#n50'>50</a> <a id='n51' href='#n51'>51</a> </pre></div><div class='alt'><pre><a id='n52' href='#n52'>52</a> <a id='n53' href='#n53'>53</a> <a id='n54' href='#n54'>54</a> </pre></div><div class='alt'><pre><a id='n55' href='#n55'>55</a> <a id='n56' href='#n56'>56</a> <a id='n57' href='#n57'>57</a> <a id='n58' href='#n58'>58</a> <a id='n59' href='#n59'>59</a> <a id='n60' href='#n60'>60</a> </pre></div><div class='alt'><pre><a id='n61' href='#n61'>61</a> <a id='n62' href='#n62'>62</a> <a id='n63' href='#n63'>63</a> <a id='n64' href='#n64'>64</a> <a id='n65' href='#n65'>65</a> <a id='n66' href='#n66'>66</a> </pre></div><div class='alt'><pre><a id='n67' href='#n67'>67</a> <a id='n68' href='#n68'>68</a> <a id='n69' href='#n69'>69</a> <a id='n70' href='#n70'>70</a> <a id='n71' href='#n71'>71</a> </pre></div><div class='alt'><pre><a id='n72' href='#n72'>72</a> <a id='n73' href='#n73'>73</a> <a id='n74' href='#n74'>74</a> <a id='n75' href='#n75'>75</a> <a id='n76' href='#n76'>76</a> <a id='n77' href='#n77'>77</a> <a id='n78' href='#n78'>78</a> <a id='n79' href='#n79'>79</a> <a id='n80' href='#n80'>80</a> <a id='n81' href='#n81'>81</a> <a id='n82' href='#n82'>82</a> <a id='n83' href='#n83'>83</a> <a id='n84' href='#n84'>84</a> <a id='n85' href='#n85'>85</a> <a id='n86' href='#n86'>86</a> <a id='n87' href='#n87'>87</a> <a id='n88' href='#n88'>88</a> <a id='n89' href='#n89'>89</a> <a id='n90' href='#n90'>90</a> <a id='n91' href='#n91'>91</a> <a id='n92' href='#n92'>92</a> </pre></div><div class='alt'><pre><a id='n93' href='#n93'>93</a> <a id='n94' href='#n94'>94</a> <a id='n95' href='#n95'>95</a> <a id='n96' href='#n96'>96</a> </pre></div><div class='alt'><pre><a id='n97' href='#n97'>97</a> </pre></div><div class='alt'><pre><a id='n98' href='#n98'>98</a> </pre></div><div class='alt'><pre><a id='n99' href='#n99'>99</a> </pre></div><div class='alt'><pre><a id='n100' href='#n100'>100</a> <a id='n101' href='#n101'>101</a> <a id='n102' href='#n102'>102</a> </pre></div></td> <td class='lines'><div><div><div class='alt'><pre> </pre></div><div class='alt'><pre> </pre></div><div class='alt'><pre> </pre></div><div class='alt'><pre> </pre></div><div class='alt'><pre> </pre></div><div class='alt'><pre> </pre></div><div class='alt'><pre> </pre></div><div class='alt'><pre> </pre></div><div class='alt'><pre> </pre></div><div class='alt'><pre> </pre></div><div class='alt'><pre> </pre></div><div class='alt'><pre> </pre></div><div class='alt'><pre> </pre></div><div class='alt'><pre> </pre></div><div class='alt'><pre> </pre></div><div class='alt'><pre> </pre></div><div class='alt'><pre> </pre></div><div class='alt'><pre> </pre></div></div><pre><code> LIBICAL -- An implementation of basic iCAL protocols The code and datafiles in this distribution are licensed under the Mozilla Public License. See http://www.mozilla.org/NPL/MPL-1.0.html for a copy of the license. Alternately, you may use libical under the terms of the GNU Library General Public License. See http://www.fsf.org/copyleft/lesser.html for a copy of the LGPL. This dual license ensures that the library can be incorporated into both proprietary code and GPL'd programs, and will benefit from improvements made by programmers in both realms. I will only accept changes into my version of the library if they are similarly dual-licensed. Portions of this distribution are (C) Copyright 1996 Apple Computer, Inc., AT&T Corp., International Business Machines Corporation and Siemens Rolm Communications Inc. See src/libicalvcal/README.TXT for details. Portions of this distribution are Copyright (c) 1997 Theo de Raadt. See the header for src/libical/vsnprintf.c for the full copyright statement. This code is under active development. If you would like to contribute to the project, you can contact me, Eric Busboom, at eric@softwarestudio.org. The project has a webpage at http://softwarestudio.org/libical/index.html and a mailing list that you can join by sending the following mail: ------------ To: minimalist@softwarestudio.org Subject: subscribe libical ------------ Building the library -------------------- This distribution is developed on Red Hat Linux 6.0 and usually compiles on SunOS 5.6 and FreeBSD 2.27. I have reports of success of previous version on MacOS ( with CodeWarrior ) and on UnixWare, but I don't know about any other systems. The library is configured with automake. IF YOU ARE BUILDING THE SOURCE FROM A TARBALL, From the root directory, run ./configure To build all of the Makefiles for your system. If you will be installing the library, you may want to use the --prefix flag to set the directory where the library and header files will be installed. ./configure --prefix=/proj/local/ If configure runs fine, run "make" to build the library and "make install" to install it. Although the distribution uses libtool to generate libraries, it has shared libraries turned off by default. To create and install shared libraries use: ./configure --enable-shared IF YOU ARE BUILDING FROM CVS, there will be no configure file until you create one with autogen.sh. YOu can pass configure parameters to autogen.sh on the command line. The current version of libical focuses on creating and manipulating iCal objects. With it, you can parse text representations of iCal components, add and remove sub-components, properties, parameters and values, and print the components back out as strings. Notes for Libical Developers ------------------- If you don't want to use gcc as the compiler, and you got the sources from CVS, you should set the CC variable to the path to the compiler and run "automake --include-deps" to keep automake from using gcc-specific automatic dependancy tracking. > CC=/pkg/SUNWspro/bin/cc; export CC > automake --include-deps > ./configure --prefix=/proj/local/ > make You will not need to re-run automake unless you got the sources from CVS. Using the Library ----------------- There is rudimentary, unfinished documentation in the /doc directory, and annotated examples in /examples and the test code in src/test. Eric Busboom eric@softwarestudio.org