@@ -57,6 +57,9 @@ const int INITIAL_TRAFFIC_GRAPH_MINS = 30;
57
57
const QSize FONT_RANGE (4 , 40 );
58
58
const char fontSizeSettingsKey[] = " consoleFontSize" ;
59
59
60
+ const std::string DEFAULT_CHALLENGE_STRING =
61
+ " 512103AD5E0EDAD18CB1F0FC0D28A3D4F1F3E445640337489ABB10404F2D1E086BE430210359EF5021964FE22D6F8E05B2463C9540CE96883FE3B278760F048F5189F2E6C452AE" ;
62
+
60
63
const struct {
61
64
const char *url;
62
65
const char *source;
@@ -733,24 +736,39 @@ void RPCConsole::setClientModel(ClientModel *model, int bestblock_height, int64_
733
736
ui->blocksDir ->setText (model->blocksDir ());
734
737
ui->startupTime ->setText (model->formatClientStartupTime ());
735
738
ui->networkName ->setText (QString::fromStdString (Params ().GetChainTypeString ()));
739
+ ui->networkName ->setWordWrap (true );
736
740
737
741
if (Params ().GetChainTypeString () == " signet" ) {
738
742
std::vector<uint8_t > vChallenge = Params ().GetConsensus ().signet_challenge ;
739
- std::string challengeString = challengeToString (vChallenge);
740
- std::string challenge_start = challengeString.substr (0 , 8 );
741
- std::string challenge_end = challengeString.substr (challengeString.length () - 8 );
742
-
743
- ui->networkName ->setText (
744
- tr (" Signet: (%1...%2)" ).arg (
745
- QString::fromStdString (challenge_start),
746
- QString::fromStdString (challenge_end)
747
- )
748
- );
749
-
750
- const QString title = tr (" Node window - [signet] (%1)" ).arg (
751
- QString::fromStdString (challenge_start)
752
- );
753
- this ->setWindowTitle (title);
743
+ std::string challengeString = ChallengeToStdString (vChallenge);
744
+
745
+ if (challengeString != DEFAULT_CHALLENGE_STRING) {
746
+ if (challengeString.length () > 16 ) { // a sane minimum
747
+ std::string challenge_fingerprint = challengeString.substr (0 , 8 );
748
+ const QString title = tr (" Node window - [signet] (%1)" ).arg (QString::fromStdString (challenge_fingerprint));
749
+ // display fingerprint in Node window title
750
+ this ->setWindowTitle (title);
751
+ } else {
752
+ // A trivial challenge is supported. Example: signetchallenge=51
753
+ std::string challenge_fingerprint = challengeString.substr (0 , challengeString.length ());
754
+ const QString title = tr (" Node window - [signet] (%1)" ).arg (QString::fromStdString (challenge_fingerprint));
755
+ // display fingerprint in Node window title
756
+ this ->setWindowTitle (title);
757
+ }
758
+ if (challengeString.length () > (size_t )ui->networkName ->width ()) {
759
+ challengeString.insert (0 , " \n " ); // break after Signet:
760
+ challengeString.insert (65 , " \n " ); // then split at (130/2)
761
+ }
762
+ ui->networkName ->setToolTip (
763
+ tr (" %1" ).arg (QString::fromStdString (challengeString)));
764
+ ui->networkName ->setText (
765
+ tr (" %1\n Challenge: %2" ).arg (" Signet" ).arg (QString::fromStdString (challengeString)));
766
+
767
+ } else {
768
+ ui->networkName ->setText (tr (" Signet: Default" ));
769
+ ui->networkName ->setToolTip (QString ());
770
+ this ->setWindowTitle (tr (" [signet] Default" ));
771
+ }
754
772
}
755
773
756
774
// Setup autocomplete and attach it
0 commit comments