r2991 - in trunk/src/target/OM-2007.2/applications/openmoko-browser2: . src

zecke at sita.openmoko.org zecke at sita.openmoko.org
Tue Sep 18 03:40:33 CEST 2007


Author: zecke
Date: 2007-09-18 03:40:31 +0200 (Tue, 18 Sep 2007)
New Revision: 2991

Added:
   trunk/src/target/OM-2007.2/applications/openmoko-browser2/src/current-page.c
   trunk/src/target/OM-2007.2/applications/openmoko-browser2/src/current-page.h
Modified:
   trunk/src/target/OM-2007.2/applications/openmoko-browser2/ChangeLog
   trunk/src/target/OM-2007.2/applications/openmoko-browser2/src/Makefile.am
   trunk/src/target/OM-2007.2/applications/openmoko-browser2/src/browser-data.h
   trunk/src/target/OM-2007.2/applications/openmoko-browser2/src/main.c
Log:
2007-09-16 Holger Hans Peter Freyther <zecke at selfish.org>

        Start implementing the "Current Page". We start with
        providing the default actions for navigation.

        * src/Makefile.am:
        * src/browser-data.h:
        * src/current-page.c: Added.
        (current_back_clicked_closure):
        (current_forward_clicked_closure):
        (current_stop_reload_clicked_closure):
        (current_add_bookmark_clicked_closure):
        (setup_current_page):
        * src/current-page.h: Added.
        * src/main.c:
        (window_delete_event):
        (setup_ui):


Modified: trunk/src/target/OM-2007.2/applications/openmoko-browser2/ChangeLog
===================================================================
--- trunk/src/target/OM-2007.2/applications/openmoko-browser2/ChangeLog	2007-09-18 01:40:30 UTC (rev 2990)
+++ trunk/src/target/OM-2007.2/applications/openmoko-browser2/ChangeLog	2007-09-18 01:40:31 UTC (rev 2991)
@@ -1,5 +1,23 @@
 2007-09-16  Holger Hans Peter Freyther  <zecke at selfish.org>
 
+        Start implementing the "Current Page". We start with
+        providing the default actions for navigation.
+
+        * src/Makefile.am:
+        * src/browser-data.h:
+        * src/current-page.c: Added.
+        (current_back_clicked_closure):
+        (current_forward_clicked_closure):
+        (current_stop_reload_clicked_closure):
+        (current_add_bookmark_clicked_closure):
+        (setup_current_page):
+        * src/current-page.h: Added.
+        * src/main.c:
+        (window_delete_event):
+        (setup_ui):
+
+2007-09-16  Holger Hans Peter Freyther  <zecke at selfish.org>
+
         Document some of the bits that were discussed with
         Ellen last Monday.
 

Modified: trunk/src/target/OM-2007.2/applications/openmoko-browser2/src/Makefile.am
===================================================================
--- trunk/src/target/OM-2007.2/applications/openmoko-browser2/src/Makefile.am	2007-09-18 01:40:30 UTC (rev 2990)
+++ trunk/src/target/OM-2007.2/applications/openmoko-browser2/src/Makefile.am	2007-09-18 01:40:31 UTC (rev 2991)
@@ -7,8 +7,8 @@
 
 bin_PROGRAMS = openmoko-browser
 
-#EXTRA_DIST = 
-openmoko_browser_SOURCES = main.c
+EXTRA_DIST = browser-data.h current-page.h
+openmoko_browser_SOURCES = main.c current-page.c
 openmoko_browser_LDADD = @OPENMOKO_LIBS@ @WEBKITGTK_LIBS@ @GTHREAD_LIBS@
 
 CLEANFILES = $(stamp_files)

Modified: trunk/src/target/OM-2007.2/applications/openmoko-browser2/src/browser-data.h
===================================================================
--- trunk/src/target/OM-2007.2/applications/openmoko-browser2/src/browser-data.h	2007-09-18 01:40:30 UTC (rev 2990)
+++ trunk/src/target/OM-2007.2/applications/openmoko-browser2/src/browser-data.h	2007-09-18 01:40:31 UTC (rev 2991)
@@ -29,6 +29,9 @@
 
 #include "webkitgtkpage.h"
 
+#include <glib.h>
+#include <gtk/gtk.h>
+
 /*
  * representation of one page
  */
