[grisbi-cvs] [SCM] grisbi branch, pbiava_integration_mac_osx, updated. upstream_version_0_7_3-23-g850119b

Pierre Biava nobody at users.sourceforge.net
Sun Sep 12 13:22:56 CEST 2010


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "grisbi".

The branch, pbiava_integration_mac_osx has been updated
       via  850119b342771601ec27aef16daa704d5e5bc53b (commit)
       via  8a17eb505f800f1c77bdee00eaf7937f968922f0 (commit)
      from  6679dbcc54cb1c06e586ddd2c89d223d3f4e377d (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 850119b342771601ec27aef16daa704d5e5bc53b
Author: pbiava <pierre.biava at nerim.net>
Date:   Sun Sep 12 13:22:17 2010 +0200

    Adaptation for Mac OSX - version at Sept. 12, 2010

commit 8a17eb505f800f1c77bdee00eaf7937f968922f0
Author: pbiava <pierre.biava at nerim.net>
Date:   Sun Sep 12 13:21:37 2010 +0200

    Fixed a bug in calculating Latest files

-----------------------------------------------------------------------

Changes:
diff --git a/src/grisbi_osx.c b/src/grisbi_osx.c
index abdc23a..491f860 100644
--- a/src/grisbi_osx.c
+++ b/src/grisbi_osx.c
@@ -284,6 +284,22 @@ GtkWidget *grisbi_osx_init_menus ( GtkWidget *window, GtkWidget *menubar )
  *
  *
  * */
+void grisbi_osx_app_update_menus_cb ( void )
+{
+    GtkOSXApplication *theApp;
+
+    theApp = g_object_new ( GTK_TYPE_OSX_APPLICATION, NULL );
+
+    gtk_osxapplication_sync_menubar ( theApp );
+}
+
+
+/**
+ *
+ *
+ *
+ *
+ * */
 #endif /* GTKOSXAPPLICATION */
 /**
  *
diff --git a/src/grisbi_osx.h b/src/grisbi_osx.h
index 04a1599..319ba80 100644
--- a/src/grisbi_osx.h
+++ b/src/grisbi_osx.h
@@ -11,6 +11,7 @@
 
 /* START_DECLARATION */
 void grisbi_osx_app_active_cb ( GtkOSXApplication* app, gboolean* data );
+void grisbi_osx_app_update_menus_cb ( void );
 GtkWidget *grisbi_osx_init_menus ( GtkWidget *window, GtkWidget *vbox );
 /* END_DECLARATION */
 
diff --git a/src/gsb_file.c b/src/gsb_file.c
index 78a870f..2db3a56 100644
--- a/src/gsb_file.c
+++ b/src/gsb_file.c
@@ -254,7 +254,7 @@ devel_debug (NULL);
 					   GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
 					   GTK_STOCK_OPEN, GTK_RESPONSE_OK,
 					   NULL);
-printf ("pahse1\n");
+
     gtk_file_chooser_set_current_folder ( GTK_FILE_CHOOSER ( selection_fichier ), gsb_file_get_last_path () );
     gtk_window_set_position ( GTK_WINDOW ( selection_fichier ), GTK_WIN_POS_CENTER_ON_PARENT );
 
@@ -1066,8 +1066,7 @@ void gsb_file_append_name_to_opened_list ( gchar * path_fichier )
 
     devel_debug (path_fichier);
 
-    if ( !nb_max_derniers_fichiers_ouverts ||
-	 !path_fichier)
+    if ( !path_fichier )
         return;
 
     if ( nb_derniers_fichiers_ouverts < 0 )
@@ -1092,56 +1091,62 @@ void gsb_file_append_name_to_opened_list ( gchar * path_fichier )
      * noms */
     position = 0;
 
-    for ( i = 0; i < nb_derniers_fichiers_ouverts; i++ )
+    if ( nb_derniers_fichiers_ouverts )
     {
-        if ( !strcmp ( real_name, tab_noms_derniers_fichiers_ouverts[i] ))
+        for ( i = 0; i < nb_derniers_fichiers_ouverts; i++ )
         {
-            /* 	si ce fichier est déjà le dernier ouvert, on laisse tomber */
-            if ( !i )
-                return;
+            if ( !strcmp ( real_name, tab_noms_derniers_fichiers_ouverts[i] ) )
+            {
+                /* 	si ce fichier est déjà le dernier ouvert, on laisse tomber */
+                if ( !i )
+                    return;
 
-            position = i;
+                position = i;
+            }
         }
-    }
-
-    efface_derniers_fichiers_ouverts ( );
 
