diff --git a/gnucash/gnome/gnc-split-reg.c b/gnucash/gnome/gnc-split-reg.c index c7db63917d..7c59213c80 100644 --- a/gnucash/gnome/gnc-split-reg.c +++ b/gnucash/gnome/gnc-split-reg.c @@ -2146,6 +2146,8 @@ gnc_split_reg_set_sort_reversed(GNCSplitReg *gsr, gboolean rev, gboolean refresh Query *query = gnc_ledger_display_get_query( gsr->ledger ); qof_query_set_sort_increasing (query, !rev, !rev, !rev); gsr->sort_rev = rev; + Account *acct = gnc_ledger_display_leader (gsr->ledger); + xaccAccountSetSortReversed(acct, rev); if (refresh) gnc_ledger_display_refresh( gsr->ledger ); } diff --git a/gnucash/register/ledger-core/split-register-load.c b/gnucash/register/ledger-core/split-register-load.c index c7d499a799..0e552295ae 100644 --- a/gnucash/register/ledger-core/split-register-load.c +++ b/gnucash/register/ledger-core/split-register-load.c @@ -25,7 +25,11 @@ #include #include +#include +#include +#include "Account.h" +#include "Transaction.h" #include "account-quickfill.h" #include "combocell.h" #include "gnc-component-manager.h" @@ -370,6 +374,7 @@ gnc_split_register_load (SplitRegister* reg, GList* slist, gboolean need_divider_upper = FALSE; gboolean found_divider_upper = FALSE; gboolean found_divider = FALSE; + bool reverse_sort = xaccAccountGetSortReversed(default_account); gboolean has_last_num = FALSE; gboolean multi_line; gboolean dynamic; @@ -607,7 +612,8 @@ gnc_split_register_load (SplitRegister* reg, GList* slist, use_autoreadonly && !found_divider_upper) { - if (xaccTransGetDate (trans) >= autoreadonly_time) + if (((reverse_sort && xaccTransGetDate(trans) < autoreadonly_time) || + (!reverse_sort && xaccTransGetDate (trans) >= autoreadonly_time))) { table->model->dividing_row_upper = vcell_loc.virt_row; found_divider_upper = TRUE; @@ -618,9 +624,9 @@ gnc_split_register_load (SplitRegister* reg, GList* slist, } } - if (info->show_present_divider && - !found_divider && - (xaccTransGetDate (trans) > present)) + if (info->show_present_divider && !found_divider && + ((reverse_sort && xaccTransGetDate(trans) < present) || + (!reverse_sort && xaccTransGetDate (trans) > present))) { table->model->dividing_row = vcell_loc.virt_row; found_divider = TRUE; @@ -651,7 +657,6 @@ gnc_split_register_load (SplitRegister* reg, GList* slist, &vcell_loc); table->model->dividing_row_lower = vcell_loc.virt_row; - if (!multi_line) start_primary_color = !start_primary_color; @@ -737,7 +742,9 @@ gnc_split_register_load (SplitRegister* reg, GList* slist, &vcell_loc); if (future_after_blank) + { table->model->dividing_row_lower = vcell_loc.virt_row; + } } /* go to blank on first pass */ diff --git a/libgnucash/backend/xml/gnc-xml-backend.cpp b/libgnucash/backend/xml/gnc-xml-backend.cpp index bc7136a861..94d533a4cf 100644 --- a/libgnucash/backend/xml/gnc-xml-backend.cpp +++ b/libgnucash/backend/xml/gnc-xml-backend.cpp @@ -132,7 +132,10 @@ GncXmlBackend::session_begin(QofSession* session, const char* new_uri, if (!check_path(m_fullpath.c_str(), mode == SESSION_NEW_STORE || mode == SESSION_NEW_OVERWRITE)) return; - m_dirname = g_path_get_dirname (m_fullpath.c_str()); + + auto dirname = g_path_get_dirname (m_fullpath.c_str()); + m_dirname = dirname; + g_free (dirname); diff --git a/libgnucash/engine/Transaction.c b/libgnucash/engine/Transaction.c index d24e966880..89b54a9011 100644 --- a/libgnucash/engine/Transaction.c +++ b/libgnucash/engine/Transaction.c @@ -255,9 +255,6 @@ void gen_event_trans (Transaction *trans) } } -static const char* -is_unset = "unset"; - /* GObject Initialization */ G_DEFINE_TYPE(Transaction, gnc_transaction, QOF_TYPE_INSTANCE) @@ -274,11 +271,6 @@ gnc_transaction_init(Transaction* trans) trans->date_posted = 0; trans->marker = 0; trans->orig = NULL; - trans->readonly_reason = (char*) is_unset; - trans->isClosingTxn_cached = -1; - trans->notes = (char*) is_unset; - trans->doclink = (char*) is_unset; - trans->void_reason = (char*) is_unset; trans->txn_type = TXN_TYPE_UNCACHED; LEAVE (" "); } @@ -819,24 +811,12 @@ xaccFreeTransaction (Transaction *trans) /* free up transaction strings */ CACHE_REMOVE(trans->num); CACHE_REMOVE(trans->description); - if (trans->readonly_reason != is_unset) - g_free (trans->readonly_reason); - if (trans->doclink != is_unset) - g_free (trans->doclink); - if (trans->void_reason != is_unset) - g_free (trans->void_reason); - if (trans->notes != is_unset) - g_free (trans->notes); /* Just in case someone looks up freed memory ... */ trans->num = (char *) 1; trans->description = NULL; trans->date_entered = 0; trans->date_posted = 0; - trans->readonly_reason = NULL; - trans->doclink = NULL; - trans->notes = NULL; - trans->void_reason = NULL; if (trans->orig) { xaccFreeTransaction (trans->orig); @@ -2044,7 +2024,7 @@ xaccTransSetDatePostedGDate (Transaction *trans, GDate date) * the future a date which was set as *date* (without time) can * clearly be distinguished from the time64. */ g_value_init (&v, G_TYPE_DATE); - g_value_set_boxed (&v, &date); + g_value_set_static_boxed (&v, &date); qof_instance_set_kvp (QOF_INSTANCE(trans), &v, 1, TRANS_DATE_POSTED); g_value_unset (&v); /* mark dirty and commit handled by SetDateInternal */ @@ -2083,7 +2063,7 @@ xaccTransSetDateDue (Transaction * trans, time64 time) GValue v = G_VALUE_INIT; if (!trans) return; g_value_init (&v, GNC_TYPE_TIME64); - g_value_set_boxed (&v, &time); + g_value_set_static_boxed (&v, &time); xaccTransBeginEdit(trans); qof_instance_set_kvp (QOF_INSTANCE (trans), &v, 1, TRANS_DATE_DUE_KVP); qof_instance_set_dirty(QOF_INSTANCE(trans)); @@ -2104,7 +2084,7 @@ xaccTransSetTxnType (Transaction *trans, char type) g_value_unset (&v); return; } - g_value_set_string (&v, s); + g_value_set_static_string (&v, s); xaccTransBeginEdit(trans); qof_instance_set_kvp (QOF_INSTANCE (trans), &v, 1, TRANS_TXN_TYPE_KVP); qof_instance_set_dirty(QOF_INSTANCE(trans)); @@ -2120,10 +2100,6 @@ void xaccTransClearReadOnly (Transaction *trans) qof_instance_set_kvp (QOF_INSTANCE (trans), NULL, 1, TRANS_READ_ONLY_REASON); qof_instance_set_dirty(QOF_INSTANCE(trans)); xaccTransCommitEdit(trans); - - if (trans->readonly_reason != is_unset) - g_free (trans->readonly_reason); - trans->readonly_reason = NULL; } } @@ -2134,16 +2110,12 @@ xaccTransSetReadOnly (Transaction *trans, const char *reason) { GValue v = G_VALUE_INIT; g_value_init (&v, G_TYPE_STRING); - g_value_set_string (&v, reason); + g_value_set_static_string (&v, reason); xaccTransBeginEdit(trans); qof_instance_set_kvp (QOF_INSTANCE (trans), &v, 1, TRANS_READ_ONLY_REASON); qof_instance_set_dirty(QOF_INSTANCE(trans)); g_value_unset (&v); xaccTransCommitEdit(trans); - - if (trans->readonly_reason != is_unset) - g_free (trans->readonly_reason); - trans->readonly_reason = g_strdup (reason); } } @@ -2196,25 +2168,16 @@ xaccTransSetDocLink (Transaction *trans, const char *doclink) { if (!trans || !doclink) return; - if (trans->doclink != is_unset) - { - if (!g_strcmp0 (doclink, trans->doclink)) - return; - - g_free (trans->doclink); - } xaccTransBeginEdit(trans); if (doclink[0] == '\0') { - trans->doclink = NULL; qof_instance_set_kvp (QOF_INSTANCE (trans), NULL, 1, doclink_uri_str); } else { GValue v = G_VALUE_INIT; - trans->doclink = g_strdup (doclink); g_value_init (&v, G_TYPE_STRING); - g_value_set_string (&v, doclink); + g_value_set_static_string (&v, doclink); //Gets copied at the other end qof_instance_set_kvp (QOF_INSTANCE (trans), &v, 1, doclink_uri_str); g_value_unset (&v); } @@ -2235,18 +2198,9 @@ xaccTransSetNotes (Transaction *trans, const char *notes) { GValue v = G_VALUE_INIT; if (!trans || !notes) return; - if (trans->notes != is_unset) - { - if (!g_strcmp0 (notes, trans->notes)) - return; - - g_free (trans->notes); - } g_value_init (&v, G_TYPE_STRING); - g_value_set_string (&v, notes); + g_value_set_static_string (&v, notes); xaccTransBeginEdit(trans); - - trans->notes = g_strdup (notes); qof_instance_set_kvp (QOF_INSTANCE (trans), &v, 1, trans_notes_str); qof_instance_set_dirty(QOF_INSTANCE(trans)); g_value_unset (&v); @@ -2266,12 +2220,10 @@ xaccTransSetIsClosingTxn (Transaction *trans, gboolean is_closing) g_value_set_int64 (&v, 1); qof_instance_set_kvp (QOF_INSTANCE (trans), &v, 1, trans_is_closing_str); g_value_unset (&v); - trans->isClosingTxn_cached = 1; } else { qof_instance_set_kvp (QOF_INSTANCE (trans), NULL, 1, trans_is_closing_str); - trans->isClosingTxn_cached = 0; } qof_instance_set_dirty(QOF_INSTANCE(trans)); xaccTransCommitEdit(trans); @@ -2409,50 +2361,43 @@ const char * xaccTransGetDocLink (const Transaction *trans) { g_return_val_if_fail (trans, NULL); - if (trans->doclink == is_unset) - { - GValue v = G_VALUE_INIT; - Transaction *t = (Transaction*) trans; - qof_instance_get_kvp (QOF_INSTANCE (trans), &v, 1, doclink_uri_str); - t->doclink = G_VALUE_HOLDS_STRING (&v) ? g_value_dup_string (&v) : NULL; - g_value_unset (&v); - } - return trans->doclink; + + GValue v = G_VALUE_INIT; + qof_instance_get_kvp (QOF_INSTANCE (trans), &v, 1, doclink_uri_str); + const char* doclink = G_VALUE_HOLDS_STRING (&v) ? g_value_get_string (&v) : NULL; + g_value_unset (&v); + + return doclink; } const char * xaccTransGetNotes (const Transaction *trans) { g_return_val_if_fail (trans, NULL); - if (trans->notes == is_unset) - { - GValue v = G_VALUE_INIT; - Transaction *t = (Transaction*) trans; - qof_instance_get_kvp (QOF_INSTANCE (trans), &v, 1, trans_notes_str); - t->notes = G_VALUE_HOLDS_STRING (&v) ? g_value_dup_string (&v) : NULL; - g_value_unset (&v); - } - return trans->notes; + + GValue v = G_VALUE_INIT; + qof_instance_get_kvp (QOF_INSTANCE (trans), &v, 1, trans_notes_str); + const char *notes = G_VALUE_HOLDS_STRING (&v) ? g_value_get_string (&v) : NULL; + g_value_unset (&v); + + return notes; } gboolean xaccTransGetIsClosingTxn (const Transaction *trans) { if (!trans) return FALSE; - if (trans->isClosingTxn_cached == -1) - { - Transaction* trans_nonconst = (Transaction*) trans; - GValue v = G_VALUE_INIT; - qof_instance_get_kvp (QOF_INSTANCE (trans), &v, 1, trans_is_closing_str); - if (G_VALUE_HOLDS_INT64 (&v)) - trans_nonconst->isClosingTxn_cached = (g_value_get_int64 (&v) ? 1 : 0); - else - trans_nonconst->isClosingTxn_cached = 0; - g_value_unset (&v); - } - return (trans->isClosingTxn_cached == 1) - ? TRUE - : FALSE; + + GValue v = G_VALUE_INIT; + gboolean rv; + qof_instance_get_kvp (QOF_INSTANCE (trans), &v, 1, trans_is_closing_str); + if (G_VALUE_HOLDS_INT64 (&v)) + rv = (g_value_get_int64 (&v) ? 1 : 0); + else + rv = 0; + g_value_unset (&v); + + return rv; } /********************************************************************\ @@ -2582,15 +2527,12 @@ xaccTransGetReadOnly (Transaction *trans) if (!trans) return NULL; - if (trans->readonly_reason == is_unset) - { - GValue v = G_VALUE_INIT; - qof_instance_get_kvp (QOF_INSTANCE(trans), &v, 1, TRANS_READ_ONLY_REASON); - trans->readonly_reason = G_VALUE_HOLDS_STRING (&v) ? - g_value_dup_string (&v) : NULL; - g_value_unset (&v); - } - return trans->readonly_reason; + GValue v = G_VALUE_INIT; + qof_instance_get_kvp (QOF_INSTANCE(trans), &v, 1, TRANS_READ_ONLY_REASON); + const char *readonly_reason = G_VALUE_HOLDS_STRING (&v) ? + g_value_get_string (&v) : NULL; + g_value_unset (&v); + return readonly_reason; } static gboolean @@ -2788,16 +2730,13 @@ xaccTransVoid(Transaction *trans, const char *reason) else g_value_init (&v, G_TYPE_STRING); - g_value_set_string (&v, _("Voided transaction")); + g_value_set_static_string (&v, _("Voided transaction")); qof_instance_set_kvp (QOF_INSTANCE (trans), &v, 1, trans_notes_str); - g_value_set_string (&v, reason); + g_value_set_static_string (&v, reason); qof_instance_set_kvp (QOF_INSTANCE (trans), &v, 1, void_reason_str); - if (trans->void_reason != is_unset) - g_free (trans->void_reason); - trans->void_reason = g_strdup (reason); gnc_time64_to_iso8601_buff (gnc_time(NULL), iso8601_str); - g_value_set_string (&v, iso8601_str); + g_value_set_static_string (&v, iso8601_str); qof_instance_set_kvp (QOF_INSTANCE (trans), &v, 1, void_time_str); g_value_unset (&v); @@ -2819,15 +2758,13 @@ const char * xaccTransGetVoidReason(const Transaction *trans) { g_return_val_if_fail (trans, NULL); - if (trans->void_reason == is_unset) - { - GValue v = G_VALUE_INIT; - Transaction *t = (Transaction*) trans; - qof_instance_get_kvp (QOF_INSTANCE (trans), &v, 1, void_reason_str); - t->void_reason = G_VALUE_HOLDS_STRING (&v) ? g_value_dup_string (&v) : NULL; - g_value_unset (&v); - } - return trans->void_reason; + + GValue v = G_VALUE_INIT; + qof_instance_get_kvp (QOF_INSTANCE (trans), &v, 1, void_reason_str); + const char *void_reason = G_VALUE_HOLDS_STRING (&v) ? g_value_get_string (&v) : NULL; + g_value_unset (&v); + + return void_reason; } time64 @@ -2867,8 +2804,6 @@ xaccTransUnvoid (Transaction *trans) qof_instance_set_kvp (QOF_INSTANCE (trans), NULL, 1, void_reason_str); qof_instance_set_kvp (QOF_INSTANCE (trans), NULL, 1, void_time_str); g_value_unset (&v); - g_free (trans->void_reason); - trans->void_reason = NULL; FOR_EACH_SPLIT(trans, xaccSplitUnvoid(s)); @@ -2905,7 +2840,7 @@ xaccTransReverse (Transaction *orig) /* Now update the original with a pointer to the new one */ g_value_init (&v, GNC_TYPE_GUID); - g_value_set_boxed (&v, xaccTransGetGUID(trans)); + g_value_set_static_boxed (&v, xaccTransGetGUID(trans)); qof_instance_set_kvp (QOF_INSTANCE (orig), &v, 1, TRANS_REVERSED_BY); g_value_unset (&v); diff --git a/libgnucash/engine/TransactionP.h b/libgnucash/engine/TransactionP.h index e90b45fc8f..015914a19f 100644 --- a/libgnucash/engine/TransactionP.h +++ b/libgnucash/engine/TransactionP.h @@ -115,23 +115,11 @@ struct transaction_s */ Transaction *orig; - /* The readonly_reason is a string that indicates why a transaction - * is marked as read-only. If NULL, the transaction is read-write. - * This value is stored in kvp, but we cache a copy here for - * performance reasons. + /* A flag to indicate when a transaction represents an invoice, a payment, + * or a link between the two. */ - char * readonly_reason; - - char * doclink; - char * void_reason; - char * notes; - char txn_type; - /* Cached bool value to indicate whether this is a closing txn. This is - * cached from the KVP value because it is queried a lot. Tri-state value: -1 - * = uninitialized; 0 = FALSE, 1 = TRUE. */ - gint isClosingTxn_cached; }; struct _TransactionClass diff --git a/libgnucash/engine/kvp-frame.cpp b/libgnucash/engine/kvp-frame.cpp index 53d5f2a758..c809a7cc07 100644 --- a/libgnucash/engine/kvp-frame.cpp +++ b/libgnucash/engine/kvp-frame.cpp @@ -232,17 +232,6 @@ int compare(const KvpFrameImpl & one, const KvpFrameImpl & two) noexcept return 0; } - -static void -gvalue_list_from_kvp_value (KvpValue *kval, gpointer pList) -{ - GList **gvlist = NULL; - GValue *gval = gvalue_from_kvp_value (kval); - gvlist = (GList**)pList; - if (G_VALUE_TYPE (gval)) - *gvlist = g_list_prepend (*gvlist, gval); -} - static void kvp_value_list_from_gvalue (GValue *gval, gpointer pList) { @@ -255,15 +244,13 @@ kvp_value_list_from_gvalue (GValue *gval, gpointer pList) } GValue* -gvalue_from_kvp_value (const KvpValue *kval) +gvalue_from_kvp_value (const KvpValue *kval, GValue* val) { - GValue *val; - gnc_numeric num; - Time64 tm; - GDate gdate; - if (kval == NULL) return NULL; - val = g_slice_new0 (GValue); + if (!val) + val = g_slice_new0 (GValue); + else + g_value_unset(val); switch (kval->get_type()) { @@ -277,36 +264,28 @@ gvalue_from_kvp_value (const KvpValue *kval) break; case KvpValue::Type::NUMERIC: g_value_init (val, GNC_TYPE_NUMERIC); - num = kval->get(); - g_value_set_boxed (val, &num); + g_value_set_static_boxed (val, kval->get_ptr()); break; case KvpValue::Type::STRING: g_value_init (val, G_TYPE_STRING); - g_value_set_string (val, kval->get()); + g_value_set_static_string (val, kval->get()); break; case KvpValue::Type::GUID: g_value_init (val, GNC_TYPE_GUID); - g_value_set_boxed (val, kval->get()); + g_value_set_static_boxed (val, kval->get()); break; case KvpValue::Type::TIME64: g_value_init (val, GNC_TYPE_TIME64); - tm = kval->get(); - g_value_set_boxed (val, &tm); + g_value_set_boxed (val, kval->get_ptr()); break; case KvpValue::Type::GDATE: g_value_init (val, G_TYPE_DATE); - gdate = kval->get(); - g_value_set_boxed (val, &gdate); + g_value_set_static_boxed (val, kval->get_ptr()); break; case KvpValue::Type::GLIST: { - GList *gvalue_list = NULL; - GList *kvp_list = kval->get(); - g_list_foreach (kvp_list, (GFunc)gvalue_list_from_kvp_value, - &gvalue_list); g_value_init (val, GNC_TYPE_VALUE_LIST); - gvalue_list = g_list_reverse (gvalue_list); - g_value_set_boxed (val, gvalue_list); + g_value_set_static_boxed (val, kval->get()); break; } /* No transfer of KVP frames outside of QofInstance-derived classes! */ diff --git a/libgnucash/engine/kvp-value.hpp b/libgnucash/engine/kvp-value.hpp index 515f69240a..cdeeb91fd2 100644 --- a/libgnucash/engine/kvp-value.hpp +++ b/libgnucash/engine/kvp-value.hpp @@ -139,6 +139,8 @@ struct KvpValueImpl template T get() const noexcept; + template + const T* get_ptr() const noexcept; template void set(T) noexcept; @@ -175,6 +177,13 @@ KvpValueImpl::get() const noexcept return boost::get(datastore); } +template const T* +KvpValueImpl::get_ptr() const noexcept +{ + if (this->datastore.type() != typeid(T)) return nullptr; + return boost::get(&datastore); +} + template void KvpValueImpl::set(T val) noexcept { @@ -187,7 +196,7 @@ KvpValueImpl::set(T val) noexcept * @param kval: A KvpValue. * @return GValue*. Must be freed with g_free(). */ -GValue* gvalue_from_kvp_value (const KvpValue *kval); +GValue* gvalue_from_kvp_value (const KvpValue *kval, GValue* val = nullptr); /** Convert a gvalue into a kvpvalue. * @param gval: A GValue of a type KvpValue can digest. diff --git a/libgnucash/engine/mocks/gmock-Transaction.h b/libgnucash/engine/mocks/gmock-Transaction.h index 08d5e968ab..e866c7d8fb 100644 --- a/libgnucash/engine/mocks/gmock-Transaction.h +++ b/libgnucash/engine/mocks/gmock-Transaction.h @@ -32,8 +32,6 @@ public: date_posted = 0; marker = 0; orig = nullptr; - readonly_reason = nullptr; - isClosingTxn_cached = -1; } void* operator new(size_t size) { diff --git a/libgnucash/engine/qofinstance.cpp b/libgnucash/engine/qofinstance.cpp index fec393de59..b9fa0fad2c 100644 --- a/libgnucash/engine/qofinstance.cpp +++ b/libgnucash/engine/qofinstance.cpp @@ -1085,15 +1085,7 @@ qof_instance_get_kvp (QofInstance * inst, GValue * value, unsigned count, ...) for (unsigned i{0}; i < count; ++i) path.push_back (va_arg (args, char const *)); va_end (args); - auto temp = gvalue_from_kvp_value (inst->kvp_data->get_slot (path)); - if (G_IS_VALUE (temp)) - { - if (G_IS_VALUE (value)) - g_value_unset (value); - g_value_init (value, G_VALUE_TYPE (temp)); - g_value_copy (temp, value); - gnc_gvalue_free (temp); - } + gvalue_from_kvp_value (inst->kvp_data->get_slot (path), value); } void diff --git a/po/glossary/hu.po b/po/glossary/hu.po index 2bb28f5eac..29971e7d58 100644 --- a/po/glossary/hu.po +++ b/po/glossary/hu.po @@ -12,8 +12,8 @@ msgstr "" "Report-Msgid-Bugs-To: https://bugs.gnucash.org/enter_bug." "cgi?product=GnuCash&component=Translations\n" "POT-Creation-Date: 2021-12-05 20:11+0100\n" -"PO-Revision-Date: 2023-02-23 12:38+0000\n" -"Last-Translator: mocsa \n" +"PO-Revision-Date: 2023-02-26 17:38+0000\n" +"Last-Translator: Szia Tomi \n" "Language-Team: Hungarian \n" "Language: hu\n" @@ -110,7 +110,7 @@ msgstr "számlatípus: Részvény" #. "This account type (new in gnucash-2.4.0) is used when exchanging or trading amounts from one currency into another" msgid "account type: trading" -msgstr "számlatípus: devizakonverziós" +msgstr "számlatípus: kereskedés(devizakonverziós)" #. "-" msgid "account: parent account" diff --git a/po/hu.po b/po/hu.po index 2ec7d23743..09fbf9e519 100644 --- a/po/hu.po +++ b/po/hu.po @@ -14,8 +14,8 @@ msgstr "" "Report-Msgid-Bugs-To: https://bugs.gnucash.org/enter_bug." "cgi?product=GnuCash&component=Translations\n" "POT-Creation-Date: 2022-12-04 19:47-0800\n" -"PO-Revision-Date: 2023-02-23 16:38+0000\n" -"Last-Translator: Szia Tomi \n" +"PO-Revision-Date: 2023-02-26 20:44+0000\n" +"Last-Translator: mocsa \n" "Language-Team: Hungarian \n" "Language: hu\n" @@ -903,7 +903,7 @@ msgstr "A könyv lezárása sikeres volt." #. that will be created. This is a ngettext(3) message (but #. only for the %d part). #: gnucash/gnome/assistant-acct-period.c:315 -#, fuzzy, c-format +#, c-format msgid "" "The earliest transaction date found in this book is %s. Based on the " "selection made above, this book will be split into %d book." @@ -911,9 +911,8 @@ msgid_plural "" "The earliest transaction date found in this book is %s. Based on the " "selection made above, this book will be split into %d books." msgstr[0] "" -"A legkorábbi könyvelés dátuma a könyvben %s. A fenti kiválasztás alapján a " -"könyvelés-megosztás a %d könyvekben megy végbe. Kattintson a \"Következő\"-" -"re, hogy elkezdje bezárni az első könyvet." +"Ebben a főkönyvben a legkorábbi tranzakció dátuma %s. A fenti választás " +"alapján a könyv %d felé lesz szétosztva." #. Translators: Run the assistant in your language to see GTK's translation of the button labels. #: gnucash/gnome/assistant-acct-period.c:371 @@ -945,13 +944,13 @@ msgid "" msgstr "" #: gnucash/gnome/assistant-acct-period.c:525 -#, fuzzy, c-format +#, c-format msgid "" "%s\n" "Congratulations! You are done closing books!\n" msgstr "" "%s\n" -"Gratulálunk! Ön végzett a könyvek lezárásával!\n" +"Gratulálunk! Befejezte a könyvek lezárását!\n" #: gnucash/gnome/assistant-acct-period.c:594 #: gnucash/gtkbuilder/dialog-fincalc.glade:650 @@ -1725,10 +1724,8 @@ msgstr "Töltelék számla lett kiválasztva. Próbálja újra." #: gnucash/gnome/dialog-doclink.c:160 #: gnucash/gnome/gnc-plugin-page-register.c:4765 -#, fuzzy -#| msgid "Select Account" msgid "Select document" -msgstr "Folyószámla kiválasztása" +msgstr "Dokumentum kiválasztása" #: gnucash/gnome/dialog-doclink.c:163 gnucash/gnome/gnc-plugin-budget.c:323 #: gnucash/gnome-search/search-account.c:238 @@ -15789,9 +15786,8 @@ msgid "Linked Document" msgstr "Megbízás párbeszédablak" #: gnucash/gtkbuilder/dialog-doclink.glade:697 -#, fuzzy msgid "Available" -msgstr "Számlázható?" +msgstr "" #: gnucash/gtkbuilder/dialog-doclink.glade:712 msgid "Relative" @@ -16475,8 +16471,8 @@ msgstr "_Igen" msgid "" "Display Welcome Dialog Again?" msgstr "" -"Újból megjeleníti az " -"üdvözlőablakot?" +"Máskor is jelenjen meg az " +"Üdvözlőablak?" #: gnucash/gtkbuilder/dialog-new-user.glade:101 msgid "" @@ -16484,9 +16480,9 @@ msgid "" "will be displayed again next time you start GnuCash. If you press the No button, it will not be displayed again." msgstr "" -"Ha az Igen gombot nyomja meg, az Üdvözli a GnuCash ablak a " -"következő alkalommal is megjelenik, amikor elindítja GnuCash-t. Ha a Nem gombot nyomja meg, akkor nem jelenik meg újra." +"Ha az Igen gombra kattint, az Üdvözlőablak a GnuCash következő " +"indításakor is megjelenik. Ha a Nem gombra kattint, akkor nem jelenik " +"meg újra." #: gnucash/gtkbuilder/dialog-new-user.glade:210 msgid "Welcome to GnuCash!" @@ -19257,9 +19253,8 @@ msgid "Only show _active owners" msgstr "" #: gnucash/gtkbuilder/gnc-tree-view-owner.glade:79 -#, fuzzy msgid "Show _zero balance owners" -msgstr "Nulla egyenlegű elemek feltüntetése?" +msgstr "" #: gnucash/gtkbuilder/window-autoclear.glade:71 #, fuzzy @@ -21896,9 +21891,8 @@ msgid "Enter a name for the account" msgstr "Adjon meg egy folyószámlanevet" #: gnucash/import-export/qif-imp/dialog-account-picker.c:443 -#, fuzzy msgid "Placeholder?" -msgstr "Töltelék" +msgstr "Töltelék?" #: gnucash/import-export/qif-imp/gnc-plugin-qif-import.c:48 msgid "Import _QIF..." @@ -22312,10 +22306,9 @@ msgstr "sample:Költségek:Autó:Üzemanyag" #. Translators: Abbreviation sample for Taxable? #: gnucash/register/ledger-core/gncEntryLedgerLayout.c:132 -#, fuzzy msgctxt "sample for 'Taxable'" msgid "T?" -msgstr "A" +msgstr "" #. Translators: Abbreviation sample for Tax Included #: gnucash/register/ledger-core/gncEntryLedgerLayout.c:137 @@ -23077,9 +23070,8 @@ msgstr "Pénznem kiválasztása, amelyben jelentés értékei megjelennek." #: gnucash/report/options-utilities.scm:143 #: gnucash/report/reports/standard/advanced-portfolio.scm:81 #: gnucash/report/reports/standard/price-scatter.scm:78 -#, fuzzy msgid "The source of price information." -msgstr "Az árinformáció forrása" +msgstr "Árfolyamok forrása." #: gnucash/report/options-utilities.scm:144 msgid "Average cost of purchases weighted by volume" @@ -23486,27 +23478,23 @@ msgstr "" #: gnucash/report/reports/aging.scm:410 #: gnucash/report/reports/standard/new-aging.scm:52 -#, fuzzy msgid "Display Address 1." -msgstr "Dátum megjelenítése?" +msgstr "" #: gnucash/report/reports/aging.scm:418 #: gnucash/report/reports/standard/new-aging.scm:53 -#, fuzzy msgid "Display Address 2." -msgstr "Dátum megjelenítése?" +msgstr "" #: gnucash/report/reports/aging.scm:426 #: gnucash/report/reports/standard/new-aging.scm:54 -#, fuzzy msgid "Display Address 3." -msgstr "Dátum megjelenítése?" +msgstr "" #: gnucash/report/reports/aging.scm:434 #: gnucash/report/reports/standard/new-aging.scm:55 -#, fuzzy msgid "Display Address 4." -msgstr "Dátum megjelenítése?" +msgstr "" #: gnucash/report/reports/aging.scm:442 #: gnucash/report/reports/standard/new-aging.scm:56 @@ -23528,9 +23516,8 @@ msgstr "Rövid jelölések megjelenítése" #: gnucash/report/reports/aging.scm:466 #: gnucash/report/reports/standard/new-aging.scm:59 -#, fuzzy msgid "Display Active status." -msgstr "Dátum megjelenítése?" +msgstr "" #: gnucash/report/reports/aging.scm:539 #: gnucash/report/reports/standard/new-aging.scm:181 @@ -25530,9 +25517,8 @@ msgstr "Nem pénzjavak megjelenítése" #: gnucash/report/reports/standard/balsheet-pnl.scm:124 #: gnucash/report/trep-engine.scm:551 -#, fuzzy msgid "Also show original currency amounts" -msgstr "A számla idegen pénznembeli összegeinek megjelenítése?" +msgstr "Összegek megjelenítése eredeti pénznemben is" #: gnucash/report/reports/standard/balsheet-pnl.scm:126 msgid "If more than 1 period column, include overall period?" @@ -26110,19 +26096,16 @@ msgid "Include transfers to and from Trading Accounts in the report." msgstr "" #: gnucash/report/reports/standard/cashflow-barchart.scm:107 -#, fuzzy msgid "Show money in?" -msgstr "Rajz megjelenítése" +msgstr "" #: gnucash/report/reports/standard/cashflow-barchart.scm:113 -#, fuzzy msgid "Show money out?" -msgstr "Rajz megjelenítése" +msgstr "" #: gnucash/report/reports/standard/cashflow-barchart.scm:119 -#, fuzzy msgid "Show net money flow?" -msgstr "Rajz megjelenítése" +msgstr "Nettó pénzáramlás megjelenítése?" #: gnucash/report/reports/standard/cashflow-barchart.scm:303 #: gnucash/report/reports/standard/cashflow-barchart.scm:339 @@ -26952,24 +26935,20 @@ msgid "Display the price per item?" msgstr "Elemenkénti ár megjelenítése?" #: gnucash/report/reports/standard/invoice.scm:225 -#, fuzzy msgid "Display the entry's discount?" -msgstr "Tétel-kedvezmény megjelenítése" +msgstr "" #: gnucash/report/reports/standard/invoice.scm:230 -#, fuzzy msgid "Display the entry's taxable status?" -msgstr "Adókötelesség megjelenítése" +msgstr "" #: gnucash/report/reports/standard/invoice.scm:235 -#, fuzzy msgid "Display each entry's total total tax?" -msgstr "Minden tételösszeg összesített adója" +msgstr "" #: gnucash/report/reports/standard/invoice.scm:240 -#, fuzzy msgid "Display the entry's value?" -msgstr "Tétel értéke megjelenítése" +msgstr "" #: gnucash/report/reports/standard/invoice.scm:245 msgid "Display due date?" @@ -27530,22 +27509,19 @@ msgstr "Számla megjelenítése?" #: gnucash/report/reports/standard/new-owner-report.scm:918 #: gnucash/report/reports/standard/owner-report.scm:597 -#, fuzzy msgid "Display the period debits column?" -msgstr "Tétel-kedvezmény megjelenítése" +msgstr "" #: gnucash/report/reports/standard/new-owner-report.scm:923 #: gnucash/report/reports/standard/owner-report.scm:592 -#, fuzzy msgid "Display the period credits column?" -msgstr "Tétel-kedvezmény megjelenítése" +msgstr "" #: gnucash/report/reports/standard/new-owner-report.scm:928 #: gnucash/report/reports/standard/register.scm:413 #: gnucash/report/trep-engine.scm:962 -#, fuzzy msgid "Display a running balance?" -msgstr "Futó egyenleg megjelenítése" +msgstr "Folyó egyenleg megjelenítése?" #: gnucash/report/reports/standard/new-owner-report.scm:936 #, fuzzy @@ -27575,9 +27551,8 @@ msgid "Detailed" msgstr "Sikertelen" #: gnucash/report/reports/standard/new-owner-report.scm:949 -#, fuzzy msgid "Display document link?" -msgstr "Számlanév megjelenítése hiperhivatkozásként" +msgstr "Dokumentum hivatkozás megjelenítése?" #: gnucash/report/reports/standard/new-owner-report.scm:1068 #, fuzzy @@ -28169,9 +28144,8 @@ msgid "Display the Company Name?" msgstr "Számlanév megjelenítése?" #: gnucash/report/reports/standard/taxinvoice.scm:134 -#, fuzzy msgid "Invoice Number next to title?" -msgstr "Számlaszám" +msgstr "Számlaszám a cím mellett?" #: gnucash/report/reports/standard/taxinvoice.scm:135 #, fuzzy @@ -28179,14 +28153,12 @@ msgid "Display Job name?" msgstr "Számlanév megjelenítése?" #: gnucash/report/reports/standard/taxinvoice.scm:136 -#, fuzzy msgid "Invoice Job number?" -msgstr "Számlaszám" +msgstr "" #: gnucash/report/reports/standard/taxinvoice.scm:137 -#, fuzzy msgid "Show net price?" -msgstr "Árak feltüntetése" +msgstr "Nettó ár megjelenítése?" #: gnucash/report/reports/standard/taxinvoice.scm:154 msgid "Name of a file containing a logo to be used on the report." @@ -29176,9 +29148,8 @@ msgid "" msgstr "" #: gnucash/report/trep-engine.scm:637 -#, fuzzy msgid "Filter by reconcile status." -msgstr "Tranzakciódátum megjelenítése?" +msgstr "" #: gnucash/report/trep-engine.scm:644 #, fuzzy @@ -29224,18 +29195,16 @@ msgid "Show the account description for subheadings?" msgstr "Számlakód megjelenítése alösszegekhez és alcímekhez?" #: gnucash/report/trep-engine.scm:810 -#, fuzzy msgid "Show the informal headers for debit/credit accounts?" -msgstr "Bevételi- és költségszámlák megjelenítése" +msgstr "" #: gnucash/report/trep-engine.scm:817 msgid "Add indenting columns with grouping and subtotals?" msgstr "" #: gnucash/report/trep-engine.scm:824 -#, fuzzy msgid "Show subtotals only, hiding transactional detail?" -msgstr "Do not print transaction detail" +msgstr "" #: gnucash/report/trep-engine.scm:831 msgid "Subtotal according to the primary key?" @@ -29280,30 +29249,24 @@ msgid "Display the notes if the memo is unavailable?" msgstr "" #: gnucash/report/trep-engine.scm:952 gnucash/report/trep-engine.scm:955 -#, fuzzy msgid "Display the full account name?" -msgstr "Teljes számlanév megjelenítése" +msgstr "Teljes számlanév megjelenítése?" #: gnucash/report/trep-engine.scm:953 -#, fuzzy msgid "Display the account code?" -msgstr "Számlakód megjelenítése" +msgstr "Számlakód megjelenítése?" #: gnucash/report/trep-engine.scm:956 -#, fuzzy msgid "Display the other account code?" -msgstr "A másik számla kódjának megjelenítése" +msgstr "A másik számla kódjának megjelenítése?" #: gnucash/report/trep-engine.scm:958 -#, fuzzy -#| msgid "Display the transaction amount?" msgid "Display the transaction linked document" -msgstr "Tranzakció összegének megjelenítése?" +msgstr "" #: gnucash/report/trep-engine.scm:961 -#, fuzzy msgid "Display a subtotal summary table." -msgstr "Feltüntessem a részletösszegeket?" +msgstr "Részösszegek összefoglaló táblázatának megjelenítése." #: gnucash/report/trep-engine.scm:969 #, fuzzy