@@ -40,7 +43,21 @@
  * The state of the Browser
  */
 struct BrowserData {
+    GtkWidget *mainWindow;
+    GtkWidget *mainNotebook;
+    GtkWidget *currentFingerScroll;
+
     GList* browserPages;
+    struct BrowserPage* currentPage;
+
+    /**
+     * Two special views for the Browser. The Overview
+     * and Bookmark page are meant to be partly implemented
+     * using HTML and JavaScript and binding the GObject(s) to
+     * JavaScript.
+     */
+    WebKitGtkPage* pagesOverviewPage;
+    WebKitGtkPage* bookmarkPage;
 };
 
 #endif

Added: trunk/src/target/OM-2007.2/applications/openmoko-browser2/src/current-page.c
===================================================================
--- trunk/src/target/OM-2007.2/applications/openmoko-browser2/src/current-page.c	2007-09-18 01:40:30 UTC (rev 2990)
+++ trunk/src/target/OM-2007.2/applications/openmoko-browser2/src/current-page.c	2007-09-18 01:40:31 UTC (rev 2991)
@@ -0,0 +1,84 @@
+/*
+ * A simple WebBrowser - Implementations for the "Current Page"
+ *
+ *  Copyright (C) 2007 Holger Hans Peter Freyther
+ *
+ *  Permission is hereby granted, free of charge, to any person obtaining a
+ *  copy of this software and associated documentation files (the "Software"),
+ *  to deal in the Software without restriction, including without limitation
+ *  the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ *  and/or sell copies of the Software, and to permit persons to whom the
+ *  Software is furnished to do so, subject to the following conditions:
+ *
+ *  The above copyright notice and this permission notice shall be included
+ *  in all copies or substantial portions of the Software.
+ *
+ *  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+ *  OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ *  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ *  THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
+ *  OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ *  ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ *  OTHER DEALINGS IN THE SOFTWARE.
+ *
+ *  Current Version: $Rev$ ($Date$) [$Author$]
+ */
+
+#include "config.h"
+#include "current-page.h"
+
+#include <moko-finger-scroll.h>
+
+static void current_back_clicked_closure(GtkWidget* button, struct BrowserData* data)
+{
+}
+
+static void current_forward_clicked_closure(GtkWidget* button, struct BrowserData* data)
+{
+}
+
+static void current_stop_reload_clicked_closure(GtkWidget* button, struct BrowserData* data)
+{
+}
+
+static void current_add_bookmark_clicked_closure(GtkWidget* button, struct BrowserData* data)
+{
+}
+
+void setup_current_page(GtkBox* box, struct BrowserData* data)
+{
+    GtkWidget* toolbar = gtk_toolbar_new ();
+    gtk_box_pack_start (box, toolbar, FALSE, FALSE, 0);
+
+
+    GtkToolItem* toolitem;
+    toolitem = gtk_tool_button_new_from_stock (GTK_STOCK_GO_BACK);
+    gtk_tool_item_set_expand (GTK_TOOL_ITEM (toolitem), TRUE);
+    g_signal_connect (toolitem, "clicked", G_CALLBACK(current_back_clicked_closure), data);
+    gtk_widget_set_sensitive (GTK_WIDGET(toolitem), FALSE);
+    gtk_toolbar_insert (GTK_TOOLBAR (toolbar), toolitem, 0);
+    gtk_toolbar_insert (GTK_TOOLBAR(toolbar), gtk_separator_tool_item_new (), 1);
+
+    toolitem = gtk_tool_button_new_from_stock (GTK_STOCK_GO_FORWARD);
+    gtk_tool_item_set_expand (GTK_TOOL_ITEM (toolitem), TRUE);
+    g_signal_connect (toolitem, "clicked", G_CALLBACK(current_forward_clicked_closure), data);
+    gtk_widget_set_sensitive (GTK_WIDGET(toolitem), FALSE);
+    gtk_toolbar_insert (GTK_TOOLBAR (toolbar), toolitem, 2);
+    gtk_toolbar_insert (GTK_TOOLBAR(toolbar), gtk_separator_tool_item_new (), 3);
+
+    toolitem = gtk_tool_button_new_from_stock (GTK_STOCK_STOP);
+    gtk_tool_item_set_expand (GTK_TOOL_ITEM (toolitem), TRUE);
+    g_signal_connect (toolitem, "clicked", G_CALLBACK(current_stop_reload_clicked_closure), data);
+    gtk_widget_set_sensitive (GTK_WIDGET(toolitem), FALSE);
+    gtk_toolbar_insert (GTK_TOOLBAR (toolbar), toolitem, 4);
+    gtk_toolbar_insert (GTK_TOOLBAR(toolbar), gtk_separator_tool_item_new (), 5);
+
+    toolitem = gtk_tool_button_new_from_stock (GTK_STOCK_ADD);
+    gtk_tool_item_set_expand (GTK_TOOL_ITEM (toolitem), TRUE);
+    g_signal_connect (toolitem, "clicked", G_CALLBACK(current_add_bookmark_clicked_closure), data);
+    gtk_widget_set_sensitive (GTK_WIDGET(toolitem), FALSE);
+    gtk_toolbar_insert (GTK_TOOLBAR (toolbar), toolitem, 6);
+
+    data->currentFingerScroll = moko_finger_scroll_new ();
+    gtk_box_pack_start (box, data->currentFingerScroll, TRUE, TRUE, 0);
+}

