gnucash maint: Multiple changes pushed

Geert Janssens gjanssens at code.gnucash.org
Mon Sep 22 17:31:22 EDT 2014


Updated	 via  https://github.com/Gnucash/gnucash/commit/345f576b (commit)
	 via  https://github.com/Gnucash/gnucash/commit/48f2e8bb (commit)
	 via  https://github.com/Gnucash/gnucash/commit/7d7d2014 (commit)
	from  https://github.com/Gnucash/gnucash/commit/5c207dae (commit)



commit 345f576bf731ebec0e30dd3e51ac536e64e415aa
Author: Geert Janssens <janssens-geert at telenet.be>
Date:   Mon Sep 22 23:30:16 2014 +0200

    Avoid undocumented dependency on progress page type in assistant to skip page
    
    Instead, simply delete page when not needed

diff --git a/src/import-export/csv-exp/assistant-csv-export.c b/src/import-export/csv-exp/assistant-csv-export.c
index 78a158d..b4ddb05 100644
--- a/src/import-export/csv-exp/assistant-csv-export.c
+++ b/src/import-export/csv-exp/assistant-csv-export.c
@@ -668,13 +668,7 @@ csv_export_assistant_start_page_prepare (GtkAssistant *assistant,
 
     /* Set Start page text */
     if (info->export_type == XML_EXPORT_TREE)
-    {
-        GtkWidget *page = gtk_assistant_get_nth_page (assistant, num + 1);
-
-        /* Change the Account page from Content to Progress to make the back button work */
-        gtk_assistant_set_page_type (assistant, page, GTK_ASSISTANT_PAGE_PROGRESS);
         gtk_label_set_text (GTK_LABEL(info->start_label), gettext (start_tree_string));
-    }
     else
         gtk_label_set_text (GTK_LABEL(info->start_label), gettext (start_trans_string));
 
@@ -691,10 +685,6 @@ csv_export_assistant_account_page_prepare (GtkAssistant *assistant,
     gint num = gtk_assistant_get_current_page (assistant);
     GtkWidget *page = gtk_assistant_get_nth_page (assistant, num);
 
-    /* If we are doing tree export, step over account select page */
-    if (info->export_type == XML_EXPORT_TREE)
-        gtk_assistant_set_current_page (assistant, num + 1 );
-
     /* Enable the Forward Assistant Button if we have accounts */
     if (info->csva.num_accounts > 0)
         gtk_assistant_set_page_complete (assistant, page, TRUE);
@@ -771,31 +761,20 @@ void
 csv_export_assistant_prepare (GtkAssistant *assistant, GtkWidget *page,
                               gpointer user_data)
 {
-    gint currentpage = gtk_assistant_get_current_page(assistant);
+    CsvExportInfo *info = user_data;
 
-    switch (currentpage)
-    {
-    case 0:
-        /* Current page is Start page */
+    if (page == info->start_page)
         csv_export_assistant_start_page_prepare (assistant, user_data);
-        break;
-    case 1:
-        /* Current page is Account select page */
+    else if (page == info->account_page)
         csv_export_assistant_account_page_prepare (assistant, user_data);
-        break;
-    case 2:
-        /* Current page is file select page */
+    else if (page == info->file_page)
         csv_export_assistant_file_page_prepare (assistant, user_data);
-        break;
-    case 3:
-        /* Current page is Finish page */
+    else if (page == info->finish_label)
         csv_export_assistant_finish_page_prepare (assistant, user_data);
-        break;
-    case 4:
-        /* Current page is Summary page */
+    else if (page == info->summary_label)
         csv_export_assistant_summary_page_prepare (assistant, user_data);
-        break;
-    }
+    else
+        g_assert_not_reached();
 }
 
 
@@ -872,11 +851,17 @@ csv_export_assistant_create (CsvExportInfo *info)
     load_settings (info);
 
     /* Start Page */
+    info->start_page = GTK_WIDGET(gtk_builder_get_object(builder, "start_page"));
     info->start_label = GTK_WIDGET(gtk_builder_get_object(builder, "start_label"));
     info->custom_entry = GTK_WIDGET(gtk_builder_get_object(builder, "custom_entry"));
     gtk_widget_set_sensitive(info->custom_entry, FALSE);
 
     /* Account Page */
+    info->account_page = GTK_WIDGET(gtk_builder_get_object(builder, "account_page"));
+
+    if (info->export_type == XML_EXPORT_TREE)
+        gtk_widget_destroy (info->account_page);
+    else
     {
         GtkTreeView *tree_view;
         GtkTreeSelection *selection;
@@ -921,12 +906,8 @@ csv_export_assistant_create (CsvExportInfo *info)
                           G_CALLBACK  (csv_export_info_acct_type_cb), info);
         g_signal_connect (G_OBJECT (liab_eq_radio), "toggled",
                           G_CALLBACK  (csv_export_info_acct_type_cb), info);
-    }
-
-    /* select subaccounts button */
-    {
-        GtkWidget *button;
 
+        /* select subaccounts button */
         button = GTK_WIDGET(gtk_builder_get_object (builder, "select_subaccounts_button"));
         info->csva.select_button = button;
 
@@ -934,51 +915,52 @@ csv_export_assistant_create (CsvExportInfo *info)
                           G_CALLBACK  (csv_export_select_subaccounts_clicked_cb), info);
         g_signal_connect (G_OBJECT (info->csva.account_treeview), "cursor_changed",
                           G_CALLBACK  (csv_export_cursor_changed_cb), info);
-    }
 
