Enable account initial value modification
Fix a bug : accounts table header reset in InitAccounts
This commit is contained in:
parent
42b1b3b85d
commit
4441ea1810
|
@ -61,6 +61,7 @@ AccountPanel::AccountPanel(KissCount* kiss, wxUI *parent) : KissPanel(kiss, pare
|
||||||
_calendar->setGridVisible(false);
|
_calendar->setGridVisible(false);
|
||||||
_calendar->setFirstDayOfWeek(Qt::Monday);
|
_calendar->setFirstDayOfWeek(Qt::Monday);
|
||||||
_calendar->setNavigationBarVisible(false);
|
_calendar->setNavigationBarVisible(false);
|
||||||
|
_calendar->setVerticalHeaderFormat(QCalendarWidget::NoVerticalHeader);
|
||||||
|
|
||||||
_calendar->setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Minimum);
|
_calendar->setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Minimum);
|
||||||
|
|
||||||
|
@ -103,21 +104,10 @@ AccountPanel::AccountPanel(KissCount* kiss, wxUI *parent) : KissPanel(kiss, pare
|
||||||
_accountsGrid->setRowCount(0);
|
_accountsGrid->setRowCount(0);
|
||||||
_accountsGrid->verticalHeader()->setHidden(true);
|
_accountsGrid->verticalHeader()->setHidden(true);
|
||||||
|
|
||||||
_accountsGrid->setHorizontalHeaderItem(ACCOUNT_NUMBER, new QTableWidgetItem(_("Account number")));
|
|
||||||
_accountsGrid->setHorizontalHeaderItem(ACCOUNT_NAME, new QTableWidgetItem(_("Account name")));
|
|
||||||
_accountsGrid->setHorizontalHeaderItem(ACCOUNT_INIT, new QTableWidgetItem(_("Initial value")));
|
|
||||||
_accountsGrid->setHorizontalHeaderItem(ACCOUNT_CUR, new QTableWidgetItem(_("Current value")));
|
|
||||||
_accountsGrid->setHorizontalHeaderItem(ACCOUNT_FINAL, new QTableWidgetItem(_("Final value")));
|
|
||||||
|
|
||||||
_accountsGrid->resizeColumnsToContents();
|
_accountsGrid->resizeColumnsToContents();
|
||||||
_accountsGrid->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
|
_accountsGrid->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
|
||||||
|
|
||||||
for(i=0; i<NUMBER_COLS_ACCOUNTS; i++)
|
connect(_accountsGrid, SIGNAL(cellChanged(int, int)), this, SLOT(OnAccountModified(int, int)));
|
||||||
{
|
|
||||||
QFont font = _accountsGrid->horizontalHeaderItem(i)->font();
|
|
||||||
font.setBold(true);
|
|
||||||
_accountsGrid->horizontalHeaderItem(i)->setFont(font);
|
|
||||||
}
|
|
||||||
|
|
||||||
_statsGrid = new QTableWidget(this);
|
_statsGrid = new QTableWidget(this);
|
||||||
_statsGrid->verticalHeader()->setHidden(true);
|
_statsGrid->verticalHeader()->setHidden(true);
|
||||||
|
@ -420,8 +410,12 @@ void AccountPanel::ShowMonth(int month, int year)
|
||||||
|
|
||||||
_grid->LoadOperations(_curOperations, _curMonth, _curYear);
|
_grid->LoadOperations(_curOperations, _curMonth, _curYear);
|
||||||
|
|
||||||
|
disconnect(_accountsGrid, SIGNAL(cellChanged(int, int)), this, SLOT(OnAccountModified(int, int)));
|
||||||
|
|
||||||
InitAccountsGrid(user, month, year);
|
InitAccountsGrid(user, month, year);
|
||||||
|
|
||||||
|
connect(_accountsGrid, SIGNAL(cellChanged(int, int)), this, SLOT(OnAccountModified(int, int)));
|
||||||
|
|
||||||
dateStart.setDate(dateStart.year(), dateStart.month(), 1);
|
dateStart.setDate(dateStart.year(), dateStart.month(), 1);
|
||||||
dateEnd.setDate(dateEnd.year(), dateEnd.month(), dateStart.daysInMonth());
|
dateEnd.setDate(dateEnd.year(), dateEnd.month(), dateStart.daysInMonth());
|
||||||
_calendar->setDateRange(dateStart, dateEnd);
|
_calendar->setDateRange(dateStart, dateEnd);
|
||||||
|
@ -450,6 +444,19 @@ void AccountPanel::InitAccountsGrid(User* user, int month, int year)
|
||||||
if (_accountsGrid->rowCount())
|
if (_accountsGrid->rowCount())
|
||||||
_accountsGrid->clear();
|
_accountsGrid->clear();
|
||||||
|
|
||||||
|
_accountsGrid->setHorizontalHeaderItem(ACCOUNT_NUMBER, new QTableWidgetItem(_("Account number")));
|
||||||
|
_accountsGrid->setHorizontalHeaderItem(ACCOUNT_NAME, new QTableWidgetItem(_("Account name")));
|
||||||
|
_accountsGrid->setHorizontalHeaderItem(ACCOUNT_INIT, new QTableWidgetItem(_("Initial value")));
|
||||||
|
_accountsGrid->setHorizontalHeaderItem(ACCOUNT_CUR, new QTableWidgetItem(_("Current value")));
|
||||||
|
_accountsGrid->setHorizontalHeaderItem(ACCOUNT_FINAL, new QTableWidgetItem(_("Final value")));
|
||||||
|
|
||||||
|
for(i=0; i<NUMBER_COLS_ACCOUNTS; i++)
|
||||||
|
{
|
||||||
|
QFont font = _accountsGrid->horizontalHeaderItem(i)->font();
|
||||||
|
font.setBold(true);
|
||||||
|
_accountsGrid->horizontalHeaderItem(i)->setFont(font);
|
||||||
|
}
|
||||||
|
|
||||||
FloatDelegate* floatEditor = new FloatDelegate(_accountsGrid);
|
FloatDelegate* floatEditor = new FloatDelegate(_accountsGrid);
|
||||||
_accountsGrid->setItemDelegateForColumn(ACCOUNT_INIT, floatEditor);
|
_accountsGrid->setItemDelegateForColumn(ACCOUNT_INIT, floatEditor);
|
||||||
|
|
||||||
|
@ -750,27 +757,26 @@ void AccountPanel::OnOperationModified()
|
||||||
layout();
|
layout();
|
||||||
}
|
}
|
||||||
|
|
||||||
void AccountPanel::OnAccountModified()
|
void AccountPanel::OnAccountModified(int row, int column)
|
||||||
{
|
{
|
||||||
// User* user = _kiss->GetUser();
|
User* user = _kiss->GetUser();
|
||||||
// int row = event.GetRow();
|
double amount;
|
||||||
// double amount;
|
int id = user->GetAccountId(_accounts[row]);
|
||||||
// wxString id = user->GetAccountId(_accounts[row]);
|
|
||||||
|
|
||||||
// static bool inModification = false;
|
static bool inModification = false;
|
||||||
|
|
||||||
// if (inModification) return ;
|
if (inModification || column != ACCOUNT_INIT) return;
|
||||||
|
|
||||||
// inModification = true;
|
inModification = true;
|
||||||
|
|
||||||
// _accountsGrid->GetCellValue(row, event.GetCol()).ToDouble(&amount);
|
amount = _accountsGrid->item(row, column)->text().toDouble();
|
||||||
|
|
||||||
// _kiss->SetAccountAmount(id, _curMonth, _curYear, amount);
|
_kiss->SetAccountAmount(id, _curMonth, _curYear, amount);
|
||||||
// _accountsInitValues[id] = amount;
|
_accountsInitValues[id] = amount;
|
||||||
|
|
||||||
// UpdateStats();
|
UpdateStats();
|
||||||
|
|
||||||
// inModification = false;
|
inModification = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
void AccountPanel::OnTreeRightClick()
|
void AccountPanel::OnTreeRightClick()
|
||||||
|
|
|
@ -65,7 +65,7 @@ public:
|
||||||
|
|
||||||
private slots:
|
private slots:
|
||||||
void OnOperationModified();
|
void OnOperationModified();
|
||||||
void OnAccountModified();
|
void OnAccountModified(int row, int column);
|
||||||
void OnTreeRightClick();
|
void OnTreeRightClick();
|
||||||
void OnTreeChange (QTreeWidgetItem * item, int column);
|
void OnTreeChange (QTreeWidgetItem * item, int column);
|
||||||
void OnMenuGenerate();
|
void OnMenuGenerate();
|
||||||
|
|
Loading…
Reference in New Issue
Block a user