/* 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); }