[Gnucash-changes] gnucash

Christian Stimming cstim at cvs.gnucash.org
Tue Mar 9 12:39:46 EST 2004


Update of /home/cvs/cvsroot/gnucash
In directory cvs.gnucash.org:/tmp/cvs-serv18719

Modified Files:
	ChangeLog 
Log Message:
2004-03-08  Christian Stimming  <stimming at tuhh.de>

	* src/import-export/hbci/dialog-hbcitrans.c, dialog-hbcitrans.h,
	glade/hbci.glade, gnc-hbci-transfer.c: Transfer template management
	GUI added by Bernd Wagner <F.J.Bernd.Wagner at t-online.de>


Update of /home/cvs/cvsroot/gnucash/src/import-export/hbci
In directory cvs.gnucash.org:/tmp/cvs-serv18719/src/import-export/hbci

Modified Files:
	dialog-hbcitrans.c dialog-hbcitrans.h gnc-hbci-transfer.c 
Log Message:
2004-03-08  Christian Stimming  <stimming at tuhh.de>

	* src/import-export/hbci/dialog-hbcitrans.c, dialog-hbcitrans.h,
	glade/hbci.glade, gnc-hbci-transfer.c: Transfer template management
	GUI added by Bernd Wagner <F.J.Bernd.Wagner at t-online.de>


Update of /home/cvs/cvsroot/gnucash/src/import-export/hbci/glade
In directory cvs.gnucash.org:/tmp/cvs-serv18719/src/import-export/hbci/glade

Modified Files:
	hbci.glade 
Log Message:
2004-03-08  Christian Stimming  <stimming at tuhh.de>

	* src/import-export/hbci/dialog-hbcitrans.c, dialog-hbcitrans.h,
	glade/hbci.glade, gnc-hbci-transfer.c: Transfer template management
	GUI added by Bernd Wagner <F.J.Bernd.Wagner at t-online.de>



==================================================
Differences for ChangeLog (revision 1.1787 -> 1.1788)
==================================================
--- /home/cvs/cvsroot/gnucash/ChangeLog	2004/03/03 03:40:50	1.1787
+++ /home/cvs/cvsroot/gnucash/ChangeLog	2004/03/09 17:39:45	1.1788
@@ -1,3 +1,9 @@
+2004-03-08  Christian Stimming  <stimming at tuhh.de>
+
+	* src/import-export/hbci/dialog-hbcitrans.c, dialog-hbcitrans.h,
+	glade/hbci.glade, gnc-hbci-transfer.c: Transfer template management
+	GUI added by Bernd Wagner <F.J.Bernd.Wagner at t-online.de>
+
 2004-03-03  Derek Atkins  <derek at ihtfp.com>
 
 	* src/register/ledger-core/split-register-load.c: make the code a

==================================================
Differences for dialog-hbcitrans.c (revision 1.27 -> 1.28)
==================================================
--- /home/cvs/cvsroot/gnucash/src/import-export/hbci/dialog-hbcitrans.c	2004/01/31 12:30:31	1.27
+++ /home/cvs/cvsroot/gnucash/src/import-export/hbci/dialog-hbcitrans.c	2004/03/09 17:39:46	1.28
@@ -1,6 +1,8 @@
 /********************************************************************\
  * dialog-hbcitrans.c -- dialog for hbci transaction                *
  * Copyright (C) 2002 Christian Stimming                            *
+ * Copyright (C) 2004 Bernd Wagner (changes for                     *
+ *                     online transaction templates)                *
  *                                                                  *
  * This program is free software; you can redistribute it and/or    *
  * modify it under the terms of the GNU General Public License as   *
@@ -67,12 +69,18 @@
   /* Recipient's bank name (may be filled in automatically sometime later) */
   GtkWidget *recp_bankname_label;
 
-  /* The template choosing option menu */
-  GtkWidget *template_option;
+  /* The template choosing GtkList */
+  GtkWidget *template_gtk_list;
 
+  /* The selected template in the list */
+  GtkWidget *selected_template;
+  
   /* GList of GNCTransTempl */
   GList *templ;
 
+  /* Flag, if template list has been changed */
+  gboolean templ_changed;
+  
   /* The HBCI transaction that got created here */
   HBCI_Transaction *hbci_trans;
   
