Send commitlog mailing list submissions to
[email protected]
To subscribe or unsubscribe via the World Wide Web, visit
http://lists.openmoko.org/mailman/listinfo/commitlog
or, via email, send a message with subject or body 'help' to
[EMAIL PROTECTED]
You can reach the person managing the list at
[EMAIL PROTECTED]
When replying, please edit your Subject line so it is more specific
than "Re: Contents of commitlog digest..."
Today's Topics:
1. r3024 - in trunk/src/target/OM-2007.2/libraries/libmokoui2: .
libmokoui ([EMAIL PROTECTED])
2. r3025 - in trunk/src/target/OM-2007.2/libraries/libmokoui2: .
libmokoui ([EMAIL PROTECTED])
3. r3026 - in trunk/src/target/OM-2007.2/libraries/libmokoui2: .
libmokoui ([EMAIL PROTECTED])
4. r3027 - in
trunk/src/target/OM-2007.2/libraries/moko-gtk-engine: . src
([EMAIL PROTECTED])
5. r3028 - in trunk/src/target/OM-2007.2/libraries/libmokoui2: .
libmokoui ([EMAIL PROTECTED])
6. r3029 - in
trunk/src/target/OM-2007.2/libraries/moko-gtk-engine: . data src
([EMAIL PROTECTED])
7. r3030 - in
trunk/src/target/OM-2007.2/applications/openmoko-browser2: . src
([EMAIL PROTECTED])
8. r3031 - in
trunk/src/target/OM-2007.2/applications/openmoko-browser2: . src
([EMAIL PROTECTED])
--- Begin Message ---
Author: chris
Date: 2007-09-21 12:53:36 +0200 (Fri, 21 Sep 2007)
New Revision: 3024
Modified:
trunk/src/target/OM-2007.2/libraries/libmokoui2/ChangeLog
trunk/src/target/OM-2007.2/libraries/libmokoui2/libmokoui/moko-finger-scroll.c
Log:
Don't ignore 'mode' in moko_finger_scroll_new_full, fix documentation
for "velocity_max" property
Modified: trunk/src/target/OM-2007.2/libraries/libmokoui2/ChangeLog
===================================================================
--- trunk/src/target/OM-2007.2/libraries/libmokoui2/ChangeLog 2007-09-21
09:34:30 UTC (rev 3023)
+++ trunk/src/target/OM-2007.2/libraries/libmokoui2/ChangeLog 2007-09-21
10:53:36 UTC (rev 3024)
@@ -1,3 +1,10 @@
+2007-09-21 Chris Lord <[EMAIL PROTECTED]>
+
+ * libmokoui/moko-finger-scroll.c: (moko_finger_scroll_class_init),
+ (moko_finger_scroll_init), (moko_finger_scroll_new_full):
+ Don't ignore 'mode' in moko_finger_scroll_new_full, fix documentation
+ for "velocity_max" property
+
2007-09-21 Thomas Wood <[EMAIL PROTECTED]>
* libmokoui/moko-stock.c: (_moko_stock_add_icon):
Modified:
trunk/src/target/OM-2007.2/libraries/libmokoui2/libmokoui/moko-finger-scroll.c
===================================================================
---
trunk/src/target/OM-2007.2/libraries/libmokoui2/libmokoui/moko-finger-scroll.c
2007-09-21 09:34:30 UTC (rev 3023)
+++
trunk/src/target/OM-2007.2/libraries/libmokoui2/libmokoui/moko-finger-scroll.c
2007-09-21 10:53:36 UTC (rev 3024)
@@ -694,7 +694,7 @@
g_param_spec_double (
"velocity_max",
"Maximum scroll velocity",
- "Minimum distance the child widget should scroll "
+ "Maximum distance the child widget should scroll "
"per 'frame', in pixels.",
0, G_MAXDOUBLE, 48,
G_PARAM_READWRITE | G_PARAM_CONSTRUCT));
@@ -754,8 +754,10 @@
gtk_widget_add_events (GTK_WIDGET (self), GDK_POINTER_MOTION_HINT_MASK);
- priv->hadjust = GTK_ADJUSTMENT (gtk_adjustment_new (0.0, 0.0, 0.0, 0.0,
0.0, 0.0));
- priv->vadjust = GTK_ADJUSTMENT (gtk_adjustment_new (0.0, 0.0, 0.0, 0.0,
0.0, 0.0));
+ priv->hadjust = GTK_ADJUSTMENT (
+ gtk_adjustment_new (0.0, 0.0, 0.0, 0.0, 0.0, 0.0));
+ priv->vadjust = GTK_ADJUSTMENT (
+ gtk_adjustment_new (0.0, 0.0, 0.0, 0.0, 0.0, 0.0));
g_object_ref (G_OBJECT (priv->hadjust));
g_object_ref (G_OBJECT (priv->vadjust));
@@ -800,6 +802,7 @@
gdouble decel, guint sps)
{
return g_object_new (MOKO_TYPE_FINGER_SCROLL,
+ "mode", mode,
"enabled", enabled,
"velocity_min", vel_min,
"velocity_max", vel_max,
--- End Message ---
--- Begin Message ---
Author: thomas
Date: 2007-09-21 12:58:45 +0200 (Fri, 21 Sep 2007)
New Revision: 3025
Modified:
trunk/src/target/OM-2007.2/libraries/libmokoui2/ChangeLog
trunk/src/target/OM-2007.2/libraries/libmokoui2/libmokoui/moko-finger-scroll.c
Log:
* libmokoui/moko-finger-scroll.c: (moko_finger_scroll_init),
(moko_finger_scroll_new), (moko_finger_scroll_new_full):
Complete the documentation for MokoFingerScroll
Modified: trunk/src/target/OM-2007.2/libraries/libmokoui2/ChangeLog
===================================================================
--- trunk/src/target/OM-2007.2/libraries/libmokoui2/ChangeLog 2007-09-21
10:53:36 UTC (rev 3024)
+++ trunk/src/target/OM-2007.2/libraries/libmokoui2/ChangeLog 2007-09-21
10:58:45 UTC (rev 3025)
@@ -1,3 +1,9 @@
+2007-09-21 Thomas Wood <[EMAIL PROTECTED]>
+
+ * libmokoui/moko-finger-scroll.c: (moko_finger_scroll_init),
+ (moko_finger_scroll_new), (moko_finger_scroll_new_full):
+ Complete the documentation for MokoFingerScroll
+
2007-09-21 Chris Lord <[EMAIL PROTECTED]>
* libmokoui/moko-finger-scroll.c: (moko_finger_scroll_class_init),
Modified:
trunk/src/target/OM-2007.2/libraries/libmokoui2/libmokoui/moko-finger-scroll.c
===================================================================
---
trunk/src/target/OM-2007.2/libraries/libmokoui2/libmokoui/moko-finger-scroll.c
2007-09-21 10:53:36 UTC (rev 3024)
+++
trunk/src/target/OM-2007.2/libraries/libmokoui2/libmokoui/moko-finger-scroll.c
2007-09-21 10:58:45 UTC (rev 3025)
@@ -783,11 +783,12 @@
G_CALLBACK (moko_finger_scroll_redraw), self);
}
-/** moko_finger_scroll_new:
+/**
+ * moko_finger_scroll_new:
*
* Create a new finger scroll widget
*
- * Returns: the newly created widget
+ * Returns: the newly created #MokoFingerScroll
*/
GtkWidget *
@@ -796,6 +797,20 @@
return g_object_new (MOKO_TYPE_FINGER_SCROLL, NULL);
}
+/**
+ * moko_finger_scroll_new_full:
+ * @mode: #MokoFingerScrollMode
+ * @enabled: Value for the enabled property
+ * @vel_min: Value for the velocity-min property
+ * @vel_max: Value for the velocity-max property
+ * @decel: Value for the deceleration property
+ * @sps: Value for the sps property
+ *
+ * Create a new #MokoFingerScroll widget and set various properties
+ *
+ * returns: the newly create #MokoFingerScrull
+ */
+
GtkWidget *
moko_finger_scroll_new_full (gint mode, gboolean enabled,
gdouble vel_min, gdouble vel_max,
@@ -811,12 +826,12 @@
NULL);
}
-/** moko_finger_scroll_add_with_viewport:
+/**
+ * moko_finger_scroll_add_with_viewport:
+ * @self: A #MokoFingerScroll
+ * @child: Child widget to add to the viewport
*
- * @self: A MokoFingerScroll widget
- * @child: widget you want to add
- *
- * Convenience function used to add a child to a GtkViewport, and add the
+ * Convenience function used to add a child to a #GtkViewport, and add the
* viewport to the scrolled window.
*/
--- End Message ---
--- Begin Message ---
Author: thomas
Date: 2007-09-21 13:22:30 +0200 (Fri, 21 Sep 2007)
New Revision: 3026
Modified:
trunk/src/target/OM-2007.2/libraries/libmokoui2/ChangeLog
trunk/src/target/OM-2007.2/libraries/libmokoui2/libmokoui/moko-hint-entry.c
Log:
* libmokoui/moko-hint-entry.c: (moko_hint_entry_new),
(moko_hint_entry_clear): Correct and complete documentation for
MokoHintEntry
Modified: trunk/src/target/OM-2007.2/libraries/libmokoui2/ChangeLog
===================================================================
--- trunk/src/target/OM-2007.2/libraries/libmokoui2/ChangeLog 2007-09-21
10:58:45 UTC (rev 3025)
+++ trunk/src/target/OM-2007.2/libraries/libmokoui2/ChangeLog 2007-09-21
11:22:30 UTC (rev 3026)
@@ -1,5 +1,11 @@
2007-09-21 Thomas Wood <[EMAIL PROTECTED]>
+ * libmokoui/moko-hint-entry.c: (moko_hint_entry_new),
+ (moko_hint_entry_clear): Correct and complete documentation for
+ MokoHintEntry
+
+2007-09-21 Thomas Wood <[EMAIL PROTECTED]>
+
* libmokoui/moko-finger-scroll.c: (moko_finger_scroll_init),
(moko_finger_scroll_new), (moko_finger_scroll_new_full):
Complete the documentation for MokoFingerScroll
Modified:
trunk/src/target/OM-2007.2/libraries/libmokoui2/libmokoui/moko-hint-entry.c
===================================================================
--- trunk/src/target/OM-2007.2/libraries/libmokoui2/libmokoui/moko-hint-entry.c
2007-09-21 10:58:45 UTC (rev 3025)
+++ trunk/src/target/OM-2007.2/libraries/libmokoui2/libmokoui/moko-hint-entry.c
2007-09-21 11:22:30 UTC (rev 3026)
@@ -197,9 +197,9 @@
NULL);
}
-/*
+/**
* moko_hint_entry_clear:
- * @entry: a @MokoHintEntry
+ * @entry: a #MokoHintEntry
*
* Clear the text in the entry and if the widget is not focused, display the
* hint text.
@@ -214,6 +214,15 @@
update (entry);
}
+/**
+ * moko_hint_entry_is_empty:
+ * @entry: a #MokoHintyEntry
+ *
+ * Check if the entry has a user entered value.
+ *
+ * returns: TRUE if the hint is currently displayed. FALSE if the user has
+ * entered a value
+ */
gboolean
moko_hint_entry_is_empty (MokoHintEntry *entry)
{
--- End Message ---
--- Begin Message ---
Author: thomas
Date: 2007-09-21 16:26:35 +0200 (Fri, 21 Sep 2007)
New Revision: 3027
Modified:
trunk/src/target/OM-2007.2/libraries/moko-gtk-engine/ChangeLog
trunk/src/target/OM-2007.2/libraries/moko-gtk-engine/src/moko-style.c
trunk/src/target/OM-2007.2/libraries/moko-gtk-engine/src/moko-style.h
Log:
* src/moko-style.c: (moko_rc_style_merge), (moko_rc_style_parse):
* src/moko-style.h:
Use bit flag to indicate which engine options have been set (fixes any
options not set in the first matched style)
Modified: trunk/src/target/OM-2007.2/libraries/moko-gtk-engine/ChangeLog
===================================================================
--- trunk/src/target/OM-2007.2/libraries/moko-gtk-engine/ChangeLog
2007-09-21 11:22:30 UTC (rev 3026)
+++ trunk/src/target/OM-2007.2/libraries/moko-gtk-engine/ChangeLog
2007-09-21 14:26:35 UTC (rev 3027)
@@ -1,5 +1,13 @@
2007-09-21 Thomas Wood <[EMAIL PROTECTED]>
+ * src/moko-style.c: (moko_rc_style_merge), (moko_rc_style_parse):
+ * src/moko-style.h:
+
+ Use bit flag to indicate which engine options have been set (fixes any
+ options not set in the first matched style)
+
+2007-09-21 Thomas Wood <[EMAIL PROTECTED]>
+
* data/gtkrc: Define some standard icon sizes
2007-09-20 Thomas Wood <[EMAIL PROTECTED]>
Modified: trunk/src/target/OM-2007.2/libraries/moko-gtk-engine/src/moko-style.c
===================================================================
--- trunk/src/target/OM-2007.2/libraries/moko-gtk-engine/src/moko-style.c
2007-09-21 11:22:30 UTC (rev 3026)
+++ trunk/src/target/OM-2007.2/libraries/moko-gtk-engine/src/moko-style.c
2007-09-21 14:26:35 UTC (rev 3027)
@@ -107,11 +107,19 @@
{
if (MOKO_IS_RC_STYLE (src))
{
+ guint flags;
MokoRcStyle *src_data = MOKO_RC_STYLE (src);
MokoRcStyle *dest_data = MOKO_RC_STYLE (dest);
- dest_data->has_border = src_data->has_border;
- dest_data->has_gradient = src_data->has_gradient;
+ flags = (~dest_data->flags) & src_data->flags;
+
+ if (flags & BORDER_SET)
+ dest_data->has_border = src_data->has_border;
+
+ if (flags & GRADIENT_SET)
+ dest_data->has_gradient = src_data->has_gradient;
+
+ dest_data->flags = dest_data->flags | src_data->flags;
}
moko_parent_rc_style_class->merge (dest, src);
@@ -182,12 +190,14 @@
if (token != G_TOKEN_NONE)
break;
theme_data->has_border = i;
+ theme_data->flags = theme_data->flags | BORDER_SET;
break;
case TOKEN_HAS_GRADIENT:
token = moko_rc_parse_boolean (scanner, TOKEN_HAS_GRADIENT, &i);
if (token != G_TOKEN_NONE)
break;
theme_data->has_gradient = i;
+ theme_data->flags = theme_data->flags | GRADIENT_SET;
break;
default:
Modified: trunk/src/target/OM-2007.2/libraries/moko-gtk-engine/src/moko-style.h
===================================================================
--- trunk/src/target/OM-2007.2/libraries/moko-gtk-engine/src/moko-style.h
2007-09-21 11:22:30 UTC (rev 3026)
+++ trunk/src/target/OM-2007.2/libraries/moko-gtk-engine/src/moko-style.h
2007-09-21 14:26:35 UTC (rev 3027)
@@ -75,10 +75,17 @@
typedef struct _MokoRcStyle MokoRcStyle;
typedef struct _MokoRcStyleClass MokoRcStyleClass;
+/* which properties have been set? */
+enum {
+ BORDER_SET = 1,
+ GRADIENT_SET = 2
+};
+
struct _MokoRcStyle
{
GtkRcStyle parent_instance;
+ guint flags;
gboolean has_border;
gboolean has_gradient;
};
--- End Message ---
--- Begin Message ---
Author: thomas
Date: 2007-09-21 21:38:51 +0200 (Fri, 21 Sep 2007)
New Revision: 3028
Modified:
trunk/src/target/OM-2007.2/libraries/libmokoui2/ChangeLog
trunk/src/target/OM-2007.2/libraries/libmokoui2/libmokoui/moko-stock.c
Log:
* libmokoui/moko-stock.c: (_moko_stock_add_icon): Start documentation
for moko-stock
Modified: trunk/src/target/OM-2007.2/libraries/libmokoui2/ChangeLog
===================================================================
--- trunk/src/target/OM-2007.2/libraries/libmokoui2/ChangeLog 2007-09-21
14:26:35 UTC (rev 3027)
+++ trunk/src/target/OM-2007.2/libraries/libmokoui2/ChangeLog 2007-09-21
19:38:51 UTC (rev 3028)
@@ -1,5 +1,10 @@
2007-09-21 Thomas Wood <[EMAIL PROTECTED]>
+ * libmokoui/moko-stock.c: (_moko_stock_add_icon): Start documentation
+ for moko-stock
+
+2007-09-21 Thomas Wood <[EMAIL PROTECTED]>
+
* libmokoui/moko-hint-entry.c: (moko_hint_entry_new),
(moko_hint_entry_clear): Correct and complete documentation for
MokoHintEntry
Modified: trunk/src/target/OM-2007.2/libraries/libmokoui2/libmokoui/moko-stock.c
===================================================================
--- trunk/src/target/OM-2007.2/libraries/libmokoui2/libmokoui/moko-stock.c
2007-09-21 14:26:35 UTC (rev 3027)
+++ trunk/src/target/OM-2007.2/libraries/libmokoui2/libmokoui/moko-stock.c
2007-09-21 19:38:51 UTC (rev 3028)
@@ -105,6 +105,12 @@
g_object_unref (G_OBJECT (pixbuf));
}
+/**
+ * moko_stock_register:
+ *
+ * Register the OpenMoko stock icons for use with stock icon functions.
+ *
+ */
void
moko_stock_register ()
{
--- End Message ---
--- Begin Message ---
Author: thomas
Date: 2007-09-21 21:40:52 +0200 (Fri, 21 Sep 2007)
New Revision: 3029
Modified:
trunk/src/target/OM-2007.2/libraries/moko-gtk-engine/ChangeLog
trunk/src/target/OM-2007.2/libraries/moko-gtk-engine/data/gtkrc
trunk/src/target/OM-2007.2/libraries/moko-gtk-engine/src/moko-draw.c
Log:
* data/gtkrc: Add some gradient and border options to styles
* src/moko-draw.c: (moko_draw_box): Implement gradient option
Modified: trunk/src/target/OM-2007.2/libraries/moko-gtk-engine/ChangeLog
===================================================================
--- trunk/src/target/OM-2007.2/libraries/moko-gtk-engine/ChangeLog
2007-09-21 19:38:51 UTC (rev 3028)
+++ trunk/src/target/OM-2007.2/libraries/moko-gtk-engine/ChangeLog
2007-09-21 19:40:52 UTC (rev 3029)
@@ -1,5 +1,10 @@
2007-09-21 Thomas Wood <[EMAIL PROTECTED]>
+ * data/gtkrc: Add some gradient and border options to styles
+ * src/moko-draw.c: (moko_draw_box): Implement gradient option
+
+2007-09-21 Thomas Wood <[EMAIL PROTECTED]>
+
* src/moko-style.c: (moko_rc_style_merge), (moko_rc_style_parse):
* src/moko-style.h:
Modified: trunk/src/target/OM-2007.2/libraries/moko-gtk-engine/data/gtkrc
===================================================================
--- trunk/src/target/OM-2007.2/libraries/moko-gtk-engine/data/gtkrc
2007-09-21 19:38:51 UTC (rev 3028)
+++ trunk/src/target/OM-2007.2/libraries/moko-gtk-engine/data/gtkrc
2007-09-21 19:40:52 UTC (rev 3029)
@@ -89,6 +89,7 @@
{
engine "moko-engine" {
border = TRUE
+ gradient = TRUE
}
}
class "GtkButton" style "button"
@@ -102,11 +103,15 @@
style "toolbar"
{
- GtkToolbar::internal_padding = 0
+ GtkToolbar::internal_padding = 0
xthickness = 0
ythickness = 0
bg[NORMAL] = "#333333"
+ engine "moko-engine" {
+ gradient = TRUE
+ border = FALSE
+ }
}
class "GtkToolbar" style "toolbar"
@@ -117,6 +122,11 @@
bg[NORMAL] = "#ff7d00"
bg[PRELIGHT] = "#333333"
+
+ engine "moko-engine" {
+ gradient = TRUE
+ border = FALSE
+ }
}
widget_class "*Tool*GtkToggleButton" style "toolitem"
widget_class "*Tool*GtkButton" style "toolitem"
@@ -130,6 +140,30 @@
}
class "GtkNotebook" style "notebook"
+style "menu"
+{
+ GtkMenu::vertical-padding = 8
+ GtkMenu::horizontal-padding = 8
+ engine "moko-engine" {
+ gradient = FALSE
+ border = TRUE
+ }
+}
+class "GtkMenu" style "menu"
+
+style "menuitem"
+{
+ xthickness = 8
+ ythickness = 8
+
+ bg[PRELIGHT] = "#ff7d00"
+
+ engine "moko-engine" {
+ gradient = TRUE
+ }
+}
+widget_class "*MenuItem*" style "menuitem"
+
include "matchboxpanel"
include "openmoko-calculator"
include "openmoko-contacts"
Modified: trunk/src/target/OM-2007.2/libraries/moko-gtk-engine/src/moko-draw.c
===================================================================
--- trunk/src/target/OM-2007.2/libraries/moko-gtk-engine/src/moko-draw.c
2007-09-21 19:38:51 UTC (rev 3028)
+++ trunk/src/target/OM-2007.2/libraries/moko-gtk-engine/src/moko-draw.c
2007-09-21 19:40:52 UTC (rev 3029)
@@ -154,10 +154,15 @@
}
/*** draw the gradient ***/
- if (!DETAIL ("menu") && !DETAIL ("trough"))
- moko_gradient (style, window, state_type, x+1, y+1, width-2, height-2);
+ if (MOKO_RC_STYLE (style->rc_style)->has_gradient)
+ {
+ moko_gradient (style, window, state_type, x, y, width, height);
+ }
+ else
+ {
+ gtk_paint_flat_box (style, window, state_type, shadow_type, area, widget,
detail, x, y, width, height);
+ }
-
if (DETAIL ("trough"))
{
if (widget && GTK_IS_HSCALE (widget))
--- End Message ---
--- Begin Message ---
Author: zecke
Date: 2007-09-22 00:53:37 +0200 (Sat, 22 Sep 2007)
New Revision: 3030
Modified:
trunk/src/target/OM-2007.2/applications/openmoko-browser2/ChangeLog
trunk/src/target/OM-2007.2/applications/openmoko-browser2/src/browser-data.h
Log:
2007-09-21 Holger 'Siddhartha' Freyther <[EMAIL PROTECTED]>
Place the asterisk right.
* src/browser-data.h:
Modified: trunk/src/target/OM-2007.2/applications/openmoko-browser2/ChangeLog
===================================================================
--- trunk/src/target/OM-2007.2/applications/openmoko-browser2/ChangeLog
2007-09-21 19:40:52 UTC (rev 3029)
+++ trunk/src/target/OM-2007.2/applications/openmoko-browser2/ChangeLog
2007-09-21 22:53:37 UTC (rev 3030)
@@ -1,3 +1,9 @@
+2007-09-21 Holger 'Siddhartha' Freyther <[EMAIL PROTECTED]>
+
+ Place the asterisk right.
+
+ * src/browser-data.h:
+
2007-09-18 Holger Hans Peter Freyther <[EMAIL PROTECTED]>
GNU/libc build fix.
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-21 19:40:52 UTC (rev 3029)
+++
trunk/src/target/OM-2007.2/applications/openmoko-browser2/src/browser-data.h
2007-09-21 22:53:37 UTC (rev 3030)
@@ -43,9 +43,9 @@
* The state of the Browser
*/
struct BrowserData {
- GtkWidget *mainWindow;
- GtkWidget *mainNotebook;
- GtkWidget *currentFingerScroll;
+ GtkWidget* mainWindow;
+ GtkWidget* mainNotebook;
+ GtkWidget* currentFingerScroll;
GList* browserPages;
struct BrowserPage* currentPage;
--- End Message ---
--- Begin Message ---
Author: zecke
Date: 2007-09-22 00:53:42 +0200 (Sat, 22 Sep 2007)
New Revision: 3031
Added:
trunk/src/target/OM-2007.2/applications/openmoko-browser2/src/browser-data.c
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/current-page.c
trunk/src/target/OM-2007.2/applications/openmoko-browser2/src/current-page.h
trunk/src/target/OM-2007.2/applications/openmoko-browser2/src/go-page.c
trunk/src/target/OM-2007.2/applications/openmoko-browser2/src/main.c
trunk/src/target/OM-2007.2/applications/openmoko-browser2/src/open-pages-page.c
Log:
2007-09-21 Holger 'Siddhartha' Freyther <[EMAIL PROTECTED]>
Make the "GO"-Page, "Open-Pages"-Page and the "Current"-Page
share a GtkListStore. This avoids to recreate it in Open-Page on every
activation, will keep the GtkTreeSelection and will help us to
bind that to JavaScript.
* src/Makefile.am:
* src/browser-data.c: Copied from src/go-page.h.
(browser_page_finalize):
(browser_page_init):
(browser_page_class_init):
(browser_page_new):
* src/browser-data.h:
* src/current-page.c:
(current_close_page):
(clear_current_page):
(update_current_page_from_iter):
* src/current-page.h:
* src/go-page.c:
(create_new_page_clicked):
* src/main.c:
(main):
* src/open-pages-page.c:
(open_pages_page_cell_data_func):
(selection_changed):
(setup_open_pages_page):
Modified: trunk/src/target/OM-2007.2/applications/openmoko-browser2/ChangeLog
===================================================================
--- trunk/src/target/OM-2007.2/applications/openmoko-browser2/ChangeLog
2007-09-21 22:53:37 UTC (rev 3030)
+++ trunk/src/target/OM-2007.2/applications/openmoko-browser2/ChangeLog
2007-09-21 22:53:42 UTC (rev 3031)
@@ -1,5 +1,33 @@
2007-09-21 Holger 'Siddhartha' Freyther <[EMAIL PROTECTED]>
+ Make the "GO"-Page, "Open-Pages"-Page and the "Current"-Page
+ share a GtkListStore. This avoids to recreate it in Open-Page on every
+ activation, will keep the GtkTreeSelection and will help us to
+ bind that to JavaScript.
+
+ * src/Makefile.am:
+ * src/browser-data.c: Copied from src/go-page.h.
+ (browser_page_finalize):
+ (browser_page_init):
+ (browser_page_class_init):
+ (browser_page_new):
+ * src/browser-data.h:
+ * src/current-page.c:
+ (current_close_page):
+ (clear_current_page):
+ (update_current_page_from_iter):
+ * src/current-page.h:
+ * src/go-page.c:
+ (create_new_page_clicked):
+ * src/main.c:
+ (main):
+ * src/open-pages-page.c:
+ (open_pages_page_cell_data_func):
+ (selection_changed):
+ (setup_open_pages_page):
+
+2007-09-21 Holger 'Siddhartha' Freyther <[EMAIL PROTECTED]>
+
Place the asterisk right.
* src/browser-data.h:
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-21 22:53:37 UTC (rev 3030)
+++ trunk/src/target/OM-2007.2/applications/openmoko-browser2/src/Makefile.am
2007-09-21 22:53:42 UTC (rev 3031)
@@ -8,7 +8,7 @@
bin_PROGRAMS = openmoko-browser2
EXTRA_DIST = browser-data.h current-page.h go-page.h open-pages-page.h
-openmoko_browser2_SOURCES = main.c current-page.c go-page.c open-pages-page.c
+openmoko_browser2_SOURCES = main.c browser-data.c current-page.c go-page.c
open-pages-page.c
openmoko_browser2_LDADD = @OPENMOKO_LIBS@ @WEBKITGTK_LIBS@ @GTHREAD_LIBS@
CLEANFILES = $(stamp_files)
Copied:
trunk/src/target/OM-2007.2/applications/openmoko-browser2/src/browser-data.c
(from rev 3030,
trunk/src/target/OM-2007.2/applications/openmoko-browser2/src/current-page.h)
===================================================================
---
trunk/src/target/OM-2007.2/applications/openmoko-browser2/src/current-page.h
2007-09-21 22:53:37 UTC (rev 3030)
+++
trunk/src/target/OM-2007.2/applications/openmoko-browser2/src/browser-data.c
2007-09-21 22:53:42 UTC (rev 3031)
@@ -0,0 +1,60 @@
+/*
+ * A simple WebBrowser
+ *
+ * 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 "browser-data.h"
+
+G_DEFINE_TYPE(BrowserPage, browser_page, G_TYPE_OBJECT)
+
+static void
+browser_page_finalize (GObject* object)
+{
+ BrowserPage* page = BROWSER_PAGE (object);
+ g_object_unref (page->webKitPage);
+ page->webKitPage = 0;
+}
+
+static void
+browser_page_init (BrowserPage* self)
+{
+ self->webKitPage = NULL;
+}
+
+static void
+browser_page_class_init (BrowserPageClass *klass)
+{
+ G_OBJECT_CLASS(klass)->finalize = browser_page_finalize;
+}
+
+BrowserPage*
+browser_page_new (WebKitGtkPage* webKitPage)
+{
+ BrowserPage* page = BROWSER_PAGE (g_object_new (BROWSER_TYPE_PAGE, 0));
+ page->webKitPage = webKitPage;
+ g_object_ref (page->webKitPage);
+
+ return page;
+}
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-21 22:53:37 UTC (rev 3030)
+++
trunk/src/target/OM-2007.2/applications/openmoko-browser2/src/browser-data.h
2007-09-21 22:53:42 UTC (rev 3031)
@@ -35,10 +35,27 @@
/*
* representation of one page
*/
-struct BrowserPage {
+#define BROWSER_TYPE_PAGE (browser_page_get_type ())
+#define BROWSER_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj),
BROWSER_TYPE_PAGE, BrowserPage))
+#define BROWSER_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CASS((klass),
BROWSER_TYPE_PAGE, BrowserPageClass))
+#define BROWSER_IS_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj),
BROWSER_TYPE_PAGE))
+#define BROWSER_IS_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass),
BROWSER_TYPE_PAGE))
+#define BROWSER_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj),
BROWSER_TYPE_PAGE, BrowserPageClass))
+typedef struct _BrowserPage BrowserPage;
+typedef struct _BrowserPageClass BrowserPageClass;
+
+struct _BrowserPage {
+ GObject parent;
WebKitGtkPage* webKitPage;
};
+struct _BrowserPageClass {
+ GObjectClass parent_class;
+};
+
+GType browser_page_get_type (void);
+BrowserPage* browser_page_new (WebKitGtkPage* page);
+
/*
* The state of the Browser
*/
@@ -47,8 +64,9 @@
GtkWidget* mainNotebook;
GtkWidget* currentFingerScroll;
- GList* browserPages;
- struct BrowserPage* currentPage;
+ GtkListStore* browserPages;
+ BrowserPage* currentPage;
+ GtkTreeIter currentPageIter;
/**
* Two special views for the Browser. The Overview
@@ -82,7 +100,6 @@
* Open-Pages-Page
*/
GtkWidget* pagesBox;
- GtkListStore* pagesStore;
GtkTreeView* pagesView;
};
Modified:
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-21 22:53:37 UTC (rev 3030)
+++
trunk/src/target/OM-2007.2/applications/openmoko-browser2/src/current-page.c
2007-09-21 22:53:42 UTC (rev 3031)
@@ -77,17 +77,15 @@
g_return_if_fail (data->currentPage);
/* XXX FIXME TODO Select a better page, currently the first one is used */
- /* To destroy the WebKitGtkPage we will g_object_unref it */
- struct BrowserPage* oldCurrent = data->currentPage;
- data->browserPages = g_list_remove (data->browserPages, oldCurrent);
- set_current_page (NULL, data);
+ /*
+ * Remove the current page and switch to the Go page or to select another
tab
+ */
+ gtk_list_store_remove (data->browserPages, &data->currentPageIter);
+ clear_current_page (data);
+
+ GtkTreeIter iter;
gtk_notebook_set_current_page (GTK_NOTEBOOK (data->mainNotebook),
- g_list_first(data->browserPages) ? 2 : 1);
-
-
- g_object_unref (oldCurrent->webKitPage);
- g_free (oldCurrent);
-
+ gtk_tree_model_get_iter_first
(GTK_TREE_MODEL (data->browserPages), &iter) ? 2 : 1);
}
void setup_current_page(GtkBox* box, struct BrowserData* data)
@@ -135,11 +133,32 @@
gtk_box_pack_start (box, data->currentFingerScroll, TRUE, TRUE, 0);
}
+void clear_current_page (struct BrowserData* data)
+{
+ if (data->currentPage) {
+ gtk_container_remove (GTK_CONTAINER (data->currentFingerScroll),
GTK_WIDGET (data->currentPage->webKitPage));
+ g_signal_handlers_disconnect_by_func(data->currentPage->webKitPage,
(gpointer)current_progress_changed, data);
+ }
+
+ data->currentPage = NULL;
+ gtk_widget_set_sensitive (GTK_WIDGET (data->currentBack), FALSE);
+ gtk_widget_set_sensitive (GTK_WIDGET (data->currentForward), FALSE);
+ gtk_widget_set_sensitive (GTK_WIDGET (data->currentStop), FALSE);
+ gtk_widget_set_sensitive (GTK_WIDGET (data->currentAdd), FALSE);
+ gtk_widget_set_sensitive (GTK_WIDGET (data->currentClose), FALSE);
+}
+
/*
* The current page changed
*/
-void set_current_page(struct BrowserPage* page, struct BrowserData* data)
+void update_current_page_from_iter(struct BrowserData* data)
{
+ g_assert (gtk_list_store_iter_is_valid (data->browserPages,
&data->currentPageIter));
+
+ BrowserPage* page;
+ gtk_tree_model_get (GTK_TREE_MODEL (data->browserPages),
&data->currentPageIter, 0, &page, -1);
+ g_object_unref (page);
+
if (page == data->currentPage)
return;
@@ -148,26 +167,17 @@
g_signal_handlers_disconnect_by_func(data->currentPage->webKitPage,
(gpointer)current_progress_changed, data);
}
- if (!page) {
- data->currentPage = NULL;
- gtk_widget_set_sensitive (GTK_WIDGET (data->currentBack), FALSE);
- gtk_widget_set_sensitive (GTK_WIDGET (data->currentForward), FALSE);
- gtk_widget_set_sensitive (GTK_WIDGET (data->currentStop), FALSE);
- gtk_widget_set_sensitive (GTK_WIDGET (data->currentAdd), FALSE);
- gtk_widget_set_sensitive (GTK_WIDGET (data->currentClose), FALSE);
- } else {
- data->currentPage = page;
- g_signal_connect(data->currentPage->webKitPage,
"load-progress-changed", G_CALLBACK(current_progress_changed), data);
- gtk_container_add (GTK_CONTAINER (data->currentFingerScroll),
GTK_WIDGET (data->currentPage->webKitPage));
- gtk_widget_show (GTK_WIDGET (data->currentPage->webKitPage));
+ data->currentPage = page;
+ g_signal_connect(data->currentPage->webKitPage, "load-progress-changed",
G_CALLBACK(current_progress_changed), data);
+ gtk_container_add (GTK_CONTAINER (data->currentFingerScroll), GTK_WIDGET
(data->currentPage->webKitPage));
+ gtk_widget_show (GTK_WIDGET (data->currentPage->webKitPage));
- /*
- * Update the GtkToolItems
- */
- /* XXX ### FIXME TODO check if we should show stop/reload */
- gtk_widget_set_sensitive (GTK_WIDGET (data->currentBack),
webkit_gtk_page_can_go_backward (data->currentPage->webKitPage));
- gtk_widget_set_sensitive (GTK_WIDGET (data->currentForward),
webkit_gtk_page_can_go_forward (data->currentPage->webKitPage));
- gtk_widget_set_sensitive (GTK_WIDGET (data->currentAdd),
webkit_gtk_frame_get_title (webkit_gtk_page_get_main_frame
(data->currentPage->webKitPage)) != NULL);
- gtk_widget_set_sensitive (GTK_WIDGET (data->currentClose), TRUE);
- }
+ /*
+ * Update the GtkToolItems
+ */
+ /* XXX ### FIXME TODO check if we should show stop/reload */
+ gtk_widget_set_sensitive (GTK_WIDGET (data->currentBack),
webkit_gtk_page_can_go_backward (data->currentPage->webKitPage));
+ gtk_widget_set_sensitive (GTK_WIDGET (data->currentForward),
webkit_gtk_page_can_go_forward (data->currentPage->webKitPage));
+ gtk_widget_set_sensitive (GTK_WIDGET (data->currentAdd),
webkit_gtk_frame_get_title (webkit_gtk_page_get_main_frame
(data->currentPage->webKitPage)) != NULL);
+ gtk_widget_set_sensitive (GTK_WIDGET (data->currentClose), TRUE);
}
Modified:
trunk/src/target/OM-2007.2/applications/openmoko-browser2/src/current-page.h
===================================================================
---
trunk/src/target/OM-2007.2/applications/openmoko-browser2/src/current-page.h
2007-09-21 22:53:37 UTC (rev 3030)
+++
trunk/src/target/OM-2007.2/applications/openmoko-browser2/src/current-page.h
2007-09-21 22:53:42 UTC (rev 3031)
@@ -30,6 +30,7 @@
#include "browser-data.h"
void setup_current_page(GtkBox* box, struct BrowserData* data);
-void set_current_page(struct BrowserPage* page, struct BrowserData* data);
+void update_current_page_from_iter(struct BrowserData* data);
+void clear_current_page(struct BrowserData* data);
#endif
Modified:
trunk/src/target/OM-2007.2/applications/openmoko-browser2/src/go-page.c
===================================================================
--- trunk/src/target/OM-2007.2/applications/openmoko-browser2/src/go-page.c
2007-09-21 22:53:37 UTC (rev 3030)
+++ trunk/src/target/OM-2007.2/applications/openmoko-browser2/src/go-page.c
2007-09-21 22:53:42 UTC (rev 3031)
@@ -138,13 +138,11 @@
else
url = autocorrect_url (gtk_entry_get_text (data->goUrlEntry));
- struct BrowserPage* page = g_new(struct BrowserPage, 1);
- page->webKitPage = WEBKIT_GTK_PAGE (webkit_gtk_page_new ());
-
- data->browserPages = g_list_append (data->browserPages, page);
+ BrowserPage* page = browser_page_new (WEBKIT_GTK_PAGE (webkit_gtk_page_new
()));
+ gtk_list_store_append (data->browserPages, &data->currentPageIter);
+ gtk_list_store_set (data->browserPages, &data->currentPageIter, 0, page,
-1);
webkit_gtk_page_open (page->webKitPage, url);
- set_current_page (page, data);
- g_object_ref (page->webKitPage);
+ update_current_page_from_iter (data);
gtk_notebook_set_current_page (GTK_NOTEBOOK (data->mainNotebook), 0);
}
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-21 22:53:37 UTC (rev 3030)
+++ trunk/src/target/OM-2007.2/applications/openmoko-browser2/src/main.c
2007-09-21 22:53:42 UTC (rev 3031)
@@ -64,6 +64,7 @@
gtk_main ();
gdk_threads_leave ();
+ g_object_unref (data->browserPages);
g_free (data);
return EXIT_SUCCESS;
@@ -76,6 +77,7 @@
static void setup_ui (struct BrowserData* data)
{
+ data->browserPages = GTK_LIST_STORE (gtk_list_store_new (1,
BROWSER_TYPE_PAGE));
data->mainWindow = gtk_window_new (GTK_WINDOW_TOPLEVEL);
g_signal_connect (data->mainWindow, "delete-event",
G_CALLBACK(window_delete_event), NULL);
Modified:
trunk/src/target/OM-2007.2/applications/openmoko-browser2/src/open-pages-page.c
===================================================================
---
trunk/src/target/OM-2007.2/applications/openmoko-browser2/src/open-pages-page.c
2007-09-21 22:53:37 UTC (rev 3030)
+++
trunk/src/target/OM-2007.2/applications/openmoko-browser2/src/open-pages-page.c
2007-09-21 22:53:42 UTC (rev 3031)
@@ -34,9 +34,15 @@
#include <glib/gi18n.h>
-static gint find_browser_page (struct BrowserPage* page, WebKitGtkPage*
webKitPage)
+static void open_pages_page_cell_data_func(GtkTreeViewColumn* tree_column,
GtkCellRenderer* ren, GtkTreeModel* tree_model, GtkTreeIter* iter, gpointer
data)
{
- return !(page->webKitPage == webKitPage);
+ BrowserPage* page;
+ gtk_tree_model_get (tree_model, iter, 0, &page, -1);
+ g_assert (page);
+
+ /* XXX, FIXME, TODO check that we don't have any race conditions here. We
might get a new title inside WebKit while using that string? */
+ g_object_set (G_OBJECT (ren), "text", webkit_gtk_frame_get_title
(webkit_gtk_page_get_main_frame (page->webKitPage)), NULL);
+ g_object_unref (page);
}
/*
@@ -51,61 +57,24 @@
if (!has_selection)
return;
- WebKitGtkPage* page = 0;
- gtk_tree_model_get (model, &iter, 1, &page, -1);
- g_assert (page);
-
- /*
- * now find a page a BrowserPage
- */
- GList* element = g_list_find_custom(data->browserPages, page,
(GCompareFunc)find_browser_page);
- if (element)
- set_current_page ((struct BrowserPage*)element->data, data);
-
- g_object_unref (page);
+ data->currentPageIter = iter;
+ update_current_page_from_iter (data);
}
-static void pages_add_to_list_store(struct BrowserPage* page, GtkListStore*
store)
-{
- GtkTreeIter iter;
- gtk_list_store_append (store, &iter);
- gtk_list_store_set (store, &iter,
- 0, g_strdup (webkit_gtk_frame_get_title
(webkit_gtk_page_get_main_frame (page->webKitPage))),
- 1, page->webKitPage,
- -1);
-}
-
-/*
- * For now rebuild the GtkListStore
- *
- * XXX FIXME TODO Make Current, Go and Pages use the same GtkListStore
- * and share the code with the bookmarks.
- */
-static void switched_notebook_tab(GtkNotebook* notebook, GtkNotebookPage*
page, guint page_num, struct BrowserData* data)
-{
- if (gtk_notebook_get_nth_page (notebook, page_num) == data->pagesBox) {
- gtk_list_store_clear (data->pagesStore);
- g_list_foreach (data->browserPages, (GFunc)pages_add_to_list_store,
data->pagesStore);
- }
-}
-
void setup_open_pages_page(GtkBox* box, struct BrowserData* data)
{
data->pagesBox = GTK_WIDGET (box);
- g_signal_connect (data->mainNotebook, "switch-page",
G_CALLBACK(switched_notebook_tab), data);
- /* URL/title and WebKitGtkPage, as it is a GObject */
- data->pagesStore = gtk_list_store_new (2, G_TYPE_STRING, G_TYPE_OBJECT);
-
GtkContainer* scrolled = GTK_CONTAINER (moko_finger_scroll_new ());
gtk_box_pack_start (box, GTK_WIDGET(scrolled), TRUE, TRUE, 0);
- data->pagesView = GTK_TREE_VIEW (gtk_tree_view_new_with_model
(GTK_TREE_MODEL (data->pagesStore)));
+ data->pagesView = GTK_TREE_VIEW (gtk_tree_view_new_with_model
(GTK_TREE_MODEL (data->browserPages)));
gtk_container_add (scrolled, GTK_WIDGET (data->pagesView));
g_signal_connect (gtk_tree_view_get_selection (data->pagesView),
"changed", G_CALLBACK(selection_changed), data);
GtkCellRenderer* ren = GTK_CELL_RENDERER (gtk_cell_renderer_text_new ());
- GtkTreeViewColumn* column = gtk_tree_view_column_new_with_attributes
(_("Title"), ren, "text", 0, NULL);
+ GtkTreeViewColumn* column = gtk_tree_view_column_new_with_attributes
(_("Title"), ren, NULL);
+ gtk_tree_view_column_set_cell_data_func (column, ren,
open_pages_page_cell_data_func, NULL, NULL);
gtk_tree_view_column_set_expand (column, TRUE);
gtk_tree_view_append_column (data->pagesView, column);
}
--- End Message ---
_______________________________________________
commitlog mailing list
[email protected]
http://lists.openmoko.org/mailman/listinfo/commitlog