* some small maemofications
authorDirk-Jan C. Binnema <dirk-jan.binnema@nokia.com>
Wed, 29 Nov 2006 16:29:41 +0000 (16:29 +0000)
committerDirk-Jan C. Binnema <dirk-jan.binnema@nokia.com>
Wed, 29 Nov 2006 16:29:41 +0000 (16:29 +0000)
pmo-trunk-r500

src/maemo/Makefile.am
src/maemo/modest-edit-msg-window.c
src/maemo/modest-edit-msg-window.h
src/maemo/modest-icon-names.h
src/maemo/modest-main-window.c
src/maemo/modest-main-window.h
src/maemo/modest-ui.c

index 2c5db65..d00ea48 100644 (file)
@@ -1,6 +1,6 @@
 #
 # Makefile.am
-# Time-stamp: <2006-07-29 20:47:31 (djcb)>
+# Time-stamp: <2006-11-29 17:51:15 (djcb)>
 #
 #
 # use Automake 'trick' ==> convenience static libraries, which
@@ -17,8 +17,7 @@ noinst_LTLIBRARIES=\
        libmodest-ui.la
 
 PIXMAP_FILES=\
-       pixmaps/*.png \
-       pixmaps/*.svg
+       pixmaps/*.png 
 
 libmodest_ui_la_SOURCES=              \
        modest-ui.c                   \
index 3c287f9..79ef660 100644 (file)
@@ -83,7 +83,7 @@ modest_edit_msg_window_get_type (void)
                        (GInstanceInitFunc) modest_edit_msg_window_init,
                        NULL
                };
-               my_type = g_type_register_static (GTK_TYPE_WINDOW,
+               my_type = g_type_register_static (HILDON_TYPE_WINDOW,
                                                  "ModestEditMsgWindow",
                                                  &my_info, 0);
        }
index 1aa27c2..8844255 100644 (file)
@@ -32,6 +32,8 @@
 
 #include <gtk/gtk.h>
 #include <tny-msg.h>
+#include <hildon-widgets/hildon-window.h>
+
 #include "modest-conf.h"
 #include "modest-widget-factory.h"
 
@@ -49,12 +51,12 @@ typedef struct _ModestEditMsgWindow      ModestEditMsgWindow;
 typedef struct _ModestEditMsgWindowClass ModestEditMsgWindowClass;
 
 struct _ModestEditMsgWindow {
-        GtkWindow parent;
+       HildonWindow parent;
        /* insert public members, if any */
 };
 
 struct _ModestEditMsgWindowClass {
-       GtkWindowClass parent_class;
+       HildonWindowClass parent_class;
        /* insert signal callback declarations, eg. */
        /* void (* my_event) (ModestEditMsgWindow* obj); */
 };
index 99f1135..9fbc490 100644 (file)
@@ -42,7 +42,7 @@
 
 /* icons */
 
-#define MODEST_APP_ICON                                PIXMAP_PREFIX "internet-mail.svg"
+#define MODEST_APP_ICON                                PIXMAP_PREFIX "modest.png"
 
 #define MODEST_HEADER_ICON_READ                        PIXMAP_PREFIX "qgn_list_messagin_mail.png"
 #define MODEST_HEADER_ICON_UNREAD              PIXMAP_PREFIX "qgn_list_messagin_mail_unread.png"
 #define MODEST_FOLDER_ICON_CALENDAR            PIXMAP_PREFIX "qgn_widg_datedit.png"
 
 /* toolbar */
