blob: 6c170e00b2e5b96d6bb29134769da6768b547db5 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
#include <gtkmm.h>
#include "discord/discord.hpp"
#include "windows/mainwindow.hpp"
#include <memory>
#include "abaddon.hpp"
#ifdef _WIN32
#pragma comment(lib, "crypt32.lib")
#endif
int Abaddon::DoMainLoop() {
m_gtk_app = Gtk::Application::create("com.github.lorpus.abaddon");
MainWindow main;
main.SetAbaddon(this);
main.set_title("Abaddon");
main.show();
m_gtk_app->signal_shutdown().connect([&]() {
m_discord.Stop();
});
/*sigc::connection draw_signal_handler = main.signal_draw().connect([&](const Cairo::RefPtr<Cairo::Context> &ctx) -> bool {
draw_signal_handler.disconnect();
return false;
});*/
return m_gtk_app->run(main);
}
void Abaddon::StartDiscordThread() {
m_discord.Start();
}
void Abaddon::ActionConnect() {
if (!m_discord.IsStarted())
StartDiscordThread();
}
int main(int argc, char **argv) {
Abaddon abaddon;
return abaddon.DoMainLoop();
}
|