Changeset 3313


Ignore:
Timestamp:
10/31/07 17:40:21 (6 years ago)
Author:
chris
Message:
  • configure.ac:
  • src/Makefile.am: Remove libnotify dependency
  • src/worldclock-main.c: (zoom_map), (settings_clicked_cb), (map_button_press_event_cb), (main): Add a digital clock option to the settings dialog, put the world map in an aspect frame, add a callback when the map is clicked
Location:
trunk/src/target/OM-2007.2/applications/openmoko-worldclock2
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/target/OM-2007.2/applications/openmoko-worldclock2/ChangeLog

    r3301 r3313  
     12007-10-31  Chris Lord  <chris@openedhand.com> 
     2 
     3        * configure.ac: 
     4        * src/Makefile.am: 
     5        Remove libnotify dependency 
     6 
     7        * src/worldclock-main.c: (zoom_map), (settings_clicked_cb), 
     8        (map_button_press_event_cb), (main): 
     9        Add a digital clock option to the settings dialog, put the world map in 
     10        an aspect frame, add a callback when the map is clicked 
     11 
    1122007-10-29  Chris Lord  <chris@openedhand.com> 
    213 
  • trunk/src/target/OM-2007.2/applications/openmoko-worldclock2/configure.ac

    r3301 r3313  
    1414PKG_CHECK_MODULES(MOKOUI, libmokoui2 >= 0.3) 
    1515PKG_CHECK_MODULES(JANA, libjana libjana-ecal libjana-gtk) 
    16 PKG_CHECK_MODULES(NOTIFY, libnotify >= 0.4) 
     16#PKG_CHECK_MODULES(NOTIFY, libnotify >= 0.4) 
    1717 
    1818AC_OUTPUT([ 
  • trunk/src/target/OM-2007.2/applications/openmoko-worldclock2/src/Makefile.am

    r3301 r3313  
    11 
    2 AM_CPPFLAGS = -DPKGDATADIR=\"$(pkgdatadir)\" $(GTK_CFLAGS) $(JANA_CFLAGS) $(MOKOUI_CFLAGS) $(NOTIFY_CFLAGS) -Wall 
    3 AM_LDFLAGS = $(GTK_LIBS) $(JANA_LIBS) $(MOKOUI_LIBS) $(NOTIFY_LIBS) 
     2AM_CPPFLAGS = -DPKGDATADIR=\"$(pkgdatadir)\" $(GTK_CFLAGS) $(JANA_CFLAGS) $(MOKOUI_CFLAGS) -Wall 
     3AM_LDFLAGS = $(GTK_LIBS) $(JANA_LIBS) $(MOKOUI_LIBS) 
    44 
    55bin_PROGRAMS=openmoko-worldclock 
  • trunk/src/target/OM-2007.2/applications/openmoko-worldclock2/src/worldclock-main.c

    r3301 r3313  
    2727#include "worldclock-data.h" 
    2828 
     29#define GCONF_POKY_INTERFACE_PREFIX "/desktop/poky/interface" 
     30#define GCONF_POKY_DIGITAL "/digital_clock" 
     31 
    2932static gchar *location; 
    3033 
     
    3235        GtkWidget *window; 
    3336        GtkWidget *map; 
     37        GtkWidget *map_aspect; 
    3438        GtkWidget *load_window; 
    3539        GtkWidget *load_bar; 
     
    5559        if (data->zoom_level <= 0.95) { 
    5660                data->zoom_level = 1; 
    57                 gtk_widget_set_size_request (data->map, -1, -1); 
     61                gtk_widget_set_size_request (data->map_aspect, -1, -1); 
    5862        } else { 
    5963                gint width, height; 
    6064                gtk_window_get_size (GTK_WINDOW (data->window), 
    6165                        &width, &height); 
    62                 gtk_widget_set_size_request (data->map, 
    63                         width * data->zoom_level, 
    64                         height * data->zoom_level); 
     66                width *= data->zoom_level; 
     67                gtk_widget_set_size_request (data->map_aspect, 
     68                        width, (height > (width/2)) ? -1 : width / 2); 
    6569        } 
    6670} 
     
    113117settings_clicked_cb (GtkToolButton *button, WorldClockData *data) 
    114118{ 
    115         GtkWidget *time_dialog, *datetime; 
     119        GtkWidget *time_dialog, *datetime, *check; 
    116120        gchar *location; 
    117121        JanaTime *time; 
     
    140144#endif 
    141145         
    142         gtk_container_add (GTK_CONTAINER ( 
    143                 GTK_DIALOG (time_dialog)->vbox), datetime); 
     146        check = gtk_check_button_new_with_label ("Use a digital clock"); 
     147        gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (check), 
     148                gconf_client_get_bool (gconf_client_get_default (), 
     149                GCONF_POKY_INTERFACE_PREFIX GCONF_POKY_DIGITAL, NULL)); 
     150         
     151        gtk_container_set_border_width (GTK_CONTAINER (time_dialog), 6); 
     152        gtk_box_set_spacing (GTK_BOX (GTK_DIALOG (time_dialog)->vbox), 12); 
     153        gtk_box_pack_start (GTK_BOX (GTK_DIALOG (time_dialog)->vbox), 
     154                datetime, FALSE, TRUE, 0); 
    144155        gtk_widget_show (datetime); 
     156        gtk_box_pack_start (GTK_BOX (GTK_DIALOG (time_dialog)->vbox), 
     157                check, FALSE, TRUE, 0); 
     158        gtk_widget_show (check); 
    145159         
    146160        gtk_dialog_run (GTK_DIALOG (time_dialog)); 
     
    166180                g_object_unref (time); 
    167181        } 
     182         
     183        gconf_client_set_bool (gconf_client_get_default (), 
     184                GCONF_POKY_INTERFACE_PREFIX GCONF_POKY_DIGITAL, 
     185                gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (check)), NULL); 
    168186         
    169187        gtk_widget_destroy (time_dialog); 
     
    247265} 
    248266 
     267static gboolean 
     268map_button_press_event_cb (JanaGtkWorldMap *map, GdkEventButton *event, 
     269                           WorldClockData *data) 
     270{ 
     271        gdouble lat, lon; 
     272         
     273        jana_gtk_world_map_get_latlon (map, event->x, event->y, &lat, &lon); 
     274        g_message ("Map clicked at latitude, longitude: %lg, %lg", lat, lon); 
     275         
     276        return FALSE; 
     277} 
     278 
    249279int 
    250280main (int argc, char **argv) 
     
    292322        data.map = jana_gtk_world_map_new (); 
    293323        add_marks (&data); 
     324        gtk_widget_add_events (GTK_WIDGET (data.map), GDK_BUTTON_PRESS_MASK); 
     325        g_signal_connect (data.map, "button-press-event", 
     326                G_CALLBACK (map_button_press_event_cb), NULL); 
     327         
     328        data.map_aspect = gtk_aspect_frame_new (NULL, 0.5, 0.5, 2.0, FALSE); 
     329        gtk_frame_set_shadow_type (GTK_FRAME ( 
     330                data.map_aspect), GTK_SHADOW_NONE); 
     331        gtk_container_add (GTK_CONTAINER (data.map_aspect), data.map); 
     332         
    294333        scroll = moko_finger_scroll_new (); 
    295334        moko_finger_scroll_add_with_viewport (MOKO_FINGER_SCROLL (scroll), 
    296                 data.map); 
     335                data.map_aspect); 
    297336        g_object_set (G_OBJECT (scroll), "mode", MOKO_FINGER_SCROLL_MODE_PUSH, 
    298337                NULL); 
Note: See TracChangeset for help on using the changeset viewer.