From b1176973fa36f0701382c5e29ce0415a02fb4460 Mon Sep 17 00:00:00 2001 From: mierin12 Date: Thu, 25 Apr 2024 15:37:09 +0200 Subject: [PATCH] add purchase price including fees and taxes in Statement of Assets and Security performance views Closes #792 --- .../name/abuchen/portfolio/ui/Messages.java | 9 ++ .../abuchen/portfolio/ui/messages.properties | 18 +++ .../portfolio/ui/messages_cs.properties | 18 +++ .../portfolio/ui/messages_da.properties | 18 +++ .../portfolio/ui/messages_de.properties | 18 +++ .../portfolio/ui/messages_es.properties | 18 +++ .../portfolio/ui/messages_fr.properties | 18 +++ .../portfolio/ui/messages_it.properties | 18 +++ .../portfolio/ui/messages_nl.properties | 18 +++ .../portfolio/ui/messages_pl.properties | 18 +++ .../portfolio/ui/messages_pt.properties | 18 +++ .../portfolio/ui/messages_pt_BR.properties | 18 +++ .../portfolio/ui/messages_ru.properties | 18 +++ .../portfolio/ui/messages_sk.properties | 18 +++ .../portfolio/ui/messages_zh.properties | 18 +++ .../portfolio/ui/messages_zh_TW.properties | 18 +++ .../portfolio/ui/util/viewers/Column.java | 19 +++ .../ui/util/viewers/ShowHideColumnHelper.java | 2 + .../ui/views/SecuritiesPerformanceView.java | 150 +++++++++++------- .../ui/views/StatementOfAssetsViewer.java | 82 +++++++--- .../LazySecurityPerformanceRecord.java | 28 ++++ 21 files changed, 486 insertions(+), 74 deletions(-) diff --git a/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/Messages.java b/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/Messages.java index 381604cae1..b6740edc16 100644 --- a/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/Messages.java +++ b/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/Messages.java @@ -206,6 +206,10 @@ public class Messages extends NLS public static String ColumnForeignCurrencies; public static String ColumnGrossDividend; public static String ColumnGrossProfitLoss; + public static String ColumnGrossPurchasePriceFIFO; + public static String ColumnGrossPurchasePriceFIFO_Description; + public static String ColumnGrossPurchasePriceMovingAverage; + public static String ColumnGrossPurchasePriceMovingAverage_Description; public static String ColumnGrossValue; public static String ColumnHeight; public static String ColumnHoldingPeriod; @@ -266,12 +270,14 @@ public class Messages extends NLS public static String ColumnProfitLossBaseCurrency; public static String ColumnPurchasePrice; public static String ColumnPurchasePrice_Description; + public static String ColumnPurchasePrice_MenuLabel; public static String ColumnPurchasePriceBaseCurrency; public static String ColumnPurchasePriceMovingAverage; public static String ColumnPurchasePriceMovingAverage_Description; public static String ColumnPurchasePriceMovingAverage_MenuLabel; public static String ColumnPurchaseValue; public static String ColumnPurchaseValue_Description; + public static String ColumnPurchaseValue_MenuLabel; public static String ColumnPurchaseValueBaseCurrency; public static String ColumnPurchaseValueMovingAverage; public static String ColumnPurchaseValueMovingAverage_Description; @@ -674,6 +680,8 @@ public class Messages extends NLS public static String LabelExport; public static String LabelFees; public static String LabelFeesAccumulated; + public static String LabelFeesAndTaxesIncluded; + public static String LabelFeesAndTaxesNotIncluded; public static String LabelFirstDayOfWeek; public static String LabelFontSize; public static String LabelFormatJSON; @@ -786,6 +794,7 @@ public class Messages extends NLS public static String LabelPortfolioTimeMachine; public static String LabelPreTax; public static String LabelPreviousTradingDay; + public static String LabelPurchasePrice; public static String LabelPurchaseTransactionsOnly; public static String LabelQuandlCode; public static String LabelQuandlColumnNameQuote; diff --git a/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/messages.properties b/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/messages.properties index 8dac934a05..50bb346a68 100644 --- a/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/messages.properties +++ b/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/messages.properties @@ -462,6 +462,14 @@ ColumnGrossDividend = Gross dividend ColumnGrossProfitLoss = Gross Profit / Loss +ColumnGrossPurchasePriceFIFO = Purchase Price (gross) + +ColumnGrossPurchasePriceFIFO_Description = Purchase price of held shares calculated using the FIFO method.\r\nThe price includes the transaction fees and taxes paid. + +ColumnGrossPurchasePriceMovingAverage = Purchase Price (MA) (gross) + +ColumnGrossPurchasePriceMovingAverage_Description = Purchase price of held shares calculated using the moving average method.\r\nThe price includes the transaction fees and taxes paid. + ColumnGrossValue = Gross Value ColumnHeight = Height @@ -590,6 +598,8 @@ ColumnPurchasePriceMovingAverage_MenuLabel = Purchase Price (moving average) ColumnPurchasePrice_Description = Purchase price of held shares calculated using the FIFO method.\nThe price does not include the transaction fees and taxes paid. +ColumnPurchasePrice_MenuLabel = Purchase Price (FIFO) + ColumnPurchaseValue = Purchase Value ColumnPurchaseValueBaseCurrency = Purchase Value (Base Currency) @@ -602,6 +612,8 @@ ColumnPurchaseValueMovingAverage_MenuLabel = Purchase Value (moving average) ColumnPurchaseValue_Description = Purchase value of held shares calculated using the FIFO method.\nThe purchase value includes the transaction fees paid. +ColumnPurchaseValue_MenuLabel = Purchase Value (FIFO) + ColumnQuote = Quote ColumnQuoteChange = Change in Price @@ -1340,6 +1352,10 @@ LabelFees = Fees LabelFeesAccumulated = Fees (accumulated) +LabelFeesAndTaxesIncluded = Fees and taxes included + +LabelFeesAndTaxesNotIncluded = Fees and taxes not included + LabelFirstDayOfWeek = First day of week LabelFontSize = Font size @@ -1564,6 +1580,8 @@ LabelPreTax = Pre tax LabelPreviousTradingDay = Previous trading day +LabelPurchasePrice = Purchase Price + LabelPurchaseTransactionsOnly = Buys only LabelQuandlCode = Quandl Code diff --git a/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/messages_cs.properties b/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/messages_cs.properties index 9f45f6f8e2..9d485df43f 100644 --- a/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/messages_cs.properties +++ b/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/messages_cs.properties @@ -458,6 +458,14 @@ ColumnGrossDividend = Hrub\u00E1 dividenda ColumnGrossProfitLoss = Hrub\u00FD zisk / ztr\u00E1ta +ColumnGrossPurchasePriceFIFO = N\u00E1kupn\u00ED cena (Hrub\u00FD) + +ColumnGrossPurchasePriceFIFO_Description = N\u00E1kupn\u00ED cena dr\u017Een\u00FDch akci\u00ED vypo\u010Dten\u00E1 metodou FIFO.\r\nCena zahrnuje transak\u010Dn\u00ED poplatky a zaplacen\u00E9 dan\u011B. + +ColumnGrossPurchasePriceMovingAverage = N\u00E1kupn\u00ED cena (MA) (Hrub\u00FD) + +ColumnGrossPurchasePriceMovingAverage_Description = N\u00E1kupn\u00ED cena dr\u017Een\u00FDch akci\u00ED vypo\u010Dten\u00E1 metodou klouzav\u00E9ho pr\u016Fm\u011Bru.\r\nCena zahrnuje transak\u010Dn\u00ED poplatky a zaplacen\u00E9 dan\u011B. + ColumnGrossValue = Hrub\u00E1 hodnota ColumnHeight = V\u00FD\u0161ka @@ -586,6 +594,8 @@ ColumnPurchasePriceMovingAverage_MenuLabel = N\u00E1kupn\u00ED cena (klouzav\u00 ColumnPurchasePrice_Description = N\u00E1kupn\u00ED cena dr\u017Een\u00FDch akci\u00ED vypo\u010Dten\u00E1 metodou FIFO.\nCena nezahrnuje zaplacen\u00E9 transak\u010Dn\u00ED poplatky a dan\u011B. +ColumnPurchasePrice_MenuLabel = N\u00E1kupn\u00ED cena (FIFO) + ColumnPurchaseValue = N\u00E1kupn\u00ED hodnota ColumnPurchaseValueBaseCurrency = N\u00E1kupn\u00ED hodnota (z\u00E1kladn\u00ED m\u011Bna) @@ -598,6 +608,8 @@ ColumnPurchaseValueMovingAverage_MenuLabel = N\u00E1kupn\u00ED hodnota (klouzav\ ColumnPurchaseValue_Description = N\u00E1kupn\u00ED hodnota akci\u00ED vypo\u010Dten\u00E1 metodou FIFO.\nHodnota n\u00E1kupu zahrnuje zaplacen\u00E9 transak\u010Dn\u00ED poplatky. +ColumnPurchaseValue_MenuLabel = N\u00E1kupn\u00ED hodnota (FIFO) + ColumnQuote = Kurz ColumnQuoteChange = Zm\u011Bna v cen\u011B @@ -1330,6 +1342,10 @@ LabelFees = Poplatky LabelFeesAccumulated = Poplatky (nahromad\u011Bn\u00E9) +LabelFeesAndTaxesIncluded = V\u010Detn\u011B poplatk\u016F a dan\u00ED + +LabelFeesAndTaxesNotIncluded = Poplatky a dan\u011B nejsou zahrnuty + LabelFirstDayOfWeek = Prvn\u00ED den v t\u00FDdnu LabelFontSize = Velikost p\u00EDsma @@ -1552,6 +1568,8 @@ LabelPreTax = P\u0159ed zdan\u011Bn\u00EDm LabelPreviousTradingDay = P\u0159edchoz\u00ED obchodn\u00ED den +LabelPurchasePrice = N\u00E1kupn\u00ED cena + LabelPurchaseTransactionsOnly = Pouze n\u00E1kupy LabelQuandlCode = Quandl Code diff --git a/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/messages_da.properties b/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/messages_da.properties index def0cb7483..22fd0109f9 100644 --- a/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/messages_da.properties +++ b/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/messages_da.properties @@ -455,6 +455,14 @@ ColumnGrossDividend = Bruttoudbytte ColumnGrossProfitLoss = Bruttofortjeneste / Tab +ColumnGrossPurchasePriceFIFO = K\u00F8bspris (brutto) + +ColumnGrossPurchasePriceFIFO_Description = K\u00F8bsprisen for holdte aktier beregnet efter FIFO-metoden.\r\nPrisen inkluderer transaktionsgebyrer og betalte skatter. + +ColumnGrossPurchasePriceMovingAverage = K\u00F8bspris (MA) (brutto) + +ColumnGrossPurchasePriceMovingAverage_Description = K\u00F8bspris for holdte aktier beregnet efter den glidende gennemsnitsmetode.\r\nPrisen inkluderer transaktionsgebyrer og betalte skatter. + ColumnGrossValue = Bruttov\u00E6rdi ColumnHeight = H\u00F8jde @@ -583,6 +591,8 @@ ColumnPurchasePriceMovingAverage_MenuLabel = K\u00F8bspris (glidende gennemsnit) ColumnPurchasePrice_Description = K\u00F8bsprisen for holdte aktier beregnet efter FIFO-metoden.\nPrisen inkluderer ikke transaktionsgebyrer og betalte skatter. +ColumnPurchasePrice_MenuLabel = K\u00F8bspris (FIFO) + ColumnPurchaseValue = K\u00F8bsv\u00E6rdi ColumnPurchaseValueBaseCurrency = K\u00F8bsv\u00E6rdi (Basisvaluta) @@ -595,6 +605,8 @@ ColumnPurchaseValueMovingAverage_MenuLabel = K\u00F8bsv\u00E6rdi (glidende genne ColumnPurchaseValue_Description = K\u00F8bsv\u00E6rdi af ejede aktier beregnet efter FIFO-metoden.\nK\u00F8bsv\u00E6rdien inkluderer de betalte transaktionsgebyrer. +ColumnPurchaseValue_MenuLabel = K\u00F8bsv\u00E6rdi (FIFO) + ColumnQuote = Kurs ColumnQuoteChange = \u00C6ndring i pris @@ -1329,6 +1341,10 @@ LabelFees = Gebyrer LabelFeesAccumulated = Gebyrer (akkumuleret) +LabelFeesAndTaxesIncluded = Gebyrer og skatter inkluderet + +LabelFeesAndTaxesNotIncluded = Gebyrer og skatter er ikke inkluderet + LabelFirstDayOfWeek = F\u00F8rste ugedag LabelFontSize = Skriftst\u00F8rrelse @@ -1553,6 +1569,8 @@ LabelPreTax = F\u00F8r skat LabelPreviousTradingDay = Foreg\u00E5ende handelsdag +LabelPurchasePrice = K\u00F8bspris + LabelPurchaseTransactionsOnly = Kun k\u00F8b LabelQuandlCode = Quandl Kode diff --git a/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/messages_de.properties b/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/messages_de.properties index ba419db3c4..c91f2fd993 100644 --- a/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/messages_de.properties +++ b/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/messages_de.properties @@ -455,6 +455,14 @@ ColumnGrossDividend = Bruttodividende ColumnGrossProfitLoss = Bruttoprofit / Bruttoverlust +ColumnGrossPurchasePriceFIFO = Einstandskurs (Brutto) + +ColumnGrossPurchasePriceFIFO_Description = Einstandskurs der gehaltenen Wertpapiere, berechnet nach dem FIFO-Prinzip.\r\nIm Preis sind die gezahlten Transaktionsgeb\u00FChren und Steuern enthalten. + +ColumnGrossPurchasePriceMovingAverage = Einstandskurs (GLD) (brutto) + +ColumnGrossPurchasePriceMovingAverage_Description = Einstandskurs der gehaltenen Wertpapiere, berechnet nach dem Prinzip des gleitenden Durchschnitts.\r\nIm Preis sind die gezahlten Transaktionsgeb\u00FChren und Steuern enthalten. + ColumnGrossValue = Bruttowert ColumnHeight = H\u00F6he @@ -583,6 +591,8 @@ ColumnPurchasePriceMovingAverage_MenuLabel = Einstandskurs (gleitender Durchschn ColumnPurchasePrice_Description = Einstandskurs der gehaltenen Wertpapiere, berechnet nach dem FIFO-Prinzip.\nDer Kurs wird ohne die angefallenen Transaktionsgeb\u00FChren und Steuern errechnet. +ColumnPurchasePrice_MenuLabel = Einstandskurs (FIFO) + ColumnPurchaseValue = Einstandspreis ColumnPurchaseValueBaseCurrency = Einstandspreis in Basisw\u00E4hrung @@ -595,6 +605,8 @@ ColumnPurchaseValueMovingAverage_MenuLabel = Einstandspreis (gleitender Durchsch ColumnPurchaseValue_Description = Einstandspreis der gehaltenen Wertpapiere, berechnet nach dem FIFO-Prinzip.\nDer Wert beinhaltet die angefallenen Transaktionsgeb\u00FChren. +ColumnPurchaseValue_MenuLabel = Einstandspreis (FIFO) + ColumnQuote = Kurs ColumnQuoteChange = Kurs\u00E4nderung @@ -1333,6 +1345,10 @@ LabelFees = Geb\u00FChren LabelFeesAccumulated = Geb\u00FChren (akkumuliert) +LabelFeesAndTaxesIncluded = Geb\u00FChren und Steuern inbegriffen + +LabelFeesAndTaxesNotIncluded = Geb\u00FChren und Steuern nicht inbegriffen + LabelFirstDayOfWeek = Erster Tag der Woche LabelFontSize = Schriftgr\u00F6\u00DFe @@ -1557,6 +1573,8 @@ LabelPreTax = Vor Steuern LabelPreviousTradingDay = Voriger Handelstag +LabelPurchasePrice = Einstandskurs + LabelPurchaseTransactionsOnly = Nur K\u00E4ufe LabelQuandlCode = Quandl-Code diff --git a/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/messages_es.properties b/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/messages_es.properties index 4fab245983..038d6e828e 100644 --- a/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/messages_es.properties +++ b/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/messages_es.properties @@ -455,6 +455,14 @@ ColumnGrossDividend = Dividendo bruto ColumnGrossProfitLoss = Beneficio/P\u00E9rdida bruto +ColumnGrossPurchasePriceFIFO = Precio de compra (bruto) + +ColumnGrossPurchasePriceFIFO_Description = Pecio de compra de acciones calculadas utilizando el m\u00E9todo FIFO.\r\nEl precio incluye las comisiones de transacci\u00F3n y los impuestos pagados. + +ColumnGrossPurchasePriceMovingAverage = Precio de compra (MM) (bruto) + +ColumnGrossPurchasePriceMovingAverage_Description = Precio de compra de las acciones en posesi\u00F3n calculado seg\u00FAn el m\u00E9todo de la media m\u00F3vil.\r\nEl precio incluye las comisiones de transacci\u00F3n y los impuestos pagados. + ColumnGrossValue = Valor bruto ColumnHeight = Altura @@ -583,6 +591,8 @@ ColumnPurchasePriceMovingAverage_MenuLabel = Precio de compra (media m\u00F3vil) ColumnPurchasePrice_Description = Pecio de compra de acciones calculadas utilizando el m\u00E9todo FIFO.\nEl precio no incluye las comisiones e impuestos pagados. +ColumnPurchasePrice_MenuLabel = Precio de compra (FIFO) + ColumnPurchaseValue = Coste de compra ColumnPurchaseValueBaseCurrency = Coste de compra (en la moneda de la cuenta) @@ -595,6 +605,8 @@ ColumnPurchaseValueMovingAverage_MenuLabel = Coste de compra (media m\u00F3vil) ColumnPurchaseValue_Description = Valor de compra de acciones calculadas utilizando el m\u00E9todo FIFO.\nEl valor de compra incluye las comisiones pagadas. +ColumnPurchaseValue_MenuLabel = Coste de compra (FIFO) + ColumnQuote = Precio ColumnQuoteChange = Cambio en el Precio @@ -1329,6 +1341,10 @@ LabelFees = Comisiones LabelFeesAccumulated = Comisiones (acumuladas) +LabelFeesAndTaxesIncluded = Tasas e impuestos incluidos + +LabelFeesAndTaxesNotIncluded = Tasas e impuestos no incluidos + LabelFirstDayOfWeek = Primer dia de la semana LabelFontSize = Tama\u00F1o de la fuente @@ -1553,6 +1569,8 @@ LabelPreTax = Antes de impuestos LabelPreviousTradingDay = \u00DAltimo d\u00EDa de mercado +LabelPurchasePrice = Precio de compra + LabelPurchaseTransactionsOnly = S\u00F3lo compras LabelQuandlCode = Quandl Code diff --git a/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/messages_fr.properties b/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/messages_fr.properties index 71553de45d..0d4308a081 100644 --- a/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/messages_fr.properties +++ b/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/messages_fr.properties @@ -456,6 +456,14 @@ ColumnGrossDividend = Dividende brut ColumnGrossProfitLoss = Profit / Perte brute +ColumnGrossPurchasePriceFIFO = Prix d'achat (brut) + +ColumnGrossPurchasePriceFIFO_Description = Prix d'achat des parts d\u00E9tenues calcul\u00E9 selon la m\u00E9thode FIFO (premier entr\u00E9 premier sorti).\r\nLe prix comprend les frais de transaction et les taxes pay\u00E9es. + +ColumnGrossPurchasePriceMovingAverage = Prix d'achat (MG) (brut) + +ColumnGrossPurchasePriceMovingAverage_Description = Prix d'achat des parts d\u00E9tenues calcul\u00E9 selon la m\u00E9thode de la moyenne glissante.\r\nLe prix comprend les frais de transaction et les taxes pay\u00E9es. + ColumnGrossValue = Valeur brute ColumnHeight = Taille @@ -584,6 +592,8 @@ ColumnPurchasePriceMovingAverage_MenuLabel = Prix d'achat (moyenne glissante) ColumnPurchasePrice_Description = Prix d'achat des parts d\u00E9tenues calcul\u00E9 selon la m\u00E9thode FIFO (premier entr\u00E9 premier sorti).\nLe prix ne comprend pas les frais de transaction ni les imp\u00F4ts / taxes pay\u00E9es. +ColumnPurchasePrice_MenuLabel = Prix d'achat (FIFO) + ColumnPurchaseValue = Valeur d'achat ColumnPurchaseValueBaseCurrency = Valeur d'achat (devise de base) @@ -596,6 +606,8 @@ ColumnPurchaseValueMovingAverage_MenuLabel = Valeur d'achat (moyenne glissante) ColumnPurchaseValue_Description = Valeur d'achat des parts d\u00E9tenues calcul\u00E9e selon la m\u00E9thode FIFO (premier entr\u00E9 premier sorti).\nLa valeur comprend les frais des op\u00E9rations. +ColumnPurchaseValue_MenuLabel = Valeur d'achat (FIFO) + ColumnQuote = Cotation ColumnQuoteChange = Variation de prix @@ -1330,6 +1342,10 @@ LabelFees = Frais LabelFeesAccumulated = Frais (cumul\u00E9s) +LabelFeesAndTaxesIncluded = Frais et taxes inclus + +LabelFeesAndTaxesNotIncluded = Frais et taxes non inclus + LabelFirstDayOfWeek = Premier jour de la semaine LabelFontSize = Taille de police @@ -1554,6 +1570,8 @@ LabelPreTax = Avant taxes / imp\u00F4ts LabelPreviousTradingDay = Jour de bourse pr\u00E9c\u00E9dent +LabelPurchasePrice = Prix d'achat + LabelPurchaseTransactionsOnly = Achats uniquement LabelQuandlCode = Code Quandl diff --git a/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/messages_it.properties b/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/messages_it.properties index b721e984b9..423eed0317 100644 --- a/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/messages_it.properties +++ b/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/messages_it.properties @@ -455,6 +455,14 @@ ColumnGrossDividend = Dividendo lordo ColumnGrossProfitLoss = Utile / Perdita lordo +ColumnGrossPurchasePriceFIFO = Prezzo Acq. (lordo) + +ColumnGrossPurchasePriceFIFO_Description = Valore d'acquisto delle azioni possedute calcolato utilizzando il metodo FIFO.\r\nIl prezzo include le commissioni di transazione e le tasse pagate. + +ColumnGrossPurchasePriceMovingAverage = Prezzo Acquisto (MM) (lordo) + +ColumnGrossPurchasePriceMovingAverage_Description = Valore d'acquisto delle azioni possedute calcolato utilizzando il metodo della media mobile.\r\nIl prezzo include le commissioni di transazione e le tasse pagate. + ColumnGrossValue = Valore lordo ColumnHeight = Massimo @@ -583,6 +591,8 @@ ColumnPurchasePriceMovingAverage_MenuLabel = Prezzo Acquisto (media mobile) ColumnPurchasePrice_Description = Valore d'acquisto delle azioni possedute calcolato utilizzando il metodo FIFO.\nIl prezzo non include le commissioni di operazione e le tasse pagate. +ColumnPurchasePrice_MenuLabel = Prezzo Acq. (FIFO) + ColumnPurchaseValue = Val. Acquisto ColumnPurchaseValueBaseCurrency = Val. Acquisto (valuta base) @@ -595,6 +605,8 @@ ColumnPurchaseValueMovingAverage_MenuLabel = Valore acquisto (media mobile) ColumnPurchaseValue_Description = Valore d'acquisto delle azioni possedute calcolato utilizzando il metodo FIFO.\nIl valore d'acquisto include le commissioni di operazione pagate. +ColumnPurchaseValue_MenuLabel = Val. Acquisto (FIFO) + ColumnQuote = Quotazione ColumnQuoteChange = Variazione prezzo @@ -1329,6 +1341,10 @@ LabelFees = Commissioni LabelFeesAccumulated = Commissioni (cumulate) +LabelFeesAndTaxesIncluded = Tasse e imposte incluse + +LabelFeesAndTaxesNotIncluded = Tasse e imposte non incluse + LabelFirstDayOfWeek = Primo giorno della settimana LabelFontSize = Dimensione del font @@ -1553,6 +1569,8 @@ LabelPreTax = Ante imposte LabelPreviousTradingDay = Giorno di negoziazione precedente +LabelPurchasePrice = Prezzo Acq. + LabelPurchaseTransactionsOnly = Solo acquisti LabelQuandlCode = Codice Quandl diff --git a/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/messages_nl.properties b/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/messages_nl.properties index 89aaddc4bc..fa66052724 100644 --- a/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/messages_nl.properties +++ b/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/messages_nl.properties @@ -455,6 +455,14 @@ ColumnGrossDividend = Bruto dividend ColumnGrossProfitLoss = Brutowinst/-verlies +ColumnGrossPurchasePriceFIFO = GAK (FIFO) (bruto) + +ColumnGrossPurchasePriceFIFO_Description = Aankoopkoers van gehouden aandelen berekend met behulp van de FIFO-methode.\r\nDe prijs is inclusief de transactiekosten en betaalde belastingen. + +ColumnGrossPurchasePriceMovingAverage = GAK (SMA) (bruto) + +ColumnGrossPurchasePriceMovingAverage_Description = Aankoopkoers van beleggingen berekend volgens de methode van het voortschrijdend gemiddelde.\r\nDe prijs is inclusief de transactiekosten en betaalde belastingen. + ColumnGrossValue = Brutowaarde ColumnHeight = Hoogte @@ -583,6 +591,8 @@ ColumnPurchasePriceMovingAverage_MenuLabel = GAK (SMA) ColumnPurchasePrice_Description = Aankoopkoers van gehouden aandelen berekend met behulp van de FIFO-methode.\nHet bedrag is exclusief (transactie)kosten en belastingen. +ColumnPurchasePrice_MenuLabel = GAK (FIFO) (FIFO) + ColumnPurchaseValue = GAW (FIFO) ColumnPurchaseValueBaseCurrency = GAW (basisvaluta) @@ -595,6 +605,8 @@ ColumnPurchaseValueMovingAverage_MenuLabel = GAW (SMA) ColumnPurchaseValue_Description = De aankoopwaarde van beleggingen, berekend op basis van de FIFO-methode. De aankoopwaarde is inclusief de (transactie)kosten. +ColumnPurchaseValue_MenuLabel = GAW (FIFO) + ColumnQuote = Koers ColumnQuoteChange = Koerswijziging (%) sinds @@ -1329,6 +1341,10 @@ LabelFees = Kosten LabelFeesAccumulated = Kosten (cumulatief) +LabelFeesAndTaxesIncluded = Inclusief kosten en belastingen + +LabelFeesAndTaxesNotIncluded = Exclusief kosten en belastingen + LabelFirstDayOfWeek = Eerste dag van de week LabelFontSize = Lettergrootte @@ -1553,6 +1569,8 @@ LabelPreTax = Voor belasting LabelPreviousTradingDay = Vorige handelsdag +LabelPurchasePrice = GAK + LabelPurchaseTransactionsOnly = Alleen aankopen LabelQuandlCode = Quandl-code diff --git a/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/messages_pl.properties b/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/messages_pl.properties index 7c9fe15574..4bb3d17bba 100644 --- a/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/messages_pl.properties +++ b/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/messages_pl.properties @@ -455,6 +455,14 @@ ColumnGrossDividend = Dywidenda brutto ColumnGrossProfitLoss = Zysk/Strata Brutto +ColumnGrossPurchasePriceFIFO = Cena zakupu (brutto) + +ColumnGrossPurchasePriceFIFO_Description = Cena nabycia posiadanych udzia\u0142\u00F3w obliczona metod\u0105 FIFO.\r\nCena obejmuje op\u0142aty transakcyjne i podatki. + +ColumnGrossPurchasePriceMovingAverage = Cena zakupu (MA) (brutto) + +ColumnGrossPurchasePriceMovingAverage_Description = Cena nabycia posiadanych udzia\u0142\u00F3w obliczona metod\u0105 \u015Bredniej ruchomej.\r\nCena obejmuje op\u0142aty transakcyjne i podatki. + ColumnGrossValue = Warto\u015B\u0107 brutto ColumnHeight = Wzrost @@ -583,6 +591,8 @@ ColumnPurchasePriceMovingAverage_MenuLabel = Cena zakupu (\u015Brednia ruchoma) ColumnPurchasePrice_Description = Cena nabycia posiadanych udzia\u0142\u00F3w obliczona metod\u0105 FIFO.\nCena nie obejmuje zap\u0142aconych op\u0142at transakcyjnych i podatk\u00F3w. +ColumnPurchasePrice_MenuLabel = Cena zakupu (FIFO) + ColumnPurchaseValue = Warto\u015B\u0107 zakupu ColumnPurchaseValueBaseCurrency = Warto\u015B\u0107 zakupu (waluta bazowa) @@ -595,6 +605,8 @@ ColumnPurchaseValueMovingAverage_MenuLabel = Warto\u015B\u0107 zakupu (\u015Bred ColumnPurchaseValue_Description = Warto\u015B\u0107 nabycia posiadanych akcji obliczona metod\u0105 FIFO.\n Warto\u015B\u0107 zakupu obejmuje uiszczone op\u0142aty transakcyjne. +ColumnPurchaseValue_MenuLabel = Warto\u015B\u0107 zakupu (FIFO) + ColumnQuote = Kurs ColumnQuoteChange = Zmiana ceny @@ -1329,6 +1341,10 @@ LabelFees = Op\u0142aty LabelFeesAccumulated = Op\u0142aty (zakumulowane) +LabelFeesAndTaxesIncluded = Op\u0142aty i podatki wliczone w cen\u0119 + +LabelFeesAndTaxesNotIncluded = Op\u0142aty i podatki nie s\u0105 wliczone + LabelFirstDayOfWeek = Pierwszy dzie\u0144 tygodnia LabelFontSize = Rozmiar czcionki @@ -1553,6 +1569,8 @@ LabelPreTax = Przed opodatkowaniem LabelPreviousTradingDay = Poprzedni dzie\u0144 handlowy +LabelPurchasePrice = Cena zakupu + LabelPurchaseTransactionsOnly = Tylko zakupy LabelQuandlCode = Kod Quandl diff --git a/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/messages_pt.properties b/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/messages_pt.properties index ab1bd2f496..55a81dcecb 100644 --- a/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/messages_pt.properties +++ b/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/messages_pt.properties @@ -455,6 +455,14 @@ ColumnGrossDividend = Dividendo bruto ColumnGrossProfitLoss = Lucro Bruto / Perda +ColumnGrossPurchasePriceFIFO = Pre\u00E7o de compra (bruto) + +ColumnGrossPurchasePriceFIFO_Description = Pre\u00E7o de compra das a\u00E7\u00F5es em cust\u00F3dia calculado pelo m\u00E9todo FIFO.\r\nO pre\u00E7o inclui as taxas de transa\u00E7\u00E3o e os impostos pagos. + +ColumnGrossPurchasePriceMovingAverage = Pre\u00E7o de Compra (MM) (bruto) + +ColumnGrossPurchasePriceMovingAverage_Description = Pre\u00E7o de compra das a\u00E7\u00F5es em cust\u00F3dia calculado pelo m\u00E9todo da m\u00E9dia m\u00F3vel.\r\nO pre\u00E7o inclui as taxas de transa\u00E7\u00E3o e os impostos pagos. + ColumnGrossValue = Valor Bruto ColumnHeight = Altura @@ -583,6 +591,8 @@ ColumnPurchasePriceMovingAverage_MenuLabel = Pre\u00E7o de compra (m\u00E9dia m\ ColumnPurchasePrice_Description = Pre\u00E7o de compra das a\u00E7\u00F5es em cust\u00F3dia calculado pelo m\u00E9todo FIFO.\nO pre\u00E7o n\u00E3o inclui as comiss\u00F5es de transa\u00E7\u00E3o e os impostos pagos. +ColumnPurchasePrice_MenuLabel = Pre\u00E7o de compra (FIFO) + ColumnPurchaseValue = Valor de compra ColumnPurchaseValueBaseCurrency = Valor de compra (moeda base) @@ -595,6 +605,8 @@ ColumnPurchaseValueMovingAverage_MenuLabel = Valor de compra (m\u00E9dia m\u00F3 ColumnPurchaseValue_Description = Valor de compra das a\u00E7\u00F5es em cust\u00F3dia calculado pelo m\u00E9todo FIFO.\nO valor da compra inclui as comiss\u00F5es de transa\u00E7\u00E3o pagas. +ColumnPurchaseValue_MenuLabel = Valor de compra (FIFO) + ColumnQuote = Cota\u00E7\u00E3o ColumnQuoteChange = Mudan\u00E7a no pre\u00E7o @@ -1329,6 +1341,10 @@ LabelFees = Taxas LabelFeesAccumulated = Taxas (acumulado) +LabelFeesAndTaxesIncluded = Taxas e impostos inclu\u00EDdos + +LabelFeesAndTaxesNotIncluded = Taxas e impostos n\u00E3o inclu\u00EDdos + LabelFirstDayOfWeek = Primeiro dia da semana LabelFontSize = Tamanho da fonte @@ -1551,6 +1567,8 @@ LabelPreTax = Pr\u00E9 Impostos LabelPreviousTradingDay = Dia de negocia\u00E7\u00E3o anterior +LabelPurchasePrice = Pre\u00E7o de compra + LabelPurchaseTransactionsOnly = Apenas compras LabelQuandlCode = Quandl Code diff --git a/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/messages_pt_BR.properties b/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/messages_pt_BR.properties index bba3b928f2..4147ee175c 100644 --- a/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/messages_pt_BR.properties +++ b/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/messages_pt_BR.properties @@ -455,6 +455,14 @@ ColumnGrossDividend = Dividendo bruto ColumnGrossProfitLoss = Lucro / Perda brutos +ColumnGrossPurchasePriceFIFO = Pre\u00E7o de compra (bruto) + +ColumnGrossPurchasePriceFIFO_Description = Pre\u00E7o de compra das a\u00E7\u00F5es em cust\u00F3dia calculado pelo m\u00E9todo FIFO.\r\nO pre\u00E7o inclui as taxas de transa\u00E7\u00E3o e os impostos pagos. + +ColumnGrossPurchasePriceMovingAverage = Pre\u00E7o de Compra (MM) (bruto) + +ColumnGrossPurchasePriceMovingAverage_Description = Pre\u00E7o de compra das a\u00E7\u00F5es em cust\u00F3dia calculado pelo m\u00E9todo da m\u00E9dia m\u00F3vel.\r\nO pre\u00E7o inclui as taxas de transa\u00E7\u00E3o e os impostos pagos. + ColumnGrossValue = Valor Bruto ColumnHeight = Altura @@ -583,6 +591,8 @@ ColumnPurchasePriceMovingAverage_MenuLabel = Pre\u00E7o de compra (m\u00E9dia m\ ColumnPurchasePrice_Description = Pre\u00E7o de compra das a\u00E7\u00F5es em cust\u00F3dia calculado pelo m\u00E9todo FIFO.\nO pre\u00E7o n\u00E3o inclui as taxas de transa\u00E7\u00E3o e os impostos pagos. +ColumnPurchasePrice_MenuLabel = Pre\u00E7o de compra (FIFO) + ColumnPurchaseValue = Valor de compra ColumnPurchaseValueBaseCurrency = Valor de compra (moeda base) @@ -595,6 +605,8 @@ ColumnPurchaseValueMovingAverage_MenuLabel = Valor de compra (m\u00E9dia m\u00F3 ColumnPurchaseValue_Description = Valor de compra das a\u00E7\u00F5es em cust\u00F3dia calculado pelo m\u00E9todo FIFO.\nO valor da compra inclui as comiss\u00F5es de transa\u00E7\u00E3o pagas. +ColumnPurchaseValue_MenuLabel = Valor de compra (FIFO) + ColumnQuote = Cota\u00E7\u00E3o ColumnQuoteChange = Mudan\u00E7a no pre\u00E7o @@ -1329,6 +1341,10 @@ LabelFees = Taxas LabelFeesAccumulated = Taxas (acumulado) +LabelFeesAndTaxesIncluded = Taxas e impostos inclu\u00EDdos + +LabelFeesAndTaxesNotIncluded = Taxas e impostos n\u00E3o inclu\u00EDdos + LabelFirstDayOfWeek = Primeiro dia da semana LabelFontSize = Tamanho da fonte @@ -1553,6 +1569,8 @@ LabelPreTax = Pr\u00E9 Impostos LabelPreviousTradingDay = Dia de negocia\u00E7\u00E3o anterior +LabelPurchasePrice = Pre\u00E7o de compra + LabelPurchaseTransactionsOnly = Somente compras LabelQuandlCode = Quandl Code diff --git a/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/messages_ru.properties b/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/messages_ru.properties index 588364195f..4994146f73 100644 --- a/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/messages_ru.properties +++ b/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/messages_ru.properties @@ -455,6 +455,14 @@ ColumnGrossDividend = \u0434\u0438\u0432\u0438\u0434\u0435\u043D\u0434 \u0431\u0 ColumnGrossProfitLoss = \u041F\u0440\u0438\u0431\u044B\u043B\u044C \u0431\u0440\u0443\u0442\u0442\u043E / \u0443\u0431\u044B\u0442\u043E\u043A +ColumnGrossPurchasePriceFIFO = \u0426\u0435\u043D\u0430 \u043F\u043E\u043A\u0443\u043F\u043A\u0438 (\u0411\u0440\u0443\u0442\u0442\u043E) + +ColumnGrossPurchasePriceFIFO_Description = \u0426\u0435\u043D\u0430 \u043F\u043E\u043A\u0443\u043F\u043A\u0438 \u0443\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u043C\u044B\u0445 \u0430\u043A\u0446\u0438\u0439 \u0440\u0430\u0441\u0441\u0447\u0438\u0442\u044B\u0432\u0430\u0435\u0442\u0441\u044F \u043F\u043E \u043C\u0435\u0442\u043E\u0434\u0443 FIFO.\r\n\u0426\u0435\u043D\u0430 \u0432\u043A\u043B\u044E\u0447\u0430\u0435\u0442 \u0432 \u0441\u0435\u0431\u044F \u043A\u043E\u043C\u0438\u0441\u0441\u0438\u044E \u0437\u0430 \u0442\u0440\u0430\u043D\u0437\u0430\u043A\u0446\u0438\u044E \u0438 \u0443\u043F\u043B\u0430\u0447\u0435\u043D\u043D\u044B\u0435 \u043D\u0430\u043B\u043E\u0433\u0438. + +ColumnGrossPurchasePriceMovingAverage = \u0426\u0435\u043D\u0430 \u043F\u043E\u043A\u0443\u043F\u043A\u0438 (MA) (\u0411\u0440\u0443\u0442\u0442\u043E) + +ColumnGrossPurchasePriceMovingAverage_Description = \u0426\u0435\u043D\u0430 \u043F\u043E\u043A\u0443\u043F\u043A\u0438 \u0443\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u043C\u044B\u0445 \u0430\u043A\u0446\u0438\u0439 \u0440\u0430\u0441\u0441\u0447\u0438\u0442\u044B\u0432\u0430\u0435\u0442\u0441\u044F \u0441 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u0438\u0435\u043C \u043C\u0435\u0442\u043E\u0434\u0430 \u0441\u043A\u043E\u043B\u044C\u0437\u044F\u0449\u0435\u0439 \u0441\u0440\u0435\u0434\u043D\u0435\u0439.\r\n\u0426\u0435\u043D\u0430 \u0432\u043A\u043B\u044E\u0447\u0430\u0435\u0442 \u0432 \u0441\u0435\u0431\u044F \u043A\u043E\u043C\u0438\u0441\u0441\u0438\u044E \u0437\u0430 \u0442\u0440\u0430\u043D\u0437\u0430\u043A\u0446\u0438\u044E \u0438 \u0443\u043F\u043B\u0430\u0447\u0435\u043D\u043D\u044B\u0435 \u043D\u0430\u043B\u043E\u0433\u0438. + ColumnGrossValue = \u0421\u0442\u043E\u0438\u043C\u043E\u0441\u0442\u044C \u0431\u0440\u0443\u0442\u0442\u043E ColumnHeight = \u0412\u044B\u0441\u043E\u0442\u0430 @@ -583,6 +591,8 @@ ColumnPurchasePriceMovingAverage_MenuLabel = \u0426\u0435\u043D\u0430 \u043F\u04 ColumnPurchasePrice_Description = \u0426\u0435\u043D\u0430 \u043F\u043E\u043A\u0443\u043F\u043A\u0438 \u0443\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u043C\u044B\u0445 \u0430\u043A\u0446\u0438\u0439 \u0440\u0430\u0441\u0441\u0447\u0438\u0442\u044B\u0432\u0430\u0435\u0442\u0441\u044F \u043F\u043E \u043C\u0435\u0442\u043E\u0434\u0443 FIFO.\n\u0426\u0435\u043D\u0430 \u043D\u0435 \u0432\u043A\u043B\u044E\u0447\u0430\u0435\u0442 \u0443\u043F\u043B\u0430\u0447\u0435\u043D\u043D\u044B\u0435 \u043A\u043E\u043C\u0438\u0441\u0441\u0438\u0438 \u0437\u0430 \u0442\u0440\u0430\u043D\u0437\u0430\u043A\u0446\u0438\u044E \u0438 \u043D\u0430\u043B\u043E\u0433\u0438. +ColumnPurchasePrice_MenuLabel = \u0426\u0435\u043D\u0430 \u043F\u043E\u043A\u0443\u043F\u043A\u0438 (FIFO) + ColumnPurchaseValue = \u0421\u0442\u043E\u0438\u043C\u043E\u0441\u0442\u044C \u043F\u043E\u043A\u0443\u043F\u043A\u0438 ColumnPurchaseValueBaseCurrency = \u0421\u0442\u043E\u0438\u043C\u043E\u0441\u0442\u044C \u043F\u043E\u043A\u0443\u043F\u043A\u0438 (\u0431\u0430\u0437\u043E\u0432\u0430\u044F \u0432\u0430\u043B\u044E\u0442\u0430) @@ -595,6 +605,8 @@ ColumnPurchaseValueMovingAverage_MenuLabel = \u0421\u0442\u043E\u0438\u043C\u043 ColumnPurchaseValue_Description = \u041F\u043E\u043A\u0443\u043F\u043D\u0430\u044F \u0441\u0442\u043E\u0438\u043C\u043E\u0441\u0442\u044C \u0443\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u043C\u044B\u0445 \u0430\u043A\u0446\u0438\u0439 \u0440\u0430\u0441\u0441\u0447\u0438\u0442\u044B\u0432\u0430\u0435\u0442\u0441\u044F \u043F\u043E \u043C\u0435\u0442\u043E\u0434\u0443 FIFO.\n\u0421\u0442\u043E\u0438\u043C\u043E\u0441\u0442\u044C \u043F\u043E\u043A\u0443\u043F\u043A\u0438 \u0432\u043A\u043B\u044E\u0447\u0430\u0435\u0442 \u0443\u043F\u043B\u0430\u0447\u0435\u043D\u043D\u0443\u044E \u043A\u043E\u043C\u0438\u0441\u0441\u0438\u044E \u0437\u0430 \u0442\u0440\u0430\u043D\u0437\u0430\u043A\u0446\u0438\u044E. +ColumnPurchaseValue_MenuLabel = \u0421\u0442\u043E\u0438\u043C\u043E\u0441\u0442\u044C \u043F\u043E\u043A\u0443\u043F\u043A\u0438 (FIFO) + ColumnQuote = \u0426\u0435\u043D\u0430 ColumnQuoteChange = \u0418\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u0435 \u0446\u0435\u043D\u044B @@ -1329,6 +1341,10 @@ LabelFees = \u0413\u043E\u043D\u043E\u0440\u0430\u0440\u044B LabelFeesAccumulated = \u0413\u043E\u043D\u043E\u0440\u0430\u0440\u044B (\u043D\u0430\u043A\u043E\u043F\u043B\u0435\u043D\u043D\u044B\u0439) +LabelFeesAndTaxesIncluded = \u0412\u043A\u043B\u044E\u0447\u0435\u043D\u044B \u043D\u0430\u043B\u043E\u0433\u0438 \u0438 \u0441\u0431\u043E\u0440\u044B + +LabelFeesAndTaxesNotIncluded = \u0421\u0431\u043E\u0440\u044B \u0438 \u043D\u0430\u043B\u043E\u0433\u0438 \u043D\u0435 \u0432\u043A\u043B\u044E\u0447\u0435\u043D\u044B + LabelFirstDayOfWeek = \u041F\u0435\u0440\u0432\u044B\u0439 \u0434\u0435\u043D\u044C \u043D\u0435\u0434\u0435\u043B\u0438 LabelFontSize = \u0420\u0430\u0437\u043C\u0435\u0440 \u0448\u0440\u0438\u0444\u0442\u0430 @@ -1551,6 +1567,8 @@ LabelPreTax = \u0414\u043E \u043D\u0430\u043B\u043E\u0433\u043E\u043E\u0431\u043 LabelPreviousTradingDay = \u041F\u0440\u0435\u0434\u044B\u0434\u0443\u0449\u0438\u0439 \u0442\u043E\u0440\u0433\u043E\u0432\u044B\u0439 \u0434\u0435\u043D\u044C +LabelPurchasePrice = \u0426\u0435\u043D\u0430 \u043F\u043E\u043A\u0443\u043F\u043A\u0438 + LabelPurchaseTransactionsOnly = \u0422\u043E\u043B\u044C\u043A\u043E \u0437\u0430\u043A\u0443\u043F\u043A\u0438 LabelQuandlCode = Quandl \u041A\u043E\u0434 diff --git a/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/messages_sk.properties b/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/messages_sk.properties index c2ab2ce220..f3317f9d2f 100644 --- a/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/messages_sk.properties +++ b/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/messages_sk.properties @@ -455,6 +455,14 @@ ColumnGrossDividend = Hrub\u00E1 dividenda ColumnGrossProfitLoss = Hrub\u00FD zisk / strata +ColumnGrossPurchasePriceFIFO = N\u00E1kupn\u00E1 cena (Hrub\u00FD) + +ColumnGrossPurchasePriceFIFO_Description = N\u00E1kupn\u00E1 cena dr\u017Ean\u00FDch akci\u00ED vypo\u010D\u00EDtan\u00E1 met\u00F3dou FIFO. \r\nCena zah\u0155\u0148a transak\u010Dn\u00E9 poplatky a zaplaten\u00E9 dane. + +ColumnGrossPurchasePriceMovingAverage = N\u00E1kupn\u00E1 cena (MA) (Hrub\u00FD) + +ColumnGrossPurchasePriceMovingAverage_Description = N\u00E1kupn\u00E1 cena dr\u017Ean\u00FDch akci\u00ED vypo\u010D\u00EDtan\u00E1 met\u00F3dou k\u013Azav\u00E9ho priemeru. \r\nCena zah\u0155\u0148a transak\u010Dn\u00E9 poplatky a zaplaten\u00E9 dane. + ColumnGrossValue = Hrub\u00E1 hodnota ColumnHeight = V\u00FD\u0161ka @@ -583,6 +591,8 @@ ColumnPurchasePriceMovingAverage_MenuLabel = N\u00E1kupn\u00E1 cena (k\u013Azav\ ColumnPurchasePrice_Description = N\u00E1kupn\u00E1 cena dr\u017Ean\u00FDch akci\u00ED vypo\u010D\u00EDtan\u00E1 met\u00F3dou FIFO. \nCena nezah\u0155\u0148a zaplaten\u00E9 transak\u010Dn\u00E9 poplatky a dane. +ColumnPurchasePrice_MenuLabel = N\u00E1kupn\u00E1 cena (FIFO) + ColumnPurchaseValue = Hodnota n\u00E1kupu ColumnPurchaseValueBaseCurrency = N\u00E1kupn\u00E1 hodnota (z\u00E1kladn\u00E1 mena) @@ -595,6 +605,8 @@ ColumnPurchaseValueMovingAverage_MenuLabel = N\u00E1kupn\u00E1 hodnota (k\u013Az ColumnPurchaseValue_Description = N\u00E1kupn\u00E1 hodnota dr\u017Ean\u00FDch akci\u00ED vypo\u010D\u00EDtan\u00E1 met\u00F3dou FIFO. \nN\u00E1kupn\u00E1 hodnota zah\u0155\u0148a zaplaten\u00E9 transak\u010Dn\u00E9 poplatky. +ColumnPurchaseValue_MenuLabel = Hodnota n\u00E1kupu (FIFO) + ColumnQuote = Kurz ColumnQuoteChange = Zmena ceny @@ -1329,6 +1341,10 @@ LabelFees = Poplatky LabelFeesAccumulated = Poplatky (akumulovan\u00E9) +LabelFeesAndTaxesIncluded = Vr\u00E1tane poplatkov a dan\u00ED + +LabelFeesAndTaxesNotIncluded = Poplatky a dane nie s\u00FA zahrnut\u00E9 + LabelFirstDayOfWeek = Prv\u00FD de\u0148 v t\u00FD\u017Edni LabelFontSize = Ve\u013Ekos\u0165 p\u00EDsma @@ -1553,6 +1569,8 @@ LabelPreTax = Pred zdanen\u00EDm LabelPreviousTradingDay = Predch\u00E1dzaj\u00FAci obchodn\u00FD de\u0148 +LabelPurchasePrice = N\u00E1kupn\u00E1 cena + LabelPurchaseTransactionsOnly = Len n\u00E1kupy LabelQuandlCode = K\u00F3d Quandl diff --git a/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/messages_zh.properties b/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/messages_zh.properties index 7b76ce6ca3..f33f05e0e2 100644 --- a/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/messages_zh.properties +++ b/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/messages_zh.properties @@ -455,6 +455,14 @@ ColumnGrossDividend = \u603B\u80A1\u606F ColumnGrossProfitLoss = \u6BDB\u5229 / \u4E8F +ColumnGrossPurchasePriceFIFO = \u4E70\u4EF7 (\u603B\u989D) + +ColumnGrossPurchasePriceFIFO_Description = \u4EE5\u5148\u8FDB\u5148\u51FA\u6CD5\u8BA1\u7B97\u7684\u6301\u4ED3\u6210\u672C\u3002\r\n\u8BE5\u4EF7\u683C\u5305\u542B\u4EA4\u6613\u8D39\u7528\u548C\u5DF2\u652F\u4ED8\u7684\u7A0E\u8D39\u3002 + +ColumnGrossPurchasePriceMovingAverage = \u4E70\u4EF7 (MA) (\u603B\u989D) + +ColumnGrossPurchasePriceMovingAverage_Description = \u4EE5\u79FB\u52A8\u5E73\u5747\u6CD5\u8BA1\u7B97\u7684\u6301\u4ED3\u6210\u672C\u3002\r\n\u8BE5\u4EF7\u683C\u5305\u542B\u4EA4\u6613\u8D39\u7528\u548C\u5DF2\u652F\u4ED8\u7684\u7A0E\u8D39\u3002 + ColumnGrossValue = \u603B\u989D ColumnHeight = \u9AD8\u5EA6 @@ -583,6 +591,8 @@ ColumnPurchasePriceMovingAverage_MenuLabel = \u4E70\u4EF7 (\u79FB\u52A8\u5E73\u5 ColumnPurchasePrice_Description = \u4EE5\u5148\u8FDB\u5148\u51FA\u6CD5\u8BA1\u7B97\u7684\u6301\u4ED3\u6210\u672C\u3002\n\u6B64\u4EF7\u683C\u4E0D\u5305\u542B\u8D39\u7528\u6216\u7A0E\u6B3E\u3002 +ColumnPurchasePrice_MenuLabel = \u4E70\u4EF7 (FIFO) + ColumnPurchaseValue = \u6210\u672C ColumnPurchaseValueBaseCurrency = \u6210\u672C (\u57FA\u51C6\u8D27\u5E01) @@ -595,6 +605,8 @@ ColumnPurchaseValueMovingAverage_MenuLabel = \u6210\u672C (\u79FB\u52A8\u5E73\u5 ColumnPurchaseValue_Description = \u4EE5\u5148\u8FDB\u5148\u51FA\u6CD5\u8BA1\u7B97\u7684\u6301\u4ED3\u6210\u672C\u3002\n\u6B64\u4EF7\u683C\u5305\u542B\u8D39\u7528\u6216\u7A0E\u6B3E\u3002 +ColumnPurchaseValue_MenuLabel = \u6210\u672C (FIFO) + ColumnQuote = \u62A5\u4EF7 ColumnQuoteChange = \u62A5\u4EF7\u53D8\u5316 @@ -1329,6 +1341,10 @@ LabelFees = \u8D39\u7528 LabelFeesAccumulated = \u8D39\u7528 (\u7D2F\u8BA1) +LabelFeesAndTaxesIncluded = \u542B\u7A0E\u8D39 + +LabelFeesAndTaxesNotIncluded = \u4E0D\u5305\u62EC\u8D39\u7528\u548C\u7A0E\u8D39 + LabelFirstDayOfWeek = \u5468\u8D77\u59CB\u65E5 LabelFontSize = \u5B57\u53F7 @@ -1553,6 +1569,8 @@ LabelPreTax = \u7A0E\u524D LabelPreviousTradingDay = \u524D\u4E00\u4EA4\u6613\u65E5 +LabelPurchasePrice = \u4E70\u4EF7 + LabelPurchaseTransactionsOnly = \u4EC5\u4E70\u5165 LabelQuandlCode = Quandl Code diff --git a/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/messages_zh_TW.properties b/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/messages_zh_TW.properties index f1527b2bdb..02e44778b5 100644 --- a/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/messages_zh_TW.properties +++ b/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/messages_zh_TW.properties @@ -455,6 +455,14 @@ ColumnGrossDividend = \u7E3D\u80A1\u606F ColumnGrossProfitLoss = \u7E3D\u6DE8\u6536\u76CA/\u8667\u640D +ColumnGrossPurchasePriceFIFO = \u8CFC\u8CB7\u50F9\u683C\uFF08\u6BDB\u984D\uFF09 + +ColumnGrossPurchasePriceFIFO_Description = \u4F7F\u7528\u5148\u9032\u5148\u51FA\u6CD5\uFF08FIFO\uFF09\u8A08\u7B97\u6301\u6709\u80A1\u4EFD\u7684\u8CFC\u8CB7\u50F9\u683C\u3002\r\n\u8A72\u50F9\u683C\u5305\u62EC\u4EA4\u6613\u8CBB\u7528\u548C\u652F\u4ED8\u7684\u7A05\u8CBB\u3002 + +ColumnGrossPurchasePriceMovingAverage = \u8CFC\u8CB7\u50F9\u683C\uFF08MA\uFF09 (\u6BDB\u5229) + +ColumnGrossPurchasePriceMovingAverage_Description = \u4F7F\u7528\u79FB\u52D5\u5E73\u5747\u6CD5\u8A08\u7B97\u6301\u6709\u80A1\u4EFD\u7684\u8CFC\u8CB7\u50F9\u683C\u3002\r\n\u8A72\u50F9\u683C\u5305\u62EC\u4EA4\u6613\u8CBB\u7528\u548C\u652F\u4ED8\u7684\u7A05\u8CBB\u3002 + ColumnGrossValue = \u7E3D\u503C ColumnHeight = \u9AD8\u5EA6 @@ -583,6 +591,8 @@ ColumnPurchasePriceMovingAverage_MenuLabel = \u8CFC\u8CB7\u50F9\u683C\uFF08\u79F ColumnPurchasePrice_Description = \u4F7F\u7528\u5148\u9032\u5148\u51FA\u6CD5\uFF08FIFO\uFF09\u8A08\u7B97\u6301\u6709\u80A1\u4EFD\u7684\u8CFC\u8CB7\u50F9\u683C\u3002\n\u50F9\u683C\u4E0D\u5305\u62EC\u652F\u4ED8\u7684\u4EA4\u6613\u8CBB\u7528\u548C\u7A05\u6B3E\u3002 +ColumnPurchasePrice_MenuLabel = \u8CFC\u8CB7\u50F9\u683C (FIFO) + ColumnPurchaseValue = \u8CFC\u8CB7\u50F9\u503C ColumnPurchaseValueBaseCurrency = \u8CFC\u8CB7\u50F9\u503C\uFF08\u57FA\u790E\u8CA8\u5E63\uFF09 @@ -595,6 +605,8 @@ ColumnPurchaseValueMovingAverage_MenuLabel = \u8CFC\u8CB7\u50F9\u503C\uFF08\u79F ColumnPurchaseValue_Description = \u4F7F\u7528\u5148\u9032\u5148\u51FA\uFF08FIFO\uFF09\u65B9\u6CD5\u8A08\u7B97\u6301\u6709\u80A1\u7968\u7684\u8CFC\u8CB7\u50F9\u503C\u3002\n\u8CFC\u8CB7\u50F9\u503C\u5305\u62EC\u652F\u4ED8\u7684\u4EA4\u6613\u8CBB\u7528\u3002 +ColumnPurchaseValue_MenuLabel = \u8CFC\u8CB7\u50F9\u503C (FIFO) + ColumnQuote = \u5831\u50F9 ColumnQuoteChange = \u50F9\u683C\u8B8A\u52D5 @@ -1329,6 +1341,10 @@ LabelFees = \u8CBB\u7528 LabelFeesAccumulated = \u8CBB\u7528\uFF08\u7D2F\u7A4D\uFF09 +LabelFeesAndTaxesIncluded = \u5305\u542B\u8CBB\u7528\u548C\u7A05\u8CBB + +LabelFeesAndTaxesNotIncluded = \u4E0D\u5305\u62EC\u8CBB\u7528\u548C\u7A05\u8CBB + LabelFirstDayOfWeek = \u6BCF\u5468\u7684\u7B2C\u4E00\u5929 LabelFontSize = \u5B57\u9AD4\u5927\u5C0F @@ -1553,6 +1569,8 @@ LabelPreTax = \u7A05\u524D LabelPreviousTradingDay = \u4E0A\u4E00\u500B\u4EA4\u6613\u65E5 +LabelPurchasePrice = \u8CFC\u8CB7\u50F9\u683C + LabelPurchaseTransactionsOnly = \u50C5\u9650\u8CFC\u8CB7 LabelQuandlCode = Quandl \u4EE3\u78BC diff --git a/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/util/viewers/Column.java b/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/util/viewers/Column.java index f4dd480565..115e886f45 100644 --- a/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/util/viewers/Column.java +++ b/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/util/viewers/Column.java @@ -74,6 +74,11 @@ public interface Options private String menuLabel; private String description; + /** + * used to write a LabelOnly text in a submenu, just above the column name. + */ + private String labelOnly; + private ColumnEditingSupport editingSupport; public Column(String label, int style, int defaultWidth) @@ -205,6 +210,11 @@ public void setEditingSupport(ColumnEditingSupport editingSupport) this.editingSupport = editingSupport; } + public void setLabelOnly(String labelOnly) + { + this.labelOnly = labelOnly; + } + /* package */String getLabel() { return label; @@ -285,6 +295,15 @@ public ElementOptionFunction getToolTipProvider() return groupLabel; } + /* package */boolean hasLabelOnly() + { + return labelOnly != null; + } + + /* package */String getLabelOnly() + { + return labelOnly; + } public ColumnEditingSupport getEditingSupport() { return editingSupport; diff --git a/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/util/viewers/ShowHideColumnHelper.java b/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/util/viewers/ShowHideColumnHelper.java index 5ef4dafae0..2e978b5d12 100644 --- a/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/util/viewers/ShowHideColumnHelper.java +++ b/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/util/viewers/ShowHideColumnHelper.java @@ -616,6 +616,8 @@ public void menuAboutToShow(final IMenuManager manager) // NOSONAR manager.add(m); return m; }); + if (column.hasLabelOnly()) + managerToAdd.add(new LabelOnly(column.getLabelOnly())); } if (column.hasOptions()) diff --git a/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/views/SecuritiesPerformanceView.java b/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/views/SecuritiesPerformanceView.java index 96b7c28d0c..e10de94a65 100644 --- a/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/views/SecuritiesPerformanceView.java +++ b/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/views/SecuritiesPerformanceView.java @@ -860,62 +860,6 @@ public Long getValue(Object e) column.setSortDirction(SWT.UP); recordColumns.addColumn(column); - // cost value - fifo - column = new Column("pv", Messages.ColumnPurchaseValue, SWT.RIGHT, 75); //$NON-NLS-1$ - column.setDescription(Messages.ColumnPurchaseValue_Description + TextUtil.PARAGRAPH_BREAK - + Messages.DescriptionDataRelativeToReportingPeriod); - column.setImage(Images.INTERVAL); - column.setLabelProvider(new RowElementLabelProvider( - r -> Values.Money.format(r.getFifoCost().get(), getClient().getBaseCurrency()), - aggregate -> Values.Money.format( - aggregate.sum(getClient().getBaseCurrency(), r -> r.getFifoCost().get()), - getClient().getBaseCurrency()))); - column.setToolTipProvider( - element -> ((RowElement) element).explain(LazySecurityPerformanceRecord.Trails.FIFO_COST)); - column.setSorter(ColumnViewerSorter.create(e -> ((LazySecurityPerformanceRecord) e).getFifoCost().get())); - recordColumns.addColumn(column); - - // cost value - moving average - column = new Column("pvmvavg", Messages.ColumnPurchaseValueMovingAverage, SWT.RIGHT, 75); //$NON-NLS-1$ - column.setMenuLabel(Messages.ColumnPurchaseValueMovingAverage_MenuLabel); - column.setDescription(Messages.ColumnPurchaseValueMovingAverage_Description + TextUtil.PARAGRAPH_BREAK - + Messages.DescriptionDataRelativeToReportingPeriod); - column.setImage(Images.INTERVAL); - column.setLabelProvider(new RowElementLabelProvider( - r -> Values.Money.format(r.getMovingAverageCost().get(), getClient().getBaseCurrency()), - aggregate -> Values.Money.format( - aggregate.sum(getClient().getBaseCurrency(), - r -> r.getMovingAverageCost().get()), - getClient().getBaseCurrency()))); - column.setSorter(ColumnViewerSorter - .create(e -> ((LazySecurityPerformanceRecord) e).getMovingAverageCost().get())); - column.setVisible(false); - recordColumns.addColumn(column); - - // cost value per share - fifo - column = new Column("pp", Messages.ColumnPurchasePrice, SWT.RIGHT, 75); //$NON-NLS-1$ - column.setDescription(Messages.ColumnPurchasePrice_Description + TextUtil.PARAGRAPH_BREAK - + Messages.DescriptionDataRelativeToReportingPeriod); - column.setImage(Images.INTERVAL); - column.setLabelProvider(new RowElementLabelProvider(r -> Values.CalculatedQuote - .format(r.getFifoCostPerSharesHeld().get(), getClient().getBaseCurrency()))); - column.setSorter(ColumnViewerSorter - .create(e -> ((LazySecurityPerformanceRecord) e).getFifoCostPerSharesHeld().get())); - recordColumns.addColumn(column); - - // cost value per share - moving average - column = new Column("ppmvavg", Messages.ColumnPurchasePriceMovingAverage, SWT.RIGHT, 75); //$NON-NLS-1$ - column.setMenuLabel(Messages.ColumnPurchasePriceMovingAverage_MenuLabel); - column.setDescription(Messages.ColumnPurchasePriceMovingAverage_Description + TextUtil.PARAGRAPH_BREAK - + Messages.DescriptionDataRelativeToReportingPeriod); - column.setImage(Images.INTERVAL); - column.setLabelProvider(new RowElementLabelProvider(r -> Values.CalculatedQuote - .format(r.getMovingAverageCostPerSharesHeld().get(), getClient().getBaseCurrency()))); - column.setSorter(ColumnViewerSorter - .create(e -> ((LazySecurityPerformanceRecord) e).getMovingAverageCostPerSharesHeld().get())); - column.setVisible(false); - recordColumns.addColumn(column); - // latest / current quote column = new Column("quote", Messages.ColumnQuote, SWT.RIGHT, 75); //$NON-NLS-1$ column.setDescription(Messages.ColumnQuote_DescriptionEndOfReportingPeriod); @@ -1079,6 +1023,41 @@ public String getToolTipText(Object element) column.setSorter(ColumnViewerSorter.create(e -> ((LazySecurityPerformanceRecord) e).getMarketValue().get())); recordColumns.addColumn(column); + addPurchaseCostColumns(); + + // cost value - FIFO + column = new Column("pv", Messages.ColumnPurchaseValue, SWT.RIGHT, 75); //$NON-NLS-1$ + column.setMenuLabel(Messages.ColumnPurchaseValue_MenuLabel); + column.setDescription(Messages.ColumnPurchaseValue_Description + TextUtil.PARAGRAPH_BREAK + + Messages.DescriptionDataRelativeToReportingPeriod); + column.setImage(Images.INTERVAL); + column.setLabelProvider(new RowElementLabelProvider( + r -> Values.Money.format(r.getFifoCost().get(), getClient().getBaseCurrency()), + aggregate -> Values.Money.format( + aggregate.sum(getClient().getBaseCurrency(), r -> r.getFifoCost().get()), + getClient().getBaseCurrency()))); + column.setToolTipProvider( + element -> ((RowElement) element).explain(LazySecurityPerformanceRecord.Trails.FIFO_COST)); + column.setSorter(ColumnViewerSorter.create(e -> ((LazySecurityPerformanceRecord) e).getFifoCost().get())); + recordColumns.addColumn(column); + + // cost value - moving average + column = new Column("pvmvavg", Messages.ColumnPurchaseValueMovingAverage, SWT.RIGHT, 75); //$NON-NLS-1$ + column.setMenuLabel(Messages.ColumnPurchaseValueMovingAverage_MenuLabel); + column.setDescription(Messages.ColumnPurchaseValueMovingAverage_Description + TextUtil.PARAGRAPH_BREAK + + Messages.DescriptionDataRelativeToReportingPeriod); + column.setImage(Images.INTERVAL); + column.setLabelProvider(new RowElementLabelProvider( + r -> Values.Money.format(r.getMovingAverageCost().get(), getClient().getBaseCurrency()), + aggregate -> Values.Money.format( + aggregate.sum(getClient().getBaseCurrency(), + r -> r.getMovingAverageCost().get()), + getClient().getBaseCurrency()))); + column.setSorter(ColumnViewerSorter + .create(e -> ((LazySecurityPerformanceRecord) e).getMovingAverageCost().get())); + column.setVisible(false); + recordColumns.addColumn(column); + // fees paid column = new Column("fees", Messages.ColumnFees, SWT.RIGHT, 80); //$NON-NLS-1$ column.setDescription(Messages.ColumnFees_Description); @@ -1127,6 +1106,65 @@ public String getToolTipText(Object element) recordColumns.addColumn(column); } + private void addPurchaseCostColumns() + { + // cost value per share - FIFO + Column column = new Column("pp", Messages.ColumnPurchasePrice, SWT.RIGHT, 75); //$NON-NLS-1$ + column.setLabelOnly(Messages.LabelFeesAndTaxesNotIncluded); + column.setGroupLabel(Messages.LabelPurchasePrice); + column.setMenuLabel(Messages.ColumnPurchasePrice_MenuLabel); + column.setDescription(Messages.ColumnPurchasePrice_Description + TextUtil.PARAGRAPH_BREAK + + Messages.DescriptionDataRelativeToReportingPeriod); + column.setImage(Images.INTERVAL); + column.setLabelProvider(new RowElementLabelProvider(r -> Values.CalculatedQuote + .format(r.getFifoCostPerSharesHeld().get(), getClient().getBaseCurrency()))); + column.setSorter(ColumnViewerSorter + .create(e -> ((LazySecurityPerformanceRecord) e).getFifoCostPerSharesHeld().get())); + recordColumns.addColumn(column); + + // cost value per share - moving average + column = new Column("ppmvavg", Messages.ColumnPurchasePriceMovingAverage, SWT.RIGHT, 75); //$NON-NLS-1$ + column.setGroupLabel(Messages.LabelPurchasePrice); + column.setMenuLabel(Messages.ColumnPurchasePriceMovingAverage_MenuLabel); + column.setDescription(Messages.ColumnPurchasePriceMovingAverage_Description + TextUtil.PARAGRAPH_BREAK + + Messages.DescriptionDataRelativeToReportingPeriod); + column.setImage(Images.INTERVAL); + column.setLabelProvider(new RowElementLabelProvider(r -> Values.CalculatedQuote + .format(r.getMovingAverageCostPerSharesHeld().get(), getClient().getBaseCurrency()))); + column.setSorter(ColumnViewerSorter + .create(e -> ((LazySecurityPerformanceRecord) e).getMovingAverageCostPerSharesHeld().get())); + column.setVisible(false); + recordColumns.addColumn(column); + + // cost value per share including fees and taxes - FIFO + column = new Column("grosspp", Messages.ColumnGrossPurchasePriceFIFO, SWT.RIGHT, 75); //$NON-NLS-1$ + column.setLabelOnly(Messages.LabelFeesAndTaxesIncluded); + column.setGroupLabel(Messages.LabelPurchasePrice); + column.setMenuLabel(Messages.ColumnPurchasePrice_MenuLabel); + column.setDescription(Messages.ColumnGrossPurchasePriceFIFO_Description + TextUtil.PARAGRAPH_BREAK + + Messages.DescriptionDataRelativeToReportingPeriod); + column.setImage(Images.INTERVAL); + column.setLabelProvider(new RowElementLabelProvider(r -> Values.CalculatedQuote + .format(r.getGrossFifoCostPerSharesHeld().get(), getClient().getBaseCurrency()))); + column.setSorter(ColumnViewerSorter + .create(e -> ((LazySecurityPerformanceRecord) e).getGrossFifoCostPerSharesHeld().get())); + recordColumns.addColumn(column); + + // cost value per share including fees and taxes - moving average + column = new Column("grossppmvavg", Messages.ColumnGrossPurchasePriceMovingAverage, SWT.RIGHT, 75); //$NON-NLS-1$ + column.setGroupLabel(Messages.LabelPurchasePrice); + column.setMenuLabel(Messages.ColumnPurchasePriceMovingAverage_MenuLabel); + column.setDescription(Messages.ColumnGrossPurchasePriceMovingAverage_Description + TextUtil.PARAGRAPH_BREAK + + Messages.DescriptionDataRelativeToReportingPeriod); + column.setImage(Images.INTERVAL); + column.setLabelProvider(new RowElementLabelProvider(r -> Values.CalculatedQuote + .format(r.getGrossMovingAverageCostPerSharesHeld().get(), getClient().getBaseCurrency()))); + column.setSorter(ColumnViewerSorter.create( + e -> ((LazySecurityPerformanceRecord) e).getGrossMovingAverageCostPerSharesHeld().get())); + column.setVisible(false); + recordColumns.addColumn(column); + } + private void addPerformanceColumns() { Column column = new Column("twror", Messages.ColumnTTWROR, SWT.RIGHT, 80); //$NON-NLS-1$ diff --git a/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/views/StatementOfAssetsViewer.java b/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/views/StatementOfAssetsViewer.java index ab87e2c444..f24359a9db 100644 --- a/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/views/StatementOfAssetsViewer.java +++ b/name.abuchen.portfolio.ui/src/name/abuchen/portfolio/ui/views/StatementOfAssetsViewer.java @@ -530,27 +530,13 @@ public Font getFont(Object e) column.setSorter(ColumnViewerSorter.create(Element.class, "valuation").wrap(ElementComparator::new)); //$NON-NLS-1$ support.addColumn(column); - ReportingPeriodLabelProvider labelProvider; - - column = new Column("7", Messages.ColumnPurchasePrice, SWT.RIGHT, 60); //$NON-NLS-1$ - column.setDescription(Messages.ColumnPurchasePrice_Description); - labelProvider = new ReportingPeriodLabelProvider( - new ElementValueProvider(LazySecurityPerformanceRecord::getFifoCostPerSharesHeld, null), false); - column.setLabelProvider(labelProvider); - column.setSorter(ColumnViewerSorter.create(new ElementComparator(labelProvider))); - column.setVisible(false); - support.addColumn(column); + addPurchaseCostColumns(); - column = new Column("ppmvavg", Messages.ColumnPurchasePriceMovingAverage, SWT.RIGHT, 60); //$NON-NLS-1$ - column.setDescription(Messages.ColumnPurchasePriceMovingAverage_Description); - labelProvider = new ReportingPeriodLabelProvider(new ElementValueProvider( - LazySecurityPerformanceRecord::getMovingAverageCostPerSharesHeld, null), false); - column.setLabelProvider(labelProvider); - column.setSorter(ColumnViewerSorter.create(new ElementComparator(labelProvider))); - column.setVisible(false); - support.addColumn(column); + ReportingPeriodLabelProvider labelProvider; + // cost value - FIFO column = new Column("8", Messages.ColumnPurchaseValue, SWT.RIGHT, 80); //$NON-NLS-1$ + column.setMenuLabel(Messages.ColumnPurchaseValue_MenuLabel); column.setDescription(Messages.ColumnPurchaseValue_Description); labelProvider = new ReportingPeriodLabelProvider( new ElementValueProvider(LazySecurityPerformanceRecord::getFifoCost, withSum()), false); @@ -559,7 +545,9 @@ public Font getFont(Object e) column.setVisible(false); support.addColumn(column); + // cost value - moving average column = new Column("pvmvavg", Messages.ColumnPurchaseValueMovingAverage, SWT.RIGHT, 80); //$NON-NLS-1$ + column.setMenuLabel(Messages.ColumnPurchaseValueMovingAverage_MenuLabel); column.setDescription(Messages.ColumnPurchaseValueMovingAverage_Description); labelProvider = new ReportingPeriodLabelProvider( new ElementValueProvider(LazySecurityPerformanceRecord::getMovingAverageCost, withSum()), @@ -623,6 +611,64 @@ public Font getFont(Object e) return container; } + private void addPurchaseCostColumns() + { + ReportingPeriodLabelProvider labelProvider; + + // cost value per share - FIFO + Column column = new Column("7", Messages.ColumnPurchasePrice, SWT.RIGHT, 60); //$NON-NLS-1$ + column.setLabelOnly(Messages.LabelFeesAndTaxesNotIncluded); + column.setGroupLabel(Messages.LabelPurchasePrice); + column.setMenuLabel(Messages.ColumnPurchasePrice_MenuLabel); + column.setDescription(Messages.ColumnPurchasePrice_Description); + labelProvider = new ReportingPeriodLabelProvider( + new ElementValueProvider(LazySecurityPerformanceRecord::getFifoCostPerSharesHeld, null), false); + column.setLabelProvider(labelProvider); + column.setSorter(ColumnViewerSorter.create(new ElementComparator(labelProvider))); + column.setVisible(false); + support.addColumn(column); + + // cost value per share - moving average + column = new Column("ppmvavg", Messages.ColumnPurchasePriceMovingAverage, SWT.RIGHT, 60); //$NON-NLS-1$ + column.setGroupLabel(Messages.LabelPurchasePrice); + column.setMenuLabel(Messages.ColumnPurchasePriceMovingAverage_MenuLabel); + column.setDescription(Messages.ColumnPurchasePriceMovingAverage_Description); + labelProvider = new ReportingPeriodLabelProvider(new ElementValueProvider( + LazySecurityPerformanceRecord::getMovingAverageCostPerSharesHeld, null), false); + column.setLabelProvider(labelProvider); + column.setSorter(ColumnViewerSorter.create(new ElementComparator(labelProvider))); + column.setVisible(false); + support.addColumn(column); + + // cost value per share including fees and taxes - FIFO + column = new Column("grossPurchasePriceFIFO", Messages.ColumnGrossPurchasePriceFIFO, SWT.RIGHT, 60); //$NON-NLS-1$ + column.setLabelOnly(Messages.LabelFeesAndTaxesIncluded); + column.setGroupLabel(Messages.LabelPurchasePrice); + column.setMenuLabel(Messages.ColumnPurchasePrice_MenuLabel); + column.setDescription(Messages.ColumnGrossPurchasePriceFIFO_Description); + labelProvider = new ReportingPeriodLabelProvider( + new ElementValueProvider(LazySecurityPerformanceRecord::getGrossFifoCostPerSharesHeld, null), + false); + column.setLabelProvider(labelProvider); + column.setSorter(ColumnViewerSorter.create(new ElementComparator(labelProvider))); + column.setVisible(false); + support.addColumn(column); + + // cost value per share including fees and taxes - moving average + column = new Column("grossPurchasePriceMA", Messages.ColumnGrossPurchasePriceMovingAverage, SWT.RIGHT, 60); //$NON-NLS-1$ + column.setGroupLabel(Messages.LabelPurchasePrice); + column.setMenuLabel(Messages.ColumnPurchasePriceMovingAverage_MenuLabel); + column.setDescription(Messages.ColumnGrossPurchasePriceMovingAverage_Description); + labelProvider = new ReportingPeriodLabelProvider( + new ElementValueProvider(LazySecurityPerformanceRecord::getGrossMovingAverageCostPerSharesHeld, + null), + false); + column.setLabelProvider(labelProvider); + column.setSorter(ColumnViewerSorter.create(new ElementComparator(labelProvider))); + column.setVisible(false); + support.addColumn(column); + } + private void addPerformanceColumns(List options) { ReportingPeriodLabelProvider labelProvider; diff --git a/name.abuchen.portfolio/src/name/abuchen/portfolio/snapshot/security/LazySecurityPerformanceRecord.java b/name.abuchen.portfolio/src/name/abuchen/portfolio/snapshot/security/LazySecurityPerformanceRecord.java index d0aca8dcb1..bf726175c5 100644 --- a/name.abuchen.portfolio/src/name/abuchen/portfolio/snapshot/security/LazySecurityPerformanceRecord.java +++ b/name.abuchen.portfolio/src/name/abuchen/portfolio/snapshot/security/LazySecurityPerformanceRecord.java @@ -190,6 +190,24 @@ public V get() / (double) costs.sharesHeld() * Values.Share.factor() * Values.Quote.factorToMoney())); }); + /** + * cost per shares held including fee + */ + private final LazyValue grossFifoCostPerSharesHeld = new LazyValue<>(() -> { + var costs = costCalculation.get(); + return Quote.of(costs.fifoCost().getCurrencyCode(), Math.round(costs.fifoCost().getAmount() + / (double) costs.sharesHeld() * Values.Share.factor() * Values.Quote.factorToMoney())); + }); + + /** + * cost per shares held including fee + */ + private final LazyValue grossMovingAverageCostPerSharesHeld = new LazyValue<>(() -> { + var costs = costCalculation.get(); + return Quote.of(costs.movingAverageCost().getCurrencyCode(), Math.round(costs.movingAverageCost().getAmount() + / (double) costs.sharesHeld() * Values.Share.factor() * Values.Quote.factorToMoney())); + }); + private final LazyValue dividendCalculation = new LazyValue<>(() -> { // ensure cost calculation is done (and has calculated // moving averages) @@ -316,6 +334,16 @@ public LazyValue getMovingAverageCostPerSharesHeld() return movingAverageCostPerSharesHeld; } + public LazyValue getGrossFifoCostPerSharesHeld() + { + return grossFifoCostPerSharesHeld; + } + + public LazyValue getGrossMovingAverageCostPerSharesHeld() + { + return grossMovingAverageCostPerSharesHeld; + } + public LazyValue getSumOfDividends() { return new LazyValue<>(() -> dividendCalculation.get().sum());