/*****************************************************************************/
/* Klavaro - a flexible touch typing tutor */
/* Copyright (C) 2005, 2006, 2007, 2008 Felipe Castro */
/* Copyright (C) 2009, 2010, 2011 Free Software Foundation */
/* */
/* This program is free software, licensed under the terms of the GNU */
/* General Public License as published by the Free Software Foundation, */
/* either version 3 of the License, or (at your option) any later version. */
/* 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 "auxiliar.h"
#include "main.h"
extern GtkBuilder *gui;
GObject *
get_obj (gchar *name)
{
GObject *obj;
obj = gtk_builder_get_object (gui, name);
if (obj == NULL)
g_warning ("Object not found: %s", name);
return (obj);
}
GtkWidget *
get_wg (gchar *name)
{
GObject *obj;
obj = gtk_builder_get_object (gui, name);
if (obj == NULL)
g_warning ("Widget not found: %s", name);
return (GTK_WIDGET (obj));
}
GtkWindow *
get_win (gchar *name)
{
GObject *obj;
obj = gtk_builder_get_object (gui, name);
if (obj == NULL)
g_warning ("Window not found: %s", name);
return (GTK_WINDOW (obj));
}
/* Set an image widget with the name of the file provided in the data dir
*/
void
set_pixmap (gchar *widget, gchar *image)
{
gchar *tmp;
GtkImage *img;
tmp = g_build_filename (main_path_data (), image, NULL);
img = GTK_IMAGE (get_wg (widget));
gtk_image_set_from_file (img, tmp);
g_free (tmp);
}
/* Search for the user directory and create it if not found
*/
void
assert_user_dir ()
{
GDir *dh;
dh = g_dir_open (main_path_user (), 0, NULL);
if (dh == NULL)
{
g_message ("creating an empty user folder:\n %s", main_path_user ());
g_mkdir (main_path_user (), DIR_PERM);
dh = g_dir_open (main_path_user (), 0, NULL);
if (dh == NULL)
g_error ("could not creat a user folder, so we must quit!");
}
g_dir_close (dh);
}
/* Compare two strings, so that it applies to other sorting functions.
*/
gint
compare_string_function (gconstpointer a, gconstpointer b)
{
return (strcasecmp (a, b));
}