This repository has been archived on 2025-03-20. You can view files and clone it, but cannot push or open issues or pull requests.
The-Powder-Toy/src/gui/search/SearchController.h
jacob1 d67cb4b582 add new s: sign which does a save search
also change some searchController stuff to properly queue searches when one is already going on
2015-06-27 19:03:41 -04:00

58 lines
1.4 KiB
C++

#ifndef SEARCHCONTROLLER_H
#define SEARCHCONTROLLER_H
#include "gui/interface/Panel.h"
#include "SearchModel.h"
#include "SearchView.h"
#include "gui/preview/PreviewController.h"
#include "Controller.h"
#include "client/SaveInfo.h"
class SearchView;
class SearchModel;
class SearchController
{
private:
SearchModel * searchModel;
SearchView * searchView;
PreviewController * activePreview;
ControllerCallback * callback;
double nextQueryTime;
std::string nextQuery;
bool nextQueryDone;
bool instantOpen;
bool doRefresh;
void removeSelectedC();
void unpublishSelectedC(bool publish);
public:
class OpenCallback;
bool HasExited;
SearchController(ControllerCallback * callback = NULL);
~SearchController();
SearchView * GetView() { return searchView; }
void Exit();
void DoSearch(std::string query, bool now = false);
void DoSearch2(std::string query);
void Refresh();
void NextPage();
void PrevPage();
void SetPage(int page);
void ChangeSort();
void ShowOwn(bool show);
void ShowFavourite(bool show);
void Selected(int saveID, bool selected);
void InstantOpen(bool instant);
void OpenSave(int saveID);
void OpenSave(int saveID, int saveDate);
void Update();
void ClearSelection();
void RemoveSelected();
void UnpublishSelected(bool publish);
void FavouriteSelected();
void ReleaseLoadedSave();
SaveInfo * GetLoadedSave();
};
#endif // SEARCHCONTROLLER_H