add all (unpopulated) dialogs
[novacoin.git] / BitcoinGUI.cpp
index b18a18b..f07b828 100644 (file)
@@ -2,6 +2,7 @@
  * W.J. van der Laan 2011
  */
 #include "BitcoinGUI.h"
+#include "TransactionTableModel.h"
 
 #include <QApplication>
 #include <QMainWindow>
@@ -17,6 +18,7 @@
 #include <QTableView>
 #include <QLineEdit>
 #include <QPushButton>
+#include <QHeaderView>
 
 #include <iostream>
 
@@ -27,7 +29,6 @@ BitcoinGUI::BitcoinGUI(QWidget *parent):
     setWindowTitle("Bitcoin");
     setWindowIcon(QIcon("bitcoin.png"));
     
-    
     QAction *quit = new QAction(QIcon("quit.png"), "&Quit", this);
     QAction *sendcoins = new QAction(QIcon("send.png"), "&Send coins", this);
     QAction *addressbook = new QAction(QIcon("address-book.png"), "&Address book", this);
@@ -53,13 +54,13 @@ BitcoinGUI::BitcoinGUI(QWidget *parent):
 
     /* Address: <address>: New... : Paste to clipboard */
     QHBoxLayout *hbox_address = new QHBoxLayout();
-    hbox_address->addWidget(new QLabel("Your Bitcoin Address:"));
+    hbox_address->addWidget(new QLabel(tr("Your Bitcoin Address:")));
     QLineEdit *edit_address = new QLineEdit();
     edit_address->setReadOnly(true);
     hbox_address->addWidget(edit_address);
     
     QPushButton *button_new = new QPushButton(trUtf8("&New\u2026"));
-    QPushButton *button_clipboard = new QPushButton("&Copy to clipboard");
+    QPushButton *button_clipboard = new QPushButton(tr("&Copy to clipboard"));
     hbox_address->addWidget(button_new);
     hbox_address->addWidget(button_clipboard);
     
@@ -80,13 +81,30 @@ BitcoinGUI::BitcoinGUI(QWidget *parent):
     /* Transaction table:
      * TransactionView
      * TransactionModel
-     * Selection behaviour
+     * Selection behavior
      * selection mode
      * QAbstractItemView::SelectItems
      * QAbstractItemView::ExtendedSelection
      */
     QTableView *transaction_table = new QTableView(this);
-    
+
+    TransactionTableModel *transaction_model = new TransactionTableModel(this);
+    transaction_table->setModel(transaction_model);
+    transaction_table->setSelectionBehavior(QAbstractItemView::SelectRows);
+    transaction_table->setSelectionMode(QAbstractItemView::ExtendedSelection);
+
+    transaction_table->horizontalHeader()->resizeSection(
+            TransactionTableModel::Status, 112);
+    transaction_table->horizontalHeader()->resizeSection(
+            TransactionTableModel::Date, 112);
+    transaction_table->horizontalHeader()->setResizeMode(
+            TransactionTableModel::Description, QHeaderView::Stretch);
+    transaction_table->horizontalHeader()->resizeSection(
+            TransactionTableModel::Debit, 79);
+    transaction_table->horizontalHeader()->resizeSection(
+            TransactionTableModel::Credit, 79);
+    /* TODO: alignment; debit/credit columns must align right */
+
     QTabBar *tabs = new QTabBar(this);
     tabs->addTab("All transactions");
     tabs->addTab("Sent/Received");