Bug #682869 - In CSV transaction importer, re-implement double mouse click for file selection.

From a patch by Bob.
Patch also resizes small OK button.

git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@22353 57a11ea4-9604-0410-9ed3-97b8803252fd
This commit is contained in:
Mike Evans 2012-09-01 14:54:52 +00:00
parent bfb8361633
commit b0b8d064aa
4 changed files with 39 additions and 5 deletions

View File

@ -145,6 +145,10 @@ csv_export_file_chooser_confirm_cb (GtkWidget *button, CsvExportInfo *info)
DEBUG("file_name selected is %s", info->file_name);
DEBUG("starting directory is %s", info->starting_dir);
/* Step to next page if page is complete */
if(gtk_assistant_get_page_complete(assistant, page))
gtk_assistant_set_current_page (assistant, num + 1);
}
@ -849,7 +853,7 @@ csv_export_assistant_create (CsvExportInfo *info)
{
GtkBuilder *builder;
GtkWidget *window;
GtkWidget *box;
GtkWidget *box, *h_box;
GtkWidget *button;
GtkWidget *table, *hbox;
time_t start_time, end_time;
@ -975,11 +979,17 @@ csv_export_assistant_create (CsvExportInfo *info)
/* File chooser 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);
gtk_widget_show (button);
gtk_file_chooser_set_extra_widget (GTK_FILE_CHOOSER(info->file_chooser), button);
h_box = gtk_hbox_new(TRUE, 0);
gtk_box_pack_start(GTK_BOX(h_box), button, FALSE, FALSE, 0);
gtk_file_chooser_set_extra_widget (GTK_FILE_CHOOSER(info->file_chooser), h_box);
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);

View File

@ -494,7 +494,7 @@ csv_import_assistant_create (CsvImportInfo *info)
{
GtkBuilder *builder;
GtkWidget *window;
GtkWidget *box;
GtkWidget *box, *h_box;
GtkWidget *button;
GtkCellRenderer *renderer;
GtkTreeViewColumn *column;
@ -511,13 +511,35 @@ csv_import_assistant_create (CsvImportInfo *info)
/* Load default settings */
load_settings (info);
/* Enable buttons on all page. */
gtk_assistant_set_page_complete (GTK_ASSISTANT (window),
GTK_WIDGET(gtk_builder_get_object(builder, "start_page")),
TRUE);
gtk_assistant_set_page_complete (GTK_ASSISTANT (window),
GTK_WIDGET(gtk_builder_get_object(builder, "file_page")),
FALSE);
gtk_assistant_set_page_complete (GTK_ASSISTANT (window),
GTK_WIDGET(gtk_builder_get_object(builder, "import_tree_page")),
TRUE);
gtk_assistant_set_page_complete (GTK_ASSISTANT (window),
GTK_WIDGET(gtk_builder_get_object(builder, "end_page")),
FALSE);
gtk_assistant_set_page_complete (GTK_ASSISTANT (window),
GTK_WIDGET(gtk_builder_get_object(builder, "summary_page")),
TRUE);
/* Start Page */
/* File chooser Page */
info->file_chooser = gtk_file_chooser_widget_new (GTK_FILE_CHOOSER_ACTION_OPEN);
g_signal_connect (G_OBJECT (info->file_chooser), "file-activated",
G_CALLBACK (csv_import_file_chooser_confirm_cb), info);
button = gtk_button_new_from_stock(GTK_STOCK_OK);
gtk_widget_set_size_request (button, 100, -1);
gtk_widget_show (button);
gtk_file_chooser_set_extra_widget (GTK_FILE_CHOOSER(info->file_chooser), button);
h_box = gtk_hbox_new(TRUE, 0);
gtk_box_pack_start(GTK_BOX(h_box), button, FALSE, FALSE, 0);
gtk_file_chooser_set_extra_widget (GTK_FILE_CHOOSER(info->file_chooser), h_box);
g_signal_connect (G_OBJECT (button), "clicked",
G_CALLBACK (csv_import_file_chooser_confirm_cb), info);

View File

@ -69,7 +69,6 @@ Enter file name and location for the Import...
</child>
</object>
<packing>
<property name="page_type">progress</property>
<property name="title" translatable="yes">Choose File to Import</property>
</packing>
</child>

View File

@ -1666,7 +1666,10 @@ csv_import_trans_assistant_create (CsvImportTrans *info)
/* File chooser Page */
info->file_chooser = gtk_file_chooser_widget_new (GTK_FILE_CHOOSER_ACTION_OPEN);
g_signal_connect (G_OBJECT (info->file_chooser), "file-activated",
G_CALLBACK (csv_import_trans_file_chooser_confirm_cb), info);
button = gtk_button_new_from_stock(GTK_STOCK_OK);
gtk_widget_set_size_request (button, 100, -1);
gtk_widget_show (button);
h_box = gtk_hbox_new(TRUE, 0);
gtk_box_pack_start(GTK_BOX(h_box), button, FALSE, FALSE, 0);