--- dee-0.2.6.orig/vapi/dee-1.0-custom.vala +++ dee-0.2.6/vapi/dee-1.0-custom.vala @@ -0,0 +1,11 @@ + +namespace Dee +{ + [CCode (cheader_filename = "dee.h")] + public interface Model : GLib.Object + { + public virtual signal void row_added (ModelIter iter); + public virtual signal void row_removed (ModelIter iter); + public virtual signal void row_changed (ModelIter iter); + } +} --- dee-0.2.6.orig/examples/synced-lists.c +++ dee-0.2.6/examples/synced-lists.c @@ -0,0 +1,269 @@ +/* + * Copyright (C) 2010 Canonical Ltd + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 3 as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + * Authored by + * Neil Jagdish Patel + * Mikkel Kamstrup Erlandsen + * + * Compile with: + * + * gcc synced-lists.c -o synced-lists `pkg-config --libs --cflags dee gtk+-2.0` + * + */ +#include +#include +#include +#include +#include +#include + +static DeeModel *model; +static GtkWidget *window; +static GtkWidget *list; +static GtkListStore *store; + +static void +on_row_added (DeeModel *model, DeeModelIter *iter) +{ + gint i = 0; + gchar *str = NULL; + GtkTreeIter titer; + + dee_model_get (model, iter, 0, &i, 1, &str, -1); + + gtk_list_store_append (store, &titer); + gtk_list_store_set (store, &titer, + 0, g_strdup_printf ("%d", i), + 1, str, + 2, iter, + -1); + + g_free (str); +} + +static void +on_row_removed (DeeModel *model, DeeModelIter *old_iter) +{ + GtkTreeIter iter = { 0}; + + gtk_tree_model_get_iter_first (GTK_TREE_MODEL (store), &iter); + + do + { + gpointer data = NULL; + + gtk_tree_model_get (GTK_TREE_MODEL (store), &iter, + 2, &data, + -1); + + if (data == old_iter) + { + gtk_list_store_remove (store, &iter); + break; + } + } + while (gtk_tree_model_iter_next (GTK_TREE_MODEL (store), &iter)); +} + +static void +on_row_changed (DeeModel *model, DeeModelIter *row_iter) +{ + GtkTreeIter iter = { 0 }; + + gtk_tree_model_get_iter_first (GTK_TREE_MODEL (store), &iter); + + do + { + gpointer data = NULL; + + gtk_tree_model_get (GTK_TREE_MODEL (store), &iter, + 2, &data, + -1); + + if (data == row_iter) + { + gint i = 0; + gchar *str = NULL; + + dee_model_get (model, row_iter, 0, &i, 1, &str, -1); + + gtk_list_store_set (store, &iter, + 0, g_strdup_printf ("%d", i), + 1, str, + -1); + break; + } + } + while (gtk_tree_model_iter_next (GTK_TREE_MODEL (store), &iter)); +} + +static void +add_row (GtkWidget *button) +{ + dee_model_append (model, + 0, getpid (), + 1, "Wazza", + -1); +} + +static void +remove_row (GtkWidget *button) +{ + GtkTreeSelection *sel; + GtkTreeIter iter; + + sel = gtk_tree_view_get_selection (GTK_TREE_VIEW (list)); + + if (gtk_tree_selection_get_selected (sel, + NULL, + &iter)) + { + gpointer data = NULL; + + gtk_tree_model_get (GTK_TREE_MODEL (store), + &iter, + 2, &data, + -1); + + dee_model_remove (model, data); + } + else + g_debug ("No selection to delete"); +} + +static void +clear_rows (GtkWidget *button) +{ + dee_model_clear (model); +} + +static void +on_cell_edited (GtkCellRendererText *renderer, + gchar *path, + gchar *new_text, + gpointer old_data) +{ + GtkTreeIter iter; + + if (gtk_tree_model_get_iter_from_string (GTK_TREE_MODEL (store), + &iter, + path)) + { + gpointer data = NULL; + + gtk_tree_model_get (GTK_TREE_MODEL (store), + &iter, + 2, &data, + -1); + + dee_model_set (model, + (DeeModelIter *)data, + 1, new_text, + -1); + } +} + +gint +main (gint argc, gchar *argv[]) +{ + GtkWidget *vbox, *hbox, *scroll, *button; + + gtk_init (&argc, &argv); + + window = gtk_window_new (GTK_WINDOW_TOPLEVEL); + gtk_window_resize (GTK_WINDOW (window), 300, 600); + gtk_container_set_border_width (GTK_CONTAINER (window), 12); + + vbox = gtk_vbox_new (FALSE, 12); + gtk_container_add (GTK_CONTAINER (window), vbox); + + button = gtk_label_new (g_strdup_printf ("My PID: %d", getpid())); + g_object_set (button, "use-markup", TRUE, NULL); + gtk_misc_set_alignment (GTK_MISC (button), 0.5, 0.5); + gtk_box_pack_start (GTK_BOX (vbox), button, FALSE, FALSE, 0); + + scroll = gtk_scrolled_window_new (NULL, NULL); + gtk_box_pack_start (GTK_BOX (vbox), scroll, TRUE, TRUE, 0); + gtk_widget_show (scroll); + + list = gtk_tree_view_new (); + gtk_container_add (GTK_CONTAINER (scroll), list); + gtk_widget_show (list); + + { + GtkCellRenderer *cell; + GtkTreeViewColumn *col; + + cell = gtk_cell_renderer_text_new (); + col = gtk_tree_view_column_new_with_attributes ("0", + cell, + "text", 0, + NULL); + gtk_tree_view_append_column (GTK_TREE_VIEW (list), col); + + cell = gtk_cell_renderer_text_new (); + g_object_set (cell, "editable", TRUE, NULL); + g_signal_connect (cell, "edited", + G_CALLBACK (on_cell_edited), NULL); + col = gtk_tree_view_column_new_with_attributes ("1", + cell, + "text", 1, + NULL); + gtk_tree_view_append_column (GTK_TREE_VIEW (list), col); + } + + hbox = gtk_hbox_new (TRUE, 12); + gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0); + + button = gtk_button_new_from_stock (GTK_STOCK_ADD); + gtk_container_add (GTK_CONTAINER (hbox), button); + g_signal_connect (button, "clicked", + G_CALLBACK (add_row), NULL); + + button = gtk_button_new_from_stock (GTK_STOCK_REMOVE); + gtk_container_add (GTK_CONTAINER (hbox), button); + g_signal_connect (button, "clicked", + G_CALLBACK (remove_row), NULL); + + button = gtk_button_new_from_stock (GTK_STOCK_CLEAR); + gtk_container_add (GTK_CONTAINER (hbox), button); + g_signal_connect (button, "clicked", + G_CALLBACK (clear_rows), NULL); + + gtk_widget_show_all (window); + + store = gtk_list_store_new (3, + G_TYPE_STRING, + G_TYPE_STRING, + G_TYPE_POINTER); + gtk_tree_view_set_model (GTK_TREE_VIEW (list), GTK_TREE_MODEL (store)); + + model = dee_model_new ("com.canonical.Dbus.Model.Example", + 2, + G_TYPE_INT, + G_TYPE_STRING); + g_signal_connect (model, "row-added", + G_CALLBACK (on_row_added), NULL); + g_signal_connect (model, "row-removed", + G_CALLBACK (on_row_removed), NULL); + g_signal_connect (model, "row-changed", + G_CALLBACK (on_row_changed), NULL); + + dee_model_connect (DEE_SHARED_MODEL (model)); + + gtk_main (); + + return 0; +} --- dee-0.2.6.orig/debian/watch +++ dee-0.2.6/debian/watch @@ -0,0 +1,2 @@ +version=3 +https://launchpad.net/dee/+download .*/dee-([0-9.]+)\.tar\.gz --- dee-0.2.6.orig/debian/libdee-1.0-0.install +++ dee-0.2.6/debian/libdee-1.0-0.install @@ -0,0 +1 @@ +debian/tmp/usr/lib/lib*.so.* --- dee-0.2.6.orig/debian/rules +++ dee-0.2.6/debian/rules @@ -0,0 +1,18 @@ +#!/usr/bin/make -f + +include /usr/share/cdbs/1/class/gnome.mk +include /usr/share/cdbs/1/rules/debhelper.mk +include /usr/share/cdbs/1/rules/utils.mk + +LDFLAGS += -Wl,-z,defs -Wl,--as-needed + +DEB_CONFIGURE_EXTRA_FLAGS := --enable-introspection=no + +common-binary-post-install-arch:: + find debian/tmp/usr/lib -name \*.la -exec rm {} \; + find debian/tmp/usr/lib -name \*.a -exec rm {} \; + +common-binary-fixup-arch:: + dh_girepository -pgir1.0-dee-0.1 + +common-binary-predeb-arch:: list-missing --- dee-0.2.6.orig/debian/gir1.0-dee-0.1.install +++ dee-0.2.6/debian/gir1.0-dee-0.1.install @@ -0,0 +1 @@ +debian/tmp/usr/lib/girepository-1.0/ --- dee-0.2.6.orig/debian/control +++ dee-0.2.6/debian/control @@ -0,0 +1,77 @@ +Source: dee +Priority: optional +Maintainer: Ubuntu Developers +Build-Depends: debhelper (>= 5.0), + cdbs (>= 0.4.41), + libglib2.0-dev (>= 2.22.0), + libdbus-glib-1-dev (>= 0.80), + libdbus-1-dev (>= 1.0), + gobject-introspection (>= 0.6.5-3), + libgirepository1.0-dev, + gir-repository-dev, + gir1.0-glib-2.0, + gir1.0-dbus-1.0, + valac, +Standards-Version: 3.8.4 +Section: libs +Homepage: https://launchpad.net/dee + +Package: libdee-1.0-0 +Section: libs +Architecture: any +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: model to synchronize mutiple instances over DBus - shared lib + libdee is a shared library that provides objects that help + having multiple instances communicating over DBus. + . + This package contains shared libraries to be used by applications. + +Package: libdee-dev +Section: libdevel +Architecture: any +Depends: libdee-1.0-0 (= ${binary:Version}), + ${misc:Depends}, + libglib2.0-dev (>= 2.22.0), + libdbus-glib-1-dev (>= 0.80) +Suggests: libdee-doc +Description: model to synchronize mutiple instances over DBus - dev files + libdee is a shared library that provides objects that help + having multiple instances communicating over DBus. + . + This package contains files that are needed to build applications. + +Package: libdee-1.0-0-dbg +Section: debug +Architecture: any +Priority: extra +Depends: libdee-1.0-0 (= ${binary:Version}), + ${misc:Depends} +Description: model to synchronize mutiple instances over DBus + libdee is a shared library that provides objects that help + having multiple instances communicating over DBus. + . + This package contains the debug files. + +Package: libdee-doc +Section: doc +Architecture: all +Depends: ${misc:Depends} +Suggests: devhelp +Description: model to synchronize mutiple instances over DBus - documentation + libdee is a shared library that provides objects that help + having multiple instances communicating over DBus. + . + This package contains the documentation + +#Package: gir1.0-dee-0.1 +#Section: libs +#Architecture: any +#Depends: ${gir:Depends}, +# ${shlibs:Depends}, +# ${misc:Depends} +#Description: GObject introspection data for the Dee library +# This package contains introspection data for the Dee library. +# . +# It can be used by packages using the GIRepository format to generate +# dynamic bindings. + --- dee-0.2.6.orig/debian/changelog +++ dee-0.2.6/debian/changelog @@ -0,0 +1,39 @@ +dee (0.2.6-0ubuntu1~lucid) lucid; urgency=low + + * Backport to lucid ppa user + + -- Didier Roche Fri, 11 Jun 2010 10:14:44 +0200 + +dee (0.2.6-0ubuntu1) maverick; urgency=low + + * New upstream release. (LP: #592111) + * debian/copyright: + - fix author*s* + + -- Didier Roche Thu, 10 Jun 2010 18:23:46 +0200 + +dee (0.2.4-0ubuntu1) maverick; urgency=low + + * debian/rules: + - fix rm *{,l}a files + * debian/watch: + - adjust url + * New upstream release. + * Update debian/libdee-1.0-0.symbols to new symbols + * Ship the vapi file and disable introspection package for now + + -- Didier Roche Mon, 07 Jun 2010 11:11:12 +0200 + +dee (0.2.2-0ubuntu1) maverick; urgency=low + + * New upstream release. + + -- Didier Roche Thu, 27 May 2010 19:12:26 +0200 + +dee (0.2.0-0ubuntu1) maverick; urgency=low + + * Initial packaging + * temporary disabling gir building due to bug: + https://bugzilla.gnome.org/show_bug.cgi?id=619703 + + -- Didier Roche Thu, 27 May 2010 12:14:11 +0200 --- dee-0.2.6.orig/debian/libdee-dev.install +++ dee-0.2.6/debian/libdee-dev.install @@ -0,0 +1,5 @@ +debian/tmp/usr/include/* +debian/tmp/usr/lib/lib*.so +debian/tmp/usr/lib/pkgconfig/* +debian/tmp/usr/share/vala/vapi/* +#debian/tmp/usr/share/gir-1.0/* --- dee-0.2.6.orig/debian/libdee-1.0-0.symbols +++ dee-0.2.6/debian/libdee-1.0-0.symbols @@ -0,0 +1,88 @@ +libdee-1.0.so.0 libdee-1.0-0 #MINVER# + _dbus_message_filter@Base 0.1.0 + _dee_marshal_VOID__BOXED_BOXED@Base 0.1.0 + _dee_marshal_VOID__BOXED_BOXED_BOXED@Base 0.1.0 + _dee_marshal_VOID__STRING_STRING@Base 0.1.0 + dbus_glib__dee_peer_server_object_info@Base 0.1.0 + dbus_glib__dee_shared_model_server_object_info@Base 0.1.0 + dbus_glib_marshal__dee_peer_server_BOOLEAN__POINTER_POINTER@Base 0.1.0 + dbus_glib_marshal__dee_shared_model_server_BOOLEAN__POINTER@Base 0.1.0 + dbus_glib_marshal__dee_shared_model_server_BOOLEAN__POINTER_POINTER_POINTER_POINTER@Base 0.1.0 + dee_filter_model_append_iter@Base 0.2.0 + dee_filter_model_contains@Base 0.2.0 + dee_filter_model_get_type@Base 0.2.0 + dee_filter_model_insert_iter@Base 0.2.0 + dee_filter_model_insert_iter_before@Base 0.2.0 + dee_filter_model_new@Base 0.2.0 + dee_filter_model_prepend_iter@Base 0.2.0 + dee_model_append@Base 0.1.0 + dee_model_append_valist@Base 0.1.0 + dee_model_build_col_spec@Base 0.1.0 + dee_model_check_type@Base 0.1.0 + dee_model_clear@Base 0.1.0 + dee_model_freeze_signals@Base 0.1.0 + dee_model_get@Base 0.1.0 + dee_model_get_bool@Base 0.1.0 + dee_model_get_column_type@Base 0.1.0 + dee_model_get_double@Base 0.1.0 + dee_model_get_first_iter@Base 0.1.0 + dee_model_get_int64@Base 0.1.0 + dee_model_get_int@Base 0.1.0 + dee_model_get_iter_at_row@Base 0.1.0 + dee_model_get_last_iter@Base 0.1.0 + dee_model_get_n_columns@Base 0.1.0 + dee_model_get_n_rows@Base 0.1.0 + dee_model_get_position@Base 0.1.0 + dee_model_get_string@Base 0.1.0 + dee_model_get_type@Base 0.1.0 + dee_model_get_type_for_signature@Base 0.1.0 + dee_model_get_uchar@Base 0.1.0 + dee_model_get_uint64@Base 0.1.0 + dee_model_get_uint@Base 0.1.0 + dee_model_get_valist@Base 0.1.0 + dee_model_get_value@Base 0.1.0 + dee_model_insert@Base 0.1.0 + dee_model_insert_before@Base 0.1.0 + dee_model_insert_before_valist@Base 0.1.0 + dee_model_insert_valist@Base 0.1.0 + dee_model_is_first@Base 0.1.0 + dee_model_is_last@Base 0.1.0 + dee_model_next@Base 0.1.0 + dee_model_prepend@Base 0.1.0 + dee_model_prepend_valist@Base 0.1.0 + dee_model_prev@Base 0.1.0 + dee_model_remove@Base 0.1.0 + dee_model_set@Base 0.1.0 + dee_model_set_column_type@Base 0.1.0 + dee_model_set_n_columns@Base 0.1.0 + dee_model_set_valist@Base 0.1.0 + dee_model_set_value@Base 0.1.0 + dee_model_set_value_silently@Base 0.1.0 + dee_model_thaw_signals@Base 0.1.0 + dee_peer_connect@Base 0.1.0 + dee_peer_get_swarm_leader@Base 0.1.0 + dee_peer_get_swarm_name@Base 0.1.0 + dee_peer_get_type@Base 0.1.0 + dee_peer_is_swarm_leader@Base 0.1.0 + dee_proxy_model_get_type@Base 0.1.0 + dee_sequence_model_get_type@Base 0.1.0 + dee_sequence_model_new@Base 0.1.0 + dee_shared_model_connect@Base 0.1.0 + dee_shared_model_get_peer@Base 0.2.4 + dee_shared_model_get_swarm_name@Base 0.2.4 + dee_shared_model_get_type@Base 0.1.0 + dee_shared_model_new@Base 0.1.0 + dee_shared_model_new_with_back_end@Base 0.2.0 + dee_shared_model_new_with_name@Base 0.1.0 + dee_versioned_model_append_next_seqnum@Base 0.1.0 + dee_versioned_model_check_seqnum@Base 0.1.0 + dee_versioned_model_check_seqnums@Base 0.1.0 + dee_versioned_model_get_last_seqnum@Base 0.1.0 + dee_versioned_model_get_seqnum@Base 0.1.0 + dee_versioned_model_get_type@Base 0.1.0 + dee_versioned_model_inc_seqnum@Base 0.1.0 + dee_versioned_model_insert_next_seqnum@Base 0.1.0 + dee_versioned_model_prepend_next_seqnum@Base 0.1.0 + dee_versioned_model_remove_seqnum@Base 0.1.0 + dee_versioned_model_set_last_seqnum@Base 0.1.0 + dee_versioned_model_set_seqnum@Base 0.1.0 --- dee-0.2.6.orig/debian/copyright +++ dee-0.2.6/debian/copyright @@ -0,0 +1,52 @@ +This work was packaged for Ubuntu by: + + Didier Roche on Tue, 25 Jan 2010 17:05:16 +0100 + +It was downloaded from https://launchpad.net/dee + +Upstream Authors: + + Mikkel Kamstrup Erlandsen + Neil Jagdish Patel + +Copyright: + + Copyright (C) 2009-2010 Canonical Ltd. + +License: + + * dee/*: + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License Version 3.0 as published by the Free Software Foundation. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + +On Debian systems, the complete text of the GNU Lesser General Public License +can be found in `/usr/share/common-licenses/LGPL-3' + + + * examples/*, tests/*: + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License version 3 as + published by the Free Software Foundation. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + +On Debian systems, the complete text of the GNU General Public License +can be found in `/usr/share/common-licenses/GPL-3' + + +The Debian packaging is: + + Copyright (C) 2010 Canonical Ltd. + +and is licensed under the GPL version 3, see `/usr/share/common-licenses/GPL-3'. --- dee-0.2.6.orig/debian/compat +++ dee-0.2.6/debian/compat @@ -0,0 +1 @@ +5 --- dee-0.2.6.orig/debian/libdee-doc.install +++ dee-0.2.6/debian/libdee-doc.install @@ -0,0 +1 @@ +debian/tmp/usr/share/gtk-doc/