aboutsummaryrefslogtreecommitdiffstats
path: root/shell/main.c
diff options
context:
space:
mode:
Diffstat (limited to 'shell/main.c')
-rw-r--r--shell/main.c52
1 files changed, 43 insertions, 9 deletions
diff --git a/shell/main.c b/shell/main.c
index 76375375dd..97a5987049 100644
--- a/shell/main.c
+++ b/shell/main.c
@@ -13,47 +13,81 @@
#include <e-util/e-cursors.h>
#include <glade/glade.h>
#include <glade/glade-xml.h>
+#include "e-shell.h"
+#include "e-shell-view.h"
int shell_debugging = 0;
poptContext ctx;
+EShell *eshell;
+
const struct poptOption shell_popt_options [] = {
{ "debug", '\0', POPT_ARG_INT, &shell_debugging, 0,
N_("Enables some debugging functions"), N_("LEVEL") },
{ NULL, '\0', 0, NULL, 0 }
};
-int
-main (int argc, char *argv [])
+static void
+corba_init (int *argc, char *argv [])
{
CORBA_Environment ev;
- bindtextdomain (PACKAGE, EVOLUTION_LOCALEDIR);
- textdomain (PACKAGE);
-
CORBA_exception_init (&ev);
gnome_CORBA_init_with_popt_table (
- "Evolution", VERSION, &argc, argv,
+ "Evolution", VERSION, argc, argv,
shell_popt_options, 0, &ctx, GNORBA_INIT_SERVER_FUNC, &ev);
CORBA_exception_free (&ev);
if (bonobo_init (gnome_CORBA_ORB (), NULL, NULL) == FALSE){
e_notice (NULL, GNOME_MESSAGE_BOX_ERROR,
_("Failed to initialize the Bonobo component system"));
- return 0;
+ exit (1);
}
+}
+static void
+gui_init (void)
+{
e_cursors_init ();
glade_gnome_init ();
bonobo_activate ();
+}
- gtk_main ();
-
+static void
+gui_shutdown (void)
+{
/* shutdown */
e_cursors_shutdown ();
+}
+
+static void
+evolution_boot (void)
+{
+ EShellView *e_shell_view;
+
+ eshell = e_shell_new ();
+ e_shell_view = E_SHELL_VIEW (e_shell_view_new (eshell));
+
+ gtk_widget_show (GTK_WIDGET (e_shell_view));
+}
+
+int
+main (int argc, char *argv [])
+{
+ bindtextdomain (PACKAGE, EVOLUTION_LOCALEDIR);
+ textdomain (PACKAGE);
+
+ corba_init (&argc, argv);
+ gui_init ();
+
+ evolution_boot ();
+
+ gtk_main ();
+
+ gui_shutdown ();
return 0;
}