mirror of
https://github.com/The-Powder-Toy/The-Powder-Toy.git
synced 2025-08-11 02:43:58 +02:00
Remember Console history
This commit is contained in:
@@ -19,6 +19,11 @@ public:
|
|||||||
std::string Command;
|
std::string Command;
|
||||||
int ReturnStatus;
|
int ReturnStatus;
|
||||||
std::string ReturnValue;
|
std::string ReturnValue;
|
||||||
|
|
||||||
|
operator std::string() const
|
||||||
|
{
|
||||||
|
return Command;
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
@@ -5,15 +5,25 @@
|
|||||||
* Author: Simon
|
* Author: Simon
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include "client/Client.h"
|
||||||
#include "ConsoleModel.h"
|
#include "ConsoleModel.h"
|
||||||
|
|
||||||
ConsoleModel::ConsoleModel() {
|
ConsoleModel::ConsoleModel() {
|
||||||
|
std::vector<std::string> previousHistory = Client::Ref().GetPrefStringArray("Console.History");
|
||||||
|
for(std::vector<std::string>::reverse_iterator iter = previousHistory.rbegin(), end = previousHistory.rend(); iter != end; ++iter)
|
||||||
|
{
|
||||||
|
if(previousCommands.size()<25)
|
||||||
|
{
|
||||||
|
previousCommands.push_front(ConsoleCommand(*iter, 0, ""));
|
||||||
|
currentCommandIndex = previousCommands.size();
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void ConsoleModel::AddObserver(ConsoleView * observer)
|
void ConsoleModel::AddObserver(ConsoleView * observer)
|
||||||
{
|
{
|
||||||
observers.push_back(observer);
|
observers.push_back(observer);
|
||||||
|
observer->NotifyPreviousCommandsChanged(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
int ConsoleModel::GetCurrentCommandIndex()
|
int ConsoleModel::GetCurrentCommandIndex()
|
||||||
@@ -67,6 +77,6 @@ void ConsoleModel::notifyCurrentCommandChanged()
|
|||||||
}
|
}
|
||||||
|
|
||||||
ConsoleModel::~ConsoleModel() {
|
ConsoleModel::~ConsoleModel() {
|
||||||
|
Client::Ref().SetPref("Console.History", std::vector<std::string>(previousCommands.begin(), previousCommands.end()));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user