-    if ( position )
-    {
-        /* le fichier a été trouvé, on fait juste une rotation */
-        for ( i = position; i > 0 ; i-- )
-            tab_noms_derniers_fichiers_ouverts[i] = tab_noms_derniers_fichiers_ouverts[i-1];
-        if ( real_name )
-            tab_noms_derniers_fichiers_ouverts[0] = my_strdup ( real_name );
-        else
-            tab_noms_derniers_fichiers_ouverts[0] = my_strdup ( "<no file>" );
+        efface_derniers_fichiers_ouverts ( );
 
-        affiche_derniers_fichiers_ouverts ( );
-
-        return;
-    }
+        if ( position )
+        {
+            /* le fichier a été trouvé, on fait juste une rotation */
+            for ( i = position; i > 0 ; i-- )
+                tab_noms_derniers_fichiers_ouverts[i] = tab_noms_derniers_fichiers_ouverts[i-1];
+            if ( real_name )
+                tab_noms_derniers_fichiers_ouverts[0] = my_strdup ( real_name );
+            else
+                tab_noms_derniers_fichiers_ouverts[0] = my_strdup ( "<no file>" );
 
-    /* le fichier est nouveau, on décale tout d'un cran et on met le nouveau à 0 */
+            affiche_derniers_fichiers_ouverts ( );
 
-    /* si on est déjà au max, c'est juste un décalage avec perte du dernier */
-    /* on garde le ptit dernier dans le cas contraire */
+            return;
+        }
+        /* le fichier est nouveau, on décale tout d'un cran et on met le nouveau à 0 */
 
-    if ( nb_derniers_fichiers_ouverts )
-	dernier = tab_noms_derniers_fichiers_ouverts[nb_derniers_fichiers_ouverts-1];
+        /* si on est déjà au max, c'est juste un décalage avec perte du dernier */
+        /* on garde le ptit dernier dans le cas contraire */
+        dernier = tab_noms_derniers_fichiers_ouverts[nb_derniers_fichiers_ouverts-1];
+        for ( i = nb_derniers_fichiers_ouverts - 1 ; i > 0 ; i-- )
+            tab_noms_derniers_fichiers_ouverts[i] = tab_noms_derniers_fichiers_ouverts[i-1];
+    }
     else
-	dernier = NULL;
-
-    for ( i= nb_derniers_fichiers_ouverts - 1 ; i>0 ; i-- )
-	tab_noms_derniers_fichiers_ouverts[i] = tab_noms_derniers_fichiers_ouverts[i-1];
+        dernier = NULL;
 
     if ( nb_derniers_fichiers_ouverts < nb_max_derniers_fichiers_ouverts )
     {
-	tab_noms_derniers_fichiers_ouverts = g_realloc ( tab_noms_derniers_fichiers_ouverts,
-						       ( ++nb_derniers_fichiers_ouverts ) * sizeof ( gpointer ));
-	tab_noms_derniers_fichiers_ouverts[nb_derniers_fichiers_ouverts-1] = dernier;
+        tab_noms_derniers_fichiers_ouverts = g_realloc ( tab_noms_derniers_fichiers_ouverts,
+						    ( ++nb_derniers_fichiers_ouverts ) * sizeof ( gpointer ) );
+        tab_noms_derniers_fichiers_ouverts[nb_derniers_fichiers_ouverts-1] = dernier;
     }
-
+    else
+    {
+        nb_derniers_fichiers_ouverts = 1;
+        nb_max_derniers_fichiers_ouverts = 1;
+        tab_noms_derniers_fichiers_ouverts = g_malloc0 (  sizeof ( gpointer ) );
+    }   
+printf ("phase 4\n");
     tab_noms_derniers_fichiers_ouverts[0] = my_strdup ( real_name );
+printf ("phase 5\n");
 
     affiche_derniers_fichiers_ouverts();
     g_free ( real_name );
diff --git a/src/menu.c b/src/menu.c
index ae444e9..52241df 100644
--- a/src/menu.c
+++ b/src/menu.c
@@ -81,7 +81,9 @@ extern GtkWidget *window;
 
 gboolean block_menu_cb = FALSE;
 GtkUIManager *ui_manager;
-static gint recent_files_merge_id = -1, move_to_account_merge_id = -1;
+static gint merge_id = -1;
+static gint recent_files_merge_id = -1;
+static gint move_to_account_merge_id = -1;
 
 static gchar *ui_manager_buffer = 
 "<ui>"
