Changeset View
Changeset View
Standalone View
Standalone View
kmymoney/views/kmymoneyview.cpp
Show First 20 Lines • Show All 74 Lines • ▼ Show 20 Line(s) | |||||
75 | #include "kcategoriesview.h" | 75 | #include "kcategoriesview.h" | ||
76 | #include "kinstitutionsview.h" | 76 | #include "kinstitutionsview.h" | ||
77 | #include "kpayeesview.h" | 77 | #include "kpayeesview.h" | ||
78 | #include "ktagsview.h" | 78 | #include "ktagsview.h" | ||
79 | #include "kscheduledview.h" | 79 | #include "kscheduledview.h" | ||
80 | #include "kgloballedgerview.h" | 80 | #include "kgloballedgerview.h" | ||
81 | #include "kinvestmentview.h" | 81 | #include "kinvestmentview.h" | ||
82 | #include "kbudgetview.h" | 82 | #include "kbudgetview.h" | ||
83 | #include "konlinejoboutbox.h" | | |||
84 | #include "kmymoney.h" | 83 | #include "kmymoney.h" | ||
85 | #include "models.h" | 84 | #include "models.h" | ||
86 | #include "accountsmodel.h" | 85 | #include "accountsmodel.h" | ||
87 | #include "equitiesmodel.h" | 86 | #include "equitiesmodel.h" | ||
88 | #include "securitiesmodel.h" | 87 | #include "securitiesmodel.h" | ||
89 | #include "icons.h" | 88 | #include "icons.h" | ||
90 | #include "amountedit.h" | 89 | #include "amountedit.h" | ||
91 | #include "kmymoneyaccounttreeview.h" | 90 | #include "kmymoneyaccounttreeview.h" | ||
▲ Show 20 Lines • Show All 57 Lines • ▼ Show 20 Line(s) | 141 | // newStorage(); | |||
149 | viewBases[View::Accounts] = new KAccountsView; | 148 | viewBases[View::Accounts] = new KAccountsView; | ||
150 | viewBases[View::Schedules] = new KScheduledView; | 149 | viewBases[View::Schedules] = new KScheduledView; | ||
151 | viewBases[View::Categories] = new KCategoriesView; | 150 | viewBases[View::Categories] = new KCategoriesView; | ||
152 | viewBases[View::Tags] = new KTagsView; | 151 | viewBases[View::Tags] = new KTagsView; | ||
153 | viewBases[View::Payees] = new KPayeesView; | 152 | viewBases[View::Payees] = new KPayeesView; | ||
154 | viewBases[View::Ledgers] = new KGlobalLedgerView; | 153 | viewBases[View::Ledgers] = new KGlobalLedgerView; | ||
155 | viewBases[View::Investments] = new KInvestmentView; | 154 | viewBases[View::Investments] = new KInvestmentView; | ||
156 | viewBases[View::Budget] = new KBudgetView; | 155 | viewBases[View::Budget] = new KBudgetView; | ||
157 | viewBases[View::OnlineJobOutbox] = new KOnlineJobOutbox; | | |||
158 | #ifdef ENABLE_UNFINISHEDFEATURES | 156 | #ifdef ENABLE_UNFINISHEDFEATURES | ||
159 | viewBases[View::NewLedgers] = new SimpleLedgerView; | 157 | viewBases[View::NewLedgers] = new SimpleLedgerView; | ||
160 | #endif | 158 | #endif | ||
161 | 159 | | |||
162 | struct viewInfo | 160 | struct viewInfo | ||
163 | { | 161 | { | ||
164 | View id; | 162 | View id; | ||
165 | QString name; | 163 | QString name; | ||
166 | Icon icon; | 164 | Icon icon; | ||
167 | }; | 165 | }; | ||
168 | 166 | | |||
169 | const QVector<viewInfo> viewsInfo | 167 | const QVector<viewInfo> viewsInfo | ||
170 | { | 168 | { | ||
171 | {View::Home, i18n("Home"), Icon::ViewHome}, | 169 | {View::Home, i18n("Home"), Icon::ViewHome}, | ||
172 | {View::Institutions, i18n("Institutions"), Icon::ViewInstitutions}, | 170 | {View::Institutions, i18n("Institutions"), Icon::ViewInstitutions}, | ||
173 | {View::Accounts, i18n("Accounts"), Icon::ViewAccounts}, | 171 | {View::Accounts, i18n("Accounts"), Icon::ViewAccounts}, | ||
174 | {View::Schedules, i18n("Scheduled\u2028transactions"), Icon::ViewSchedules}, | 172 | {View::Schedules, i18n("Scheduled\u2028transactions"), Icon::ViewSchedules}, | ||
175 | {View::Categories, i18n("Categories"), Icon::ViewCategories}, | 173 | {View::Categories, i18n("Categories"), Icon::ViewCategories}, | ||
176 | {View::Tags, i18n("Tags"), Icon::ViewTags}, | 174 | {View::Tags, i18n("Tags"), Icon::ViewTags}, | ||
177 | {View::Payees, i18n("Payees"), Icon::ViewPayees}, | 175 | {View::Payees, i18n("Payees"), Icon::ViewPayees}, | ||
178 | {View::Ledgers, i18n("Ledgers"), Icon::ViewLedgers}, | 176 | {View::Ledgers, i18n("Ledgers"), Icon::ViewLedgers}, | ||
179 | {View::Investments, i18n("Investments"), Icon::ViewInvestment}, | 177 | {View::Investments, i18n("Investments"), Icon::ViewInvestment}, | ||
180 | {View::Budget, i18n("Budgets"), Icon::ViewBudgets}, | 178 | {View::Budget, i18n("Budgets"), Icon::ViewBudgets}, | ||
181 | {View::OnlineJobOutbox, i18n("Outbox"), Icon::ViewOutbox}, | | |||
182 | #ifdef ENABLE_UNFINISHEDFEATURES | 179 | #ifdef ENABLE_UNFINISHEDFEATURES | ||
183 | {View::NewLedgers, i18n("New ledger"), Icon::DocumentProperties}, | 180 | {View::NewLedgers, i18n("New ledger"), Icon::DocumentProperties}, | ||
184 | #endif | 181 | #endif | ||
185 | }; | 182 | }; | ||
186 | 183 | | |||
187 | for (const viewInfo& view : viewsInfo) { | 184 | for (const viewInfo& view : viewsInfo) { | ||
188 | viewFrames[view.id] = m_model->addPage(viewBases[view.id], view.name); | 185 | viewFrames[view.id] = m_model->addPage(viewBases[view.id], view.name); | ||
189 | viewFrames[view.id]->setIcon(Icons::get(view.icon)); | 186 | viewFrames[view.id]->setIcon(Icons::get(view.icon)); | ||
▲ Show 20 Lines • Show All 73 Lines • ▼ Show 20 Line(s) | |||||
263 | #ifdef KF5Activities_FOUND | 260 | #ifdef KF5Activities_FOUND | ||
264 | delete m_activityResourceInstance; | 261 | delete m_activityResourceInstance; | ||
265 | #endif | 262 | #endif | ||
266 | // removeStorage(); | 263 | // removeStorage(); | ||
267 | } | 264 | } | ||
268 | 265 | | |||
269 | void KMyMoneyView::slotFileOpened() | 266 | void KMyMoneyView::slotFileOpened() | ||
270 | { | 267 | { | ||
268 | if (viewBases.contains(View::OnlineJobOutbox)) | ||||
269 | viewBases[View::OnlineJobOutbox]->executeCustomAction(eView::Action::InitializeAfterFileOpen); | ||||
270 | | ||||
271 | #ifdef ENABLE_UNFINISHEDFEATURES | 271 | #ifdef ENABLE_UNFINISHEDFEATURES | ||
272 | static_cast<SimpleLedgerView*>(viewBases[View::NewLedgers])->openFavoriteLedgers(); | 272 | static_cast<SimpleLedgerView*>(viewBases[View::NewLedgers])->openFavoriteLedgers(); | ||
273 | #endif | 273 | #endif | ||
274 | switchToDefaultView(); | 274 | switchToDefaultView(); | ||
275 | } | 275 | } | ||
276 | 276 | | |||
277 | void KMyMoneyView::slotFileClosed() | 277 | void KMyMoneyView::slotFileClosed() | ||
278 | { | 278 | { | ||
279 | 279 | | |||
280 | if (viewBases.contains(View::Reports)) | 280 | if (viewBases.contains(View::Reports)) | ||
281 | viewBases[View::Reports]->executeCustomAction(eView::Action::CleanupBeforeFileClose); | 281 | viewBases[View::Reports]->executeCustomAction(eView::Action::CleanupBeforeFileClose); | ||
282 | | ||||
283 | if (viewBases.contains(View::OnlineJobOutbox)) | ||||
284 | viewBases[View::OnlineJobOutbox]->executeCustomAction(eView::Action::CleanupBeforeFileClose); | ||||
285 | | ||||
282 | #ifdef ENABLE_UNFINISHEDFEATURES | 286 | #ifdef ENABLE_UNFINISHEDFEATURES | ||
283 | static_cast<SimpleLedgerView*>(viewBases[View::NewLedgers])->closeLedgers(); | 287 | static_cast<SimpleLedgerView*>(viewBases[View::NewLedgers])->closeLedgers(); | ||
284 | #endif | 288 | #endif | ||
285 | slotShowHomePage(); | 289 | slotShowHomePage(); | ||
286 | } | 290 | } | ||
287 | 291 | | |||
288 | void KMyMoneyView::slotShowHomePage() | 292 | void KMyMoneyView::slotShowHomePage() | ||
289 | { | 293 | { | ||
▲ Show 20 Lines • Show All 137 Lines • ▼ Show 20 Line(s) | 429 | } else if(show) { | |||
427 | // in the base model as well. Otherwise, we don't see the column through the proxy model | 431 | // in the base model as well. Otherwise, we don't see the column through the proxy model | ||
428 | Models::instance()->accountsModel()->setColumnVisibility(column, show); | 432 | Models::instance()->accountsModel()->setColumnVisibility(column, show); | ||
429 | Models::instance()->institutionsModel()->setColumnVisibility(column, show); | 433 | Models::instance()->institutionsModel()->setColumnVisibility(column, show); | ||
430 | } | 434 | } | ||
431 | } | 435 | } | ||
432 | 436 | | |||
433 | void KMyMoneyView::setOnlinePlugins(QMap<QString, KMyMoneyPlugin::OnlinePlugin*>& plugins) | 437 | void KMyMoneyView::setOnlinePlugins(QMap<QString, KMyMoneyPlugin::OnlinePlugin*>& plugins) | ||
434 | { | 438 | { | ||
435 | static_cast<KAccountsView*>(viewBases[View::Accounts])->setOnlinePlugins(plugins); | 439 | if (viewBases.contains(View::Accounts)) | ||
436 | if (viewBases.contains(View::OnlineJobOutbox)) { | 440 | viewBases[View::Accounts]->slotSelectByVariant(QVariantList {QVariant::fromValue(static_cast<void*>(&plugins))}, eView::Intent::SetOnlinePlugins); | ||
437 | if (plugins.isEmpty()) | 441 | | ||
438 | removeView(View::OnlineJobOutbox); | 442 | if (viewBases.contains(View::OnlineJobOutbox)) | ||
439 | else | 443 | viewBases[View::OnlineJobOutbox]->slotSelectByVariant(QVariantList {QVariant::fromValue(static_cast<void*>(&plugins))}, eView::Intent::SetOnlinePlugins); | ||
440 | static_cast<KOnlineJobOutbox*>(viewBases[View::OnlineJobOutbox])->setOnlinePlugins(plugins); | | |||
441 | } | | |||
442 | } | 444 | } | ||
443 | 445 | | |||
444 | void KMyMoneyView::setStoragePlugins(QMap<QString, KMyMoneyPlugin::StoragePlugin*>& plugins) | 446 | void KMyMoneyView::setStoragePlugins(QMap<QString, KMyMoneyPlugin::StoragePlugin*>& plugins) | ||
445 | { | 447 | { | ||
446 | m_storagePlugins = &plugins; | 448 | m_storagePlugins = &plugins; | ||
447 | } | 449 | } | ||
448 | 450 | | |||
449 | eDialogs::ScheduleResultCode KMyMoneyView::enterSchedule(MyMoneySchedule& schedule, bool autoEnter, bool extendedKeys) | 451 | eDialogs::ScheduleResultCode KMyMoneyView::enterSchedule(MyMoneySchedule& schedule, bool autoEnter, bool extendedKeys) | ||
450 | { | 452 | { | ||
451 | return static_cast<KScheduledView*>(viewBases[View::Schedules])->enterSchedule(schedule, autoEnter, extendedKeys); | 453 | return static_cast<KScheduledView*>(viewBases[View::Schedules])->enterSchedule(schedule, autoEnter, extendedKeys); | ||
452 | } | 454 | } | ||
453 | 455 | | |||
454 | void KMyMoneyView::addView(KMyMoneyViewBase* view, const QString& name, View idView) | 456 | void KMyMoneyView::addView(KMyMoneyViewBase* view, const QString& name, View idView) | ||
455 | { | 457 | { | ||
456 | auto isViewInserted = false; | 458 | auto isViewInserted = false; | ||
457 | for (auto i = (int)idView; i < (int)View::None; ++i) { | 459 | for (auto i = (int)idView; i < (int)View::None; ++i) { | ||
458 | if (viewFrames.contains((View)i)) { | 460 | if (viewFrames.contains((View)i)) { | ||
459 | viewFrames[idView] = m_model->insertPage(viewFrames[(View)i],view, name); | 461 | viewFrames[idView] = m_model->insertPage(viewFrames[(View)i],view, name); | ||
460 | viewBases[idView] = view; | | |||
461 | connect(viewBases[idView], &KMyMoneyViewBase::selectByObject, this, &KMyMoneyView::slotSelectByObject); | | |||
462 | connect(viewBases[idView], &KMyMoneyViewBase::selectByVariant, this, &KMyMoneyView::slotSelectByVariant); | | |||
463 | connect(viewBases[idView], &KMyMoneyViewBase::customActionRequested, this, &KMyMoneyView::slotCustomActionRequested); | | |||
464 | isViewInserted = true; | 462 | isViewInserted = true; | ||
465 | break; | 463 | break; | ||
466 | } | 464 | } | ||
467 | } | 465 | } | ||
468 | 466 | | |||
469 | if (!isViewInserted) | 467 | if (!isViewInserted) | ||
470 | viewFrames[idView] = m_model->addPage(view, name); | 468 | viewFrames[idView] = m_model->addPage(view, name); | ||
471 | 469 | | |||
470 | viewBases[idView] = view; | ||||
471 | connect(viewBases[idView], &KMyMoneyViewBase::selectByObject, this, &KMyMoneyView::slotSelectByObject); | ||||
472 | connect(viewBases[idView], &KMyMoneyViewBase::selectByVariant, this, &KMyMoneyView::slotSelectByVariant); | ||||
473 | connect(viewBases[idView], &KMyMoneyViewBase::customActionRequested, this, &KMyMoneyView::slotCustomActionRequested); | ||||
474 | | ||||
472 | auto icon = Icon::ViewForecast; | 475 | auto icon = Icon::ViewForecast; | ||
473 | switch (idView) { | 476 | switch (idView) { | ||
474 | case View::Reports: | 477 | case View::Reports: | ||
475 | icon = Icon::ViewReports; | 478 | icon = Icon::ViewReports; | ||
476 | break; | 479 | break; | ||
477 | case View::Forecast: | 480 | case View::Forecast: | ||
478 | icon = Icon::ViewForecast; | 481 | icon = Icon::ViewForecast; | ||
479 | break; | 482 | break; | ||
▲ Show 20 Lines • Show All 410 Lines • Show Last 20 Lines |