From fb2031fae2cf720b78fd1ce4315b18e4ac1d1ebc Mon Sep 17 00:00:00 2001 From: "Dr. Johann Pfefferl" Date: Sat, 8 May 2010 20:38:26 +0200 Subject: [PATCH] Put the button into a hbox --- gps-tracker.c | 31 ++++++++++++++++--------------- 1 file changed, 16 insertions(+), 15 deletions(-) diff --git a/gps-tracker.c b/gps-tracker.c index d089850..9b4746f 100644 --- a/gps-tracker.c +++ b/gps-tracker.c @@ -11,13 +11,11 @@ typedef struct { HildonProgram *program; HildonWindow *window; - GtkWidget * main_vbox; + GtkWidget * main_vbox, *btn_hbox; GtkWidget *status_label; GtkButton *start_button; } AppData; -static GtkWidget *window = NULL; - static gchar * interface_file_chooser (AppData * appdata, GtkFileChooserAction action) { GtkWidget *dialog; @@ -34,7 +32,7 @@ static gchar * interface_file_chooser (AppData * appdata, GtkFileChooserAction a return filename; } -static void cb_example_file_save (GtkWidget * w, AppData * data) +static void cb_file_save (GtkWidget * w, AppData * data) { gchar *filename = NULL; filename = interface_file_chooser (data, GTK_FILE_CHOOSER_ACTION_SAVE); @@ -54,6 +52,7 @@ static void cb_example_file_save (GtkWidget * w, AppData * data) static void on_gps_device_changed (LocationGPSDevice *device, gpointer data) { + AppData *app_data = data; GtkLabel *info = (GtkLabel*)data; GString *msg; if (!device) @@ -112,7 +111,7 @@ on_gps_device_changed (LocationGPSDevice *device, gpointer data) g_print ("GPS status: %d\n", device->status); g_string_append_printf (msg, "GPS status: %d\n", device->status); - hildon_gtk_window_set_progress_indicator(GTK_WINDOW(window), device->status == LOCATION_GPS_DEVICE_STATUS_NO_FIX); + hildon_gtk_window_set_progress_indicator(GTK_WINDOW(app_data->window), device->status == LOCATION_GPS_DEVICE_STATUS_NO_FIX); if (device->cell_info) { @@ -158,10 +157,11 @@ int main (int argc, char **argv) data->program = hildon_program_get_instance (); g_set_application_name("GPS tracker"); - window = hildon_stackable_window_new (); - hildon_program_add_window (data->program, HILDON_WINDOW (window)); + data->window = HILDON_WINDOW(hildon_stackable_window_new ()); + hildon_program_add_window (data->program, HILDON_WINDOW (data->window)); data->main_vbox = (void*)gtk_vbox_new(FALSE, 0); + data->btn_hbox = (void*)gtk_hbox_new(TRUE, 0); /* Create a picker button */ picker_button = hildon_date_button_new (HILDON_SIZE_AUTO, @@ -170,20 +170,21 @@ int main (int argc, char **argv) /* Set a title to the button*/ hildon_button_set_title (HILDON_BUTTON (picker_button), "Pick a date"); - data->start_button = GTK_BUTTON (hildon_gtk_button_new (HILDON_SIZE_THUMB_HEIGHT)); + data->start_button = GTK_BUTTON (hildon_gtk_button_new (HILDON_SIZE_THUMB_HEIGHT | HILDON_SIZE_HALFSCREEN_WIDTH)); gtk_button_set_label (data->start_button, "Start"); - gtk_box_pack_start(GTK_BOX(data->main_vbox), GTK_WIDGET(data->start_button), FALSE, FALSE, 8); + gtk_box_pack_start(GTK_BOX(data->btn_hbox), GTK_WIDGET(data->start_button), FALSE, FALSE, 8); + gtk_box_pack_start(GTK_BOX(data->main_vbox), GTK_WIDGET(data->btn_hbox), FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(data->main_vbox), GTK_WIDGET(picker_button), FALSE, FALSE, 0); data->status_label = gtk_label_new("Hier kommt der Status hin\nUnd hier ist die 2. Zeile"); gtk_box_pack_start_defaults(GTK_BOX(data->main_vbox), data->status_label); /* Add vbox to main window */ - gtk_container_add (GTK_CONTAINER (window), GTK_WIDGET(data->main_vbox)); + gtk_container_add (GTK_CONTAINER (data->window), GTK_WIDGET(data->main_vbox)); - g_signal_connect (G_OBJECT (window), "destroy", + g_signal_connect (G_OBJECT (data->window), "destroy", G_CALLBACK (gtk_main_quit), NULL); control = location_gpsd_control_get_default (); - hildon_banner_show_information(GTK_WIDGET(window), NULL, "Hi there!"); + hildon_banner_show_information(GTK_WIDGET(data->window), NULL, "Hi there!"); location_gpsd_control_start (control); /* @@ -202,11 +203,11 @@ int main (int argc, char **argv) g_signal_connect (control, "error", G_CALLBACK (on_gps_error), NULL); g_signal_connect (control, "gpsd-running", G_CALLBACK (on_gps_start), NULL); g_signal_connect (control, "gpsd-stopped", G_CALLBACK (on_gps_stop), NULL); - g_signal_connect (device, "changed", G_CALLBACK (on_gps_device_changed), data->status_label); + g_signal_connect (device, "changed", G_CALLBACK (on_gps_device_changed), data); - gtk_widget_show_all (GTK_WIDGET (window)); + gtk_widget_show_all (GTK_WIDGET (data->window)); - hildon_gtk_window_set_progress_indicator(GTK_WINDOW(window), 1); + hildon_gtk_window_set_progress_indicator(GTK_WINDOW(data->window), 1); gtk_main (); location_gpsd_control_stop (control); -- 1.7.9.5