@@ -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;
@@ -733,24 +736,39 @@ void RPCConsole::setClientModel(ClientModel *model, int bestblock_height, int64_
733736 ui->blocksDir ->setText (model->blocksDir ());
734737 ui->startupTime ->setText (model->formatClientStartupTime ());
735738 ui->networkName ->setText (QString::fromStdString (Params ().GetChainTypeString ()));
739+ ui->networkName ->setWordWrap (true );
736740
737741 if (Params ().GetChainTypeString () == " signet" ) {
738742 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+ }
754772 }
755773
756774 // Setup autocomplete and attach it
0 commit comments