transaction amount column has display unit 89/head
authorfsb4000 <fsb4000@yandex.ru>
Tue, 30 Dec 2014 07:29:15 +0000 (13:29 +0600)
committerfsb4000 <fsb4000@yandex.ru>
Tue, 30 Dec 2014 07:29:15 +0000 (13:29 +0600)
src/qt/bitcoinunits.cpp
src/qt/bitcoinunits.h
src/qt/locale/bitcoin_ru.ts
src/qt/transactiontablemodel.cpp
src/qt/transactiontablemodel.h
src/qt/transactionview.cpp

index 21aa7a7..496c9f7 100644 (file)
@@ -179,3 +179,13 @@ QVariant BitcoinUnits::data(const QModelIndex &index, int role) const
     }
     return QVariant();
 }
+
+QString BitcoinUnits::getAmountColumnTitle(int unit)
+{
+    QString amountTitle = QObject::tr("Amount");
+    if (BitcoinUnits::valid(unit))
+    {
+        amountTitle += " ("+BitcoinUnits::name(unit) + ")";
+    }
+    return amountTitle;
+}
\ No newline at end of file
index 9b7c9e1..5ac3d47 100644 (file)
@@ -46,6 +46,8 @@ public:
     static QString formatWithUnit(int unit, qint64 amount, bool plussign=false);
     //! Parse string to coin amount
     static bool parse(int unit, const QString &value, qint64 *val_out);
+    //! Gets title for amount column including current display unit if optionsModel reference available */
+    static QString getAmountColumnTitle(int unit);
     ///@}
 
     //! @name AbstractListModel implementation
index 657e621..a9509bc 100644 (file)
 <context>
   <name>QObject</name>
   <message>
+    <source>Amount</source>
+    <translation>Количество</translation>
+  </message>
+  <message>
     <source>NovaCoins</source>
     <translation>NovaCoins</translation>
   </message>
@@ -2988,11 +2992,6 @@ This label turns red, if the priority is smaller than &quot;medium&quot;.
         <source>Address</source>
         <translation>Адрес</translation>
     </message>
-    <message>
-        <location line="+0"/>
-        <source>Amount</source>
-        <translation>Количество</translation>
-    </message>
     <message numerus="yes">
         <location line="+57"/>
         <source>Open for %n block(s)</source>
index 8133f57..3248c1d 100644 (file)
@@ -223,7 +223,7 @@ TransactionTableModel::TransactionTableModel(CWallet* wallet, WalletModel *paren
         priv(new TransactionTablePriv(wallet, this)),
         cachedNumBlocks(0)
 {
-    columns << QString() << tr("Date") << tr("Type") << tr("Address") << tr("Amount");
+    columns << QString() << tr("Date") << tr("Type") << tr("Address") << BitcoinUnits::getAmountColumnTitle(walletModel->getOptionsModel()->getDisplayUnit());
 
     priv->refreshWallet();
 
@@ -239,6 +239,13 @@ TransactionTableModel::~TransactionTableModel()
     delete priv;
 }
 
+/** Updates the column title to "Amount (DisplayUnit)" and emits headerDataChanged() signal for table headers to react. */
+void TransactionTableModel::updateAmountColumnTitle()
+{
+    columns[Amount] = BitcoinUnits::getAmountColumnTitle(walletModel->getOptionsModel()->getDisplayUnit());
+    emit headerDataChanged(Qt::Horizontal,Amount,Amount);
+}
+
 void TransactionTableModel::updateTransaction(const QString &hash, int status)
 {
     uint256 updated;
@@ -639,6 +646,7 @@ QModelIndex TransactionTableModel::index(int row, int column, const QModelIndex
 
 void TransactionTableModel::updateDisplayUnit()
 {
+    updateAmountColumnTitle();
     // emit dataChanged to update Amount column with the current unit
     emit dataChanged(index(0, Amount), index(priv->size()-1, Amount));
 }
index d74f7fd..9608948 100644 (file)
@@ -80,6 +80,8 @@ public slots:
     void updateTransaction(const QString &hash, int status);
     void updateConfirmations();
     void updateDisplayUnit();
+    /** Updates the column title to "Amount (DisplayUnit)" and emits headerDataChanged() signal for table headers to react. */
+    void updateAmountColumnTitle();
 
     friend class TransactionTablePriv;
 };
index 61ddb26..7dae349 100644 (file)
@@ -202,7 +202,7 @@ void TransactionView::setModel(WalletModel *model, bool fShoudAddThirdPartyURL)
         transactionView->horizontalHeader()->setSectionResizeMode(TransactionTableModel::ToAddress, QHeaderView::Stretch);
 #endif
         transactionView->horizontalHeader()->resizeSection(
-                TransactionTableModel::Amount, 100);
+                TransactionTableModel::Amount, 120);
 
         if (model->getOptionsModel() && fShoudAddThirdPartyURL)
         {