refined SplitHeader

This commit is contained in:
fourtf
2018-08-08 15:35:54 +02:00
parent 7a9af4ae84
commit d89b62692a
30 changed files with 422 additions and 464 deletions
+3 -3
View File
@@ -1,18 +1,18 @@
#include "InitUpdateButton.hpp"
#include "widgets/dialogs/UpdateDialog.hpp"
#include "widgets/helper/RippleEffectButton.hpp"
#include "widgets/helper/Button.hpp"
namespace chatterino {
void initUpdateButton(RippleEffectButton &button,
void initUpdateButton(Button &button,
std::unique_ptr<UpdateDialog> &handle,
pajlada::Signals::SignalHolder &signalHolder)
{
button.hide();
// show update prompt when clicking the button
QObject::connect(&button, &RippleEffectButton::clicked, [&button, &handle] {
QObject::connect(&button, &Button::clicked, [&button, &handle] {
(void)(handle);
auto dialog = new UpdateDialog();
+2 -2
View File
@@ -10,10 +10,10 @@ class SignalHolder;
namespace chatterino {
class RippleEffectButton;
class Button;
class UpdateDialog;
void initUpdateButton(RippleEffectButton &button,
void initUpdateButton(Button &button,
std::unique_ptr<UpdateDialog> &handle,
pajlada::Signals::SignalHolder &signalHolder);
+40
View File
@@ -0,0 +1,40 @@
#pragma once
#include <QLayout>
#include <QWidget>
#include <boost/variant.hpp>
namespace chatterino {
using LayoutItem = boost::variant<QWidget *, QLayout *>;
template <typename T>
T *makeLayout(std::initializer_list<LayoutItem> items)
{
auto t = new T;
for (auto &item : items) {
switch (item.which()) {
case 0:
t->addItem(new QWidgetItem(boost::get<QWidget *>(item)));
break;
case 1:
t->addItem(boost::get<QLayout *>(item));
break;
}
}
return t;
}
template <typename T, typename With>
T *makeWidget(With with)
{
auto t = new T;
with(t);
return t;
}
} // namespace chatterino