# HG changeset patch # User koda # Date 1329497039 -3600 # Node ID 83dd3447a212bb7f5186307aec7e7a62585083ac # Parent 804e9076d136d36042b783a451d0d005127f27a2 exploit the new setWhatsThis feature in our desktop frontend diff -r 804e9076d136 -r 83dd3447a212 QTfrontend/ui/page/AbstractPage.cpp --- a/QTfrontend/ui/page/AbstractPage.cpp Fri Feb 17 15:55:31 2012 +0100 +++ b/QTfrontend/ui/page/AbstractPage.cpp Fri Feb 17 17:43:59 2012 +0100 @@ -48,6 +48,7 @@ // add back/exit button btnBack = formattedButton(":/res/Exit.png", true); + btnBack->setWhatsThis(tr("Go back")); pageLayout->addWidget(btnBack, 1, 0, 1, 1, Qt::AlignLeft | Qt::AlignBottom); // add body layout as defined by the subclass diff -r 804e9076d136 -r 83dd3447a212 QTfrontend/ui/page/pageinfo.cpp --- a/QTfrontend/ui/page/pageinfo.cpp Fri Feb 17 15:55:31 2012 +0100 +++ b/QTfrontend/ui/page/pageinfo.cpp Fri Feb 17 17:43:59 2012 +0100 @@ -41,6 +41,7 @@ { QHBoxLayout * bottomLayout = new QHBoxLayout(); BtnSnapshots = addButton(":/res/Star.png", bottomLayout, 0, true); + BtnSnapshots->setWhatsThis(tr("Open the snapshot folder")); bottomLayout->setAlignment(BtnSnapshots, Qt::AlignRight | Qt::AlignVCenter); return bottomLayout; } diff -r 804e9076d136 -r 83dd3447a212 QTfrontend/ui/page/pagemain.cpp --- a/QTfrontend/ui/page/pagemain.cpp Fri Feb 17 15:55:31 2012 +0100 +++ b/QTfrontend/ui/page/pagemain.cpp Fri Feb 17 17:43:59 2012 +0100 @@ -84,7 +84,10 @@ bottomLayout->addWidget(mainNote, 0); bottomLayout->setStretch(0,1); + btnBack->setWhatsThis(tr("Exit game")); + BtnSetup = addButton(":/res/Settings.png", bottomLayout, 1, true); + BtnSetup->setWhatsThis(tr("Edit game preferences")); return bottomLayout; } diff -r 804e9076d136 -r 83dd3447a212 QTfrontend/ui/page/pagenettype.cpp --- a/QTfrontend/ui/page/pagenettype.cpp Fri Feb 17 15:55:31 2012 +0100 +++ b/QTfrontend/ui/page/pagenettype.cpp Fri Feb 17 17:43:59 2012 +0100 @@ -33,7 +33,9 @@ pageLayout->setColumnStretch(3, 10); BtnLAN = addButton(tr("LAN game"), pageLayout, 1, 2); + BtnLAN->setWhatsThis(tr("Hoin or host your own game server in a Local Area Network.")); BtnOfficialServer = addButton(tr("Official server"), pageLayout, 2, 2); + BtnOfficialServer->setWhatsThis(tr("Join hundreds of players online!")); // hack: temporary deactivated - requires server modifications that aren't backward compatible (yet) //BtnOfficialServer->setEnabled(false); diff -r 804e9076d136 -r 83dd3447a212 QTfrontend/ui/page/pageoptions.cpp --- a/QTfrontend/ui/page/pageoptions.cpp Fri Feb 17 15:55:31 2012 +0100 +++ b/QTfrontend/ui/page/pageoptions.cpp Fri Feb 17 17:43:59 2012 +0100 @@ -123,21 +123,21 @@ WeaponsLayout->addWidget(SchemesName, 1, 1); SchemeNew = new QPushButton(groupWeapons); - SchemeNew->setToolTip(tr("New scheme")); + SchemeNew->setWhatsThis(tr("New scheme")); SchemeNew->setIconSize(pmNew.size()); SchemeNew->setIcon(pmNew); SchemeNew->setMaximumWidth(pmNew.width() + 6); WeaponsLayout->addWidget(SchemeNew, 1, 2); SchemeEdit = new QPushButton(groupWeapons); - SchemeEdit->setToolTip(tr("Edit scheme")); + SchemeEdit->setWhatsThis(tr("Edit scheme")); SchemeEdit->setIconSize(pmEdit.size()); SchemeEdit->setIcon(pmEdit); SchemeEdit->setMaximumWidth(pmEdit.width() + 6); WeaponsLayout->addWidget(SchemeEdit, 1, 3); SchemeDelete = new QPushButton(groupWeapons); - SchemeDelete->setToolTip(tr("Delete scheme")); + SchemeDelete->setWhatsThis(tr("Delete scheme")); SchemeDelete->setIconSize(pmDelete.size()); SchemeDelete->setIcon(pmDelete); SchemeDelete->setMaximumWidth(pmDelete.width() + 6); @@ -151,21 +151,21 @@ WeaponsLayout->addWidget(WeaponsName, 2, 1); WeaponNew = new QPushButton(groupWeapons); - WeaponNew->setToolTip(tr("New weapon set")); + WeaponNew->setWhatsThis(tr("New weapon set")); WeaponNew->setIconSize(pmNew.size()); WeaponNew->setIcon(pmNew); WeaponNew->setMaximumWidth(pmNew.width() + 6); WeaponsLayout->addWidget(WeaponNew, 2, 2); WeaponEdit = new QPushButton(groupWeapons); - WeaponEdit->setToolTip(tr("Edit weapon set")); + WeaponEdit->setWhatsThis(tr("Edit weapon set")); WeaponEdit->setIconSize(pmEdit.size()); WeaponEdit->setIcon(pmEdit); WeaponEdit->setMaximumWidth(pmEdit.width() + 6); WeaponsLayout->addWidget(WeaponEdit, 2, 3); WeaponDelete = new QPushButton(groupWeapons); - WeaponDelete->setToolTip(tr("Delete weapon set")); + WeaponDelete->setWhatsThis(tr("Delete weapon set")); WeaponDelete->setIconSize(pmDelete.size()); WeaponDelete->setIcon(pmDelete); WeaponDelete->setMaximumWidth(pmDelete.width() + 6); diff -r 804e9076d136 -r 83dd3447a212 QTfrontend/ui/page/pageroomslist.cpp --- a/QTfrontend/ui/page/pageroomslist.cpp Fri Feb 17 15:55:31 2012 +0100 +++ b/QTfrontend/ui/page/pageroomslist.cpp Fri Feb 17 17:43:59 2012 +0100 @@ -306,12 +306,14 @@ if(list[i].compare("True")) { item->setIcon(QIcon(":/res/iconTime.png"));// game is in lobby - item->setToolTip(tr("This game is in lobby.\nYou may join and start playing once the game starts.")); + item->setToolTip(tr("Waiting...")); + item->setWhatsThis(tr("This game is in lobby: you may join and start playing once the game starts.")); } else { item->setIcon(QIcon(":/res/iconDamage.png"));// game has started - item->setToolTip(tr("This game is in progress.\nYou may join and spectate now but you'll have to wait for the game to end to start playing.")); + item->setToolTip(tr("In progress...")); + item->setWhatsThis(tr("This game is in progress: you may join and spectate now but you'll have to wait for the game to end to start playing.")); } roomsList->setItem(r, 0, item); @@ -319,13 +321,13 @@ item = new QTableWidgetItem(list[i + 2]); // number of clients item->setFlags(Qt::ItemIsEnabled | Qt::ItemIsSelectable); item->setTextAlignment(Qt::AlignCenter); - item->setToolTip(tr("There are %1 clients connected to this room.", "", list[i + 2].toInt()).arg(list[i + 2])); + item->setWhatsThis(tr("There are %1 clients connected to this room.", "", list[i + 2].toInt()).arg(list[i + 2])); roomsList->setItem(r, 1, item); item = new QTableWidgetItem(list[i + 3]); // number of teams item->setFlags(Qt::ItemIsEnabled | Qt::ItemIsSelectable); item->setTextAlignment(Qt::AlignCenter); - item->setToolTip(tr("There are %1 teams participating in this room.", "", list[i + 3].toInt()).arg(list[i + 3])); + item->setWhatsThis(tr("There are %1 teams participating in this room.", "", list[i + 3].toInt()).arg(list[i + 3])); //Should we highlight "full" games? Might get misinterpreted //if(list[i + 3].toInt() >= cMaxTeams) // item->setForeground(red); @@ -333,7 +335,7 @@ item = new QTableWidgetItem(list[i + 4].left(15)); // name of host item->setFlags(Qt::ItemIsEnabled | Qt::ItemIsSelectable); - item->setToolTip(tr("%1 is the host. He may adjust settings and start the game.").arg(list[i + 4])); + item->setWhatsThis(tr("%1 is the host. He may adjust settings and start the game.").arg(list[i + 4])); roomsList->setItem(r, 3, item); if(list[i + 5] == "+rnd+") @@ -368,17 +370,17 @@ } item->setFlags(Qt::ItemIsEnabled | Qt::ItemIsSelectable); - item->setToolTip(tr("Games may be played on precreated or randomized maps.")); + item->setWhatsThis(tr("Games may be played on precreated or randomized maps.")); roomsList->setItem(r, 4, item); item = new QTableWidgetItem(list[i + 6].left(24)); // selected game scheme item->setFlags(Qt::ItemIsEnabled | Qt::ItemIsSelectable); - item->setToolTip(tr("The Game Scheme defines general options and preferences like Round Time, Sudden Death or Vampirism.")); + item->setWhatsThis(tr("The Game Scheme defines general options and preferences like Round Time, Sudden Death or Vampirism.")); roomsList->setItem(r, 5, item); item = new QTableWidgetItem(list[i + 7].left(24)); // selected weapon scheme item->setFlags(Qt::ItemIsEnabled | Qt::ItemIsSelectable); - item->setToolTip(tr("The Weapon Scheme defines available weapons and their ammunition count.")); + item->setWhatsThis(tr("The Weapon Scheme defines available weapons and their ammunition count.")); roomsList->setItem(r, 6, item); if(!list[i + 1].compare(selection) && !selection.isEmpty()) diff -r 804e9076d136 -r 83dd3447a212 QTfrontend/ui/page/pagescheme.cpp --- a/QTfrontend/ui/page/pagescheme.cpp Fri Feb 17 15:55:31 2012 +0100 +++ b/QTfrontend/ui/page/pagescheme.cpp Fri Feb 17 17:43:59 2012 +0100 @@ -68,103 +68,128 @@ // Left TBW_mode_Forts = new ToggleButtonWidget(gbGameModes, ":/res/btnForts@2x.png"); - TBW_mode_Forts->setToolTip("" + ToggleButtonWidget::tr("Fort Mode") + ":
" + tr("Defend your fort and destroy the opponents, two team colours max!")); + TBW_mode_Forts->setToolTip("" + ToggleButtonWidget::tr("Fort Mode") + ""); + TBW_mode_Forts->setWhatsThis(tr("Defend your fort and destroy the opponents, two team colours max!")); glGMLayout->addWidget(TBW_mode_Forts,0,0,1,1); TBW_teamsDivide = new ToggleButtonWidget(gbGameModes, ":/res/btnTeamsDivide@2x.png"); - TBW_teamsDivide->setToolTip("" + ToggleButtonWidget::tr("Divide Teams") + ":
" + tr("Teams will start on opposite sides of the terrain, two team colours max!")); + TBW_teamsDivide->setToolTip("" + ToggleButtonWidget::tr("Divide Teams") + ""); + TBW_teamsDivide->setWhatsThis(tr("Teams will start on opposite sides of the terrain, two team colours max!")); glGMLayout->addWidget(TBW_teamsDivide,0,1,1,1); TBW_solid = new ToggleButtonWidget(gbGameModes, ":/res/btnSolid@2x.png"); - TBW_solid->setToolTip("" + ToggleButtonWidget::tr("Solid Land") + ":
" + tr("Land can not be destroyed!")); + TBW_solid->setToolTip("" + ToggleButtonWidget::tr("Solid Land") + ""); + TBW_solid->setWhatsThis(tr("Land can not be destroyed!")); glGMLayout->addWidget(TBW_solid,0,2,1,1); TBW_border = new ToggleButtonWidget(gbGameModes, ":/res/btnBorder@2x.png"); - TBW_border->setToolTip("" + ToggleButtonWidget::tr("Add Border") + ":
" + tr("Add an indestructible border around the terrain")); + TBW_border->setToolTip("" + ToggleButtonWidget::tr("Add Border") + ""); + TBW_border->setWhatsThis(tr("Add an indestructible border around the terrain")); glGMLayout->addWidget(TBW_border,0,3,1,1); TBW_lowGravity = new ToggleButtonWidget(gbGameModes, ":/res/btnLowGravity@2x.png"); - TBW_lowGravity->setToolTip("" + ToggleButtonWidget::tr("Low Gravity") + ":
" + tr("Lower gravity")); + TBW_lowGravity->setToolTip("" + ToggleButtonWidget::tr("Low Gravity") + ""); + TBW_lowGravity->setWhatsThis(tr("Lower gravity")); glGMLayout->addWidget(TBW_lowGravity,0,4,1,1); TBW_laserSight = new ToggleButtonWidget(gbGameModes, ":/res/btnLaserSight@2x.png"); - TBW_laserSight->setToolTip("" + ToggleButtonWidget::tr("Laser Sight") + ":
" + tr("Assisted aiming with laser sight")); + TBW_laserSight->setToolTip("" + ToggleButtonWidget::tr("Laser Sight") + ""); + TBW_laserSight->setWhatsThis(tr("Assisted aiming with laser sight")); glGMLayout->addWidget(TBW_laserSight,1,0,1,1); TBW_invulnerable = new ToggleButtonWidget(gbGameModes, ":/res/btnInvulnerable@2x.png"); - TBW_invulnerable->setToolTip("" + ToggleButtonWidget::tr("Invulnerable") + ":
" + tr("All hogs have a personal forcefield")); + TBW_invulnerable->setToolTip("" + ToggleButtonWidget::tr("Invulnerable") + ""); + TBW_invulnerable->setWhatsThis(tr("All hogs have a personal forcefield")); glGMLayout->addWidget(TBW_invulnerable,1,1,1,1); TBW_resethealth = new ToggleButtonWidget(gbGameModes, ":/res/btnResetHealth@2x.png"); - TBW_resethealth->setToolTip("" + ToggleButtonWidget::tr("Reset Health") + ":
" + tr("All (living) hedgehogs are fully restored at the end of turn")); + TBW_resethealth->setToolTip("" + ToggleButtonWidget::tr("Reset Health") + ""); + TBW_resethealth->setWhatsThis(tr("All (living) hedgehogs are fully restored at the end of turn")); glGMLayout->addWidget(TBW_resethealth,1,2,1,1); TBW_vampiric = new ToggleButtonWidget(gbGameModes, ":/res/btnVampiric@2x.png"); - TBW_vampiric->setToolTip("" + ToggleButtonWidget::tr("Vampirism") + ":
" + tr("Gain 80% of the damage you do back in health")); + TBW_vampiric->setToolTip("" + ToggleButtonWidget::tr("Vampirism") + ""); + TBW_vampiric->setWhatsThis(tr("Gain 80% of the damage you do back in health")); glGMLayout->addWidget(TBW_vampiric,1,3,1,1); TBW_karma = new ToggleButtonWidget(gbGameModes, ":/res/btnKarma@2x.png"); - TBW_karma->setToolTip("" + ToggleButtonWidget::tr("Karma") + ":
" + tr("Share your opponents pain, share their damage")); + TBW_karma->setToolTip("" + ToggleButtonWidget::tr("Karma") + ""); + TBW_karma->setWhatsThis(tr("Share your opponents pain, share their damage")); glGMLayout->addWidget(TBW_karma,1,4,1,1); TBW_artillery = new ToggleButtonWidget(gbGameModes, ":/res/btnArtillery@2x.png"); - TBW_artillery->setToolTip("" + ToggleButtonWidget::tr("Artillery") + ":
" + tr("Your hogs are unable to move, put your artillery skills to the test")); + TBW_artillery->setToolTip("" + ToggleButtonWidget::tr("Artillery") + ""); + TBW_artillery->setWhatsThis(tr("Your hogs are unable to move, put your artillery skills to the test")); glGMLayout->addWidget(TBW_artillery,2,0,1,1); TBW_randomorder = new ToggleButtonWidget(gbGameModes, ":/res/btnRandomOrder@2x.png"); - TBW_randomorder->setToolTip("" + ToggleButtonWidget::tr("Random Order") + ":
" + tr("Order of play is random instead of in room order.")); + TBW_randomorder->setToolTip("" + ToggleButtonWidget::tr("Random Order") + ""); + TBW_randomorder->setWhatsThis(tr("Order of play is random instead of in room order.")); glGMLayout->addWidget(TBW_randomorder,2,1,1,1); TBW_king = new ToggleButtonWidget(gbGameModes, ":/res/btnKing@2x.png"); - TBW_king->setToolTip("" + ToggleButtonWidget::tr("King") + ":
" + tr("Play with a King. If he dies, your side dies.")); + TBW_king->setToolTip("" + ToggleButtonWidget::tr("King") + ""); + TBW_king->setWhatsThis(tr("Play with a King. If he dies, your side dies.")); glGMLayout->addWidget(TBW_king,2,2,1,1); TBW_placehog = new ToggleButtonWidget(gbGameModes, ":/res/btnPlaceHog@2x.png"); - TBW_placehog->setToolTip("" + ToggleButtonWidget::tr("Place Hedgehogs") + ":
" + tr("Take turns placing your hedgehogs before the start of play.")); + TBW_placehog->setToolTip("" + ToggleButtonWidget::tr("Place Hedgehogs") + ""); + TBW_placehog->setWhatsThis(tr("Take turns placing your hedgehogs before the start of play.")); glGMLayout->addWidget(TBW_placehog,2,3,1,1); TBW_sharedammo = new ToggleButtonWidget(gbGameModes, ":/res/btnSharedAmmo@2x.png"); - TBW_sharedammo->setToolTip("" + ToggleButtonWidget::tr("Clan Shares Ammo") + ":
" + tr("Ammo is shared between all teams that share a colour.")); + TBW_sharedammo->setToolTip("" + ToggleButtonWidget::tr("Clan Shares Ammo") + ""); + TBW_sharedammo->setWhatsThis(tr("Ammo is shared between all teams that share a colour.")); glGMLayout->addWidget(TBW_sharedammo,2,4,1,1); TBW_disablegirders = new ToggleButtonWidget(gbGameModes, ":/res/btnDisableGirders@2x.png"); - TBW_disablegirders->setToolTip("" + ToggleButtonWidget::tr("Disable Girders") + ":
" + tr("Disable girders when generating random maps.")); + TBW_disablegirders->setToolTip("" + ToggleButtonWidget::tr("Disable Girders") + ""); + TBW_disablegirders->setWhatsThis(tr("Disable girders when generating random maps.")); glGMLayout->addWidget(TBW_disablegirders,3,0,1,1); TBW_disablelandobjects = new ToggleButtonWidget(gbGameModes, ":/res/btnDisableLandObjects@2x.png"); - TBW_disablelandobjects->setToolTip("" + ToggleButtonWidget::tr("Disable Land Objects") + ":
" + tr("Disable land objects when generating random maps.")); + TBW_disablelandobjects->setToolTip("" + ToggleButtonWidget::tr("Disable Land Objects") + ""); + TBW_disablelandobjects->setWhatsThis(tr("Disable land objects when generating random maps.")); glGMLayout->addWidget(TBW_disablelandobjects,3,1,1,1); TBW_aisurvival = new ToggleButtonWidget(gbGameModes, ":/res/btnAISurvival@2x.png"); - TBW_aisurvival->setToolTip("" + ToggleButtonWidget::tr("AI Survival Mode") + ":
" + tr("AI respawns on death.")); + TBW_aisurvival->setToolTip("" + ToggleButtonWidget::tr("AI Survival Mode") + ""); + TBW_aisurvival->setWhatsThis(tr("AI respawns on death.")); glGMLayout->addWidget(TBW_aisurvival,3,2,1,1); TBW_infattack = new ToggleButtonWidget(gbGameModes, ":/res/btnInfAttack@2x.png"); - TBW_infattack->setToolTip("" + ToggleButtonWidget::tr("Unlimited Attacks") + ":
" + tr("Attacking does not end your turn.")); + TBW_infattack->setToolTip("" + ToggleButtonWidget::tr("Unlimited Attacks") + ""); + TBW_infattack->setWhatsThis(tr("Attacking does not end your turn.")); glGMLayout->addWidget(TBW_infattack,3,3,1,1); TBW_resetweps = new ToggleButtonWidget(gbGameModes, ":/res/btnResetWeps@2x.png"); - TBW_resetweps->setToolTip("" + ToggleButtonWidget::tr("Reset Weapons") + ":
" + tr("Weapons are reset to starting values each turn.")); + TBW_resetweps->setToolTip("" + ToggleButtonWidget::tr("Reset Weapons") + ""); + TBW_resetweps->setWhatsThis(tr("Weapons are reset to starting values each turn.")); glGMLayout->addWidget(TBW_resetweps,3,4,1,1); TBW_perhogammo = new ToggleButtonWidget(gbGameModes, ":/res/btnPerHogAmmo@2x.png"); - TBW_perhogammo->setToolTip("" + ToggleButtonWidget::tr("Per Hedgehog Ammo") + ":
" + tr("Each hedgehog has its own ammo. It does not share with the team.")); + TBW_perhogammo->setToolTip("" + ToggleButtonWidget::tr("Per Hedgehog Ammo") + ""); + TBW_perhogammo->setWhatsThis(tr("Each hedgehog has its own ammo. It does not share with the team.")); glGMLayout->addWidget(TBW_perhogammo,4,0,1,1); TBW_nowind = new ToggleButtonWidget(gbGameModes, ":/res/btnNoWind@2x.png"); - TBW_nowind->setToolTip("" + ToggleButtonWidget::tr("Disable Wind") + ":
" + tr("You will not have to worry about wind anymore.")); + TBW_nowind->setToolTip("" + ToggleButtonWidget::tr("Disable Wind") + ""); + TBW_nowind->setWhatsThis(tr("You will not have to worry about wind anymore.")); glGMLayout->addWidget(TBW_nowind,4,1,1,1); TBW_morewind = new ToggleButtonWidget(gbGameModes, ":/res/btnMoreWind@2x.png"); - TBW_morewind->setToolTip("" + ToggleButtonWidget::tr("More Wind") + ":
" + tr("Wind will affect almost everything.")); + TBW_morewind->setToolTip("" + ToggleButtonWidget::tr("More Wind") + ""); + TBW_morewind->setWhatsThis(tr("Wind will affect almost everything.")); glGMLayout->addWidget(TBW_morewind,4,2,1,1); TBW_tagteam = new ToggleButtonWidget(gbGameModes, ":/res/btnTagTeam@2x.png"); - TBW_tagteam->setToolTip("" + ToggleButtonWidget::tr("Tag Team") + ":
" + tr("Teams in each clan take successive turns sharing their turn time.")); + TBW_tagteam->setToolTip("" + ToggleButtonWidget::tr("Tag Team") + ""); + TBW_tagteam->setWhatsThis(tr("Teams in each clan take successive turns sharing their turn time.")); glGMLayout->addWidget(TBW_tagteam,4,3,1,1); TBW_bottomborder = new ToggleButtonWidget(gbGameModes, ":/res/btnBottomBorder@2x.png"); - TBW_bottomborder->setToolTip("" + ToggleButtonWidget::tr("Add Bottom Border") + ":
" + tr("Add an indestructible border along the bottom")); + TBW_bottomborder->setToolTip("" + ToggleButtonWidget::tr("Add Bottom Border") + ""); + TBW_bottomborder->setWhatsThis(tr("Add an indestructible border along the bottom")); glGMLayout->addWidget(TBW_bottomborder,4,4,1,1); diff -r 804e9076d136 -r 83dd3447a212 QTfrontend/ui/page/pagesingleplayer.cpp --- a/QTfrontend/ui/page/pagesingleplayer.cpp Fri Feb 17 15:55:31 2012 +0100 +++ b/QTfrontend/ui/page/pagesingleplayer.cpp Fri Feb 17 17:43:59 2012 +0100 @@ -36,19 +36,23 @@ topLine->addStretch(); BtnSimpleGamePage = addButton(":/res/SimpleGame.png", topLine, 0, true); - BtnSimpleGamePage->setToolTip(tr("Simple Game (a quick game against the computer, settings are chosen for you)")); + BtnSimpleGamePage->setToolTip(tr("Simple Game")); + BtnSimpleGamePage->setWhatsThis(tr("Play a quick game against the computer with random settings")); topLine->addSpacing(60); BtnMultiplayer = addButton(":/res/Multiplayer.png", topLine, 1, true); - BtnMultiplayer->setToolTip(tr("Multiplayer (play a hotseat game against your friends, or AI teams)")); + BtnMultiplayer->setToolTip(tr("Multiplayer")); + BtnMultiplayer->setWhatsThis(tr("Play a hotseat game against your friends, or AI teams")); topLine->addStretch(); BtnCampaignPage = addButton(":/res/Campaign.png", middleLine, 0, true); - BtnCampaignPage->setToolTip(tr("Campaign Mode (...)")); + BtnCampaignPage->setToolTip(tr("Campaign Mode")); + BtnCampaignPage->setWhatsThis(tr("Campaign Mode")); BtnCampaignPage->setVisible(false); BtnTrainPage = addButton(":/res/Trainings.png", middleLine, 1, true); - BtnTrainPage->setToolTip(tr("Training Mode (Practice your skills in a range of training missions)")); + BtnTrainPage->setToolTip(tr("Training Mode")); + BtnTrainPage->setWhatsThis(tr("Practice your skills in a range of training missions")); return vLayout; } @@ -59,10 +63,12 @@ bottomLine->addStretch(); BtnDemos = addButton(":/res/Record.png", bottomLine, 1, true); - BtnDemos->setToolTip(tr("Demos (Watch recorded demos)")); + BtnDemos->setToolTip(tr("Demos")); + BtnDemos->setWhatsThis(tr("Watch recorded demos")); BtnLoad = addButton(":/res/Load.png", bottomLine, 2, true); BtnLoad->setStyleSheet("QPushButton{margin: 24px 0 0 0;}"); - BtnLoad->setToolTip(tr("Load (Load a previously saved game)")); + BtnLoad->setToolTip(tr("Load")); + BtnLoad->setWhatsThis(tr("Load a previously saved game")); bottomLine->setStretch(1,0); bottomLine->setStretch(2,0); diff -r 804e9076d136 -r 83dd3447a212 QTfrontend/ui/page/pagetraining.cpp --- a/QTfrontend/ui/page/pagetraining.cpp Fri Feb 17 15:55:31 2012 +0100 +++ b/QTfrontend/ui/page/pagetraining.cpp Fri Feb 17 17:43:59 2012 +0100 @@ -40,7 +40,6 @@ // declare start button, caption and description btnPreview = formattedButton(":/res/Trainings.png", true); - btnPreview->setToolTip(QPushButton::tr("Go!")); // make both rows equal height pageLayout->setRowStretch(0, 1); @@ -76,6 +75,7 @@ // mission list lstMissions = new QListWidget(this); + lstMissions->setWhatsThis(tr("Pick the mission or training to play")); pageLayout->addWidget(lstMissions, 1, 0, 1, 2); // span 2 columns // let's not make the list use more space than needed @@ -90,6 +90,7 @@ QBoxLayout * bottomLayout = new QVBoxLayout(); btnStart = formattedButton(QPushButton::tr("Go!")); + btnStart->setWhatsThis(tr("Start fighting")); btnStart->setFixedWidth(140); bottomLayout->addWidget(btnStart);