refined SplitHeader
This commit is contained in:
@@ -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();
|
||||
|
||||
@@ -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);
|
||||
|
||||
|
||||
@@ -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
|
||||
Reference in New Issue
Block a user