/* This file is a part of WordExtract project
*
* Copyright (C) 2009 Borisov Alexandr
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*/
#include
#include
#include
#include
#include
#include "interface.h"
#include "dict.h"
#include "word.h"
#include "subtitle.h"
#include "srt.h"
#define PROGNAME "wordextract"
#define OPT_FOLDER "/.wordextract"
#define PATH_LENGTH 50
Language lang;
void create_dict_file(char *path);
int main(int argc, char *argv[])
{
GtkWidget *main_window;
FILE *subtitle;
FILE *fdict;
char optpath[PATH_LENGTH] = {0};
char dictfile[PATH_LENGTH] = {0};
gtk_init(&argc, &argv);
strcpy(optpath, getenv("HOME"));
strcat(optpath, OPT_FOLDER);
strcat(dictfile, optpath);
strcat(dictfile, DICT_FILE);
if (!(fdict = fopen(dictfile, "r"))) {
perror(dictfile);
create_dict_file(optpath);
if (!(fdict = fopen(dictfile, "r"))) {
perror(dictfile);
exit(1);
}
}
dict = load_dict(fdict);
lang = ENG;
main_window = create_main_window();
gtk_widget_show(main_window);
/*main_window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
gtk_window_set_title(GTK_WINDOW(main_window), "WordExtract");
gtk_window_set_default_size(GTK_WINDOW(main_window), 800, 600);
gtk_window_set_position(GTK_WINDOW(main_window), GTK_WIN_POS_CENTER);
gtk_widget_show(main_window);*/
gtk_main();
//TODO: process subtitle extension to detect format
//process_srt(subtitle);
//print_words(words);
//fclose(subtitle);
free_words(dict);
fclose(fdict);
return 0;
}
void create_dict_file(char *path)
{
mode_t mode_0755 = S_IRWXU | S_IRGRP | S_IXGRP | S_IROTH | S_IXOTH;
struct stat st;
FILE *fdict;
char file[PATH_LENGTH] = {0};
if (stat(path, &st)) {
fprintf(stderr, "%s: Creating directory\n", path);
if (mkdir(path, mode_0755)) {
perror(path);
exit(1);
}
}
strcat(file, path);
strcat(file, DICT_FILE);
fprintf(stderr, "%s: Creating blank dictionary file\n", file);
if (!(fdict = fopen(file, "w"))) {
perror(file);
exit(1);
}
fclose(fdict);
}