-#define  MODEST_TOOLBAR_ICON_MAIL_SEND         PIXMAP_PREFIX "gnome-stock-mail-new.svg"
-#define  MODEST_TOOLBAR_ICON_NEW_MAIL          PIXMAP_PREFIX "gnome-stock-mail-new.svg"
-#define  MODEST_TOOLBAR_ICON_SEND_RECEIVE      PIXMAP_PREFIX "gtk-refresh.svg"
-#define  MODEST_TOOLBAR_ICON_REPLY             PIXMAP_PREFIX "gnome-stock-mail-rpl.svg"
-#define  MODEST_TOOLBAR_ICON_REPLY_ALL         PIXMAP_PREFIX "mail-reply-all.svg"
-#define  MODEST_TOOLBAR_ICON_FORWARD           PIXMAP_PREFIX "mail-forward.svg"
-#define  MODEST_TOOLBAR_ICON_DELETE            PIXMAP_PREFIX "edit-delete.svg"
-#define  MODEST_TOOLBAR_ICON_NEXT              PIXMAP_PREFIX "forward.svg"
-#define  MODEST_TOOLBAR_ICON_PREV              PIXMAP_PREFIX "back.svg"
+#define  MODEST_TOOLBAR_ICON_MAIL_SEND         PIXMAP_PREFIX "qgn_list_messagin_sent.png"
+#define  MODEST_TOOLBAR_ICON_NEW_MAIL          PIXMAP_PREFIX "qgn_list_messagin_editor.png"
+#define  MODEST_TOOLBAR_ICON_SEND_RECEIVE      PIXMAP_PREFIX "gtk-refresh.png"
+#define  MODEST_TOOLBAR_ICON_REPLY             PIXMAP_PREFIX "mail-reply-sender.png"
+#define  MODEST_TOOLBAR_ICON_REPLY_ALL         PIXMAP_PREFIX "mail-reply-all.png"
+#define  MODEST_TOOLBAR_ICON_FORWARD           PIXMAP_PREFIX "mail-forward.png"
+#define  MODEST_TOOLBAR_ICON_DELETE            PIXMAP_PREFIX "mail-mark-junk.png"
+#define  MODEST_TOOLBAR_ICON_NEXT              PIXMAP_PREFIX "forward.png"
+#define  MODEST_TOOLBAR_ICON_PREV              PIXMAP_PREFIX "back.png"
 #define  MODEST_TOOLBAR_ICON_STOP              PIXMAP_PREFIX "stock-stop.svg"
 
 #endif  /*__MODEST_TNY_ICON_NAMES_H__*/
index fe542a7..d16fc94 100644 (file)
@@ -28,6 +28,7 @@
  */
 
 #include <glib/gi18n.h>
+#include <string.h>
 #include <gtk/gtkaboutdialog.h>
 #include <gtk/gtktreeviewcolumn.h>
 
