*/
#include <modest-widget-memory.h>
+#include <modest-icon-factory.h>
#include "modest-main-window.h"
#include "modest-account-view-window.h"
#include "modest-edit-msg-window.h"
+#include "modest-icon-names.h"
+
/* 'private'/'protected' functions */
static void modest_main_window_class_init (ModestMainWindowClass *klass);
ModestWidgetFactory *widget_factory;
ModestConf *conf;
+ ModestAccountMgr *account_mgr;
ModestHeaderView *header_view;
ModestFolderView *folder_view;
sizeof(ModestMainWindow),
1, /* n_preallocs */
(GInstanceInitFunc) modest_main_window_init,
+ NULL
};
my_type = g_type_register_static (GTK_TYPE_WINDOW,
"ModestMainWindow",
priv = MODEST_MAIN_WINDOW_GET_PRIVATE(obj);
priv->widget_factory = NULL;
+ priv->conf = NULL;
+ priv->account_mgr = NULL;
}
static void
g_object_unref (G_OBJECT(priv->widget_factory));
priv->widget_factory = NULL;
}
- if (priv->conf) {
+ if (priv->conf) {
g_object_unref (G_OBJECT(priv->conf));
priv->conf = NULL;
}
+
+ if (priv->account_mgr) {
+ g_object_unref (G_OBJECT(priv->account_mgr));
+ priv->account_mgr = NULL;
+ }
+
G_OBJECT_CLASS(parent_class)->finalize (obj);
}
on_menu_about (GtkWidget *widget, gpointer data)
{
GtkWidget *about;
-
+ const gchar *authors[] = {
+ "Dirk-Jan C. Binnema <dirk-jan.binnema@nokia.com>",
+ NULL
+ };
about = gtk_about_dialog_new ();
gtk_about_dialog_set_name (GTK_ABOUT_DIALOG(about), PACKAGE_NAME);
gtk_about_dialog_set_version (GTK_ABOUT_DIALOG(about),PACKAGE_VERSION);
_("Copyright (c) 2006, Nokia Corporation\n"
"All rights reserved."));
gtk_about_dialog_set_comments ( GTK_ABOUT_DIALOG(about),
- _("a modest e-mail client"));
+ _("a modest e-mail client\n\n"
+ "design and implementation: Dirk-Jan C. Binnema\n"
+ "contributions from the fine people at KernelConcepts\n\n"
+ "uses the tinymail email framework written by Philip van Hoof"));
+ gtk_about_dialog_set_authors (GTK_ABOUT_DIALOG(about), authors);
+ gtk_about_dialog_set_website (GTK_ABOUT_DIALOG(about), "http://modest.garage.maemo.org");
+
gtk_dialog_run (GTK_DIALOG (about));
gtk_widget_destroy(about);
}
g_return_if_fail (self);
priv = MODEST_MAIN_WINDOW_GET_PRIVATE(self);
- account_win = modest_account_view_window_new (priv->conf,
+ account_win = modest_account_view_window_new (priv->account_mgr,
priv->widget_factory);
gtk_window_set_transient_for (GTK_WINDOW(account_win),
GtkWidget *msg_win;
ModestMainWindowPrivate *priv;
-
priv = MODEST_MAIN_WINDOW_GET_PRIVATE(self);
msg_win = modest_edit_msg_window_new (priv->conf,
ModestHeaderViewColumn cols[] = {
MODEST_HEADER_VIEW_COLUMN_MSGTYPE,
MODEST_HEADER_VIEW_COLUMN_ATTACH,
- MODEST_HEADER_VIEW_COLUMN_FROM,
- MODEST_HEADER_VIEW_COLUMN_SUBJECT,
- MODEST_HEADER_VIEW_COLUMN_RECEIVED_DATE
+ MODEST_HEADER_VIEW_COLUMN_COMPACT_HEADER
};
priv = MODEST_MAIN_WINDOW_GET_PRIVATE(self);
on_delete_event (GtkWidget *widget, GdkEvent *event, ModestMainWindow *self)
{
save_sizes (self);
+ gtk_widget_destroy (GTK_WIDGET(self));
+
+ return TRUE;
}
GtkWidget*
-modest_main_window_new (ModestWidgetFactory *factory, ModestConf *conf)
+modest_main_window_new (ModestConf *conf, ModestAccountMgr *account_mgr,
+ ModestWidgetFactory *factory)
{
GObject *obj;
ModestMainWindowPrivate *priv;
g_object_ref (conf);
priv->conf = conf;
+
+ g_object_ref (account_mgr);
+ priv->account_mgr = account_mgr;
+
/* widgets from factory */
priv->folder_view = modest_widget_factory_get_folder_view (factory);
priv->main_paned = gtk_hpaned_new ();
gtk_paned_add1 (GTK_PANED(priv->main_paned), priv->folder_paned);
gtk_paned_add2 (GTK_PANED(priv->main_paned), priv->msg_paned);
- gtk_paned_add1 (GTK_PANED(priv->folder_paned),
- gtk_label_new (_("Favorites")));
+// gtk_paned_add1 (GTK_PANED(priv->folder_paned),
+// gtk_label_new (_("Favorites")));
gtk_paned_add2 (GTK_PANED(priv->folder_paned), folder_win);
gtk_paned_add1 (GTK_PANED(priv->msg_paned), header_win);
gtk_paned_add2 (GTK_PANED(priv->msg_paned), GTK_WIDGET(priv->msg_preview));
gtk_widget_show (GTK_WIDGET(priv->header_view));
-
+ gtk_tree_view_columns_autosize (GTK_TREE_VIEW(priv->header_view));
+
+
/* status bar / progress */
- status_hbox = gtk_hbox_new (TRUE, 5);
+ status_hbox = gtk_hbox_new (FALSE, 0);
gtk_box_pack_start (GTK_BOX(status_hbox),
modest_widget_factory_get_status_bar(factory),
- FALSE, TRUE, 5);
+ TRUE, TRUE, 0);
gtk_box_pack_start (GTK_BOX(status_hbox),
modest_widget_factory_get_progress_bar(factory),
- FALSE, TRUE, 5);
-
+ FALSE, FALSE, 0);
+ gtk_box_pack_start (GTK_BOX(status_hbox),
+ modest_widget_factory_get_online_toggle(factory),
+ FALSE, FALSE, 0);
+
/* putting it all together... */
- main_vbox = gtk_vbox_new (FALSE, 2);
- gtk_box_pack_start (GTK_BOX(main_vbox), priv->menubar, FALSE, FALSE, 2);
- gtk_box_pack_start (GTK_BOX(main_vbox), priv->toolbar, FALSE, TRUE, 5);
- gtk_box_pack_start (GTK_BOX(main_vbox), priv->main_paned, TRUE, TRUE, 2);
- gtk_box_pack_start (GTK_BOX(main_vbox), status_hbox, FALSE, FALSE, 5);
+ main_vbox = gtk_vbox_new (FALSE, 6);
+ gtk_box_pack_start (GTK_BOX(main_vbox), priv->menubar, FALSE, FALSE, 0);
+ gtk_box_pack_start (GTK_BOX(main_vbox), priv->toolbar, FALSE, FALSE, 0);
+ gtk_box_pack_start (GTK_BOX(main_vbox), priv->main_paned, TRUE, TRUE,0);
+ gtk_box_pack_start (GTK_BOX(main_vbox), status_hbox, FALSE, FALSE, 0);
gtk_container_add (GTK_CONTAINER(obj), main_vbox);
+ restore_sizes (MODEST_MAIN_WINDOW(obj));
+
+ gtk_window_set_title (GTK_WINDOW(obj), "Modest");
+ gtk_window_set_icon (GTK_WINDOW(obj),
+ modest_icon_factory_get_icon (MODEST_APP_ICON));
+
gtk_widget_show_all (main_vbox);
- gtk_window_set_title (GTK_WINDOW(obj), "Modest");
-
g_signal_connect (G_OBJECT(obj), "delete-event",
G_CALLBACK(on_delete_event), obj);
-
- restore_sizes (MODEST_MAIN_WINDOW(obj));
return GTK_WIDGET(obj);
}