-    /* Set the date info */
-    button = GTK_WIDGET(gtk_builder_get_object (builder, "show_range"));
-
-    /* Earliest and Latest in Book */
-    start_time = get_earliest_in_book (gnc_get_current_book());
-    end_time = gnc_time (NULL);
-
-    info->csvd.start_time = start_time;
-    info->csvd.end_time = end_time;
-    gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button), FALSE);
-
-    table = GTK_WIDGET(gtk_builder_get_object (builder, "select_range_table"));
-    info->csvd.table = table;
-    gtk_widget_set_sensitive(GTK_WIDGET(table), FALSE);
-
-    info->csvd.start_date_choose = GTK_WIDGET(gtk_builder_get_object (builder, "start_date_choose"));
-    info->csvd.start_date_today = GTK_WIDGET(gtk_builder_get_object (builder, "start_date_today"));
-    info->csvd.end_date_choose = GTK_WIDGET(gtk_builder_get_object (builder, "end_date_choose"));
-    info->csvd.end_date_today = GTK_WIDGET(gtk_builder_get_object (builder, "end_date_today"));
-
-    /* Start date info */
-    info->csvd.start_date = gnc_date_edit_new (gnc_time (NULL), FALSE, FALSE);
-    hbox = GTK_WIDGET(gtk_builder_get_object (builder, "start_date_hbox"));
-    gtk_box_pack_start (GTK_BOX (hbox), info->csvd.start_date, TRUE, TRUE, 0);
-    gtk_widget_show (info->csvd.start_date);
-    gnc_date_edit_set_time (GNC_DATE_EDIT(info->csvd.start_date), start_time);
-    g_signal_connect (G_OBJECT (info->csvd.start_date), "date-changed",
-                      G_CALLBACK (csv_export_date_changed_cb), info);
-
-    /* End date info */
-    info->csvd.end_date = gnc_date_edit_new (gnc_time (NULL), FALSE, FALSE);
-    hbox = GTK_WIDGET(gtk_builder_get_object (builder, "end_date_hbox"));
-    gtk_box_pack_start (GTK_BOX (hbox), info->csvd.end_date, TRUE, TRUE, 0);
-    gtk_widget_show (info->csvd.end_date);
-    gnc_date_edit_set_time (GNC_DATE_EDIT(info->csvd.end_date), end_time);
-    g_signal_connect (G_OBJECT (info->csvd.end_date), "date-changed",
-                      G_CALLBACK (csv_export_date_changed_cb), info);
-
-    /* Load Accounts */
-    show_acct_type_accounts (info);
-    update_accounts_tree (info);
+        /* Set the date info */
+        button = GTK_WIDGET(gtk_builder_get_object (builder, "show_range"));
+
+        /* Earliest and Latest in Book */
+        start_time = get_earliest_in_book (gnc_get_current_book());
+        end_time = gnc_time (NULL);
+
+        info->csvd.start_time = start_time;
+        info->csvd.end_time = end_time;
+        gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button), FALSE);
+
+        table = GTK_WIDGET(gtk_builder_get_object (builder, "select_range_table"));
+        info->csvd.table = table;
+        gtk_widget_set_sensitive(GTK_WIDGET(table), FALSE);
+
+        info->csvd.start_date_choose = GTK_WIDGET(gtk_builder_get_object (builder, "start_date_choose"));
+        info->csvd.start_date_today = GTK_WIDGET(gtk_builder_get_object (builder, "start_date_today"));
+        info->csvd.end_date_choose = GTK_WIDGET(gtk_builder_get_object (builder, "end_date_choose"));
+        info->csvd.end_date_today = GTK_WIDGET(gtk_builder_get_object (builder, "end_date_today"));
+
+        /* Start date info */
+        info->csvd.start_date = gnc_date_edit_new (gnc_time (NULL), FALSE, FALSE);
+        hbox = GTK_WIDGET(gtk_builder_get_object (builder, "start_date_hbox"));
+        gtk_box_pack_start (GTK_BOX (hbox), info->csvd.start_date, TRUE, TRUE, 0);
+        gtk_widget_show (info->csvd.start_date);
+        gnc_date_edit_set_time (GNC_DATE_EDIT(info->csvd.start_date), start_time);
+        g_signal_connect (G_OBJECT (info->csvd.start_date), "date-changed",
+                        G_CALLBACK (csv_export_date_changed_cb), info);
+
+        /* End date info */
+        info->csvd.end_date = gnc_date_edit_new (gnc_time (NULL), FALSE, FALSE);
+        hbox = GTK_WIDGET(gtk_builder_get_object (builder, "end_date_hbox"));
+        gtk_box_pack_start (GTK_BOX (hbox), info->csvd.end_date, TRUE, TRUE, 0);
+        gtk_widget_show (info->csvd.end_date);
+        gnc_date_edit_set_time (GNC_DATE_EDIT(info->csvd.end_date), end_time);
+        g_signal_connect (G_OBJECT (info->csvd.end_date), "date-changed",
+                        G_CALLBACK (csv_export_date_changed_cb), info);
+
+        /* Load Accounts */
+        show_acct_type_accounts (info);
+        update_accounts_tree (info);
+    }
 
     /* File chooser Page */
