From: <gua...@us...> - 2013-11-10 13:47:32
|
Revision: 5159 http://sourceforge.net/p/moneymanagerex/code/5159 Author: guanlisheng Date: 2013-11-10 13:47:29 +0000 (Sun, 10 Nov 2013) Log Message: ----------- remove incomplete custom report support for v1.0.0.0 release Modified Paths: -------------- trunk/src/dbwrapper.cpp trunk/src/dbwrapper.h trunk/src/mmex.cpp trunk/src/mmex.h Modified: trunk/src/dbwrapper.cpp =================================================================== --- trunk/src/dbwrapper.cpp 2013-11-10 13:41:57 UTC (rev 5158) +++ trunk/src/dbwrapper.cpp 2013-11-10 13:47:29 UTC (rev 5159) @@ -24,54 +24,6 @@ #include "sqlite3.h" //---------------------------------------------------------------------------- -/* - wxSQLite3Database::ViewExists was removed. -*/ -bool mmDBWrapper::ViewExists(wxSQLite3Database* db, const char *viewName) -{ - static const char sql[] = - "select 1 " - "from sqlite_master " - "where type = 'view' and name like ?"; - - wxASSERT(viewName); - - bool exists = false; - - wxSQLite3Statement st = db->PrepareStatement(sql); - st.Bind(1, viewName); - - wxSQLite3ResultSet rs = st.ExecuteQuery(); - exists = rs.NextRow(); - - st.Finalize(); - - return exists; -} - -int mmDBWrapper::createAllDataView(wxSQLite3Database* db) -{ - int iError = 0; - try - { - static const char view_name[] = "ALLDATA"; - bool exists = ViewExists(db, view_name); - - if (!exists) { - db->ExecuteUpdate(CREATE_VIEW_ALLDATA); - exists = ViewExists(db, view_name); - wxASSERT(exists); - } - } - catch(const wxSQLite3Exception& e) - { - wxLogDebug("Database::createAllDataView: %s", e.GetMessage()); - wxLogError("create AllData view. " + wxString::Format(_("Error: %s"), e.GetMessage())); - iError = e.GetErrorCode(); - } - return iError; -} - bool mmDBWrapper::IsSelect(wxSQLite3Database* db, const wxString& sScript, int &rows) { wxString sql_script_exception; Modified: trunk/src/dbwrapper.h =================================================================== --- trunk/src/dbwrapper.h 2013-11-10 13:41:57 UTC (rev 5158) +++ trunk/src/dbwrapper.h 2013-11-10 13:47:29 UTC (rev 5159) @@ -26,68 +26,13 @@ class wxSQLite3Database; class wxSQLite3ResultSet; -static const char CREATE_VIEW_ALLDATA[] = - "create view alldata as " - "select \n" - " CANS.TransID as ID, CANS.TransCode as TransactionType, \n" - " date(CANS.TransDate, 'localtime') as Date, \n" - " d.userdate as UserDate \n" - " ,coalesce(CAT.CategName, SCAT.CategName) as Category, \n" - " coalesce(SUBCAT.SUBCategName, SSCAT.SUBCategName, '') as Subcategory, \n" - " ROUND((case CANS.TRANSCODE when 'Withdrawal' then -1 else 1 end)*(case CANS.CATEGID when -1 then st.splittransamount else CANS.TRANSAMOUNT end),2) as Amount, \n" - " cf.currency_symbol as currency, \n" - " CANS.Status as Status, CANS.NOTES as Notes, \n" - " cf.BaseConvRate as BaseConvRate, \n" - " FROMACC.CurrencyID as CurrencyID, \n" - " FROMACC.AccountName as AccountName, FROMACC.AccountID as AccountID, \n" - " ifnull (TOACC.AccountName,'') as ToAccountName, \n" - " ifnull (TOACC.ACCOUNTId,-1) as ToAccountID, CANS.ToTransAmount ToTransAmount, \n" - " ifnull (TOACC.CURRENCYID, -1) as ToCurrencyID, \n" - " (case ifnull(CANS.CATEGID,-1) when -1 then 1 else 0 end) as Splitted, \n" - " ifnull(CAT.CategId,st.CategId) as CategID, \n" - " ifnull (ifnull(SUBCAT.SubCategID,st.subCategId),-1) as SubCategID, \n" - " ifnull (PAYEE.PayeeName,'') as Payee, \n" - " ifnull (PAYEE.PayeeID,-1) as PayeeID, \n" - " CANS.TRANSACTIONNUMBER as TransactionNumber, \n" - " d.year as Year, \n" - " d.month as Month, \n" - " d.day as Day, \n" - " d.finyear as FinYear \n" - " from CHECKINGACCOUNT_V1 CANS \n" - " left join CATEGORY_V1 CAT on CAT.CATEGID = CANS.CATEGID \n" - " left join SUBCATEGORY_V1 SUBCAT on SUBCAT.SUBCATEGID = CANS.SUBCATEGID and SUBCAT.CATEGID = CANS.CATEGID \n" - " left join PAYEE_V1 PAYEE on PAYEE.PAYEEID = CANS.PAYEEID \n" - " left join ACCOUNTLIST_V1 FROMACC on FROMACC.ACCOUNTID = CANS.ACCOUNTID \n" - " left join ACCOUNTLIST_V1 TOACC on TOACC.ACCOUNTID = CANS.TOACCOUNTID \n" - " left join splittransactions_v1 st on CANS.transid=st.transid \n" - " left join CATEGORY_V1 SCAT on SCAT.CATEGID = st.CATEGID and CANS.TransId=st.transid \n" - " left join SUBCATEGORY_V1 SSCAT on SSCAT.SUBCATEGID = st.SUBCATEGID and SSCAT.CATEGID = st.CATEGID and CANS.TransId=st.transid \n" - " left join currencyformats_v1 cf on cf.currencyid=FROMACC .currencyid \n" - " left join ( select transid as id , date(transdate, 'localtime') as transdate \n" - ",round (strftime('%d', transdate, 'localtime')) as day \n" - ",round (strftime('%m', transdate, 'localtime')) as month \n" - ",round (strftime('%Y', transdate, 'localtime')) as year \n" - ",round(strftime('%Y', transdate, 'localtime' ,'start of month', ((case when fd.infovalue<=round(strftime('%d', transdate , 'localtime')) then 1 else 0 end)-fm.infovalue)||' month')) as finyear \n" - ",ifnull (ifnull (strftime(df.infovalue, TransDate, 'localtime'), \n" - " (strftime(replace (df.infovalue, '%y', SubStr (strftime('%Y',TransDate, 'localtime'),3,2)),TransDate, 'localtime')) \n" - " ), date(TransDate, 'localtime')) as UserDate \n" - "from CHECKINGACCOUNT_V1 \n" - "left join infotable_v1 df on df.infoname='DATEFORMAT' \n" - "left join infotable_v1 fm on fm.infoname='FINANCIAL_YEAR_START_MONTH' \n" - "left join infotable_v1 fd on fd.infoname='FINANCIAL_YEAR_START_DAY') d on d.id=CANS.TRANSID \n" - "order by CANS.transid"; - namespace mmDBWrapper { wxSharedPtr<wxSQLite3Database> Open(const wxString &dbpath, const wxString &key = ""); -bool ViewExists(wxSQLite3Database* db, const char *viewName); bool IsSelect(wxSQLite3Database* db, const wxString& sScript, int &rows); -/* Creating new DBs */ -int createAllDataView(wxSQLite3Database* db); - } // namespace mmDBWrapper //---------------------------------------------------------------------------- Modified: trunk/src/mmex.cpp =================================================================== --- trunk/src/mmex.cpp 2013-11-10 13:41:57 UTC (rev 5158) +++ trunk/src/mmex.cpp 2013-11-10 13:47:29 UTC (rev 5159) @@ -27,9 +27,6 @@ #include "categdialog.h" #include "constants.h" #include "currencydialog.h" -#include "customreportdialog.h" -#include "customreportdisplay.h" -#include "customreportindex.h" #include "filtertransdialog.h" #include "maincurrencydialog.h" #include "mmcheckingpanel.h" @@ -616,9 +613,6 @@ EVT_MENU(MENU_TREEPOPUP_ACCOUNT_VIEWFAVORITE, mmGUIFrame::OnViewFavoriteAccounts) EVT_MENU(MENU_TREEPOPUP_ACCOUNT_VIEWOPEN, mmGUIFrame::OnViewOpenAccounts) - /* Custom Reports */ - EVT_MENU(wxID_EDIT, mmGUIFrame::OnEditCustomSqlReport) - /*Automatic processing of repeat transactions*/ EVT_TIMER(AUTO_REPEAT_TRANSACTIONS_TIMER_ID, mmGUIFrame::OnAutoRepeatTransactionsTimer) @@ -652,7 +646,6 @@ , selectedItemData_() , helpFileIndex_(mmex::HTML_INDEX) , expandedReportNavTree_(true) -, expandedCustomSqlReportNavTree_(false) , expandedBudgetingNavTree_(true) { // tell wxAuiManager to manage this frame @@ -667,8 +660,6 @@ restorePrinterValues(); - custRepIndex_ = new CustomReportIndex(); - // decide if we need to show app start dialog bool from_scratch = false; wxFileName dbpath = wxGetApp().m_optParam; @@ -743,7 +734,6 @@ { printer_.reset(); delete recentFiles_; - delete custRepIndex_; if(!fileName_.IsEmpty()) // Exiting before file is opened saveSettings(); @@ -1133,41 +1123,7 @@ navTreeCtrl_->SetItemData(reports, new mmTreeItemData(NAVTREECTRL_REPORTS)); /* ================================================================================================= */ - if (custRepIndex_->HasActiveReports()) - { - wxTreeItemId customSqlReports = navTreeCtrl_->AppendItem(root, _("Custom Reports"), 8, 8); - navTreeCtrl_->SetItemBold(customSqlReports, true); - navTreeCtrl_->SetItemData(customSqlReports, new mmTreeItemData(NAVTREECTRL_CUSTOM_REPORTS)); - int reportNumber = -1; - wxString reportNumberStr; - wxTreeItemId customSqlReportRootItem; - custRepIndex_->ResetReportsIndex(); - - wxString reportTitle = custRepIndex_->NextReportTitle(); - while (custRepIndex_->ValidTitle()) - { - wxTreeItemId customSqlReportItem; - if (custRepIndex_->ReportIsSubReport() && reportNumber >= 0 ) - { - customSqlReportItem = navTreeCtrl_->AppendItem(customSqlReportRootItem,reportTitle, 8, 8); - } - else - { - customSqlReportItem = navTreeCtrl_->AppendItem(customSqlReports,reportTitle, 8, 8); - customSqlReportRootItem = customSqlReportItem; - } - reportNumberStr.Printf("Custom_Report_%d", ++reportNumber); - navTreeCtrl_->SetItemData(customSqlReportItem, new mmTreeItemData(reportNumberStr)); - reportTitle = custRepIndex_->NextReportTitle(); - } - - if (expandedCustomSqlReportNavTree_) - navTreeCtrl_->Expand(customSqlReports); - } - - /* ================================================================================================= */ - wxTreeItemId reportsSummary = navTreeCtrl_->AppendItem(reports, _("Summary of Accounts"), 4, 4); navTreeCtrl_->SetItemData(reportsSummary, new mmTreeItemData("Summary of Accounts" , new mmReportSummary())); @@ -1689,47 +1645,6 @@ } //---------------------------------------------------------------------------- -void mmGUIFrame::CreateCustomReport(int index) -{ - this->SetEvtHandlerEnabled(false); - homePageAccountSelect_ = true; // prevent Navigation tree code execution. - wxBeginBusyCursor(wxHOURGLASS_CURSOR); - - if (custRepIndex_->ReportFileName(index) != "") - { - wxString sScript; - if (custRepIndex_->GetReportFileData(sScript) ) - { - mmCustomReport* csr = new mmCustomReport(this, m_db.get() - , custRepIndex_->CurrentReportTitle() - , sScript - , custRepIndex_->CurrentReportFileType()); - createReportsPage(csr, true); - } - } - processPendingEvents(); // clear out pending events - this->SetEvtHandlerEnabled(true); - homePageAccountSelect_ = false; // restore Navigation tree code execution. - wxEndBusyCursor(); -} -//---------------------------------------------------------------------------- - -bool mmGUIFrame::IsCustomReportSelected( int& customSqlReportID, const mmTreeItemData* iData ) -{ - customSqlReportID = 0; - bool result = false; - wxString sItemName = iData->getString(); - if (sItemName.StartsWith("Custom_Report_")) - { - sItemName.Replace("Custom_Report_", ""); - long index; - result = sItemName.ToLong(&index); - if (result) customSqlReportID = index; - } - return result; -} -//---------------------------------------------------------------------------- - void mmGUIFrame::OnTreeItemExpanded(wxTreeEvent& event) { wxTreeItemId id = event.GetItem(); @@ -1737,8 +1652,6 @@ if (iData->getString() == NAVTREECTRL_REPORTS) expandedReportNavTree_ = true; - else if (iData->getString() == NAVTREECTRL_CUSTOM_REPORTS) - expandedCustomSqlReportNavTree_ = true; else if (iData->getString() == NAVTREECTRL_BUDGET) expandedBudgetingNavTree_ = true; } @@ -1751,8 +1664,6 @@ if (iData->getString() == NAVTREECTRL_REPORTS) expandedReportNavTree_ = false; - else if (iData->getString() == NAVTREECTRL_CUSTOM_REPORTS) - expandedCustomSqlReportNavTree_ = false; else if (iData->getString() == NAVTREECTRL_BUDGET) expandedBudgetingNavTree_ = false; } @@ -1841,12 +1752,6 @@ createHelpPage(); return; } - else if (iData->getString() == NAVTREECTRL_CUSTOM_REPORTS) - { - helpFileIndex_ = mmex::HTML_CUSTOM_SQL; - createHelpPage(); - return; - } else if (iData->getString() == NAVTREECTRL_INVESTMENT) { helpFileIndex_ = mmex::HTML_INVESTMENT; @@ -1875,18 +1780,12 @@ if (!m_db) return; //======================================================================== - int customReportID; // Define before all the if...else statements - //======================================================================== wxString sData = iData->getString(); wxString title = wxGetTranslation(sData); - if ( IsCustomReportSelected(customReportID, iData) ) + if (sData == "Transaction Report") { - CreateCustomReport(customReportID); - } - else if (sData == "Transaction Report") - { wxCommandEvent evt(wxEVT_COMMAND_MENU_SELECTED, MENU_TRANSACTIONREPORT); AddPendingEvent(evt); // Events will be processed in due course. } @@ -2056,23 +1955,6 @@ menu.AppendSubMenu(viewAccounts, _("Accounts Visible")); PopupMenu(&menu, pt); } - else - { - // Bring up popup menu to edit or delete the correct Custom Report - customSqlReportSelectedItem_ = iData->getString(); - wxString field = customSqlReportSelectedItem_.Mid(6,8); - if (field == "_Report_") - { - wxMenu customReportMenu; - customReportMenu.Append(wxID_EDIT, _("Edit Custom Report")); - PopupMenu(&customReportMenu, pt); - } - else if (iData->getString() == "Budgeting") - { - wxCommandEvent evt(wxEVT_COMMAND_MENU_SELECTED, MENU_BUDGETSETUPDIALOG); - AddPendingEvent(evt); - } - } } } //---------------------------------------------------------------------------- @@ -2417,16 +2299,6 @@ menuTools->AppendSeparator(); - // Create Item - wxMenuItem* menuItemCustomReportEdit = new wxMenuItem(menuTools - , wxID_EDIT, _("Custom Reports...") - , _("Create or modify reports for the Reports section")); - menuItemCustomReportEdit->SetBitmap(wxBitmap(customsql_xpm)); - // Add menu to Tools menu - menuTools->Append(menuItemCustomReportEdit); - - menuTools->AppendSeparator(); - wxMenuItem* menuItemOptions = new wxMenuItem(menuTools, wxID_PREFERENCES, _("&Options..."), _("Show the Options Dialog")); menuItemOptions->SetBitmap(wxBitmap(wrench_xpm)); @@ -2541,8 +2413,6 @@ toolBar_->AddSeparator(); toolBar_->AddTool(MENU_TRANSACTIONREPORT, _("Transaction Report Filter"), toolBarBitmaps[8], _("Transaction Report Filter")); toolBar_->AddSeparator(); - toolBar_->AddTool(wxID_EDIT, _("Custom Reports Manager"), toolBarBitmaps[9], _("Create new Custom Reports")); - toolBar_->AddSeparator(); toolBar_->AddTool(wxID_PREFERENCES, _("&Options..."), toolBarBitmaps[10], _("Show the Options Dialog")); toolBar_->AddSeparator(); toolBar_->AddTool(wxID_NEW, _("New"), toolBarBitmaps[11], _("New Transaction")); @@ -3819,36 +3689,6 @@ } //---------------------------------------------------------------------------- -void mmGUIFrame::RunCustomSqlDialog(const wxString& customReportSelectedItem) -{ - this->SetEvtHandlerEnabled(false); - mmCustomSQLDialog dlg(custRepIndex_, customReportSelectedItem, this); - - int dialogStatus = wxID_MORE; - while (dialogStatus == wxID_MORE) - { - if (dlg.sScript() != "") - { - wxBeginBusyCursor(wxHOURGLASS_CURSOR); - mmCustomReport* csr = new mmCustomReport(this, - m_db.get(), dlg.sReportTitle(), dlg.sScript(), dlg.sSctiptType()); - createReportsPage(csr, true); - wxEndBusyCursor(); - } - dialogStatus = dlg.ShowModal(); - } - processPendingEvents(); // clear out pending events - if (dialogStatus == wxID_OK) updateNavTreeControl(); - this->SetEvtHandlerEnabled(true); -} - -//---------------------------------------------------------------------------- -void mmGUIFrame::OnEditCustomSqlReport(wxCommandEvent&) -{ - RunCustomSqlDialog(customSqlReportSelectedItem_); -} -//---------------------------------------------------------------------------- - wxSizer* mmGUIFrame::cleanupHomePanel(bool new_sizer) { wxASSERT(homePanel_); Modified: trunk/src/mmex.h =================================================================== --- trunk/src/mmex.h 2013-11-10 13:41:57 UTC (rev 5158) +++ trunk/src/mmex.h 2013-11-10 13:47:29 UTC (rev 5159) @@ -236,10 +236,6 @@ wxTreeItemId getTreeItemfor(wxTreeItemId itemID, const wxString& accountName) const; bool setAccountInSection(const wxString& sectionName, const wxString& accountName); - /* Custom Reports */ - CustomReportIndex* custRepIndex_; - wxString customSqlReportSelectedItem_; - /* printing */ wxScopedPtr<wxHtmlEasyPrinting> printer_; void restorePrinterValues(); @@ -348,12 +344,6 @@ void OnViewFavoriteAccounts(wxCommandEvent& event); void OnViewOpenAccounts(wxCommandEvent& event); - /* Custom Report*/ - bool IsCustomReportSelected(int& customSqlReportID, const mmTreeItemData* iData); - void CreateCustomReport(int index); - void RunCustomSqlDialog(const wxString& customSqlReportSelectedItem = ""); - bool expandedCustomSqlReportNavTree_; - bool expandedBudgetingNavTree_; bool expandedReportNavTree_; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |