Closed Splits

This commit is contained in:
hemirt
2018-10-09 19:43:29 +02:00
parent 31b9d497d7
commit b3a41e5c1a
5 changed files with 119 additions and 2 deletions
+35
View File
@@ -0,0 +1,35 @@
#ifndef CLOSEDSPLITS_HPP
#define CLOSEDSPLITS_HPP
#include "common/Channel.hpp"
#include "widgets/helper/NotebookTab.hpp"
#include <deque>
#include <mutex>
#include <utility>
namespace chatterino {
class ClosedSplits
{
public:
struct SplitInfo {
QString channelName;
NotebookTab *tab; // non owning ptr
};
static void invalidateTab(NotebookTab *const tab);
static void push(const SplitInfo &si);
static void push(SplitInfo &&si);
static SplitInfo pop();
static bool empty();
static std::size_t size();
private:
static std::mutex m_;
static std::vector<SplitInfo> closedSplits_;
};
} // namespace chatterino
#endif // CLOSEDSPLITS_HPP