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
This commit is contained in:
Rasmus Karlsson
2017-06-26 16:41:20 +02:00
parent c2e67e4b90
commit 7df7da70cb
56 changed files with 933 additions and 650 deletions
+12 -11
View File
@@ -10,28 +10,29 @@ template <typename T>
class LimitedQueueSnapshot
{
public:
LimitedQueueSnapshot(std::shared_ptr<std::vector<T>> vector, int offset, int size)
: _vector(vector)
, _offset(offset)
, _length(size)
LimitedQueueSnapshot(std::shared_ptr<std::vector<T>> _vector, std::size_t _offset,
std::size_t _size)
: vector(_vector)
, offset(_offset)
, length(_size)
{
}
int getSize()
std::size_t getLength()
{
return _length;
return length;
}
T const &operator[](int index) const
T const &operator[](std::size_t index) const
{
return _vector->at(index + _offset);
return vector->at(index + offset);
}
private:
std::shared_ptr<std::vector<T>> _vector;
std::shared_ptr<std::vector<T>> vector;
int _offset;
int _length;
std::size_t offset;
std::size_t length;
};
} // namespace messages
+2
View File
@@ -20,12 +20,14 @@
namespace chatterino {
namespace messages {
/*
Message::Message(const QString &text)
: text(text)
{
this->words.push_back(
Word(text, Word::Text, ColorScheme::getInstance().SystemMessageColor, text, QString()));
}
*/
Message::Message(const QString &text, const std::vector<Word> &words)
: text(text)
+1 -1
View File
@@ -23,7 +23,7 @@ typedef std::shared_ptr<Message> SharedMessage;
class Message
{
public:
explicit Message(const QString &text);
// explicit Message(const QString &text);
explicit Message(const QString &text, const std::vector<messages::Word> &words);
bool getCanHighlightTab() const;
+8 -4
View File
@@ -33,17 +33,21 @@ void MessageBuilder::appendTimestamp(time_t time)
{
char timeStampBuffer[69];
// TODO(pajlada): Fix this
QColor systemMessageColor(140, 127, 127);
// QColor &systemMessageColor = ColorScheme::getInstance().SystemMessageColor;
// Add word for timestamp with no seconds
strftime(timeStampBuffer, 69, "%H:%M", localtime(&time));
QString timestampNoSeconds(timeStampBuffer);
appendWord(Word(timestampNoSeconds, Word::TimestampNoSeconds,
ColorScheme::getInstance().SystemMessageColor, QString(), QString()));
appendWord(Word(timestampNoSeconds, Word::TimestampNoSeconds, systemMessageColor, QString(),
QString()));
// Add word for timestamp with seconds
strftime(timeStampBuffer, 69, "%H:%M:%S", localtime(&time));
QString timestampWithSeconds(timeStampBuffer);
appendWord(Word(timestampWithSeconds, Word::TimestampWithSeconds,
ColorScheme::getInstance().SystemMessageColor, QString(), QString()));
appendWord(Word(timestampWithSeconds, Word::TimestampWithSeconds, systemMessageColor, QString(),
QString()));
}
QString MessageBuilder::matchLink(const QString &string)
+2 -1
View File
@@ -75,7 +75,7 @@ public:
ButtonTimeout = (1 << 22),
EmojiImage = (1 << 23),
EmojiText = (1 << 34),
EmojiText = (1 << 24),
Default = TimestampNoSeconds | Badges | Username | BitsStatic | FfzEmoteImage |
BttvEmoteImage | BttvGifEmoteImage | TwitchEmoteImage | BitsAmount | Text |
@@ -85,6 +85,7 @@ public:
Word()
{
}
explicit Word(LazyLoadedImage *_image, Type getType, const QString &copytext,
const QString &getTooltip, const Link &getLink = Link());
explicit Word(const QString &_text, Type getType, const QColor &getColor,