Voting, fix save browser
This commit is contained in:
parent
28d4aecb6c
commit
7c53ca7799
BIN
resources/document.ico
Normal file
BIN
resources/document.ico
Normal file
Binary file not shown.
After Width: | Height: | Size: 25 KiB |
4
resources/powder-res.rc
Normal file
4
resources/powder-res.rc
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
#define IDI_ICON1 101
|
||||||
|
#define IDI_ICON2 102
|
||||||
|
IDI_ICON1 ICON DISCARDABLE "powder.ico"
|
||||||
|
IDI_ICON2 ICON DISCARDABLE "document.ico"
|
BIN
resources/powder.ico
Normal file
BIN
resources/powder.ico
Normal file
Binary file not shown.
After Width: | Height: | Size: 88 KiB |
@ -18,7 +18,8 @@
|
|||||||
#include "cajun/writer.h"
|
#include "cajun/writer.h"
|
||||||
#include "cajun/elements.h"
|
#include "cajun/elements.h"
|
||||||
|
|
||||||
Client::Client()
|
Client::Client():
|
||||||
|
authUser(0, "")
|
||||||
{
|
{
|
||||||
int i = 0;
|
int i = 0;
|
||||||
http_init(NULL);
|
http_init(NULL);
|
||||||
@ -40,6 +41,68 @@ Client::~Client()
|
|||||||
http_done();
|
http_done();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Client::SetAuthUser(User user)
|
||||||
|
{
|
||||||
|
authUser = user;
|
||||||
|
}
|
||||||
|
|
||||||
|
User Client::GetAuthUser()
|
||||||
|
{
|
||||||
|
return authUser;
|
||||||
|
}
|
||||||
|
|
||||||
|
RequestStatus Client::ExecVote(int saveID, int direction)
|
||||||
|
{
|
||||||
|
lastError = "";
|
||||||
|
int dataStatus;
|
||||||
|
char * data;
|
||||||
|
int dataLength = 0;
|
||||||
|
std::stringstream idStream;
|
||||||
|
idStream << saveID;
|
||||||
|
std::string directionS;
|
||||||
|
if(direction==1)
|
||||||
|
{
|
||||||
|
directionS = "Up";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
directionS = "Down";
|
||||||
|
}
|
||||||
|
std::stringstream userIDStream;
|
||||||
|
userIDStream << authUser.ID;
|
||||||
|
if(authUser.ID)
|
||||||
|
{
|
||||||
|
char * postNames[] = { "ID", "Action", NULL };
|
||||||
|
char * postDatas[] = { (char*)(idStream.str().c_str()), (char*)(directionS.c_str()) };
|
||||||
|
int postLengths[] = { idStream.str().length(), directionS.length() };
|
||||||
|
//std::cout << postNames[0] << " " << postDatas[0] << " " << postLengths[0] << std::endl;
|
||||||
|
data = http_multipart_post("http://" SERVER "/Vote.api", postNames, postDatas, postLengths, (char *)(userIDStream.str().c_str()), NULL, (char *)(authUser.SessionID.c_str()), &dataStatus, &dataLength);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
lastError = "Not authenticated";
|
||||||
|
return RequestFailure;
|
||||||
|
}
|
||||||
|
std::cout << data << std::endl;
|
||||||
|
if(data && dataStatus == 200)
|
||||||
|
{
|
||||||
|
if(strncmp((const char *)data, "OK", 2)!=0)
|
||||||
|
{
|
||||||
|
free(data);
|
||||||
|
lastError = std::string((const char *)data);
|
||||||
|
return RequestFailure;
|
||||||
|
}
|
||||||
|
free(data);
|
||||||
|
return RequestOkay;
|
||||||
|
}
|
||||||
|
else if(data)
|
||||||
|
{
|
||||||
|
free(data);
|
||||||
|
}
|
||||||
|
lastError = http_ret_text(dataStatus);
|
||||||
|
return RequestFailure;
|
||||||
|
}
|
||||||
|
|
||||||
unsigned char * Client::GetSaveData(int saveID, int saveDate, int & dataLength)
|
unsigned char * Client::GetSaveData(int saveID, int saveDate, int & dataLength)
|
||||||
{
|
{
|
||||||
lastError = "";
|
lastError = "";
|
||||||
@ -94,7 +157,6 @@ LoginStatus Client::Login(string username, string password, User & user)
|
|||||||
int postLengths[] = { username.length(), 32 };
|
int postLengths[] = { username.length(), 32 };
|
||||||
data = http_multipart_post("http://" SERVER "/Login.json", postNames, postDatas, postLengths, NULL, NULL, NULL, &dataStatus, &dataLength);
|
data = http_multipart_post("http://" SERVER "/Login.json", postNames, postDatas, postLengths, NULL, NULL, NULL, &dataStatus, &dataLength);
|
||||||
//data = http_auth_get("http://" SERVER "/Login.json", (char*)username.c_str(), (char*)password.c_str(), NULL, &dataStatus, &dataLength);
|
//data = http_auth_get("http://" SERVER "/Login.json", (char*)username.c_str(), (char*)password.c_str(), NULL, &dataStatus, &dataLength);
|
||||||
std::cout << data << std::endl;
|
|
||||||
if(dataStatus == 200 && data)
|
if(dataStatus == 200 && data)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
@ -152,7 +214,16 @@ Save * Client::GetSave(int saveID, int saveDate)
|
|||||||
char * data;
|
char * data;
|
||||||
int dataStatus, dataLength;
|
int dataStatus, dataLength;
|
||||||
//Save(int _id, int _votesUp, int _votesDown, string _userName, string _name, string description_, string date_, bool published_):
|
//Save(int _id, int _votesUp, int _votesDown, string _userName, string _name, string description_, string date_, bool published_):
|
||||||
data = http_simple_get((char *)urlStream.str().c_str(), &dataStatus, &dataLength);
|
if(authUser.ID)
|
||||||
|
{
|
||||||
|
std::stringstream userIDStream;
|
||||||
|
userIDStream << authUser.ID;
|
||||||
|
data = http_auth_get((char *)urlStream.str().c_str(), (char *)(userIDStream.str().c_str()), NULL, (char *)(authUser.SessionID.c_str()), &dataStatus, &dataLength);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
data = http_simple_get((char *)urlStream.str().c_str(), &dataStatus, &dataLength);
|
||||||
|
}
|
||||||
if(dataStatus == 200 && data)
|
if(dataStatus == 200 && data)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
@ -164,6 +235,7 @@ Save * Client::GetSave(int saveID, int saveDate)
|
|||||||
json::Number tempID = objDocument["ID"];
|
json::Number tempID = objDocument["ID"];
|
||||||
json::Number tempScoreUp = objDocument["ScoreUp"];
|
json::Number tempScoreUp = objDocument["ScoreUp"];
|
||||||
json::Number tempScoreDown = objDocument["ScoreDown"];
|
json::Number tempScoreDown = objDocument["ScoreDown"];
|
||||||
|
json::Number tempMyScore = objDocument["ScoreMine"];
|
||||||
json::String tempUsername = objDocument["Username"];
|
json::String tempUsername = objDocument["Username"];
|
||||||
json::String tempName = objDocument["Name"];
|
json::String tempName = objDocument["Name"];
|
||||||
json::String tempDescription = objDocument["Description"];
|
json::String tempDescription = objDocument["Description"];
|
||||||
@ -174,6 +246,7 @@ Save * Client::GetSave(int saveID, int saveDate)
|
|||||||
tempDate.Value(),
|
tempDate.Value(),
|
||||||
tempScoreUp.Value(),
|
tempScoreUp.Value(),
|
||||||
tempScoreDown.Value(),
|
tempScoreDown.Value(),
|
||||||
|
tempMyScore.Value(),
|
||||||
tempUsername.Value(),
|
tempUsername.Value(),
|
||||||
tempName.Value(),
|
tempName.Value(),
|
||||||
tempDescription.Value(),
|
tempDescription.Value(),
|
||||||
@ -240,7 +313,7 @@ std::vector<Save*> * Client::SearchSaves(int start, int count, string query, str
|
|||||||
std::stringstream urlStream;
|
std::stringstream urlStream;
|
||||||
char * data;
|
char * data;
|
||||||
int dataStatus, dataLength;
|
int dataStatus, dataLength;
|
||||||
urlStream << "http://" << SERVER << "/Browse.json?Start=" << start << "&Count=" << cout;
|
urlStream << "http://" << SERVER << "/Browse.json?Start=" << start << "&Count=" << count;
|
||||||
if(query.length() || sort.length())
|
if(query.length() || sort.length())
|
||||||
{
|
{
|
||||||
urlStream << "&Search_Query=";
|
urlStream << "&Search_Query=";
|
||||||
|
@ -11,15 +11,22 @@
|
|||||||
#include "Singleton.h"
|
#include "Singleton.h"
|
||||||
#include "User.h"
|
#include "User.h"
|
||||||
|
|
||||||
enum LoginStatus
|
enum LoginStatus {
|
||||||
{
|
|
||||||
LoginOkay, LoginError
|
LoginOkay, LoginError
|
||||||
};
|
};
|
||||||
|
|
||||||
class Client: public Singleton<Client>
|
enum RequestStatus {
|
||||||
{
|
RequestOkay, RequestFailure
|
||||||
|
};
|
||||||
|
|
||||||
|
class Client: public Singleton<Client> {
|
||||||
private:
|
private:
|
||||||
std::string lastError;
|
std::string lastError;
|
||||||
|
|
||||||
|
//Auth session
|
||||||
|
User authUser;
|
||||||
|
|
||||||
|
//Thumbnail retreival
|
||||||
int thumbnailCacheNextID;
|
int thumbnailCacheNextID;
|
||||||
Thumbnail * thumbnailCache[THUMB_CACHE_SIZE];
|
Thumbnail * thumbnailCache[THUMB_CACHE_SIZE];
|
||||||
void * activeThumbRequests[IMGCONNS];
|
void * activeThumbRequests[IMGCONNS];
|
||||||
@ -29,6 +36,9 @@ private:
|
|||||||
public:
|
public:
|
||||||
Client();
|
Client();
|
||||||
~Client();
|
~Client();
|
||||||
|
|
||||||
|
RequestStatus ExecVote(int saveID, int direction);
|
||||||
|
|
||||||
unsigned char * GetSaveData(int saveID, int saveDate, int & dataLength);
|
unsigned char * GetSaveData(int saveID, int saveDate, int & dataLength);
|
||||||
LoginStatus Login(string username, string password, User & user);
|
LoginStatus Login(string username, string password, User & user);
|
||||||
void ClearThumbnailRequests();
|
void ClearThumbnailRequests();
|
||||||
@ -36,7 +46,11 @@ public:
|
|||||||
Thumbnail * GetPreview(int saveID, int saveDate);
|
Thumbnail * GetPreview(int saveID, int saveDate);
|
||||||
Thumbnail * GetThumbnail(int saveID, int saveDate);
|
Thumbnail * GetThumbnail(int saveID, int saveDate);
|
||||||
Save * GetSave(int saveID, int saveDate);
|
Save * GetSave(int saveID, int saveDate);
|
||||||
std::string GetLastError() { return lastError; }
|
void SetAuthUser(User user);
|
||||||
|
User GetAuthUser();
|
||||||
|
std::string GetLastError() {
|
||||||
|
return lastError;
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // CLIENT_H
|
#endif // CLIENT_H
|
||||||
|
@ -731,6 +731,7 @@ char *http_auth_get(char *uri, char *user, char *pass, char *session_id, int *re
|
|||||||
*len = 0;
|
*len = 0;
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
http_auth_headers(ctx, user, pass, session_id);
|
||||||
return http_async_req_stop(ctx, ret, len);
|
return http_async_req_stop(ctx, ret, len);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -33,10 +33,6 @@ public:
|
|||||||
{
|
{
|
||||||
if(cc->search->GetLoadedSave())
|
if(cc->search->GetLoadedSave())
|
||||||
{
|
{
|
||||||
if(cc->gameModel->GetSave())
|
|
||||||
{
|
|
||||||
delete cc->gameModel->GetSave();
|
|
||||||
}
|
|
||||||
cc->gameModel->SetSave(new Save(*(cc->search->GetLoadedSave())));
|
cc->gameModel->SetSave(new Save(*(cc->search->GetLoadedSave())));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -279,7 +275,8 @@ void GameController::OpenSaveWindow()
|
|||||||
|
|
||||||
void GameController::Vote(int direction)
|
void GameController::Vote(int direction)
|
||||||
{
|
{
|
||||||
//TODO: Implement
|
if(gameModel->GetSave() && gameModel->GetUser().ID && gameModel->GetSave()->GetID() && gameModel->GetSave()->GetVote()==0)
|
||||||
|
gameModel->SetVote(direction);
|
||||||
}
|
}
|
||||||
|
|
||||||
void GameController::ChangeBrush()
|
void GameController::ChangeBrush()
|
||||||
@ -289,6 +286,7 @@ void GameController::ChangeBrush()
|
|||||||
|
|
||||||
void GameController::ClearSim()
|
void GameController::ClearSim()
|
||||||
{
|
{
|
||||||
|
gameModel->SetSave(NULL);
|
||||||
gameModel->ClearSimulation();
|
gameModel->ClearSimulation();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -6,14 +6,15 @@
|
|||||||
#include "interface/Point.h"
|
#include "interface/Point.h"
|
||||||
#include "Brush.h"
|
#include "Brush.h"
|
||||||
#include "EllipseBrush.h"
|
#include "EllipseBrush.h"
|
||||||
|
#include "client/Client.h"
|
||||||
|
|
||||||
GameModel::GameModel():
|
GameModel::GameModel():
|
||||||
activeTool(NULL),
|
activeTool(NULL),
|
||||||
sim(NULL),
|
sim(NULL),
|
||||||
ren(NULL),
|
ren(NULL),
|
||||||
currentSave(NULL),
|
|
||||||
currentBrush(0),
|
currentBrush(0),
|
||||||
currentUser(0, "")
|
currentUser(0, ""),
|
||||||
|
currentSave(NULL)
|
||||||
{
|
{
|
||||||
sim = new Simulation();
|
sim = new Simulation();
|
||||||
ren = new Renderer(ui::Engine::Ref().g, sim);
|
ren = new Renderer(ui::Engine::Ref().g, sim);
|
||||||
@ -66,6 +67,19 @@ GameModel::~GameModel()
|
|||||||
delete activeTool;
|
delete activeTool;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void GameModel::SetVote(int direction)
|
||||||
|
{
|
||||||
|
if(currentSave)
|
||||||
|
{
|
||||||
|
RequestStatus status = Client::Ref().ExecVote(currentSave->GetID(), direction);
|
||||||
|
if(status == RequestOkay)
|
||||||
|
{
|
||||||
|
currentSave->vote = direction;
|
||||||
|
notifySaveChanged();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
Brush * GameModel::GetBrush()
|
Brush * GameModel::GetBrush()
|
||||||
{
|
{
|
||||||
return brushList[currentBrush];
|
return brushList[currentBrush];
|
||||||
@ -140,8 +154,13 @@ Save * GameModel::GetSave()
|
|||||||
|
|
||||||
void GameModel::SetSave(Save * newSave)
|
void GameModel::SetSave(Save * newSave)
|
||||||
{
|
{
|
||||||
|
if(currentSave)
|
||||||
|
delete currentSave;
|
||||||
currentSave = newSave;
|
currentSave = newSave;
|
||||||
sim->Load(currentSave->GetData(), currentSave->GetDataLength());
|
if(currentSave)
|
||||||
|
{
|
||||||
|
sim->Load(currentSave->GetData(), currentSave->GetDataLength());
|
||||||
|
}
|
||||||
notifySaveChanged();
|
notifySaveChanged();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -218,6 +237,7 @@ int GameModel::GetZoomFactor()
|
|||||||
void GameModel::SetUser(User user)
|
void GameModel::SetUser(User user)
|
||||||
{
|
{
|
||||||
currentUser = user;
|
currentUser = user;
|
||||||
|
Client::Ref().SetAuthUser(user);
|
||||||
notifyUserChanged();
|
notifyUserChanged();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -47,6 +47,7 @@ public:
|
|||||||
GameModel();
|
GameModel();
|
||||||
~GameModel();
|
~GameModel();
|
||||||
|
|
||||||
|
void SetVote(int direction);
|
||||||
Save * GetSave();
|
Save * GetSave();
|
||||||
Brush * GetBrush();
|
Brush * GetBrush();
|
||||||
void SetSave(Save * newSave);
|
void SetSave(Save * newSave);
|
||||||
|
@ -327,6 +327,7 @@ void GameView::NotifyUserChanged(GameModel * sender)
|
|||||||
{
|
{
|
||||||
loginButton->SetText(sender->GetUser().Username);
|
loginButton->SetText(sender->GetUser().Username);
|
||||||
}
|
}
|
||||||
|
NotifySaveChanged(sender);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -339,26 +340,26 @@ void GameView::NotifySaveChanged(GameModel * sender)
|
|||||||
{
|
{
|
||||||
if(sender->GetSave())
|
if(sender->GetSave())
|
||||||
{
|
{
|
||||||
saveSimulationButton->SetText(sender->GetSave()->name);
|
|
||||||
reloadButton->Enabled = true;
|
reloadButton->Enabled = true;
|
||||||
if(sender->GetSave()->GetID()) //Online saves have an ID, local saves have an ID of 0 and a filename
|
upVoteButton->Enabled = (sender->GetSave()->GetID() && sender->GetUser().ID && sender->GetSave()->GetVote()==0);
|
||||||
{
|
if(sender->GetSave()->GetID() && sender->GetUser().ID && sender->GetSave()->GetVote()==1)
|
||||||
upVoteButton->Enabled = true;
|
upVoteButton->SetBackgroundColour(ui::Colour(0, 200, 40));
|
||||||
downVoteButton->Enabled = true;
|
|
||||||
tagSimulationButton->Enabled = true;
|
|
||||||
}
|
|
||||||
else
|
else
|
||||||
{
|
upVoteButton->SetBackgroundColour(ui::Colour(0, 0, 0));
|
||||||
upVoteButton->Enabled = false;
|
downVoteButton->Enabled = upVoteButton->Enabled;
|
||||||
downVoteButton->Enabled = false;
|
if(sender->GetSave()->GetID() && sender->GetUser().ID && sender->GetSave()->GetVote()==-1)
|
||||||
tagSimulationButton->Enabled = false;
|
downVoteButton->SetBackgroundColour(ui::Colour(200, 40, 40));
|
||||||
}
|
else
|
||||||
|
downVoteButton->SetBackgroundColour(ui::Colour(0, 0, 0));
|
||||||
|
tagSimulationButton->Enabled = (sender->GetSave()->GetID() && sender->GetUser().ID);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
reloadButton->Enabled = false;
|
reloadButton->Enabled = false;
|
||||||
upVoteButton->Enabled = false;
|
upVoteButton->Enabled = false;
|
||||||
|
upVoteButton->SetBackgroundColour(ui::Colour(0, 0, 0));
|
||||||
downVoteButton->Enabled = false;
|
downVoteButton->Enabled = false;
|
||||||
|
upVoteButton->SetBackgroundColour(ui::Colour(0, 0, 0));
|
||||||
tagSimulationButton->Enabled = false;
|
tagSimulationButton->Enabled = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -135,6 +135,7 @@ void Button::Draw(const Point& screenPos)
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
g->fillrect(Position.X, Position.Y, Size.X, Size.Y, background.Red, background.Green, background.Blue, 180);
|
||||||
g->drawrect(Position.X, Position.Y, Size.X, Size.Y, 180, 180, 180, 255);
|
g->drawrect(Position.X, Position.Y, Size.X, Size.Y, 180, 180, 180, 255);
|
||||||
g->drawtext(Position.X+textPosition.X, Position.Y+textPosition.Y, ButtonText, 180, 180, 180, 255);
|
g->drawtext(Position.X+textPosition.X, Position.Y+textPosition.Y, ButtonText, 180, 180, 180, 255);
|
||||||
}
|
}
|
||||||
|
@ -148,7 +148,6 @@ void SaveButton::OnMouseLeave(int x, int y)
|
|||||||
|
|
||||||
void SaveButton::DoAction()
|
void SaveButton::DoAction()
|
||||||
{
|
{
|
||||||
std::cout << "Do action!" << std::endl;
|
|
||||||
if(actionCallback)
|
if(actionCallback)
|
||||||
actionCallback->ActionCallback(this);
|
actionCallback->ActionCallback(this);
|
||||||
}
|
}
|
||||||
|
@ -60,8 +60,10 @@ public:
|
|||||||
}
|
}
|
||||||
virtual void ActionCallback(ui::Checkbox * sender)
|
virtual void ActionCallback(ui::Checkbox * sender)
|
||||||
{
|
{
|
||||||
//if(sender->GetChecked())
|
if(sender->GetChecked())
|
||||||
v->c->SetColourMode(colourMode);
|
v->c->SetColourMode(colourMode);
|
||||||
|
else
|
||||||
|
v->c->SetColourMode(0);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -11,7 +11,7 @@
|
|||||||
Save::Save(Save & save) :
|
Save::Save(Save & save) :
|
||||||
userName(save.userName), name(save.name), Description(save.Description), date(
|
userName(save.userName), name(save.name), Description(save.Description), date(
|
||||||
save.date), Published(save.Published), id(save.id), votesUp(
|
save.date), Published(save.Published), id(save.id), votesUp(
|
||||||
save.votesUp), votesDown(save.votesDown), data(NULL) {
|
save.votesUp), votesDown(save.votesDown), data(NULL), vote(save.vote) {
|
||||||
if (save.data) {
|
if (save.data) {
|
||||||
std::cout << data << " " << save.data << std::endl;
|
std::cout << data << " " << save.data << std::endl;
|
||||||
data = (unsigned char *) malloc(save.dataLength);
|
data = (unsigned char *) malloc(save.dataLength);
|
||||||
@ -24,14 +24,14 @@ Save::Save(int _id, int _date, int _votesUp, int _votesDown, string _userName,
|
|||||||
string _name) :
|
string _name) :
|
||||||
id(_id), votesUp(_votesUp), votesDown(_votesDown), userName(_userName), name(
|
id(_id), votesUp(_votesUp), votesDown(_votesDown), userName(_userName), name(
|
||||||
_name), Description("No description provided"), date(_date), Published(
|
_name), Description("No description provided"), date(_date), Published(
|
||||||
true), data(NULL) {
|
true), data(NULL), vote(0) {
|
||||||
}
|
}
|
||||||
|
|
||||||
Save::Save(int _id, int date_, int _votesUp, int _votesDown, string _userName,
|
Save::Save(int _id, int date_, int _votesUp, int _votesDown, int _vote, string _userName,
|
||||||
string _name, string description_, bool published_) :
|
string _name, string description_, bool published_) :
|
||||||
id(_id), votesUp(_votesUp), votesDown(_votesDown), userName(_userName), name(
|
id(_id), votesUp(_votesUp), votesDown(_votesDown), userName(_userName), name(
|
||||||
_name), Description(description_), date(date_), Published(
|
_name), Description(description_), date(date_), Published(
|
||||||
published_), data(NULL) {
|
published_), data(NULL), vote(_vote) {
|
||||||
}
|
}
|
||||||
|
|
||||||
Save::~Save()
|
Save::~Save()
|
||||||
@ -49,6 +49,15 @@ string Save::GetName() {
|
|||||||
return name;
|
return name;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Save::SetVote(int vote)
|
||||||
|
{
|
||||||
|
this->vote = vote;
|
||||||
|
}
|
||||||
|
int Save::GetVote()
|
||||||
|
{
|
||||||
|
return vote;
|
||||||
|
}
|
||||||
|
|
||||||
void Save::SetUserName(string userName) {
|
void Save::SetUserName(string userName) {
|
||||||
this->userName = userName;
|
this->userName = userName;
|
||||||
}
|
}
|
||||||
|
@ -21,7 +21,7 @@ public:
|
|||||||
|
|
||||||
Save(int _id, int _date, int _votesUp, int _votesDown, string _userName, string _name);
|
Save(int _id, int _date, int _votesUp, int _votesDown, string _userName, string _name);
|
||||||
|
|
||||||
Save(int _id, int date_, int _votesUp, int _votesDown, string _userName, string _name, string description_, bool published_);
|
Save(int _id, int date_, int _votesUp, int _votesDown, int _vote, string _userName, string _name, string description_, bool published_);
|
||||||
|
|
||||||
~Save();
|
~Save();
|
||||||
|
|
||||||
@ -30,6 +30,8 @@ public:
|
|||||||
|
|
||||||
string Description;
|
string Description;
|
||||||
|
|
||||||
|
int vote;
|
||||||
|
|
||||||
bool Published;
|
bool Published;
|
||||||
|
|
||||||
void SetName(string name);
|
void SetName(string name);
|
||||||
@ -41,6 +43,9 @@ public:
|
|||||||
void SetID(int id);
|
void SetID(int id);
|
||||||
int GetID();
|
int GetID();
|
||||||
|
|
||||||
|
void SetVote(int vote);
|
||||||
|
int GetVote();
|
||||||
|
|
||||||
void SetVotesUp(int votesUp);
|
void SetVotesUp(int votesUp);
|
||||||
int GetVotesUp();
|
int GetVotesUp();
|
||||||
|
|
||||||
|
@ -19,7 +19,7 @@ void SearchModel::UpdateSaveList(int pageNumber, std::string query)
|
|||||||
resultCount = 0;
|
resultCount = 0;
|
||||||
notifySaveListChanged();
|
notifySaveListChanged();
|
||||||
notifyPageChanged();
|
notifyPageChanged();
|
||||||
vector<Save*> * tempSaveList = Client::Ref().SearchSaves((pageNumber-1)*12, 12, query, currentSort, resultCount);
|
vector<Save*> * tempSaveList = Client::Ref().SearchSaves((pageNumber-1)*20, 20, query, currentSort, resultCount);
|
||||||
saveList = *tempSaveList;
|
saveList = *tempSaveList;
|
||||||
delete tempSaveList;
|
delete tempSaveList;
|
||||||
if(!saveList.size())
|
if(!saveList.size())
|
||||||
|
@ -141,7 +141,7 @@ void SearchView::NotifyPageChanged(SearchModel * sender)
|
|||||||
void SearchView::NotifySaveListChanged(SearchModel * sender)
|
void SearchView::NotifySaveListChanged(SearchModel * sender)
|
||||||
{
|
{
|
||||||
int i = 0;
|
int i = 0;
|
||||||
int buttonWidth, buttonHeight, saveX = 0, saveY = 0, savesX = 4, savesY = 3, buttonPadding = 2;
|
int buttonWidth, buttonHeight, saveX = 0, saveY = 0, savesX = 5, savesY = 4, buttonPadding = 2;
|
||||||
int buttonAreaWidth, buttonAreaHeight, buttonXOffset, buttonYOffset;
|
int buttonAreaWidth, buttonAreaHeight, buttonXOffset, buttonYOffset;
|
||||||
|
|
||||||
vector<Save*> saves = sender->GetSaveList();
|
vector<Save*> saves = sender->GetSaveList();
|
||||||
|
Reference in New Issue
Block a user