~ubuntu-branches/ubuntu/wily/packeth/wily

« back to all changes in this revision

Viewing changes to src/support.c

  • Committer: Bazaar Package Importer
  • Author(s): David Paleino
  • Date: 2010-03-04 21:32:00 UTC
  • mfrom: (1.1.4 upstream)
  • Revision ID: james.westby@ubuntu.com-20100304213200-dnrtvqlt9c5nont4
Tags: 1.6.5-1
* New upstream version
* debian/control:
  - updated my email address
  - DMUA removed
  - bumped Standards-Version to 3.8.4 (no changes needed)
  - bumped debhelper dependency to >= 7.0.50~, to use
    overridden rules
  - removed Build-Dependency on quilt
* debian/rules:
  - use dh7
  - rename /usr/bin/packETH to /usr/bin/packeth
* debian/watch updated
* debian/source/format: use 3.0 (quilt)
* debian/patches/:
  - fix_pixmaps.patch removed, fixed upstream
  - fix_warnings.patch updated, and renamed to 01-fix_warnings.patch
  - fix_Makefile.patch removed, fixed in debian/rules
  - 02-fix_typo.patch added
* debian/examples removed, no more available upstream
* debian/packeth.1 manually rewritten, without using docbook sources
* debian/copyright: point to the non-symlink license

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*
 
2
 * DO NOT EDIT THIS FILE - it is generated by Glade.
 
3
 */
 
4
 
 
5
#ifdef HAVE_CONFIG_H
 
6
#  include <config.h>
 
7
#endif
 
8
 
 
9
#include <sys/types.h>
 
10
#include <sys/stat.h>
 
11
#include <unistd.h>
 
12
#include <string.h>
 
13
#include <stdio.h>
 
14
 
 
15
#include <gtk/gtk.h>
 
16
 
 
17
#include "support.h"
 
18
 
 
19
GtkWidget*
 
20
lookup_widget                          (GtkWidget       *widget,
 
21
                                        const gchar     *widget_name)
 
22
{
 
23
  GtkWidget *parent, *found_widget;
 
24
 
 
25
  for (;;)
 
26
    {
 
27
      if (GTK_IS_MENU (widget))
 
28
        parent = gtk_menu_get_attach_widget (GTK_MENU (widget));
 
29
      else
 
30
        parent = widget->parent;
 
31
      if (!parent)
 
32
        parent = (GtkWidget*) g_object_get_data (G_OBJECT (widget), "GladeParentKey");
 
33
      if (parent == NULL)
 
34
        break;
 
35
      widget = parent;
 
36
    }
 
37
 
 
38
  found_widget = (GtkWidget*) g_object_get_data (G_OBJECT (widget),
 
39
                                                 widget_name);
 
40
  if (!found_widget)
 
41
    g_warning ("Widget not found: %s", widget_name);
 
42
  return found_widget;
 
43
}
 
44
 
 
45
static GList *pixmaps_directories = NULL;
 
46
 
 
47
/* Use this function to set the directory containing installed pixmaps. */
 
48
void
 
49
add_pixmap_directory                   (const gchar     *directory)
 
50
{
 
51
  pixmaps_directories = g_list_prepend (pixmaps_directories,
 
52
                                        g_strdup (directory));
 
53
}
 
54
 
 
55
/* This is an internally used function to find pixmap files. */
 
56
static gchar*
 
57
find_pixmap_file                       (const gchar     *filename)
 
58
{
 
59
  GList *elem;
 
60
 
 
61
  /* We step through each of the pixmaps directory to find it. */
 
62
  elem = pixmaps_directories;
 
63
  while (elem)
 
64
    {
 
65
      gchar *pathname = g_strdup_printf ("%s%s%s", (gchar*)elem->data,
 
66
                                         G_DIR_SEPARATOR_S, filename);
 
67
      if (g_file_test (pathname, G_FILE_TEST_EXISTS))
 
68
        return pathname;
 
69
      g_free (pathname);
 
70
      elem = elem->next;
 
71
    }
 
72
  return NULL;
 
73
}
 
74
 
 
75
/* This is an internally used function to create pixmaps. */
 
76
GtkWidget*
 
77
create_pixmap                          (GtkWidget       *widget,
 
78
                                        const gchar     *filename)
 
79
{
 
80
  gchar *pathname = NULL;
 
81
  GtkWidget *pixmap;
 
82
 
 
83
  if (!filename || !filename[0])
 
84
      return gtk_image_new ();
 
85
 
 
86
  pathname = find_pixmap_file (filename);
 
87
 
 
88
  if (!pathname)
 
89
    {
 
90
      g_warning (_("Couldn't find pixmap file: %s"), filename);
 
91
      return gtk_image_new ();
 
92
    }
 
93
 
 
94
  pixmap = gtk_image_new_from_file (pathname);
 
95
  g_free (pathname);
 
96
  return pixmap;
 
97
}
 
98
 
 
99
/* This is an internally used function to create pixmaps. */
 
100
GdkPixbuf*
 
101
create_pixbuf                          (const gchar     *filename)
 
102
{
 
103
  gchar *pathname = NULL;
 
104
  GdkPixbuf *pixbuf;
 
105
  GError *error = NULL;
 
106
 
 
107
  if (!filename || !filename[0])
 
108
      return NULL;
 
109
 
 
110
  pathname = find_pixmap_file (filename);
 
111
 
 
112
  if (!pathname)
 
113
    {
 
114
      g_warning (_("Couldn't find pixmap file: %s"), filename);
 
115
      return NULL;
 
116
    }
 
117
 
 
118
  pixbuf = gdk_pixbuf_new_from_file (pathname, &error);
 
119
  if (!pixbuf)
 
120
    {
 
121
      fprintf (stderr, "Failed to load pixbuf file: %s: %s\n",
 
122
               pathname, error->message);
 
123
      g_error_free (error);
 
124
    }
 
125
  g_free (pathname);
 
126
  return pixbuf;
 
127
}
 
128
 
 
129
/* This is used to set ATK action descriptions. */
 
130
void
 
131
glade_set_atk_action_description       (AtkAction       *action,
 
132
                                        const gchar     *action_name,
 
133
                                        const gchar     *description)
 
134
{
 
135
  gint n_actions, i;
 
136
 
 
137
  n_actions = atk_action_get_n_actions (action);
 
138
  for (i = 0; i < n_actions; i++)
 
139
    {
 
140
      if (!strcmp (atk_action_get_name (action, i), action_name))
 
141
        atk_action_set_description (action, i, description);
 
142
    }
 
143
}
 
144