@@ -89,7 +91,6 @@ static gchar *ui_manager_buffer =
 "    <menu name='FileMenu' action='FileMenuAction' >"
 "      <menuitem name='New' action='NewAction'/>"
 "      <menuitem name='Open' action='OpenAction'/>"
-"      <separator/>"
 "      <menu name='RecentFiles' action='RecentFilesAction'>"
 "      </menu>"
 "      <separator/>"
@@ -176,8 +177,7 @@ GtkWidget *init_menus ( GtkWidget *vbox )
          G_CALLBACK ( gsb_file_new ) },
         {"OpenAction",  GTK_STOCK_OPEN, _("_Open..."), NULL, NULL,
          G_CALLBACK ( gsb_file_open_menu ) },
-        {"RecentFilesAction", NULL, _("_Recently opened files"), NULL, NULL,
-         G_CALLBACK ( NULL ) },
+        {"RecentFilesAction", NULL, _("_Recently opened files"), NULL, NULL, NULL },
         {"SaveAction", GTK_STOCK_SAVE, _("_Save"), NULL, NULL,
          G_CALLBACK ( gsb_file_save ) },
         {"SaveAsAction", GTK_STOCK_SAVE_AS,	_("_Save as..."), NULL, NULL,
@@ -213,8 +213,7 @@ GtkWidget *init_menus ( GtkWidget *vbox )
          G_CALLBACK ( gsb_transactions_list_edit_current_transaction ) },
         {"ConvertToScheduledAction", GTK_STOCK_CONVERT, _("Convert to _scheduled transaction"), NULL, NULL,
          G_CALLBACK ( schedule_selected_transaction ) },
-        {"MoveToAnotherAccountAction", NULL, _("_Move transaction to another account"), NULL, NULL,
-         G_CALLBACK ( NULL ) },
+        {"MoveToAnotherAccountAction", NULL, _("_Move transaction to another account"), NULL, NULL, NULL },
         {"NewAccountAction", GTK_STOCK_NEW, _("_New account"), "", NULL,
          G_CALLBACK ( gsb_assistant_account_run ) },
         {"RemoveAccountAction", GTK_STOCK_DELETE, _("_Remove current account"), "", NULL,
@@ -292,7 +291,10 @@ GtkWidget *init_menus ( GtkWidget *vbox )
                         NULL );
 
     gtk_ui_manager_insert_action_group ( ui_manager, actions, 0 );
-    gtk_ui_manager_add_ui_from_string ( ui_manager, ui_manager_buffer, strlen ( ui_manager_buffer ), NULL );
+    merge_id = gtk_ui_manager_add_ui_from_string ( ui_manager,
+                        ui_manager_buffer,
+                        strlen ( ui_manager_buffer ),
+                        NULL );
 
 #ifndef GTKOSXAPPLICATION
     gtk_window_add_accel_group ( GTK_WINDOW ( window ),
@@ -340,12 +342,13 @@ gboolean affiche_derniers_fichiers_ouverts ( void )
 
     action_group = gtk_action_group_new ( "Group2" );
 
-    for ( i=0 ; i<nb_derniers_fichiers_ouverts ; i++ )
+    for ( i = 0 ; i < nb_derniers_fichiers_ouverts ; i++ )
     {
         gchar *tmp_name;
         GtkAction *action;
 
         tmp_name = g_strdup_printf ( "LastFile%d", i );
+
         action = gtk_action_new ( tmp_name, 
                         tab_noms_derniers_fichiers_ouverts[i], 
                         "",
@@ -381,8 +384,21 @@ gboolean affiche_derniers_fichiers_ouverts ( void )
         g_free ( tmp_name );
         g_free ( tmp_label );
     }
+
+    /* add a separator */
+    gtk_ui_manager_add_ui ( ui_manager,
+                    merge_id, 
+                    "/menubar/FileMenu/Open/",
+                    NULL,
+                    NULL,
+                    GTK_UI_MANAGER_SEPARATOR,
+                    FALSE );
+
     gtk_ui_manager_ensure_update ( ui_manager );
 
+#ifdef GTKOSXAPPLICATION
+    grisbi_osx_app_update_menus_cb ( );
+#endif /* GTKOSXAPPLICATION */
     return FALSE;
 }
 


hooks/post-receive
-- 
grisbi


More information about the cvs mailing list