AutoCatGnome/main.cpp

55 lines
1.4 KiB
C++

#include "gui/MainWindow.h"
#include "gui/LoginWindow.h"
#include "services/Settings.h"
#include "gtkpp/Application.h"
#include "gtkpp/Window.h"
#include <gtkmm/application.h>
#include <glibmm.h>
#include <gtkmm.h>
#include <memory>
#include <folly/init/Init.h>
#include <iostream>
//std::unique_ptr<Gtk::Window> createStartWindow() {
// auto settings = Settings::instance();
// if(settings.user().token.empty()) {
// return std::make_unique<LoginWindow>();
// } else {
// return std::make_unique<MainWindow>();
// }
//}
int main(int argc, char* argv[]) {
folly::init(&argc, &argv);
// auto app = Gtk::Application::create("pro.aliencat.aliencat");
// auto window = createStartWindow();
//
// app->signal_activate().connect([&](){
// app->add_window(*window);
// window->show();
// });
// return app->run(argc, argv);
auto app = std::make_shared<gtkpp::Application>("pro.aliencat.autocat");
app->onActivate([&](){
auto settings = Settings::instance();
if(settings.user().token.empty()) {
auto window = std::make_shared<LoginWindow>();
app->addWindow(window);
window->setTitle("Login");
window->show();
} else {
auto window = std::make_unique<gtkpp::Window>(app);
window->setTitle("Some title");
window->show();
}
});
return app->run(argc, argv);
}