129 // and this one flag does not warrant a static class |
129 // and this one flag does not warrant a static class |
130 bool frontendEffects = true; |
130 bool frontendEffects = true; |
131 QString playerHash; |
131 QString playerHash; |
132 |
132 |
133 QIcon finishedIcon; |
133 QIcon finishedIcon; |
|
134 QIcon notFinishedIcon; |
134 GameUIConfig* HWForm::config = NULL; |
135 GameUIConfig* HWForm::config = NULL; |
135 |
136 |
136 HWForm::HWForm(QWidget *parent, QString styleSheet) |
137 HWForm::HWForm(QWidget *parent, QString styleSheet) |
137 : QMainWindow(parent) |
138 : QMainWindow(parent) |
138 , game(0) |
139 , game(0) |
166 |
167 |
167 config = new GameUIConfig(this, DataManager::instance().settingsFileName()); |
168 config = new GameUIConfig(this, DataManager::instance().settingsFileName()); |
168 frontendEffects = config->value("frontend/effects", true).toBool(); |
169 frontendEffects = config->value("frontend/effects", true).toBool(); |
169 playerHash = QString(QCryptographicHash::hash(config->value("net/nick",tr("Guest")+QString("%1").arg(rand())).toString().toUtf8(), QCryptographicHash::Md5).toHex()); |
170 playerHash = QString(QCryptographicHash::hash(config->value("net/nick",tr("Guest")+QString("%1").arg(rand())).toString().toUtf8(), QCryptographicHash::Md5).toHex()); |
170 |
171 |
|
172 // Icons for finished missions |
171 finishedIcon.addFile(":/res/missionFinished.png", QSize(), QIcon::Normal, QIcon::On); |
173 finishedIcon.addFile(":/res/missionFinished.png", QSize(), QIcon::Normal, QIcon::On); |
172 finishedIcon.addFile(":/res/missionFinishedSelected.png", QSize(), QIcon::Selected, QIcon::On); |
174 finishedIcon.addFile(":/res/missionFinishedSelected.png", QSize(), QIcon::Selected, QIcon::On); |
|
175 |
|
176 // A transparent icon, used to nicely align the unfinished missions with the finished ones |
|
177 QPixmap emptySpace = QPixmap(15, 15); |
|
178 emptySpace.fill(QColor(0, 0, 0, 0)); |
|
179 notFinishedIcon = QIcon(emptySpace); |
173 |
180 |
174 ui.pageRoomsList->setSettings(config); |
181 ui.pageRoomsList->setSettings(config); |
175 ui.pageNetGame->setSettings(config); |
182 ui.pageNetGame->setSettings(config); |
176 ui.pageNetGame->chatWidget->setSettings(config); |
183 ui.pageNetGame->chatWidget->setSettings(config); |
177 ui.pageRoomsList->chatWidget->setSettings(config); |
184 ui.pageRoomsList->chatWidget->setSettings(config); |
1893 { |
1900 { |
1894 ui.pageCampaign->CBMission->addItem(QString(campaignMissionInfo[i].realName), QString(campaignMissionInfo[i].name)); |
1901 ui.pageCampaign->CBMission->addItem(QString(campaignMissionInfo[i].realName), QString(campaignMissionInfo[i].name)); |
1895 if(isMissionWon(campaignName, i, tName)) |
1902 if(isMissionWon(campaignName, i, tName)) |
1896 ui.pageCampaign->CBMission->setItemIcon(i, finishedIcon); |
1903 ui.pageCampaign->CBMission->setItemIcon(i, finishedIcon); |
1897 else |
1904 else |
1898 ui.pageCampaign->CBMission->setItemIcon(i, QIcon()); |
1905 ui.pageCampaign->CBMission->setItemIcon(i, notFinishedIcon); |
1899 } |
1906 } |
1900 } |
1907 } |
1901 |
1908 |
1902 void HWForm::UpdateCampaignPageTeam(int index) |
1909 void HWForm::UpdateCampaignPageTeam(int index) |
1903 { |
1910 { |
1917 { |
1924 { |
1918 QString campaignName = QString(entries[i]).replace(QString(" "),QString("_")); |
1925 QString campaignName = QString(entries[i]).replace(QString(" "),QString("_")); |
1919 if(isCampWon(campaignName, tName)) |
1926 if(isCampWon(campaignName, tName)) |
1920 ui.pageCampaign->CBCampaign->setItemIcon(i, finishedIcon); |
1927 ui.pageCampaign->CBCampaign->setItemIcon(i, finishedIcon); |
1921 else |
1928 else |
1922 ui.pageCampaign->CBCampaign->setItemIcon(i, QIcon()); |
1929 ui.pageCampaign->CBCampaign->setItemIcon(i, notFinishedIcon); |
1923 } |
1930 } |
1924 } |
1931 } |
1925 |
1932 |
1926 void HWForm::UpdateCampaignPageMission(int index) |
1933 void HWForm::UpdateCampaignPageMission(int index) |
1927 { |
1934 { |
1955 HWTeam team(ui.pageCampaign->CBTeam->currentText()); |
1962 HWTeam team(ui.pageCampaign->CBTeam->currentText()); |
1956 QString tName = team.name(); |
1963 QString tName = team.name(); |
1957 if(isCampWon(campaignName, tName)) |
1964 if(isCampWon(campaignName, tName)) |
1958 ui.pageCampaign->CBCampaign->setItemIcon(i, finishedIcon); |
1965 ui.pageCampaign->CBCampaign->setItemIcon(i, finishedIcon); |
1959 else |
1966 else |
1960 ui.pageCampaign->CBCampaign->setItemIcon(i, QIcon()); |
1967 ui.pageCampaign->CBCampaign->setItemIcon(i, notFinishedIcon); |
1961 } |
1968 } |
1962 |
1969 |
1963 // used for --set-everything [screen width] [screen height] [color dept] [volume] [enable music] [enable sounds] [language file] [full screen] [show FPS] [alternate damage] [timer value] [reduced quality] |
1970 // used for --set-everything [screen width] [screen height] [color dept] [volume] [enable music] [enable sounds] [language file] [full screen] [show FPS] [alternate damage] [timer value] [reduced quality] |
1964 QString HWForm::getDemoArguments() |
1971 QString HWForm::getDemoArguments() |
1965 { |
1972 { |