~ubuntu-branches/ubuntu/saucy/gnome-control-center/saucy-proposed

« back to all changes in this revision

Viewing changes to panels/printers/pp-cups.c

  • Committer: Package Import Robot
  • Author(s): Sebastien Bacher, Sebastien Bacher, Robert Ancell, Iain Lane, Edward Donovan, Rico Tzschichholz, Jeremy Bicha, David Henningsson
  • Date: 2012-11-21 19:32:45 UTC
  • mfrom: (1.1.63)
  • Revision ID: package-import@ubuntu.com-20121121193245-mj61nzz1z4fk3z25
Tags: 1:3.6.3-0ubuntu1
[ Sebastien Bacher ]
* New upstream version
* debian/control.in: recommends libcanberra-pulse (lp: #1004973)
* debian/patches/58_ubuntu_icon_views_redesign.patch:
  - drop most of the changes, keep the different grid size though
    to fit on screen with our extra icons
* debian/patches/91_dont_show_in_unity.patch:
  - dropped, show the upstream printer panel and the layout tab
* debian/patches/revert_git_keyboard_gsettings.patch,
  debian/patches/revert_git_stop_using_gconf.patch:
  - dropped the gconf->gsettings reverts

[ Robert Ancell ]
* New upstream release (LP: #1010317)
* debian/control:
  - Bump build-depends on libgnome-desktop-3-dev, libwacom-dev
  - Add build-depends on libclutter-1.0-dev, libclutter-gtk-1.0-dev,
    libpwquality-dev
  - Drop build-depends on libgnomekbd-dev
* debian/patches/60_ubuntu_nav_bar.patch:
  - Disabled for now, doesn't apply
* debian/patches/revert_ua_gsettings.patch:
  - We can use GSettings for universal access now
* debian/patches/00git_online_accounts_gtkgrid.patch:
* debian/patches/00git_online_accounts_layout.part:
* debian/patches/git_wacom_translations.patch:
  - Applied upstream

[ Iain Lane ]
* Add Build-Depends on libxkbfile-dev
* New upstream release.
* Refresh all patches to apply cleanly.

[ Edward Donovan ]
* debian/source_gnome-control-center.py: Fix for Python 3. (LP: #1013171)

[ Rico Tzschichholz ]
* debian/control.in:
  - Build-depend on gtk-doc-tools instead of docbook directly
  - Bump minimum glib-2.0, gnome-desktop3, gnome-settings-daemon
     and gsettings-desktop-schemas

[ Jeremy Bicha ]
* Dropped more patches applied in new version:
  - git_unmute_sound_event.patch
  - git_fix_big_editable_labels.patch
  - 96_sound_nua_panel.patch
* debian/patches/04_new_appearance_settings.patch:
  - Dropped, this is now packaged separately as gnome-control-center-unity
* debian/patches/10_keyboard_layout_on_unity.patch:
  - Don't change the keyboard panel name when not running Unity
* debian/patches/52_ubuntu_language_list_mods.patch:
  - Don't disable adding current language to the list. While this
    fix shows the current language twice, at least it avoids the
    "Ubuntu suddenly in Chinese" bug (LP: #1035219)
* debian/patches/53_use_ubuntu_help.patch:
  - Only show Ubuntu help when running Unity
* debian/patches/58_hide_gdm_notifications.patch:
  - Hide "Show notifications when locked" settings when running Unity
    since it's a GNOME Shell-specific feature
* debian/patches/63_normal_scrollbar_in_a11y.patch:
  - Drop, overlay-scrollbars should handle this instead
* debian/patches/91_dont_show_in_unity.patch:
  - Hide Printers & Region panels in Unity until we're ready to switch
    to them.
* debian/patches/fix-crash-on-user-panel.patch:
  - Dropped, GNOME says it's obsolete
* debian/rules:
  - Build with -z,defs again
  - Explicitly disable ibus support since ibus 1.4 isn't supported in
    this version
* debian/control.in:
  - Drop ubuntu-docs and gnome-user-guide from recommends to suggests
  - Don't recommend indicators; let's leave that to Unity

[ David Henningsson ]
* sound_nua_panel.patch: Rebase to gnome 3.6 

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
 
2
 *
 
3
 * Copyright 2012  Red Hat, Inc,
 
4
 *
 
5
 * This program is free software; you can redistribute it and/or modify
 
6
 * it under the terms of the GNU General Public License as published by
 
7
 * the Free Software Foundation; either version 2 of the License, or
 
8
 * (at your option) any later version.
 
9
 *
 
10
 * This program is distributed in the hope that it will be useful,
 
11
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 
12
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 
13
 * GNU General Public License for more details.
 
14
 *
 
15
 * You should have received a copy of the GNU General Public License
 
16
 * along with this program; if not, write to the Free Software
 
17
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 
18
 *
 
19
 * Author: Marek Kasik <mkasik@redhat.com>
 
20
 */
 
21
 
 
22
#include "pp-cups.h"
 
23
 
 
24
G_DEFINE_TYPE (PpCups, pp_cups, G_TYPE_OBJECT);
 
25
 
 
26
static void
 
27
pp_cups_finalize (GObject *object)
 
28
{
 
29
  G_OBJECT_CLASS (pp_cups_parent_class)->finalize (object);
 
30
}
 
31
 
 
32
static void
 
33
pp_cups_class_init (PpCupsClass *klass)
 
34
{
 
35
  GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
 
36
 
 
37
  gobject_class->finalize = pp_cups_finalize;
 
38
}
 
39
 
 
40
static void
 
41
pp_cups_init (PpCups *cups)
 
42
{
 
43
}
 
44
 
 
45
PpCups *
 
46
pp_cups_new ()
 
47
{
 
48
  return g_object_new (PP_TYPE_CUPS, NULL);
 
49
}
 
50
 
 
51
typedef struct
 
52
{
 
53
  PpCupsDests *dests;
 
54
} CGDData;
 
55
 
 
56
static void
 
57
_pp_cups_get_dests_thread (GSimpleAsyncResult *res,
 
58
                           GObject            *object,
 
59
                           GCancellable       *cancellable)
 
60
{
 
61
  CGDData *data;
 
62
 
 
63
  data = g_simple_async_result_get_op_res_gpointer (res);
 
64
 
 
65
  data->dests = g_new0 (PpCupsDests, 1);
 
66
  data->dests->num_of_dests = cupsGetDests (&data->dests->dests);
 
67
}
 
68
 
 
69
static void
 
70
cgd_data_free (CGDData *data)
 
71
{
 
72
  if (data)
 
73
    {
 
74
      if (data->dests)
 
75
        {
 
76
          cupsFreeDests (data->dests->num_of_dests, data->dests->dests);
 
77
          g_free (data->dests);
 
78
        }
 
79
 
 
80
      g_free (data);
 
81
    }
 
82
}
 
83
 
 
84
void
 
85
pp_cups_get_dests_async (PpCups              *cups,
 
86
                         GCancellable        *cancellable,
 
87
                         GAsyncReadyCallback  callback,
 
88
                         gpointer             user_data)
 
89
{
 
90
  GSimpleAsyncResult *res;
 
91
  CGDData            *data;
 
92
 
 
93
  res = g_simple_async_result_new (G_OBJECT (cups), callback, user_data, pp_cups_get_dests_async);
 
94
  data = g_new0 (CGDData, 1);
 
95
  data->dests = NULL;
 
96
 
 
97
  g_simple_async_result_set_check_cancellable (res, cancellable);
 
98
  g_simple_async_result_set_op_res_gpointer (res, data, (GDestroyNotify) cgd_data_free);
 
99
  g_simple_async_result_run_in_thread (res, _pp_cups_get_dests_thread, 0, cancellable);
 
100
 
 
101
  g_object_unref (res);
 
102
}
 
103
 
 
104
PpCupsDests *
 
105
pp_cups_get_dests_finish (PpCups        *cups,
 
106
                          GAsyncResult  *res,
 
107
                          GError       **error)
 
108
{
 
109
  GSimpleAsyncResult *simple = G_SIMPLE_ASYNC_RESULT (res);
 
110
  PpCupsDests        *result = NULL;
 
111
  CGDData            *data;
 
112
 
 
113
  g_warn_if_fail (g_simple_async_result_get_source_tag (simple) == pp_cups_get_dests_async);
 
114
 
 
115
  if (g_simple_async_result_propagate_error (simple, error))
 
116
    {
 
117
      return NULL;
 
118
    }
 
119
 
 
120
  data = g_simple_async_result_get_op_res_gpointer (simple);
 
121
  result = data->dests;
 
122
  data->dests = NULL;
 
123
 
 
124
  return result;
 
125
}