Diff of /trunk/src/notes.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 232 by harbaum, Thu Dec 3 20:07:13 2009 UTC revision 233 by harbaum, Wed Dec 9 19:45:36 2009 UTC
# Line 48  void gtk_text_buffer_set_rich_text_forma Line 48  void gtk_text_buffer_set_rich_text_forma
48    
49  #define TAG_STATE  GTK_STATE_PRELIGHT  #define TAG_STATE  GTK_STATE_PRELIGHT
50    
 static GtkWidget *check_button_new_with_label(char *label) {  
 #if !defined(USE_MAEMO) || (MAEMO_VERSION_MAJOR < 5)  
   return gtk_check_button_new_with_label(label);  
 #else  
   GtkWidget *cbut =  
     hildon_check_button_new(HILDON_SIZE_FINGER_HEIGHT | HILDON_SIZE_AUTO_WIDTH);  
   gtk_button_set_label(GTK_BUTTON(cbut), label);  
   return cbut;  
 #endif  
 }  
   
 static void check_button_set_active(GtkWidget *button, gboolean active) {  
 #if !defined(USE_MAEMO) || (MAEMO_VERSION_MAJOR < 5)  
   gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button), active);  
 #else  
   hildon_check_button_set_active(HILDON_CHECK_BUTTON(button), active);  
 #endif  
 }  
   
 static gboolean check_button_get_active(GtkWidget *button) {  
 #if !defined(USE_MAEMO) || (MAEMO_VERSION_MAJOR < 5)  
   return gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(button));  
 #else  
   return hildon_check_button_get_active(HILDON_CHECK_BUTTON(button));  
 #endif  
 }  
   
51  static notes_t *notes_load(appdata_t *appdata, cache_t *cache) {  static notes_t *notes_load(appdata_t *appdata, cache_t *cache) {
52    notes_t *notes = NULL;    notes_t *notes = NULL;
53    xmlDoc *doc = NULL;    xmlDoc *doc = NULL;
# Line 778  typedef struct { Line 751  typedef struct {
751    GtkWidget *info_label;    GtkWidget *info_label;
752    GtkWidget *dialog;    GtkWidget *dialog;
753    appdata_t *appdata;    appdata_t *appdata;
   GtkWidget *path_label;  
754  } export_context_t;  } export_context_t;
755    
 static void on_browse(GtkWidget *widget, gpointer data) {  
   GtkWidget *dialog;  
   
   export_context_t *context = (export_context_t*)data;  
   
 #ifdef USE_MAEMO  
   dialog = hildon_file_chooser_dialog_new(GTK_WINDOW(context->dialog),  
                                           GTK_FILE_CHOOSER_ACTION_SAVE);  
 #else  
   dialog = gtk_file_chooser_dialog_new(_("Save POI database"),  
                                        GTK_WINDOW(context->dialog),  
                                        GTK_FILE_CHOOSER_ACTION_SAVE,  
                                        GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,  
                                        GTK_STOCK_OPEN, GTK_RESPONSE_ACCEPT,  
                                        NULL);  
 #endif  
   
   printf("set filename <%s>\n", context->appdata->fieldnotes_path);  
   
   if(!g_file_test(context->appdata->fieldnotes_path, G_FILE_TEST_EXISTS)) {  
     char *last_sep = strrchr(context->appdata->fieldnotes_path, '/');  
     if(last_sep) {  
       *last_sep = 0;  // seperate path from file  
   
       /* the user just created a new document */  
       gtk_file_chooser_set_current_folder(GTK_FILE_CHOOSER(dialog),  
                                           context->appdata->fieldnotes_path);  
       gtk_file_chooser_set_current_name(GTK_FILE_CHOOSER(dialog), last_sep+1);  
   
       /* restore full filename */  
       *last_sep = '/';  
     }  
   } else  
     gtk_file_chooser_set_filename(GTK_FILE_CHOOSER(dialog),  
                                   context->appdata->fieldnotes_path);  
   
   if (gtk_dialog_run (GTK_DIALOG(dialog)) == GTK_FM_OK) {  
     gchar *name = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(dialog));  
     if(name) {  
       free(context->appdata->fieldnotes_path);  
       context->appdata->fieldnotes_path = strdup(name);  
       gtk_label_set_text(GTK_LABEL(context->path_label),  
                          context->appdata->fieldnotes_path);  
     }  
   }  
   
   gtk_widget_destroy (dialog);  
 }  
   
756  typedef struct log_chain_s {  typedef struct log_chain_s {
757    cache_t *cache;    cache_t *cache;
758    struct log_chain_s *next;    struct log_chain_s *next;
# Line 919  void notes_log_export(appdata_t *appdata Line 842  void notes_log_export(appdata_t *appdata
842    /* ------------------ path/file ------------------ */    /* ------------------ path/file ------------------ */
843    gtk_box_pack_start_defaults(GTK_BOX(vbox), gtk_hseparator_new());    gtk_box_pack_start_defaults(GTK_BOX(vbox), gtk_hseparator_new());
844    
845    GtkWidget *hbox = gtk_hbox_new(FALSE, 0);    gtk_box_pack_start_defaults(GTK_BOX(vbox),
846    GtkWidget *label = gtk_label_new(_("Export to:"));       export_file(_("Save POI database"), &appdata->fieldnotes_path));
   gtk_box_pack_start(GTK_BOX(hbox), label, TRUE, TRUE,0);  
   gtk_misc_set_alignment(GTK_MISC(label), 0.f, 0.5f);  
   GtkWidget *button = gtk_button_new_with_label(_("Browse"));  
 #if defined(USE_MAEMO) && (MAEMO_VERSION_MAJOR == 5)  
   hildon_gtk_widget_set_theme_size(button,  
            (HILDON_SIZE_FINGER_HEIGHT | HILDON_SIZE_AUTO_WIDTH));  
 #endif  
   gtk_signal_connect(GTK_OBJECT(button), "clicked",  
                      GTK_SIGNAL_FUNC(on_browse), (gpointer)&context);  
   gtk_box_pack_start(GTK_BOX(hbox), button, FALSE, FALSE,0);  
   gtk_box_pack_start_defaults(GTK_BOX(vbox), hbox);  
   
   context.path_label = gtk_label_new(appdata->fieldnotes_path);  
   gtk_misc_set_alignment(GTK_MISC(context.path_label), 0.f, 0.5f);  
   gtk_label_set_ellipsize(GTK_LABEL(context.path_label),  
                           PANGO_ELLIPSIZE_MIDDLE);  
   gtk_box_pack_start_defaults(GTK_BOX(vbox), context.path_label);  
847    
848    label = gtk_label_new(_("(a %s in the filename will be replaced by the "    GtkWidget *label =
849                            "current date and time)"));      gtk_label_new(_("(a %s in the filename will be replaced by the "
850                        "current date and time)"));
851    gtk_label_set_line_wrap_mode(GTK_LABEL(label), PANGO_WRAP_WORD);    gtk_label_set_line_wrap_mode(GTK_LABEL(label), PANGO_WRAP_WORD);
852    gtk_label_set_line_wrap(GTK_LABEL(label), TRUE);    gtk_label_set_line_wrap(GTK_LABEL(label), TRUE);
853    gtk_misc_set_alignment(GTK_MISC(label), 0.f, 0.5f);    gtk_misc_set_alignment(GTK_MISC(label), 0.f, 0.5f);

Legend:
Removed from v.232  
changed lines
  Added in v.233