r21810 - gnucash/trunk/src/gnome - Read-only mode: Add "Revert file" menu item so that a file that might got changed from someone else can easily be reloaded.
Christian Stimming
cstim at code.gnucash.org
Sat Dec 31 11:32:12 EST 2011
Author: cstim
Date: 2011-12-31 11:32:12 -0500 (Sat, 31 Dec 2011)
New Revision: 21810
Trac: http://svn.gnucash.org/trac/changeset/21810
Modified:
gnucash/trunk/src/gnome/gnc-plugin-basic-commands.c
gnucash/trunk/src/gnome/ui/gnc-plugin-basic-commands-ui.xml
Log:
Read-only mode: Add "Revert file" menu item so that a file that might got changed from someone else can easily be reloaded.
Modified: gnucash/trunk/src/gnome/gnc-plugin-basic-commands.c
===================================================================
--- gnucash/trunk/src/gnome/gnc-plugin-basic-commands.c 2011-12-31 16:32:01 UTC (rev 21809)
+++ gnucash/trunk/src/gnome/gnc-plugin-basic-commands.c 2011-12-31 16:32:12 UTC (rev 21810)
@@ -55,6 +55,7 @@
#include "gnc-window.h"
#include "gnc-session.h"
#include "gnc-plugin-page-sx-list.h"
+#include "gnc-plugin-file-history.h"
/* This static indicates the debugging module that this .o belongs to. */
static QofLogModule log_module = GNC_MOD_GUI;
@@ -70,6 +71,7 @@
static void gnc_main_window_cmd_file_open (GtkAction *action, GncMainWindowActionData *data);
static void gnc_main_window_cmd_file_save (GtkAction *action, GncMainWindowActionData *data);
static void gnc_main_window_cmd_file_save_as (GtkAction *action, GncMainWindowActionData *data);
+static void gnc_main_window_cmd_file_revert (GtkAction *action, GncMainWindowActionData *data);
static void gnc_main_window_cmd_file_export_accounts (GtkAction *action, GncMainWindowActionData *data);
static void gnc_main_window_cmd_edit_tax_options (GtkAction *action, GncMainWindowActionData *data);
static void gnc_main_window_cmd_actions_mortgage_loan (GtkAction *action, GncMainWindowActionData *data);
@@ -116,6 +118,11 @@
G_CALLBACK (gnc_main_window_cmd_file_save_as)
},
{
+ "FileRevertAction", GTK_STOCK_REVERT_TO_SAVED, N_("Re_vert"), NULL,
+ N_("Reload the current database, reverting all unsaved changes"),
+ G_CALLBACK (gnc_main_window_cmd_file_revert)
+ },
+ {
"FileExportAccountsAction", GTK_STOCK_CONVERT,
N_("Export _Accounts"), NULL,
N_("Export the account hierarchy to a new GnuCash datafile"),
@@ -423,6 +430,26 @@
}
static void
+gnc_main_window_cmd_file_revert (GtkAction *action, GncMainWindowActionData *data)
+{
+ g_return_if_fail (data != NULL);
+
+ if (!gnc_main_window_all_finish_pending())
+ return;
+
+ gnc_window_set_progressbar_window (GNC_WINDOW(data->window));
+
+ {
+ gchar *filename = gnc_history_get_last();
+ // And actually open the current file again
+ gnc_file_open_file (filename, qof_book_is_readonly(gnc_get_current_book()));
+ g_free(filename);
+ }
+
+ gnc_window_set_progressbar_window (NULL);
+}
+
+static void
gnc_main_window_cmd_file_export_accounts (GtkAction *action, GncMainWindowActionData *data)
{
g_return_if_fail (data != NULL);
Modified: gnucash/trunk/src/gnome/ui/gnc-plugin-basic-commands-ui.xml
===================================================================
--- gnucash/trunk/src/gnome/ui/gnc-plugin-basic-commands-ui.xml 2011-12-31 16:32:01 UTC (rev 21809)
+++ gnucash/trunk/src/gnome/ui/gnc-plugin-basic-commands-ui.xml 2011-12-31 16:32:12 UTC (rev 21810)
@@ -10,6 +10,7 @@
<placeholder name="FileSavePlaceholder">
<menuitem name="FileSave" action="FileSaveAction"/>
<menuitem name="FileSaveAs" action="FileSaveAsAction"/>
+ <menuitem name="FileRevert" action="FileRevertAction"/>
</placeholder>
<menu name="FileExport" action="FileExportAction">
<menuitem name="FileExportAccounts" action="FileExportAccountsAction"/>
More information about the gnucash-changes
mailing list