@@ -98,6 +106,8 @@
   if (td->hbci_trans)
     HBCI_Transaction_delete (td->hbci_trans);
 
+  td->selected_template = NULL;
+    
   gtk_widget_destroy (GTK_WIDGET (td->dialog));
 #if HAVE_KTOBLZCHECK_H
   AccountNumberCheck_delete(td->blzcheck);
@@ -124,6 +134,11 @@
   g_assert(td);
   return td->gnc_trans;
 }
+gboolean gnc_hbci_dialog_get_templ_changed(const HBCITransDialog *td)
+{
+  g_assert(td);
+  return td->templ_changed;
+}
 void gnc_hbci_dialog_hide(HBCITransDialog *td)
 {
   g_assert(td);
@@ -146,8 +161,17 @@
 check_ktoblzcheck(GtkWidget *parent, const HBCITransDialog *td, 
 		  const HBCI_Transaction *trans);
 
+void on_template_list_select_child(GtkList  *list, GtkWidget  *widget, gpointer  user_data);
+void on_template_list_selection_changed(GtkList *list, gpointer  user_data);
+void on_template_list_unselect_child(GtkList  *list, GtkWidget  *widget, gpointer  user_data);
+
 void template_selection_cb(GtkButton *b, gpointer user_data);
 void add_template_cb(GtkButton *b, gpointer user_data);
+void moveup_template_cb(GtkButton *button, gpointer user_data);
+void movedown_template_cb(GtkButton *button, gpointer user_data);
+void sort_template_cb(GtkButton *button, gpointer user_data);
+void del_template_cb(GtkButton *button, gpointer user_data);
+
 void blz_changed_cb(GtkEditable *e, gpointer user_data);
 
 
@@ -162,20 +186,20 @@
  * constructor 
  */
 
-static void fill_template_menu_func(gpointer data, gpointer user_data)
+static void fill_template_list_func(gpointer data, gpointer user_data)
 {
   GNCTransTempl *templ = data;
-  GtkMenu *menu = user_data;
+  GtkList *list = user_data;
   GtkWidget *item;
 
   g_assert(templ);
-  g_assert(menu);
+  g_assert(list);
   
-  item = gtk_menu_item_new_with_label(gnc_trans_templ_get_name(templ));
+  item = gtk_list_item_new_with_label(gnc_trans_templ_get_name(templ));
   g_assert(item);
   
   gtk_object_set_user_data(GTK_OBJECT(item), templ);
-  gtk_menu_append(menu, item);
+  gtk_container_add(GTK_CONTAINER(list), item );
 }
 
 HBCITransDialog *
@@ -226,6 +250,10 @@
     GtkWidget *orig_bankcode_heading;
     GtkWidget *exec_later_button;
     GtkWidget *add_templ_button;
+    GtkWidget *moveup_templ_button;
+    GtkWidget *movedown_templ_button;
+    GtkWidget *sort_templ_button;
+    GtkWidget *del_templ_button;
         
     g_assert 
       (heading_label = glade_xml_get_widget (xml, "heading_label"));
@@ -268,9 +296,17 @@
     g_assert
       (exec_later_button = glade_xml_get_widget (xml, "exec_later_button"));
     g_assert
-      (td->template_option = glade_xml_get_widget (xml, "template_optionmenu"));
+      (td->template_gtk_list = glade_xml_get_widget (xml, "template_list"));
     g_assert
       (add_templ_button = glade_xml_get_widget (xml, "add_templ_button"));
+    g_assert
+      (moveup_templ_button = glade_xml_get_widget (xml, "moveup_templ_button"));
+    g_assert
+      (movedown_templ_button = glade_xml_get_widget (xml, "movedown_templ_button"));
+    g_assert
+      (sort_templ_button = glade_xml_get_widget (xml, "sort_templ_button"));
+    g_assert
+      (del_templ_button = glade_xml_get_widget (xml, "del_templ_button"));
 
     td->amount_edit = gnc_amount_edit_new();
     gtk_box_pack_start_defaults(GTK_BOX(amount_hbox), td->amount_edit);
@@ -330,17 +366,41 @@
     gtk_label_set_text (GTK_LABEL (orig_bankcode_label), 
 			HBCI_Bank_bankCode (bank));
 
-    /* fill OptionMenu for choosing a transaction template */
-    g_list_foreach(td->templ, fill_template_menu_func, 
-		   gtk_option_menu_get_menu 
-		   ( GTK_OPTION_MENU (td->template_option)));
+    /* fill list for choosing a transaction template */
+    g_list_foreach(td->templ, fill_template_list_func, 
+		    GTK_LIST (td->template_gtk_list));
+
+    td->selected_template = NULL;
+    td->templ_changed = FALSE;
     
     /* Connect signals */
-    gnc_option_menu_init_w_signal (td->template_option, 
+/*    gnc_option_menu_init_w_signal (td->template_option, 
 				   GTK_SIGNAL_FUNC(template_selection_cb),
-				   td);
+				   td);   */
+    gtk_signal_connect (GTK_OBJECT (td->template_gtk_list), "select_child",
+                      GTK_SIGNAL_FUNC (on_template_list_select_child),
+                      td);
+                      
     gtk_signal_connect(GTK_OBJECT (add_templ_button), "clicked",
 		       GTK_SIGNAL_FUNC(add_template_cb), td);
+
+    gtk_signal_connect (GTK_OBJECT (moveup_templ_button), "clicked",
+                      GTK_SIGNAL_FUNC (moveup_template_cb),
+                      td);
+                      
+    gtk_signal_connect (GTK_OBJECT (movedown_templ_button), "clicked",
+                      GTK_SIGNAL_FUNC (movedown_template_cb),
+                      td);
+
+     gtk_signal_connect (GTK_OBJECT (sort_templ_button), "clicked",
+                      GTK_SIGNAL_FUNC (sort_template_cb),
+                      td);
+
+     gtk_signal_connect (GTK_OBJECT (del_templ_button), "clicked",
+                      GTK_SIGNAL_FUNC (del_template_cb),
+                      td);
+
+
     gtk_signal_connect(GTK_OBJECT (td->recp_bankcode_entry), "changed",
 		       GTK_SIGNAL_FUNC(blz_changed_cb), td);
 
@@ -619,31 +679,53 @@
   gtk_entry_set_text (GTK_ENTRY (entry), str ? str : ""); 
 }
 
-void template_selection_cb(GtkButton *b,
-			   gpointer user_data)
+
+void
+on_template_list_select_child          (GtkList         *list,
+                                        GtkWidget       *widget,
+                                        gpointer         user_data)
 {
   HBCITransDialog *td = user_data;
-  unsigned index;
   g_assert(td);
-  index = gnc_option_menu_get_active (td->template_option);
-  /*printf("template_selection_cd: %d is active \n", index);*/
-  if ((index > 0) && (index <= g_list_length(td->templ)))
-    {
-      GNCTransTempl *templ = g_list_nth_data(td->templ, index-1);
-      /*printf("template_selection_cd: using template %s \n", 
-	gnc_trans_templ_get_name(templ));*/
+
+  td->selected_template = widget;
+  
+  GNCTransTempl *templ = gtk_object_get_user_data (GTK_OBJECT(widget)) ;
 
       fill_entry(gnc_trans_templ_get_recp_name(templ), td->recp_name_entry);
       fill_entry(gnc_trans_templ_get_recp_account(templ), td->recp_account_entry);
       fill_entry(gnc_trans_templ_get_recp_bankcode(templ), td->recp_bankcode_entry);
       fill_entry(gnc_trans_templ_get_purpose(templ), td->purpose_entry);
       fill_entry(gnc_trans_templ_get_purpose_cont(templ), td->purpose_cont_entry);
-      
-      gnc_amount_edit_set_amount (GNC_AMOUNT_EDIT (td->amount_edit), 
+
+      gnc_amount_edit_set_amount (GNC_AMOUNT_EDIT (td->amount_edit),
 				  gnc_trans_templ_get_amount (templ));
-    }
+
 }
 
+
+void
+on_template_list_selection_changed     (GtkList         *list,
+                                        gpointer         user_data)
+{
+
+}
+
+
+void
+on_template_list_unselect_child        (GtkList         *list,
+                                        GtkWidget       *widget,
+                                        gpointer         user_data)
+{
+  HBCITransDialog *td = user_data;
+  g_assert(td);
+
+  td->selected_template = NULL;
+
+}
+
+
+
 void blz_changed_cb(GtkEditable *e, gpointer user_data)
 {
 #if HAVE_KTOBLZCHECK_H
@@ -694,6 +776,8 @@
   GtkWidget *dlg;
   char *name;
   int retval = -1;
+  GNCTransTempl *t;
+  gint index;
   g_assert(td);
 
   dlg = gnome_request_dialog(FALSE,
@@ -713,22 +797,167 @@
        gtk_entry_get_text (GTK_ENTRY (td->purpose_entry)),
        gtk_entry_get_text (GTK_ENTRY (td->purpose_cont_entry)));
 
-    /* Append new template to the list. */
-    td->templ = g_list_append(td->templ, r);
+  if (td->selected_template) {
+    t = gtk_object_get_user_data(GTK_OBJECT(td->selected_template));
+
+    index = 1+gtk_list_child_position(GTK_LIST(td->template_gtk_list), td->selected_template);
+    }
+  else index = 0;
+  
+  td->templ = g_list_insert(td->templ, r, index);
     
-    /* Also append that template to the OptionMenu */
-    fill_template_menu_func(r, 
-			    gtk_option_menu_get_menu 
-			    ( GTK_OPTION_MENU (td->template_option)));
-    /* the show_all is necessary since otherwise the new item doesn't show up */
-    gtk_widget_show_all (GTK_WIDGET (gtk_option_menu_get_menu 
-				     ( GTK_OPTION_MENU (td->template_option))));
-    gnc_option_menu_init_w_signal (td->template_option, 
-				   GTK_SIGNAL_FUNC(template_selection_cb),
-				   td);
+  td->templ_changed = TRUE;
+
+  gtk_list_clear_items(GTK_LIST(td->template_gtk_list), 0, -1);
+
+  /* fill list for choosing a transaction template */
+  g_list_foreach(td->templ, fill_template_list_func,
+		    GTK_LIST (td->template_gtk_list));
+
+  gtk_list_select_item(GTK_LIST(td->template_gtk_list), index);
+
+  /* the show_all is necessary since otherwise the new item doesn't show up */
+  gtk_widget_show_all (GTK_WIDGET ( GTK_LIST (td->template_gtk_list)));
   }
 }
 
+
+void
+moveup_template_cb(GtkButton       *button,
+                  gpointer         user_data)
+{
+  HBCITransDialog *td = user_data;
+  GNCTransTempl *t;
+  gint index;
+  g_assert(td);
+
+  if (td->selected_template) {
+    t = gtk_object_get_user_data(GTK_OBJECT(td->selected_template));
+
+    index = gtk_list_child_position(GTK_LIST(td->template_gtk_list), td->selected_template);
+
+    if (index > 0) {
+      td->templ =  g_list_remove( td->templ, t);
+      td->templ =  g_list_insert( td->templ, t, index-1);
+
+      td->templ_changed = TRUE;
+      gtk_list_clear_items(GTK_LIST(td->template_gtk_list), 0, -1);
+
+      /* fill list for choosing a transaction template */
+      g_list_foreach(td->templ, fill_template_list_func,
+		    GTK_LIST (td->template_gtk_list));
+
+      gtk_list_select_item(GTK_LIST(td->template_gtk_list), index-1);
+
+      gtk_widget_show_all (GTK_WIDGET ( GTK_LIST (td->template_gtk_list)));
+      }
+    }
+}
+
+
+void
+movedown_template_cb(GtkButton       *button,
+                    gpointer         user_data)
+{
+  HBCITransDialog *td = user_data;
+  GNCTransTempl *t;
+  gint index;
+  g_assert(td);
+
+  if (td->selected_template) {
+    t = gtk_object_get_user_data(GTK_OBJECT(td->selected_template));
+
+    index = gtk_list_child_position(GTK_LIST(td->template_gtk_list), td->selected_template);
+
+    if (index < g_list_length(td->templ)-1) {
+      td->templ =  g_list_remove( td->templ, t);
+      td->templ =  g_list_insert( td->templ, t, index+1);
+
+      td->templ_changed = TRUE;
+      gtk_list_clear_items(GTK_LIST(td->template_gtk_list), 0, -1);
+
+      /* fill list for choosing a transaction template */
+      g_list_foreach(td->templ, fill_template_list_func,
+		    GTK_LIST (td->template_gtk_list));
+
+      gtk_list_select_item(GTK_LIST(td->template_gtk_list), index+1);
+
+      gtk_widget_show_all (GTK_WIDGET ( GTK_LIST (td->template_gtk_list)));
+      }
+    }
+}
+
+static gint comparefunc(const gconstpointer e1,
+                 const gconstpointer e2)
+{
+  return g_strcasecmp(gnc_trans_templ_get_name((GNCTransTempl*)e1),
+        gnc_trans_templ_get_name((GNCTransTempl*)e2));
+  
+}  
+                 
+void
+sort_template_cb(GtkButton       *button,
+                 gpointer         user_data)
+{
+  HBCITransDialog *td = user_data;
+  g_assert(td);
+
+  if (gnc_verify_dialog (td->parent,
+       FALSE, "%s", _("Do you really want to sort the list of templates?"))) {
+
+    td->templ =  g_list_sort( td->templ, comparefunc);
+  
+    td->templ_changed = TRUE;
+
+    gtk_list_clear_items(GTK_LIST(td->template_gtk_list), 0, -1);
+
+    /* fill list for choosing a transaction template */
+    g_list_foreach(td->templ, fill_template_list_func,
+		    GTK_LIST (td->template_gtk_list));
+
+    gtk_list_unselect_all ( GTK_LIST (td->template_gtk_list) );
+   
+    gtk_widget_show_all (GTK_WIDGET ( GTK_LIST (td->template_gtk_list)));
+  }
+}
+
+
+
+void
+del_template_cb(GtkButton       *button,
+               gpointer         user_data)
+{
+  HBCITransDialog *td = user_data;
+  GNCTransTempl *t;
+  gint index;
+  g_assert(td);
+
+  if (td->selected_template) {
+
+    t = gtk_object_get_user_data(GTK_OBJECT(td->selected_template));
+
+    index = gtk_list_child_position(GTK_LIST(td->template_gtk_list), td->selected_template);
+
+    if (gnc_verify_dialog (td->parent,
+          FALSE, _("Do you really want to delete the template '%s'?"),
+          gnc_trans_templ_get_name(g_list_nth_data(td->templ, index)))) {
+      gtk_list_clear_items(GTK_LIST(td->template_gtk_list), index, index+1);
+            
+      td->templ =  g_list_remove( td->templ, t);
+      td->templ_changed = TRUE;
+
+      gnc_trans_templ_delete(t);
+
+      gtk_list_unselect_all ( GTK_LIST (td->template_gtk_list) );
+
+      gtk_widget_show_all (GTK_WIDGET ( GTK_LIST (td->template_gtk_list)));
+    
+      }
+    }
+}
+
+
+
 void gnc_hbci_dialog_xfer_cb(Transaction *trans, gpointer user_data)
 {
   HBCITransDialog *td = user_data;

==================================================
Differences for dialog-hbcitrans.h (revision 1.8 -> 1.9)
==================================================
--- /home/cvs/cvsroot/gnucash/src/import-export/hbci/dialog-hbcitrans.h	2004/01/20 23:02:00	1.8
+++ /home/cvs/cvsroot/gnucash/src/import-export/hbci/dialog-hbcitrans.h	2004/03/09 17:39:46	1.9
@@ -1,6 +1,8 @@
 /********************************************************************\
  * dialog-hbcitrans.h -- dialog for HBCI transaction data           *
  * Copyright (C) 2002 Christian Stimming                            *
+ * Copyright (C) 2004 Bernd Wagner (changes for                     *
+ *                     online transaction templates)                *
  *                                                                  *
  * This program is free software; you can redistribute it and/or    *
  * modify it under the terms of the GNU General Public License as   *
@@ -68,6 +70,8 @@
 GtkWidget *gnc_hbci_dialog_get_parent(const HBCITransDialog *td);
 /** Return the GList of transaction templates. */
 GList *gnc_hbci_dialog_get_templ(const HBCITransDialog *td);
+/** Return the change status of the template list */
+gboolean gnc_hbci_dialog_get_templ_changed(const HBCITransDialog *td) ;
 /** Return the HBCI_Transaction. */
 const HBCI_Transaction *gnc_hbci_dialog_get_htrans(const HBCITransDialog *td);
 /** Return the gnucash Transaction. */

==================================================
Differences for gnc-hbci-transfer.c (revision 1.16 -> 1.17)
==================================================
--- /home/cvs/cvsroot/gnucash/src/import-export/hbci/gnc-hbci-transfer.c	2004/01/20 23:02:39	1.16
+++ /home/cvs/cvsroot/gnucash/src/import-export/hbci/gnc-hbci-transfer.c	2004/03/09 17:39:46	1.17
@@ -1,6 +1,8 @@
 /********************************************************************\
  * gnc-hbci-transfer.c -- hbci transfer functions                   *
  * Copyright (C) 2002 Christian Stimming                            *
+ * Copyright (C) 2004 Bernd Wagner (minor changes for                     *
+ *                     online transaction templates)                *
  *                                                                  *
  * This program is free software; you can redistribute it and/or    *
  * modify it under the terms of the GNU General Public License as   *
@@ -84,7 +86,6 @@
       gnc_trans_templ_glist_from_kvp_glist
       ( gnc_hbci_get_book_template_list
 	( xaccAccountGetBook(gnc_acc)));
-    unsigned nr_templates;
     int result;
     gboolean successful;
     HBCITransDialog *td;
@@ -99,16 +100,14 @@
     /* Repeat until HBCI action was successful or user pressed cancel */
     do {
 
-      nr_templates = g_list_length(template_list);
-
       /* Let the user enter the values. If cancel is pressed, -1 is returned.  */
       result = gnc_hbci_dialog_run_until_ok(td, h_acc);
 
       /* Set the template list in case it got modified. */
       template_list = gnc_hbci_dialog_get_templ(td);
-      /* New templates? If yes, store them */
-      if (nr_templates < g_list_length(template_list)) 
-	maketrans_save_templates(parent, gnc_acc, template_list, (result >= 0));
+      /* templates changed? If yes, store them */
+      if (gnc_hbci_dialog_get_templ_changed(td) )
+	       maketrans_save_templates(parent, gnc_acc, template_list, (result >= 0));
 
       if (result < 0) {
 	break;
@@ -184,9 +183,9 @@
       (parent, 
        FALSE,
        "%s",
-       _("You have created a new online transfer template, but \n"
-	 "you cancelled the transfer dialog. Do you nevertheless \n"
-	 "want to store the new online transfer template?"))) {
+       _("You have changed the list of online transfer templates,\n"
+	 "but you cancelled the transfer dialog.\n"
+	 "Do you nevertheless want to store the changes?"))) {
     GList *kvp_list = gnc_trans_templ_kvp_glist_from_glist (template_list);
     /*printf ("Now having %d templates. List: '%s'\n", 
       g_list_length(template_list),

==================================================
Differences for hbci.glade (revision 1.31 -> 1.32)
==================================================
--- /home/cvs/cvsroot/gnucash/src/import-export/hbci/glade/hbci.glade	2004/02/14 12:12:49	1.31
+++ /home/cvs/cvsroot/gnucash/src/import-export/hbci/glade/hbci.glade	2004/03/09 17:39:46	1.32
@@ -1746,7 +1746,7 @@
       <widget>
 	<class>GtkTable</class>
 	<name>table6</name>
-	<rows>20</rows>
+	<rows>21</rows>
 	<columns>3</columns>
 	<homogeneous>False</homogeneous>
 	<row_spacing>0</row_spacing>
@@ -1908,25 +1908,6 @@
 	</widget>
 
 	<widget>
-	  <class>GtkHSeparator</class>
-	  <name>hseparator5</name>
-	  <child>
-	    <left_attach>0</left_attach>
-	    <right_attach>3</right_attach>
-	    <top_attach>6</top_attach>
-	    <bottom_attach>7</bottom_attach>
-	    <xpad>0</xpad>
-	    <ypad>0</ypad>
-	    <xexpand>False</xexpand>
-	    <yexpand>True</yexpand>
-	    <xshrink>False</xshrink>
-	    <yshrink>False</yshrink>
-	    <xfill>True</xfill>
-	    <yfill>True</yfill>
-	  </child>
-	</widget>
-
-	<widget>
 	  <class>GtkLabel</class>
 	  <name>recp_bankname_heading</name>
 	  <label>at Bank</label>
@@ -2384,8 +2365,8 @@
 	  <child>
 	    <left_attach>0</left_attach>
 	    <right_attach>3</right_attach>
-	    <top_attach>19</top_attach>
-	    <bottom_attach>20</bottom_attach>
+	    <top_attach>20</top_attach>
+	    <bottom_attach>21</bottom_attach>
 	    <xpad>0</xpad>
 	    <ypad>0</ypad>
 	    <xexpand>False</xexpand>
@@ -2397,33 +2378,156 @@
 	  </child>
 
 	  <widget>
-	    <class>GtkButton</class>
-	    <name>add_templ_button</name>
-	    <border_width>2</border_width>
-	    <can_focus>True</can_focus>
-	    <label>Add current</label>
-	    <relief>GTK_RELIEF_NORMAL</relief>
+	    <class>GtkVBox</class>
+	    <name>vbox158</name>
+	    <homogeneous>False</homogeneous>
+	    <spacing>0</spacing>
 	    <child>
 	      <padding>0</padding>
 	      <expand>False</expand>
 	      <fill>False</fill>
 	      <pack>GTK_PACK_END</pack>
 	    </child>
+
+	    <widget>
+	      <class>GtkButton</class>
+	      <name>add_templ_button</name>
+	      <border_width>2</border_width>
+	      <can_focus>True</can_focus>
+	      <signal>
+		<name>clicked</name>
+		<handler>add_template_cb</handler>
+		<last_modification_time>Sun, 19 Oct 2003 19:52:26 GMT</last_modification_time>
+	      </signal>
+	      <label>Add current</label>
+	      <relief>GTK_RELIEF_NORMAL</relief>
+	      <child>
+		<padding>0</padding>
+		<expand>False</expand>
+		<fill>False</fill>
+	      </child>
+	    </widget>
+
+	    <widget>
+	      <class>GtkButton</class>
+	      <name>moveup_templ_button</name>
+	      <border_width>2</border_width>
+	      <can_focus>True</can_focus>
+	      <signal>
+		<name>clicked</name>
+		<handler>moveup_templ_cb</handler>
+		<last_modification_time>Sun, 08 Feb 2004 17:48:19 GMT</last_modification_time>
+	      </signal>
+	      <stock_button>GNOME_STOCK_BUTTON_UP</stock_button>
+	      <relief>GTK_RELIEF_NORMAL</relief>
+	      <child>
+		<padding>0</padding>
+		<expand>False</expand>
+		<fill>False</fill>
+	      </child>
+	    </widget>
+
+	    <widget>
+	      <class>GtkButton</class>
+	      <name>movedown_templ_button</name>
+	      <border_width>2</border_width>
+	      <can_focus>True</can_focus>
+	      <signal>
+		<name>clicked</name>
+		<handler>movedown_templ_cb</handler>
+		<last_modification_time>Sun, 08 Feb 2004 17:48:35 GMT</last_modification_time>
+	      </signal>
+	      <stock_button>GNOME_STOCK_BUTTON_DOWN</stock_button>
+	      <relief>GTK_RELIEF_NORMAL</relief>
+	      <child>
+		<padding>0</padding>
+		<expand>False</expand>
+		<fill>False</fill>
+	      </child>
+	    </widget>
+
+	    <widget>
+	      <class>GtkButton</class>
+	      <name>sort_templ_button</name>
+	      <border_width>2</border_width>
+	      <can_focus>True</can_focus>
+	      <signal>
+		<name>clicked</name>
+		<handler>sort_templ_cb</handler>
+		<last_modification_time>Sun, 08 Feb 2004 17:48:52 GMT</last_modification_time>
+	      </signal>
+	      <label>Sort</label>
+	      <relief>GTK_RELIEF_NORMAL</relief>
+	      <child>
+		<padding>10</padding>
+		<expand>False</expand>
+		<fill>False</fill>
+	      </child>
+	    </widget>
+
+	    <widget>
+	      <class>GtkButton</class>
+	      <name>del_templ_button</name>
+	      <border_width>2</border_width>
+	      <can_focus>True</can_focus>
+	      <signal>
+		<name>clicked</name>
+		<handler>del_template_cb</handler>
+		<last_modification_time>Sun, 19 Oct 2003 19:55:28 GMT</last_modification_time>
+	      </signal>
+	      <label>Delete</label>
+	      <relief>GTK_RELIEF_NORMAL</relief>
+	      <child>
+		<padding>0</padding>
+		<expand>False</expand>
+		<fill>False</fill>
+	      </child>
+	    </widget>
 	  </widget>
 
 	  <widget>
-	    <class>GtkOptionMenu</class>
-	    <name>template_optionmenu</name>
-	    <can_focus>True</can_focus>
-	    <items>-- No Template --
-</items>
-	    <initial_choice>0</initial_choice>
+	    <class>GtkScrolledWindow</class>
+	    <name>template_scrolledwindow</name>
+	    <width>350</width>
+	    <height>142</height>
+	    <hscrollbar_policy>GTK_POLICY_AUTOMATIC</hscrollbar_policy>
+	    <vscrollbar_policy>GTK_POLICY_AUTOMATIC</vscrollbar_policy>
+	    <hupdate_policy>GTK_UPDATE_CONTINUOUS</hupdate_policy>
+	    <vupdate_policy>GTK_UPDATE_CONTINUOUS</vupdate_policy>
 	    <child>
 	      <padding>0</padding>
 	      <expand>False</expand>
 	      <fill>False</fill>
 	      <pack>GTK_PACK_END</pack>
 	    </child>
+
+	    <widget>
+	      <class>GtkViewport</class>
+	      <name>viewport1</name>
+	      <shadow_type>GTK_SHADOW_IN</shadow_type>
+
+	      <widget>
+		<class>GtkList</class>
+		<name>template_list</name>
+		<visible>False</visible>
+		<signal>
+		  <name>select_child</name>
+		  <handler>on_template_list_select_child</handler>
+		  <last_modification_time>Sun, 19 Oct 2003 20:56:25 GMT</last_modification_time>
+		</signal>
+		<signal>
+		  <name>selection_changed</name>
+		  <handler>on_template_list_selection_changed</handler>
+		  <last_modification_time>Sun, 19 Oct 2003 20:57:16 GMT</last_modification_time>
+		</signal>
+		<signal>
+		  <name>unselect_child</name>
+		  <handler>on_template_list_unselect_child</handler>
+		  <last_modification_time>Sun, 19 Oct 2003 20:57:22 GMT</last_modification_time>
+		</signal>
+		<selection_mode>GTK_SELECTION_SINGLE</selection_mode>
+	      </widget>
+	    </widget>
 	  </widget>
 
 	  <widget>
@@ -2444,6 +2548,44 @@
 	    </child>
 	  </widget>
 	</widget>
+
+	<widget>
+	  <class>GtkHSeparator</class>
+	  <name>hseparator8</name>
+	  <child>
+	    <left_attach>0</left_attach>
+	    <right_attach>3</right_attach>
+	    <top_attach>19</top_attach>
+	    <bottom_attach>20</bottom_attach>
+	    <xpad>0</xpad>
+	    <ypad>1</ypad>
+	    <xexpand>False</xexpand>
+	    <yexpand>True</yexpand>
+	    <xshrink>False</xshrink>
+	    <yshrink>False</yshrink>
+	    <xfill>True</xfill>
+	    <yfill>True</yfill>
+	  </child>
+	</widget>
+
+	<widget>
+	  <class>GtkHSeparator</class>
+	  <name>hseparator5</name>
+	  <child>
+	    <left_attach>0</left_attach>
+	    <right_attach>3</right_attach>
+	    <top_attach>6</top_attach>
+	    <bottom_attach>7</bottom_attach>
+	    <xpad>0</xpad>
+	    <ypad>1</ypad>
+	    <xexpand>False</xexpand>
+	    <yexpand>True</yexpand>
+	    <xshrink>False</xshrink>
+	    <yshrink>False</yshrink>
+	    <xfill>True</xfill>
+	    <yfill>True</yfill>
+	  </child>
+	</widget>
       </widget>
     </widget>
   </widget>


More information about the Gnucash-changes mailing list