Merge lp:~noskcaj/ubuntu/vivid/gnome-system-tools/merge into lp:ubuntu/vivid/gnome-system-tools

Proposed by Jackson Doak
Status: Merged
Merge reported by: Martin Pitt
Merged at revision: not available
Proposed branch: lp:~noskcaj/ubuntu/vivid/gnome-system-tools/merge
Merge into: lp:ubuntu/vivid/gnome-system-tools
Diff against target: 9235 lines (+214/-8373)
59 files modified
.pc/01_wait_for_backends.patch/src/common/gst-tool.c (+0/-718)
.pc/10_disable_interfaces.patch/interfaces/network.ui (+0/-1817)
.pc/10_disable_interfaces.patch/src/network/network-tool.c (+0/-283)
.pc/11_dont_show_shares.patch/src/shares/shares.desktop.in.in (+0/-15)
.pc/12_fix_exit.patch/src/users/users-tool.c (+0/-304)
.pc/25_sambashare_group_definition.patch/src/users/privileges-table.c (+0/-278)
.pc/26_user_profiles_conf.patch/src/users/user-profiles.conf.in (+0/-10)
.pc/61_outdated_docs.patch/doc/services/Makefile.am (+0/-15)
.pc/61_outdated_docs.patch/doc/time/Makefile.am (+0/-18)
.pc/62_no_gettext.patch/configure.in (+0/-350)
.pc/80_gst-packages-common.patch/src/common/Makefile.am (+0/-28)
.pc/80_gst-packages-common.patch/src/common/gst.h (+0/-6)
.pc/81_gst-packages-shares-admin.patch/src/shares/shares-tool.c (+0/-240)
.pc/82_gst-packages-time-admin.patch/src/time/time-tool.c (+0/-774)
.pc/91_shares_services_detection.patch/src/shares/shares-tool.c (+0/-293)
.pc/91_shares_services_detection.patch/src/shares/shares-tool.h (+0/-66)
.pc/95_timezone_point_selection.patch/src/time/tz-map.c (+0/-432)
.pc/96_ubuntu_ntp_pool.patch/src/time/ntp-servers-list.c (+0/-295)
.pc/applied-patches (+0/-20)
.pc/fix-missing-header-ftbfs-amd64.patch/src/network/connection.c (+0/-927)
.pc/gthread.patch/configure.in (+0/-348)
.pc/hide_properties.patch/src/users/callbacks.c (+0/-303)
.pc/remove_g_thread_init.patch/src/network/main.c (+0/-207)
.pc/remove_g_thread_init.patch/src/shares/main.c (+0/-124)
.pc/the_admin_group_is_sudo.patch/src/users/user-profiles.conf.in (+0/-10)
.pc/the_admin_group_is_sudo.patch/src/users/user-settings.h (+0/-52)
.pc/time-libm.patch/src/time/Makefile.am (+0/-29)
configure.in (+3/-2)
debian/changelog (+50/-0)
debian/control (+7/-8)
debian/control.in (+6/-7)
debian/copyright (+31/-28)
debian/patches/50_fix_system_tools_pc.patch (+15/-0)
debian/patches/dont-ignore-oobsresult.patch (+19/-0)
debian/patches/series (+2/-1)
doc/services/Makefile.am (+3/-0)
doc/time/Makefile.am (+3/-0)
interfaces/network.ui (+2/-2)
src/common/Makefile.am (+0/-1)
src/common/gst-package.c (+0/-201)
src/common/gst-package.h (+0/-35)
src/common/gst-tool.c (+0/-7)
src/common/gst.h (+0/-1)
src/network/connection.c (+0/-1)
src/network/main.c (+1/-0)
src/network/network-tool.c (+0/-5)
src/shares/main.c (+1/-0)
src/shares/shares-tool.c (+27/-66)
src/shares/shares-tool.h (+1/-0)
src/shares/shares.desktop.in.in (+0/-1)
src/time/Makefile.am (+1/-1)
src/time/ntp-servers-list.c (+27/-6)
src/time/time-tool.c (+1/-17)
src/time/tz-map.c (+1/-2)
src/users/callbacks.c (+3/-8)
src/users/privileges-table.c (+0/-1)
src/users/user-profiles.conf.in (+2/-2)
src/users/user-settings.h (+1/-1)
src/users/users-tool.c (+7/-7)
To merge this branch: bzr merge lp:~noskcaj/ubuntu/vivid/gnome-system-tools/merge
Reviewer Review Type Date Requested Status
Martin Pitt Approve
Review via email: mp+245257@code.launchpad.net

Description of the change

Merge from debian

To post a comment you must log in.
Revision history for this message
Martin Pitt (pitti) wrote :

This drops 12_fix_exit.patch from debian/patches/series, which certainly isn't intended? This looks like a bug in Debian's package.