@@ -64,8 +65,10 @@ enum {
 typedef struct _ModestMainWindowPrivate ModestMainWindowPrivate;
 struct _ModestMainWindowPrivate {
 
+       GtkUIManager *ui_manager;
+
        GtkWidget *toolbar;
-       GtkWidget *menubar;
+       GtkWidget *menu;
 
        GtkWidget *folder_paned;
        GtkWidget *msg_paned;
@@ -106,7 +109,7 @@ modest_main_window_get_type (void)
                        (GInstanceInitFunc) modest_main_window_init,
                        NULL
                };
-               my_type = g_type_register_static (GTK_TYPE_WINDOW,
+               my_type = g_type_register_static (HILDON_TYPE_WINDOW,
                                                  "ModestMainWindow",
                                                  &my_info, 0);
        }
@@ -367,73 +370,45 @@ on_menu_delete (ModestMainWindow *self, guint action, GtkWidget *widget)
 
 
 /* Our menu, an array of GtkItemFactoryEntry structures that defines each menu item */
-static GtkItemFactoryEntry menu_items[] = {
-       { "/_File",             NULL,                   NULL,           0, "<Branch>", NULL },
-       { "/File/_New",         "<control>N",           NULL,           0, "<StockItem>", GTK_STOCK_NEW },
-       { "/File/_Open",        "<control>O",           NULL,           0, "<StockItem>", GTK_STOCK_OPEN },
-       { "/File/_Save",        "<control>S",           NULL,           0, "<StockItem>", GTK_STOCK_SAVE },
-       { "/File/Save _As",     NULL,                   NULL,           0, "<Item>", NULL },
-       { "/File/sep1",         NULL,                   NULL,           0, "<Separator>", NULL },
-       { "/File/_Quit",        "<CTRL>Q",              on_menu_quit,  0, "<StockItem>", GTK_STOCK_QUIT },
-
-       { "/_Edit",             NULL,                   NULL,           0, "<Branch>", NULL },
-       { "/Edit/_Undo",        "<CTRL>Z",              NULL,           0, "<StockItem>", GTK_STOCK_UNDO },
-       { "/Edit/_Redo",        "<shift><CTRL>Z",       NULL,           0, "<StockItem>", GTK_STOCK_REDO },
-       { "/File/sep1",         NULL,                   NULL,           0, "<Separator>", NULL },
-       { "/Edit/Cut",          "<control>X",           NULL,           0, "<StockItem>", GTK_STOCK_CUT  },
-       { "/Edit/Copy",         "<CTRL>C",              NULL,           0, "<StockItem>", GTK_STOCK_COPY },
-       { "/Edit/Paste",        NULL,                   NULL,           0, "<StockItem>", GTK_STOCK_PASTE},
-       { "/Edit/sep1",         NULL,                   NULL,           0, "<Separator>", NULL },
-       { "/Edit/Delete",       "<CTRL>Q",              NULL,           0, "<Item>" ,NULL},
-       { "/Edit/Select all",   "<CTRL>A",              NULL,           0, "<Item>" ,NULL},
-       { "/Edit/Deelect all",  "<Shift><CTRL>A",       NULL,           0, "<Item>" ,NULL},
-
-       { "/_Actions",                NULL,             NULL,           0, "<Branch>" ,NULL},
-       { "/Actions/_New Message",    NULL,             on_menu_new_message,            0, "<Item>",NULL },
-       { "/Actions/_Reply",    NULL,                   on_menu_reply_forward,          1, "<Item>" ,NULL},
-       { "/Actions/_Forward",  NULL,                   on_menu_reply_forward,          3, "<Item>" ,NULL},
-       { "/Actions/_Bounce",   NULL,                   NULL,           0, "<Item>",NULL },     
+static const gchar* UI_DEF=
+       "<?xml version=\"1.0\" encoding=\"UTF-8\"?>"
+       "<ui>"
+       "  <popup>"
+       "    <menu name=\"Message\" \"MenuMessage\">"
+       "      <menuitem name=\"New\" action=\"on_menu_new_message\" />"
+       "    </menu>"
+//     "    <menu name=\"JustifyMenu\" action=\"JustifyMenuAction\">"
+//     "      <menuitem name=\"Left\" action=\"justify-left\"/>"
+//     "      <menuitem name=\"Centre\" action=\"justify-center\"/>"
+//     "      <menuitem name=\"Right\" action=\"justify-right\"/>"
+//     "      <menuitem name=\"Fill\" action=\"justify-fill\"/>"
+//     "    </menu>"
+       "  </popup>"
+       "</ui>";
+
+static GtkMenu *
+get_menu (ModestMainWindow *self)
+{
+       GtkWidget *w;
+       int i = 0;
        
-       { "/_Options",           NULL,                  NULL,           0, "<Branch>" ,NULL},
-       { "/Options/_Accounts",  NULL,                  on_menu_accounts,0, "<Item>" ,NULL},
-       { "/Options/_Contacts",  NULL,                  NULL,           0, "<Item>" ,NULL },
+       ModestMainWindowPrivate *priv;
+       priv = MODEST_MAIN_WINDOW_GET_PRIVATE(self);
 
+       priv->ui_manager = gtk_ui_manager_new ();
 
-       { "/_Help",         NULL,                       NULL,           0, "<Branch>" ,NULL},
-       { "/_Help/About",   NULL,                       on_menu_about,  0, "<StockItem>", GTK_STOCK_ABOUT},
-};
+       gtk_ui_manager_add_ui_from_string (priv->ui_manager,
+                                          UI_DEF, strlen(UI_DEF),
+                                          NULL);
 
-static gint nmenu_items = sizeof (menu_items) / sizeof (menu_items[0]);
+       w = gtk_ui_manager_get_widget (priv->ui_manager, "/popup");
+       g_warning ("==> GtkMenu? ==> %s", GTK_IS_MENU(w) ? "yes" : "no"); 
 
-
-static GtkWidget *
-menubar_new (ModestMainWindow *self)
-{
-       GtkItemFactory *item_factory;
-       GtkAccelGroup *accel_group;
-       
-       /* Make an accelerator group (shortcut keys) */
-       accel_group = gtk_accel_group_new ();
-       
-       /* Make an ItemFactory (that makes a menubar) */
-       item_factory = gtk_item_factory_new (GTK_TYPE_MENU_BAR, "<main>",
-                                            accel_group);
-       
-       /* This function generates the menu items. Pass the item factory,
-          the number of items in the array, the array itself, and any
-          callback data for the the menu items. */
-       gtk_item_factory_create_items (item_factory, nmenu_items, menu_items, self);
-       
-       ///* Attach the new accelerator group to the window. */
-       gtk_window_add_accel_group (GTK_WINDOW (self), accel_group);
-       
-       /* Finally, return the actual menu bar created by the item factory. */
-       return gtk_item_factory_get_widget (item_factory, "<main>");
+       return GTK_MENU(w);
 }
 
 
 
-
 static ModestHeaderView*
 header_view_new (ModestMainWindow *self)
 {
@@ -667,28 +642,26 @@ modest_main_window_new (ModestWidgetFactory *widget_factory)
        folder_win = wrapped_in_scrolled_window (GTK_WIDGET(priv->folder_view),
                                                 FALSE);
        header_win = wrapped_in_scrolled_window (GTK_WIDGET(priv->header_view),
-                                                FALSE);                           
-       favorites_win = wrapped_in_scrolled_window (favorites_view(),FALSE);                       
+                                                FALSE);                                
+       /*menu */
+       priv->menu = get_menu (MODEST_MAIN_WINDOW(obj));
+       hildon_window_set_menu (HILDON_WINDOW(obj), GTK_MENU(priv->menu));
        
-       /* tool/menubar */
-       priv->menubar = menubar_new (MODEST_MAIN_WINDOW(obj));
        priv->toolbar = GTK_WIDGET(toolbar_new (MODEST_MAIN_WINDOW(obj)));
-
+       
        /* paned */
-       priv->folder_paned = gtk_vpaned_new ();
        priv->msg_paned = gtk_vpaned_new ();
        priv->main_paned = gtk_hpaned_new ();
-       gtk_paned_add1 (GTK_PANED(priv->main_paned), priv->folder_paned);
+
+       gtk_paned_add1 (GTK_PANED(priv->main_paned), folder_win);
        gtk_paned_add2 (GTK_PANED(priv->main_paned), priv->msg_paned);
-       gtk_paned_add1 (GTK_PANED(priv->folder_paned), favorites_win);
-       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 (FALSE, 0);
        gtk_box_pack_start (GTK_BOX(status_hbox),
@@ -706,9 +679,8 @@ modest_main_window_new (ModestWidgetFactory *widget_factory)
 
        /* putting it all together... */
        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), priv->toolbar, FALSE, FALSE, 0);        
        gtk_box_pack_start (GTK_BOX(main_vbox), status_hbox, FALSE, FALSE, 0);
        
        gtk_container_add (GTK_CONTAINER(obj), main_vbox);
index be89bf0..9164e90 100644 (file)
@@ -4,7 +4,7 @@
 #ifndef __MODEST_MAIN_WINDOW_H__
 #define __MODEST_MAIN_WINDOW_H__
 
-#include <gtk/gtkwindow.h>
+#include <hildon-widgets/hildon-window.h>
 #include <modest-widget-factory.h>
 
 #ifdef HAVE_CONFIG_H
@@ -25,12 +25,12 @@ typedef struct _ModestMainWindow      ModestMainWindow;
 typedef struct _ModestMainWindowClass ModestMainWindowClass;
 
 struct _ModestMainWindow {
-        GtkWindow parent;
+        HildonWindow parent;
        /* insert public members, if any */
 };
 
 struct _ModestMainWindowClass {
-       GtkWindowClass parent_class;
+       HildonWindowClass parent_class;
        /* insert signal callback declarations, eg. */
        /* void (* my_event) (ModestMainWindow* obj); */
 };
index 3f06bad..a457f1a 100644 (file)
 #include <config.h>
 #endif /*HAVE_CONFIG_H*/
 
-#include "../modest-ui.h"
-#include "../modest-account-mgr.h"
-#include "../modest-widget-factory.h"
-#include "modest-main-window.h"
-#include "modest-tny-platform-factory.h"
+#include <hildon-widgets/hildon-program.h>
+
+#include <modest-ui.h>
+#include <modest-account-mgr.h>
+#include <modest-widget-factory.h>
+#include <modest-main-window.h>
+#include <modest-tny-platform-factory.h>
 
 
 /* 'private'/'protected' functions */
@@ -53,9 +55,9 @@ gchar *on_password_requested (TnyAccountIface *, const gchar *, gboolean *);
 
 typedef struct _ModestUIPrivate ModestUIPrivate;
 struct _ModestUIPrivate {
-       ModestWidgetFactory   *widget_factory;  
-
+       ModestWidgetFactory    *widget_factory; 
        GtkWidget              *main_window;
+       HildonProgram          *hildon_program;
 };
 
 #define MODEST_UI_GET_PRIVATE(o)      (G_TYPE_INSTANCE_GET_PRIVATE((o), \
@@ -172,7 +174,15 @@ modest_ui_new (void)
                g_printerr ("modest: could not initialize widget factory\n");
                return NULL;
        }
-               
+
+       g_set_application_name ("Modest");
+       
+       priv->hildon_program = HILDON_PROGRAM (hildon_program_get_instance());
+       if (!priv->hildon_program) {
+               g_printerr ("modest: could not initialize HildonProgram instance\n");
+               return NULL;
+       }
+
        return MODEST_UI(obj);
 }
 
@@ -203,6 +213,8 @@ modest_ui_main_window (ModestUI *modest_ui)
                
        if (!priv->main_window)
                g_printerr ("modest: could not create main window\n");
+
+       hildon_program_add_window (priv->hildon_program, priv->main_window);
        
        return priv->main_window;
 }