aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWladimir J. van der Laan <laanwj@gmail.com>2012-06-14 15:06:23 +0200
committerWladimir J. van der Laan <laanwj@gmail.com>2012-06-14 15:14:01 +0200
commit7d72a8c36a872113583e6db85707a8f17f3d3927 (patch)
tree4a3554bbfed127b72420c4fbeea916837957a4bf
parentd59bce21e5dbb0a15051e40d5dd717fd7bf982d8 (diff)
downloadbitcoin-7d72a8c36a872113583e6db85707a8f17f3d3927.tar.xz
Show command line options as dialog when opened from debug window
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.
-rw-r--r--src/qt/bitcoin.cpp2
-rw-r--r--src/qt/guiutil.cpp16
-rw-r--r--src/qt/guiutil.h6
3 files changed, 17 insertions, 7 deletions
diff --git a/src/qt/bitcoin.cpp b/src/qt/bitcoin.cpp
index 8c8c73f065..b4e751077e 100644
--- a/src/qt/bitcoin.cpp
+++ b/src/qt/bitcoin.cpp
@@ -212,7 +212,7 @@ int main(int argc, char *argv[])
if (mapArgs.count("-?") || mapArgs.count("--help"))
{
GUIUtil::HelpMessageBox help;
- help.exec();
+ help.showOrPrint();
return 1;
}
diff --git a/src/qt/guiutil.cpp b/src/qt/guiutil.cpp
index a8c2328853..50ed2eed04 100644
--- a/src/qt/guiutil.cpp
+++ b/src/qt/guiutil.cpp
@@ -441,15 +441,21 @@ HelpMessageBox::HelpMessageBox(QWidget *parent) :
setDetailedText(coreOptions + "\n" + uiOptions);
}
-void HelpMessageBox::exec()
+void HelpMessageBox::printToConsole()
{
-#if defined(WIN32)
- // On windows, show a message box, as there is no stderr in windowed applications
- QMessageBox::exec();
-#else
// On other operating systems, the expected action is to print the message to the console.
QString strUsage = header + "\n" + coreOptions + "\n" + uiOptions;
fprintf(stderr, "%s", strUsage.toStdString().c_str());
+}
+
+void HelpMessageBox::showOrPrint()
+{
+#if defined(WIN32)
+ // On windows, show a message box, as there is no stderr/stdout in windowed applications
+ exec();
+#else
+ // On other operating systems, print help text to console
+ printToConsole();
#endif
}
diff --git a/src/qt/guiutil.h b/src/qt/guiutil.h
index ca06348519..0240695505 100644
--- a/src/qt/guiutil.h
+++ b/src/qt/guiutil.h
@@ -103,7 +103,11 @@ namespace GUIUtil
public:
HelpMessageBox(QWidget *parent = 0);
- void exec();
+ /** Show message box or print help message to standard output, based on operating system. */
+ void showOrPrint();
+
+ /** Print help message to console */
+ void printToConsole();
private:
QString header;