@@ -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,38 @@ 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 = HexStr (vChallenge);
728+             if  (challengeString != DEFAULT_CHALLENGE_STRING) {
729+                 LogDebug (BCLog::QT, " rpcconsole:challengeString=%s\n " 
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+             } else  {
751+                 ui->networkName ->setText (tr (" Signet: Default" 
752+                 ui->networkName ->setToolTip (QString ());
753+                 this ->setWindowTitle (tr (" [signet] Default" 
754+             }
738755        }
739756
740757        // Setup autocomplete and attach it
0 commit comments