@@ -57,6 +57,9 @@ const int INITIAL_TRAFFIC_GRAPH_MINS = 30;
5757const QSize FONT_RANGE (4 , 40 );
5858const char fontSizeSettingsKey[] = " consoleFontSize" ;
5959
60+ const std::string DEFAULT_CHALLENGE_STRING =
61+ " 512103AD5E0EDAD18CB1F0FC0D28A3D4F1F3E445640337489ABB10404F2D1E086BE430210359EF5021964FE22D6F8E05B2463C9540CE96883FE3B278760F048F5189F2E6C452AE" ;
62+
6063const struct {
6164 const char *url;
6265 const char *source;
@@ -717,24 +720,39 @@ void RPCConsole::setClientModel(ClientModel *model, int bestblock_height, int64_
717720 ui->blocksDir ->setText (model->blocksDir ());
718721 ui->startupTime ->setText (model->formatClientStartupTime ());
719722 ui->networkName ->setText (QString::fromStdString (Params ().GetChainTypeString ()));
723+ ui->networkName ->setWordWrap (true );
720724
721725 if (Params ().GetChainTypeString () == " signet" ) {
722726 std::vector<uint8_t > vChallenge = Params ().GetConsensus ().signet_challenge ;
723- std::string challengeString = challengeToString (vChallenge);
724- std::string challenge_start = challengeString.substr (0 , 8 );
725- std::string challenge_end = challengeString.substr (challengeString.length () - 8 );
726-
727- ui->networkName ->setText (
728- tr (" Signet: (%1...%2)" ).arg (
729- QString::fromStdString (challenge_start),
730- QString::fromStdString (challenge_end)
731- )
732- );
733-
734- const QString title = tr (" Node window - [signet] (%1)" ).arg (
735- QString::fromStdString (challenge_start)
736- );
737- this ->setWindowTitle (title);
727+ std::string challengeString = ChallengeToStdString (vChallenge);
728+
729+ if (challengeString != DEFAULT_CHALLENGE_STRING) {
730+ if (challengeString.length () > 16 ) { // a sane minimum
731+ std::string challenge_fingerprint = challengeString.substr (0 , 8 );
732+ const QString title = tr (" Node window - [signet] (%1)" ).arg (QString::fromStdString (challenge_fingerprint));
733+ // display fingerprint in Node window title
734+ this ->setWindowTitle (title);
735+ } else {
736+ // A trivial challenge is supported. Example: signetchallenge=51
737+ std::string challenge_fingerprint = challengeString.substr (0 , challengeString.length ());
738+ const QString title = tr (" Node window - [signet] (%1)" ).arg (QString::fromStdString (challenge_fingerprint));
739+ // display fingerprint in Node window title
740+ this ->setWindowTitle (title);
741+ }
742+ if (challengeString.length () > (size_t )ui->networkName ->width ()) {
743+ challengeString.insert (0 , " \n " ); // break after Signet:
744+ challengeString.insert (65 , " \n " ); // then split at (130/2)
745+ }
746+ ui->networkName ->setToolTip (
747+ tr (" %1" ).arg (QString::fromStdString (challengeString)));
748+ ui->networkName ->setText (
749+ tr (" %1\n Challenge: %2" ).arg (" Signet" ).arg (QString::fromStdString (challengeString)));
750+
751+ } else {
752+ ui->networkName ->setText (tr (" Signet: Default" ));
753+ ui->networkName ->setToolTip (QString ());
754+ this ->setWindowTitle (tr (" [signet] Default" ));
755+ }
738756 }
739757
740758 // Setup autocomplete and attach it
0 commit comments