mirror-chatterino2/src/widgets/selectchanneldialog.hpp

62 lines
1.3 KiB
C++
Raw Normal View History

2018-04-18 09:12:29 +02:00
#pragma once
#include "channel.hpp"
#include "widgets/basewindow.hpp"
#include "widgets/notebook.hpp"
#include <pajlada/signals/signal.hpp>
#include <QLabel>
#include <QRadioButton>
namespace chatterino {
namespace widgets {
class SelectChannelDialog : public BaseWindow
{
public:
SelectChannelDialog();
2018-04-20 19:54:45 +02:00
void setSelectedChannel(IndirectChannel selectedChannel);
IndirectChannel getSelectedChannel() const;
2018-04-18 09:12:29 +02:00
bool hasSeletedChannel() const;
pajlada::Signals::NoArgSignal closed;
protected:
virtual void closeEvent(QCloseEvent *) override;
2018-04-18 09:33:05 +02:00
virtual void themeRefreshEvent() override;
2018-04-18 09:12:29 +02:00
private:
class EventFilter : public QObject
{
public:
SelectChannelDialog *dialog;
protected:
virtual bool eventFilter(QObject *watched, QEvent *event) override;
};
struct {
2018-05-23 11:59:37 +02:00
Notebook *notebook;
2018-04-18 09:12:29 +02:00
struct {
QRadioButton *channel;
QLineEdit *channelName;
QRadioButton *whispers;
QRadioButton *mentions;
QRadioButton *watching;
} twitch;
2018-06-11 15:04:54 +02:00
} ui_;
2018-04-18 09:12:29 +02:00
EventFilter tabFilter;
ChannelPtr selectedChannel;
bool _hasSelectedChannel = false;
void ok();
friend class EventFilter;
};
} // namespace widgets
} // namespace chatterino