Copied: trunk/src/target/OM-2007.2/applications/openmoko-browser2/src/current-page.h (from rev 2990, trunk/src/target/OM-2007.2/applications/openmoko-browser2/src/browser-data.h)
===================================================================
--- trunk/src/target/OM-2007.2/applications/openmoko-browser2/src/browser-data.h	2007-09-18 01:40:30 UTC (rev 2990)
+++ trunk/src/target/OM-2007.2/applications/openmoko-browser2/src/current-page.h	2007-09-18 01:40:31 UTC (rev 2991)
@@ -0,0 +1,34 @@
+/*
+ * A simple WebBrowser - Definitions for the "Current Page"
+ *
+ *  Copyright (C) 2007 Holger Hans Peter Freyther
+ *
+ *  Permission is hereby granted, free of charge, to any person obtaining a
+ *  copy of this software and associated documentation files (the "Software"),
+ *  to deal in the Software without restriction, including without limitation
+ *  the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ *  and/or sell copies of the Software, and to permit persons to whom the
+ *  Software is furnished to do so, subject to the following conditions:
+ *
+ *  The above copyright notice and this permission notice shall be included
+ *  in all copies or substantial portions of the Software.
+ *
+ *  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+ *  OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ *  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ *  THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
+ *  OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ *  ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ *  OTHER DEALINGS IN THE SOFTWARE.
+ *
+ *  Current Version: $Rev$ ($Date$) [$Author$]
+ */
+
+#ifndef OPENMOKO_BROWSER_CURRENT_PAGE_H
+#define OPENMOKO_BROWSER_CURRENT_PAGE_H
+
+#include "browser-data.h"
+
+void setup_current_page(GtkBox* box, struct BrowserData* data);
+
+#endif

Modified: trunk/src/target/OM-2007.2/applications/openmoko-browser2/src/main.c
===================================================================
--- trunk/src/target/OM-2007.2/applications/openmoko-browser2/src/main.c	2007-09-18 01:40:30 UTC (rev 2990)
+++ trunk/src/target/OM-2007.2/applications/openmoko-browser2/src/main.c	2007-09-18 01:40:31 UTC (rev 2991)
@@ -25,7 +25,7 @@
  */
 
 #include "config.h"
-#include "browser-data.h"
+#include "current-page.h"
 
 #include <gtk/gtk.h>
 #include <glib/gi18n.h>
@@ -66,7 +66,29 @@
     return EXIT_SUCCESS;
 }
 
+static void window_delete_event(GtkWidget* widget, GdkEvent* event, gpointer _data)
+{
+    gtk_main_quit ();
+}
 
 static void setup_ui (struct BrowserData* data)
 {
+    data->mainWindow = gtk_window_new (GTK_WINDOW_TOPLEVEL);
+    g_signal_connect (data->mainWindow, "delete-event", G_CALLBACK(window_delete_event), NULL);
+
+    data->mainNotebook = gtk_notebook_new ();
+    gtk_notebook_set_tab_pos (GTK_NOTEBOOK (data->mainNotebook), GTK_POS_BOTTOM);
+    gtk_container_add (GTK_CONTAINER (data->mainWindow), GTK_WIDGET (data->mainNotebook));
+
+    /*
+     * Current Page
+     */
+    GtkWidget* box = gtk_vbox_new (FALSE, 0);
+    gtk_notebook_append_page (GTK_NOTEBOOK (data->mainNotebook), box, gtk_image_new_from_stock (GTK_STOCK_NETWORK, GTK_ICON_SIZE_LARGE_TOOLBAR));
+    gtk_container_child_set (GTK_CONTAINER (data->mainNotebook), box, "tab-expand", TRUE, "tab-fill", TRUE, NULL);
+    setup_current_page(GTK_BOX (box), data);
+
+
+
+    gtk_widget_show_all (GTK_WIDGET (data->mainWindow));
 }





More information about the commitlog mailing list