I uploaded this with putting back the above. Thanks!

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== removed directory '.pc/01_wait_for_backends.patch'
2=== removed directory '.pc/01_wait_for_backends.patch/src'
3=== removed directory '.pc/01_wait_for_backends.patch/src/common'
4=== removed file '.pc/01_wait_for_backends.patch/src/common/gst-tool.c'
5--- .pc/01_wait_for_backends.patch/src/common/gst-tool.c 2011-12-16 17:08:20 +0000
6+++ .pc/01_wait_for_backends.patch/src/common/gst-tool.c 1970-01-01 00:00:00 +0000
7@@ -1,718 +0,0 @@
8-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
9-/*
10- * Copyright (C) 2001 Ximian, Inc.
11- *
12- * This program is free software; you can redistribute it and/or modify
13- * it under the terms of the GNU General Public License as
14- * published by the Free Software Foundation; either version 2 of the
15- * License, or (at your option) any later version.
16- *
17- * This program is distributed in the hope that it will be useful,
18- * but WITHOUT ANY WARRANTY; without even the implied warranty of
19- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20- * GNU General Public License for more details.
21- *
22- * You should have received a copy of the GNU General Public License
23- * along with this program; if not, write to the Free Software
24- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
25- *
26- * Authors: Jacob Berkman <jacob@ximian.com>
27- * Hans Petter Jansson <hpj@ximian.com>
28- * Carlos Garnacho Parro <carlosg@gnome.org>
29- */
30-
31-#include <config.h>
32-#include <glib.h>
33-#include <glib/gi18n.h>
34-#include <time.h>
35-
36-#include <stdlib.h>
37-
38-#include <string.h>
39-#include "gst-tool.h"
40-#include "gst-dialog.h"
41-#include "gst-platform-dialog.h"
42-
43-enum {
44- PLATFORM_LIST_COL_LOGO,
45- PLATFORM_LIST_COL_NAME,
46- PLATFORM_LIST_COL_ID,
47- PLATFORM_LIST_COL_LAST
48-};
49-
50-enum {
51- OPERATION_COMMIT,
52- OPERATION_UPDATE
53-};
54-
55-static void gst_tool_class_init (GstToolClass *class);
56-static void gst_tool_init (GstTool *tool);
57-static void gst_tool_finalize (GObject *object);
58-
59-static GObject* gst_tool_constructor (GType type,
60- guint n_construct_properties,
61- GObjectConstructParam *construct_params);
62-static void gst_tool_set_property (GObject *object,
63- guint prop_id,
64- const GValue *value,
65- GParamSpec *pspec);
66-
67-static void gst_tool_impl_close (GstTool *tool);
68-
69-enum {
70- PROP_0,
71- PROP_NAME,
72- PROP_TITLE,
73- PROP_ICON,
74- PROP_SHOW_LOCK_BUTTON
75-};
76-
77-typedef struct _GstAsyncData {
78- GstTool *tool;
79- OobsObjectAsyncFunc func;
80- gpointer data;
81-} GstAsyncData;
82-
83-G_DEFINE_ABSTRACT_TYPE (GstTool, gst_tool, G_TYPE_OBJECT);
84-
85-static void
86-gst_tool_class_init (GstToolClass *class)
87-{
88- GObjectClass *object_class = G_OBJECT_CLASS (class);
89-
90- object_class->set_property = gst_tool_set_property;
91- object_class->constructor = gst_tool_constructor;
92- object_class->finalize = gst_tool_finalize;
93-
94- class->close = gst_tool_impl_close;
95- class->update_gui = NULL;
96- class->update_config = NULL;
97-
98- g_object_class_install_property (object_class,
99- PROP_NAME,
100- g_param_spec_string ("name",
101- "name",
102- "Tool name",
103- NULL,
104- G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY));
105- g_object_class_install_property (object_class,
106- PROP_TITLE,
107- g_param_spec_string ("title",
108- "title",
109- "Tool title",
110- NULL,
111- G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY));
112- g_object_class_install_property (object_class,
113- PROP_ICON,
114- g_param_spec_string ("icon",
115- "icon",
116- "Tool icon",
117- NULL,
118- G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY));
119-
120- g_object_class_install_property (object_class,
121- PROP_SHOW_LOCK_BUTTON,
122- g_param_spec_boolean ("show_lock_button",
123- "Show lock button",
124- "Whether to show lock button",
125- TRUE,
126- G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY));
127-}
128-
129-static gboolean
130-report_window_close_cb (GtkWidget *widget, GdkEventAny *event, gpointer data)
131-{
132- gtk_widget_hide (widget);
133- return TRUE;
134-}
135-
136-static GtkBuilder *
137-gst_tool_load_common_ui (GstTool *tool)
138-{
139- GtkBuilder *builder;
140-
141- g_return_val_if_fail (tool != NULL, NULL);
142- g_return_val_if_fail (GST_IS_TOOL (tool), NULL);
143- g_return_val_if_fail (tool->common_ui_path != NULL, NULL);
144-
145- builder = gtk_builder_new ();
146-
147- if (!gtk_builder_add_from_file (builder, tool->common_ui_path, NULL)) {
148- g_error ("Could not load %s\n", tool->common_ui_path);
149- }
150-
151- return builder;
152-}
153-
154-static void
155-gst_tool_init (GstTool *tool)
156-{
157- GdkPixbuf *pixbuf;
158- GtkBuilder *builder;
159-
160- tool->icon_theme = gtk_icon_theme_get_default ();
161- tool->common_ui_path = INTERFACES_DIR "/common.ui";
162-
163- tool->session = oobs_session_get ();
164-
165- builder = gst_tool_load_common_ui (tool);
166-
167- tool->report_window = GTK_WIDGET (gtk_builder_get_object (builder, "report_window"));
168- tool->report_label = GTK_WIDGET (gtk_builder_get_object (builder, "report_label"));
169- tool->report_progress = GTK_WIDGET (gtk_builder_get_object (builder, "report_progress"));
170- tool->report_pixmap = GTK_WIDGET (gtk_builder_get_object (builder, "report_pixmap"));
171- g_signal_connect (G_OBJECT (tool->report_window), "delete_event",
172- G_CALLBACK (report_window_close_cb), tool);
173-
174- pixbuf = gtk_icon_theme_load_icon (tool->icon_theme, "gnome-system-config", 48, 0, NULL);
175- gtk_image_set_from_pixbuf (GTK_IMAGE (tool->report_pixmap), pixbuf);
176-
177- if (pixbuf)
178- g_object_unref (pixbuf);
179-
180- tool->objects = g_ptr_array_new ();
181-
182- g_object_unref (builder);
183-}
184-
185-/* Handle all oobs errors but OOBS_RESULT_NO_PLATFORM, which should only happen on start */
186-static void
187-show_oobs_error_dialog (GstTool *tool,
188- int operation,
189- OobsResult result)
190-{
191- GtkWidget *dialog;
192- const gchar *primary_text, *secondary_text;
193-
194- if (operation == OPERATION_UPDATE)
195- primary_text = N_("The configuration could not be loaded");
196- else /* OPERATION_COMMIT */
197- primary_text = N_("The configuration could not be saved");
198-
199- if (result == OOBS_RESULT_ACCESS_DENIED) {
200- if (operation == OPERATION_UPDATE)
201- secondary_text = N_("You are not allowed to access the system configuration.");
202- else /* OPERATION_COMMIT */
203- secondary_text = N_("You are not allowed to modify the system configuration.");
204- }
205- else if (result == OOBS_RESULT_MALFORMED_DATA)
206- secondary_text = N_("Invalid data was found.");
207- else /* OOBS_RESULT_ERROR */
208- secondary_text = N_("An unknown error occurred.");
209-
210- dialog = gtk_message_dialog_new (GTK_WINDOW (tool->main_dialog),
211- GTK_DIALOG_MODAL,
212- GTK_MESSAGE_ERROR,
213- GTK_BUTTONS_CLOSE,
214- "%s", _(primary_text));
215- gtk_message_dialog_format_secondary_text (GTK_MESSAGE_DIALOG (dialog),
216- "%s", _(secondary_text));
217- gtk_dialog_run (GTK_DIALOG (dialog));
218- gtk_widget_destroy (dialog);
219-}
220-
221-static GObject*
222-gst_tool_constructor (GType type,
223- guint n_construct_properties,
224- GObjectConstructParam *construct_params)
225-{
226- GObject *object;
227- GstTool *tool;
228- gchar *widget_name;
229- GtkWidget *dialog;
230- OobsResult result;
231-
232- object = (* G_OBJECT_CLASS (gst_tool_parent_class)->constructor) (type,
233- n_construct_properties,
234- construct_params);
235- tool = GST_TOOL (object);
236-
237- if (tool->title)
238- g_set_application_name (tool->title);
239-
240- if (tool->icon)
241- gtk_window_set_default_icon_name (tool->icon);
242-
243- if (tool->name) {
244- tool->ui_path = g_strdup_printf (INTERFACES_DIR "/%s.ui", tool->name);
245-
246- widget_name = g_strdup_printf ("%s_admin", tool->name);
247- tool->main_dialog = gst_dialog_new (tool, widget_name, tool->title, tool->show_lock_button);
248- g_free (widget_name);
249- }
250-
251- result = oobs_session_get_platform (tool->session, NULL);
252- if (result == OOBS_RESULT_NO_PLATFORM) {
253- dialog = gst_platform_dialog_new (tool->session);
254- gtk_dialog_run (GTK_DIALOG (dialog));
255- gtk_widget_destroy (dialog);
256- }
257- else if (result != OOBS_RESULT_OK) {
258- show_oobs_error_dialog (tool, OPERATION_UPDATE, result);
259- exit (-1);
260- }
261-
262- gst_tool_update_async (tool);
263-
264- return object;
265-}
266-
267-static void
268-gst_tool_set_property (GObject *object,
269- guint prop_id,
270- const GValue *value,
271- GParamSpec *pspec)
272-{
273- GstTool *tool = GST_TOOL (object);
274-
275- switch (prop_id) {
276- case PROP_NAME:
277- tool->name = g_value_dup_string (value);
278- break;
279- case PROP_TITLE:
280- tool->title = g_value_dup_string (value);
281- break;
282- case PROP_ICON:
283- tool->icon = g_value_dup_string (value);
284- break;
285- case PROP_SHOW_LOCK_BUTTON:
286- tool->show_lock_button = g_value_get_boolean (value);
287- break;
288- }
289-}
290-
291-static void
292-gst_tool_finalize (GObject *object)
293-{
294- GstTool *tool = GST_TOOL (object);
295-
296- g_free (tool->name);
297- g_free (tool->title);
298- g_free (tool->icon);
299- g_free (tool->ui_path);
300-
301- if (tool->session)
302- g_object_unref (tool->session);
303-
304- if (tool->main_dialog)
305- gtk_widget_destroy (GTK_WIDGET (tool->main_dialog));
306-
307- if (tool->report_window)
308- gtk_widget_destroy (tool->report_window);
309-
310- g_ptr_array_free (tool->objects, FALSE);
311-
312- (* G_OBJECT_CLASS (gst_tool_parent_class)->finalize) (object);
313-}
314-
315-static void
316-gst_tool_impl_close (GstTool *tool)
317-{
318- gtk_widget_hide (GTK_WIDGET (tool->main_dialog));
319-
320- /* process necessary events to hide the dialog */
321- while (gtk_events_pending ())
322- gtk_main_iteration ();
323-
324- /* process pending async requests */
325- oobs_session_process_requests (tool->session);
326-
327-
328- g_object_unref (tool);
329- gtk_main_quit ();
330-}
331-
332-void
333-gst_tool_update_gui (GstTool *tool)
334-{
335- g_return_if_fail (GST_IS_TOOL (tool));
336-
337- if (GST_TOOL_GET_CLASS (tool)->update_gui)
338- (* GST_TOOL_GET_CLASS (tool)->update_gui) (tool);
339-}
340-
341-void
342-gst_tool_update_config (GstTool *tool)
343-{
344- g_return_if_fail (GST_IS_TOOL (tool));
345-
346- if (GST_TOOL_GET_CLASS (tool)->update_config)
347- (* GST_TOOL_GET_CLASS (tool)->update_config) (tool);
348-}
349-
350-void
351-gst_tool_close (GstTool *tool)
352-{
353- g_return_if_fail (GST_IS_TOOL (tool));
354-
355- if (GST_TOOL_GET_CLASS (tool)->close)
356- (* GST_TOOL_GET_CLASS (tool)->close) (tool);
357-}
358-
359-void
360-gst_init_tool (const gchar *app_name, int argc, char *argv [], GOptionEntry *entries)
361-{
362- GOptionContext *context;
363-
364- bindtextdomain (GETTEXT_PACKAGE, GNOMELOCALEDIR);
365- bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8");
366- textdomain (GETTEXT_PACKAGE);
367-
368- if (entries) {
369- context = g_option_context_new (NULL);
370- g_option_context_add_main_entries (context, entries, GETTEXT_PACKAGE);
371- g_option_context_add_group (context, gtk_get_option_group (TRUE));
372- g_option_context_parse (context, &argc, &argv, NULL);
373- g_option_context_free (context);
374- }
375-
376- gtk_init (&argc, &argv);
377-}
378-
379-void
380-gst_tool_show_help (GstTool *tool, gchar *section)
381-{
382- GdkScreen *screen;
383- GError *error = NULL;
384- GdkAppLaunchContext *launch_context;
385- GAppInfo *app_info;
386- GtkWidget *dialog;
387- gchar *help_file, *help_file_xml, *command, *uri;
388- const gchar **langs, *lang;
389- gint i;
390-
391- langs = (const gchar **) g_get_language_names ();
392- help_file = g_strdup_printf ("%s-admin", tool->name);
393- help_file_xml = g_strdup_printf ("%s-admin.xml", tool->name);
394-
395- for (i = 0; langs[i]; i++) {
396- lang = langs[i];
397-
398- if (strchr (lang, '.')) {
399- continue;
400- }
401-
402- uri = g_build_filename(DATADIR,
403- "/gnome/help/",
404- help_file,
405- lang,
406- help_file_xml,
407- NULL);
408-
409- if (g_file_test (uri, G_FILE_TEST_EXISTS)) {
410- break;
411- }
412- }
413-
414- if (section) {
415- command = g_strconcat ("gnome-help ghelp://", uri, "?", section, NULL);
416- } else {
417- command = g_strconcat ("gnome-help ghelp://", uri, NULL);
418- }
419-
420-
421- app_info = g_app_info_create_from_commandline (command, _("Help"),
422- G_APP_INFO_CREATE_NONE,
423- &error);
424-
425- screen = gtk_window_get_screen (GTK_WINDOW (tool->main_dialog));
426-
427- g_free (command);
428- g_free (uri);
429- g_free (help_file_xml);
430- g_free (help_file);
431-
432- if (error)
433- goto error;
434-
435- launch_context = gdk_app_launch_context_new ();
436- gdk_app_launch_context_set_screen (launch_context, screen);
437- g_app_info_launch (app_info, NULL, G_APP_LAUNCH_CONTEXT (launch_context), &error);
438-
439- g_object_unref (launch_context);
440- g_object_unref (app_info);
441-
442- if (error)
443- goto error;
444-
445- return;
446-
447-error:
448- dialog = gtk_message_dialog_new (GTK_WINDOW (tool->main_dialog),
449- GTK_DIALOG_MODAL,
450- GTK_MESSAGE_ERROR,
451- GTK_BUTTONS_CLOSE,
452- _("Could not display help"));
453- gtk_message_dialog_format_secondary_text (GTK_MESSAGE_DIALOG (dialog),
454- "%s", error->message);
455- gtk_dialog_run (GTK_DIALOG (dialog));
456- gtk_widget_destroy (dialog);
457- g_error_free (error);
458-}
459-
460-static gboolean
461-gst_tool_report_progress_animate (GstTool *tool)
462-{
463- gtk_progress_bar_pulse (GTK_PROGRESS_BAR (tool->report_progress));
464- return TRUE;
465-}
466-
467-static gboolean
468-gst_tool_report_window_timeout (GstTool *tool)
469-{
470- gtk_window_set_transient_for (GTK_WINDOW (tool->report_window), GTK_WINDOW (tool->main_dialog));
471- gtk_widget_show (tool->report_window);
472-
473- tool->report_timeout_id = 0;
474- return FALSE;
475-}
476-
477-static void
478-gst_tool_show_report_window (GstTool *tool, const gchar *report)
479-{
480- gchar *markup;
481-
482- if (tool->report_timeout_id != 0)
483- return;
484-
485- if (report) {
486- markup = g_strdup_printf ("<span weight=\"bold\" size=\"larger\">%s</span>", report);
487- gtk_label_set_markup (GTK_LABEL (tool->report_label), markup);
488- g_free (markup);
489-
490- tool->report_timeout_id = g_timeout_add (2000, (GSourceFunc) gst_tool_report_window_timeout, tool);
491- tool->report_animate_id = g_timeout_add (150, (GSourceFunc) gst_tool_report_progress_animate, tool);
492- }
493-}
494-
495-static void
496-gst_tool_hide_report_window (GstTool *tool)
497-{
498- if (tool->report_timeout_id) {
499- g_source_remove (tool->report_timeout_id);
500- tool->report_timeout_id = 0;
501- }
502-
503- if (tool->report_animate_id) {
504- g_source_remove (tool->report_animate_id);
505- tool->report_animate_id = 0;
506- }
507-
508- gtk_widget_hide (tool->report_window);
509-}
510-
511-/* Simple wrapper around oobs_object_commit() that shows an error if needed */
512-OobsResult
513-gst_tool_commit (GstTool *tool,
514- OobsObject *object)
515-{
516- OobsResult result = oobs_object_commit (object);
517-
518- if (result != OOBS_RESULT_OK)
519- show_oobs_error_dialog (tool, OPERATION_COMMIT, result);
520-
521- return result;
522-}
523-
524-/* Same as gst_tool_commit, but taking the result from an already run operation.
525- Used for non-standard commit methods, such as oobs_users_config_add_user(). */
526-void
527-gst_tool_commit_error (GstTool *tool,
528- OobsResult result)
529-{
530- if (result != OOBS_RESULT_OK)
531- show_oobs_error_dialog (tool, OPERATION_COMMIT, result);
532-}
533-
534-static void
535-on_commit_finalized (OobsObject *object,
536- OobsResult result,
537- gpointer data)
538-{
539- GstAsyncData *user_data = (GstAsyncData *) data;
540-
541- gst_tool_hide_report_window (user_data->tool);
542-
543- if (result != OOBS_RESULT_OK)
544- show_oobs_error_dialog (user_data->tool, OPERATION_COMMIT, result);
545-
546- if (user_data->func)
547- (* user_data->func) (object, result, user_data->data);
548-
549- g_slice_free (GstAsyncData, user_data);
550-}
551-
552-void
553-gst_tool_commit_async (GstTool *tool,
554- OobsObject *object,
555- const gchar *message,
556- OobsObjectAsyncFunc func,
557- gpointer data)
558-{
559- GstAsyncData *user_data;
560-
561- user_data = g_slice_new (GstAsyncData);
562- user_data->tool = tool;
563- user_data->func = func;
564- user_data->data = data;
565-
566- tool->last_commit_time = time (NULL);
567-
568- if (message)
569- gst_tool_show_report_window (tool, message);
570-
571- oobs_object_commit_async (object, on_commit_finalized, user_data);
572-}
573-
574-static void
575-update_async_func (OobsObject *object,
576- OobsResult result,
577- gpointer data)
578-{
579- GstTool *tool = GST_TOOL (data);
580- gst_dialog_thaw (tool->main_dialog);
581-
582- if (gst_dialog_get_freeze_level (tool->main_dialog) == 0) {
583- /* everything is now updated */
584- gst_tool_update_config (tool);
585- gst_tool_update_gui (tool);
586- }
587-}
588-
589-void
590-gst_tool_update_async (GstTool *tool)
591-{
592- guint i;
593-
594- g_return_if_fail (GST_IS_TOOL (tool));
595-
596- for (i = 0; i < tool->objects->len; i++) {
597- OobsObject *object = g_ptr_array_index (tool->objects, i);
598-
599- gst_dialog_freeze (tool->main_dialog);
600- oobs_object_update_async (object,
601- update_async_func,
602- tool);
603- }
604-}
605-
606-GtkIconTheme*
607-gst_tool_get_icon_theme (GstTool *tool)
608-{
609- return tool->icon_theme;
610-}
611-
612-static void
613-configuration_object_changed (OobsObject *object,
614- GstTool *tool)
615-{
616- gboolean do_update = TRUE;
617- time_t current_time;
618-
619- current_time = time (NULL);
620-
621- /* If we get ::changed shortly after having committed,
622- * there's a good chance that the tool has been the
623- * origin of the change. Of course there could be the
624- * possibility that this isn't true, but will happen
625- * quite rarely.
626- */
627- if (current_time - tool->last_commit_time <= 2)
628- return;
629-
630- if (gst_dialog_get_editing (tool->main_dialog)) {
631- GtkWidget *parent, *dialog;
632- gint response;
633-
634- if (tool->configuration_changed_dialog)
635- return;
636-
637- parent = gst_dialog_get_topmost_edit_dialog (tool->main_dialog);
638- dialog = gtk_message_dialog_new (GTK_WINDOW (parent),
639- GTK_DIALOG_MODAL,
640- GTK_MESSAGE_QUESTION,
641- GTK_BUTTONS_YES_NO,
642- _("The system configuration has potentially changed."));
643- gtk_message_dialog_format_secondary_text (GTK_MESSAGE_DIALOG (dialog),
644- _("Update content? This will lose any modification in course."));
645- tool->configuration_changed_dialog = dialog;
646-
647- response = gtk_dialog_run (GTK_DIALOG (dialog));
648- do_update = (response == GTK_RESPONSE_YES);
649-
650- gtk_widget_destroy (dialog);
651- tool->configuration_changed_dialog = NULL;
652- }
653-
654- if (do_update) {
655- gst_dialog_stop_editing (tool->main_dialog);
656- gst_tool_update_async (tool);
657- }
658-}
659-
660-static void
661-configuration_object_committed (OobsObject *object,
662- GstTool *tool)
663-{
664- tool->last_commit_time = time (NULL);
665-}
666-
667-void
668-gst_tool_add_configuration_object (GstTool *tool,
669- OobsObject *object,
670- gboolean watch_updates)
671-{
672- g_return_if_fail (GST_IS_TOOL (tool));
673- g_return_if_fail (OOBS_IS_OBJECT (object));
674-
675- g_signal_connect (object, "committed",
676- G_CALLBACK (configuration_object_committed), tool);
677-
678- /* For child objects like OobsUser or OobsService, we don't want
679- * to get updates directly: instead, we update OobsUsersConfig and OobsServicesConfig,
680- * and drop old child objects.
681- */
682- if (watch_updates) {
683- g_ptr_array_add (tool->objects, object);
684-
685- g_signal_connect (object, "changed",
686- G_CALLBACK (configuration_object_changed), tool);
687- }
688-}
689-
690-/*
691- * Wrapper around oobs_object_authenticate() to show an error dialog if needed.
692- */
693-gboolean
694-gst_tool_authenticate (GstTool *tool,
695- OobsObject *object)
696-{
697- gboolean result;
698- GError *error = NULL;
699-
700- result = oobs_object_authenticate (object, &error);
701-
702- /* Don't show an error if the user manually cancelled authentication */
703- if (error && error->code != OOBS_ERROR_AUTHENTICATION_CANCELLED) {
704- GtkWidget *dialog;
705-
706- dialog = gtk_message_dialog_new (GTK_WINDOW (tool->main_dialog),
707- GTK_DIALOG_MODAL,
708- GTK_MESSAGE_ERROR,
709- GTK_BUTTONS_CLOSE,
710- "%s",
711- _("You are not allowed to modify the system configuration."));
712- gtk_message_dialog_format_secondary_text (GTK_MESSAGE_DIALOG (dialog),
713- _("An error occurred while checking for authorizations: %s\n"
714- "You may report this as a bug."),
715- error->message);
716- gtk_dialog_run (GTK_DIALOG (dialog));
717-
718- gtk_widget_destroy (dialog);
719- }
720-
721- if (error)
722- g_error_free (error);
723-
724- return result;
725-}
726
727=== removed directory '.pc/10_disable_interfaces.patch'
728=== removed directory '.pc/10_disable_interfaces.patch/interfaces'
729=== removed file '.pc/10_disable_interfaces.patch/interfaces/network.ui'
730--- .pc/10_disable_interfaces.patch/interfaces/network.ui 2011-12-16 17:08:20 +0000
731+++ .pc/10_disable_interfaces.patch/interfaces/network.ui 1970-01-01 00:00:00 +0000
732@@ -1,1817 +0,0 @@
733-<?xml version="1.0"?>
734-<interface>
735- <requires lib="gtk+" version="2.16"/>
736- <!-- interface-naming-policy project-wide -->
737- <object class="GtkListStore" id="liststore1">
738- <columns>
739- <!-- column-name item -->
740- <column type="gchararray"/>
741- </columns>
742- <data>
743- <row>
744- <col id="0" translatable="yes">Off</col>
745- </row>
746- <row>
747- <col id="0" translatable="yes">Low</col>
748- </row>
749- <row>
750- <col id="0" translatable="yes">Medium</col>
751- </row>
752- <row>
753- <col id="0" translatable="yes">Loud</col>
754- </row>
755- </data>
756- </object>
757- <object class="GtkListStore" id="liststore2">
758- <columns>
759- <!-- column-name item -->
760- <column type="gchararray"/>
761- </columns>
762- <data>
763- <row>
764- <col id="0" translatable="yes">Tones</col>
765- </row>
766- <row>
767- <col id="0" translatable="yes">Pulses</col>
768- </row>
769- </data>
770- </object>
771- <object class="GtkListStore" id="liststore3">
772- <columns>
773- <!-- column-name item -->
774- <column type="gchararray"/>
775- </columns>
776- <data>
777- <row>
778- <col id="0">/dev/modem</col>
779- </row>
780- <row>
781- <col id="0">/dev/ttyS0</col>
782- </row>
783- <row>
784- <col id="0">/dev/ttyS1</col>
785- </row>
786- <row>
787- <col id="0">/dev/ttyS2</col>
788- </row>
789- <row>
790- <col id="0">/dev/ttyS3</col>
791- </row>
792- </data>
793- </object>
794- <object class="GtkListStore" id="liststore4">
795- <columns>
796- <!-- column-name item -->
797- <column type="gchararray"/>
798- </columns>
799- </object>
800- <object class="GtkListStore" id="liststore5">
801- <columns>
802- <!-- column-name item -->
803- <column type="gchararray"/>
804- </columns>
805- <data>
806- <row>
807- <col id="0" translatable="yes">Plain (ASCII)</col>
808- </row>
809- <row>
810- <col id="0" translatable="yes">Hexadecimal</col>
811- </row>
812- </data>
813- </object>
814- <object class="GtkWindow" id="main_dialog">
815- <child>
816- <object class="GtkVBox" id="network_admin">
817- <property name="visible">True</property>
818- <property name="border_width">6</property>
819- <property name="spacing">12</property>
820- <child>
821- <object class="GtkHBox" id="locations_box">
822- <property name="visible">True</property>
823- <property name="spacing">6</property>
824- <child>
825- <object class="GtkLabel" id="label2">
826- <property name="visible">True</property>
827- <property name="label" translatable="yes">Location:</property>
828- </object>
829- <packing>
830- <property name="expand">False</property>
831- <property name="fill">False</property>
832- <property name="position">0</property>
833- </packing>
834- </child>
835- <child>
836- <object class="GtkComboBox" id="locations_combo">
837- <property name="visible">True</property>
838- </object>
839- <packing>
840- <property name="position">1</property>
841- </packing>
842- </child>
843- <child>
844- <object class="GtkButton" id="add_location">
845- <property name="visible">True</property>
846- <property name="can_focus">True</property>
847- <property name="receives_default">False</property>
848- <property name="tooltip_text" translatable="yes">Save current network configuration as a location</property>
849- <accelerator key="A" signal="clicked" modifiers="GDK_MOD1_MASK"/>
850- <child>
851- <object class="GtkImage" id="image9">
852- <property name="visible">True</property>
853- <property name="stock">gtk-save</property>
854- </object>
855- </child>
856- </object>
857- <packing>
858- <property name="expand">False</property>
859- <property name="fill">False</property>
860- <property name="position">2</property>
861- </packing>
862- </child>
863- <child>
864- <object class="GtkButton" id="remove_location">
865- <property name="visible">True</property>
866- <property name="can_focus">True</property>
867- <property name="receives_default">False</property>
868- <property name="tooltip_text" translatable="yes">Delete current location</property>
869- <accelerator key="R" signal="clicked" modifiers="GDK_MOD1_MASK"/>
870- <child>
871- <object class="GtkImage" id="image10">
872- <property name="visible">True</property>
873- <property name="stock">gtk-delete</property>
874- </object>
875- </child>
876- </object>
877- <packing>
878- <property name="expand">False</property>
879- <property name="fill">False</property>
880- <property name="position">3</property>
881- </packing>
882- </child>
883- </object>
884- <packing>
885- <property name="expand">False</property>
886- <property name="fill">False</property>
887- <property name="position">0</property>
888- </packing>
889- </child>
890- <child>
891- <object class="GtkNotebook" id="notebook1">
892- <property name="visible">True</property>
893- <property name="can_focus">True</property>
894- <child>
895- <object class="GtkHBox" id="hbox3">
896- <property name="visible">True</property>
897- <property name="border_width">12</property>
898- <property name="spacing">6</property>
899- <child>
900- <object class="GtkScrolledWindow" id="scrolledwindow1">
901- <property name="visible">True</property>
902- <property name="can_focus">True</property>
903- <property name="hscrollbar_policy">automatic</property>
904- <property name="vscrollbar_policy">automatic</property>
905- <property name="shadow_type">in</property>
906- <child>
907- <object class="GtkTreeView" id="interfaces_list">
908- <property name="width_request">290</property>
909- <property name="height_request">194</property>
910- <property name="visible">True</property>
911- <property name="can_focus">True</property>
912- <property name="headers_visible">False</property>
913- <property name="rules_hint">True</property>
914- <property name="enable_search">False</property>
915- </object>
916- </child>
917- </object>
918- <packing>
919- <property name="position">0</property>
920- </packing>
921- </child>
922- <child>
923- <object class="GtkVButtonBox" id="vbuttonbox1">
924- <property name="visible">True</property>
925- <property name="spacing">6</property>
926- <property name="layout_style">start</property>
927- <child>
928- <object class="GtkButton" id="properties_button">
929- <property name="label">gtk-properties</property>
930- <property name="visible">True</property>
931- <property name="sensitive">False</property>
932- <property name="can_focus">True</property>
933- <property name="can_default">True</property>
934- <property name="receives_default">False</property>
935- <property name="use_stock">True</property>
936- </object>
937- <packing>
938- <property name="expand">False</property>
939- <property name="fill">False</property>
940- <property name="position">0</property>
941- </packing>
942- </child>
943- </object>
944- <packing>
945- <property name="expand">False</property>
946- <property name="fill">False</property>
947- <property name="position">1</property>
948- </packing>
949- </child>
950- </object>
951- </child>
952- <child type="tab">
953- <object class="GtkLabel" id="label3">
954- <property name="visible">True</property>
955- <property name="label" translatable="yes">Connections</property>
956- </object>
957- <packing>
958- <property name="tab_fill">False</property>
959- </packing>
960- </child>
961- <child>
962- <object class="GtkFrame" id="frame3">
963- <property name="visible">True</property>
964- <property name="border_width">12</property>
965- <property name="label_xalign">0</property>
966- <property name="shadow_type">none</property>
967- <child>
968- <object class="GtkAlignment" id="alignment11">
969- <property name="visible">True</property>
970- <property name="left_padding">12</property>
971- <child>
972- <object class="GtkTable" id="table4">
973- <property name="visible">True</property>
974- <property name="n_rows">2</property>
975- <property name="n_columns">2</property>
976- <property name="column_spacing">12</property>
977- <property name="row_spacing">6</property>
978- <child>
979- <object class="GtkLabel" id="label38">
980- <property name="visible">True</property>
981- <property name="xalign">0</property>
982- <property name="label" translatable="yes">_Host name:</property>
983- <property name="use_underline">True</property>
984- <property name="mnemonic_widget">hostname</property>
985- </object>
986- <packing>
987- <property name="x_options">GTK_FILL</property>
988- <property name="y_options"></property>
989- </packing>
990- </child>
991- <child>
992- <object class="GtkLabel" id="label39">
993- <property name="visible">True</property>
994- <property name="xalign">0</property>
995- <property name="label" translatable="yes">D_omain name:</property>
996- <property name="use_underline">True</property>
997- <property name="mnemonic_widget">domain</property>
998- </object>
999- <packing>
1000- <property name="top_attach">1</property>
1001- <property name="bottom_attach">2</property>
1002- <property name="x_options">GTK_FILL</property>
1003- <property name="y_options"></property>
1004- </packing>
1005- </child>
1006- <child>
1007- <object class="GtkEntry" id="hostname">
1008- <property name="visible">True</property>
1009- <property name="can_focus">True</property>
1010- </object>
1011- <packing>
1012- <property name="left_attach">1</property>
1013- <property name="right_attach">2</property>
1014- <property name="y_options"></property>
1015- </packing>
1016- </child>
1017- <child>
1018- <object class="GtkEntry" id="domain">
1019- <property name="visible">True</property>
1020- <property name="can_focus">True</property>
1021- </object>
1022- <packing>
1023- <property name="left_attach">1</property>
1024- <property name="right_attach">2</property>
1025- <property name="top_attach">1</property>
1026- <property name="bottom_attach">2</property>
1027- <property name="y_options"></property>
1028- </packing>
1029- </child>
1030- </object>
1031- </child>
1032- </object>
1033- </child>
1034- <child type="label">
1035- <object class="GtkLabel" id="label37">
1036- <property name="visible">True</property>
1037- <property name="label" translatable="yes">Host Settings</property>
1038- <attributes>
1039- <attribute name="weight" value="bold"/>
1040- </attributes>
1041- </object>
1042- </child>
1043- </object>
1044- <packing>
1045- <property name="position">1</property>
1046- </packing>
1047- </child>
1048- <child type="tab">
1049- <object class="GtkLabel" id="label4">
1050- <property name="visible">True</property>
1051- <property name="label" translatable="yes">General</property>
1052- </object>
1053- <packing>
1054- <property name="position">1</property>
1055- <property name="tab_fill">False</property>
1056- </packing>
1057- </child>
1058- <child>
1059- <object class="GtkVBox" id="vbox7">
1060- <property name="visible">True</property>
1061- <property name="border_width">12</property>
1062- <property name="spacing">18</property>
1063- <child>
1064- <object class="GtkFrame" id="frame1">
1065- <property name="visible">True</property>
1066- <property name="label_xalign">0</property>
1067- <property name="shadow_type">none</property>
1068- <child>
1069- <object class="GtkAlignment" id="alignment9">
1070- <property name="visible">True</property>
1071- <property name="left_padding">12</property>
1072- <child>
1073- <object class="GtkHBox" id="hbox10">
1074- <property name="visible">True</property>
1075- <property name="spacing">6</property>
1076- <child>
1077- <object class="GtkScrolledWindow" id="scrolledwindow2">
1078- <property name="visible">True</property>
1079- <property name="can_focus">True</property>
1080- <property name="hscrollbar_policy">automatic</property>
1081- <property name="vscrollbar_policy">automatic</property>
1082- <property name="shadow_type">in</property>
1083- <child>
1084- <object class="GtkTreeView" id="dns_list">
1085- <property name="visible">True</property>
1086- <property name="can_focus">True</property>
1087- <property name="headers_visible">False</property>
1088- <property name="reorderable">True</property>
1089- <property name="rules_hint">True</property>
1090- <property name="enable_search">False</property>
1091- </object>
1092- </child>
1093- </object>
1094- <packing>
1095- <property name="position">0</property>
1096- </packing>
1097- </child>
1098- <child>
1099- <object class="GtkVButtonBox" id="vbuttonbox2">
1100- <property name="visible">True</property>
1101- <property name="spacing">6</property>
1102- <property name="layout_style">start</property>
1103- <child>
1104- <object class="GtkButton" id="dns_list_add">
1105- <property name="label">gtk-add</property>
1106- <property name="visible">True</property>
1107- <property name="can_focus">True</property>
1108- <property name="can_default">True</property>
1109- <property name="receives_default">False</property>
1110- <property name="use_stock">True</property>
1111- </object>
1112- <packing>
1113- <property name="expand">False</property>
1114- <property name="fill">False</property>
1115- <property name="position">0</property>
1116- </packing>
1117- </child>
1118- <child>
1119- <object class="GtkButton" id="dns_list_delete">
1120- <property name="label">gtk-delete</property>
1121- <property name="visible">True</property>
1122- <property name="can_focus">True</property>
1123- <property name="can_default">True</property>
1124- <property name="receives_default">False</property>
1125- <property name="use_stock">True</property>
1126- </object>
1127- <packing>
1128- <property name="expand">False</property>
1129- <property name="fill">False</property>
1130- <property name="position">1</property>
1131- </packing>
1132- </child>
1133- </object>
1134- <packing>
1135- <property name="expand">False</property>
1136- <property name="fill">False</property>
1137- <property name="position">1</property>
1138- </packing>
1139- </child>
1140- </object>
1141- </child>
1142- </object>
1143- </child>
1144- <child type="label">
1145- <object class="GtkLabel" id="label35">
1146- <property name="visible">True</property>
1147- <property name="label" translatable="yes">DNS Servers</property>
1148- <attributes>
1149- <attribute name="weight" value="bold"/>
1150- </attributes>
1151- </object>
1152- </child>
1153- </object>
1154- <packing>
1155- <property name="position">0</property>
1156- </packing>
1157- </child>
1158- <child>
1159- <object class="GtkFrame" id="frame2">
1160- <property name="visible">True</property>
1161- <property name="label_xalign">0</property>
1162- <property name="shadow_type">none</property>
1163- <child>
1164- <object class="GtkAlignment" id="alignment10">
1165- <property name="visible">True</property>
1166- <property name="left_padding">12</property>
1167- <child>
1168- <object class="GtkHBox" id="hbox11">
1169- <property name="visible">True</property>
1170- <property name="spacing">6</property>
1171- <child>
1172- <object class="GtkScrolledWindow" id="scrolledwindow3">
1173- <property name="visible">True</property>
1174- <property name="can_focus">True</property>
1175- <property name="hscrollbar_policy">automatic</property>
1176- <property name="vscrollbar_policy">automatic</property>
1177- <property name="shadow_type">in</property>
1178- <child>
1179- <object class="GtkTreeView" id="search_domain_list">
1180- <property name="visible">True</property>
1181- <property name="can_focus">True</property>
1182- <property name="headers_visible">False</property>
1183- <property name="reorderable">True</property>
1184- <property name="rules_hint">True</property>
1185- <property name="enable_search">False</property>
1186- </object>
1187- </child>
1188- </object>
1189- <packing>
1190- <property name="position">0</property>
1191- </packing>
1192- </child>
1193- <child>
1194- <object class="GtkVButtonBox" id="vbuttonbox3">
1195- <property name="visible">True</property>
1196- <property name="spacing">6</property>
1197- <property name="layout_style">start</property>
1198- <child>
1199- <object class="GtkButton" id="search_domain_add">
1200- <property name="label">gtk-add</property>
1201- <property name="visible">True</property>
1202- <property name="can_focus">True</property>
1203- <property name="can_default">True</property>
1204- <property name="receives_default">False</property>
1205- <property name="use_stock">True</property>
1206- </object>
1207- <packing>
1208- <property name="expand">False</property>
1209- <property name="fill">False</property>
1210- <property name="position">0</property>
1211- </packing>
1212- </child>
1213- <child>
1214- <object class="GtkButton" id="search_domain_delete">
1215- <property name="label">gtk-delete</property>
1216- <property name="visible">True</property>
1217- <property name="can_focus">True</property>
1218- <property name="can_default">True</property>
1219- <property name="receives_default">False</property>
1220- <property name="use_stock">True</property>
1221- </object>
1222- <packing>
1223- <property name="expand">False</property>
1224- <property name="fill">False</property>
1225- <property name="position">1</property>
1226- </packing>
1227- </child>
1228- </object>
1229- <packing>
1230- <property name="expand">False</property>
1231- <property name="fill">False</property>
1232- <property name="position">1</property>
1233- </packing>
1234- </child>
1235- </object>
1236- </child>
1237- </object>
1238- </child>
1239- <child type="label">
1240- <object class="GtkLabel" id="label36">
1241- <property name="visible">True</property>
1242- <property name="label" translatable="yes">Search Domains</property>
1243- <attributes>
1244- <attribute name="weight" value="bold"/>
1245- </attributes>
1246- </object>
1247- </child>
1248- </object>
1249- <packing>
1250- <property name="position">1</property>
1251- </packing>
1252- </child>
1253- </object>
1254- <packing>
1255- <property name="position">2</property>
1256- </packing>
1257- </child>
1258- <child type="tab">
1259- <object class="GtkLabel" id="label5">
1260- <property name="visible">True</property>
1261- <property name="label" translatable="yes">DNS</property>
1262- </object>
1263- <packing>
1264- <property name="position">2</property>
1265- <property name="tab_fill">False</property>
1266- </packing>
1267- </child>
1268- <child>
1269- <object class="GtkHBox" id="hbox12">
1270- <property name="visible">True</property>
1271- <property name="border_width">12</property>
1272- <property name="spacing">6</property>
1273- <child>
1274- <object class="GtkScrolledWindow" id="scrolledwindow5">
1275- <property name="visible">True</property>
1276- <property name="can_focus">True</property>
1277- <property name="hscrollbar_policy">automatic</property>
1278- <property name="vscrollbar_policy">automatic</property>
1279- <property name="shadow_type">in</property>
1280- <child>
1281- <object class="GtkTreeView" id="host_aliases_list">
1282- <property name="visible">True</property>
1283- <property name="can_focus">True</property>
1284- <property name="rules_hint">True</property>
1285- <property name="enable_search">False</property>
1286- </object>
1287- </child>
1288- </object>
1289- <packing>
1290- <property name="position">0</property>
1291- </packing>
1292- </child>
1293- <child>
1294- <object class="GtkVButtonBox" id="vbuttonbox4">
1295- <property name="visible">True</property>
1296- <property name="spacing">6</property>
1297- <property name="layout_style">start</property>
1298- <child>
1299- <object class="GtkButton" id="host_aliases_add">
1300- <property name="label">gtk-add</property>
1301- <property name="visible">True</property>
1302- <property name="can_focus">True</property>
1303- <property name="can_default">True</property>
1304- <property name="receives_default">False</property>
1305- <property name="use_stock">True</property>
1306- </object>
1307- <packing>
1308- <property name="expand">False</property>
1309- <property name="fill">False</property>
1310- <property name="position">0</property>
1311- </packing>
1312- </child>
1313- <child>
1314- <object class="GtkButton" id="host_aliases_properties">
1315- <property name="label">gtk-properties</property>
1316- <property name="visible">True</property>
1317- <property name="can_focus">True</property>
1318- <property name="can_default">True</property>
1319- <property name="receives_default">False</property>
1320- <property name="use_stock">True</property>
1321- </object>
1322- <packing>
1323- <property name="expand">False</property>
1324- <property name="fill">False</property>
1325- <property name="position">1</property>
1326- </packing>
1327- </child>
1328- <child>
1329- <object class="GtkButton" id="host_aliases_delete">
1330- <property name="label">gtk-delete</property>
1331- <property name="visible">True</property>
1332- <property name="can_focus">True</property>
1333- <property name="can_default">True</property>
1334- <property name="receives_default">False</property>
1335- <property name="use_stock">True</property>
1336- </object>
1337- <packing>
1338- <property name="expand">False</property>
1339- <property name="fill">False</property>
1340- <property name="position">2</property>
1341- </packing>
1342- </child>
1343- </object>
1344- <packing>
1345- <property name="expand">False</property>
1346- <property name="fill">False</property>
1347- <property name="position">1</property>
1348- </packing>
1349- </child>
1350- </object>
1351- <packing>
1352- <property name="position">3</property>
1353- </packing>
1354- </child>
1355- <child type="tab">
1356- <object class="GtkLabel" id="label6">
1357- <property name="visible">True</property>
1358- <property name="label" translatable="yes">Hosts</property>
1359- </object>
1360- <packing>
1361- <property name="position">3</property>
1362- <property name="tab_fill">False</property>
1363- </packing>
1364- </child>
1365- </object>
1366- <packing>
1367- <property name="position">1</property>
1368- </packing>
1369- </child>
1370- </object>
1371- </child>
1372- </object>
1373- <object class="GtkDialog" id="connection_config_dialog">
1374- <property name="border_width">5</property>
1375- <property name="title" translatable="yes">Interface properties</property>
1376- <property name="resizable">False</property>
1377- <property name="modal">True</property>
1378- <property name="type_hint">dialog</property>
1379- <child internal-child="vbox">
1380- <object class="GtkVBox" id="dialog-vbox3">
1381- <property name="visible">True</property>
1382- <child>
1383- <object class="GtkNotebook" id="connection_notebook">
1384- <property name="visible">True</property>
1385- <property name="can_focus">True</property>
1386- <property name="border_width">6</property>
1387- <child>
1388- <object class="GtkVBox" id="connection_general_page">
1389- <property name="visible">True</property>
1390- <property name="border_width">12</property>
1391- <property name="spacing">18</property>
1392- <child>
1393- <object class="GtkVBox" id="connection_device_settings">
1394- <property name="visible">True</property>
1395- <property name="spacing">6</property>
1396- <child>
1397- <object class="GtkCheckButton" id="connection_device_active">
1398- <property name="label" translatable="yes">E_nable this connection</property>
1399- <property name="visible">True</property>
1400- <property name="can_focus">True</property>
1401- <property name="receives_default">False</property>
1402- <property name="use_underline">True</property>
1403- <property name="draw_indicator">True</property>
1404- </object>
1405- <packing>
1406- <property name="expand">False</property>
1407- <property name="fill">False</property>
1408- <property name="position">0</property>
1409- </packing>
1410- </child>
1411- <child>
1412- <object class="GtkCheckButton" id="connection_device_roaming">
1413- <property name="label" translatable="yes">E_nable roaming mode</property>
1414- <property name="visible">True</property>
1415- <property name="can_focus">True</property>
1416- <property name="receives_default">False</property>
1417- <property name="use_underline">True</property>
1418- <property name="draw_indicator">True</property>
1419- </object>
1420- <packing>
1421- <property name="expand">False</property>
1422- <property name="fill">False</property>
1423- <property name="position">1</property>
1424- </packing>
1425- </child>
1426- <child>
1427- <object class="GtkHBox" id="connection_ppp_type_box">
1428- <property name="visible">True</property>
1429- <property name="spacing">6</property>
1430- <child>
1431- <object class="GtkLabel" id="label80">
1432- <property name="visible">True</property>
1433- <property name="label" translatable="yes">Connection type:</property>
1434- </object>
1435- <packing>
1436- <property name="expand">False</property>
1437- <property name="fill">False</property>
1438- <property name="position">0</property>
1439- </packing>
1440- </child>
1441- <child>
1442- <object class="GtkComboBox" id="connection_ppp_type">
1443- <property name="visible">True</property>
1444- <child>
1445- <object class="GtkCellRendererText" id="cellrenderertext6"/>
1446- <attributes>
1447- <attribute name="text">0</attribute>
1448- </attributes>
1449- </child>
1450- </object>
1451- <packing>
1452- <property name="position">1</property>
1453- </packing>
1454- </child>
1455- </object>
1456- <packing>
1457- <property name="expand">False</property>
1458- <property name="position">2</property>
1459- </packing>
1460- </child>
1461- </object>
1462- <packing>
1463- <property name="expand">False</property>
1464- <property name="position">0</property>
1465- </packing>
1466- </child>
1467- <child>
1468- <object class="GtkFrame" id="connection_wireless">
1469- <property name="visible">True</property>
1470- <property name="sensitive">False</property>
1471- <property name="label_xalign">0</property>
1472- <property name="shadow_type">none</property>
1473- <child>
1474- <object class="GtkAlignment" id="alignment12">
1475- <property name="visible">True</property>
1476- <property name="left_padding">12</property>
1477- <child>
1478- <object class="GtkTable" id="table6">
1479- <property name="visible">True</property>
1480- <property name="border_width">6</property>
1481- <property name="n_rows">3</property>
1482- <property name="n_columns">2</property>
1483- <property name="column_spacing">12</property>
1484- <property name="row_spacing">6</property>
1485- <child>
1486- <object class="GtkLabel" id="label44">
1487- <property name="visible">True</property>
1488- <property name="xalign">0</property>
1489- <property name="label" translatable="yes">Network name (_ESSID):</property>
1490- <property name="use_underline">True</property>
1491- <property name="mnemonic_widget">connection_essid</property>
1492- </object>
1493- <packing>
1494- <property name="x_options">GTK_FILL</property>
1495- <property name="y_options"></property>
1496- </packing>
1497- </child>
1498- <child>
1499- <object class="GtkComboBox" id="connection_essid">
1500- <property name="visible">True</property>
1501- <property name="has-entry">True</property>
1502- </object>
1503- <packing>
1504- <property name="left_attach">1</property>
1505- <property name="right_attach">2</property>
1506- <property name="x_options">GTK_FILL</property>
1507- <property name="y_options">GTK_FILL</property>
1508- </packing>
1509- </child>
1510- <child>
1511- <object class="GtkLabel" id="label45">
1512- <property name="visible">True</property>
1513- <property name="xalign">0</property>
1514- <property name="label" translatable="yes">Network _password:</property>
1515- <property name="use_underline">True</property>
1516- <property name="mnemonic_widget">connection_wep_key</property>
1517- </object>
1518- <packing>
1519- <property name="top_attach">2</property>
1520- <property name="bottom_attach">3</property>
1521- <property name="x_options">GTK_FILL</property>
1522- <property name="y_options"></property>
1523- </packing>
1524- </child>
1525- <child>
1526- <object class="GtkEntry" id="connection_wep_key">
1527- <property name="visible">True</property>
1528- <property name="can_focus">True</property>
1529- <property name="visibility">False</property>
1530- <property name="activates_default">True</property>
1531- </object>
1532- <packing>
1533- <property name="left_attach">1</property>
1534- <property name="right_attach">2</property>
1535- <property name="top_attach">2</property>
1536- <property name="bottom_attach">3</property>
1537- <property name="y_options"></property>
1538- </packing>
1539- </child>
1540- <child>
1541- <object class="GtkLabel" id="label79">
1542- <property name="visible">True</property>
1543- <property name="xalign">0</property>
1544- <property name="label" translatable="yes">Password _type:</property>
1545- <property name="use_underline">True</property>
1546- </object>
1547- <packing>
1548- <property name="top_attach">1</property>
1549- <property name="bottom_attach">2</property>
1550- <property name="x_options">GTK_FILL</property>
1551- <property name="y_options"></property>
1552- </packing>
1553- </child>
1554- <child>
1555- <object class="GtkComboBox" id="connection_wep_key_type">
1556- <property name="visible">True</property>
1557- <property name="model">liststore5</property>
1558- <child>
1559- <object class="GtkCellRendererText" id="cellrenderertext5"/>
1560- <attributes>
1561- <attribute name="text">0</attribute>
1562- </attributes>
1563- </child>
1564- </object>
1565- <packing>
1566- <property name="left_attach">1</property>
1567- <property name="right_attach">2</property>
1568- <property name="top_attach">1</property>
1569- <property name="bottom_attach">2</property>
1570- <property name="x_options">GTK_FILL</property>
1571- <property name="y_options">GTK_FILL</property>
1572- </packing>
1573- </child>
1574- </object>
1575- </child>
1576- </object>
1577- </child>
1578- <child type="label">
1579- <object class="GtkLabel" id="label43">
1580- <property name="visible">True</property>
1581- <property name="label" translatable="yes">Wireless Settings</property>
1582- <attributes>
1583- <attribute name="weight" value="bold"/>
1584- </attributes>
1585- </object>
1586- </child>
1587- </object>
1588- <packing>
1589- <property name="expand">False</property>
1590- <property name="fill">False</property>
1591- <property name="position">1</property>
1592- </packing>
1593- </child>
1594- <child>
1595- <object class="GtkFrame" id="connection_ethernet">
1596- <property name="visible">True</property>
1597- <property name="sensitive">False</property>
1598- <property name="label_xalign">0</property>
1599- <property name="shadow_type">none</property>
1600- <child>
1601- <object class="GtkAlignment" id="alignment13">
1602- <property name="visible">True</property>
1603- <property name="left_padding">12</property>
1604- <child>
1605- <object class="GtkTable" id="table7">
1606- <property name="visible">True</property>
1607- <property name="border_width">6</property>
1608- <property name="n_rows">4</property>
1609- <property name="n_columns">2</property>
1610- <property name="column_spacing">13</property>
1611- <property name="row_spacing">6</property>
1612- <child>
1613- <object class="GtkLabel" id="label47">
1614- <property name="visible">True</property>
1615- <property name="xalign">0</property>
1616- <property name="label" translatable="yes">Con_figuration:</property>
1617- <property name="use_underline">True</property>
1618- <property name="mnemonic_widget">connection_bootproto</property>
1619- </object>
1620- <packing>
1621- <property name="x_options">GTK_FILL</property>
1622- <property name="y_options"></property>
1623- </packing>
1624- </child>
1625- <child>
1626- <object class="GtkLabel" id="label48">
1627- <property name="visible">True</property>
1628- <property name="xalign">0</property>
1629- <property name="label" translatable="yes">_IP address:</property>
1630- <property name="use_underline">True</property>
1631- <property name="mnemonic_widget">connection_address</property>
1632- </object>
1633- <packing>
1634- <property name="top_attach">1</property>
1635- <property name="bottom_attach">2</property>
1636- <property name="x_options">GTK_FILL</property>
1637- <property name="y_options"></property>
1638- </packing>
1639- </child>
1640- <child>
1641- <object class="GtkLabel" id="label49">
1642- <property name="visible">True</property>
1643- <property name="xalign">0</property>
1644- <property name="label" translatable="yes">_Subnet mask:</property>
1645- <property name="use_underline">True</property>
1646- <property name="mnemonic_widget">connection_netmask</property>
1647- </object>
1648- <packing>
1649- <property name="top_attach">2</property>
1650- <property name="bottom_attach">3</property>
1651- <property name="x_options">GTK_FILL</property>
1652- <property name="y_options"></property>
1653- </packing>
1654- </child>
1655- <child>
1656- <object class="GtkLabel" id="label50">
1657- <property name="visible">True</property>
1658- <property name="xalign">0</property>
1659- <property name="label" translatable="yes">_Gateway address:</property>
1660- <property name="use_underline">True</property>
1661- <property name="mnemonic_widget">connection_gateway</property>
1662- </object>
1663- <packing>
1664- <property name="top_attach">3</property>
1665- <property name="bottom_attach">4</property>
1666- <property name="x_options">GTK_FILL</property>
1667- <property name="y_options"></property>
1668- </packing>
1669- </child>
1670- <child>
1671- <object class="GtkEntry" id="connection_address">
1672- <property name="visible">True</property>
1673- <property name="can_focus">True</property>
1674- <property name="activates_default">True</property>
1675- </object>
1676- <packing>
1677- <property name="left_attach">1</property>
1678- <property name="right_attach">2</property>
1679- <property name="top_attach">1</property>
1680- <property name="bottom_attach">2</property>
1681- <property name="y_options"></property>
1682- </packing>
1683- </child>
1684- <child>
1685- <object class="GtkEntry" id="connection_netmask">
1686- <property name="visible">True</property>
1687- <property name="can_focus">True</property>
1688- <property name="activates_default">True</property>
1689- </object>
1690- <packing>
1691- <property name="left_attach">1</property>
1692- <property name="right_attach">2</property>
1693- <property name="top_attach">2</property>
1694- <property name="bottom_attach">3</property>
1695- <property name="y_options"></property>
1696- </packing>
1697- </child>
1698- <child>
1699- <object class="GtkEntry" id="connection_gateway">
1700- <property name="visible">True</property>
1701- <property name="can_focus">True</property>
1702- <property name="activates_default">True</property>
1703- </object>
1704- <packing>
1705- <property name="left_attach">1</property>
1706- <property name="right_attach">2</property>
1707- <property name="top_attach">3</property>
1708- <property name="bottom_attach">4</property>
1709- <property name="y_options"></property>
1710- </packing>
1711- </child>
1712- <child>
1713- <object class="GtkComboBox" id="connection_bootproto">
1714- <property name="visible">True</property>
1715- <property name="model">liststore4</property>
1716- <child>
1717- <object class="GtkCellRendererText" id="cellrenderertext4"/>
1718- <attributes>
1719- <attribute name="text">0</attribute>
1720- </attributes>
1721- </child>
1722- </object>
1723- <packing>
1724- <property name="left_attach">1</property>
1725- <property name="right_attach">2</property>
1726- <property name="x_options">GTK_FILL</property>
1727- <property name="y_options">GTK_FILL</property>
1728- </packing>
1729- </child>
1730- </object>
1731- </child>
1732- </object>
1733- </child>
1734- <child type="label">
1735- <object class="GtkLabel" id="label46">
1736- <property name="visible">True</property>
1737- <property name="label" translatable="yes">Connection Settings</property>
1738- <attributes>
1739- <attribute name="weight" value="bold"/>
1740- </attributes>
1741- </object>
1742- </child>
1743- </object>
1744- <packing>
1745- <property name="expand">False</property>
1746- <property name="fill">False</property>
1747- <property name="position">2</property>
1748- </packing>
1749- </child>
1750- <child>
1751- <object class="GtkFrame" id="connection_plip">
1752- <property name="visible">True</property>
1753- <property name="sensitive">False</property>
1754- <property name="label_xalign">0</property>
1755- <property name="shadow_type">none</property>
1756- <child>
1757- <object class="GtkAlignment" id="alignment14">
1758- <property name="visible">True</property>
1759- <property name="left_padding">12</property>
1760- <child>
1761- <object class="GtkTable" id="table8">
1762- <property name="visible">True</property>
1763- <property name="border_width">6</property>
1764- <property name="n_rows">2</property>
1765- <property name="n_columns">2</property>
1766- <property name="column_spacing">12</property>
1767- <property name="row_spacing">6</property>
1768- <child>
1769- <object class="GtkLabel" id="label52">
1770- <property name="visible">True</property>
1771- <property name="xalign">0</property>
1772- <property name="label" translatable="yes">_Local IP:</property>
1773- <property name="use_underline">True</property>
1774- <property name="mnemonic_widget">connection_local_address</property>
1775- </object>
1776- <packing>
1777- <property name="x_options">GTK_FILL</property>
1778- <property name="y_options"></property>
1779- </packing>
1780- </child>
1781- <child>
1782- <object class="GtkLabel" id="label53">
1783- <property name="visible">True</property>
1784- <property name="xalign">0</property>
1785- <property name="label" translatable="yes">_Remote IP:</property>
1786- <property name="use_underline">True</property>
1787- <property name="mnemonic_widget">connection_remote_address</property>
1788- </object>
1789- <packing>
1790- <property name="top_attach">1</property>
1791- <property name="bottom_attach">2</property>
1792- <property name="x_options">GTK_FILL</property>
1793- <property name="y_options"></property>
1794- </packing>
1795- </child>
1796- <child>
1797- <object class="GtkEntry" id="connection_local_address">
1798- <property name="visible">True</property>
1799- <property name="can_focus">True</property>
1800- <property name="activates_default">True</property>
1801- </object>
1802- <packing>
1803- <property name="left_attach">1</property>
1804- <property name="right_attach">2</property>
1805- <property name="y_options"></property>
1806- </packing>
1807- </child>
1808- <child>
1809- <object class="GtkEntry" id="connection_remote_address">
1810- <property name="visible">True</property>
1811- <property name="can_focus">True</property>
1812- <property name="activates_default">True</property>
1813- </object>
1814- <packing>
1815- <property name="left_attach">1</property>
1816- <property name="right_attach">2</property>
1817- <property name="top_attach">1</property>
1818- <property name="bottom_attach">2</property>
1819- <property name="y_options"></property>
1820- </packing>
1821- </child>
1822- </object>
1823- </child>
1824- </object>
1825- </child>
1826- <child type="label">
1827- <object class="GtkLabel" id="label51">
1828- <property name="visible">True</property>
1829- <property name="label" translatable="yes">Connection Settings</property>
1830- <attributes>
1831- <attribute name="weight" value="bold"/>
1832- </attributes>
1833- </object>
1834- </child>
1835- </object>
1836- <packing>
1837- <property name="expand">False</property>
1838- <property name="fill">False</property>
1839- <property name="position">3</property>
1840- </packing>
1841- </child>
1842- <child>
1843- <object class="GtkFrame" id="isp_data">
1844- <property name="visible">True</property>
1845- <property name="label_xalign">0</property>
1846- <property name="shadow_type">none</property>
1847- <child>
1848- <object class="GtkAlignment" id="alignment17">
1849- <property name="visible">True</property>
1850- <property name="left_padding">12</property>
1851- <child>
1852- <object class="GtkVBox" id="vbox14">
1853- <property name="visible">True</property>
1854- <child>
1855- <object class="GtkTable" id="connection_modem_isp_table">
1856- <property name="visible">True</property>
1857- <property name="border_width">6</property>
1858- <property name="n_rows">2</property>
1859- <property name="n_columns">2</property>
1860- <property name="column_spacing">12</property>
1861- <property name="row_spacing">6</property>
1862- <child>
1863- <object class="GtkLabel" id="label61">
1864- <property name="visible">True</property>
1865- <property name="xalign">0</property>
1866- <property name="label" translatable="yes">_Phone number:</property>
1867- <property name="use_underline">True</property>
1868- <property name="mnemonic_widget">connection_phone_number</property>
1869- </object>
1870- <packing>
1871- <property name="x_options">GTK_FILL</property>
1872- <property name="y_options"></property>
1873- </packing>
1874- </child>
1875- <child>
1876- <object class="GtkLabel" id="label62">
1877- <property name="visible">True</property>
1878- <property name="xalign">0</property>
1879- <property name="label" translatable="yes">_Dial prefix:</property>
1880- <property name="use_underline">True</property>
1881- <property name="mnemonic_widget">connection_dial_prefix</property>
1882- </object>
1883- <packing>
1884- <property name="top_attach">1</property>
1885- <property name="bottom_attach">2</property>
1886- <property name="x_options">GTK_FILL</property>
1887- <property name="y_options"></property>
1888- </packing>
1889- </child>
1890- <child>
1891- <object class="GtkEntry" id="connection_phone_number">
1892- <property name="visible">True</property>
1893- <property name="can_focus">True</property>
1894- <property name="activates_default">True</property>
1895- </object>
1896- <packing>
1897- <property name="left_attach">1</property>
1898- <property name="right_attach">2</property>
1899- <property name="y_options"></property>
1900- </packing>
1901- </child>
1902- <child>
1903- <object class="GtkEntry" id="connection_dial_prefix">
1904- <property name="visible">True</property>
1905- <property name="can_focus">True</property>
1906- <property name="activates_default">True</property>
1907- </object>
1908- <packing>
1909- <property name="left_attach">1</property>
1910- <property name="right_attach">2</property>
1911- <property name="top_attach">1</property>
1912- <property name="bottom_attach">2</property>
1913- <property name="y_options"></property>
1914- </packing>
1915- </child>
1916- </object>
1917- <packing>
1918- <property name="position">0</property>
1919- </packing>
1920- </child>
1921- <child>
1922- <object class="GtkHBox" id="connection_gprs_isp_table">
1923- <property name="visible">True</property>
1924- <property name="spacing">12</property>
1925- <child>
1926- <object class="GtkLabel" id="connection_apn_label">
1927- <property name="visible">True</property>
1928- <property name="xalign">0</property>
1929- <property name="label" translatable="yes">Access point name:</property>
1930- </object>
1931- <packing>
1932- <property name="expand">False</property>
1933- <property name="fill">False</property>
1934- <property name="position">0</property>
1935- </packing>
1936- </child>
1937- <child>
1938- <object class="GtkEntry" id="connection_apn">
1939- <property name="visible">True</property>
1940- <property name="can_focus">True</property>
1941- </object>
1942- <packing>
1943- <property name="position">1</property>
1944- </packing>
1945- </child>
1946- </object>
1947- <packing>
1948- <property name="position">1</property>
1949- </packing>
1950- </child>
1951- </object>
1952- </child>
1953- </object>
1954- </child>
1955- <child type="label">
1956- <object class="GtkLabel" id="label60">
1957- <property name="visible">True</property>
1958- <property name="label" translatable="yes">Internet service provider data</property>
1959- <attributes>
1960- <attribute name="weight" value="bold"/>
1961- </attributes>
1962- </object>
1963- </child>
1964- </object>
1965- <packing>
1966- <property name="position">4</property>
1967- </packing>
1968- </child>
1969- <child>
1970- <object class="GtkFrame" id="isp_account_data">
1971- <property name="visible">True</property>
1972- <property name="label_xalign">0</property>
1973- <property name="shadow_type">none</property>
1974- <child>
1975- <object class="GtkAlignment" id="alignment18">
1976- <property name="visible">True</property>
1977- <property name="left_padding">12</property>
1978- <child>
1979- <object class="GtkTable" id="table11">
1980- <property name="visible">True</property>
1981- <property name="border_width">6</property>
1982- <property name="n_rows">2</property>
1983- <property name="n_columns">2</property>
1984- <property name="column_spacing">12</property>
1985- <property name="row_spacing">6</property>
1986- <child>
1987- <object class="GtkLabel" id="label64">
1988- <property name="visible">True</property>
1989- <property name="xalign">0</property>
1990- <property name="label" translatable="yes">_Username:</property>
1991- <property name="use_underline">True</property>
1992- <property name="mnemonic_widget">connection_login</property>
1993- </object>
1994- <packing>
1995- <property name="x_options">GTK_FILL</property>
1996- <property name="y_options"></property>
1997- </packing>
1998- </child>
1999- <child>
2000- <object class="GtkLabel" id="label65">
2001- <property name="visible">True</property>
2002- <property name="xalign">0</property>
2003- <property name="label" translatable="yes">P_assword</property>
2004- <property name="use_underline">True</property>
2005- <property name="mnemonic_widget">connection_password</property>
2006- </object>
2007- <packing>
2008- <property name="top_attach">1</property>
2009- <property name="bottom_attach">2</property>
2010- <property name="x_options">GTK_FILL</property>
2011- <property name="y_options"></property>
2012- </packing>
2013- </child>
2014- <child>
2015- <object class="GtkEntry" id="connection_login">
2016- <property name="visible">True</property>
2017- <property name="can_focus">True</property>
2018- <property name="activates_default">True</property>
2019- </object>
2020- <packing>
2021- <property name="left_attach">1</property>
2022- <property name="right_attach">2</property>
2023- <property name="y_options"></property>
2024- </packing>
2025- </child>
2026- <child>
2027- <object class="GtkEntry" id="connection_password">
2028- <property name="visible">True</property>
2029- <property name="can_focus">True</property>
2030- <property name="visibility">False</property>
2031- <property name="activates_default">True</property>
2032- </object>
2033- <packing>
2034- <property name="left_attach">1</property>
2035- <property name="right_attach">2</property>
2036- <property name="top_attach">1</property>
2037- <property name="bottom_attach">2</property>
2038- <property name="y_options"></property>
2039- </packing>
2040- </child>
2041- </object>
2042- </child>
2043- </object>
2044- </child>
2045- <child type="label">
2046- <object class="GtkLabel" id="label63">
2047- <property name="visible">True</property>
2048- <property name="label" translatable="yes">Account data</property>
2049- <attributes>
2050- <attribute name="weight" value="bold"/>
2051- </attributes>
2052- </object>
2053- </child>
2054- </object>
2055- <packing>
2056- <property name="position">5</property>
2057- </packing>
2058- </child>
2059- </object>
2060- </child>
2061- <child type="tab">
2062- <object class="GtkLabel" id="label42">
2063- <property name="visible">True</property>
2064- <property name="label" translatable="yes">General</property>
2065- </object>
2066- <packing>
2067- <property name="tab_fill">False</property>
2068- </packing>
2069- </child>
2070- <child>
2071- <object class="GtkFrame" id="connection_modem_page">
2072- <property name="visible">True</property>
2073- <property name="sensitive">False</property>
2074- <property name="border_width">12</property>
2075- <property name="label_xalign">0</property>
2076- <property name="shadow_type">none</property>
2077- <child>
2078- <object class="GtkAlignment" id="alignment15">
2079- <property name="visible">True</property>
2080- <property name="left_padding">12</property>
2081- <child>
2082- <object class="GtkVBox" id="vbox15">
2083- <property name="visible">True</property>
2084- <child>
2085- <object class="GtkTable" id="connection_modem_settings_table">
2086- <property name="visible">True</property>
2087- <property name="border_width">6</property>
2088- <property name="n_rows">3</property>
2089- <property name="n_columns">3</property>
2090- <property name="column_spacing">12</property>
2091- <property name="row_spacing">6</property>
2092- <child>
2093- <object class="GtkLabel" id="label56">
2094- <property name="visible">True</property>
2095- <property name="xalign">0</property>
2096- <property name="label" translatable="yes">_Modem port:</property>
2097- <property name="use_underline">True</property>
2098- </object>
2099- <packing>
2100- <property name="x_options">GTK_FILL</property>
2101- <property name="y_options"></property>
2102- </packing>
2103- </child>
2104- <child>
2105- <object class="GtkLabel" id="label57">
2106- <property name="visible">True</property>
2107- <property name="xalign">0</property>
2108- <property name="label" translatable="yes">_Dial type:</property>
2109- <property name="use_underline">True</property>
2110- </object>
2111- <packing>
2112- <property name="top_attach">1</property>
2113- <property name="bottom_attach">2</property>
2114- <property name="x_options">GTK_FILL</property>
2115- <property name="y_options"></property>
2116- </packing>
2117- </child>
2118- <child>
2119- <object class="GtkLabel" id="label58">
2120- <property name="visible">True</property>
2121- <property name="xalign">0</property>
2122- <property name="label" translatable="yes" comments="TRANSLATORS: Volume as in loudness">_Volume:</property>
2123- <property name="use_underline">True</property>
2124- </object>
2125- <packing>
2126- <property name="top_attach">2</property>
2127- <property name="bottom_attach">3</property>
2128- <property name="x_options">GTK_FILL</property>
2129- <property name="y_options"></property>
2130- </packing>
2131- </child>
2132- <child>
2133- <object class="GtkButton" id="connection_detect_modem">
2134- <property name="label" translatable="yes">_Autodetect</property>
2135- <property name="can_focus">True</property>
2136- <property name="receives_default">False</property>
2137- <property name="use_underline">True</property>
2138- </object>
2139- <packing>
2140- <property name="left_attach">2</property>
2141- <property name="right_attach">3</property>
2142- <property name="x_options"></property>
2143- <property name="y_options"></property>
2144- </packing>
2145- </child>
2146- <child>
2147- <object class="GtkComboBox" id="connection_serial_port">
2148- <property name="visible">True</property>
2149- <property name="has-entry">True</property>
2150- <property name="entry-text-column">0</property>
2151- <property name="model">liststore3</property>
2152- </object>
2153- <packing>
2154- <property name="left_attach">1</property>
2155- <property name="right_attach">2</property>
2156- <property name="y_options"></property>
2157- </packing>
2158- </child>
2159- <child>
2160- <object class="GtkComboBox" id="connection_dial_type">
2161- <property name="visible">True</property>
2162- <property name="model">liststore2</property>
2163- <child>
2164- <object class="GtkCellRendererText" id="cellrenderertext2"/>
2165- <attributes>
2166- <attribute name="text">0</attribute>
2167- </attributes>
2168- </child>
2169- </object>
2170- <packing>
2171- <property name="left_attach">1</property>
2172- <property name="right_attach">2</property>
2173- <property name="top_attach">1</property>
2174- <property name="bottom_attach">2</property>
2175- <property name="y_options">GTK_FILL</property>
2176- </packing>
2177- </child>
2178- <child>
2179- <object class="GtkComboBox" id="connection_volume">
2180- <property name="visible">True</property>
2181- <property name="model">liststore1</property>
2182- <child>
2183- <object class="GtkCellRendererText" id="cellrenderertext1"/>
2184- <attributes>
2185- <attribute name="text">0</attribute>
2186- </attributes>
2187- </child>
2188- </object>
2189- <packing>
2190- <property name="left_attach">1</property>
2191- <property name="right_attach">2</property>
2192- <property name="top_attach">2</property>
2193- <property name="bottom_attach">3</property>
2194- <property name="x_options">GTK_FILL</property>
2195- <property name="y_options">GTK_FILL</property>
2196- </packing>
2197- </child>
2198- <child>
2199- <placeholder/>
2200- </child>
2201- <child>
2202- <placeholder/>
2203- </child>
2204- </object>
2205- <packing>
2206- <property name="expand">False</property>
2207- <property name="position">0</property>
2208- </packing>
2209- </child>
2210- <child>
2211- <object class="GtkHBox" id="connection_pppoe_settings_table">
2212- <property name="visible">True</property>
2213- <property name="spacing">12</property>
2214- <child>
2215- <object class="GtkLabel" id="connection_pppoe_ethernet_label">
2216- <property name="visible">True</property>
2217- <property name="xalign">0</property>
2218- <property name="label" translatable="yes">Ethernet interface:</property>
2219- </object>
2220- <packing>
2221- <property name="expand">False</property>
2222- <property name="fill">False</property>
2223- <property name="position">0</property>
2224- </packing>
2225- </child>
2226- <child>
2227- <object class="GtkComboBox" id="connection_pppoe_ethernet">
2228- <property name="visible">True</property>
2229- </object>
2230- <packing>
2231- <property name="position">1</property>
2232- </packing>
2233- </child>
2234- </object>
2235- <packing>
2236- <property name="expand">False</property>
2237- <property name="position">1</property>
2238- </packing>
2239- </child>
2240- </object>
2241- </child>
2242- </object>
2243- </child>
2244- <child type="label">
2245- <object class="GtkLabel" id="label55">
2246- <property name="visible">True</property>
2247- <property name="label" translatable="yes">Modem Settings</property>
2248- <attributes>
2249- <attribute name="weight" value="bold"/>
2250- </attributes>
2251- </object>
2252- </child>
2253- </object>
2254- <packing>
2255- <property name="position">1</property>
2256- </packing>
2257- </child>
2258- <child type="tab">
2259- <object class="GtkLabel" id="label74">
2260- <property name="visible">True</property>
2261- <property name="label" translatable="yes">Modem</property>
2262- </object>
2263- <packing>
2264- <property name="position">1</property>
2265- <property name="tab_fill">False</property>
2266- </packing>
2267- </child>
2268- <child>
2269- <object class="GtkFrame" id="connection_options_page">
2270- <property name="visible">True</property>
2271- <property name="sensitive">False</property>
2272- <property name="border_width">12</property>
2273- <property name="label_xalign">0</property>
2274- <property name="shadow_type">none</property>
2275- <child>
2276- <object class="GtkAlignment" id="alignment19">
2277- <property name="visible">True</property>
2278- <property name="left_padding">12</property>
2279- <child>
2280- <object class="GtkVBox" id="vbox12">
2281- <property name="visible">True</property>
2282- <property name="border_width">6</property>
2283- <property name="spacing">6</property>
2284- <child>
2285- <object class="GtkCheckButton" id="connection_default_gw">
2286- <property name="label" translatable="yes">_Set modem as default route to internet</property>
2287- <property name="visible">True</property>
2288- <property name="can_focus">True</property>
2289- <property name="receives_default">False</property>
2290- <property name="use_underline">True</property>
2291- <property name="draw_indicator">True</property>
2292- </object>
2293- <packing>
2294- <property name="expand">False</property>
2295- <property name="fill">False</property>
2296- <property name="position">0</property>
2297- </packing>
2298- </child>
2299- <child>
2300- <object class="GtkCheckButton" id="connection_peerdns">
2301- <property name="label" translatable="yes">Use the Internet service provider nameservers</property>
2302- <property name="visible">True</property>
2303- <property name="can_focus">True</property>
2304- <property name="receives_default">False</property>
2305- <property name="use_underline">True</property>
2306- <property name="draw_indicator">True</property>
2307- </object>
2308- <packing>
2309- <property name="expand">False</property>
2310- <property name="fill">False</property>
2311- <property name="position">1</property>
2312- </packing>
2313- </child>
2314- <child>
2315- <object class="GtkCheckButton" id="connection_persist">
2316- <property name="label" translatable="yes">_Retry if the connection breaks or fails to start</property>
2317- <property name="visible">True</property>
2318- <property name="can_focus">True</property>
2319- <property name="receives_default">False</property>
2320- <property name="use_underline">True</property>
2321- <property name="draw_indicator">True</property>
2322- </object>
2323- <packing>
2324- <property name="expand">False</property>
2325- <property name="fill">False</property>
2326- <property name="position">2</property>
2327- </packing>
2328- </child>
2329- </object>
2330- </child>
2331- </object>
2332- </child>
2333- <child type="label">
2334- <object class="GtkLabel" id="label67">
2335- <property name="visible">True</property>
2336- <property name="label" translatable="yes">Connection Settings</property>
2337- <attributes>
2338- <attribute name="weight" value="bold"/>
2339- </attributes>
2340- </object>
2341- </child>
2342- </object>
2343- <packing>
2344- <property name="position">2</property>
2345- </packing>
2346- </child>
2347- <child type="tab">
2348- <object class="GtkLabel" id="label66">
2349- <property name="visible">True</property>
2350- <property name="label" translatable="yes">Options</property>
2351- </object>
2352- <packing>
2353- <property name="position">2</property>
2354- <property name="tab_fill">False</property>
2355- </packing>
2356- </child>
2357- </object>
2358- <packing>
2359- <property name="position">1</property>
2360- </packing>
2361- </child>
2362- <child internal-child="action_area">
2363- <object class="GtkHButtonBox" id="dialog-action_area3">
2364- <property name="visible">True</property>
2365- <property name="layout_style">end</property>
2366- <child>
2367- <object class="GtkButton" id="connection_cancel">
2368- <property name="label">gtk-cancel</property>
2369- <property name="visible">True</property>
2370- <property name="can_focus">True</property>
2371- <property name="can_default">True</property>
2372- <property name="receives_default">False</property>
2373- <property name="use_stock">True</property>
2374- </object>
2375- <packing>
2376- <property name="expand">False</property>
2377- <property name="fill">False</property>
2378- <property name="position">0</property>
2379- </packing>
2380- </child>
2381- <child>
2382- <object class="GtkButton" id="connection_ok">
2383- <property name="label">gtk-ok</property>
2384- <property name="visible">True</property>
2385- <property name="can_focus">True</property>
2386- <property name="can_default">True</property>
2387- <property name="has_default">True</property>
2388- <property name="receives_default">False</property>
2389- <property name="use_stock">True</property>
2390- </object>
2391- <packing>
2392- <property name="expand">False</property>
2393- <property name="fill">False</property>
2394- <property name="position">1</property>
2395- </packing>
2396- </child>
2397- </object>
2398- <packing>
2399- <property name="expand">False</property>
2400- <property name="pack_type">end</property>
2401- <property name="position">0</property>
2402- </packing>
2403- </child>
2404- </object>
2405- </child>
2406- <action-widgets>
2407- <action-widget response="-6">connection_cancel</action-widget>
2408- <action-widget response="-5">connection_ok</action-widget>
2409- </action-widgets>
2410- </object>
2411- <object class="GtkDialog" id="host_aliases_edit_dialog">
2412- <property name="title" translatable="yes">Host Alias Properties</property>
2413- <property name="modal">True</property>
2414- <property name="window_position">center-on-parent</property>
2415- <property name="type_hint">dialog</property>
2416- <child internal-child="vbox">
2417- <object class="GtkVBox" id="dialog-vbox4">
2418- <property name="visible">True</property>
2419- <child>
2420- <object class="GtkVBox" id="vbox13">
2421- <property name="visible">True</property>
2422- <property name="spacing">12</property>
2423- <child>
2424- <object class="GtkTable" id="table14">
2425- <property name="visible">True</property>
2426- <property name="border_width">12</property>
2427- <property name="n_rows">3</property>
2428- <property name="n_columns">2</property>
2429- <property name="column_spacing">12</property>
2430- <property name="row_spacing">6</property>
2431- <child>
2432- <object class="GtkLabel" id="label77">
2433- <property name="visible">True</property>
2434- <property name="xalign">0</property>
2435- <property name="label" translatable="yes">IP address:</property>
2436- </object>
2437- <packing>
2438- <property name="x_options">GTK_FILL</property>
2439- <property name="y_options"></property>
2440- </packing>
2441- </child>
2442- <child>
2443- <object class="GtkLabel" id="label78">
2444- <property name="visible">True</property>
2445- <property name="xalign">0</property>
2446- <property name="yalign">0</property>
2447- <property name="label" translatable="yes">Aliases:</property>
2448- </object>
2449- <packing>
2450- <property name="top_attach">1</property>
2451- <property name="bottom_attach">3</property>
2452- <property name="x_options">GTK_FILL</property>
2453- </packing>
2454- </child>
2455- <child>
2456- <object class="GtkEntry" id="host_alias_address">
2457- <property name="visible">True</property>
2458- <property name="can_focus">True</property>
2459- </object>
2460- <packing>
2461- <property name="left_attach">1</property>
2462- <property name="right_attach">2</property>
2463- <property name="y_options"></property>
2464- </packing>
2465- </child>
2466- <child>
2467- <object class="GtkScrolledWindow" id="scrolledwindow7">
2468- <property name="visible">True</property>
2469- <property name="can_focus">True</property>
2470- <property name="hscrollbar_policy">automatic</property>
2471- <property name="vscrollbar_policy">automatic</property>
2472- <property name="shadow_type">in</property>
2473- <child>
2474- <object class="GtkTextView" id="host_alias_list">
2475- <property name="visible">True</property>
2476- <property name="can_focus">True</property>
2477- <property name="buffer">textbuffer1</property>
2478- </object>
2479- </child>
2480- </object>
2481- <packing>
2482- <property name="left_attach">1</property>
2483- <property name="right_attach">2</property>
2484- <property name="top_attach">1</property>
2485- <property name="bottom_attach">3</property>
2486- <property name="x_options">GTK_FILL</property>
2487- <property name="y_options">GTK_FILL</property>
2488- </packing>
2489- </child>
2490- </object>
2491- <packing>
2492- <property name="position">0</property>
2493- </packing>
2494- </child>
2495- </object>
2496- <packing>
2497- <property name="position">1</property>
2498- </packing>
2499- </child>
2500- <child internal-child="action_area">
2501- <object class="GtkHButtonBox" id="dialog-action_area4">
2502- <property name="visible">True</property>
2503- <property name="layout_style">end</property>
2504- <child>
2505- <object class="GtkButton" id="cancelbutton2">
2506- <property name="label">gtk-cancel</property>
2507- <property name="visible">True</property>
2508- <property name="can_focus">True</property>
2509- <property name="can_default">True</property>
2510- <property name="receives_default">False</property>
2511- <property name="use_stock">True</property>
2512- </object>
2513- <packing>
2514- <property name="expand">False</property>
2515- <property name="fill">False</property>
2516- <property name="position">0</property>
2517- </packing>
2518- </child>
2519- <child>
2520- <object class="GtkButton" id="host_alias_ok_button">
2521- <property name="label">gtk-ok</property>
2522- <property name="visible">True</property>
2523- <property name="can_focus">True</property>
2524- <property name="can_default">True</property>
2525- <property name="receives_default">False</property>
2526- <property name="use_stock">True</property>
2527- </object>
2528- <packing>
2529- <property name="expand">False</property>
2530- <property name="fill">False</property>
2531- <property name="position">1</property>
2532- </packing>
2533- </child>
2534- </object>
2535- <packing>
2536- <property name="expand">False</property>
2537- <property name="pack_type">end</property>
2538- <property name="position">0</property>
2539- </packing>
2540- </child>
2541- </object>
2542- </child>
2543- <action-widgets>
2544- <action-widget response="-6">cancelbutton2</action-widget>
2545- <action-widget response="-5">host_alias_ok_button</action-widget>
2546- </action-widgets>
2547- </object>
2548- <object class="GtkTextBuffer" id="textbuffer1"/>
2549-</interface>
2550
2551=== removed directory '.pc/10_disable_interfaces.patch/src'
2552=== removed directory '.pc/10_disable_interfaces.patch/src/network'
2553=== removed file '.pc/10_disable_interfaces.patch/src/network/network-tool.c'
2554--- .pc/10_disable_interfaces.patch/src/network/network-tool.c 2010-05-05 19:45:28 +0000
2555+++ .pc/10_disable_interfaces.patch/src/network/network-tool.c 1970-01-01 00:00:00 +0000
2556@@ -1,283 +0,0 @@
2557-/* -*- Mode: C; c-file-style: "gnu"; tab-width: 8 -*- */
2558-/* Copyright (C) 2004 Carlos Garnacho
2559- *
2560- * This program is free software; you can redistribute it and/or modify
2561- * it under the terms of the GNU General Public License as
2562- * published by the Free Software Foundation; either version 2 of the
2563- * License, or (at your option) any later version.
2564- *
2565- * This program is distributed in the hope that it will be useful,
2566- * but WITHOUT ANY WARRANTY; without even the implied warranty of
2567- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
2568- * GNU General Public License for more details.
2569- *
2570- * You should have received a copy of the GNU General Public License
2571- * along with this program; if not, write to the Free Software
2572- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
2573- *
2574- * Authors: Carlos Garnacho Parro <carlosg@gnome.org>
2575- */
2576-
2577-#include <gtk/gtk.h>
2578-#include <glib/gi18n.h>
2579-#include "gst.h"
2580-#include "network-tool.h"
2581-#include "ifaces-list.h"
2582-#include "connection.h"
2583-#include "callbacks.h"
2584-#include "hosts.h"
2585-#include "locations-combo.h"
2586-
2587-static void gst_network_tool_class_init (GstNetworkToolClass *class);
2588-static void gst_network_tool_init (GstNetworkTool *tool);
2589-static void gst_network_tool_finalize (GObject *object);
2590-
2591-static GObject* gst_network_tool_constructor (GType type,
2592- guint n_construct_properties,
2593- GObjectConstructParam *construct_params);
2594-
2595-static void gst_network_tool_update_gui (GstTool *tool);
2596-
2597-
2598-G_DEFINE_TYPE (GstNetworkTool, gst_network_tool, GST_TYPE_TOOL);
2599-
2600-static void
2601-gst_network_tool_class_init (GstNetworkToolClass *class)
2602-{
2603- GObjectClass *object_class = G_OBJECT_CLASS (class);
2604- GstToolClass *tool_class = GST_TOOL_CLASS (class);
2605-
2606- object_class->constructor = gst_network_tool_constructor;
2607- object_class->finalize = gst_network_tool_finalize;
2608- tool_class->update_gui = gst_network_tool_update_gui;
2609-}
2610-
2611-static void
2612-gst_network_tool_init (GstNetworkTool *tool)
2613-{
2614- tool->hosts_config = OOBS_HOSTS_CONFIG (oobs_hosts_config_get ());
2615- gst_tool_add_configuration_object (GST_TOOL (tool), OOBS_OBJECT (tool->hosts_config), TRUE);
2616- tool->ifaces_config = OOBS_IFACES_CONFIG (oobs_ifaces_config_get ());
2617- gst_tool_add_configuration_object (GST_TOOL (tool), OOBS_OBJECT (tool->ifaces_config), TRUE);
2618-
2619- tool->bus_connection = dbus_bus_get (DBUS_BUS_SYSTEM, NULL);
2620-
2621- g_signal_connect_swapped (tool->ifaces_config, "changed",
2622- G_CALLBACK (gst_tool_update_async), tool);
2623-}
2624-
2625-static void
2626-gst_network_tool_finalize (GObject *object)
2627-{
2628- GstNetworkTool *tool;
2629-
2630- g_return_if_fail (GST_IS_NETWORK_TOOL (object));
2631-
2632- tool = GST_NETWORK_TOOL (object);
2633-
2634- g_object_unref (tool->dns);
2635- g_object_unref (tool->search);
2636- g_object_unref (tool->interfaces_model);
2637- g_object_unref (tool->location);
2638- g_free (tool->dialog);
2639-
2640- (* G_OBJECT_CLASS (gst_network_tool_parent_class)->finalize) (object);
2641-}
2642-
2643-static void
2644-save_dns (GList *list, gpointer data)
2645-{
2646- GstNetworkTool *tool = (GstNetworkTool *) data;
2647-
2648- oobs_hosts_config_set_dns_servers (tool->hosts_config, list);
2649- gst_tool_commit (GST_TOOL (tool), OOBS_OBJECT (tool->hosts_config));
2650-}
2651-
2652-static void
2653-save_search_domains (GList *list, gpointer data)
2654-{
2655- GstNetworkTool *tool = (GstNetworkTool *) data;
2656-
2657- oobs_hosts_config_set_search_domains (tool->hosts_config, list);
2658- gst_tool_commit (GST_TOOL (tool), OOBS_OBJECT (tool->hosts_config));
2659-}
2660-
2661-static GObject*
2662-gst_network_tool_constructor (GType type,
2663- guint n_construct_properties,
2664- GObjectConstructParam *construct_params)
2665-{
2666- GObject *object;
2667- GstNetworkTool *tool;
2668- GtkWidget *widget, *add_button, *delete_button;
2669-
2670- object = (* G_OBJECT_CLASS (gst_network_tool_parent_class)->constructor) (type,
2671- n_construct_properties,
2672- construct_params);
2673- tool = GST_NETWORK_TOOL (object);
2674-
2675- widget = gst_dialog_get_widget (GST_TOOL (tool)->main_dialog, "dns_list");
2676- add_button = gst_dialog_get_widget (GST_TOOL (tool)->main_dialog, "dns_list_add");
2677- delete_button = gst_dialog_get_widget (GST_TOOL (tool)->main_dialog, "dns_list_delete");
2678- tool->dns = gst_address_list_new (GTK_TREE_VIEW (widget),
2679- GTK_BUTTON (add_button),
2680- GTK_BUTTON (delete_button),
2681- GST_ADDRESS_TYPE_IP);
2682- gst_address_list_set_save_func (tool->dns, save_dns, tool);
2683-
2684- widget = gst_dialog_get_widget (GST_TOOL (tool)->main_dialog, "search_domain_list");
2685- add_button = gst_dialog_get_widget (GST_TOOL (tool)->main_dialog, "search_domain_add");
2686- delete_button = gst_dialog_get_widget (GST_TOOL (tool)->main_dialog, "search_domain_delete");
2687- tool->search = gst_address_list_new (GTK_TREE_VIEW (widget),
2688- GTK_BUTTON (add_button),
2689- GTK_BUTTON (delete_button),
2690- GST_ADDRESS_TYPE_DOMAIN);
2691- gst_address_list_set_save_func (tool->search, save_search_domains, tool);
2692-
2693- widget = gst_dialog_get_widget (GST_TOOL (tool)->main_dialog, "hostname");
2694- tool->hostname = GTK_ENTRY (widget);
2695-
2696- widget = gst_dialog_get_widget (GST_TOOL (tool)->main_dialog, "domain");
2697- tool->domain = GTK_ENTRY (widget);
2698-
2699- tool->interfaces_model = ifaces_model_create ();
2700- tool->interfaces_list = ifaces_list_create (GST_TOOL (tool));
2701- tool->host_aliases_list = host_aliases_list_create (GST_TOOL (tool));
2702-
2703- widget = gst_dialog_get_widget (GST_TOOL (tool)->main_dialog, "locations_combo");
2704- add_button = gst_dialog_get_widget (GST_TOOL (tool)->main_dialog, "add_location");
2705- delete_button = gst_dialog_get_widget (GST_TOOL (tool)->main_dialog, "remove_location");
2706- tool->location = gst_locations_combo_new (GST_TOOL (tool), widget, add_button, delete_button);
2707-
2708- tool->dialog = connection_dialog_init (GST_TOOL (tool));
2709- tool->host_aliases_dialog = gst_dialog_get_widget (GST_TOOL (tool)->main_dialog, "host_aliases_edit_dialog");
2710-
2711- return object;
2712-}
2713-
2714-static void
2715-update_address_list (GstAddressList *address_list,
2716- GList *list)
2717-{
2718- gst_address_list_clear (address_list);
2719-
2720- while (list)
2721- {
2722- gst_address_list_add_address (address_list, (const gchar*) list->data);
2723- list = list->next;
2724- }
2725-}
2726-
2727-static void
2728-update_hosts_list (OobsList *list)
2729-{
2730- GObject *host;
2731- OobsListIter iter;
2732- gboolean valid;
2733-
2734- host_aliases_clear ();
2735- valid = oobs_list_get_iter_first (list, &iter);
2736-
2737- while (valid)
2738- {
2739- host = oobs_list_get (list, &iter);
2740- host_aliases_add (OOBS_STATIC_HOST (host), &iter);
2741- g_object_unref (host);
2742-
2743- valid = oobs_list_iter_next (list, &iter);
2744- }
2745-}
2746-
2747-static void
2748-add_interfaces (GtkTreeView *ifaces_list, OobsList *list)
2749-{
2750- OobsListIter iter;
2751- GObject *iface;
2752- gboolean valid;
2753- gint n_items;
2754-
2755- valid = oobs_list_get_iter_first (list, &iter);
2756- n_items = oobs_list_get_n_items (list);
2757-
2758- while (valid)
2759- {
2760- iface = oobs_list_get (list, &iter);
2761- ifaces_model_add_interface (OOBS_IFACE (iface), (n_items > 1));
2762-
2763- g_object_unref (iface);
2764- valid = oobs_list_iter_next (list, &iter);
2765- }
2766-}
2767-
2768-static void
2769-add_all_interfaces (GstNetworkTool *network_tool)
2770-{
2771- OobsList *ifaces_list;
2772-
2773- ifaces_list = oobs_ifaces_config_get_ifaces (network_tool->ifaces_config, OOBS_IFACE_TYPE_ETHERNET);
2774- add_interfaces (network_tool->interfaces_list, ifaces_list);
2775-
2776- ifaces_list = oobs_ifaces_config_get_ifaces (network_tool->ifaces_config, OOBS_IFACE_TYPE_WIRELESS);
2777- add_interfaces (network_tool->interfaces_list, ifaces_list);
2778-
2779- ifaces_list = oobs_ifaces_config_get_ifaces (network_tool->ifaces_config, OOBS_IFACE_TYPE_IRLAN);
2780- add_interfaces (network_tool->interfaces_list, ifaces_list);
2781-
2782- ifaces_list = oobs_ifaces_config_get_ifaces (network_tool->ifaces_config, OOBS_IFACE_TYPE_PLIP);
2783- add_interfaces (network_tool->interfaces_list, ifaces_list);
2784-
2785- ifaces_list = oobs_ifaces_config_get_ifaces (network_tool->ifaces_config, OOBS_IFACE_TYPE_PPP);
2786- add_interfaces (network_tool->interfaces_list, ifaces_list);
2787-}
2788-
2789-static void
2790-set_entry_text (GtkWidget *entry, const gchar *text)
2791-{
2792- gtk_entry_set_text (GTK_ENTRY (entry), (text) ? text : "");
2793-}
2794-
2795-static void
2796-gst_network_tool_update_gui (GstTool *tool)
2797-{
2798- GstNetworkTool *network_tool;
2799- GList *dns, *search_domains;
2800- OobsList *hosts_list;
2801-
2802- network_tool = GST_NETWORK_TOOL (tool);
2803-
2804- dns = oobs_hosts_config_get_dns_servers (network_tool->hosts_config);
2805- update_address_list (network_tool->dns, dns);
2806- g_list_free (dns);
2807-
2808- search_domains = oobs_hosts_config_get_search_domains (network_tool->hosts_config);
2809- update_address_list (network_tool->search, search_domains);
2810- g_list_free (search_domains);
2811-
2812- hosts_list = oobs_hosts_config_get_static_hosts (network_tool->hosts_config);
2813- update_hosts_list (hosts_list);
2814-
2815- g_signal_handlers_block_by_func (network_tool->hostname, on_entry_changed, tool->main_dialog);
2816- set_entry_text (GTK_WIDGET (network_tool->hostname),
2817- oobs_hosts_config_get_hostname (network_tool->hosts_config));
2818- g_signal_handlers_unblock_by_func (network_tool->hostname, on_entry_changed, tool->main_dialog);
2819-
2820- g_signal_handlers_block_by_func (network_tool->domain, on_entry_changed, tool->main_dialog);
2821- set_entry_text (GTK_WIDGET (network_tool->domain),
2822- oobs_hosts_config_get_domainname (network_tool->hosts_config));
2823- g_signal_handlers_unblock_by_func (network_tool->domain, on_entry_changed, tool->main_dialog);
2824-
2825- gtk_list_store_clear (GTK_LIST_STORE (network_tool->interfaces_model));
2826- add_all_interfaces (network_tool);
2827-
2828- connection_dialog_update (network_tool->dialog);
2829-}
2830-
2831-GstTool*
2832-gst_network_tool_new (void)
2833-{
2834- return g_object_new (GST_TYPE_NETWORK_TOOL,
2835- "name", "network",
2836- "title", _("Network Settings"),
2837- "icon", "preferences-system-network",
2838- NULL);
2839-}
2840
2841=== removed directory '.pc/11_dont_show_shares.patch'
2842=== removed directory '.pc/11_dont_show_shares.patch/src'
2843=== removed directory '.pc/11_dont_show_shares.patch/src/shares'
2844=== removed file '.pc/11_dont_show_shares.patch/src/shares/shares.desktop.in.in'
2845--- .pc/11_dont_show_shares.patch/src/shares/shares.desktop.in.in 2011-10-22 20:24:21 +0000
2846+++ .pc/11_dont_show_shares.patch/src/shares/shares.desktop.in.in 1970-01-01 00:00:00 +0000
2847@@ -1,15 +0,0 @@
2848-[Desktop Entry]
2849-Version=1.0
2850-_Name=Shared Folders
2851-_Comment=Configure which folders are available for your network neighborhood
2852-Exec=shares-admin
2853-Icon=folder-remote
2854-Terminal=false
2855-Type=Application
2856-Categories=GNOME;GTK;System;Settings;X-GNOME-NetworkSettings;
2857-X-GNOME-Bugzilla-Bugzilla=GNOME
2858-X-GNOME-Bugzilla-Product=gnome-system-tools
2859-X-GNOME-Bugzilla-Component=shares-admin
2860-X-GNOME-Bugzilla-Version=@VERSION@
2861-StartupNotify=true
2862-
2863
2864=== removed directory '.pc/12_fix_exit.patch'
2865=== removed directory '.pc/12_fix_exit.patch/src'
2866=== removed directory '.pc/12_fix_exit.patch/src/users'
2867=== removed file '.pc/12_fix_exit.patch/src/users/users-tool.c'
2868--- .pc/12_fix_exit.patch/src/users/users-tool.c 2014-03-12 12:14:31 +0000
2869+++ .pc/12_fix_exit.patch/src/users/users-tool.c 1970-01-01 00:00:00 +0000
2870@@ -1,304 +0,0 @@
2871-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
2872-/*
2873- * Copyright (C) 2005 Carlos Garnacho
2874- *
2875- * This program is free software; you can redistribute it and/or modify
2876- * it under the terms of the GNU General Public License as
2877- * published by the Free Software Foundation; either version 2 of the
2878- * License, or (at your option) any later version.
2879- *
2880- * This program is distributed in the hope that it will be useful,
2881- * but WITHOUT ANY WARRANTY; without even the implied warranty of
2882- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
2883- * GNU General Public License for more details.
2884- *
2885- * You should have received a copy of the GNU General Public License
2886- * along with this program; if not, write to the Free Software
2887- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
2888- *
2889- * Authors: Carlos Garnacho Parro <carlosg@gnome.org>
2890- */
2891-
2892-#include <glib.h>
2893-#include <glib/gi18n.h>
2894-#include "callbacks.h"
2895-#include "user-profiles.h"
2896-#include "users-table.h"
2897-#include "groups-table.h"
2898-#include "privileges-table.h"
2899-#include "table.h"
2900-#include "users-tool.h"
2901-#include "gst.h"
2902-
2903-static void gst_users_tool_class_init (GstUsersToolClass *class);
2904-static void gst_users_tool_init (GstUsersTool *tool);
2905-static void gst_users_tool_finalize (GObject *object);
2906-static void gst_users_tool_update_config (GstTool *tool);
2907-
2908-static GObject* gst_users_tool_constructor (GType type,
2909- guint n_construct_properties,
2910- GObjectConstructParam *construct_params);
2911-
2912-G_DEFINE_TYPE (GstUsersTool, gst_users_tool, GST_TYPE_TOOL);
2913-
2914-static void
2915-gst_users_tool_class_init (GstUsersToolClass *class)
2916-{
2917- GObjectClass *object_class = G_OBJECT_CLASS (class);
2918- GstToolClass *tool_class = GST_TOOL_CLASS (class);
2919-
2920- object_class->constructor = gst_users_tool_constructor;
2921- object_class->finalize = gst_users_tool_finalize;
2922- tool_class->update_gui = gst_users_tool_update_gui;
2923- tool_class->update_config = gst_users_tool_update_config;
2924-}
2925-
2926-static void
2927-on_option_changed (GSettings *settings,
2928- const char *key,
2929- gpointer user_data)
2930-{
2931- GstTool *tool = GST_TOOL (user_data);
2932-
2933- GST_USERS_TOOL (tool)->showall = g_settings_get_boolean (settings, "showall");
2934- GST_USERS_TOOL (tool)->showroot = g_settings_get_boolean (settings, "showroot");
2935-
2936- /* We need to reload the users table since unshown users aren't added */
2937- gst_tool_update_gui (tool);
2938-}
2939-
2940-static void
2941-gst_users_tool_init (GstUsersTool *tool)
2942-{
2943- tool->users_config = oobs_users_config_get ();
2944- gst_tool_add_configuration_object (GST_TOOL (tool), tool->users_config, TRUE);
2945-
2946- tool->groups_config = oobs_groups_config_get ();
2947- gst_tool_add_configuration_object (GST_TOOL (tool), tool->groups_config, TRUE);
2948-
2949- tool->self_config = oobs_self_config_get ();
2950- gst_tool_add_configuration_object (GST_TOOL (tool), tool->self_config, TRUE);
2951-
2952- tool->profiles = gst_user_profiles_get ();
2953-
2954- tool->settings = g_settings_new ("org.gnome.system-tools.users");
2955-}
2956-
2957-static GObject*
2958-gst_users_tool_constructor (GType type,
2959- guint n_construct_properties,
2960- GObjectConstructParam *construct_params)
2961-{
2962- GObject *object;
2963- GstUsersTool *tool;
2964-
2965- object = (* G_OBJECT_CLASS (gst_users_tool_parent_class)->constructor) (type,
2966- n_construct_properties,
2967- construct_params);
2968-
2969- tool = GST_USERS_TOOL (object);
2970-
2971- g_signal_connect (tool->settings, "changed::showall",
2972- (GCallback) on_option_changed, tool);
2973- g_signal_connect (tool->settings, "changed::showroot",
2974- (GCallback) on_option_changed, tool);
2975-
2976- tool->showall = g_settings_get_boolean (tool->settings, "showall");
2977- tool->showroot = g_settings_get_boolean (tool->settings, "showroot");
2978-
2979- return object;
2980-}
2981-
2982-static void
2983-gst_users_tool_finalize (GObject *object)
2984-{
2985- GstUsersTool *tool = GST_USERS_TOOL (object);
2986-
2987- g_object_unref (tool->users_config);
2988- g_object_unref (tool->self_config);
2989- g_object_unref (tool->groups_config);
2990- g_object_unref (tool->profiles);
2991- g_object_unref (tool->settings);
2992-
2993- /* Clear models to unreference OobsUsers and OobsGroups
2994- * to be sure they are finalized properly (passwords...) */
2995- users_table_clear ();
2996- groups_table_clear ();
2997-
2998- (* G_OBJECT_CLASS (gst_users_tool_parent_class)->finalize) (object);
2999-}
3000-
3001-static void
3002-update_users (GstUsersTool *tool)
3003-{
3004- OobsList *list;
3005- OobsListIter iter;
3006- OobsUser *user;
3007- OobsUser *self;
3008- GtkTreePath *path;
3009- gboolean valid;
3010-
3011- users_table_clear ();
3012- list = oobs_users_config_get_users (OOBS_USERS_CONFIG (tool->users_config));
3013- self = oobs_self_config_get_user (OOBS_SELF_CONFIG (tool->self_config));
3014-
3015- valid = oobs_list_get_iter_first (list, &iter);
3016-
3017- while (valid) {
3018- user = OOBS_USER (oobs_list_get (list, &iter));
3019- path = users_table_add_user (user);
3020- gst_tool_add_configuration_object (GST_TOOL (tool), OOBS_OBJECT (user), FALSE);
3021-
3022- if (self == user)
3023- users_table_select_path (path);
3024-
3025- g_object_unref (user);
3026- gtk_tree_path_free (path);
3027- valid = oobs_list_iter_next (list, &iter);
3028- }
3029-}
3030-
3031-static void
3032-update_groups (GstUsersTool *tool)
3033-{
3034- OobsList *list;
3035- OobsListIter iter;
3036- GObject *group;
3037- gboolean valid;
3038-
3039- groups_table_clear ();
3040- groups_table_begin_insertions ();
3041- privileges_table_clear ();
3042-
3043- list = oobs_groups_config_get_groups (OOBS_GROUPS_CONFIG (tool->groups_config));
3044-
3045- valid = oobs_list_get_iter_first (list, &iter);
3046-
3047- while (valid) {
3048- group = oobs_list_get (list, &iter);
3049- groups_table_add_group (OOBS_GROUP (group));
3050- gst_tool_add_configuration_object (GST_TOOL (tool), OOBS_OBJECT (group), FALSE);
3051-
3052- /* update privileges table too */
3053- privileges_table_add_group (OOBS_GROUP (group));
3054-
3055- g_object_unref (group);
3056- valid = oobs_list_iter_next (list, &iter);
3057- }
3058-
3059- groups_table_end_insertions ();
3060-}
3061-
3062-static void
3063-update_profiles (GstUsersTool *tool)
3064-{
3065- GList *list, *l;
3066- GtkWidget *label1, *label2, *button;
3067- GstUserProfile *profile;
3068- int max_len, len;
3069-
3070- list = gst_user_profiles_get_list (tool->profiles);
3071- table_populate_profiles (tool, list);
3072-
3073- /* Hide profiles line in main dialog if only one profile is available */
3074- label1 = gst_dialog_get_widget (GST_TOOL (tool)->main_dialog,
3075- "user_settings_profile");
3076- label2 = gst_dialog_get_widget (GST_TOOL (tool)->main_dialog,
3077- "user_settings_profile_label");
3078- button = gst_dialog_get_widget (GST_TOOL (tool)->main_dialog,
3079- "edit_user_profile_button");
3080-
3081- if (g_list_length (list) > 1) {
3082- gtk_widget_show (label1);
3083- gtk_widget_show (label2);
3084- gtk_widget_show (button);
3085- }
3086- else {
3087- gtk_widget_hide (label1);
3088- gtk_widget_hide (label2);
3089- gtk_widget_hide (button);
3090- return;
3091- }
3092-
3093- /* use the length of the longest profile name to avoid resizing
3094- * the label and moving widgets around */
3095- max_len = 0;
3096- for (l = list; l; l = l->next) {
3097- profile = l->data;
3098- len = g_utf8_strlen (profile->name, -1);
3099- if (len > max_len)
3100- max_len = len;
3101- }
3102-
3103- gtk_label_set_width_chars (GTK_LABEL (label1), max_len);
3104-}
3105-
3106-static void
3107-update_shells (GstUsersTool *tool)
3108-{
3109- GtkWidget *combo;
3110- GtkTreeModel *model;
3111- GList *shells;
3112- GtkTreeIter iter;
3113-
3114- combo = gst_dialog_get_widget (GST_TOOL (tool)->main_dialog, "user_settings_shell");
3115- model = gtk_combo_box_get_model (GTK_COMBO_BOX (combo));
3116- shells = oobs_users_config_get_available_shells (OOBS_USERS_CONFIG (tool->users_config));
3117-
3118- while (shells) {
3119- gtk_list_store_append (GTK_LIST_STORE (model), &iter);
3120- gtk_list_store_set (GTK_LIST_STORE (model), &iter,
3121- 0, shells->data,
3122- -1);
3123- shells = shells->next;
3124- }
3125-}
3126-
3127-void
3128-gst_users_tool_update_gui (GstTool *tool)
3129-{
3130- update_users (GST_USERS_TOOL (tool));
3131- update_groups (GST_USERS_TOOL (tool));
3132- update_profiles (GST_USERS_TOOL (tool));
3133- update_shells (GST_USERS_TOOL (tool));
3134-}
3135-
3136-/*
3137- * Function called via g_idle_add() when we need to allow signals
3138- * to be processed before updating.
3139- */
3140-gboolean
3141-gst_users_tool_update_groups_async (gpointer data)
3142-{
3143- update_groups (GST_USERS_TOOL (data));
3144-
3145- return FALSE;
3146-}
3147-
3148-static void
3149-gst_users_tool_update_config (GstTool *tool)
3150-{
3151- GstUsersTool *users_tool;
3152-
3153- users_tool = GST_USERS_TOOL (tool);
3154-
3155- g_object_get (G_OBJECT (users_tool->users_config),
3156- "minimum-uid", &users_tool->minimum_uid,
3157- "maximum-uid", &users_tool->maximum_uid,
3158- NULL);
3159- g_object_get (G_OBJECT (users_tool->groups_config),
3160- "minimum-gid", &users_tool->minimum_gid,
3161- "maximum-gid", &users_tool->maximum_gid,
3162- NULL);
3163-}
3164-
3165-GstTool*
3166-gst_users_tool_new (void)
3167-{
3168- return g_object_new (GST_TYPE_USERS_TOOL,
3169- "name", "users",
3170- "title", _("Users Settings"),
3171- "icon", "config-users",
3172- "show-lock-button", FALSE,
3173- NULL);
3174-}
3175
3176=== removed directory '.pc/25_sambashare_group_definition.patch'
3177=== removed directory '.pc/25_sambashare_group_definition.patch/src'
3178=== removed directory '.pc/25_sambashare_group_definition.patch/src/users'
3179=== removed file '.pc/25_sambashare_group_definition.patch/src/users/privileges-table.c'
3180--- .pc/25_sambashare_group_definition.patch/src/users/privileges-table.c 2011-12-16 17:08:20 +0000
3181+++ .pc/25_sambashare_group_definition.patch/src/users/privileges-table.c 1970-01-01 00:00:00 +0000
3182@@ -1,278 +0,0 @@
3183-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
3184-/* privileges-table.c: this file is part of users-admin, a ximian-setup-tool frontend
3185- * for user administration.
3186- *
3187- * Copyright (C) 2004 Carlos Garnacho
3188- * Copyright (C) 2005 Carlos Garnacho, Sivan Greenberg
3189- *
3190- * This program is free software; you can redistribute it and/or modify
3191- * it under the terms of the GNU General Public License as
3192- * published by the Free Software Foundation; either version 2 of the
3193- * License, or (at your option) any later version.
3194- *
3195- * This program is distributed in the hope that it will be useful,
3196- * but WITHOUT ANY WARRANTY; without even the implied warranty of
3197- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
3198- * GNU General Public License for more details.
3199- *
3200- * You should have received a copy of the GNU General Public License
3201- * along with this program; if not, write to the Free Software
3202- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
3203- *
3204- * Authors: Carlos Garnacho Parro <carlosg@gnome.org>
3205- * Sivan Greenberg <sivan@workaround.org>
3206- */
3207-
3208-#include <config.h>
3209-
3210-#include <stdlib.h>
3211-#include <glib/gi18n.h>
3212-
3213-#include "gst.h"
3214-#include "privileges-table.h"
3215-#include "user-profiles.h"
3216-#include "user-settings.h"
3217-
3218-extern GstTool *tool;
3219-
3220-static GtkListStore *privileges_model = NULL;
3221-
3222-enum {
3223- COL_MEMBER,
3224- COL_DESCRIPTION,
3225- COL_GROUP
3226-};
3227-
3228-typedef struct _PrivilegeDescription PrivilegeDescription;
3229-
3230-struct _PrivilegeDescription {
3231- const gchar *group;
3232- const gchar *privilege;
3233-};
3234-
3235-/* keep this sorted, or you'll go to hell */
3236-static const PrivilegeDescription descriptions[] = {
3237- { "adm", N_("Monitor system logs") },
3238- { ADMIN_GROUP, N_("Administer the system") },
3239- { "audio", N_("Use audio devices") },
3240- { "cdrom", N_("Use CD-ROM drives") },
3241- { "cdwrite", N_("Burn CDs / DVDs") },
3242- { "dialout", N_("Use modems") },
3243- { "dip", N_("Connect to Internet using a modem") },
3244- { "fax", N_("Send and receive faxes") },
3245- { "floppy", N_("Use floppy drives") },
3246- { "fuse", N_("Mount user-space filesystems (FUSE)") },
3247- { "lpadmin", N_("Configure printers") },
3248- { "netdev", N_("Connect to wireless and ethernet networks") },
3249- { "plugdev", N_("Access external storage devices automatically") },
3250- { "powerdev", N_("Suspend and hibernate the computer") },
3251- { "proc", N_("Access /proc filesystem") },
3252- { "scanner", N_("Use scanners") },
3253- { "tape", N_("Use tape drives") },
3254- { "usb", N_("Use USB devices") },
3255- { "vboxusers", N_("Use VirtualBox virtualization solution") },
3256- { "video", N_("Use video devices") },
3257- { "wheel", N_("Be able to get administrator privileges") },
3258-};
3259-
3260-static int
3261-compare_groups (const void *p1, const void *p2)
3262-{
3263- PrivilegeDescription *desc1 = (PrivilegeDescription *) p1;
3264- PrivilegeDescription *desc2 = (PrivilegeDescription *) p2;
3265-
3266- return strcmp (desc1->group, desc2->group);
3267-}
3268-
3269-static const PrivilegeDescription*
3270-privilege_search (const gchar *group)
3271-{
3272- PrivilegeDescription p = { 0, };
3273-
3274- if (!group)
3275- return NULL;
3276-
3277- p.group = group;
3278-
3279- return (const PrivilegeDescription *) bsearch (&p, descriptions, G_N_ELEMENTS (descriptions),
3280- sizeof (PrivilegeDescription), compare_groups);
3281-}
3282-
3283-
3284-static void
3285-on_user_privilege_toggled (GtkCellRendererToggle *cell, gchar *path_str, gpointer data)
3286-{
3287- GtkTreePath *path = gtk_tree_path_new_from_string (path_str);
3288- GtkTreeIter iter;
3289- OobsGroup *group;
3290- gboolean value;
3291-
3292- if (gtk_tree_model_get_iter (GTK_TREE_MODEL (privileges_model), &iter, path)) {
3293- gtk_tree_model_get (GTK_TREE_MODEL (privileges_model), &iter,
3294- COL_MEMBER, &value,
3295- COL_GROUP, &group, -1);
3296-
3297- /* check that current user should be allowed to lose admin rights,
3298- * possibly showing a warning/error dialog */
3299- if (!value || strcmp (oobs_group_get_name (group), ADMIN_GROUP) != 0
3300- || user_settings_check_revoke_admin_rights ())
3301- gtk_list_store_set (privileges_model, &iter, COL_MEMBER, !value, -1);
3302-
3303- g_object_unref (group);
3304- }
3305-
3306- gtk_tree_path_free (path);
3307-}
3308-
3309-void
3310-create_user_privileges_table (void)
3311-{
3312- GtkWidget *list;
3313- GtkCellRenderer *renderer;
3314- GtkTreeViewColumn *column;
3315-
3316- list = gst_dialog_get_widget (tool->main_dialog, "user_privileges");
3317-
3318- privileges_model = gtk_list_store_new (3, G_TYPE_BOOLEAN, G_TYPE_STRING, G_TYPE_OBJECT);
3319- gtk_tree_view_set_model (GTK_TREE_VIEW (list), GTK_TREE_MODEL (privileges_model));
3320- g_object_unref (privileges_model);
3321-
3322- gtk_tree_sortable_set_sort_column_id (GTK_TREE_SORTABLE (privileges_model), COL_DESCRIPTION, GTK_SORT_ASCENDING);
3323-
3324- column = gtk_tree_view_column_new ();
3325-
3326- renderer = gtk_cell_renderer_toggle_new ();
3327- gtk_tree_view_column_pack_start (column, renderer, FALSE);
3328- gtk_tree_view_column_set_attributes (column,
3329- renderer,
3330- "active", COL_MEMBER,
3331- NULL);
3332- g_signal_connect (G_OBJECT (renderer), "toggled",
3333- G_CALLBACK (on_user_privilege_toggled), NULL);
3334-
3335- renderer = gtk_cell_renderer_text_new ();
3336- gtk_tree_view_column_pack_end (column, renderer, TRUE);
3337- gtk_tree_view_column_set_attributes (column,
3338- renderer,
3339- "text", COL_DESCRIPTION,
3340- NULL);
3341-
3342- gtk_tree_view_column_set_sort_column_id (column, 1);
3343- gtk_tree_view_insert_column (GTK_TREE_VIEW (list), column, 0);
3344-}
3345-
3346-void
3347-privileges_table_add_group (OobsGroup *group)
3348-{
3349- const PrivilegeDescription *p;
3350-
3351- p = privilege_search (oobs_group_get_name (group));
3352- if (p == NULL) /* Ignore groups that don't match a privilege */
3353- return;
3354-
3355- gtk_list_store_insert_with_values (privileges_model, NULL, G_MAXINT,
3356- COL_MEMBER, FALSE,
3357- COL_DESCRIPTION, (p) ? _(p->privilege) : NULL,
3358- COL_GROUP, group,
3359- -1);
3360-}
3361-
3362-void
3363-privileges_table_set_from_user (OobsUser *user)
3364-{
3365- GtkTreeIter iter;
3366- gboolean valid;
3367- OobsGroup *group;
3368- GList *users;
3369-
3370- valid = gtk_tree_model_get_iter_first (GTK_TREE_MODEL (privileges_model), &iter);
3371-
3372- while (valid) {
3373- gtk_tree_model_get (GTK_TREE_MODEL (privileges_model), &iter,
3374- COL_GROUP, &group,
3375- -1);
3376-
3377- users = oobs_group_get_users (group);
3378- gtk_list_store_set (privileges_model, &iter,
3379- COL_MEMBER, (g_list_find (users, user) != NULL),
3380- -1);
3381- g_list_free (users);
3382- g_object_unref (group);
3383- valid = gtk_tree_model_iter_next (GTK_TREE_MODEL (privileges_model), &iter);
3384- }
3385-}
3386-
3387-static gboolean
3388-find_group_in_profile (OobsGroup *group,
3389- GstUserProfile *profile)
3390-{
3391- gchar **groups;
3392- const gchar *name;
3393-
3394- if (!profile->groups)
3395- return FALSE;
3396-
3397- groups = profile->groups;
3398- name = oobs_group_get_name (group);
3399-
3400- while (*groups) {
3401- if (strcmp (*groups, name) == 0)
3402- return TRUE;
3403-
3404- groups++;
3405- }
3406-
3407- return FALSE;
3408-}
3409-
3410-void
3411-privileges_table_set_from_profile (GstUserProfile *profile)
3412-{
3413- GtkTreeIter iter;
3414- gboolean valid;
3415- OobsGroup *group;
3416-
3417- valid = gtk_tree_model_get_iter_first (GTK_TREE_MODEL (privileges_model), &iter);
3418-
3419- while (valid) {
3420- gtk_tree_model_get (GTK_TREE_MODEL (privileges_model), &iter,
3421- COL_GROUP, &group,
3422- -1);
3423-
3424- gtk_list_store_set (privileges_model, &iter,
3425- COL_MEMBER, find_group_in_profile (group, profile),
3426- -1);
3427-
3428- g_object_unref (group);
3429- valid = gtk_tree_model_iter_next (GTK_TREE_MODEL (privileges_model), &iter);
3430- }
3431-}
3432-
3433-void
3434-privileges_table_save (OobsUser *user)
3435-{
3436- GtkTreeIter iter;
3437- OobsGroup *group;
3438- gboolean valid, member;
3439-
3440- valid = gtk_tree_model_get_iter_first (GTK_TREE_MODEL (privileges_model), &iter);
3441-
3442- while (valid) {
3443- gtk_tree_model_get (GTK_TREE_MODEL (privileges_model), &iter,
3444- COL_GROUP, &group,
3445- COL_MEMBER, &member,
3446- -1);
3447- if (member)
3448- oobs_group_add_user (group, user);
3449- else
3450- oobs_group_remove_user (group, user);
3451-
3452- valid = gtk_tree_model_iter_next (GTK_TREE_MODEL (privileges_model), &iter);
3453- }
3454-}
3455-
3456-void
3457-privileges_table_clear (void)
3458-{
3459- gtk_list_store_clear (privileges_model);
3460-}
3461
3462=== removed directory '.pc/26_user_profiles_conf.patch'
3463=== removed directory '.pc/26_user_profiles_conf.patch/src'
3464=== removed directory '.pc/26_user_profiles_conf.patch/src/users'
3465=== removed file '.pc/26_user_profiles_conf.patch/src/users/user-profiles.conf.in'
3466--- .pc/26_user_profiles_conf.patch/src/users/user-profiles.conf.in 2011-12-16 17:08:20 +0000
3467+++ .pc/26_user_profiles_conf.patch/src/users/user-profiles.conf.in 1970-01-01 00:00:00 +0000
3468@@ -1,10 +0,0 @@
3469-[Desktop]
3470-_Name=Desktop user
3471-_Description=Can perform common tasks. Can't install software or change settings affecting all users.
3472-Default=1
3473-Groups=cdrom,floppy,dialout,tape,dip,adm,plugdev,fax,audio,scanner,fuse,video
3474-
3475-[Administrator]
3476-_Name=Administrator
3477-_Description=Can change anything on the system, including installing and upgrading software.
3478-Groups=cdrom,floppy,dialout,tape,dip,adm,plugdev,fax,audio,scanner,fuse,admin,sambashare,lpadmin,video
3479
3480=== removed directory '.pc/61_outdated_docs.patch'
3481=== removed directory '.pc/61_outdated_docs.patch/doc'
3482=== removed directory '.pc/61_outdated_docs.patch/doc/services'
3483=== removed file '.pc/61_outdated_docs.patch/doc/services/Makefile.am'
3484--- .pc/61_outdated_docs.patch/doc/services/Makefile.am 2011-12-16 17:08:20 +0000
3485+++ .pc/61_outdated_docs.patch/doc/services/Makefile.am 1970-01-01 00:00:00 +0000
3486@@ -1,15 +0,0 @@
3487-include $(top_srcdir)/gnome-doc-utils.make
3488-dist-hook: doc-dist-hook
3489-
3490-DOC_MODULE = services-admin
3491-DOC_ENTITIES = legal.xml
3492-DOC_INCLUDES =
3493-DOC_FIGURES = \
3494- figures/services-tool.png
3495-
3496-DOC_LINGUAS = ca cs de el en_GB es fr gl oc pl pt_BR sl sv it zh_CN
3497-
3498-# this isn't still ported to gnome-doc-utils
3499-SUBDIRS = nl
3500-
3501--include $(top_srcdir)/git.mk
3502
3503=== removed directory '.pc/61_outdated_docs.patch/doc/time'
3504=== removed file '.pc/61_outdated_docs.patch/doc/time/Makefile.am'
3505--- .pc/61_outdated_docs.patch/doc/time/Makefile.am 2011-12-16 17:08:20 +0000
3506+++ .pc/61_outdated_docs.patch/doc/time/Makefile.am 1970-01-01 00:00:00 +0000
3507@@ -1,18 +0,0 @@
3508-include $(top_srcdir)/gnome-doc-utils.make
3509-dist-hook: doc-dist-hook
3510-
3511-DOC_MODULE = time-admin
3512-DOC_ENTITIES = legal.xml
3513-DOC_INCLUDES =
3514-DOC_FIGURES = \
3515- figures/time-map.png \
3516- figures/time-servers.png \
3517- figures/time-tool-automatic.png \
3518- figures/time-tool-manual.png
3519-
3520-DOC_LINGUAS = ca cs de el en_GB es fr gl it oc pt_BR ru sl sv zh_CN
3521-
3522-# This isn't still ported to gnome-doc-utils
3523-SUBDIRS = nl
3524-
3525--include $(top_srcdir)/git.mk
3526
3527=== removed directory '.pc/62_no_gettext.patch'
3528=== removed file '.pc/62_no_gettext.patch/configure.in'
3529--- .pc/62_no_gettext.patch/configure.in 2011-12-16 17:08:20 +0000
3530+++ .pc/62_no_gettext.patch/configure.in 1970-01-01 00:00:00 +0000
3531@@ -1,350 +0,0 @@
3532-AC_PREREQ(2.60)
3533-AC_INIT(gnome-system-tools, 3.0.0, http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-system-tools)
3534-AC_CONFIG_SRCDIR(src/common/gst-tool.c)
3535-AC_CONFIG_MACRO_DIR([m4])
3536-AM_INIT_AUTOMAKE(AC_PACKAGE_NAME, AC_PACKAGE_VERSION)
3537-m4_ifdef([AM_SILENT_RULES],[AM_SILENT_RULES([yes])])
3538-
3539-IT_PROG_INTLTOOL([0.35.0])
3540-
3541-AM_CONFIG_HEADER(config.h)
3542-
3543-GNOME_DOC_INIT
3544-
3545-AM_MAINTAINER_MODE
3546-
3547-dnl Checking the above
3548-AC_CONFIG_SRCDIR(src/common/gst-tool.c)
3549-
3550-AM_PROG_LIBTOOL
3551-
3552-AC_ISC_POSIX
3553-AC_PROG_CC
3554-AM_PROG_CC_STDC
3555-AC_HEADER_STDC
3556-AC_PROG_INSTALL
3557-AC_PROG_MAKE_SET
3558-
3559-dnl glib-genmarshal
3560-AC_PATH_PROG(GLIB_GENMARSHAL, glib-genmarshal)
3561-
3562-GLIB_GSETTINGS
3563-
3564-STB_REQUIRED=2.10.1
3565-LIBOOBS_REQUIRED=2.91.1
3566-GTK_REQUIRED=2.91
3567-GLIB_REQUIRED=2.25.3
3568-DBUS_REQUIRED=0.32
3569-POLKIT_REQUIRED=0.97
3570-
3571-dnl =====================================================
3572-dnl Cracklib checking
3573-dnl =====================================================
3574-
3575-dnl AC_CHECK_LIB(crack, FascistCheck, ,[
3576-dnl AC_MSG_WARN()
3577-dnl AC_MSG_WARN(---------- Building without cracklib is not recommended. ----------)
3578-dnl AC_MSG_WARN()
3579-dnl AC_MSG_WARN(-- If you are looking for cracklib you can try :)
3580-dnl AC_MSG_WARN(-- http://www.users.dircon.co.uk/~crypto/)
3581-dnl AC_MSG_WARN(-- or :)
3582-dnl AC_MSG_WARN(-- http://www.rpmfind.net/linux/rpm2html/search.php?query=cracklib)
3583-dnl AC_MSG_WARN(-- or :)
3584-dnl AC_MSG_WARN(-- apt-get install cracklib2-dev)
3585-dnl AC_MSG_WARN()])
3586-dnl if test x"$HAVE_LIBCRACK" = xyes ; then
3587-dnl AC_CHECK_HEADER(crack.h, ,[
3588-dnl AC_MSG_ERROR(cracklib crack.h header file not found.)])
3589-dnl fi
3590-
3591-dnl GST_CRACK_LIB_LOCATION="/usr/lib/"
3592-dnl AC_ARG_WITH(cracklib-dict,
3593-dnl [ --with-cracklib-dict[=DIR] specify a cracklib dir ],[
3594-dnl if test "$withval" != "no"; then
3595-dnl GST_CRACK_LIB_LOCATION=$withval
3596-dnl fi
3597-dnl ])
3598-dnl AC_SUBST(GST_CRACK_LIB_LOCATION)
3599-dnl GST_CRACK_LIB_CFLAGS="-DGST_CRACK_LIB_DICT_PATH=\"\\\"\$(GST_CRACK_LIB_LOCATION)\\\"\""
3600-dnl AC_SUBST(GST_CRACK_LIB_CFLAGS)
3601-
3602-dnl =====================================================
3603-dnl END: Cracklib checking
3604-dnl =====================================================
3605-
3606-dnl =====================================================
3607-dnl Check for Module versions
3608-dnl =====================================================
3609-
3610-PKG_CHECK_MODULES(GST_DEPENDS,[
3611- gtk+-3.0 >= $GTK_REQUIRED
3612- gmodule-export-2.0
3613- gio-2.0 >= $GLIB_REQUIRED
3614- pango
3615- liboobs-1 >= $LIBOOBS_REQUIRED
3616- system-tools-backends-2.0 >= $STB_REQUIRED
3617- ])
3618-
3619-PKG_CHECK_MODULES(DBUS,[
3620- dbus-1 >= $DBUS_REQUIRED
3621- ])
3622-
3623-DBUS_CFLAGS="$DBUS_CFLAGS -DDBUS_API_SUBJECT_TO_CHANGE"
3624-AC_SUBST(DBUS_LIBS)
3625-AC_SUBST(DBUS_CFLAGS)
3626-
3627-dnl PolicyKit support
3628-
3629-have_polkit=no
3630-AC_ARG_ENABLE(polkit,
3631- AS_HELP_STRING([--enable-polkit],[Enable PolicyKit support (default yes)]),
3632- [], [enable_polkit=yes])
3633-
3634-if test "x$enable_polkit" = "xyes"; then
3635- PKG_CHECK_MODULES(POLKIT,[polkit-gobject-1 >= $POLKIT_REQUIRED], have_polkit=yes)
3636-
3637- if test "$have_polkit" = "yes"; then
3638- AC_DEFINE(HAVE_POLKIT, [1], [whether polkit was found])
3639- else
3640- AC_MSG_ERROR([PolicyKit support requested but policykit-1 not found])
3641- fi
3642-fi
3643-
3644-AC_SUBST(POLKIT_LIBS)
3645-AC_SUBST(POLKIT_CFLAGS)
3646-AM_CONDITIONAL(HAVE_POLKIT, test x$have_polkit = xyes)
3647-
3648-
3649-dnl =====================================================
3650-dnl END: Check for Module versions
3651-dnl =====================================================
3652-
3653-dnl =====================================================
3654-dnl Check for GST Modules to build
3655-dnl =====================================================
3656-
3657-
3658-AC_ARG_ENABLE(network,
3659- [ --enable-network Enable build network module (default yes)], ,
3660- enable_network=yes)
3661-AC_ARG_ENABLE(services,
3662- [ --enable-services Enable build services module (default yes)], ,
3663- enable_services=yes)
3664-AC_ARG_ENABLE(time,
3665- [ --enable-time Enable build time module (default yes)], ,
3666- enable_time=yes)
3667-AC_ARG_ENABLE(users,
3668- [ --enable-users Enable build users module (default yes)], ,
3669- enable_users=yes)
3670-AC_ARG_ENABLE(shares,
3671- [ --enable-shares Enable build shares module (default yes)], ,
3672- enable_shares=yes)
3673-AC_ARG_ENABLE(nautilus,
3674- [ --enable-nautilus Enable build nautilus shares module (default yes)], ,
3675- enable_nautilus=yes)
3676-
3677-AM_CONDITIONAL(BUILD_NETWORK, test x$enable_network = xyes)
3678-AM_CONDITIONAL(BUILD_SERVICES, test x$enable_services = xyes)
3679-AM_CONDITIONAL(BUILD_TIME, test x$enable_time = xyes)
3680-AM_CONDITIONAL(BUILD_USERS, test x$enable_users = xyes)
3681-AM_CONDITIONAL(BUILD_SHARES, test x$enable_shares = xyes)
3682-AM_CONDITIONAL(BUILD_NAUTILUS, test x$enable_nautilus = xyes)
3683-
3684-dnl =====================================================
3685-dnl END: Check for GST Modules to build
3686-dnl =====================================================
3687-
3688-dnl ========================================================
3689-dnl Translations
3690-dnl ========================================================
3691-
3692-AM_GNU_GETTEXT([external])
3693-AM_GNU_GETTEXT_VERSION([0.17])
3694-GETTEXT_PACKAGE=gnome-system-tools
3695-AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE, "$GETTEXT_PACKAGE", [gettext package name])
3696-AC_SUBST([GETTEXT_PACKAGE], GETTEXT_PACKAGE)
3697-
3698-dnl ========================================================
3699-dnl END : Translations
3700-dnl ========================================================
3701-
3702-
3703-dnl =====================================================
3704-dnl GST_LIBS & GST_CFLAGS
3705-dnl =====================================================
3706-
3707-
3708-#### gcc warning flags (taken from PolicyKit-gnome)
3709-
3710-if test "x$GCC" = "xyes"; then
3711- changequote(,)dnl
3712- case " $CFLAGS " in
3713- *[\ \ ]-Wall[\ \ ]*) ;;
3714- *) CFLAGS="$CFLAGS -Wall" ;;
3715- esac
3716-
3717- case " $CFLAGS " in
3718- *[\ \ ]-Wchar-subscripts[\ \ ]*) ;;
3719- *) CFLAGS="$CFLAGS -Wchar-subscripts" ;;
3720- esac
3721-
3722- case " $CFLAGS " in
3723- *[\ \ ]-Wmissing-declarations[\ \ ]*) ;;
3724- *) CFLAGS="$CFLAGS -Wmissing-declarations" ;;
3725- esac
3726-
3727- case " $CFLAGS " in
3728- *[\ \ ]-Wnested-externs[\ \ ]*) ;;
3729- *) CFLAGS="$CFLAGS -Wnested-externs" ;;
3730- esac
3731-
3732- case " $CFLAGS " in
3733- *[\ \ ]-Wpointer-arith[\ \ ]*) ;;
3734- *) CFLAGS="$CFLAGS -Wpointer-arith" ;;
3735- esac
3736-
3737- case " $CFLAGS " in
3738- *[\ \ ]-Wcast-align[\ \ ]*) ;;
3739- *) CFLAGS="$CFLAGS -Wcast-align" ;;
3740- esac
3741-
3742- case " $CFLAGS " in
3743- *[\ \ ]-Wsign-compare[\ \ ]*) ;;
3744- *) CFLAGS="$CFLAGS -Wsign-compare" ;;
3745- esac
3746-
3747- case " $CFLAGS " in
3748- *[\ \ ]-Wformat[\ \ ]*) ;;
3749- *) CFLAGS="$CFLAGS -Wformat" ;;
3750- esac
3751-
3752- case " $CFLAGS " in
3753- *[\ \ ]-Wformat-security[\ \ ]*) ;;
3754- *) CFLAGS="$CFLAGS -Wformat-security" ;;
3755- esac
3756-
3757- changequote([,])dnl
3758-fi
3759-
3760-dnl GST_DEPRECATED_FLAGS="-DG_DISABLE_DEPRECATED -DGDK_DISABLE_DEPRECATED -DGTK_DISABLE_DEPRECATED -DGDK_PIXBUF_DISABLE_DEPRECATED -DGNOME_DISABLE_DEPRECATED"
3761-GST_DEPRECATED_FLAGS=""
3762-
3763-GST_LIBS="$GST_DEPENDS_LIBS $POLKIT_LIBS"
3764-GST_CFLAGS="$GST_DEPENDS_CFLAGS $POLKIT_CFLAGS $GST_DEPRECATED_FLAGS"
3765-
3766-GST_TOOL_LIBS="\$(top_builddir)/src/common/libsetuptool.a $GST_LIBS"
3767-GST_TOOL_CFLAGS="-I\$(top_srcdir)/src/common $GST_CFLAGS"
3768-
3769-GST_TOOL_CLEANFILES="\$(desktop) \$(desktop).in"
3770-GST_TOOL_EXTRA_DIST="\$(toolpixmaps) \$(desktop).in.in"
3771-GST_TOOL_DEPENDENCIES="\$(top_builddir)/src/common/libsetuptool.a"
3772-
3773-AC_SUBST(GST_LIBS)
3774-AC_SUBST(GST_CFLAGS)
3775-AC_SUBST(GST_TOOL_LIBS)
3776-AC_SUBST(GST_TOOL_CFLAGS)
3777-AC_SUBST(GST_TOOL_CLEANFILES)
3778-AC_SUBST(GST_TOOL_EXTRA_DIST)
3779-AC_SUBST(GST_TOOL_DEPENDENCIES)
3780-
3781-dnl ==================================
3782-dnl END: GST_LIBS & GST_FLAGS
3783-dnl ==================================
3784-
3785-dnl ==================================
3786-dnl LIBIW DETECTION
3787-dnl ==================================
3788-
3789-GST_IW_LIBS=
3790-AC_CHECK_HEADER(iwlib.h, [
3791- enable_libiw=yes
3792- AC_DEFINE(HAVE_LIBIW_H, "", [whether libiw is available])
3793- AC_HAVE_LIBRARY(iw, [GST_IW_LIBS="-liw"])
3794-])
3795-AM_CONDITIONAL(HAVE_LIBIW_H, test x$enable_libiw = xyes)
3796-AC_SUBST(GST_IW_LIBS)
3797-
3798-dnl ==================================
3799-dnl END: LIBIW DETECTION
3800-dnl ==================================
3801-
3802-dnl ===========================
3803-dnl NAUTILUS EXTENSION
3804-dnl ===========================
3805-
3806-if test "x$enable_nautilus" = "xyes"; then
3807- PKG_CHECK_MODULES(NAUTILUS,[
3808- libnautilus-extension >= 2.9.3
3809- liboobs-1 >= $LIBOOBS_REQUIRED
3810- gio-2.0 >= $GLIB_REQUIRED
3811- ])
3812-fi
3813-
3814-AC_SUBST(NAUTILUS_LIBS)
3815-AC_SUBST(NAUTILUS_CFLAGS)
3816-
3817-dnl Determine the install dir for nautilus extension.
3818-NAUTILUSDIR=`pkg-config --variable=extensiondir libnautilus-extension`
3819-AC_SUBST(NAUTILUSDIR)
3820-
3821-dnl ===========================
3822-dnl END: NAUTILUS EXTENSION
3823-dnl ===========================
3824-
3825-AC_OUTPUT([
3826-Makefile
3827-doc/Makefile
3828-doc/network/Makefile
3829-doc/services/Makefile
3830-doc/services/nl/Makefile
3831-doc/shares/Makefile
3832-doc/time/Makefile
3833-doc/time/nl/Makefile
3834-doc/users/Makefile
3835-icons/Makefile
3836-icons/16x16/Makefile
3837-icons/16x16/apps/Makefile
3838-icons/22x22/Makefile
3839-icons/22x22/apps/Makefile
3840-icons/24x24/Makefile
3841-icons/24x24/apps/Makefile
3842-icons/32x32/Makefile
3843-icons/32x32/apps/Makefile
3844-icons/48x48/Makefile
3845-icons/48x48/apps/Makefile
3846-icons/48x48/devices/Makefile
3847-icons/scalable/Makefile
3848-icons/scalable/apps/Makefile
3849-interfaces/Makefile
3850-pixmaps/Makefile
3851-src/Makefile
3852-src/common/Makefile
3853-src/users/users.desktop.in
3854-src/users/Makefile
3855-src/network/network.desktop.in
3856-src/network/Makefile
3857-src/time/time.desktop.in
3858-src/time/Makefile
3859-src/time/e-map/Makefile
3860-src/services/services.desktop.in
3861-src/services/Makefile
3862-src/shares/shares.desktop.in
3863-src/shares/Makefile
3864-src/shares/nautilus/Makefile
3865-po/Makefile.in
3866-gnome-system-tools.pc
3867-])
3868-
3869-echo "
3870-
3871-Configuration (GST):
3872- Services tool: ${enable_services}
3873- Users tool: ${enable_users}
3874- Network tool: ${enable_network}
3875- Time tool: ${enable_time}
3876- Shares tool: ${enable_shares}
3877- Nautilus support: ${enable_nautilus}
3878- Use PolicyKit: ${have_polkit}
3879-
3880- Compiler: ${CC}
3881-"
3882
3883=== removed directory '.pc/80_gst-packages-common.patch'
3884=== removed directory '.pc/80_gst-packages-common.patch/src'
3885=== removed directory '.pc/80_gst-packages-common.patch/src/common'
3886=== removed file '.pc/80_gst-packages-common.patch/src/common/Makefile.am'
3887--- .pc/80_gst-packages-common.patch/src/common/Makefile.am 2011-12-16 17:08:20 +0000
3888+++ .pc/80_gst-packages-common.patch/src/common/Makefile.am 1970-01-01 00:00:00 +0000
3889@@ -1,28 +0,0 @@
3890-include $(top_srcdir)/DirsMakefile
3891-
3892-noinst_LIBRARIES = libsetuptool.a
3893-
3894-INCLUDES += \
3895- $(GST_CFLAGS) \
3896- -DDATADIR=\""$(datadir)"\" \
3897- -DLIBDIR=\""$(libdir)"\" \
3898- -DSYSCONFDIR=\""$(sysconfdir)"\" \
3899- -DPREFIX=\""$(prefix)"\" \
3900- -DGNOMELOCALEDIR=\""$(datadir)/locale"\"
3901-
3902-libsetuptool_a_SOURCES = \
3903- gst-dialog.c gst-dialog.h \
3904- gst-tool.c gst-tool.h \
3905- gst-platform-dialog.c gst-platform-dialog.h \
3906- gst-filter.c gst-filter.h \
3907- gst-service-role.c gst-service-role.h \
3908- gst.h
3909-
3910-if HAVE_POLKIT
3911-libsetuptool_a_SOURCES += \
3912- um-lockbutton.c um-lockbutton.h
3913-endif
3914-
3915-EXTRA_DIST = CommonMakefile $(headers)
3916-
3917--include $(top_srcdir)/git.mk
3918
3919=== removed file '.pc/80_gst-packages-common.patch/src/common/gst-package.c'
3920=== removed file '.pc/80_gst-packages-common.patch/src/common/gst-package.h'
3921=== removed file '.pc/80_gst-packages-common.patch/src/common/gst.h'
3922--- .pc/80_gst-packages-common.patch/src/common/gst.h 2010-09-01 18:17:22 +0000
3923+++ .pc/80_gst-packages-common.patch/src/common/gst.h 1970-01-01 00:00:00 +0000
3924@@ -1,6 +0,0 @@
3925-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
3926-#include <config.h>
3927-#include "gst-tool.h"
3928-#include "gst-dialog.h"
3929-#include "gst-filter.h"
3930-#include "gst-service-role.h"
3931
3932=== removed directory '.pc/81_gst-packages-shares-admin.patch'
3933=== removed directory '.pc/81_gst-packages-shares-admin.patch/src'
3934=== removed directory '.pc/81_gst-packages-shares-admin.patch/src/shares'
3935=== removed file '.pc/81_gst-packages-shares-admin.patch/src/shares/shares-tool.c'
3936--- .pc/81_gst-packages-shares-admin.patch/src/shares/shares-tool.c 2010-05-31 16:48:21 +0000
3937+++ .pc/81_gst-packages-shares-admin.patch/src/shares/shares-tool.c 1970-01-01 00:00:00 +0000
3938@@ -1,240 +0,0 @@
3939-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
3940-/* Copyright (C) 2004 Carlos Garnacho
3941- *
3942- * This program is free software; you can redistribute it and/or modify
3943- * it under the terms of the GNU General Public License as
3944- * published by the Free Software Foundation; either version 2 of the
3945- * License, or (at your option) any later version.
3946- *
3947- * This program is distributed in the hope that it will be useful,
3948- * but WITHOUT ANY WARRANTY; without even the implied warranty of
3949- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
3950- * GNU General Public License for more details.
3951- *
3952- * You should have received a copy of the GNU General Public License
3953- * along with this program; if not, write to the Free Software
3954- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
3955- *
3956- * Authors: Carlos Garnacho Parro <carlosg@gnome.org>.
3957- */
3958-
3959-#include <glib-object.h>
3960-#include "shares-tool.h"
3961-#include "users-table.h"
3962-#include <glib/gi18n.h>
3963-#include "gst.h"
3964-
3965-static void gst_shares_tool_class_init (GstSharesToolClass *class);
3966-static void gst_shares_tool_init (GstSharesTool *tool);
3967-static void gst_shares_tool_finalize (GObject *object);
3968-
3969-static GObject * gst_shares_tool_constructor (GType type,
3970- guint n_construct_properties,
3971- GObjectConstructParam *construct_params);
3972-
3973-static void gst_shares_tool_update_gui (GstTool *tool);
3974-static void gst_shares_tool_update_config (GstTool *tool);
3975-
3976-static void gst_shares_tool_update_services_availability (GstSharesTool *tool);
3977-
3978-G_DEFINE_TYPE (GstSharesTool, gst_shares_tool, GST_TYPE_TOOL);
3979-
3980-static void
3981-gst_shares_tool_class_init (GstSharesToolClass *class)
3982-{
3983- GObjectClass *object_class = G_OBJECT_CLASS (class);
3984- GstToolClass *tool_class = GST_TOOL_CLASS (class);
3985-
3986- object_class->constructor = gst_shares_tool_constructor;
3987- object_class->finalize = gst_shares_tool_finalize;
3988- tool_class->update_gui = gst_shares_tool_update_gui;
3989- tool_class->update_config = gst_shares_tool_update_config;
3990-}
3991-
3992-static void
3993-gst_shares_tool_init (GstSharesTool *tool)
3994-{
3995- GstTool *gst_tool = GST_TOOL (tool);
3996-
3997- tool->nfs_config = oobs_nfs_config_get ();
3998- gst_tool_add_configuration_object (gst_tool, tool->nfs_config, TRUE);
3999-
4000- tool->smb_config = oobs_smb_config_get ();
4001- gst_tool_add_configuration_object (gst_tool, tool->smb_config, TRUE);
4002-
4003- tool->services_config = oobs_services_config_get ();
4004- gst_tool_add_configuration_object (gst_tool, tool->services_config, TRUE);
4005-
4006- tool->hosts_config = oobs_hosts_config_get ();
4007- gst_tool_add_configuration_object (gst_tool, tool->hosts_config, TRUE);
4008-
4009- tool->users_config = oobs_users_config_get ();
4010- gst_tool_add_configuration_object (gst_tool, tool->users_config, TRUE);
4011-}
4012-
4013-static GObject *
4014-gst_shares_tool_constructor (GType type,
4015- guint n_construct_properties,
4016- GObjectConstructParam *construct_params)
4017-{
4018- GObject *object;
4019-
4020- object = (* G_OBJECT_CLASS (gst_shares_tool_parent_class)->constructor) (type,
4021- n_construct_properties,
4022- construct_params);
4023- users_table_create (GST_TOOL (object));
4024-
4025- return object;
4026-}
4027-
4028-static void
4029-gst_shares_tool_finalize (GObject *object)
4030-{
4031- GstSharesTool *tool = GST_SHARES_TOOL (object);
4032-
4033- if (tool->nfs_config)
4034- g_object_unref (tool->nfs_config);
4035-
4036- (* G_OBJECT_CLASS (gst_shares_tool_parent_class)->finalize) (object);
4037-}
4038-
4039-static void
4040-add_shares (OobsList *list)
4041-{
4042- OobsListIter iter;
4043- OobsShare *share;
4044- gboolean valid;
4045-
4046- valid = oobs_list_get_iter_first (list, &iter);
4047-
4048- while (valid) {
4049- share = OOBS_SHARE (oobs_list_get (list, &iter));
4050-
4051- table_add_share (share, &iter);
4052- g_object_unref (share);
4053- valid = oobs_list_iter_next (list, &iter);
4054- }
4055-}
4056-
4057-static void
4058-update_global_smb_config (GstTool *tool,
4059- OobsSMBConfig *config)
4060-{
4061- GtkWidget *widget;
4062- const gchar *str;
4063- gboolean is_wins_server;
4064-
4065- str = oobs_smb_config_get_workgroup (config);
4066- widget = gst_dialog_get_widget (tool->main_dialog, "smb_workgroup");
4067- gtk_entry_set_text (GTK_ENTRY (widget), (str) ? str : "");
4068-
4069- is_wins_server = oobs_smb_config_get_is_wins_server (config);
4070- widget = gst_dialog_get_widget (tool->main_dialog, "smb_is_wins");
4071- gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (widget), is_wins_server);
4072-
4073- str = oobs_smb_config_get_wins_server (config);
4074- widget = gst_dialog_get_widget (tool->main_dialog, "smb_wins_server");
4075- gtk_entry_set_text (GTK_ENTRY (widget), (str) ? str : "");
4076-}
4077-
4078-static gboolean
4079-check_servers (GstSharesTool *tool)
4080-{
4081- GtkWidget *dialog;
4082-
4083- if (tool->smb_available || tool->nfs_available)
4084- return TRUE;
4085-
4086- dialog = gtk_message_dialog_new (GTK_WINDOW (GST_TOOL (tool)->main_dialog),
4087- GTK_DIALOG_MODAL,
4088- GTK_MESSAGE_WARNING,
4089- GTK_BUTTONS_CLOSE,
4090- _("Sharing services are not installed"));
4091- gtk_message_dialog_format_secondary_markup (GTK_MESSAGE_DIALOG (dialog),
4092- _("You need to install at least either Samba or NFS "
4093- "in order to share your folders."));
4094- gtk_dialog_run (GTK_DIALOG (dialog));
4095- gtk_widget_destroy (dialog);
4096-
4097- return FALSE;
4098-}
4099-
4100-static void
4101-gst_shares_tool_update_gui (GstTool *tool)
4102-{
4103- GstSharesTool *shares_tool;
4104- GtkWidget *dialog_notebook;
4105- OobsList *list;
4106-
4107- shares_tool = GST_SHARES_TOOL (tool);
4108- dialog_notebook = gst_dialog_get_widget (tool->main_dialog, "shares_admin");
4109-
4110- if (check_servers (shares_tool)) {
4111- table_clear ();
4112-
4113- list = oobs_nfs_config_get_shares (OOBS_NFS_CONFIG (shares_tool->nfs_config));
4114- add_shares (list);
4115-
4116- list = oobs_smb_config_get_shares (OOBS_SMB_CONFIG (shares_tool->smb_config));
4117- add_shares (list);
4118-
4119- update_global_smb_config (tool, OOBS_SMB_CONFIG (shares_tool->smb_config));
4120- gtk_widget_set_sensitive (dialog_notebook, TRUE);
4121- } else {
4122- /* disable the tool UI, there's no way to add shares */
4123- gtk_widget_set_sensitive (dialog_notebook, FALSE);
4124- }
4125-
4126- users_table_set_config (shares_tool);
4127-
4128- if (shares_tool->path) {
4129- gst_tool_authenticate (tool, GST_SHARES_TOOL (tool)->smb_config);
4130- gst_tool_authenticate (tool, GST_SHARES_TOOL (tool)->nfs_config);
4131- share_settings_dialog_run (shares_tool->path, TRUE);
4132- }
4133-}
4134-
4135-static void
4136-gst_shares_tool_update_config (GstTool *tool)
4137-{
4138- GstSharesTool *shares_tool;
4139-
4140- shares_tool = GST_SHARES_TOOL (tool);
4141- gst_shares_tool_update_services_availability (shares_tool);
4142-}
4143-
4144-static void
4145-gst_shares_tool_update_services_availability (GstSharesTool *tool)
4146-{
4147- OobsList *services;
4148- OobsListIter iter;
4149- GObject *service;
4150- gboolean valid;
4151- GstServiceRole role;
4152-
4153- services = oobs_services_config_get_services (OOBS_SERVICES_CONFIG (tool->services_config));
4154- valid = oobs_list_get_iter_first (services, &iter);
4155-
4156- while (valid) {
4157- service = oobs_list_get (services, &iter);
4158- role = gst_service_get_role (OOBS_SERVICE (service));
4159-
4160- if (role == GST_ROLE_FILE_SERVER_SMB)
4161- tool->smb_available = TRUE;
4162- else if (role == GST_ROLE_FILE_SERVER_NFS)
4163- tool->nfs_available = TRUE;
4164-
4165- g_object_unref (service);
4166- valid = oobs_list_iter_next (services, &iter);
4167- }
4168-}
4169-
4170-GstSharesTool*
4171-gst_shares_tool_new (void)
4172-{
4173- return g_object_new (GST_TYPE_SHARES_TOOL,
4174- "name", "shares",
4175- "title", _("Shared Folders"),
4176- "icon", "folder-remote",
4177- NULL);
4178-}
4179
4180=== removed directory '.pc/82_gst-packages-time-admin.patch'
4181=== removed directory '.pc/82_gst-packages-time-admin.patch/src'
4182=== removed directory '.pc/82_gst-packages-time-admin.patch/src/time'
4183=== removed file '.pc/82_gst-packages-time-admin.patch/src/time/time-tool.c'
4184--- .pc/82_gst-packages-time-admin.patch/src/time/time-tool.c 2011-12-16 17:08:20 +0000
4185+++ .pc/82_gst-packages-time-admin.patch/src/time/time-tool.c 1970-01-01 00:00:00 +0000
4186@@ -1,774 +0,0 @@
4187-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
4188-/*
4189- * Copyright (C) 2005 Carlos Garnacho.
4190- *
4191- * This program is free software; you can redistribute it and/or modify
4192- * it under the terms of the GNU General Public License as
4193- * published by the Free Software Foundation; either version 2 of the
4194- * License, or (at your option) any later version.
4195- *
4196- * This program is distributed in the hope that it will be useful,
4197- * but WITHOUT ANY WARRANTY; without even the implied warranty of
4198- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
4199- * GNU General Public License for more details.
4200- *
4201- * You should have received a copy of the GNU General Public License
4202- * along with this program; if not, write to the Free Software
4203- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
4204- *
4205- * Authors: Carlos Garnacho Parro <carlosg@gnome.org>
4206- */
4207-
4208-#include <glib.h>
4209-#include <glib/gi18n.h>
4210-#include <dbus/dbus.h>
4211-#include "time-tool.h"
4212-#include "gst.h"
4213-#include "ntp-servers-list.h"
4214-
4215-#define GST_TIME_TOOL_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GST_TYPE_TIME_TOOL, GstTimeToolPrivate))
4216-#define APPLY_CONFIG_TIMEOUT 2000
4217-
4218-#define SCREENSAVER_SERVICE "org.gnome.ScreenSaver"
4219-#define SCREENSAVER_PATH "/org/gnome/ScreenSaver"
4220-#define SCREENSAVER_INTERFACE "org.gnome.ScreenSaver"
4221-
4222-typedef struct _GstTimeToolPrivate GstTimeToolPrivate;
4223-
4224-struct _GstTimeToolPrivate {
4225- guint clock_timeout;
4226- guint apply_timeout;
4227-
4228- guint configuration_changed_id;
4229-
4230- DBusConnection *bus_connection;
4231- gint cookie;
4232-};
4233-
4234-enum {
4235- CONFIGURATION_AUTOMATIC,
4236- CONFIGURATION_MANUAL
4237-};
4238-
4239-enum {
4240- COL_TEXT,
4241- COL_WIDGET,
4242- COL_LAST
4243-};
4244-
4245-static void gst_time_tool_class_init (GstTimeToolClass *class);
4246-static void gst_time_tool_init (GstTimeTool *tool);
4247-static void gst_time_tool_finalize (GObject *object);
4248-
4249-static GObject *gst_time_tool_constructor (GType type,
4250- guint n_construct_properties,
4251- GObjectConstructParam *construct_params);
4252-static void gst_time_tool_update_gui (GstTool *tool);
4253-static void gst_time_tool_update_config (GstTool *tool);
4254-static void gst_time_tool_close (GstTool *tool);
4255-
4256-static void on_option_configuration_changed (GtkWidget *widget,
4257- GstTimeTool *time_tool);
4258-
4259-
4260-G_DEFINE_TYPE (GstTimeTool, gst_time_tool, GST_TYPE_TOOL);
4261-
4262-static void
4263-gst_time_tool_class_init (GstTimeToolClass *class)
4264-{
4265- GObjectClass *object_class = G_OBJECT_CLASS (class);
4266- GstToolClass *tool_class = GST_TOOL_CLASS (class);
4267-
4268- object_class->constructor = gst_time_tool_constructor;
4269- object_class->finalize = gst_time_tool_finalize;
4270- tool_class->update_gui = gst_time_tool_update_gui;
4271- tool_class->update_config = gst_time_tool_update_config;
4272- tool_class->close = gst_time_tool_close;
4273-
4274- g_type_class_add_private (object_class,
4275- sizeof (GstTimeToolPrivate));
4276-}
4277-
4278-static void
4279-get_ntp_service (GstTimeTool *tool)
4280-{
4281- GObject *service;
4282- OobsList *list;
4283- OobsListIter iter;
4284- gboolean valid;
4285- GstServiceRole role;
4286-
4287- list = oobs_services_config_get_services (OOBS_SERVICES_CONFIG (tool->services_config));
4288- valid = oobs_list_get_iter_first (list, &iter);
4289-
4290- while (valid) {
4291- service = oobs_list_get (list, &iter);
4292- role = gst_service_get_role (OOBS_SERVICE (service));
4293-
4294- if (role == GST_ROLE_NTP_SERVER)
4295- tool->ntp_service = g_object_ref (service);
4296-
4297- g_object_unref (service);
4298- valid = oobs_list_iter_next (list, &iter);
4299- }
4300-}
4301-
4302-static void
4303-gst_time_tool_init (GstTimeTool *tool)
4304-{
4305- DBusError error;
4306- GstTimeToolPrivate *priv = GST_TIME_TOOL_GET_PRIVATE (tool);
4307-
4308- dbus_error_init (&error);
4309- priv->bus_connection = dbus_bus_get (DBUS_BUS_SESSION, &error);
4310- priv->cookie = 0;
4311-
4312- if (dbus_error_is_set (&error)) {
4313- g_warning ("%s", error.message);
4314- dbus_error_free (&error);
4315- }
4316-
4317- tool->time_config = oobs_time_config_get ();
4318- gst_tool_add_configuration_object (GST_TOOL (tool), tool->time_config, TRUE);
4319-
4320- tool->ntp_config = oobs_ntp_config_get ();
4321- gst_tool_add_configuration_object (GST_TOOL (tool), tool->ntp_config, TRUE);
4322-
4323- tool->services_config = oobs_services_config_get ();
4324- gst_tool_add_configuration_object (GST_TOOL (tool), tool->services_config, TRUE);
4325-}
4326-
4327-static void
4328-inhibit_screensaver (GstTimeTool *tool,
4329- gboolean inhibit)
4330-{
4331- GstTimeToolPrivate *priv = GST_TIME_TOOL_GET_PRIVATE (tool);
4332- DBusMessage *message, *reply;
4333- DBusMessageIter iter;
4334-
4335- if (!priv->bus_connection)
4336- return;
4337-
4338- if (inhibit) {
4339- const gchar *appname = "Time-admin";
4340- const gchar *reason = "Changing time";
4341-
4342- g_return_if_fail (priv->cookie == 0);
4343-
4344- message = dbus_message_new_method_call (SCREENSAVER_SERVICE,
4345- SCREENSAVER_PATH,
4346- SCREENSAVER_INTERFACE,
4347- "Inhibit");
4348- /* set args */
4349- dbus_message_iter_init_append (message, &iter);
4350- dbus_message_iter_append_basic (&iter, DBUS_TYPE_STRING, &appname);
4351- dbus_message_iter_append_basic (&iter, DBUS_TYPE_STRING, &reason);
4352-
4353- reply = dbus_connection_send_with_reply_and_block (priv->bus_connection, message, -1, NULL);
4354-
4355- if (reply) {
4356- /* get cookie */
4357- dbus_message_iter_init (reply, &iter);
4358- dbus_message_iter_get_basic (&iter, &priv->cookie);
4359- dbus_message_unref (reply);
4360- }
4361-
4362- dbus_message_unref (message);
4363- } else if (!inhibit && priv->cookie != 0) {
4364- message = dbus_message_new_method_call (SCREENSAVER_SERVICE,
4365- SCREENSAVER_PATH,
4366- SCREENSAVER_INTERFACE,
4367- "UnInhibit");
4368- /* set args */
4369- dbus_message_iter_init_append (message, &iter);
4370- dbus_message_iter_append_basic (&iter, DBUS_TYPE_INT32, &priv->cookie);
4371-
4372- dbus_connection_send (priv->bus_connection, message, NULL);
4373- dbus_message_unref (message);
4374-
4375- priv->cookie = 0;
4376- }
4377-}
4378-
4379-static gboolean
4380-on_apply_timeout (GstTimeTool *tool)
4381-{
4382- guint year, month, day, hour, minute, second;
4383-
4384- gtk_calendar_get_date (GTK_CALENDAR (tool->calendar), &year, &month, &day);
4385- hour = (guint) gtk_spin_button_get_value (GTK_SPIN_BUTTON (tool->hours));
4386- minute = (guint) gtk_spin_button_get_value (GTK_SPIN_BUTTON (tool->minutes));
4387- second = (guint) gtk_spin_button_get_value (GTK_SPIN_BUTTON (tool->seconds));
4388-
4389- inhibit_screensaver (tool, TRUE);
4390-
4391- oobs_time_config_set_time (OOBS_TIME_CONFIG (tool->time_config),
4392- (gint) year, (gint) month, (gint) day,
4393- (gint) hour, (gint) minute, (gint)second);
4394-
4395- gst_tool_commit (GST_TOOL (tool), tool->time_config);
4396- gst_time_tool_start_clock (tool);
4397-
4398- inhibit_screensaver (tool, FALSE);
4399-
4400- return FALSE;
4401-}
4402-
4403-static void
4404-update_apply_timeout (GstTimeTool *tool)
4405-{
4406- GstTimeToolPrivate *priv = GST_TIME_TOOL_GET_PRIVATE (tool);
4407-
4408- gst_time_tool_stop_clock (tool);
4409-
4410- if (priv->apply_timeout) {
4411- g_source_remove (priv->apply_timeout);
4412- priv->apply_timeout = 0;
4413- }
4414-
4415- priv->apply_timeout = g_timeout_add (APPLY_CONFIG_TIMEOUT, (GSourceFunc) on_apply_timeout, tool);
4416-}
4417-
4418-static void
4419-on_value_changed (GtkWidget *widget, gpointer data)
4420-{
4421- gint value;
4422- gchar *str;
4423-
4424- value = gtk_spin_button_get_value (GTK_SPIN_BUTTON (widget));
4425- str = g_strdup_printf ("%02d", (gint) value);
4426-
4427- gtk_spin_button_set_value (GTK_SPIN_BUTTON (widget), value);
4428- gtk_entry_set_text (GTK_ENTRY (widget), str);
4429- g_free (str);
4430-}
4431-
4432-static void
4433-on_editable_changed (GtkWidget *widget, gpointer data)
4434-{
4435- update_apply_timeout (GST_TIME_TOOL (data));
4436-}
4437-
4438-#define is_leap_year(yyy) ((((yyy % 4) == 0) && ((yyy % 100) != 0)) || ((yyy % 400) == 0));
4439-
4440-static void
4441-change_calendar (GtkWidget *calendar, gint increment)
4442-{
4443- gint day, month, year;
4444- gint days_in_month;
4445- gboolean leap_year;
4446-
4447- static const gint month_length[2][13] = {
4448- { 0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 },
4449- { 0, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 }
4450- };
4451-
4452- gtk_calendar_get_date (GTK_CALENDAR (calendar),
4453- (guint*) &year, (guint*) &month, (guint*) &day);
4454-
4455- leap_year = is_leap_year (year);
4456- days_in_month = month_length [leap_year][month+1];
4457-
4458- if (increment != 0) {
4459- day += increment;
4460-
4461- if (day < 1) {
4462- day = month_length [leap_year][month] + day;
4463- month--;
4464- } else if (day > days_in_month) {
4465- day -= days_in_month;
4466- month++;
4467- }
4468-
4469- if (month < 0) {
4470- year--;
4471- leap_year = is_leap_year (year);
4472- month = 11;
4473- day = month_length [leap_year][month+1];
4474- } else if (month > 11) {
4475- year++;
4476- leap_year = is_leap_year (year);
4477- month = 0;
4478- day = 1;
4479- }
4480-
4481- gtk_calendar_select_month (GTK_CALENDAR (calendar),
4482- month, year);
4483- gtk_calendar_select_day (GTK_CALENDAR (calendar),
4484- day);
4485- }
4486-}
4487-
4488-static void
4489-on_spin_button_wrapped (GtkWidget *widget, gpointer data)
4490-{
4491- GstTimeTool *tool = GST_TIME_TOOL (data);
4492- gint value = gtk_spin_button_get_value (GTK_SPIN_BUTTON (widget));
4493-
4494- if (widget == tool->seconds)
4495- gtk_spin_button_spin (GTK_SPIN_BUTTON (tool->minutes),
4496- (value == 0) ? GTK_SPIN_STEP_FORWARD : GTK_SPIN_STEP_BACKWARD, 1);
4497- else if (widget == tool->minutes)
4498- gtk_spin_button_spin (GTK_SPIN_BUTTON (tool->hours),
4499- (value == 0) ? GTK_SPIN_STEP_FORWARD : GTK_SPIN_STEP_BACKWARD, 1);
4500- else if (widget == tool->hours)
4501- change_calendar (tool->calendar, (value == 0) ? 1 : -1);
4502-}
4503-
4504-static void
4505-on_calendar_day_selected (GtkWidget *widget, gpointer data)
4506-{
4507- update_apply_timeout (GST_TIME_TOOL (data));
4508-}
4509-
4510-static GtkWidget*
4511-prepare_spin_button (GstTool *tool, const gchar *widget_name)
4512-{
4513- GtkWidget *widget;
4514-
4515- widget = gst_dialog_get_widget (tool->main_dialog, widget_name);
4516-
4517- g_signal_connect (G_OBJECT (widget), "changed",
4518- G_CALLBACK (on_editable_changed), tool);
4519- g_signal_connect (G_OBJECT (widget), "wrapped",
4520- G_CALLBACK (on_spin_button_wrapped), tool);
4521- /*
4522- g_signal_connect (G_OBJECT (widget), "value-changed",
4523- G_CALLBACK (on_value_changed), tool);
4524- */
4525-
4526- return widget;
4527-}
4528-
4529-void
4530-init_timezone (GstTimeTool *time_tool)
4531-{
4532- GstTool *tool = GST_TOOL (time_tool);
4533- GtkWidget *w;
4534- GPtrArray *locs;
4535- guint i;
4536-
4537- time_tool->tzmap = e_tz_map_new (tool);
4538- g_return_if_fail (time_tool->tzmap != NULL);
4539-
4540- w = gst_dialog_get_widget (tool->main_dialog, "map_window");
4541- gtk_container_add (GTK_CONTAINER (w), GTK_WIDGET (time_tool->tzmap->map));
4542- gtk_widget_show (GTK_WIDGET (time_tool->tzmap->map));
4543-
4544- w = gst_dialog_get_widget (tool->main_dialog, "location_combo");
4545- locs = tz_get_locations (e_tz_map_get_tz_db (time_tool->tzmap));
4546-
4547- for (i = 0; i < locs->len; i++)
4548- gtk_combo_box_text_append_text (GTK_COMBO_BOX_TEXT (w),
4549- tz_location_get_zone (g_ptr_array_index (locs, i)));
4550-
4551- time_tool->timezone_dialog = gst_dialog_get_widget (tool->main_dialog, "time_zone_window");
4552-}
4553-
4554-static gboolean
4555-check_ntp_support (GstTool *tool)
4556-{
4557- GstTimeToolPrivate *priv = GST_TIME_TOOL_GET_PRIVATE (tool);
4558- GtkWidget *message, *widget;
4559-
4560- if (GST_TIME_TOOL (tool)->ntp_service)
4561- return TRUE;
4562- else {
4563- /* Be sure we take into account newly installed NTP support */
4564- oobs_object_update (OOBS_OBJECT (GST_TIME_TOOL (tool)->services_config));
4565- get_ntp_service (GST_TIME_TOOL (tool));
4566-
4567- if (GST_TIME_TOOL (tool)->ntp_service)
4568- return TRUE;
4569- }
4570-
4571- widget = gst_dialog_get_widget (tool->main_dialog, "configuration_options");
4572- g_signal_handler_block (widget, priv->configuration_changed_id);
4573- gtk_combo_box_set_active (GTK_COMBO_BOX (widget), CONFIGURATION_MANUAL);
4574- g_signal_handler_unblock (widget, priv->configuration_changed_id);
4575-
4576- message = gtk_message_dialog_new (GTK_WINDOW (tool->main_dialog),
4577- GTK_DIALOG_MODAL,
4578- GTK_MESSAGE_INFO,
4579- GTK_BUTTONS_CLOSE,
4580- _("NTP support is not installed"));
4581- gtk_message_dialog_format_secondary_text (GTK_MESSAGE_DIALOG (message),
4582- _("Please install and activate NTP support in the system to enable "
4583- "synchronization of your local time server with "
4584- "internet time servers."));
4585- gtk_dialog_run (GTK_DIALOG (message));
4586- gtk_widget_destroy (message);
4587-
4588- return FALSE;
4589-}
4590-
4591-static void
4592-on_option_configuration_changed (GtkWidget *widget,
4593- GstTimeTool *time_tool)
4594-{
4595- gint option;
4596- gboolean active;
4597-
4598- option = gtk_combo_box_get_active (GTK_COMBO_BOX (widget));
4599- active = (option == CONFIGURATION_AUTOMATIC);
4600-
4601- if (check_ntp_support (GST_TOOL (time_tool))) {
4602- const OobsServicesRunlevel *runlevel;
4603-
4604- runlevel = oobs_services_config_get_default_runlevel (OOBS_SERVICES_CONFIG (time_tool->services_config));
4605- oobs_service_set_runlevel_configuration (time_tool->ntp_service,
4606- (OobsServicesRunlevel *) runlevel,
4607- (active) ? OOBS_SERVICE_START : OOBS_SERVICE_STOP,
4608- 0);
4609-
4610- gst_tool_commit_async (GST_TOOL (time_tool), OOBS_OBJECT (time_tool->ntp_service),
4611- (active) ? _("Enabling NTP") : _("Disabling NTP"),
4612- NULL, NULL);
4613- }
4614-}
4615-
4616-static void
4617-on_synchronize_now_clicked (GtkWidget *widget, gpointer data)
4618-{
4619- GstTimeTool *tool;
4620-
4621- tool = GST_TIME_TOOL (data);
4622- gst_tool_commit_async (GST_TOOL (tool), tool->ntp_config,
4623- _("Synchronizing system clock"), NULL, NULL);
4624-}
4625-
4626-static void
4627-on_option_changed (GtkWidget *combo,
4628- GstTimeTool *time_tool)
4629-{
4630- GtkTreeModel *model;
4631- GtkTreeIter iter;
4632- GtkWidget *widget, *container;
4633- gint option;
4634-
4635- if (!gtk_combo_box_get_active_iter (GTK_COMBO_BOX (combo), &iter))
4636- return;
4637-
4638- option = gtk_combo_box_get_active (GTK_COMBO_BOX (combo));
4639- model = gtk_combo_box_get_model (GTK_COMBO_BOX (combo));
4640- gtk_tree_model_get (model, &iter,
4641- COL_WIDGET, &widget,
4642- -1);
4643-
4644- container = gst_dialog_get_widget (GST_TOOL (time_tool)->main_dialog, "configuration_container");
4645-
4646- /* remove the child */
4647- if (gtk_bin_get_child (GTK_BIN (container)))
4648- gtk_container_remove (GTK_CONTAINER (container), gtk_bin_get_child (GTK_BIN (container)));
4649-
4650- gtk_container_add (GTK_CONTAINER (container), widget);
4651- gtk_widget_show (container);
4652-}
4653-
4654-static void
4655-add_option (GstTool *tool,
4656- GtkListStore *store,
4657- const gchar *text,
4658- const gchar *widget)
4659-{
4660- GtkTreeIter iter;
4661- GtkWidget *w, *toplevel;
4662-
4663- w = gst_dialog_get_widget (tool->main_dialog, widget);
4664- toplevel = gtk_widget_get_toplevel (w);
4665-
4666- g_object_ref (w);
4667- gtk_container_remove (GTK_CONTAINER (gtk_widget_get_parent (w)), w);
4668- gtk_widget_destroy (toplevel);
4669-
4670- gtk_list_store_append (store, &iter);
4671- gtk_list_store_set (store, &iter,
4672- COL_TEXT, text,
4673- COL_WIDGET, w,
4674- -1);
4675-}
4676-
4677-static void
4678-set_cell_layout (GtkCellLayout *combo)
4679-{
4680- GtkCellRenderer *renderer;
4681-
4682- renderer = gtk_cell_renderer_text_new ();
4683-
4684- gtk_cell_layout_clear (combo);
4685- gtk_cell_layout_pack_start (combo, renderer, TRUE);
4686- gtk_cell_layout_set_attributes (combo, renderer,
4687- "text", COL_TEXT,
4688- NULL);
4689-}
4690-
4691-static void
4692-add_options_combo (GstTimeTool *time_tool)
4693-{
4694- GstTimeToolPrivate *priv = GST_TIME_TOOL_GET_PRIVATE (time_tool);
4695- GstTool *tool = GST_TOOL (time_tool);
4696- GtkWidget *combo;
4697- GtkListStore *store;
4698-
4699- combo = gst_dialog_get_widget (tool->main_dialog, "configuration_options");
4700- store = gtk_list_store_new (COL_LAST, G_TYPE_STRING, GTK_TYPE_WIDGET);
4701-
4702- gtk_combo_box_set_model (GTK_COMBO_BOX (combo), GTK_TREE_MODEL (store));
4703- add_option (tool, store, _("Keep synchronized with Internet servers"), "automatic_configuration");
4704- add_option (tool, store, _("Manual"), "manual_configuration");
4705- g_object_unref (store);
4706-
4707- set_cell_layout (GTK_CELL_LAYOUT (combo));
4708- g_signal_connect_after (combo, "changed",
4709- G_CALLBACK (on_option_changed), time_tool);
4710-
4711- priv->configuration_changed_id =
4712- g_signal_connect (combo, "changed",
4713- G_CALLBACK (on_option_configuration_changed), time_tool);
4714-}
4715-
4716-static GObject*
4717-gst_time_tool_constructor (GType type,
4718- guint n_construct_properties,
4719- GObjectConstructParam *construct_params)
4720-{
4721- GObject *object;
4722- GstTimeTool *time_tool;
4723-
4724- object = (* G_OBJECT_CLASS (gst_time_tool_parent_class)->constructor) (type,
4725- n_construct_properties,
4726- construct_params);
4727- time_tool = GST_TIME_TOOL (object);
4728- time_tool->map_hover_label = gst_dialog_get_widget (GST_TOOL (time_tool)->main_dialog, "location_label");
4729- time_tool->hours = prepare_spin_button (GST_TOOL (time_tool), "hours");
4730- time_tool->minutes = prepare_spin_button (GST_TOOL (time_tool), "minutes");
4731- time_tool->seconds = prepare_spin_button (GST_TOOL (time_tool), "seconds");
4732-
4733- time_tool->calendar = gst_dialog_get_widget (GST_TOOL (time_tool)->main_dialog, "calendar");
4734-
4735- g_signal_connect (G_OBJECT (time_tool->calendar), "day-selected",
4736- G_CALLBACK (on_calendar_day_selected), time_tool);
4737-
4738- time_tool->ntp_list = ntp_servers_list_get (time_tool);
4739- init_timezone (time_tool);
4740- add_options_combo (time_tool);
4741-
4742- time_tool->synchronize_now = gst_dialog_get_widget (GST_TOOL (time_tool)->main_dialog, "update_time");
4743- g_signal_connect (G_OBJECT (time_tool->synchronize_now), "clicked",
4744- G_CALLBACK (on_synchronize_now_clicked), time_tool);
4745-
4746- gtk_window_set_resizable (GTK_WINDOW (GST_TOOL (time_tool)->main_dialog), FALSE);
4747-
4748- return object;
4749-}
4750-
4751-static void
4752-gst_time_tool_finalize (GObject *object)
4753-{
4754- GstTimeTool *tool = GST_TIME_TOOL (object);
4755-
4756- /* FIXME: missing things to free */
4757- g_object_unref (tool->time_config);
4758-
4759- (* G_OBJECT_CLASS (gst_time_tool_parent_class)->finalize) (object);
4760-}
4761-
4762-static void
4763-update_servers_list (GstTimeTool *tool)
4764-{
4765- OobsList *list;
4766- OobsListIter iter;
4767- GObject *server;
4768- gboolean valid;
4769-
4770- /* FIXME: restore NTP servers to NULL */
4771- list = oobs_ntp_config_get_servers (OOBS_NTP_CONFIG (tool->ntp_config));
4772- valid = oobs_list_get_iter_first (list, &iter);
4773-
4774- while (valid) {
4775- server = oobs_list_get (list, &iter);
4776- ntp_servers_list_check (GST_TIME_TOOL (tool)->ntp_list,
4777- &iter, OOBS_NTP_SERVER (server));
4778-
4779- g_object_unref (server);
4780- valid = oobs_list_iter_next (list, &iter);
4781- }
4782-}
4783-
4784-static void
4785-gst_time_tool_update_gui (GstTool *tool)
4786-{
4787- GstTimeTool *time_tool = GST_TIME_TOOL (tool);
4788- GstTimeToolPrivate *priv = GST_TIME_TOOL_GET_PRIVATE (time_tool);
4789- GtkWidget *timezone, *configuration_options, *timeserver_button;
4790- gint option = CONFIGURATION_MANUAL;
4791- OobsServiceStatus active;
4792-
4793- gst_time_tool_start_clock (GST_TIME_TOOL (tool));
4794- timezone = gst_dialog_get_widget (tool->main_dialog, "tzlabel");
4795- configuration_options = gst_dialog_get_widget (tool->main_dialog, "configuration_options");
4796- timeserver_button = gst_dialog_get_widget (tool->main_dialog, "timeserver_button");
4797-
4798- gtk_label_set_text (GTK_LABEL (timezone),
4799- oobs_time_config_get_timezone (OOBS_TIME_CONFIG (time_tool->time_config)));
4800-
4801- update_servers_list (GST_TIME_TOOL (tool));
4802-
4803- if (time_tool->ntp_service) {
4804- const OobsServicesRunlevel *runlevel;
4805-
4806- runlevel = oobs_services_config_get_default_runlevel (OOBS_SERVICES_CONFIG (time_tool->services_config));
4807- oobs_service_get_runlevel_configuration (time_tool->ntp_service, (OobsServicesRunlevel *) runlevel, &active, NULL);
4808-
4809- if (active == OOBS_SERVICE_START)
4810- option = CONFIGURATION_AUTOMATIC;
4811- }
4812-
4813- g_signal_handler_block (configuration_options, priv->configuration_changed_id);
4814- gtk_combo_box_set_active (GTK_COMBO_BOX (configuration_options), option);
4815- g_signal_handler_unblock (configuration_options, priv->configuration_changed_id);
4816-}
4817-
4818-static void
4819-gst_time_tool_update_config (GstTool *tool)
4820-{
4821- get_ntp_service (GST_TIME_TOOL (tool));
4822-}
4823-
4824-static void
4825-gst_time_tool_close (GstTool *tool)
4826-{
4827- GstTimeToolPrivate *priv = GST_TIME_TOOL_GET_PRIVATE (tool);
4828-
4829- if (priv->apply_timeout) {
4830- /* disable timeout and apply changes
4831- * immediately, the tool is closing! */
4832- g_source_remove (priv->apply_timeout);
4833- priv->apply_timeout = 0;
4834- on_apply_timeout (GST_TIME_TOOL (tool));
4835- }
4836-
4837- gst_time_tool_stop_clock (GST_TIME_TOOL (tool));
4838-
4839- (* GST_TOOL_CLASS (gst_time_tool_parent_class)->close) (tool);
4840-}
4841-
4842-GstTool*
4843-gst_time_tool_new (void)
4844-{
4845- return g_object_new (GST_TYPE_TIME_TOOL,
4846- "name", "time",
4847- "title", _("Time and Date Settings"),
4848- "icon", "time-admin",
4849- NULL);
4850-}
4851-
4852-static void
4853-freeze_clock (GstTimeTool *tool)
4854-{
4855- g_signal_handlers_block_by_func (tool->hours, on_editable_changed, tool);
4856- g_signal_handlers_block_by_func (tool->minutes, on_editable_changed, tool);
4857- g_signal_handlers_block_by_func (tool->seconds, on_editable_changed, tool);
4858- g_signal_handlers_block_by_func (tool->calendar, on_calendar_day_selected, tool);
4859-}
4860-
4861-static void
4862-thaw_clock (GstTimeTool *tool)
4863-{
4864- g_signal_handlers_unblock_by_func (tool->hours, on_editable_changed, tool);
4865- g_signal_handlers_unblock_by_func (tool->minutes, on_editable_changed, tool);
4866- g_signal_handlers_unblock_by_func (tool->seconds, on_editable_changed, tool);
4867- g_signal_handlers_unblock_by_func (tool->calendar, on_calendar_day_selected, tool);
4868-}
4869-
4870-void
4871-gst_time_tool_update_clock (GstTimeTool *tool)
4872-{
4873- gint year, month, day, hour, minute, second;
4874-
4875- oobs_time_config_get_time (OOBS_TIME_CONFIG (tool->time_config),
4876- &year, &month, &day,
4877- &hour, &minute, &second);
4878-
4879- freeze_clock (tool);
4880-
4881- gtk_calendar_select_month (GTK_CALENDAR (tool->calendar), month, year);
4882- gtk_calendar_select_day (GTK_CALENDAR (tool->calendar), day);
4883-
4884- gtk_spin_button_set_value (GTK_SPIN_BUTTON (tool->hours), (gfloat) hour);
4885- gtk_spin_button_set_value (GTK_SPIN_BUTTON (tool->minutes), (gfloat) minute);
4886- gtk_spin_button_set_value (GTK_SPIN_BUTTON (tool->seconds), (gfloat) second);
4887-
4888- thaw_clock (tool);
4889-}
4890-
4891-static gboolean
4892-clock_tick (gpointer data)
4893-{
4894- GstTimeTool *tool = (GstTimeTool *) data;
4895-
4896- gst_time_tool_update_clock (tool);
4897-
4898- return TRUE;
4899-}
4900-
4901-void
4902-gst_time_tool_start_clock (GstTimeTool *tool)
4903-{
4904- GstTimeToolPrivate *priv = GST_TIME_TOOL_GET_PRIVATE (tool);
4905-
4906- if (!priv->clock_timeout) {
4907- /* Do a preliminary update, just for showing
4908- something with sense in the gui immediatly */
4909- gst_time_tool_update_clock (tool);
4910-
4911- priv->clock_timeout = g_timeout_add (1000, (GSourceFunc) clock_tick, tool);
4912- }
4913-}
4914-
4915-void
4916-gst_time_tool_stop_clock (GstTimeTool *tool)
4917-{
4918- GstTimeToolPrivate *priv = GST_TIME_TOOL_GET_PRIVATE (tool);
4919-
4920- if (priv->clock_timeout) {
4921- g_source_remove (priv->clock_timeout);
4922- priv->clock_timeout = 0;
4923- }
4924-}
4925-
4926-void
4927-gst_time_tool_run_timezone_dialog (GstTimeTool *time_tool)
4928-{
4929- GstTool *tool;
4930- GtkWidget *label;
4931- const gchar *timezone;
4932- gchar *tz_name = NULL;
4933- TzLocation *tz_location;
4934-
4935- tool = GST_TOOL (time_tool);
4936- label = gst_dialog_get_widget (tool->main_dialog, "tzlabel");
4937-
4938- timezone = oobs_time_config_get_timezone (OOBS_TIME_CONFIG (time_tool->time_config));
4939- e_tz_map_set_tz_from_name (time_tool->tzmap, timezone);
4940-
4941- gtk_window_set_transient_for (GTK_WINDOW (time_tool->timezone_dialog),
4942- GTK_WINDOW (tool->main_dialog));
4943-
4944- gst_dialog_add_edit_dialog (tool->main_dialog, time_tool->timezone_dialog);
4945-
4946- gtk_widget_show (time_tool->timezone_dialog);
4947- gtk_dialog_run (GTK_DIALOG (time_tool->timezone_dialog));
4948- gtk_widget_hide (time_tool->timezone_dialog);
4949-
4950- gst_dialog_remove_edit_dialog (tool->main_dialog, time_tool->timezone_dialog);
4951-
4952- tz_name = e_tz_map_get_selected_tz_name (time_tool->tzmap);
4953- tz_location = e_tz_map_get_location_by_name (time_tool->tzmap, tz_name);
4954-
4955- if (!timezone || strcmp (tz_name, timezone) != 0) {
4956- oobs_time_config_set_timezone (OOBS_TIME_CONFIG (time_tool->time_config), tz_name);
4957- gst_tool_commit (GST_TOOL (time_tool), time_tool->time_config);
4958- gtk_label_set_text (GTK_LABEL (label), tz_name);
4959- }
4960-}
4961
4962=== removed directory '.pc/91_shares_services_detection.patch'
4963=== removed directory '.pc/91_shares_services_detection.patch/src'
4964=== removed directory '.pc/91_shares_services_detection.patch/src/shares'
4965=== removed file '.pc/91_shares_services_detection.patch/src/shares/shares-tool.c'
4966--- .pc/91_shares_services_detection.patch/src/shares/shares-tool.c 2011-12-16 17:08:20 +0000
4967+++ .pc/91_shares_services_detection.patch/src/shares/shares-tool.c 1970-01-01 00:00:00 +0000
4968@@ -1,293 +0,0 @@
4969-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
4970-/* Copyright (C) 2004 Carlos Garnacho
4971- *
4972- * This program is free software; you can redistribute it and/or modify
4973- * it under the terms of the GNU General Public License as
4974- * published by the Free Software Foundation; either version 2 of the
4975- * License, or (at your option) any later version.
4976- *
4977- * This program is distributed in the hope that it will be useful,
4978- * but WITHOUT ANY WARRANTY; without even the implied warranty of
4979- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
4980- * GNU General Public License for more details.
4981- *
4982- * You should have received a copy of the GNU General Public License
4983- * along with this program; if not, write to the Free Software
4984- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
4985- *
4986- * Authors: Carlos Garnacho Parro <carlosg@gnome.org>.
4987- */
4988-
4989-#include <glib-object.h>
4990-#include "shares-tool.h"
4991-#include "users-table.h"
4992-#include <glib/gi18n.h>
4993-#include "gst.h"
4994-
4995-static void gst_shares_tool_class_init (GstSharesToolClass *class);
4996-static void gst_shares_tool_init (GstSharesTool *tool);
4997-static void gst_shares_tool_finalize (GObject *object);
4998-
4999-static GObject * gst_shares_tool_constructor (GType type,
5000- guint n_construct_properties,
The diff has been truncated for viewing.

Subscribers

People subscribed via source and target branches

to all changes: