aboutsummaryrefslogtreecommitdiff
path: root/src/qt/bitcoin.cpp
AgeCommit message (Collapse)Author
2013-05-04Merge pull request #2577 from gavinandresen/fee_bandaidGavin Andresen
Treat dust outputs as non-standard, un-hardcode TX_FEE constants
2013-05-04Merge pull request #2606 from gavinandresen/threadfixPieter Wuille
Exit cleanly if AppInit2 returns false
2013-05-03Un-hardcode TX_FEE constantsGavin Andresen
Allow setting of MIN_TX_FEE / MIN_RELAY_TX_FEE with -mintxfee / -mintxrelayfee Default values are the same (0.0001 BTC).
2013-05-03osx: show testnet icon in dock as early as possibleJonas Schnelli
A green testnet splashscreen with a normal, orange dock icon looks strange and can confuse users. Signed-off-by: Jonas Schnelli <jonas.schnelli@include7.ch>
2013-05-02Exit cleanly if AppInit2 returns falseGavin Andresen
Bitcoin-Qt could core dump if application initialization failed in certain ways. I double-fixed this: 1) qt/bitcoin.cpp now shuts down core threads cleanly if AppInit2 returns false 2) init.cpp now exits before StartNode() if strErrors is set (no reason to StartNode if we're just going to exit immediately anyway). Tested by triggering all of the various ways AppInit2 can fail, either by passing bogus command-line arguments or just recompiling tweaked code to simulate failure. This is a partial fix for #2480
2013-04-23Merge pull request #2526 from Diapolo/Qt_miscWladimir J. van der Laan
Bitcoin-Qt: misc small changes
2013-04-18Merge pull request #2525 from laanwj/2013_04_metatypeboolWladimir J. van der Laan
qt: register metatype for bool*
2013-04-17new splash screenJonas Schnelli
why: - the current splash-screen has no referring to official images on - https://en.bitcoin.it/wiki/Promotional_graphics - the current splash screen only exists in a low res jpg - current splash screen looks dark and "hackish" - new splash screen should generate positive, "trust-emotions". - new splash screen gives the user infos about the running client. - new splash screen can handle long messages (in a lot of - languages the text is cropped in current release) - new size (x2) 400x312 - contains textual information about the client - textinfos are dynamicly written to the pixmap when -testnet is switch on, the splashscreen will show the bitcoin logo in testnet-color (as well as a text [testnet]) example: https://dl.dropbox.com/u/7383846/new_bitcoin_splash.png
2013-04-14bitcoin: use static QApplication:: instead of app.Philip Kaufmann
2013-04-14qt: register metatype for bool*Wladimir J. van der Laan
This allows the bool* type to be passed between threads. Should solve issue #2402.
2013-04-03Have Qt poll for shutdown requested, the QT way.Gavin Andresen
2013-04-03Clean up shutdown processGavin Andresen
2013-04-03Shutdown cleanup prep-workGavin Andresen
Create a boost::thread_group object at the qt/bitcoind main-loop level that will hold pointers to all the main-loop threads. This will replace the vnThreadsRunning[] array. For testing, ported the BitcoinMiner threads to use its own boost::thread_group.
2013-04-02Bitcoin-Qt: only use qApp for Q(Core)Application::instance()Philip Kaufmann
2013-03-22Minimal architectural changes necessary to support multiple wallets in ↵Eric Lombrozo
bitcoin-qt - This commit is a minimal restructuring necessary to support multiple wallets in the UI. Please see multiwallet-qt.txt for details.
2013-03-17Bitcoin-Qt: massive header and cpp cleanupPhilip Kaufmann
- try to enforce the same style to all Qt related files - remove unneeded includes from the files - add missing Q_OBJECT, QT_BEGIN_NAMESPACE / QT_END_NAMESPACE - prepares for a pull-req to include Qt5 compatibility
2013-02-23Merge pull request #2299 from gavinandresen/localsocketuriWladimir J. van der Laan
Reimplement click-to-pay. Support OSX.
2013-02-17Improve block database load error reportingPieter Wuille
2013-02-12Reimplement click-to-pay links. Add OSX support.Gavin Andresen
Switch to using Qt's QLocalServer/QLocalSocket to handle bitcoin payment links (bitcoin:... URIs) Reason for switch: the boost::interprocess mechanism seemed flaky, and doesn't mesh as well with "The Qt Way" qtipcserver.cpp/h is replaced by paymentserver.cpp/h Click-to-pay now also works on OSX, with a custom Info.plist that registers Bitcoin-Qt as a handler for bitcoin: URLs and an event listener on the main QApplication that handles QFileOpenEvents (Qt translates 'url clicked' AppleEvents into QFileOpenEvents automagically).
2013-01-11add InitMessage() to noui and use debug.log for GUIPhilip Kaufmann
- this pull adds an InitMessage() function to noui.cpp, which outputs init messages to debug.log (this allows to remove some printf() calls from init.cpp) - change InitMessage() in bitcoin.cpp to also write init messages to debug.log to ensure nothting is missing in the log because of the removal of printf() calls in init.cpp
2013-01-06Bitcoin-Qt: give testnet a unique IPC message queue namePhilip Kaufmann
- this prevents an interference with the IPC message queue (which is used for URI processing) when running a testnet and mainnet instance in parallel - to check for testnet, I had to raise the ParseParameters() call in main() to the topmost position
2012-12-04rework ThreadSafeAskFee() / askFee() functionsPhilip Kaufmann
- remove unused parameter from ThreadSafeAskFee(), which also results in the removal of an orphan translation-string
2012-12-03Bitcoin-Qt: remove obsolete modal flag from GUI APIsPhilip Kaufmann
- as we (can) supply the CClientUIInterface::MODAL flag via the style parameter, we don't need a separate bool for checking the modality
2012-11-26update CClientUIInterface and remove orphan Wx stuffPhilip Kaufmann
- fix ThreadSafeMessageBox always displays error icon - allow to specify MSG_ERROR / MSG_WARNING or MSG_INFORMATION without a custom caption / title - allow to specify CClientUIInterface::ICON_ERROR / ICON_WARNING and ICON_INFORMATION (which is default) as message box icon - remove CClientUIInterface::OK from ThreadSafeMessageBox-calls, as the OK button will be set as default, if none is specified - prepend "Bitcoin - " to used captions - rename BitcoinGUI::error() -> BitcoinGUI::message() and add function documentation - change all style parameters and enum flags to unsigned - update code to use that new API - update Client- and WalletModel to use new BitcoinGUI::message() and rename the classes error() method into message() - include the possibility to supply the wanted icon for messages from Client- and WalletModel via "style" parameter
2012-10-04When datadir missing, show messagebox instead of printing error to stderrWladimir J. van der Laan
2012-08-24Abstract all IPC communication to qtipcserverLuke Dashjr
2012-08-01Bugfix: Correct English grammar regarding "'s"Luke Dashjr
2012-08-01Bugfix: Fix a variety of misspellingsLuke Dashjr
2012-07-23Fix Typofanquake
2012-07-17IPC-server hardening and updatePhilip Kaufmann
- add IMPLEMENT_RANDOMIZE_STACK for ipcThread() - log / print boost interprocess exceptions - use MAX_URI_LENGTH in guiconstants.h (also used in qrcodedialog.cpp) - remove unneeded includes and ipcShutdown() from qtipcserver.cpp - fix a small mem-leak by deleting mq before re-using it - make ipcThread() and ipcThread2() static functions - add some more comments
2012-07-09Fix Qt build on OSXGavin Andresen
Compiling boost::interprocess::message_queue against boost 1.50 macports with -arch i386 (how releases are built, for minimum download size and maximum compatibility) is failing: src/qt/qtipcserver.cpp:37: error: no matching function for call to ‘boost::interprocess::message_queue_t<boost::interprocess::offset_ptr<void, int, long unsigned int, 0u> >::timed_receive(char (*)[257], long unsigned int, size_t&, unsigned int&, boost::posix_time::ptime&)’ This is probably a boost or macports bug, but since interprocess::message_queue is only used for URI support, which isn't implemented on OSX anyway, I fixed the build by #ifdef'ing out that code.
2012-07-05Merge branch 'uri' of https://github.com/TheBlueMatt/bitcoinGavin Andresen
2012-06-15Revert "Disable bitcoin: URI handling on Windows for the 0.6 release"Matt Corallo
This reverts commit 7b90edb5a6cada7176012d09d748847b5f966585.
2012-06-14Show command line options as dialog when opened from debug windowWladimir J. van der Laan
On Linux/Mac the command-line options were printed to stderr when the button was pressed in the debug window, resulting in confusion. This is fixed in this commit by adding a separate method.
2012-06-12introduce a new StartShutdown() function, which starts a thread with ↵Philip Kaufmann
Shutdown() if no GUI is used and calls uiInterface.QueueShutdown() if a GUI is used / all direct uiInterface.QueueShutdown() calls are replaced with Shutdown() - this ensures a clean GUI shutdown, even when catching a SIGTERM and allows the BitcoinGUI destructor to get called (which fixes a tray-icon issue and keeps the tray-icon until Bitcoin-Qt exits)
2012-06-01move class HelpMessageBox to guiutil.cpp/.h / add button to show Bitcoin ↵Philip Kaufmann
command-line options (in RPC Console -> Information) / resize Debug window a little to allow for a non-breaking display of the welcome message with non-english translation
2012-05-20Merge pull request #1363 from Diapolo/remove_strncasecmpPieter Wuille
remove strncasecmp() + strnicmp() calls use boost::algorithm::istarts_with()
2012-05-20Make testcases build, prevent windows symbol collisionWladimir J. van der Laan
2012-05-20Convert UI interface to boost::signals2.Wladimir J. van der Laan
- Signals now go directly from the core to WalletModel/ClientModel. - WalletModel subscribes to signals on CWallet: Prepares for multi-wallet support, by no longer assuming an implicit global wallet. - Gets rid of noui.cpp, the few lines that were left are merged into init.cpp - Rename wxXXX message flags to MF_XXX, to make them UI indifferent. - ThreadSafeMessageBox no longer returns the value `4` which was never used, converted to void.
2012-05-20Fine-grained UI updatesWladimir J. van der Laan
Gets rid of `MainFrameRepaint` in favor of specific update functions that tell the UI exactly what changed. This improves the efficiency of various handlers. Also fixes problems with mined transactions not showing up until restart. The following notifications were added: - `NotifyBlocksChanged`: Block chain changed - `NotifyKeyStoreStatusChanged`: Wallet status (encrypted, locked) changed. - `NotifyAddressBookChanged`: Address book entry changed. - `NotifyTransactionChanged`: Wallet transaction added, removed or updated. - `NotifyNumConnectionsChanged`: Number of connections changed. - `NotifyAlertChanged`: New, updated or cancelled alert. As this finally makes it possible for the UI to know when a new alert arrived, it can be shown as OS notification. These notifications could also be useful for RPC clients. However, currently, they are ignored in bitcoind (in noui.cpp). Also brings back polling with timer for numBlocks in ClientModel. This value updates so frequently during initial download that the number of signals clogs the UI thread and causes heavy CPU usage. And after initial block download, the value changes so rarely that a delay of half a second until the UI updates is unnoticable.
2012-05-20remove strncasecmp() + strnicmp() calls and replace that code via ↵Philip Kaufmann
boost::algorithm::istarts_with() / do not call ipcInit() on Mac and Windows as this is unneeded currently
2012-05-17Revert "use _strnicmp (ISO C++) instead of deprecated strnicmp (POSIX) and ↵Jeff Garzik
add missing "#define strncasecmp _strnicmp" in init.cpp" This reverts commit f4ac41806af5766199a7d526a7becbcb8a0f5ab3. Reason: breaks build.
2012-05-17use _strnicmp (ISO C++) instead of deprecated strnicmp (POSIX) and add ↵Philip Kaufmann
missing "#define strncasecmp _strnicmp" in init.cpp
2012-05-17allow translation of "options" used in the --help message / split ↵Philip Kaufmann
translation of RPC console welcome message and remove the need to take care of "<br>" / remove some spaces in strings and misc other stuff related to translations
2012-05-16Add missing Q_OBJECT in bitcoin.cppWladimir J. van der Laan
Fixes translating HelpMessageBox strings.
2012-05-13Move help message out of AppInit2Wladimir J. van der Laan
- Solves #1278, attempts to address #1049 - Removes \t's from help message that are removed afterwards anyway - Moves UI-specific command-line options help to UI code - Moves "-detachdb" out of #ifdef USE_UPNP
2012-05-13Move GetStartOnSystemStartup and SetStartOnSystemStartup to GUI codeWladimir J. van der Laan
2012-05-10Merge pull request #1090 from laanwj/2012_04_wraptooltipsWladimir J. van der Laan
Allow Qt to wrap long tooltips (fixes #1063)
2012-05-06Hide UI immediately after leaving the main loop.Wladimir J. van der Laan
Prevents it from seeming to hang during shutdown if shutdown is triggered while the window is open.
2012-05-05Allow Qt to wrap long tooltips (fixes #1063)Wladimir J. van der Laan
Implemented without having to touch any translation: by listening for QEvent::ToolTipChange events, then rewriting the tooltips to prefix `<qt/>` if it is not yet rich text.