From ba6f872bf1a99f52daf8a9d69aacc2e4f2905c60 Mon Sep 17 00:00:00 2001 From: Vlad <55182132+titov-vv@users.noreply.github.com> Date: Sat, 8 Jun 2024 20:50:31 +0100 Subject: [PATCH] Tax report form was updated to have better parameter separation for different countries --- jal/languages/en.ts | 205 +++++++++-------- jal/languages/ru.qm | Bin 119624 -> 119820 bytes jal/languages/ru.ts | 209 ++++++++--------- jal/ui/reports/ui_account_balance_report.py | 2 +- jal/ui/reports/ui_assets_payments_report.py | 2 +- jal/ui/reports/ui_category_report.py | 2 +- jal/ui/reports/ui_deals_report.py | 2 +- jal/ui/reports/ui_income_spending_report.py | 2 +- jal/ui/reports/ui_peer_report.py | 2 +- jal/ui/reports/ui_portfolio_report.py | 2 +- jal/ui/reports/ui_profit_loss_report.py | 2 +- jal/ui/reports/ui_tag_report.py | 2 +- jal/ui/reports/ui_tax_estimation.py | 2 +- jal/ui/reports/ui_term_deposits_report.py | 2 +- jal/ui/tax_export_widget.ui | 196 ++++++++-------- jal/ui/ui_asset_dlg.py | 2 +- jal/ui/ui_flow_export_widget.py | 2 +- jal/ui/ui_login_fns_dlg.py | 2 +- jal/ui/ui_login_lidl_plus_dlg.py | 2 +- jal/ui/ui_login_pingo_doce_dlg.py | 2 +- jal/ui/ui_main_window.py | 2 +- jal/ui/ui_operations_widget.py | 2 +- jal/ui/ui_rebuild_window.py | 2 +- jal/ui/ui_receipt_import_dlg.py | 2 +- jal/ui/ui_reference_data_dlg.py | 2 +- jal/ui/ui_select_account_dlg.py | 2 +- jal/ui/ui_select_reference_dlg.py | 2 +- jal/ui/ui_tax_export_widget.py | 216 +++++++++--------- jal/ui/ui_update_quotes_window.py | 2 +- jal/ui/widgets/ui_asset_payment_operation.py | 2 +- .../widgets/ui_corporate_action_operation.py | 2 +- .../widgets/ui_income_spending_operation.py | 2 +- jal/ui/widgets/ui_term_deposit_operation.py | 2 +- jal/ui/widgets/ui_trade_operation.py | 2 +- jal/ui/widgets/ui_transfer_operation.py | 2 +- jal/widgets/tax_widget.py | 18 +- 36 files changed, 464 insertions(+), 440 deletions(-) diff --git a/jal/languages/en.ts b/jal/languages/en.ts index 40aff7ba..9b68f8bd 100644 --- a/jal/languages/en.ts +++ b/jal/languages/en.ts @@ -277,67 +277,67 @@ AssetPayment - + UNDEFINED - + Dividend - + Bond Interest - + Stock Dividend - + Stock Vesting - + Bond Amortization - + Asset fee/tax - + No stock quote for stock dividend or vesting. - + No price data for stock dividend/vesting: - + Tax: - + Can't process dividend as bank isn't set for investment account: - + Unsupported dividend type. - + Not supported action: stock dividend or vesting closes short trade. @@ -783,20 +783,15 @@ - + Buy - + Sell - - - Transfer - - ClosedTradesModel @@ -869,57 +864,57 @@ CorporateAction - + UNDEFINED - + Symbol change - + Split - + Spin-off - + Merger - + Delisting - + Asset isn't a part of corporate action results: - + Corporate action type isn't defined. Date: - + Asset amount is not enough for corporate action processing. Date: - + Unhandled case: Corporate action covers not full open position. Date: - + Results value of corporate action doesn't match 100% of initial asset value. @@ -1053,12 +1048,12 @@ DB - + Database format is outdated - + Do you agree to upgrade your data to newer format? @@ -1611,22 +1606,22 @@ IncomeSpending - + Spending - + Income - + Rate: - + Can't process operation without details @@ -2038,7 +2033,7 @@ Application will be terminated now JalDB - + Operation already present in db and was skipped: @@ -2054,12 +2049,12 @@ Application will be terminated now JalOperationsTabs - + You have unsaved changes - + has uncommitted changes, do you want to save it? @@ -2121,17 +2116,17 @@ do you want to save it? - + Exception happened. Ledger is incomplete. Please correct errors listed in log - + Ledger is complete. Elapsed time: - + , new frontier: @@ -2571,17 +2566,17 @@ Application will be terminated now. - + Excel files (*.xlsx) - + Save money flow report to: - + Money flow report saved to file @@ -3340,42 +3335,42 @@ Application will be terminated now. - + Euronext quotes history reply is too short: - + Euronext quotes header not found in: - + Euronext quotes ISIN mismatch in: - + Can't parse data for TSX quotes: - + Package pypdf not found for PDF parsing. - + Unexpected number of pages in Victoria Seguros document: - + Can't parse date from Victoria Seguros file - + Can't find quote for Victoria Seguros fund: @@ -5501,138 +5496,148 @@ Please select an account for import: - + Year: - + + Use Sell currency rate for Buy and Sell operations + + + + Account: - + Foreign account to prepare tax report for - + Create tax form in "Декларация" program format (*.dcX) - + Excel file: - + File where to store tax report in Excel format - + Save Report - - + + Select file - + ... - + Country: - - Below functions are experimental - use it with care + + File where to store russian tax form - - File where to store russian tax form + + Additional parameters (Portugal) - - Output file: + + Additional parameters (Russia) + Output file: + + + + Update only information about dividends - + ... - + Use broker name as income source - + Do not use settlement date for currency rates - + Save tax reports to: - + Excel files (*.xlsx) - + Save tax form to: - + Tax form (*.dc{last_digit}) - + Data are incomplete - + You haven't selected an account for tax report - + Tax report is empty - + Tax report was saved to file - + Tax report saved to file - + Can't write tax form into file @@ -5640,7 +5645,7 @@ Please select an account for import: TermDeposit - + Can't process deposit as bank isn't set for account: @@ -5780,17 +5785,17 @@ Please select an account for import: Trade - + Sell - + Buy - + Can't process trade as bank isn't set for investment account: @@ -5882,62 +5887,62 @@ Please select an account for import: Transfer - + Outgoing transfer - + Incoming transfer - + Transfer fee - + Outgoing asset transfer - + Incoming asset transfer - + Asset transfer fee - + Cost basis: - + Error. Zero rate - + Can't collect fee from the account '{}' ({}) as organization isn't set for it. Date: {} - + Asset amount is not enough for asset transfer processing. Date: - + Processed asset amount is less than transfer amount. Date: - + Asset withdrawal not found for transfer. diff --git a/jal/languages/ru.qm b/jal/languages/ru.qm index 444d5c9b4676283ccbb4ddd9e4d256fe3e5a139d..4ffbb4f3b0d3592f105477dbe31f110642d49ab6 100644 GIT binary patch delta 9113 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 delta 8986 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 AssetPayment - + UNDEFINED НЕОПРЕДЕЛЕНО - + Dividend Дивиденд - + Bond Interest Купон - + Stock Dividend Дивиденд акциями - + Stock Vesting Передача акций - + Bond Amortization Амортизация облигации - + Asset fee/tax Комиссия / налог за ЦБ - + No stock quote for stock dividend or vesting. Нет котировки для дивиденда акциями или зачисления акций. - + No price data for stock dividend/vesting: Не задана цена для выплаты ценными бумагами: - + Tax: Налог: - + Can't process dividend as bank isn't set for investment account: Невозможно обработать дивиденд, т.к. не указан банк для инвестиционного счёта: - + Unsupported dividend type. Неподдерживаемый тип дивиденда. - + Not supported action: stock dividend or vesting closes short trade. Неподдерживаемое действие: дивиденд акциями или зачисление акций закрывает короткую позицию. @@ -783,20 +783,15 @@ График цены для - + Buy Покупка - + Sell Продажа - - - Transfer - Перевод - ClosedTradesModel @@ -869,57 +864,57 @@ CorporateAction - + UNDEFINED НЕОПРЕДЕЛЕНО - + Symbol change Смена символа - + Split Сплит - + Spin-off Выделение компании (спин-офф) - + Merger Реорганизация компании - + Delisting Делистинг - + Asset isn't a part of corporate action results: ЦБ не является результатом корпоративного действия: - + Corporate action type isn't defined. Date: Не задан тип корпоративного события. Дата: - + Asset amount is not enough for corporate action processing. Date: Количетво ценных бумаг недостаточно для обработки корпоративного события. Дата: - + Unhandled case: Corporate action covers not full open position. Date: Неподерживаемый случай: Корпоративное событие покрывает не всю открытую позицию. Дата: - + Results value of corporate action doesn't match 100% of initial asset value. Результаты корпоративного события не распределяют 100% стоимости изначального актива. @@ -1053,12 +1048,12 @@ DB - + Database format is outdated Формат базы данных устарел - + Do you agree to upgrade your data to newer format? Вы согласны сконвертировать данные в новый формат? @@ -1611,22 +1606,22 @@ IncomeSpending - + Spending Расход - + Income Приход - + Rate: Курс: - + Can't process operation without details Невозможно обработать операцию без детальных данных @@ -2040,7 +2035,7 @@ Application will be terminated now JalDB - + Operation already present in db and was skipped: Операция уже есть в базе данных и была пропущена: @@ -2056,12 +2051,12 @@ Application will be terminated now JalOperationsTabs - + You have unsaved changes Есть несохранённые изменния - + has uncommitted changes, do you want to save it? имеет несохранённые изменения, @@ -2124,17 +2119,17 @@ do you want to save it? операций требуют перерасчета. Вы ходите выполнить его прямо сейчас? - + Exception happened. Ledger is incomplete. Please correct errors listed in log Произошла ошибка. Расчёт итогов не окончен. Проверьте сообщения об ошибках - + Ledger is complete. Elapsed time: Итоги рассчитаны. Затраченное время: - + , new frontier: , новая граница: @@ -2578,17 +2573,17 @@ Application will be terminated now. Файл Excel: - + Excel files (*.xlsx) Файлы Excel (*.xslx) - + Save money flow report to: Сохранить ОоДДС в: - + Money flow report saved to file ОоДДС сохранён в файле @@ -3347,42 +3342,42 @@ Application will be terminated now. Нет данных ЦБ РФ для: - + Euronext quotes history reply is too short: История котировок Euronext слишком короткая: - + Euronext quotes header not found in: Заголовок истории котировок Euronext не найден в: - + Euronext quotes ISIN mismatch in: ISIN в истории котировок Euronext не совпадает: - + Can't parse data for TSX quotes: Невозможно обработать данные котировок с биржи TSX: - + Package pypdf not found for PDF parsing. Не обнаружен пакет pypdf, необходимый для чтения PDF файлов. - + Unexpected number of pages in Victoria Seguros document: Неожиданное количество страниц в документе Victoria Seguros: - + Can't parse date from Victoria Seguros file Невозможно получить дату из файла Victoria Seguros - + Can't find quote for Victoria Seguros fund: Не удалось найти котировку для фонда Victoria Seguros: @@ -5508,138 +5503,148 @@ Please select an account for import: Налоги - + Year: Год: - + + Use Sell currency rate for Buy and Sell operations + Использовать курс валюты Продажи для операций Покупки и Продажи + + + Account: Счет: - + Foreign account to prepare tax report for Зарубежный счёт для которого нужно подготовить отчёт - + Create tax form in "Декларация" program format (*.dcX) Создать файл 3-НФДЛ в формате программы "Декларация" (*.dcX) - + Excel file: Файл Excel: - + File where to store tax report in Excel format Файл для сохранения расчёта в формате Excel - + Save Report Сохранить Отчёт - - + + Select file Выберит файл - + ... ... - + Country: Страна: - - Below functions are experimental - use it with care - Ниже расположены экспериментальные функции - используйте с осторожностью - - - + File where to store russian tax form Файл для сохранения декларации 3-НДФЛ - + + Additional parameters (Portugal) + Дополнительные параметры (Португалия) + + + + Additional parameters (Russia) + Дополнительные параметры (Россия) + + + Output file: Файл с результатом: - + Update only information about dividends Обновить только информацию о дивидендах - + ... ... - + Use broker name as income source Использовать название брокера как источник выплаты - + Do not use settlement date for currency rates Не использовать дату поставки для курсов валют - + Save tax reports to: Сохранить налоговый отчёт в: - + Excel files (*.xlsx) Файлы Excel (*.xslx) - + Save tax form to: Сохранить 3-НДФЛ в: - + Tax form (*.dc{last_digit}) - + Data are incomplete Данные неполные - + You haven't selected an account for tax report Вы не выбрали счёт для налогового отчёта - + Tax report is empty Налоговый отчёт пуст - + Tax report was saved to file Налоговый отчёт сохранён в файл - + Tax report saved to file Налоговый отчёт сохранён в файл - + Can't write tax form into file Невозможно записать 3-НДФЛ в файл @@ -5647,7 +5652,7 @@ Please select an account for import: TermDeposit - + Can't process deposit as bank isn't set for account: Невозможно обработать депозит, т.к. не задан банк для счёта: @@ -5787,17 +5792,17 @@ Please select an account for import: Trade - + Sell Продажа - + Buy Покупка - + Can't process trade as bank isn't set for investment account: Невозможно обработать сделку, т.к. не задан банк для инвестиционного счёта: @@ -5889,62 +5894,62 @@ Please select an account for import: Transfer - + Outgoing transfer Исходящий перевод - + Incoming transfer Входящий перевод - + Transfer fee Комиссия за перевод - + Outgoing asset transfer Исходящий перевод ЦБ - + Incoming asset transfer Входящий перевод ЦБ - + Asset transfer fee Комиссия за перевод ЦБ - + Cost basis: Стоимость позиции: - + Error. Zero rate Ошибка. Курс равен нулю - + Can't collect fee from the account '{}' ({}) as organization isn't set for it. Date: {} Невозможно удержать комиссию со счёта '{}' ({}), т.к. для него не указана организация. Дата: {} - + Asset amount is not enough for asset transfer processing. Date: Количество актива недостаточно для обработки перевода. Дата: - + Processed asset amount is less than transfer amount. Date: Обработанное количество меньше, чем количество в трансфере. Дата: - + Asset withdrawal not found for transfer. Списание актива не найдено для трансфера. diff --git a/jal/ui/reports/ui_account_balance_report.py b/jal/ui/reports/ui_account_balance_report.py index 089e11f2..ba5b7b61 100644 --- a/jal/ui/reports/ui_account_balance_report.py +++ b/jal/ui/reports/ui_account_balance_report.py @@ -3,7 +3,7 @@ ################################################################################ ## Form generated from reading UI file 'account_balance_report.ui' ## -## Created by: Qt User Interface Compiler version 6.7.0 +## Created by: Qt User Interface Compiler version 6.7.1 ## ## WARNING! All changes made in this file will be lost when recompiling UI file! ################################################################################ diff --git a/jal/ui/reports/ui_assets_payments_report.py b/jal/ui/reports/ui_assets_payments_report.py index d129643a..41fba62f 100644 --- a/jal/ui/reports/ui_assets_payments_report.py +++ b/jal/ui/reports/ui_assets_payments_report.py @@ -3,7 +3,7 @@ ################################################################################ ## Form generated from reading UI file 'assets_payments_report.ui' ## -## Created by: Qt User Interface Compiler version 6.7.0 +## Created by: Qt User Interface Compiler version 6.7.1 ## ## WARNING! All changes made in this file will be lost when recompiling UI file! ################################################################################ diff --git a/jal/ui/reports/ui_category_report.py b/jal/ui/reports/ui_category_report.py index 069f8ccd..6c88de76 100644 --- a/jal/ui/reports/ui_category_report.py +++ b/jal/ui/reports/ui_category_report.py @@ -3,7 +3,7 @@ ################################################################################ ## Form generated from reading UI file 'category_report.ui' ## -## Created by: Qt User Interface Compiler version 6.7.0 +## Created by: Qt User Interface Compiler version 6.7.1 ## ## WARNING! All changes made in this file will be lost when recompiling UI file! ################################################################################ diff --git a/jal/ui/reports/ui_deals_report.py b/jal/ui/reports/ui_deals_report.py index 4b1e0a81..d7c9cef7 100644 --- a/jal/ui/reports/ui_deals_report.py +++ b/jal/ui/reports/ui_deals_report.py @@ -3,7 +3,7 @@ ################################################################################ ## Form generated from reading UI file 'deals_report.ui' ## -## Created by: Qt User Interface Compiler version 6.7.0 +## Created by: Qt User Interface Compiler version 6.7.1 ## ## WARNING! All changes made in this file will be lost when recompiling UI file! ################################################################################ diff --git a/jal/ui/reports/ui_income_spending_report.py b/jal/ui/reports/ui_income_spending_report.py index 18dbab17..e8cf6fb0 100644 --- a/jal/ui/reports/ui_income_spending_report.py +++ b/jal/ui/reports/ui_income_spending_report.py @@ -3,7 +3,7 @@ ################################################################################ ## Form generated from reading UI file 'income_spending_report.ui' ## -## Created by: Qt User Interface Compiler version 6.7.0 +## Created by: Qt User Interface Compiler version 6.7.1 ## ## WARNING! All changes made in this file will be lost when recompiling UI file! ################################################################################ diff --git a/jal/ui/reports/ui_peer_report.py b/jal/ui/reports/ui_peer_report.py index 91a74fb5..41e79508 100644 --- a/jal/ui/reports/ui_peer_report.py +++ b/jal/ui/reports/ui_peer_report.py @@ -3,7 +3,7 @@ ################################################################################ ## Form generated from reading UI file 'peer_report.ui' ## -## Created by: Qt User Interface Compiler version 6.7.0 +## Created by: Qt User Interface Compiler version 6.7.1 ## ## WARNING! All changes made in this file will be lost when recompiling UI file! ################################################################################ diff --git a/jal/ui/reports/ui_portfolio_report.py b/jal/ui/reports/ui_portfolio_report.py index d5cea546..4a7dba4b 100644 --- a/jal/ui/reports/ui_portfolio_report.py +++ b/jal/ui/reports/ui_portfolio_report.py @@ -3,7 +3,7 @@ ################################################################################ ## Form generated from reading UI file 'portfolio_report.ui' ## -## Created by: Qt User Interface Compiler version 6.7.0 +## Created by: Qt User Interface Compiler version 6.7.1 ## ## WARNING! All changes made in this file will be lost when recompiling UI file! ################################################################################ diff --git a/jal/ui/reports/ui_profit_loss_report.py b/jal/ui/reports/ui_profit_loss_report.py index f4b75847..040bac60 100644 --- a/jal/ui/reports/ui_profit_loss_report.py +++ b/jal/ui/reports/ui_profit_loss_report.py @@ -3,7 +3,7 @@ ################################################################################ ## Form generated from reading UI file 'profit_loss_report.ui' ## -## Created by: Qt User Interface Compiler version 6.7.0 +## Created by: Qt User Interface Compiler version 6.7.1 ## ## WARNING! All changes made in this file will be lost when recompiling UI file! ################################################################################ diff --git a/jal/ui/reports/ui_tag_report.py b/jal/ui/reports/ui_tag_report.py index f2de0989..699a9c1d 100644 --- a/jal/ui/reports/ui_tag_report.py +++ b/jal/ui/reports/ui_tag_report.py @@ -3,7 +3,7 @@ ################################################################################ ## Form generated from reading UI file 'tag_report.ui' ## -## Created by: Qt User Interface Compiler version 6.7.0 +## Created by: Qt User Interface Compiler version 6.7.1 ## ## WARNING! All changes made in this file will be lost when recompiling UI file! ################################################################################ diff --git a/jal/ui/reports/ui_tax_estimation.py b/jal/ui/reports/ui_tax_estimation.py index 97f3227f..5efc7ff5 100644 --- a/jal/ui/reports/ui_tax_estimation.py +++ b/jal/ui/reports/ui_tax_estimation.py @@ -3,7 +3,7 @@ ################################################################################ ## Form generated from reading UI file 'tax_estimation.ui' ## -## Created by: Qt User Interface Compiler version 6.7.0 +## Created by: Qt User Interface Compiler version 6.7.1 ## ## WARNING! All changes made in this file will be lost when recompiling UI file! ################################################################################ diff --git a/jal/ui/reports/ui_term_deposits_report.py b/jal/ui/reports/ui_term_deposits_report.py index 4bf7a08a..692d1a95 100644 --- a/jal/ui/reports/ui_term_deposits_report.py +++ b/jal/ui/reports/ui_term_deposits_report.py @@ -3,7 +3,7 @@ ################################################################################ ## Form generated from reading UI file 'term_deposits_report.ui' ## -## Created by: Qt User Interface Compiler version 6.7.0 +## Created by: Qt User Interface Compiler version 6.7.1 ## ## WARNING! All changes made in this file will be lost when recompiling UI file! ################################################################################ diff --git a/jal/ui/tax_export_widget.ui b/jal/ui/tax_export_widget.ui index 4cb36c78..e26c06fc 100644 --- a/jal/ui/tax_export_widget.ui +++ b/jal/ui/tax_export_widget.ui @@ -7,11 +7,11 @@ 0 0 618 - 321 + 397 - + 0 0 @@ -19,54 +19,42 @@ Taxes - + - 0 + 2 + + + 2 + + + 2 + + + 2 2 - - + + - + 0 0 - File where to store tax report in Excel format - - - - - - - Country: - - - - - - - Foreign account to prepare tax report for + Select file - - - - - - - - Excel file: + ... - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter @@ -82,56 +70,82 @@ - - + + - + 0 0 - Select file + File where to store tax report in Excel format + + + + - ... + Do not use settlement date for currency rates - - - - Save Report + + + + Additional parameters (Portugal) + + + + 2 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + Use Sell currency rate for Buy and Sell operations + + + + + + + + + + Foreign account to prepare tax report for - - + + - Year: + Account: - - - - Qt::Vertical - - - - 20 - 40 - + + + + Excel file: - + - - - QFrame::NoFrame - - - QFrame::Raised + + + Additional parameters (Russia) @@ -151,6 +165,9 @@ + + true + 0 @@ -185,15 +202,15 @@ 2 - + Output file: - - + + Use broker name as income source @@ -202,14 +219,21 @@ - - + + Update only information about dividends - + + + + File where to store russian tax form + + + + Select file @@ -219,49 +243,33 @@ - - - - File where to store russian tax form - - - - - - - Account: - - + + - - - - - true - - + + - Below functions are experimental - use it with care + Country: - - - - Qt::Horizontal + + + + Year: - - + + - Do not use settlement date for currency rates + Save Report diff --git a/jal/ui/ui_asset_dlg.py b/jal/ui/ui_asset_dlg.py index f055620a..b7c76885 100644 --- a/jal/ui/ui_asset_dlg.py +++ b/jal/ui/ui_asset_dlg.py @@ -3,7 +3,7 @@ ################################################################################ ## Form generated from reading UI file 'asset_dlg.ui' ## -## Created by: Qt User Interface Compiler version 6.7.0 +## Created by: Qt User Interface Compiler version 6.7.1 ## ## WARNING! All changes made in this file will be lost when recompiling UI file! ################################################################################ diff --git a/jal/ui/ui_flow_export_widget.py b/jal/ui/ui_flow_export_widget.py index b5bfb80d..e2c8814d 100644 --- a/jal/ui/ui_flow_export_widget.py +++ b/jal/ui/ui_flow_export_widget.py @@ -3,7 +3,7 @@ ################################################################################ ## Form generated from reading UI file 'flow_export_widget.ui' ## -## Created by: Qt User Interface Compiler version 6.7.0 +## Created by: Qt User Interface Compiler version 6.7.1 ## ## WARNING! All changes made in this file will be lost when recompiling UI file! ################################################################################ diff --git a/jal/ui/ui_login_fns_dlg.py b/jal/ui/ui_login_fns_dlg.py index fc660f77..c3b9e144 100644 --- a/jal/ui/ui_login_fns_dlg.py +++ b/jal/ui/ui_login_fns_dlg.py @@ -3,7 +3,7 @@ ################################################################################ ## Form generated from reading UI file 'login_fns_dlg.ui' ## -## Created by: Qt User Interface Compiler version 6.7.0 +## Created by: Qt User Interface Compiler version 6.7.1 ## ## WARNING! All changes made in this file will be lost when recompiling UI file! ################################################################################ diff --git a/jal/ui/ui_login_lidl_plus_dlg.py b/jal/ui/ui_login_lidl_plus_dlg.py index 903499ef..eff5fac5 100644 --- a/jal/ui/ui_login_lidl_plus_dlg.py +++ b/jal/ui/ui_login_lidl_plus_dlg.py @@ -3,7 +3,7 @@ ################################################################################ ## Form generated from reading UI file 'login_lidl_plus_dlg.ui' ## -## Created by: Qt User Interface Compiler version 6.7.0 +## Created by: Qt User Interface Compiler version 6.7.1 ## ## WARNING! All changes made in this file will be lost when recompiling UI file! ################################################################################ diff --git a/jal/ui/ui_login_pingo_doce_dlg.py b/jal/ui/ui_login_pingo_doce_dlg.py index 65f99d3e..10861c19 100644 --- a/jal/ui/ui_login_pingo_doce_dlg.py +++ b/jal/ui/ui_login_pingo_doce_dlg.py @@ -3,7 +3,7 @@ ################################################################################ ## Form generated from reading UI file 'login_pingo_doce_dlg.ui' ## -## Created by: Qt User Interface Compiler version 6.7.0 +## Created by: Qt User Interface Compiler version 6.7.1 ## ## WARNING! All changes made in this file will be lost when recompiling UI file! ################################################################################ diff --git a/jal/ui/ui_main_window.py b/jal/ui/ui_main_window.py index 11ef107d..e26395c5 100755 --- a/jal/ui/ui_main_window.py +++ b/jal/ui/ui_main_window.py @@ -3,7 +3,7 @@ ################################################################################ ## Form generated from reading UI file 'main_window.ui' ## -## Created by: Qt User Interface Compiler version 6.7.0 +## Created by: Qt User Interface Compiler version 6.7.1 ## ## WARNING! All changes made in this file will be lost when recompiling UI file! ################################################################################ diff --git a/jal/ui/ui_operations_widget.py b/jal/ui/ui_operations_widget.py index 1b2904c1..7760e0dd 100644 --- a/jal/ui/ui_operations_widget.py +++ b/jal/ui/ui_operations_widget.py @@ -3,7 +3,7 @@ ################################################################################ ## Form generated from reading UI file 'operations_widget.ui' ## -## Created by: Qt User Interface Compiler version 6.7.0 +## Created by: Qt User Interface Compiler version 6.7.1 ## ## WARNING! All changes made in this file will be lost when recompiling UI file! ################################################################################ diff --git a/jal/ui/ui_rebuild_window.py b/jal/ui/ui_rebuild_window.py index 7b6be62c..c54a9b06 100755 --- a/jal/ui/ui_rebuild_window.py +++ b/jal/ui/ui_rebuild_window.py @@ -3,7 +3,7 @@ ################################################################################ ## Form generated from reading UI file 'rebuild_window.ui' ## -## Created by: Qt User Interface Compiler version 6.7.0 +## Created by: Qt User Interface Compiler version 6.7.1 ## ## WARNING! All changes made in this file will be lost when recompiling UI file! ################################################################################ diff --git a/jal/ui/ui_receipt_import_dlg.py b/jal/ui/ui_receipt_import_dlg.py index 330e2720..6030f4bc 100644 --- a/jal/ui/ui_receipt_import_dlg.py +++ b/jal/ui/ui_receipt_import_dlg.py @@ -3,7 +3,7 @@ ################################################################################ ## Form generated from reading UI file 'receipt_import_dlg.ui' ## -## Created by: Qt User Interface Compiler version 6.7.0 +## Created by: Qt User Interface Compiler version 6.7.1 ## ## WARNING! All changes made in this file will be lost when recompiling UI file! ################################################################################ diff --git a/jal/ui/ui_reference_data_dlg.py b/jal/ui/ui_reference_data_dlg.py index 282172c7..fcbd535b 100644 --- a/jal/ui/ui_reference_data_dlg.py +++ b/jal/ui/ui_reference_data_dlg.py @@ -3,7 +3,7 @@ ################################################################################ ## Form generated from reading UI file 'reference_data_dlg.ui' ## -## Created by: Qt User Interface Compiler version 6.7.0 +## Created by: Qt User Interface Compiler version 6.7.1 ## ## WARNING! All changes made in this file will be lost when recompiling UI file! ################################################################################ diff --git a/jal/ui/ui_select_account_dlg.py b/jal/ui/ui_select_account_dlg.py index ac95ccdd..7c68c398 100644 --- a/jal/ui/ui_select_account_dlg.py +++ b/jal/ui/ui_select_account_dlg.py @@ -3,7 +3,7 @@ ################################################################################ ## Form generated from reading UI file 'select_account_dlg.ui' ## -## Created by: Qt User Interface Compiler version 6.7.0 +## Created by: Qt User Interface Compiler version 6.7.1 ## ## WARNING! All changes made in this file will be lost when recompiling UI file! ################################################################################ diff --git a/jal/ui/ui_select_reference_dlg.py b/jal/ui/ui_select_reference_dlg.py index 8b5fddd3..df515930 100644 --- a/jal/ui/ui_select_reference_dlg.py +++ b/jal/ui/ui_select_reference_dlg.py @@ -3,7 +3,7 @@ ################################################################################ ## Form generated from reading UI file 'select_reference_dlg.ui' ## -## Created by: Qt User Interface Compiler version 6.7.0 +## Created by: Qt User Interface Compiler version 6.7.1 ## ## WARNING! All changes made in this file will be lost when recompiling UI file! ################################################################################ diff --git a/jal/ui/ui_tax_export_widget.py b/jal/ui/ui_tax_export_widget.py index 1702478a..361d57bf 100644 --- a/jal/ui/ui_tax_export_widget.py +++ b/jal/ui/ui_tax_export_widget.py @@ -3,7 +3,7 @@ ################################################################################ ## Form generated from reading UI file 'tax_export_widget.ui' ## -## Created by: Qt User Interface Compiler version 6.7.0 +## Created by: Qt User Interface Compiler version 6.7.1 ## ## WARNING! All changes made in this file will be lost when recompiling UI file! ################################################################################ @@ -15,10 +15,9 @@ QFont, QFontDatabase, QGradient, QIcon, QImage, QKeySequence, QLinearGradient, QPainter, QPalette, QPixmap, QRadialGradient, QTransform) -from PySide6.QtWidgets import (QApplication, QCheckBox, QComboBox, QFrame, - QGridLayout, QGroupBox, QLabel, QLineEdit, - QPushButton, QSizePolicy, QSpacerItem, QSpinBox, - QVBoxLayout, QWidget) +from PySide6.QtWidgets import (QApplication, QCheckBox, QComboBox, QGridLayout, + QGroupBox, QLabel, QLineEdit, QPushButton, + QSizePolicy, QSpinBox, QVBoxLayout, QWidget) from jal.widgets.reference_selector import AccountSelector @@ -26,91 +25,93 @@ class Ui_TaxWidget(object): def setupUi(self, TaxWidget): if not TaxWidget.objectName(): TaxWidget.setObjectName(u"TaxWidget") - TaxWidget.resize(618, 321) - sizePolicy = QSizePolicy(QSizePolicy.Policy.Preferred, QSizePolicy.Policy.Preferred) + TaxWidget.resize(618, 397) + sizePolicy = QSizePolicy(QSizePolicy.Policy.Minimum, QSizePolicy.Policy.Minimum) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(TaxWidget.sizePolicy().hasHeightForWidth()) TaxWidget.setSizePolicy(sizePolicy) - self.gridLayout = QGridLayout(TaxWidget) - self.gridLayout.setSpacing(2) - self.gridLayout.setObjectName(u"gridLayout") - self.gridLayout.setContentsMargins(0, -1, -1, -1) - self.XlsFileName = QLineEdit(TaxWidget) - self.XlsFileName.setObjectName(u"XlsFileName") - sizePolicy1 = QSizePolicy(QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Fixed) + self.MainLayout = QGridLayout(TaxWidget) + self.MainLayout.setSpacing(2) + self.MainLayout.setObjectName(u"MainLayout") + self.MainLayout.setContentsMargins(2, 2, 2, 2) + self.XlsSelectBtn = QPushButton(TaxWidget) + self.XlsSelectBtn.setObjectName(u"XlsSelectBtn") + sizePolicy1 = QSizePolicy(QSizePolicy.Policy.Minimum, QSizePolicy.Policy.Fixed) sizePolicy1.setHorizontalStretch(0) sizePolicy1.setVerticalStretch(0) - sizePolicy1.setHeightForWidth(self.XlsFileName.sizePolicy().hasHeightForWidth()) - self.XlsFileName.setSizePolicy(sizePolicy1) - - self.gridLayout.addWidget(self.XlsFileName, 3, 1, 1, 1) - - self.CountryLbl = QLabel(TaxWidget) - self.CountryLbl.setObjectName(u"CountryLbl") - - self.gridLayout.addWidget(self.CountryLbl, 0, 0, 1, 1) - - self.AccountWidget = AccountSelector(TaxWidget) - self.AccountWidget.setObjectName(u"AccountWidget") - - self.gridLayout.addWidget(self.AccountWidget, 2, 1, 1, 2) - - self.Country = QComboBox(TaxWidget) - self.Country.setObjectName(u"Country") + sizePolicy1.setHeightForWidth(self.XlsSelectBtn.sizePolicy().hasHeightForWidth()) + self.XlsSelectBtn.setSizePolicy(sizePolicy1) - self.gridLayout.addWidget(self.Country, 0, 1, 1, 2) - - self.XlsFileLbl = QLabel(TaxWidget) - self.XlsFileLbl.setObjectName(u"XlsFileLbl") - - self.gridLayout.addWidget(self.XlsFileLbl, 3, 0, 1, 1) + self.MainLayout.addWidget(self.XlsSelectBtn, 3, 2, 1, 1) self.Year = QSpinBox(TaxWidget) self.Year.setObjectName(u"Year") - self.Year.setAlignment(Qt.AlignRight|Qt.AlignTrailing|Qt.AlignVCenter) + self.Year.setAlignment(Qt.AlignmentFlag.AlignRight|Qt.AlignmentFlag.AlignTrailing|Qt.AlignmentFlag.AlignVCenter) self.Year.setMinimum(2010) self.Year.setMaximum(2030) self.Year.setValue(2020) - self.gridLayout.addWidget(self.Year, 1, 1, 1, 2) + self.MainLayout.addWidget(self.Year, 1, 1, 1, 2) - self.XlsSelectBtn = QPushButton(TaxWidget) - self.XlsSelectBtn.setObjectName(u"XlsSelectBtn") - sizePolicy2 = QSizePolicy(QSizePolicy.Policy.Minimum, QSizePolicy.Policy.Fixed) + self.XlsFileName = QLineEdit(TaxWidget) + self.XlsFileName.setObjectName(u"XlsFileName") + sizePolicy2 = QSizePolicy(QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Fixed) sizePolicy2.setHorizontalStretch(0) sizePolicy2.setVerticalStretch(0) - sizePolicy2.setHeightForWidth(self.XlsSelectBtn.sizePolicy().hasHeightForWidth()) - self.XlsSelectBtn.setSizePolicy(sizePolicy2) + sizePolicy2.setHeightForWidth(self.XlsFileName.sizePolicy().hasHeightForWidth()) + self.XlsFileName.setSizePolicy(sizePolicy2) - self.gridLayout.addWidget(self.XlsSelectBtn, 3, 2, 1, 1) + self.MainLayout.addWidget(self.XlsFileName, 3, 1, 1, 1) - self.SaveButton = QPushButton(TaxWidget) - self.SaveButton.setObjectName(u"SaveButton") + self.NoSettlement = QCheckBox(TaxWidget) + self.NoSettlement.setObjectName(u"NoSettlement") - self.gridLayout.addWidget(self.SaveButton, 11, 2, 1, 1) + self.MainLayout.addWidget(self.NoSettlement, 4, 0, 1, 3) - self.YearLbl = QLabel(TaxWidget) - self.YearLbl.setObjectName(u"YearLbl") + self.PtBox = QGroupBox(TaxWidget) + self.PtBox.setObjectName(u"PtBox") + self.PtLayout = QVBoxLayout(self.PtBox) + self.PtLayout.setSpacing(2) + self.PtLayout.setObjectName(u"PtLayout") + self.PtLayout.setContentsMargins(0, 0, 0, 0) + self.Pt_OneCurrencyRate = QCheckBox(self.PtBox) + self.Pt_OneCurrencyRate.setObjectName(u"Pt_OneCurrencyRate") + + self.PtLayout.addWidget(self.Pt_OneCurrencyRate) + + + self.MainLayout.addWidget(self.PtBox, 8, 0, 1, 3) - self.gridLayout.addWidget(self.YearLbl, 1, 0, 1, 1) + self.AccountWidget = AccountSelector(TaxWidget) + self.AccountWidget.setObjectName(u"AccountWidget") + + self.MainLayout.addWidget(self.AccountWidget, 2, 1, 1, 2) - self.verticalSpacer = QSpacerItem(20, 40, QSizePolicy.Policy.Minimum, QSizePolicy.Policy.Expanding) + self.AccountLbl = QLabel(TaxWidget) + self.AccountLbl.setObjectName(u"AccountLbl") - self.gridLayout.addItem(self.verticalSpacer, 12, 2, 1, 1) + self.MainLayout.addWidget(self.AccountLbl, 2, 0, 1, 1) - self.RussianSpecificFrame = QFrame(TaxWidget) - self.RussianSpecificFrame.setObjectName(u"RussianSpecificFrame") - self.RussianSpecificFrame.setFrameShape(QFrame.NoFrame) - self.RussianSpecificFrame.setFrameShadow(QFrame.Raised) - self.verticalLayout = QVBoxLayout(self.RussianSpecificFrame) + self.XlsFileLbl = QLabel(TaxWidget) + self.XlsFileLbl.setObjectName(u"XlsFileLbl") + + self.MainLayout.addWidget(self.XlsFileLbl, 3, 0, 1, 1) + + self.RuBox = QGroupBox(TaxWidget) + self.RuBox.setObjectName(u"RuBox") + self.verticalLayout = QVBoxLayout(self.RuBox) self.verticalLayout.setSpacing(2) self.verticalLayout.setObjectName(u"verticalLayout") self.verticalLayout.setContentsMargins(0, 0, 0, 0) - self.DlsgGroup = QGroupBox(self.RussianSpecificFrame) + self.DlsgGroup = QGroupBox(self.RuBox) self.DlsgGroup.setObjectName(u"DlsgGroup") - sizePolicy.setHeightForWidth(self.DlsgGroup.sizePolicy().hasHeightForWidth()) - self.DlsgGroup.setSizePolicy(sizePolicy) + self.DlsgGroup.setEnabled(True) + sizePolicy3 = QSizePolicy(QSizePolicy.Policy.Preferred, QSizePolicy.Policy.Preferred) + sizePolicy3.setHorizontalStretch(0) + sizePolicy3.setVerticalStretch(0) + sizePolicy3.setHeightForWidth(self.DlsgGroup.sizePolicy().hasHeightForWidth()) + self.DlsgGroup.setSizePolicy(sizePolicy3) self.DlsgGroup.setFlat(False) self.DlsgGroup.setCheckable(True) self.DlsgGroup.setChecked(False) @@ -121,59 +122,54 @@ def setupUi(self, TaxWidget): self.DlsgFileLbl = QLabel(self.DlsgGroup) self.DlsgFileLbl.setObjectName(u"DlsgFileLbl") - self.gridLayout_2.addWidget(self.DlsgFileLbl, 0, 0, 1, 1) - - self.IncomeSourceBroker = QCheckBox(self.DlsgGroup) - self.IncomeSourceBroker.setObjectName(u"IncomeSourceBroker") - self.IncomeSourceBroker.setChecked(True) - - self.gridLayout_2.addWidget(self.IncomeSourceBroker, 1, 0, 1, 3) + self.gridLayout_2.addWidget(self.DlsgFileLbl, 1, 0, 1, 1) - self.DividendsOnly = QCheckBox(self.DlsgGroup) - self.DividendsOnly.setObjectName(u"DividendsOnly") + self.DlsgIncomeSourceBroker = QCheckBox(self.DlsgGroup) + self.DlsgIncomeSourceBroker.setObjectName(u"DlsgIncomeSourceBroker") + self.DlsgIncomeSourceBroker.setChecked(True) - self.gridLayout_2.addWidget(self.DividendsOnly, 2, 0, 1, 3) + self.gridLayout_2.addWidget(self.DlsgIncomeSourceBroker, 3, 0, 1, 3) - self.DlsgSelectBtn = QPushButton(self.DlsgGroup) - self.DlsgSelectBtn.setObjectName(u"DlsgSelectBtn") + self.DlsgDividendsOnly = QCheckBox(self.DlsgGroup) + self.DlsgDividendsOnly.setObjectName(u"DlsgDividendsOnly") - self.gridLayout_2.addWidget(self.DlsgSelectBtn, 0, 2, 1, 1) + self.gridLayout_2.addWidget(self.DlsgDividendsOnly, 4, 0, 1, 3) self.DlsgFileName = QLineEdit(self.DlsgGroup) self.DlsgFileName.setObjectName(u"DlsgFileName") - self.gridLayout_2.addWidget(self.DlsgFileName, 0, 1, 1, 1) + self.gridLayout_2.addWidget(self.DlsgFileName, 1, 1, 1, 1) + + self.DlsgSelectBtn = QPushButton(self.DlsgGroup) + self.DlsgSelectBtn.setObjectName(u"DlsgSelectBtn") + + self.gridLayout_2.addWidget(self.DlsgSelectBtn, 1, 2, 1, 1) self.verticalLayout.addWidget(self.DlsgGroup) - self.gridLayout.addWidget(self.RussianSpecificFrame, 7, 0, 1, 3) + self.MainLayout.addWidget(self.RuBox, 7, 0, 1, 3) - self.AccountLbl = QLabel(TaxWidget) - self.AccountLbl.setObjectName(u"AccountLbl") + self.Country = QComboBox(TaxWidget) + self.Country.setObjectName(u"Country") - self.gridLayout.addWidget(self.AccountLbl, 2, 0, 1, 1) + self.MainLayout.addWidget(self.Country, 0, 1, 1, 2) - self.WarningLbl = QLabel(TaxWidget) - self.WarningLbl.setObjectName(u"WarningLbl") - font = QFont() - font.setItalic(True) - self.WarningLbl.setFont(font) + self.CountryLbl = QLabel(TaxWidget) + self.CountryLbl.setObjectName(u"CountryLbl") - self.gridLayout.addWidget(self.WarningLbl, 5, 0, 1, 1) + self.MainLayout.addWidget(self.CountryLbl, 0, 0, 1, 1) - self.line = QFrame(TaxWidget) - self.line.setObjectName(u"line") - self.line.setFrameShape(QFrame.Shape.HLine) - self.line.setFrameShadow(QFrame.Shadow.Sunken) + self.YearLbl = QLabel(TaxWidget) + self.YearLbl.setObjectName(u"YearLbl") - self.gridLayout.addWidget(self.line, 4, 0, 1, 3) + self.MainLayout.addWidget(self.YearLbl, 1, 0, 1, 1) - self.NoSettlement = QCheckBox(TaxWidget) - self.NoSettlement.setObjectName(u"NoSettlement") + self.SaveButton = QPushButton(TaxWidget) + self.SaveButton.setObjectName(u"SaveButton") - self.gridLayout.addWidget(self.NoSettlement, 6, 0, 1, 1) + self.MainLayout.addWidget(self.SaveButton, 11, 2, 1, 1) self.retranslateUi(TaxWidget) @@ -183,34 +179,36 @@ def setupUi(self, TaxWidget): def retranslateUi(self, TaxWidget): TaxWidget.setWindowTitle(QCoreApplication.translate("TaxWidget", u"Taxes", None)) +#if QT_CONFIG(tooltip) + self.XlsSelectBtn.setToolTip(QCoreApplication.translate("TaxWidget", u"Select file", None)) +#endif // QT_CONFIG(tooltip) + self.XlsSelectBtn.setText(QCoreApplication.translate("TaxWidget", u"...", None)) + self.Year.setSuffix("") #if QT_CONFIG(tooltip) self.XlsFileName.setToolTip(QCoreApplication.translate("TaxWidget", u"File where to store tax report in Excel format", None)) #endif // QT_CONFIG(tooltip) - self.CountryLbl.setText(QCoreApplication.translate("TaxWidget", u"Country:", None)) + self.NoSettlement.setText(QCoreApplication.translate("TaxWidget", u"Do not use settlement date for currency rates", None)) + self.PtBox.setTitle(QCoreApplication.translate("TaxWidget", u"Additional parameters (Portugal)", None)) + self.Pt_OneCurrencyRate.setText(QCoreApplication.translate("TaxWidget", u"Use Sell currency rate for Buy and Sell operations", None)) #if QT_CONFIG(tooltip) self.AccountWidget.setToolTip(QCoreApplication.translate("TaxWidget", u"Foreign account to prepare tax report for", None)) #endif // QT_CONFIG(tooltip) + self.AccountLbl.setText(QCoreApplication.translate("TaxWidget", u"Account:", None)) self.XlsFileLbl.setText(QCoreApplication.translate("TaxWidget", u"Excel file:", None)) - self.Year.setSuffix("") -#if QT_CONFIG(tooltip) - self.XlsSelectBtn.setToolTip(QCoreApplication.translate("TaxWidget", u"Select file", None)) -#endif // QT_CONFIG(tooltip) - self.XlsSelectBtn.setText(QCoreApplication.translate("TaxWidget", u"...", None)) - self.SaveButton.setText(QCoreApplication.translate("TaxWidget", u"Save Report", None)) - self.YearLbl.setText(QCoreApplication.translate("TaxWidget", u"Year:", None)) + self.RuBox.setTitle(QCoreApplication.translate("TaxWidget", u"Additional parameters (Russia)", None)) self.DlsgGroup.setTitle(QCoreApplication.translate("TaxWidget", u"Create tax form in \"\u0414\u0435\u043a\u043b\u0430\u0440\u0430\u0446\u0438\u044f\" program format (*.dcX)", None)) self.DlsgFileLbl.setText(QCoreApplication.translate("TaxWidget", u"Output file:", None)) - self.IncomeSourceBroker.setText(QCoreApplication.translate("TaxWidget", u"Use broker name as income source", None)) - self.DividendsOnly.setText(QCoreApplication.translate("TaxWidget", u"Update only information about dividends", None)) + self.DlsgIncomeSourceBroker.setText(QCoreApplication.translate("TaxWidget", u"Use broker name as income source", None)) + self.DlsgDividendsOnly.setText(QCoreApplication.translate("TaxWidget", u"Update only information about dividends", None)) #if QT_CONFIG(tooltip) - self.DlsgSelectBtn.setToolTip(QCoreApplication.translate("TaxWidget", u"Select file", None)) + self.DlsgFileName.setToolTip(QCoreApplication.translate("TaxWidget", u"File where to store russian tax form", None)) #endif // QT_CONFIG(tooltip) - self.DlsgSelectBtn.setText(QCoreApplication.translate("TaxWidget", u" ... ", None)) #if QT_CONFIG(tooltip) - self.DlsgFileName.setToolTip(QCoreApplication.translate("TaxWidget", u"File where to store russian tax form", None)) + self.DlsgSelectBtn.setToolTip(QCoreApplication.translate("TaxWidget", u"Select file", None)) #endif // QT_CONFIG(tooltip) - self.AccountLbl.setText(QCoreApplication.translate("TaxWidget", u"Account:", None)) - self.WarningLbl.setText(QCoreApplication.translate("TaxWidget", u"Below functions are experimental - use it with care", None)) - self.NoSettlement.setText(QCoreApplication.translate("TaxWidget", u"Do not use settlement date for currency rates", None)) + self.DlsgSelectBtn.setText(QCoreApplication.translate("TaxWidget", u" ... ", None)) + self.CountryLbl.setText(QCoreApplication.translate("TaxWidget", u"Country:", None)) + self.YearLbl.setText(QCoreApplication.translate("TaxWidget", u"Year:", None)) + self.SaveButton.setText(QCoreApplication.translate("TaxWidget", u"Save Report", None)) # retranslateUi diff --git a/jal/ui/ui_update_quotes_window.py b/jal/ui/ui_update_quotes_window.py index 3be01a1b..da6b6d7f 100644 --- a/jal/ui/ui_update_quotes_window.py +++ b/jal/ui/ui_update_quotes_window.py @@ -3,7 +3,7 @@ ################################################################################ ## Form generated from reading UI file 'quotes_update.ui' ## -## Created by: Qt User Interface Compiler version 6.7.0 +## Created by: Qt User Interface Compiler version 6.7.1 ## ## WARNING! All changes made in this file will be lost when recompiling UI file! ################################################################################ diff --git a/jal/ui/widgets/ui_asset_payment_operation.py b/jal/ui/widgets/ui_asset_payment_operation.py index a209b100..bcd5f71e 100644 --- a/jal/ui/widgets/ui_asset_payment_operation.py +++ b/jal/ui/widgets/ui_asset_payment_operation.py @@ -3,7 +3,7 @@ ################################################################################ ## Form generated from reading UI file 'asset_payment_operation.ui' ## -## Created by: Qt User Interface Compiler version 6.7.0 +## Created by: Qt User Interface Compiler version 6.7.1 ## ## WARNING! All changes made in this file will be lost when recompiling UI file! ################################################################################ diff --git a/jal/ui/widgets/ui_corporate_action_operation.py b/jal/ui/widgets/ui_corporate_action_operation.py index 5e58e481..6985ad15 100644 --- a/jal/ui/widgets/ui_corporate_action_operation.py +++ b/jal/ui/widgets/ui_corporate_action_operation.py @@ -3,7 +3,7 @@ ################################################################################ ## Form generated from reading UI file 'corporate_action_operation.ui' ## -## Created by: Qt User Interface Compiler version 6.7.0 +## Created by: Qt User Interface Compiler version 6.7.1 ## ## WARNING! All changes made in this file will be lost when recompiling UI file! ################################################################################ diff --git a/jal/ui/widgets/ui_income_spending_operation.py b/jal/ui/widgets/ui_income_spending_operation.py index efaf2052..333cde74 100644 --- a/jal/ui/widgets/ui_income_spending_operation.py +++ b/jal/ui/widgets/ui_income_spending_operation.py @@ -3,7 +3,7 @@ ################################################################################ ## Form generated from reading UI file 'income_spending_operation.ui' ## -## Created by: Qt User Interface Compiler version 6.7.0 +## Created by: Qt User Interface Compiler version 6.7.1 ## ## WARNING! All changes made in this file will be lost when recompiling UI file! ################################################################################ diff --git a/jal/ui/widgets/ui_term_deposit_operation.py b/jal/ui/widgets/ui_term_deposit_operation.py index 5d4cf57a..b951266e 100644 --- a/jal/ui/widgets/ui_term_deposit_operation.py +++ b/jal/ui/widgets/ui_term_deposit_operation.py @@ -3,7 +3,7 @@ ################################################################################ ## Form generated from reading UI file 'term_deposit_operation.ui' ## -## Created by: Qt User Interface Compiler version 6.7.0 +## Created by: Qt User Interface Compiler version 6.7.1 ## ## WARNING! All changes made in this file will be lost when recompiling UI file! ################################################################################ diff --git a/jal/ui/widgets/ui_trade_operation.py b/jal/ui/widgets/ui_trade_operation.py index 1fd459e4..a3cf3804 100644 --- a/jal/ui/widgets/ui_trade_operation.py +++ b/jal/ui/widgets/ui_trade_operation.py @@ -3,7 +3,7 @@ ################################################################################ ## Form generated from reading UI file 'trade_operation.ui' ## -## Created by: Qt User Interface Compiler version 6.7.0 +## Created by: Qt User Interface Compiler version 6.7.1 ## ## WARNING! All changes made in this file will be lost when recompiling UI file! ################################################################################ diff --git a/jal/ui/widgets/ui_transfer_operation.py b/jal/ui/widgets/ui_transfer_operation.py index b96a964d..b49ed604 100644 --- a/jal/ui/widgets/ui_transfer_operation.py +++ b/jal/ui/widgets/ui_transfer_operation.py @@ -3,7 +3,7 @@ ################################################################################ ## Form generated from reading UI file 'transfer_operation.ui' ## -## Created by: Qt User Interface Compiler version 6.7.0 +## Created by: Qt User Interface Compiler version 6.7.1 ## ## WARNING! All changes made in this file will be lost when recompiling UI file! ################################################################################ diff --git a/jal/widgets/tax_widget.py b/jal/widgets/tax_widget.py index a695b1ad..2486e625 100644 --- a/jal/widgets/tax_widget.py +++ b/jal/widgets/tax_widget.py @@ -37,9 +37,11 @@ def __init__(self, parent=None): def OnCountryChange(self, item_id): if item_id == TaxReport.PORTUGAL: - self.ui.RussianSpecificFrame.setVisible(False) + self.ui.RuBox.setVisible(False) + self.ui.PtBox.setVisible(True) elif item_id == TaxReport.RUSSIA: - self.ui.RussianSpecificFrame.setVisible(True) + self.ui.RuBox.setVisible(True) + self.ui.PtBox.setVisible(False) else: raise ValueError("Selected item has no country handler in code") # Refresh and adjust MDI-window size @@ -90,10 +92,13 @@ def getDslgFilename(self): return self.ui.DlsgFileName.text() def getBrokerAsIncomeName(self): - return self.ui.IncomeSourceBroker.isChecked() + return self.ui.DlsgIncomeSourceBroker.isChecked() def getDividendsOnly(self): - return self.ui.DividendsOnly.isChecked() + return self.ui.DlsgDividendsOnly.isChecked() + + def getUseOneRate(self): + return self.ui.Pt_OneCurrencyRate.isChecked() def getNoSettlement(self): return self.ui.NoSettlement.isChecked() @@ -105,6 +110,7 @@ def getNoSettlement(self): dlsg_filename = Property(str, fget=getDslgFilename) dlsg_broker_as_income = Property(bool, fget=getBrokerAsIncomeName) dlsg_dividends_only = Property(bool, fget=getDividendsOnly) + use_one_rate = Property(bool, fget=getUseOneRate) no_settelement = Property(bool, fget=getNoSettlement) @Slot() @@ -115,7 +121,9 @@ def SaveReport(self): return taxes = TaxReport.create_report(self.ui.Country.currentIndex()) - tax_report = taxes.prepare_tax_report(self.year, self.account, use_settlement=(not self.no_settelement)) + tax_report = taxes.prepare_tax_report(self.year, self.account, + use_one_currency_rate=self.use_one_rate, + use_settlement=(not self.no_settelement)) if not tax_report: logging.warning(self.tr("Tax report is empty")) return