This commit is contained in:
Celil 2011-07-22 15:44:53 -07:00
commit 64c991da2a
13 changed files with 635 additions and 452 deletions

Binary file not shown.

File diff suppressed because it is too large Load diff

Binary file not shown.

View file

@ -3,8 +3,8 @@ msgstr ""
"Project-Id-Version: \n" "Project-Id-Version: \n"
"Report-Msgid-Bugs-To: m0Ray <m0ray@nm.ru>\n" "Report-Msgid-Bugs-To: m0Ray <m0ray@nm.ru>\n"
"POT-Creation-Date: 2011-05-15 18:24+0100\n" "POT-Creation-Date: 2011-05-15 18:24+0100\n"
"PO-Revision-Date: 2011-05-23 07:06+0500\n" "PO-Revision-Date: 2011-07-17 04:18+0100\n"
"Last-Translator: m0Ray <m0ray@nm.ru>\n" "Last-Translator: Michael Bemmerl <mail@mx-server.de>\n"
"Language-Team: \n" "Language-Team: \n"
"Language: \n" "Language: \n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
@ -448,7 +448,7 @@ msgstr "&Открыть Bitcoin"
#: ../../../src/ui.cpp:2682 #: ../../../src/ui.cpp:2682
msgid "&Send Bitcoins" msgid "&Send Bitcoins"
msgstr "&Открыть Bitcoin" msgstr "&Отправить Bitcoins"
#: ../../../src/ui.cpp:2683 #: ../../../src/ui.cpp:2683
msgid "O&ptions..." msgid "O&ptions..."

View file

@ -2574,6 +2574,7 @@ bool SendMessages(CNode* pto, bool fSendTrickle)
vGetData.clear(); vGetData.clear();
} }
} }
mapAlreadyAskedFor[inv] = nNow;
pto->mapAskFor.erase(pto->mapAskFor.begin()); pto->mapAskFor.erase(pto->mapAskFor.begin());
} }
if (!vGetData.empty()) if (!vGetData.empty())

View file

@ -41,12 +41,12 @@ DEFS=$(DEFS) /DUSE_UPNP=$(USE_UPNP)
!ENDIF !ENDIF
LIBS=$(LIBS) \ LIBS=$(LIBS) \
kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib ws2_32.lib shlwapi.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib ws2_32.lib shlwapi.lib iphlpapi.lib
DEBUGFLAGS=/Os DEBUGFLAGS=/Os
CFLAGS=/MD /c /nologo /EHsc /GR /Zm300 $(DEBUGFLAGS) $(DEFS) $(INCLUDEPATHS) CFLAGS=/MD /c /nologo /EHsc /GR /Zm300 $(DEBUGFLAGS) $(DEFS) $(INCLUDEPATHS)
HEADERS=headers.h strlcpy.h serialize.h uint256.h util.h key.h bignum.h base58.h \ HEADERS=headers.h strlcpy.h serialize.h uint256.h util.h key.h bignum.h base58.h \
script.h db.h net.h irc.h main.h rpc.h uibase.h ui.h noui.h init.h wallet.h keystore.h script.h db.h net.h irc.h main.h rpc.h uibase.h ui.h noui.h init.h wallet.h keystore.h crypter.h
OBJS= \ OBJS= \
obj\util.obj \ obj\util.obj \
@ -58,7 +58,8 @@ OBJS= \
obj\main.obj \ obj\main.obj \
obj\wallet.obj \ obj\wallet.obj \
obj\rpc.obj \ obj\rpc.obj \
obj\init.obj obj\init.obj \
obj\crypter.obj
CRYPTOPP_OBJS= \ CRYPTOPP_OBJS= \
cryptopp\obj\sha.obj \ cryptopp\obj\sha.obj \
@ -93,6 +94,8 @@ obj\rpc.obj: $(HEADERS)
obj\init.obj: $(HEADERS) obj\init.obj: $(HEADERS)
obj\crypter.obj: $(HEADERS)
obj\ui.obj: $(HEADERS) obj\ui.obj: $(HEADERS)
obj\uibase.obj: $(HEADERS) obj\uibase.obj: $(HEADERS)

View file

