X-Git-Url: http://research.m1stereo.tv/gitweb?a=blobdiff_plain;f=src%2Fmain.c;h=5d7c6a3591e306c84c19aab073ebb7d2dfa3c110;hb=4327370bd9e07150bdeea7df0416f87f0417b8ab;hp=4a4dd8355d1497e0fc7ee924e0b160893ca64ec0;hpb=8c2cc339159f5e4a7e5d1edf0de373c2946e93a9;p=melted_gui diff --git a/src/main.c b/src/main.c index 4a4dd83..5d7c6a3 100644 --- a/src/main.c +++ b/src/main.c @@ -1,6 +1,6 @@ /* - * main.c -- GTK+ 2 omnplay - * Copyright (C) 2011 Maksym Veremeyenko + * main.c -- GTK+ 2 melted gui + * Copyright (C) 2012 Maksym Veremeyenko * * 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 @@ -31,13 +31,38 @@ #include #include "ui.h" -#include "omnplay.h" +#include "instance.h" #include "support.h" +#ifdef _WIN32 +#include +#include + +char *strcasestr(char *haystack, char *needle) +{ + char *p, *startn = 0, *np = 0; + + for (p = haystack; *p; p++) { + if (np) { + if (toupper(*p) == toupper(*np)) { + if (!*++np) + return startn; + } else + np = 0; + } else if (toupper(*p) == toupper(*needle)) { + np = needle + 1; + startn = p; + } + } + + return 0; +}; +#endif /* _WIN32 */ + int main(int argc, char **argv) { - char path[ 512 ]; - omnplay_instance_t *app = NULL; + char path[ 512 ], *buf; + instance_t *app = NULL; #ifdef ENABLE_NLS bindtextdomain (GETTEXT_PACKAGE, PACKAGE_LOCALE_DIR); @@ -50,31 +75,48 @@ int main(int argc, char **argv) gtk_set_locale(); gtk_init(&argc, &argv); + memset(path, 0, sizeof(path)); #ifdef _WIN32 + GetModuleFileName(NULL, path, sizeof(path)); +// g_warning("GetModuleFileName [%s]\n", path); + if((buf = strstr(path, "\\bin\\" PACKAGE ".exe"))) + { + buf[0] = 0; + strcat(path, "\\share\\" PACKAGE "\\pixmaps"); + } #else // Linux hack to determine path of the executable - readlink( "/proc/self/exe", path, 512); - if ( strstr( path, "/bin/rugen" ) ) + readlink( "/proc/self/exe", path, sizeof(path)); + g_warning ("path=(%s)\n", path); + if((buf = strstr(path, "/bin/" PACKAGE))) { - ( *strstr( path, "/bin/rugen" ) ) = '\0'; - strcat( path, "/share/rugen/pixmaps" ); - add_pixmap_directory( path ); + buf[0] = 0; + strcat(path, "/share/" PACKAGE "/pixmaps"); } - else + else if((buf = strstr(path, "/src/" PACKAGE))) { - add_pixmap_directory( PACKAGE_DATA_DIR "/" PACKAGE "/pixmaps" ); + buf[0] = 0; + strcat( path, "/pixmaps" ); } + else + snprintf(path, sizeof(path), "%s/%s/pixmaps", PACKAGE_DATA_DIR, PACKAGE); #endif /* _WIN32 */ - app = omnplay_create(argc, argv); - gtk_widget_show (app->window); + add_pixmap_directory( path ); + g_warning ("add_pixmap_directory(%s)\n", path); + + app = instance_create(argc, argv); - gdk_threads_enter(); - omnplay_init(app); - gtk_main (); - gdk_threads_leave(); + if(app->window) + { + gtk_widget_show (app->window); + gdk_threads_enter(); + instance_init(app); + gtk_main (); + gdk_threads_leave(); + }; - omnplay_close(app); + instance_destroy(app); return 0; }