mirror of https://gitlab.com/cppit/jucipp
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
49 lines
1.4 KiB
49 lines
1.4 KiB
#include "juci.h" |
|
|
|
void init_logging() { |
|
add_common_attributes(); |
|
add_file_log(keywords::file_name = "juci.log", |
|
keywords::auto_flush = true); |
|
INFO("Logging initalized"); |
|
} |
|
|
|
int Juci::on_command_line(const Glib::RefPtr<Gio::ApplicationCommandLine> &cmd) { |
|
Glib::set_prgname("juci"); |
|
Glib::OptionContext ctx("[PATH ...]"); |
|
Glib::OptionGroup gtk_group(gtk_get_option_group(true)); |
|
ctx.add_group(gtk_group); |
|
int argc; |
|
char **argv = cmd->get_arguments(argc); |
|
ctx.parse(argc, argv); |
|
if(argc>=2) { |
|
for(int c=1;c<argc;c++) { |
|
boost::filesystem::path p=boost::filesystem::canonical(argv[c]); |
|
if(boost::filesystem::exists(p)) { |
|
if(boost::filesystem::is_regular_file(p)) |
|
files.emplace_back(p.string()); |
|
else if(directory=="" && boost::filesystem::is_directory(p)) |
|
directory=p.string(); |
|
} |
|
} |
|
} |
|
activate(); |
|
return 0; |
|
} |
|
|
|
void Juci::on_activate() { |
|
window = std::unique_ptr<Window>(new Window()); |
|
add_window(*window); |
|
window->show(); |
|
if(directory!="") { |
|
//TODO: use the following instead, window->notebook.open_directory(directory); |
|
window->notebook.project_path=directory; |
|
window->notebook.directories.open_folder(directory); |
|
} |
|
for(auto &f: files) |
|
window->notebook.OnOpenFile(f); |
|
} |
|
|
|
int main(int argc, char *argv[]) { |
|
init_logging(); |
|
return Juci().run(argc, argv); |
|
}
|
|
|