mirror-chatterino2/src/windowmanager.hpp
Rasmus Karlsson 7df7da70cb A lot of changes
Remove unused constructor of messages::Message
Fixed LimitedQueueSnapshot _-prefixes
Changed LimitedQueueSnapshot's usage of int to std::size_t
ColorScheme is no longer a singleton
Created a "BaseWidget" class which is pretty much a QWidget except it
has a reference of ColorScheme since most widgets will need a reference
to the style they should use.
BaseWidget can be implemented either with a BaseWidget parent (which
will copy the ColorScheme reference from the parent) or with a
normal QWidget parent and an explicit ColorScheme reference.
Save main window geometry on close
Fix font changing in the Settings Dialog
Update settings library version
2017-06-26 19:53:31 +02:00

38 lines
752 B
C++

#pragma once
#include "widgets/mainwindow.hpp"
#include <mutex>
namespace chatterino {
class ChannelManager;
class ColorScheme;
class WindowManager
{
public:
explicit WindowManager(ChannelManager &_channelManager, ColorScheme &_colorScheme);
ChannelManager &channelManager;
ColorScheme &colorScheme;
void layoutVisibleChatWidgets(Channel *channel = nullptr);
void repaintVisibleChatWidgets(Channel *channel = nullptr);
void repaintGifEmotes();
void updateAll();
widgets::MainWindow &getMainWindow();
void load();
void save();
private:
std::mutex windowMutex;
// TODO(pajlada): Store as a value instead of a pointer
widgets::MainWindow *mainWindow = nullptr;
};
} // namespace chatterino