2002-07-01 Joshua Sled <jsled@asynchronous.org>

* src/gnome-utils/gnc-dense-cal.c (gnc_dense_cal_mark_remove):
	Unrealistic marks [such as '-1'] are now ignored instead of
	hitting assertion.

	* src/gnome/dialog-scheduledxaction.c: Dead code removal; naming
	clarifications.
	(gnc_sxed_check_consistent): Added.
	(gnc_sxed_check_changed): Added; used when the cancel button is
	pressed.  SX editor now queries the user if the SX has changed.
	(gnc_sxed_save_sx): Added; seperated from consistency-check.
	(_gnc_sxed_get_widgets): Added; many glade_xml_get_widget(...)s
	removed from code.
	(free_var_numeric): Added; we now cleanup the temporary variable
	table correctly after doing balance checking.
	(schedXact_editor_create_ledger): RegWidget toolbar shouldn't
	expand; fixed.
	(putSchedXactionInDialog): Fixed assertion-failure/abort when a
	previously-unscheduled SX is scheduled.

	* src/engine/SchedXaction.c (xaccSchedXactionGetNextInstance),
	(xaccSchedXactionGetInstanceAfter): Fixed bug in
	number-of-occurance instance-state processing.

	* src/register/ledger-core/gnc-regwidget.c:
	* src/gnome/dialog-schedxaction.c:
	* src/gnome/dialog-sxsincelast.c:
	* src/engine/SchedXaction.[ch]:
	* src/engine/FreqSpec.[ch]: Dead code removal/cleanup.


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@7054 57a11ea4-9604-0410-9ed3-97b8803252fd
This commit is contained in:
Joshua Sled 2002-07-01 19:12:37 +00:00
parent 52b503aca9
commit fab186c56b
10 changed files with 617 additions and 856 deletions

View File

@ -1,3 +1,34 @@
2002-07-01 Joshua Sled <jsled@asynchronous.org>
* src/gnome-utils/gnc-dense-cal.c (gnc_dense_cal_mark_remove):
Unrealistic marks [such as '-1'] are now ignored instead of
hitting assertion.
* src/gnome/dialog-scheduledxaction.c: Dead code removal; naming
clarifications.
(gnc_sxed_check_consistent): Added.
(gnc_sxed_check_changed): Added; used when the cancel button is
pressed. SX editor now queries the user if the SX has changed.
(gnc_sxed_save_sx): Added; seperated from consistency-check.
(_gnc_sxed_get_widgets): Added; many glade_xml_get_widget(...)s
removed from code.
(free_var_numeric): Added; we now cleanup the temporary variable
table correctly after doing balance checking.
(schedXact_editor_create_ledger): RegWidget toolbar shouldn't
expand; fixed.
(putSchedXactionInDialog): Fixed assertion-failure/abort when a
previously-unscheduled SX is scheduled.
* src/engine/SchedXaction.c (xaccSchedXactionGetNextInstance),
(xaccSchedXactionGetInstanceAfter): Fixed bug in
number-of-occurance instance-state processing.
* src/register/ledger-core/gnc-regwidget.c:
* src/gnome/dialog-schedxaction.c:
* src/gnome/dialog-sxsincelast.c:
* src/engine/SchedXaction.[ch]:
* src/engine/FreqSpec.[ch]: Dead code removal/cleanup.
2002-07-01 Derek Atkins <derek@ihtfp.com>
* gnc-html: convert URLType from enum to char*

View File

