Fix a bug with category font/color on new operation insertion

This commit is contained in:
Grégory Soutadé 2010-09-12 10:36:17 +02:00
parent 41ace4621e
commit 67d3275b28

View File

@ -277,9 +277,15 @@ void AccountPanel::LoadYear(int year, bool showMonth)
_wxUI->Layout();
}
#define SET_ROW_COLOR(row, color) for(int i=0; i<NUMBER_COLS_OPS; i++) \
#define SET_ROW_COLOR(row, backcolor, forecolor) for(int i=0; i<NUMBER_COLS_OPS; i++) \
{ \
_grid->SetCellBackgroundColour(row, i, color); \
_grid->SetCellBackgroundColour(row, i, backcolor); \
_grid->SetCellTextColour(row, i, forecolor); \
}
#define SET_ROW_FONT(row, font) for(int i=0; i<NUMBER_COLS_OPS; i++) \
{ \
_grid->SetCellFont(row, i, font); \
}
void AccountPanel::ShowMonth(int month, int year)
@ -667,7 +673,8 @@ void AccountPanel::OnOperationModified(wxGridEvent& event)
color.Set(r, g, b, color.Alpha());
}
SET_ROW_COLOR(event.GetRow(), color);
SET_ROW_COLOR(event.GetRow(), color, user->GetCategory(new_op.category).forecolor);
SET_ROW_FONT(event.GetRow(), user->GetCategoryFont(new_op.category));
}
if (col == DELETE)
@ -733,6 +740,12 @@ void AccountPanel::OnOperationModified(wxGridEvent& event)
if (i == CATEGORY) continue;
_grid->SetCellValue(event.GetRow(), i, wxT(""));
}
DEFAULT_FONT(font);
SET_ROW_COLOR(row, OWN_GREEN, *wxBLACK);
SET_ROW_FONT(row, font);
new_op.id = _kiss->AddOperation(new_op);
}
// Modify an operation
@ -783,6 +796,12 @@ void AccountPanel::OnOperationModified(wxGridEvent& event)
{
_grid->SetCellValue(event.GetRow(), i, wxT(""));
}
DEFAULT_FONT(font);
SET_ROW_COLOR(event.GetRow(), OWN_GREEN, *wxBLACK);
SET_ROW_FONT(event.GetRow(), font);
new_op.id = _kiss->AddOperation(new_op);
}
@ -806,6 +825,7 @@ void AccountPanel::OnOperationModified(wxGridEvent& event)
}
_curOperations->insert(_curOperations->begin()+i ,new_op);
i++; // For header
if (!fix_op) i++;
InsertOperation(user, &new_op, i, fix_op);