Daira Hopwood
7 years ago
11 changed files with 0 additions and 405 deletions
@ -1,21 +0,0 @@ |
|||
FORMS += \ |
|||
../src/qt/forms/aboutdialog.ui \ |
|||
../src/qt/forms/addressbookpage.ui \ |
|||
../src/qt/forms/askpassphrasedialog.ui \ |
|||
../src/qt/forms/coincontroldialog.ui \ |
|||
../src/qt/forms/editaddressdialog.ui \ |
|||
../src/qt/forms/helpmessagedialog.ui \ |
|||
../src/qt/forms/intro.ui \ |
|||
../src/qt/forms/openuridialog.ui \ |
|||
../src/qt/forms/optionsdialog.ui \ |
|||
../src/qt/forms/overviewpage.ui \ |
|||
../src/qt/forms/receivecoinsdialog.ui \ |
|||
../src/qt/forms/receiverequestdialog.ui \ |
|||
../src/qt/forms/rpcconsole.ui \ |
|||
../src/qt/forms/sendcoinsdialog.ui \ |
|||
../src/qt/forms/sendcoinsentry.ui \ |
|||
../src/qt/forms/signverifymessagedialog.ui \ |
|||
../src/qt/forms/transactiondescdialog.ui \ |
|||
|
|||
RESOURCES += \ |
|||
../src/qt/bitcoin.qrc |
@ -1,22 +0,0 @@ |
|||
#!/usr/bin/env python |
|||
|
|||
# Helpful little script that spits out a comma-separated list of |
|||
# language codes for Qt icons that should be included |
|||
# in binary bitcoin distributions |
|||
|
|||
import glob |
|||
import os |
|||
import re |
|||
import sys |
|||
|
|||
if len(sys.argv) != 3: |
|||
sys.exit("Usage: %s $QTDIR/translations $BITCOINDIR/src/qt/locale"%sys.argv[0]) |
|||
|
|||
d1 = sys.argv[1] |
|||
d2 = sys.argv[2] |
|||
|
|||
l1 = set([ re.search(r'qt_(.*).qm', f).group(1) for f in glob.glob(os.path.join(d1, 'qt_*.qm')) ]) |
|||
l2 = set([ re.search(r'bitcoin_(.*).qm', f).group(1) for f in glob.glob(os.path.join(d2, 'bitcoin_*.qm')) ]) |
|||
|
|||
print ",".join(sorted(l1.intersection(l2))) |
|||
|
@ -1,46 +0,0 @@ |
|||
The following is a list of assets used in the bitcoin source and their proper attribution. |
|||
|
|||
[Typicons/Stephen Hutchings](http://typicons.com) |
|||
----------------------- |
|||
|
|||
### Info |
|||
* Icon Pack: Typicons (http://typicons.com) |
|||
* Designer: Stephen Hutchings (and more) |
|||
* License: MIT |
|||
* Site: [https://github.com/stephenhutchings/typicons.font](https://github.com/stephenhutchings/typicons.font) |
|||
|
|||
### Assets Used |
|||
src/qt/res/icons/add.png, src/qt/res/icons/address-book.png, |
|||
src/qt/res/icons/configure.png, src/qt/res/icons/connect4.png, |
|||
src/qt/res/icons/debugwindow.png, src/qt/res/icons/edit.png, |
|||
src/qt/res/icons/exitcopy.png, src/qt/res/icons/editpaste.png, |
|||
src/qt/res/icons/export.png, src/qt/res/icons/eye.png, |
|||
src/qt/res/icons/filesave.png, src/qt/res/icons/history.png, |
|||
src/qt/res/icons/info.png, src/qt/res/icons/key.png, |
|||
src/qt/res/icons/lock_*.png, src/qt/res/icons/open.png, |
|||
src/qt/res/icons/overview.png, src/qt/res/icons/quit.png, |
|||
src/qt/res/icons/receive.png, src/qt/res/icons/remove.png, |
|||
src/qt/res/icons/send.png, src/qt/res/icons/synced.png, |
|||
src/qt/res/icons/transaction*.png, src/qt/res/icons/tx_output.png, |
|||
src/qt/res/icons/warning.png |
|||
|
|||
Jonas Schnelli |
|||
----------------------- |
|||
|
|||
### Info |
|||
* Designer: Jonas Schnelli |
|||
* Bitcoin Icon: (based on the original bitcoin logo from Bitboy) |
|||
* Some icons are based on Stephan Hutchings Typicons |
|||
* License: MIT |
|||
|
|||
### Assets Used |
|||
src/qt/res/icons/about.png, src/qt/res/icons/about_qt.png, |
|||
src/qt/res/icons/bitcoin.icns, src/qt/res/icons/bitcoin.ico, |
|||
src/qt/res/icons/bitcoin.png, src/qt/res/icons/clock*.png, |
|||
src/qt/res/icons/connect[0-3].png, src/qt/res/icons/eye_minus.png, |
|||
src/qt/res/icons/eye_plus.png, src/qt/res/icons/verify.png, |
|||
src/qt/res/icons/tx_inout.png, src/qt/res/icons/tx_input.png, |
|||
src/qt/res/src/verify.svg, src/qt/res/src/bitcoin.svg, |
|||
src/qt/res/src/clock*.svg, src/qt/res/src/connect*.svg, |
|||
src/qt/res/src/mine.svg, src/qt/res/src/qt.svg, src/qt/res/src/tx*.svg, |
|||
src/qt/res/src/verify.svg, |
@ -1,50 +0,0 @@ |
|||
*** Warning: This document has not been updated for Zcash and may be inaccurate. *** |
|||
|
|||
Multiwallet Qt Development and Integration Strategy |
|||
=================================================== |
|||
|
|||
In order to support loading of multiple wallets in bitcoin-qt, a few changes in the UI architecture will be needed. |
|||
Fortunately, only four of the files in the existing project are affected by this change. |
|||
|
|||
Two new classes have been implemented in two new .h/.cpp file pairs, with much of the functionality that was previously |
|||
implemented in the BitcoinGUI class moved over to these new classes. |
|||
|
|||
The two existing files most affected, by far, are bitcoingui.h and bitcoingui.cpp, as the BitcoinGUI class will require |
|||
some major retrofitting. |
|||
|
|||
Only requiring some minor changes is bitcoin.cpp. |
|||
|
|||
Finally, two new headers and source files will have to be added to bitcoin-qt.pro. |
|||
|
|||
Changes to class BitcoinGUI |
|||
--------------------------- |
|||
The principal change to the BitcoinGUI class concerns the QStackedWidget instance called centralWidget. |
|||
This widget owns five page views: overviewPage, transactionsPage, addressBookPage, receiveCoinsPage, and sendCoinsPage. |
|||
|
|||
A new class called *WalletView* inheriting from QStackedWidget has been written to handle all renderings and updates of |
|||
these page views. In addition to owning these five page views, a WalletView also has a pointer to a WalletModel instance. |
|||
This allows the construction of multiple WalletView objects, each rendering a distinct wallet. |
|||
|
|||
A second class called *WalletFrame* inheriting from QFrame has been written as a container for embedding all wallet-related |
|||
controls into BitcoinGUI. At present it contains the WalletView instances for the wallets and does little more than passing on messages |
|||
from BitcoinGUI to the currently selected WalletView. It is a WalletFrame instance |
|||
that takes the place of what used to be centralWidget in BitcoinGUI. The purpose of this class is to allow future |
|||
refinements of the wallet controls with minimal need for further modifications to BitcoinGUI, thus greatly simplifying |
|||
merges while reducing the risk of breaking top-level stuff. |
|||
|
|||
Changes to bitcoin.cpp |
|||
---------------------- |
|||
bitcoin.cpp is the entry point into bitcoin-qt, and as such, will require some minor modifications to provide hooks for |
|||
multiple wallet support. Most importantly will be the way it instantiates WalletModels and passes them to the |
|||
singleton BitcoinGUI instance called window. Formerly, BitcoinGUI kept a pointer to a single instance of a WalletModel. |
|||
The initial change required is very simple: rather than calling `window.setWalletModel(&walletModel);` we perform the |
|||
following two steps: |
|||
|
|||
window.addWallet("~Default", &walletModel); |
|||
window.setCurrentWallet("~Default"); |
|||
|
|||
The string parameter is just an arbitrary name given to the default wallet. It's been prepended with a tilde to avoid name collisions in the future with additional wallets. |
|||
|
|||
The shutdown call `window.setWalletModel(0)` has also been removed. In its place is now: |
|||
|
|||
window.removeAllWallets(); |
@ -1,106 +0,0 @@ |
|||
<?xml version="1.0" encoding="UTF-8"?> |
|||
<!DOCTYPE plist SYSTEM "file://localhost/System/Library/DTDs/PropertyList.dtd"> |
|||
<plist version="0.9"> |
|||
<dict> |
|||
<key>LSMinimumSystemVersion</key> |
|||
<string>10.7.0</string> |
|||
|
|||
<key>LSArchitecturePriority</key> |
|||
<array> |
|||
<string>x86_64</string> |
|||
</array> |
|||
|
|||
<key>CFBundleIconFile</key> |
|||
<string>bitcoin.icns</string> |
|||
|
|||
<key>CFBundlePackageType</key> |
|||
<string>APPL</string> |
|||
|
|||
<key>CFBundleGetInfoString</key> |
|||
<string>@CLIENT_VERSION_MAJOR@.@CLIENT_VERSION_MINOR@.@CLIENT_VERSION_REVISION@, Copyright © 2009-@COPYRIGHT_YEAR@ The Bitcoin Core developers</string> |
|||
|
|||
<key>CFBundleShortVersionString</key> |
|||
<string>@CLIENT_VERSION_MAJOR@.@CLIENT_VERSION_MINOR@.@CLIENT_VERSION_REVISION@</string> |
|||
|
|||
<key>CFBundleVersion</key> |
|||
<string>@CLIENT_VERSION_MAJOR@.@CLIENT_VERSION_MINOR@.@CLIENT_VERSION_REVISION@</string> |
|||
|
|||
<key>CFBundleSignature</key> |
|||
<string>????</string> |
|||
|
|||
<key>CFBundleExecutable</key> |
|||
<string>Bitcoin-Qt</string> |
|||
|
|||
<key>CFBundleName</key> |
|||
<string>Bitcoin-Qt</string> |
|||
|
|||
<key>LSHasLocalizedDisplayName</key> |
|||
<true/> |
|||
|
|||
<key>CFBundleIdentifier</key> |
|||
<string>org.bitcoinfoundation.Bitcoin-Qt</string> |
|||
|
|||
<key>CFBundleURLTypes</key> |
|||
<array> |
|||
<dict> |
|||
<key>CFBundleTypeRole</key> |
|||
<string>Editor</string> |
|||
<key>CFBundleURLName</key> |
|||
<string>org.bitcoin.BitcoinPayment</string> |
|||
<key>CFBundleURLSchemes</key> |
|||
<array> |
|||
<string>bitcoin</string> |
|||
</array> |
|||
</dict> |
|||
</array> |
|||
|
|||
<key>UTExportedTypeDeclarations</key> |
|||
<array> |
|||
<dict> |
|||
<key>UTTypeIdentifier</key> |
|||
<string>org.bitcoin.paymentrequest</string> |
|||
<key>UTTypeDescription</key> |
|||
<string>Bitcoin payment request</string> |
|||
<key>UTTypeConformsTo</key> |
|||
<array> |
|||
<string>public.data</string> |
|||
</array> |
|||
<key>UTTypeTagSpecification</key> |
|||
<dict> |
|||
<key>public.mime-type</key> |
|||
<string>application/x-bitcoin-payment-request</string> |
|||
<key>public.filename-extension</key> |
|||
<array> |
|||
<string>bitcoinpaymentrequest</string> |
|||
</array> |
|||
</dict> |
|||
</dict> |
|||
</array> |
|||
|
|||
<key>CFBundleDocumentTypes</key> |
|||
<array> |
|||
<dict> |
|||
<key>CFBundleTypeRole</key> |
|||
<string>Editor</string> |
|||
<key>LSItemContentTypes</key> |
|||
<array> |
|||
<string>org.bitcoin.paymentrequest</string> |
|||
</array> |
|||
<key>LSHandlerRank</key> |
|||
<string>Owner</string> |
|||
</dict> |
|||
</array> |
|||
|
|||
<key>NSPrincipalClass</key> |
|||
<string>NSApplication</string> |
|||
|
|||
<key>NSHighResolutionCapable</key> |
|||
<string>True</string> |
|||
|
|||
<key>LSAppNapIsDisabled</key> |
|||
<string>True</string> |
|||
|
|||
<key>LSApplicationCategoryType</key> |
|||
<string>public.app-category.finance</string> |
|||
</dict> |
|||
</plist> |
@ -1,78 +0,0 @@ |
|||
#!/usr/bin/python |
|||
''' |
|||
Extract _("...") strings for translation and convert to Qt4 stringdefs so that |
|||
they can be picked up by Qt linguist. |
|||
''' |
|||
from subprocess import Popen, PIPE |
|||
import glob |
|||
import operator |
|||
import os |
|||
import sys |
|||
|
|||
OUT_CPP="qt/bitcoinstrings.cpp" |
|||
EMPTY=['""'] |
|||
|
|||
def parse_po(text): |
|||
""" |
|||
Parse 'po' format produced by xgettext. |
|||
Return a list of (msgid,msgstr) tuples. |
|||
""" |
|||
messages = [] |
|||
msgid = [] |
|||
msgstr = [] |
|||
in_msgid = False |
|||
in_msgstr = False |
|||
|
|||
for line in text.split('\n'): |
|||
line = line.rstrip('\r') |
|||
if line.startswith('msgid '): |
|||
if in_msgstr: |
|||
messages.append((msgid, msgstr)) |
|||
in_msgstr = False |
|||
# message start |
|||
in_msgid = True |
|||
|
|||
msgid = [line[6:]] |
|||
elif line.startswith('msgstr '): |
|||
in_msgid = False |
|||
in_msgstr = True |
|||
msgstr = [line[7:]] |
|||
elif line.startswith('"'): |
|||
if in_msgid: |
|||
msgid.append(line) |
|||
if in_msgstr: |
|||
msgstr.append(line) |
|||
|
|||
if in_msgstr: |
|||
messages.append((msgid, msgstr)) |
|||
|
|||
return messages |
|||
|
|||
files = sys.argv[1:] |
|||
|
|||
# xgettext -n --keyword=_ $FILES |
|||
XGETTEXT=os.getenv('XGETTEXT', 'xgettext') |
|||
child = Popen([XGETTEXT,'--output=-','-n','--keyword=_'] + files, stdout=PIPE) |
|||
(out, err) = child.communicate() |
|||
|
|||
messages = parse_po(out) |
|||
|
|||
f = open(OUT_CPP, 'w') |
|||
f.write(""" |
|||
|
|||
#include <QtGlobal> |
|||
|
|||
// Automatically generated by extract_strings.py |
|||
#ifdef __GNUC__ |
|||
#define UNUSED __attribute__((unused)) |
|||
#else |
|||
#define UNUSED |
|||
#endif |
|||
""") |
|||
f.write('static const char UNUSED *bitcoin_strings[] = {\n') |
|||
messages.sort(key=operator.itemgetter(0)) |
|||
for (msgid, msgstr) in messages: |
|||
if msgid != EMPTY: |
|||
f.write('QT_TRANSLATE_NOOP("bitcoin-core", %s),\n' % ('\n'.join(msgid))) |
|||
f.write('};\n') |
|||
f.close() |
Before Width: | Height: | Size: 9.7 KiB |
Binary file not shown.
@ -1,38 +0,0 @@ |
|||
#!/usr/bin/env python |
|||
# W.J. van der Laan, 2011 |
|||
# Make spinning animation from a .png |
|||
# Requires imagemagick 6.7+ |
|||
from __future__ import division |
|||
from os import path |
|||
from PIL import Image |
|||
from subprocess import Popen |
|||
|
|||
SRC='img/reload.png' |
|||
TMPDIR='../../src/qt/res/movies/' |
|||
TMPNAME='spinner-%03i.png' |
|||
NUMFRAMES=35 |
|||
FRAMERATE=10.0 |
|||
CONVERT='convert' |
|||
CLOCKWISE=True |
|||
DSIZE=(16,16) |
|||
|
|||
im_src = Image.open(SRC) |
|||
|
|||
if CLOCKWISE: |
|||
im_src = im_src.transpose(Image.FLIP_LEFT_RIGHT) |
|||
|
|||
def frame_to_filename(frame): |
|||
return path.join(TMPDIR, TMPNAME % frame) |
|||
|
|||
frame_files = [] |
|||
for frame in xrange(NUMFRAMES): |
|||
rotation = (frame + 0.5) / NUMFRAMES * 360.0 |
|||
if CLOCKWISE: |
|||
rotation = -rotation |
|||
im_new = im_src.rotate(rotation, Image.BICUBIC) |
|||
im_new.thumbnail(DSIZE, Image.ANTIALIAS) |
|||
outfile = frame_to_filename(frame) |
|||
im_new.save(outfile, 'png') |
|||
frame_files.append(outfile) |
|||
|
|||
|
@ -1,9 +0,0 @@ |
|||
#!/bin/bash |
|||
# create multiresolution windows icon |
|||
ICON_SRC=../../src/qt/res/icons/bitcoin.png |
|||
ICON_DST=../../src/qt/res/icons/bitcoin.ico |
|||
convert ${ICON_SRC} -resize 16x16 bitcoin-16.png |
|||
convert ${ICON_SRC} -resize 32x32 bitcoin-32.png |
|||
convert ${ICON_SRC} -resize 48x48 bitcoin-48.png |
|||
convert bitcoin-16.png bitcoin-32.png bitcoin-48.png ${ICON_DST} |
|||
|
@ -1,35 +0,0 @@ |
|||
# Based on: http://code.google.com/p/ostinato/source/browse/protobuf.pri |
|||
# |
|||
# Qt qmake integration with Google Protocol Buffers compiler protoc |
|||
# |
|||
# To compile protocol buffers with qt qmake, specify PROTOS variable and |
|||
# include this file |
|||
# |
|||
# Example: |
|||
# PROTOS = a.proto b.proto |
|||
# include(protobuf.pri) |
|||
# |
|||
# Set PROTO_PATH if you need to set the protoc --proto_path search path |
|||
# Set PROTOC to the path to the protoc compiler if it is not in your $PATH |
|||
# |
|||
|
|||
isEmpty(PROTO_DIR):PROTO_DIR = . |
|||
isEmpty(PROTOC):PROTOC = protoc |
|||
|
|||
PROTOPATHS = |
|||
for(p, PROTO_PATH):PROTOPATHS += --proto_path=$${p} |
|||
|
|||
protobuf_decl.name = protobuf header |
|||
protobuf_decl.input = PROTOS |
|||
protobuf_decl.output = $${PROTO_DIR}/${QMAKE_FILE_BASE}.pb.h |
|||
protobuf_decl.commands = $${PROTOC} --cpp_out="$${PROTO_DIR}" $${PROTOPATHS} --proto_path=${QMAKE_FILE_IN_PATH} ${QMAKE_FILE_NAME} |
|||
protobuf_decl.variable_out = GENERATED_FILES |
|||
QMAKE_EXTRA_COMPILERS += protobuf_decl |
|||
|
|||
protobuf_impl.name = protobuf implementation |
|||
protobuf_impl.input = PROTOS |
|||
protobuf_impl.output = $${PROTO_DIR}/${QMAKE_FILE_BASE}.pb.cc |
|||
protobuf_impl.depends = $${PROTO_DIR}/${QMAKE_FILE_BASE}.pb.h |
|||
protobuf_impl.commands = $$escape_expand(\\n) |
|||
protobuf_impl.variable_out = GENERATED_SOURCES |
|||
QMAKE_EXTRA_COMPILERS += protobuf_impl |
Loading…
Reference in new issue