@ -55,6 +55,12 @@ void BitcoinAmountField::setText(const QString &text)
} }
} }
void BitcoinAmountField::clear()
{
amount->clear();
decimals->clear();
}
bool BitcoinAmountField::validate() bool BitcoinAmountField::validate()
{ {
bool valid = true; bool valid = true;

View file

@ -18,6 +18,8 @@ public:
void setText(const QString &text); void setText(const QString &text);
QString text() const; QString text() const;
void clear();
bool validate(); bool validate();
// Qt messes up the tab chain by default in some cases (issue http://bugreports.qt.nokia.com/browse/QTBUG-10907) // Qt messes up the tab chain by default in some cases (issue http://bugreports.qt.nokia.com/browse/QTBUG-10907)
// Hence we have to set it up manually // Hence we have to set it up manually

View file

@ -35,3 +35,9 @@ void QValidatedLineEdit::markValid()
{ {
setValid(true); setValid(true);
} }
void QValidatedLineEdit::clear()
{
setValid(true);
QLineEdit::clear();
}

View file

@ -10,6 +10,7 @@ class QValidatedLineEdit : public QLineEdit
Q_OBJECT Q_OBJECT
public: public:
explicit QValidatedLineEdit(QWidget *parent = 0); explicit QValidatedLineEdit(QWidget *parent = 0);
void clear();
protected: protected:
void focusInEvent(QFocusEvent *evt); void focusInEvent(QFocusEvent *evt);

View file

@ -68,7 +68,7 @@ void SendCoinsEntry::clear()
{ {
ui->payTo->clear(); ui->payTo->clear();
ui->addAsLabel->clear(); ui->addAsLabel->clear();
ui->payAmount->setText(QString()); ui->payAmount->clear();
ui->payTo->setFocus(); ui->payTo->setFocus();
} }

View file

@ -25,6 +25,8 @@
#include <QMenu> #include <QMenu>
#include <QApplication> #include <QApplication>
#include <QClipboard> #include <QClipboard>
#include <QLabel>
#include <QDateTimeEdit>
#include <QDebug> #include <QDebug>
@ -90,6 +92,7 @@ TransactionView::TransactionView(QWidget *parent) :
QTableView *view = new QTableView(this); QTableView *view = new QTableView(this);
vlayout->addLayout(hlayout); vlayout->addLayout(hlayout);
vlayout->addWidget(createDateRangeWidget());
vlayout->addWidget(view); vlayout->addWidget(view);
vlayout->setSpacing(0); vlayout->setSpacing(0);
int width = view->verticalScrollBar()->sizeHint().width(); int width = view->verticalScrollBar()->sizeHint().width();
@ -167,6 +170,7 @@ void TransactionView::setModel(WalletModel *model)
void TransactionView::chooseDate(int idx) void TransactionView::chooseDate(int idx)
{ {
QDate current = QDate::currentDate(); QDate current = QDate::currentDate();
dateRangeWidget->setVisible(false);
switch(dateWidget->itemData(idx).toInt()) switch(dateWidget->itemData(idx).toInt())
{ {
case All: case All:
@ -203,10 +207,10 @@ void TransactionView::chooseDate(int idx)
TransactionFilterProxy::MAX_DATE); TransactionFilterProxy::MAX_DATE);
break; break;
case Range: case Range:
// TODO ask specific range dateRangeWidget->setVisible(true);
dateRangeChanged();
break; break;
} }
} }
void TransactionView::chooseType(int idx) void TransactionView::chooseType(int idx)
@ -337,3 +341,46 @@ void TransactionView::showDetails()
dlg.exec(); dlg.exec();
} }
} }
QWidget *TransactionView::createDateRangeWidget()
{
dateRangeWidget = new QFrame();
dateRangeWidget->setFrameStyle(QFrame::Panel | QFrame::Raised);
dateRangeWidget->setContentsMargins(1,1,1,1);
QHBoxLayout *layout = new QHBoxLayout(dateRangeWidget);
layout->setContentsMargins(0,0,0,0);
layout->addSpacing(23);
layout->addWidget(new QLabel("Range:"));
dateFrom = new QDateTimeEdit(this);
dateFrom->setDisplayFormat("dd/MM/yy");
dateFrom->setCalendarPopup(true);
dateFrom->setMinimumWidth(100);
dateFrom->setDate(QDate::currentDate().addDays(-7));
layout->addWidget(dateFrom);
layout->addWidget(new QLabel("to"));
dateTo = new QDateTimeEdit(this);
dateTo->setDisplayFormat("dd/MM/yy");
dateTo->setCalendarPopup(true);
dateTo->setMinimumWidth(100);
dateTo->setDate(QDate::currentDate());
layout->addWidget(dateTo);
layout->addStretch();
// Hide by default
dateRangeWidget->setVisible(false);
// Notify on change
connect(dateFrom, SIGNAL(dateChanged(QDate)), this, SLOT(dateRangeChanged()));
connect(dateTo, SIGNAL(dateChanged(QDate)), this, SLOT(dateRangeChanged()));
return dateRangeWidget;
}
void TransactionView::dateRangeChanged()
{
transactionProxyModel->setDateRange(
QDateTime(dateFrom->date()),
QDateTime(dateTo->date()).addDays(1));
}

View file

@ -12,6 +12,8 @@ class QComboBox;
class QLineEdit; class QLineEdit;
class QModelIndex; class QModelIndex;
class QMenu; class QMenu;
class QFrame;
class QDateTimeEdit;
QT_END_NAMESPACE QT_END_NAMESPACE
class TransactionView : public QWidget class TransactionView : public QWidget
@ -45,8 +47,15 @@ private:
QMenu *contextMenu; QMenu *contextMenu;
QFrame *dateRangeWidget;
QDateTimeEdit *dateFrom;
QDateTimeEdit *dateTo;
QWidget *createDateRangeWidget();
private slots: private slots:
void contextualMenu(const QPoint &); void contextualMenu(const QPoint &);
void dateRangeChanged();
signals: signals:
void doubleClicked(const QModelIndex&); void doubleClicked(const QModelIndex&);