add error messages when errors happening while fav. / unfav.ing a save, deleting a save, or unpublishing one. Also don't use session key in url to add a comment since it isn't needed

This commit is contained in:
jacob1 2013-06-20 22:01:07 -04:00
parent 3aac957e50
commit 7a2114bc65
7 changed files with 37 additions and 22 deletions

View File

@ -1356,7 +1356,6 @@ LoginStatus Client::Login(std::string username, std::string password, User & use
RequestStatus Client::DeleteSave(int saveID)
{
lastError = "";
std::vector<std::string> * tags = NULL;
std::stringstream urlStream;
char * data = NULL;
int dataStatus, dataLength;
@ -1408,11 +1407,10 @@ failure:
RequestStatus Client::AddComment(int saveID, std::string comment)
{
lastError = "";
std::vector<std::string> * tags = NULL;
std::stringstream urlStream;
char * data = NULL;
int dataStatus, dataLength;
urlStream << "http://" << SERVER << "/Browse/Comments.json?ID=" << saveID << "&Key=" << authUser.SessionKey;
urlStream << "http://" << SERVER << "/Browse/Comments.json?ID=" << saveID;
if(authUser.ID)
{
std::stringstream userIDStream;
@ -1469,7 +1467,6 @@ failure:
RequestStatus Client::FavouriteSave(int saveID, bool favourite)
{
lastError = "";
std::vector<std::string> * tags = NULL;
std::stringstream urlStream;
char * data = NULL;
int dataStatus, dataLength;
@ -1526,7 +1523,6 @@ failure:
RequestStatus Client::ReportSave(int saveID, std::string message)
{
lastError = "";
std::vector<std::string> * tags = NULL;
std::stringstream urlStream;
char * data = NULL;
int dataStatus, dataLength;
@ -1585,7 +1581,6 @@ failure:
RequestStatus Client::UnpublishSave(int saveID)
{
lastError = "";
std::vector<std::string> * tags = NULL;
std::stringstream urlStream;
char * data = NULL;
int dataStatus, dataLength;

View File

@ -50,6 +50,7 @@ void LocalBrowserController::RemoveSelected()
desc << "Are you sure you want to delete " << browserModel->GetSelected().size() << " stamp";
if(browserModel->GetSelected().size()>1)
desc << "s";
desc << "?";
new ConfirmPrompt("Delete stamps", desc.str(), new RemoveSelectedConfirmation(this));
}

View File

@ -141,10 +141,17 @@ void PreviewController::FavouriteSave()
{
if(previewModel->GetSave() && Client::Ref().GetAuthUser().ID)
{
if(previewModel->GetSave()->Favourite)
previewModel->SetFavourite(false);
else
previewModel->SetFavourite(true);
try
{
if(previewModel->GetSave()->Favourite)
previewModel->SetFavourite(false);
else
previewModel->SetFavourite(true);
}
catch (PreviewModelException & e)
{
new ErrorMessage("Error", e.what());
}
}
}

View File

@ -99,8 +99,12 @@ void PreviewModel::SetFavourite(bool favourite)
{
if(save)
{
Client::Ref().FavouriteSave(save->id, favourite);
save->Favourite = favourite;
if (Client::Ref().FavouriteSave(save->id, favourite) == RequestOkay)
save->Favourite = favourite;
else if (favourite)
throw PreviewModelException("Error, could not fav. the save, are you logged in?");
else
throw PreviewModelException("Error, could not unfav. the save, are you logged in?");
notifySaveChanged();
}
}

View File

@ -427,7 +427,6 @@ void PreviewView::NotifySaveChanged(PreviewModel * sender)
if(savePreview && savePreview->Buffer && !(savePreview->Width == XRES/2 && savePreview->Width == YRES/2))
{
int newSizeX, newSizeY;
pixel * oldData = savePreview->Buffer;
float factorX = ((float)XRES/2)/((float)savePreview->Width);
float factorY = ((float)YRES/2)/((float)savePreview->Height);

View File

@ -222,6 +222,7 @@ void SearchController::RemoveSelected()
desc << "Are you sure you want to delete " << searchModel->GetSelected().size() << " save";
if(searchModel->GetSelected().size()>1)
desc << "s";
desc << "?";
new ConfirmPrompt("Delete saves", desc.str(), new RemoveSelectedConfirmation(this));
}
@ -274,6 +275,7 @@ void SearchController::UnpublishSelected()
desc << "Are you sure you want to hide " << searchModel->GetSelected().size() << " save";
if(searchModel->GetSelected().size()>1)
desc << "s";
desc << "?";
new ConfirmPrompt("Unpublish saves", desc.str(), new UnpublishSelectedConfirmation(this));
}
@ -289,13 +291,14 @@ void SearchController::unpublishSelectedC()
for(int i = 0; i < saves.size(); i++)
{
std::stringstream saveID;
saveID << "Hiding save [" << saves[i] << "] ...";
saveID << "Hiding save [" << saves[i] << "]";
notifyStatus(saveID.str());
if(Client::Ref().UnpublishSave(saves[i])!=RequestOkay)
{
std::stringstream saveIDF;
saveIDF << "\boFailed to hide [" << saves[i] << "] ...";
notifyStatus(saveIDF.str());
saveIDF << "\boFailed to hide [" << saves[i] << "], is this save yours?";
notifyError(saveIDF.str());
return false;
}
notifyProgress((float(i+1)/float(saves.size())*100));
}
@ -321,13 +324,14 @@ void SearchController::FavouriteSelected()
for(int i = 0; i < saves.size(); i++)
{
std::stringstream saveID;
saveID << "Favouring save [" << saves[i] << "] ...";
saveID << "Favouring save [" << saves[i] << "]";
notifyStatus(saveID.str());
if(Client::Ref().FavouriteSave(saves[i], true)!=RequestOkay)
{
std::stringstream saveIDF;
saveIDF << "\boFailed to favourite [" << saves[i] << "] ...";
notifyStatus(saveIDF.str());
saveIDF << "\boFailed to favourite [" << saves[i] << "], are you logged in?";
notifyError(saveIDF.str());
return false;
}
notifyProgress((float(i+1)/float(saves.size())*100));
}
@ -345,13 +349,14 @@ void SearchController::FavouriteSelected()
for(int i = 0; i < saves.size(); i++)
{
std::stringstream saveID;
saveID << "Unfavouring save [" << saves[i] << "] ...";
saveID << "Unfavouring save [" << saves[i] << "]";
notifyStatus(saveID.str());
if(Client::Ref().FavouriteSave(saves[i], false)!=RequestOkay)
{
std::stringstream saveIDF;
saveIDF << "\boFailed to remove [" << saves[i] << "] ...";
notifyStatus(saveIDF.str());
saveIDF << "\boFailed to unfavourite [" << saves[i] << "], are you logged in?";
notifyError(saveIDF.str());
return false;
}
notifyProgress((float(i+1)/float(saves.size())*100));
}

View File

@ -40,12 +40,14 @@ void TaskWindow::NotifyStatus(Task * task)
void TaskWindow::NotifyError(Task * task)
{
new ErrorMessage("Error", task->GetError());
done = true;
}
void TaskWindow::NotifyDone(Task * task)
{
if(closeOnDone)
Exit();
done = true;
}
void TaskWindow::Exit()
@ -78,6 +80,8 @@ void TaskWindow::OnTick(float dt)
if(intermediatePos>100.0f)
intermediatePos = 0.0f;
task->Poll();
if (done)
Exit();
}
void TaskWindow::OnDraw()