Update for 85088c5
[novacoin.git] / src / qt / mintingview.cpp
index fe672a2..1fdef92 100644 (file)
@@ -62,7 +62,9 @@ MintingView::MintingView(QWidget *parent) :
     mintingCombo = new QComboBox();
     mintingCombo->addItem(tr("10 min"), Minting10min);
     mintingCombo->addItem(tr("24 hours"), Minting1day);
+    mintingCombo->addItem(tr("7 days"), Minting7days);
     mintingCombo->addItem(tr("30 days"), Minting30days);
+    mintingCombo->addItem(tr("60 days"), Minting60days);
     mintingCombo->addItem(tr("90 days"), Minting90days);
     mintingCombo->setFixedWidth(120);
 
@@ -100,13 +102,19 @@ MintingView::MintingView(QWidget *parent) :
     // Actions
     QAction *copyTxIDAction = new QAction(tr("Copy transaction ID of input"), this);
     QAction *copyAddressAction = new QAction(tr("Copy address of input"), this);
+    QAction *showHideAddressAction = new QAction(tr("Show/hide 'Address' column"), this);
+    QAction *showHideTxIDAction = new QAction(tr("Show/hide 'Transaction' column"), this);
 
     contextMenu = new QMenu();
     contextMenu->addAction(copyAddressAction);
     contextMenu->addAction(copyTxIDAction);
+    contextMenu->addAction(showHideAddressAction);
+    contextMenu->addAction(showHideTxIDAction);
 
     connect(copyAddressAction, SIGNAL(triggered()), this, SLOT(copyAddress()));
     connect(copyTxIDAction, SIGNAL(triggered()), this, SLOT(copyTxID()));
+    connect(showHideAddressAction, SIGNAL(triggered()), this, SLOT(showHideAddress()));
+    connect(showHideTxIDAction, SIGNAL(triggered()), this, SLOT(showHideTxID()));
 
     connect(view, SIGNAL(customContextMenuRequested(QPoint)), this, SLOT(contextualMenu(QPoint)));
 }
@@ -121,6 +129,7 @@ void MintingView::setModel(WalletModel *model)
         mintingProxyModel->setSourceModel(model->getMintingTableModel());
         mintingProxyModel->setDynamicSortFilter(true);
         mintingProxyModel->setSortRole(Qt::EditRole);
+        model->getMintingTableModel()->setMintingProxyModel(mintingProxyModel);
 
         mintingView->setModel(mintingProxyModel);
         mintingView->setAlternatingRowColors(true);
@@ -131,23 +140,24 @@ void MintingView::setModel(WalletModel *model)
         mintingView->verticalHeader()->hide();
 
         mintingView->horizontalHeader()->resizeSection(
-                MintingTableModel::Age, 120);
+                MintingTableModel::Age, 60);
         mintingView->horizontalHeader()->resizeSection(
-                MintingTableModel::Balance, 120);
+                MintingTableModel::Balance, 80);
         mintingView->horizontalHeader()->resizeSection(
-                MintingTableModel::CoinDay,120);
+                MintingTableModel::CoinDay,60);
         mintingView->horizontalHeader()->resizeSection(
-                MintingTableModel::MintProbability, 120);
+                MintingTableModel::MintProbability, 105);
 #if QT_VERSION < 0x050000
         mintingView->horizontalHeader()->setResizeMode(
                 MintingTableModel::MintReward, QHeaderView::Stretch);
 #else
-        mintingView->horizontalHeader()->setSectionResizeMode(MintingTableModel::MintReward, QHeaderView::Stretch);
+        mintingView->horizontalHeader()->setSectionResizeMode(
+                MintingTableModel::MintReward, QHeaderView::Stretch);
 #endif
         mintingView->horizontalHeader()->resizeSection(
-            MintingTableModel::Address, 0);
+            MintingTableModel::Address, 245);
         mintingView->horizontalHeader()->resizeSection(
-            MintingTableModel::TxHash, 0);
+            MintingTableModel::TxHash, 75);
     }
 }
 
@@ -162,9 +172,15 @@ void MintingView::chooseMintingInterval(int idx)
         case Minting1day:
             interval = 60*24;
             break;
+        case Minting7days:
+            interval = 60*24*7;
+            break;
         case Minting30days:
             interval = 60*24*30;
             break;
+        case Minting60days:
+            interval = 60*24*60;
+            break;
         case Minting90days:
             interval = 60*24*90;
             break;
@@ -187,13 +203,13 @@ void MintingView::exportClicked()
 
     // name, column, role
     writer.setModel(mintingProxyModel);
-    writer.addColumn(tr("Address"),0, MintingTableModel::Address);
-    writer.addColumn(tr("Transaction"), 0, MintingTableModel::TxHash);
-    writer.addColumn(tr("Age"), 0, MintingTableModel::Age);
-    writer.addColumn(tr("CoinDay"), 0, MintingTableModel::CoinDay);
-    writer.addColumn(tr("Balance"), 0, MintingTableModel::Balance);
-    writer.addColumn(tr("MintingProbability"), 0, MintingTableModel::MintProbability);
-    writer.addColumn(tr("MintingReward"), 0, MintingTableModel::MintReward);
+    writer.addColumn(tr("Address"),MintingTableModel::Address,0);
+    writer.addColumn(tr("Transaction"),MintingTableModel::TxHash,0);
+    writer.addColumn(tr("Age"), MintingTableModel::Age,0);
+    writer.addColumn(tr("CoinDay"), MintingTableModel::CoinDay,0);
+    writer.addColumn(tr("Balance"), MintingTableModel::Balance,0);
+    writer.addColumn(tr("MintingProbability"), MintingTableModel::MintProbability,0);
+    writer.addColumn(tr("MintingReward"), MintingTableModel::MintReward,0);
 
     if(!writer.write())
     {
@@ -212,6 +228,18 @@ void MintingView::copyAddress()
     GUIUtil::copyEntryData(mintingView, MintingTableModel::Address, 0 );
 }
 
+void MintingView::showHideAddress()
+{
+    mintingView->horizontalHeader()->setSectionHidden(MintingTableModel::Address, 
+        !(mintingView->horizontalHeader()->isSectionHidden(MintingTableModel::Address)));
+}
+
+void MintingView::showHideTxID()
+{
+    mintingView->horizontalHeader()->setSectionHidden(MintingTableModel::TxHash, 
+        !(mintingView->horizontalHeader()->isSectionHidden(MintingTableModel::TxHash)));
+}
+
 void MintingView::contextualMenu(const QPoint &point)
 {
     QModelIndex index = mintingView->indexAt(point);