+    info->file_page = GTK_WIDGET(gtk_builder_get_object(builder, "file_page"));
     info->file_chooser = gtk_file_chooser_widget_new (GTK_FILE_CHOOSER_ACTION_SAVE);
     button = gtk_button_new_from_stock(GTK_STOCK_OK);
     gtk_widget_set_size_request (button, 100, -1);
diff --git a/src/import-export/csv-exp/assistant-csv-export.h b/src/import-export/csv-exp/assistant-csv-export.h
index 99c9241..f0ff9a9 100644
--- a/src/import-export/csv-exp/assistant-csv-export.h
+++ b/src/import-export/csv-exp/assistant-csv-export.h
@@ -70,6 +70,10 @@ typedef struct
     CsvExportType export_type;
     CsvExportDate csvd;
     CsvExportAcc  csva;
+    
+    GtkWidget    *start_page;
+    GtkWidget    *account_page;
+    GtkWidget    *file_page;
 
     GtkWidget    *window;
     GtkWidget    *assistant;

commit 48f2e8bb7ee1363e307f1fcc81b7e6d01ba542b5
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Mon Sep 22 23:28:25 2014 +0200

    This patch fixes bug 726888, cancel button is available on all pages of assistant.

diff --git a/src/import-export/csv-exp/assistant-csv-export.c b/src/import-export/csv-exp/assistant-csv-export.c
index 612fc12..78a158d 100644
--- a/src/import-export/csv-exp/assistant-csv-export.c
+++ b/src/import-export/csv-exp/assistant-csv-export.c
@@ -668,7 +668,13 @@ csv_export_assistant_start_page_prepare (GtkAssistant *assistant,
 
     /* Set Start page text */
     if (info->export_type == XML_EXPORT_TREE)
+    {
+        GtkWidget *page = gtk_assistant_get_nth_page (assistant, num + 1);
+
+        /* Change the Account page from Content to Progress to make the back button work */
+        gtk_assistant_set_page_type (assistant, page, GTK_ASSISTANT_PAGE_PROGRESS);
         gtk_label_set_text (GTK_LABEL(info->start_label), gettext (start_tree_string));
+    }
     else
         gtk_label_set_text (GTK_LABEL(info->start_label), gettext (start_trans_string));
 
@@ -983,9 +989,6 @@ csv_export_assistant_create (CsvExportInfo *info)
     g_signal_connect (G_OBJECT (button), "clicked",
                       G_CALLBACK (csv_export_file_chooser_confirm_cb), info);
 
-
-
-
     box = GTK_WIDGET(gtk_builder_get_object(builder, "file_page"));
     gtk_box_pack_start (GTK_BOX (box), info->file_chooser, TRUE, TRUE, 6);
     gtk_widget_show (info->file_chooser);
diff --git a/src/import-export/csv-exp/assistant-csv-export.glade b/src/import-export/csv-exp/assistant-csv-export.glade
index e9621c2..6b04330 100644
--- a/src/import-export/csv-exp/assistant-csv-export.glade
+++ b/src/import-export/csv-exp/assistant-csv-export.glade
@@ -850,7 +850,6 @@ Select the type of Export required and the separator that will be used.
         </child>
       </object>
       <packing>
-        <property name="page_type">progress</property>
         <property name="title" translatable="yes">Account Selection</property>
       </packing>
     </child>

commit 7d7d201498b2e0171e33a85023524d8b80b2f52f
Author: Robert Fewell <14uBobIT at gmail.com>
Date:   Mon Sep 22 23:27:54 2014 +0200

    Use same default setting for quotes in csv import and export

diff --git a/src/import-export/csv-exp/assistant-csv-export.c b/src/import-export/csv-exp/assistant-csv-export.c
index 7945da3..612fc12 100644
--- a/src/import-export/csv-exp/assistant-csv-export.c
+++ b/src/import-export/csv-exp/assistant-csv-export.c
@@ -244,7 +244,7 @@ void csv_export_custom_entry_cb (GtkWidget *widget, gpointer user_data )
 static
 void load_settings (CsvExportInfo *info)
 {
-    info->use_quotes = TRUE;
+    info->use_quotes = FALSE;
     info->separator_str = ",";
     info->file_name = NULL;
     info->starting_dir = NULL;
diff --git a/src/import-export/csv-exp/assistant-csv-export.glade b/src/import-export/csv-exp/assistant-csv-export.glade
index c32983b..e9621c2 100644
--- a/src/import-export/csv-exp/assistant-csv-export.glade
+++ b/src/import-export/csv-exp/assistant-csv-export.glade
@@ -77,7 +77,6 @@ Select the type of Export required and the separator that will be used.
                         <property name="can_focus">True</property>
                         <property name="receives_default">False</property>
                         <property name="use_action_appearance">False</property>
-                        <property name="active">True</property>
                         <property name="draw_indicator">True</property>
                         <signal name="toggled" handler="csv_export_quote_cb" swapped="no"/>
                       </object>



Summary of changes:
 src/import-export/csv-exp/assistant-csv-export.c   | 133 +++++++++------------
 .../csv-exp/assistant-csv-export.glade             |   2 -
 src/import-export/csv-exp/assistant-csv-export.h   |   4 +
 3 files changed, 63 insertions(+), 76 deletions(-)



More information about the gnucash-changes mailing list