QTfrontend/team.cpp
changeset 21 dff476dcaaa3
parent 20 ccd2c45f043d
child 25 27aa8030322b
equal deleted inserted replaced
20:ccd2c45f043d 21:dff476dcaaa3
    34 #include <QFile>
    34 #include <QFile>
    35 #include <QTextStream>
    35 #include <QTextStream>
    36 #include "team.h"
    36 #include "team.h"
    37 #include "hwform.h"
    37 #include "hwform.h"
    38 
    38 
    39 HWTeam::HWTeam(HWForm * hwform)
    39 HWTeam::HWTeam()
    40 {
    40 {
    41 	TeamName = "unnamed";
    41 	TeamName = "unnamed";
    42 	for (int i = 0; i < 8; i++) HHName[i].sprintf("hedgehog %d", i);
    42 	for (int i = 0; i < 8; i++) HHName[i].sprintf("hedgehog %d", i);
    43 	Grave = "Simple";
    43 	Grave = "Simple";
    44 	Fort = "Barrelhouse";
    44 	Fort = "Barrelhouse";
    45 	form = hwform;
       
    46 	for(int i = 0; i < BINDS_NUMBER; i++)
    45 	for(int i = 0; i < BINDS_NUMBER; i++)
    47 	{
    46 	{
    48 		binds[i].action = cbinds[i].action;
    47 		binds[i].action = cbinds[i].action;
    49 		binds[i].strbind = cbinds[i].strbind;
    48 		binds[i].strbind = cbinds[i].strbind;
    50 	}
    49 	}
    51 	
    50 	dir = "";
    52 }
    51 }
    53 	
    52 	
    54 bool HWTeam::LoadFromFile(const QString & filename)
    53 bool HWTeam::LoadFromFile()
    55 {
    54 {
    56 	QFile cfgfile(filename);
    55 	QFile cfgfile(dir + "/" + TeamName + ".cfg");
    57 	if (!cfgfile.open(QIODevice::ReadOnly)) return false;
    56 	if (!cfgfile.open(QIODevice::ReadOnly)) return false;
    58 	QTextStream stream(&cfgfile);
    57 	QTextStream stream(&cfgfile);
    59 	stream.setCodec("UTF-8");	
    58 	stream.setCodec("UTF-8");	
    60 	QString str;
    59 	QString str;
    61 	QString action;
    60 	QString action;
   103 	}
   102 	}
   104 	cfgfile.close();
   103 	cfgfile.close();
   105 	return true;
   104 	return true;
   106 }
   105 }
   107 
   106 
   108 bool HWTeam::SaveToFile(const QString & filename)
   107 bool HWTeam::SaveToFile()
   109 {			
   108 {			
   110 	QFile cfgfile(filename);
   109 	QFile cfgfile(dir + "/" + TeamName + ".cfg");
   111 	if (!cfgfile.open(QIODevice::WriteOnly)) return false;
   110 	if (!cfgfile.open(QIODevice::WriteOnly)) return false;
   112 	QTextStream stream(&cfgfile);
   111 	QTextStream stream(&cfgfile);
   113 	stream.setCodec("UTF-8");
   112 	stream.setCodec("UTF-8");
   114 	stream << "; Generated by Hedgewars, do not modify" << endl;
   113 	stream << "; Generated by Hedgewars, do not modify" << endl;
   115 	stream << "name team " << TeamName << endl;
   114 	stream << "name team " << TeamName << endl;
   123 	}
   122 	}
   124 	cfgfile.close();
   123 	cfgfile.close();
   125 	return true;
   124 	return true;
   126 }
   125 }
   127 
   126 
   128 void HWTeam::ToPage()
   127 void HWTeam::SetToPage(HWForm * hwform)
   129 {
   128 {
   130 	form->TeamNameEdit->setText(TeamName);
   129 	form->TeamNameEdit->setText(TeamName);
   131 	for(int i = 0; i < 8; i++)
   130 	for(int i = 0; i < 8; i++)
   132 	{
   131 	{
   133 		form->HHNameEdit[i]->setText(HHName[i]);
   132 		form->HHNameEdit[i]->setText(HHName[i]);
   142 	{
   141 	{
   143 		form->CBBind[i]->setCurrentIndex(form->CBBind[i]->findText(binds[i].strbind));
   142 		form->CBBind[i]->setCurrentIndex(form->CBBind[i]->findText(binds[i].strbind));
   144 	}
   143 	}
   145 }
   144 }
   146 
   145 
   147 void HWTeam::FromPage()
   146 void HWTeam::GetFromPage(HWForm * hwform)
   148 {
   147 {
   149 	TeamName  = form->TeamNameEdit->text();
   148 	TeamName  = form->TeamNameEdit->text();
   150 	for(int i = 0; i < 8; i++)
   149 	for(int i = 0; i < 8; i++)
   151 	{
   150 	{
   152 		HHName[i] = form->HHNameEdit[i]->text();
   151 		HHName[i] = form->HHNameEdit[i]->text();
   157 	for(int i = 0; i < 8; i++)
   156 	for(int i = 0; i < 8; i++)
   158 	{
   157 	{
   159 		binds[i].strbind = form->CBBind[i]->currentText();
   158 		binds[i].strbind = form->CBBind[i]->currentText();
   160 	}
   159 	}
   161 }
   160 }
       
   161 
       
   162 void HWTeam::SetCfgDir(const QString & dir)
       
   163 {
       
   164 	this->dir = dir;
       
   165 }