@ -263,16 +263,6 @@ xaccFreqSpecSetUIType( FreqSpec *fs, UIFreqType newUIFreqType )
fs->uift = newUIFreqType;
}
/*
void
xaccFreqSpecSetTypes( FreqSpec *fs, FreqType newFT, UIFreqType newUIFT )
{
g_return_if_fail( fs );
xaccFreqSpecSetType( fs, newFT );
xaccFreqSpecSetUIType( fs, newUIFT );
}
*/
static inline guint32 min( guint32 a, guint32 b )
{
return a > b ? b : a;

View File

@ -108,6 +108,7 @@ FreqType xaccFreqSpecGetType( FreqSpec *fs );
* Sets the type of a FreqSpec.
* Setting the type re-initializes any spec-data; this means
* destroying any sub-types in the case of COMPOSITE.
*
* THESE FUNCTIONS HAVE NOT BEEN MAINTAINED THROUGH BEN'S CHANGES.
* They need to be checked.
**/
@ -116,9 +117,6 @@ FreqType xaccFreqSpecGetType( FreqSpec *fs );
UIFreqType xaccFreqSpecGetUIType( FreqSpec *fs );
void xaccFreqSpecSetUIType( FreqSpec *fs, UIFreqType newUIFreqType );
/* Convenience function; calls the two above. */
/* void xaccFreqSpecSetTypes( FreqSpec *fs, FreqType newType, UIFreqType newUIType ); */
/**
* Sets the type to once-off, and initialises the
* date it occurs on.
@ -182,7 +180,7 @@ int xaccFreqSpecGetDaily( FreqSpec *fs, int *outRepeat );
int xaccFreqSpecGetWeekly( FreqSpec *fs, int *outRepeat, int *outDayOfWeek );
int xaccFreqSpecGetMonthly( FreqSpec *fs, int *outRepeat,
int *outDayOfMonth, int *outMonthOffset );
// FIXME: add month-relative
/* FIXME: add month-relative */
/**
* Returns the list of FreqSpecs in a COMPOSITE FreqSpec.
@ -199,17 +197,6 @@ GList* xaccFreqSpecCompositeGet( FreqSpec *fs );
**/
void xaccFreqSpecCompositeAdd( FreqSpec *fs, FreqSpec *fsToAdd );
/**
* Returns the next date which the FreqSpec specifies given the
* previous occurance. Like the relaxed validity check, this doesn't
* take multipliers into account; it just returns the next possible
* occurance after the given day.
* bstanley I think this should be private.
**/
/*
time_t xaccFreqSpecGetInstanceAfter( FreqSpec *fs, time_t after );
*/
/**
* Returns the next instance of the FreqSpec after a given input date.
* Note that if the given date happens to be a repeat date,
@ -219,23 +206,4 @@ void xaccFreqSpecGetNextInstance( FreqSpec *fs,
const GDate* in_date,
GDate* out_date );
/**
* Returns either NULL [valid] or a descriptive string [reason not
* valid] for the given query date. This is "relaxed", in that it
* doesn't care about the frequency multiplier [e.g., For
* WEEKLY[2]:Wed, all Wednesdays are valid; for MONTHLY[12]:16, the
* 16th day of every month is valid.
**/
/*
char* xaccFreqSpecIsValidDateRelaxed( FreqSpec *fs, time_t query );
*/
/**
* A strict validity check. Given a previous and query date, returns
* NULL if the query date is valid, or a text reason if not.
**/
/*
char* xaccFreqSpecIsValidDate( FreqSpec *fs, time_t previous, time_t query );
*/
#endif /* XACC_FREQSPEC_H */

View File

@ -201,7 +201,6 @@ xaccSchedXactionSetFreqSpec( SchedXaction *sx, FreqSpec *fs )
{
g_return_if_fail( fs );
DEBUG("Called xaccSchedXactionSetFreqSpec");
xaccFreqSpecFree( sx->freq );
sx->freq = fs;
sx->dirty = TRUE;
@ -427,7 +426,6 @@ xaccSchedXactionSetAdvanceReminder( SchedXaction *sx, gint reminderDays )
}
/* FIXME: there is a bug in this, I think */
GDate
xaccSchedXactionGetNextInstance( SchedXaction *sx, void *stateData )
{
@ -474,10 +472,8 @@ xaccSchedXactionGetNextInstance( SchedXaction *sx, void *stateData )
g_date_clear( &next_occur, 1 );
}
} else if ( xaccSchedXactionHasOccurDef( sx ) && stateData ) {
/* FIXME: does this work? */
gint remaining;
remaining = xaccSchedXactionGetRemOccur( sx );
if ( remaining == 0 ) {
temporalStateData *tsd = (temporalStateData*)stateData;
if ( tsd->num_occur_rem == 0 ) {
PINFO( "no more occurances remain" );
g_date_clear( &next_occur, 1 );
}
@ -500,16 +496,11 @@ xaccSchedXactionGetInstanceAfter( SchedXaction *sx,
end_date = xaccSchedXactionGetEndDate( sx );
if ( g_date_compare( &next_occur, end_date ) > 0 ) {
PINFO( "next_occur past end_date" );
g_date_clear( &next_occur, 1 );
}
} else if ( xaccSchedXactionHasOccurDef( sx ) && stateData ) {
/* gint remaining = xaccSchedXactionGetRemOccur( sx ); */
gint *remaining = (gint*)stateData;
DEBUG( "stateData [remaining]: %d", *remaining );
if ( (*remaining - 1) < 0 ) {
PINFO( "next_occur is outside "
"reminaing-instances window." );
temporalStateData *tsd = (temporalStateData*)stateData;
if ( tsd->num_occur_rem == 0 ) {
g_date_clear( &next_occur, 1 );
}
}
@ -644,19 +635,7 @@ xaccSchedXactionSetTemplateTrans(SchedXaction *sx, GList *t_t_list,
void*
xaccSchedXactionCreateSequenceState( SchedXaction *sx )
{
//void *toRet = NULL;
return gnc_sx_create_temporal_state_snapshot( sx );
/*
if ( xaccSchedXactionHasOccurDef( sx ) ) {
toRet = g_new0( gint, 1 );
*(gint*)toRet = xaccSchedXactionGetRemOccur( sx );
DEBUG( "Returning state data [remaining]: %d", *(gint*)toRet );
} else {
DEBUG( "Returning null state data" );
}
*/
//return toRet;
}
void
@ -667,28 +646,16 @@ xaccSchedXactionIncrSequenceState( SchedXaction *sx,
temporalStateData *tsd = (temporalStateData*)stateData;
tsd->num_occur_rem -= 1;
}
#if 0 /* change to temporal_state */
if ( xaccSchedXactionHasOccurDef( sx ) ) {
gint *remaining;
remaining = (gint*)stateData;
*remaining = *remaining - 1;
}
#endif /* 0 */
}
void
xaccSchedXactionDestroySequenceState( void *stateData )
{
gnc_sx_destroy_temporal_state_snapshot( stateData );
#if 0 /* change to temporal_state */
if ( xaccSchedXactionHasOccurDef( sx ) ) {
g_free( (gint*)stateData );
}
#endif /* 0 */
}
void
*gnc_sx_create_temporal_state_snapshot( SchedXaction *sx )
void*
gnc_sx_create_temporal_state_snapshot( SchedXaction *sx )
{
temporalStateData *toRet = g_new0( temporalStateData, 1 );
toRet->last_date = sx->last_date;

View File

@ -1410,9 +1410,11 @@ gnc_dense_cal_mark( GncDenseCal *dcal,
d = dateArray[i];
doc = gdc_get_doc_offset( dcal, d );
if ( doc < 0 ) {
#if 0 /* Silently ignore. */
printf( "This is TheErrorThatShouldBeAppropriately"
"Handeled @ %d for \"%s\" with %d\n",
i, name, doc );
#endif /* 0 */
continue;
}
l = g_list_alloc();
@ -1432,6 +1434,11 @@ gnc_dense_cal_mark_remove( GncDenseCal *dcal, guint markToRemove )
gint doc;
gdc_mark_data *gdcmd;
/* Ignore non-realistic marks */
if ( markToRemove == -1 ) {
return;
}
gdcmd = NULL;
for ( l = dcal->markData; l; l=l->next ) {
gdcmd = (gdc_mark_data*)l->data;

View File

@ -53,8 +53,6 @@ static void update_appropriate_cal( GNCFrequency *gf );
static void gnc_frequency_class_init( GNCFrequencyClass *klass );
static void free_resources( GtkObject *o, gpointer d );
static void freq_option_value_changed( GtkMenuShell *b, gpointer d );
static void start_date_changed( GnomeDateEdit *gde, gpointer d );
static void spin_changed_helper( GtkAdjustment *adj, gpointer d );
@ -209,10 +207,6 @@ gnc_frequency_init( GNCFrequency *gf )
gf->vb = vb;
gtk_container_add( GTK_CONTAINER(&gf->widget), GTK_WIDGET(gf->vb) );
/* connect to the destroy signal for cleanup */
gtk_signal_connect( GTK_OBJECT(gf->vb), "destroy",
GTK_SIGNAL_FUNC(free_resources), gf );
/* intially fix the calendars. */
for ( j=0; cals[j] != NULL; j++ ) {
o = glade_xml_get_widget( gf->gxml, cals[j] );
@ -636,30 +630,30 @@ gnc_frequency_save_state( GNCFrequency *gf, FreqSpec *fs, GDate *outStartDate )
case UIFREQ_DAILY_MF:
xaccFreqSpecSetComposite( fs );
xaccFreqSpecSetUIType( fs, uift );
gd2 = g_date_new();
o = glade_xml_get_widget( gf->gxml, "dailymf_spin" );
tmpInt = gtk_spin_button_get_value_as_int( GTK_SPIN_BUTTON(o) );
/* Okay. Assume that the calendar is upgraded to */
/* support selecting weeks, returning the Sunday selected. */
/* Normalize to sunday. */
tmpTm = g_new0( struct tm, 1 );
g_date_to_struct_tm( gd, tmpTm );
/* month-day += (week-day - current-week-day ) % 7 */
/* week-day <- 0 */
tmpTm->tm_mday -= ( tmpTm->tm_wday ) % 7;
g_date_set_time( gd, mktime( tmpTm ) );
{
tmpTm = g_new0( struct tm, 1 );
g_date_to_struct_tm( gd, tmpTm );
/* month-day += (week-day - current-week-day ) % 7 */
/* week-day <- 0 */
tmpTm->tm_mday -= ( tmpTm->tm_wday ) % 7;
g_date_set_time( gd, mktime( tmpTm ) );
g_free( tmpTm );
}
/* 1 == "mon", 5 == "fri" */
for ( i=1; i<6; i++ ) {
*gd2 = *gd;
g_date_add_days( gd2, i );
g_date_add_days( gd, 1 );
tmpFS = xaccFreqSpecMalloc(gnc_get_current_book ());
xaccFreqSpecSetWeekly( tmpFS, gd2, tmpInt );
xaccFreqSpecSetWeekly( tmpFS, gd, tmpInt );
xaccFreqSpecCompositeAdd( fs, tmpFS );
}
g_date_free( gd );
g_date_free( gd2 );
g_free( tmpTm );
break;
case UIFREQ_WEEKLY:
xaccFreqSpecSetComposite( fs );
@ -897,17 +891,6 @@ update_appropriate_cal( GNCFrequency *gf )
update_cal( gf, GTK_CALENDAR(o) );
}
static void
free_resources( GtkObject *o, gpointer d )
{
#if 0
GNCFrequency *gf = (GNCFrequency*)d;
// FIXME: destroy an appropriate widget
gtk_widget_destroy( glade_xml_get_widget( gf->gxml,
"GNCFrequency widget" ) );
#endif // 0
}
static void
spin_changed_helper( GtkAdjustment *adj, gpointer d )
{

File diff suppressed because it is too large Load Diff

View File

@ -894,12 +894,6 @@ sxsincelast_init( sxSinceLastData *sxsld )
sxsincelast_close_handler,
sxsld->sincelast_window );
#if 0 /* FIXME: need to be fixed because 'show-test' removal, b0rk them all. */
gtk_signal_connect( GTK_OBJECT(sxsld->sincelast_window), "map",
GTK_SIGNAL_FUNC( show_test ), sxsld );
gtk_signal_connect( GTK_OBJECT(sxsld->sincelast_window), "realize",
GTK_SIGNAL_FUNC( show_test ), sxsld );
#endif /* 0 */
gtk_signal_connect( GTK_OBJECT(sxsld->sincelast_window), "destroy",
GTK_SIGNAL_FUNC( sxsincelast_destroy ), sxsld );
@ -1171,11 +1165,6 @@ add_to_create_list_to_gui( GList *toCreateList, sxSinceLastData *sxsld )
/* FIXME: Simulate a 'next' button press to get the right "first
* thing" hilighted */
#if 0
if ( sxsld->tcl_row > 0 ) {
gtk_clist_select_row( clist, 0, 0 );
}
#endif /* 0 */
}
static void
@ -1295,6 +1284,7 @@ processSelectedReminderList( GList *goodList, sxSinceLastData *sxsld )
gboolean autoCreateOpt, notifyOpt;
tct = NULL;
act = NULL;
for ( ; goodList ; goodList = goodList->next ) {
rit = (reminderInstanceTuple*)goodList->data;
@ -1625,10 +1615,6 @@ create_each_transaction_helper( Transaction *t, void *d )
/* FIXME: when we copy the trans_onto_trans, we don't want to copy
the Split's kvp_frames... */
#if 0
DEBUG( "I'm seeing Transaction \"%s\"", xaccTransGetDescription( t ) );
#endif /* 0 */
createUD = (createData*)d;
tci = createUD->tci;
@ -1657,10 +1643,6 @@ create_each_transaction_helper( Transaction *t, void *d )
will, but I'd rather not have to count on it. --jsled */
split_kvpf = xaccSplitGetSlots( (Split*)osList->data );
#if 0
DEBUG( "\tProcessing Split \"%s\"", xaccSplitGetMemo( split ) );
DEBUG( "\tkvp_frame: %s\n", kvp_frame_to_string( split_kvpf ) );
#endif /* 0 */
/* from-transaction of splits */
/* This needs to be before the value setting [below] so the
@ -2295,72 +2277,6 @@ processed_valid_reminders_listP( sxSinceLastData *sxsld )
badRecentRun = NULL;
}
}
#if 0
/* ================================================== */
if ( xaccSchedXactionGetName( rt->sx ) != rtName ) {
if ( rtName != NULL ) {
/* Deal with previous sequence. */
overallOkFlag &=
inform_or_add( reminderListPtr,
prevRT, okFlag,
badList, &goodList );
}
/* Reset loop state vars */
okFlag = prevState = TRUE;
rtName = xaccSchedXactionGetName( rt->sx );
/* Cleanup */
if ( badList != NULL ) {
g_list_free( badList );
}
if ( badRecentRun != NULL ) {
g_list_free( badRecentRun );
}
badList = badRecentRun = NULL;
}
/* If we haven't seen an inconsistency, then we're still ok.
* "inconsistency": we can go from [isSelected ==] TRUE to
* FALSE, but not back again [w/in a SX sequence, which we
* are [by the outer loop]]. */
if ( prevState ) {
prevState = rt->isSelected;
if ( ! rt->isSelected ) {
badRecentRun =
g_list_append( badRecentRun, rt );
}
} else {
if ( rt->isSelected ) {
okFlag = FALSE;
if ( g_list_length( badRecentRun ) > 0 ) {
badList =
g_list_concat( badList,
badRecentRun );
badRecentRun = NULL;
}
} else {
badRecentRun =
g_list_append( badRecentRun, rt );
}
}
reminderListPtr = reminderListPtr->next;
}
/* Deal with final sequence. */
if ( rtName != NULL ) {
overallOkFlag &= inform_or_add( sxsld->reminderList,
rt, okFlag,
badList, &goodList );
}
/* cleanup */
g_list_free( badList );
g_list_free( badRecentRun );
#endif /* 0 */
/* Handle implications of above logic. */
if ( !overallOkFlag ) {
@ -2493,14 +2409,6 @@ create_autoCreate_ledger( sxSinceLastData *sxsld )
gtk_box_pack_start( GTK_BOX(vbox), toolbar, FALSE, FALSE, 2 );
gtk_box_pack_end( GTK_BOX(vbox), GTK_WIDGET(sxsld->ac_regWidget), TRUE, TRUE, 2 );
#if 0
gtk_signal_connect( GTK_OBJECT(sxed->dialog), "activate_cursor",
GTK_SIGNAL_FUNC(sxe_register_record_cb), sxed );
gtk_signal_connect( GTK_OBJECT(sxed->dialog), "redraw_all",
GTK_SIGNAL_FUNC(sxe_register_redraw_all_cb), sxed );
#endif /* 0 */
/* FIXME: we should do all the happy-fun register stuff... button bar
* controls ... popups ... */
@ -2548,13 +2456,6 @@ create_created_ledger( sxSinceLastData *sxsld )
gtk_box_pack_start( GTK_BOX(vbox), toolbar, FALSE, FALSE, 2 );
gtk_box_pack_end( GTK_BOX(vbox), GTK_WIDGET(sxsld->created_regWidget), TRUE, TRUE, 2 );
#if 0
gtk_signal_connect( GTK_OBJECT(sxed->dialog), "activate_cursor",
GTK_SIGNAL_FUNC(sxe_register_record_cb), sxed );
gtk_signal_connect( GTK_OBJECT(sxed->dialog), "redraw_all",
GTK_SIGNAL_FUNC(sxe_register_redraw_all_cb), sxed );
#endif /* 0 */
/* FIXME: we should do all the happy-fun register stuff... button bar
* controls ... popups ... */

View File

@ -150,11 +150,11 @@ gnc_regWidget_new( GNCLedgerDisplay *ld, GtkWindow *win )
GNCRegWidget *rw;
rw = GNC_REGWIDGET( gtk_type_new( gnc_regWidget_get_type() ) );
/* IMPORTANT: If we set this to anything other than GTK_RESIZE_QUEUE, we
* enter into a very bad back-and-forth between the sheet and the druid [in
* certain conditions and circumstances not detailed here], causing in
* either a single instance of the druid resizing or infinite instances of
* the druid resizing without bound. Contact jsled@asynchronous.org for
* details. -- 2002.04.15
* enter into a very bad back-and-forth between the sheet and a containing
* GnomeDruid [in certain conditions and circumstances not detailed here],
* resulting in either a single instance of the Druid resizing or infinite
* instances of the Druid resizing without bound. Contact
* jsled@asynchronous.org for details. -- 2002.04.15
*/
gtk_container_set_resize_mode( GTK_CONTAINER( rw ), GTK_RESIZE_QUEUE );
gnc_regWidget_init2( rw, ld, win );
@ -211,11 +211,6 @@ gnc_regWidget_new( GNCLedgerDisplay *ld, GtkWindow *win )
#include "messages.h"
#include "table-allgui.h"
#if 0
static int last_width = 0;
static int last_stock_width = 0;
#endif
/** PROTOTYPES ******************************************************/
static void gnc_register_redraw_all_cb (GnucashRegister *g_reg, gpointer data);
static void gnc_register_redraw_help_cb (GnucashRegister *g_reg,
@ -609,16 +604,13 @@ gnc_register_jump_to_blank (GNCRegWidget *rw)
static void
expand_ent_cb (GNCRegWidget *rw, gpointer data)
{
#if 0
GtkWidget *widget = data;
#endif
gboolean expand;
SplitRegister *reg;
reg = gnc_ledger_display_get_split_register (rw->ledger);
#if 0
/* jsled: this isn't true. */
/* this isn't true. --jsled */
expand = GTK_TOGGLE_BUTTON (widget)->active;
#else
expand = TRUE;
@ -627,7 +619,7 @@ expand_ent_cb (GNCRegWidget *rw, gpointer data)
gnc_split_register_expand_current_trans (reg, expand);
}
/* jsled: default handler */
/* default handler --jsled */
static void
new_trans_cb (GNCRegWidget *rw, gpointer data)
{
@ -1082,12 +1074,6 @@ gnc_register_record (GNCRegWidget *rw)
if (!gnc_split_register_save (reg, TRUE))
return;
#if 0
if (trans != NULL)
gnc_register_include_date (rw, xaccTransGetDate(trans));
#endif /* 0 */
/*gnc_split_register_redraw (reg);*/
gnc_ledger_display_refresh( rw->ledger );
}
@ -1177,11 +1163,8 @@ static gboolean
gnc_register_delete_cb(GtkWidget *widget, GdkEvent *event, gpointer data)
{
GNCRegWidget *rw = data;
DEBUG( "gnc_reg[widget]_delete_cb in" );
gnc_register_check_close (rw);
gnc_ledger_display_close (rw->ledger);
DEBUG("gnc_reg[widget]_delete_cb out [true]");
return FALSE; /* let the user handle correctly. */
}
@ -1192,13 +1175,9 @@ gnc_register_destroy_cb(GtkWidget *widget, gpointer data)
GNCRegWidget *rw = GNC_REGWIDGET(widget);
SCM id;
DEBUG( "Got gnc_regwidget_destroy cb" );
gnc_ledger_display_close (rw->ledger);
id = rw->toolbar_change_callback_id;
gnc_unregister_option_change_callback_id(id);
DEBUG ("destroyed GNCRegWidget");
}
/* jsled: what to do? */
@ -1389,36 +1368,6 @@ gnc_regWidget_init2( GNCRegWidget *rw, GNCLedgerDisplay *ledger, GtkWindow *win
}
#endif /* 0 */
/* jsled: FIXME: prefix && loading/saving window state
* Some argument can be made that this is the caller's responsibility.
*/
#if 0
{
int *width;
char *prefix;
switch (reg->type)
{
case STOCK_REGISTER:
case PORTFOLIO_LEDGER:
case CURRENCY_REGISTER:
prefix = "reg_stock_win";
width = &last_stock_width;
break;
default:
prefix = "reg_win";
width = &last_width;
break;
}
if (*width == 0)
gnc_get_window_size (prefix, width, NULL);
gtk_window_set_default_size (GTK_WINDOW(win), *width, 0);
}
#endif /* 0 */
gtk_widget_show_all (GTK_WIDGET(rw));
gnc_split_register_show_present_divider (reg, TRUE);
@ -1505,38 +1454,6 @@ gnc_register_redraw_help_cb (GnucashRegister *g_reg, gpointer data)
g_free (help);
}
#if 0
/* jsled: window-manip. */
static void
gnc_reg_save_size (RegWindow *regData)
{
SplitRegister *reg;
int *width;
char *prefix;
reg = gnc_ledger_display_get_split_register (regData->ledger);
switch (reg->type)
{
case STOCK_REGISTER:
case PORTFOLIO_LEDGER:
case CURRENCY_REGISTER:
prefix = "reg_stock_win";
width = &last_stock_width;
break;
default:
prefix = "reg_win";
width = &last_width;
break;
}
gdk_window_get_geometry (regData->window->window, NULL, NULL,
width, NULL, NULL);
gnc_save_window_size (prefix, *width, 0);
}
#endif /* 0 */
/********************************************************************\
* regDestroy()
\********************************************************************/
@ -1546,25 +1463,16 @@ regDestroy (GNCLedgerDisplay *ledger)
{
GNCRegWidget *rw = gnc_ledger_display_get_user_data (ledger);
DEBUG("regDestroy");
if (rw)
{
SplitRegister *reg;
/* jsled: FIXME */
#if 0
gnc_reg_save_size (rw);
#endif /* 0 */
reg = gnc_ledger_display_get_split_register (ledger);
if (reg && reg->table)
gnc_table_save_state (reg->table);
}
DEBUG("regDestroy out");
gnc_ledger_display_set_user_data (ledger, NULL);
}
@ -1666,39 +1574,6 @@ pasteTransCB (GtkWidget *w, gpointer data)
(gnc_ledger_display_get_split_register (rw->ledger));
}
#if 0
static gboolean
gnc_register_include_date(RegWindow *regData, time_t date)
{
RegDateWindow *regDateData;
time_t start, end;
gboolean changed = FALSE;
regDateData = regData->date_window;
start = gnc_date_edit_get_date(GNC_DATE_EDIT(regDateData->start_date));
end = gnc_date_edit_get_date(GNC_DATE_EDIT(regDateData->end_date));
if (date < start)
{
gnc_date_edit_set_time(GNC_DATE_EDIT(regDateData->start_date), date);
changed = TRUE;
}
if (date > end)
{
gnc_date_edit_set_time(GNC_DATE_EDIT(regDateData->end_date), date);
changed = TRUE;
}
if (changed)
gnc_register_set_date_range(regData);
return changed;
}
#endif /* 0 */
/********************************************************************\
* recordCB *
* *

View File

@ -41,8 +41,9 @@ struct _GNCRegWidget {
/* The "parent" widget */
GtkVBox vbox;
/* Top level window */
/* jsled: used by the jump cbs; can we get by w/o knowing this? inv. layering */
/* Top level/containing window */
/* jsled: used by the jump cbs; can we get by w/o knowing this? investigate
* layering */
GtkWidget * window;
gint width;
gint height;