Skip to content
Snippets Groups Projects
Commit badc0b72 authored by Alexandre Savard's avatar Alexandre Savard
Browse files

Merge branch 'master' of...

parents 66b08677 ece74798
No related branches found
No related tags found
No related merge requests found
...@@ -25,7 +25,7 @@ ...@@ -25,7 +25,7 @@
GtkWidget* GtkWidget*
create_shortcuts_settings() create_shortcuts_settings()
{ {
GtkWidget *vbox, *result_frame, *window, *treeview, *scrolled_window, *table; GtkWidget *vbox, *result_frame, *window, *treeview, *scrolled_window, *label;
GtkListStore *store; GtkListStore *store;
GtkTreeIter iter; GtkTreeIter iter;
guint i = 0; guint i = 0;
...@@ -35,6 +35,8 @@ create_shortcuts_settings() ...@@ -35,6 +35,8 @@ create_shortcuts_settings()
gnome_main_section_new(_("General"), &result_frame); gnome_main_section_new(_("General"), &result_frame);
label = gtk_label_new(_("Be careful: these shortcuts might override system-wide shortcuts."));
treeview = gtk_tree_view_new(); treeview = gtk_tree_view_new();
setup_tree_view(treeview); setup_tree_view(treeview);
...@@ -45,7 +47,7 @@ create_shortcuts_settings() ...@@ -45,7 +47,7 @@ create_shortcuts_settings()
while (list[i].action != NULL) while (list[i].action != NULL)
{ {
gtk_list_store_append(store, &iter); gtk_list_store_append(store, &iter);
gtk_list_store_set(store, &iter, ACTION, list[i].action, MASK, gtk_list_store_set(store, &iter, ACTION, _(list[i].action), MASK,
(gint) list[i].mask, VALUE, XKeycodeToKeysym(GDK_DISPLAY(), (gint) list[i].mask, VALUE, XKeycodeToKeysym(GDK_DISPLAY(),
list[i].value, 0), -1); list[i].value, 0), -1);
i++; i++;
...@@ -55,6 +57,7 @@ create_shortcuts_settings() ...@@ -55,6 +57,7 @@ create_shortcuts_settings()
g_object_unref(store); g_object_unref(store);
gtk_container_add(GTK_CONTAINER (result_frame), treeview); gtk_container_add(GTK_CONTAINER (result_frame), treeview);
gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, FALSE, 0);
gtk_box_pack_start(GTK_BOX(vbox), result_frame, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(vbox), result_frame, FALSE, FALSE, 0);
gtk_widget_show_all(vbox); gtk_widget_show_all(vbox);
...@@ -85,12 +88,15 @@ setup_tree_view(GtkWidget *treeview) ...@@ -85,12 +88,15 @@ setup_tree_view(GtkWidget *treeview)
gtk_tree_view_append_column(GTK_TREE_VIEW (treeview), column); gtk_tree_view_append_column(GTK_TREE_VIEW (treeview), column);
g_signal_connect (G_OBJECT (renderer), "accel_edited", G_CALLBACK (accel_edited), (gpointer) treeview); g_signal_connect (G_OBJECT (renderer), "accel_edited", G_CALLBACK (accel_edited), (gpointer) treeview);
g_signal_connect (G_OBJECT (renderer), "accel_cleared", G_CALLBACK (accel_cleared), (gpointer) treeview);
} }
static void static void
accel_edited(GtkCellRendererAccel *renderer, gchar *path, guint accel_key, accel_edited(GtkCellRendererAccel *renderer, gchar *path, guint accel_key,
GdkModifierType mask, guint hardware_keycode, GtkTreeView *treeview) GdkModifierType mask, guint hardware_keycode, GtkTreeView *treeview)
{ {
DEBUG("Accel edited");
GtkTreeModel *model; GtkTreeModel *model;
GtkTreeIter iter; GtkTreeIter iter;
...@@ -105,3 +111,20 @@ accel_edited(GtkCellRendererAccel *renderer, gchar *path, guint accel_key, ...@@ -105,3 +111,20 @@ accel_edited(GtkCellRendererAccel *renderer, gchar *path, guint accel_key,
// Update GDK bindings // Update GDK bindings
shortcuts_update_bindings(atoi(path), code); shortcuts_update_bindings(atoi(path), code);
} }
static void
accel_cleared(GtkCellRendererAccel *renderer, gchar *path, GtkTreeView *treeview)
{
DEBUG("Accel cleared");
GtkTreeModel *model;
GtkTreeIter iter;
// Update treeview
model = gtk_tree_view_get_model(treeview);
if (gtk_tree_model_get_iter_from_string(model, &iter, path))
gtk_list_store_set(GTK_LIST_STORE (model), &iter, MASK, 0, VALUE, 0, -1);
// Update GDK bindings
shortcuts_update_bindings(atoi(path), 0);
}
...@@ -43,6 +43,10 @@ static void ...@@ -43,6 +43,10 @@ static void
accel_edited (GtkCellRendererAccel *renderer, gchar *path, guint accel_key, accel_edited (GtkCellRendererAccel *renderer, gchar *path, guint accel_key,
GdkModifierType mask, guint hardware_keycode, GtkTreeView *treeview); GdkModifierType mask, guint hardware_keycode, GtkTreeView *treeview);
static void
accel_cleared (GtkCellRendererAccel *renderer, gchar *path,
GtkTreeView *treeview);
G_END_DECLS G_END_DECLS
#endif // _SHORTCUTS_CONFIG #endif // _SHORTCUTS_CONFIG
...@@ -59,7 +59,8 @@ popup_window_callback() ...@@ -59,7 +59,8 @@ popup_window_callback()
{ {
gtk_widget_hide (GTK_WIDGET(get_main_window())); gtk_widget_hide (GTK_WIDGET(get_main_window()));
gtk_widget_show (GTK_WIDGET(get_main_window())); gtk_widget_show (GTK_WIDGET(get_main_window()));
gtk_window_move (GTK_WINDOW (get_main_window ()), dbus_get_window_position_x (), dbus_get_window_position_y ()); gtk_window_move (GTK_WINDOW (get_main_window ()),
dbus_get_window_position_x (), dbus_get_window_position_y ());
} }
static void static void
...@@ -143,10 +144,6 @@ create_bindings() ...@@ -143,10 +144,6 @@ create_bindings()
{ {
if (accelerators_list[i].value != 0) if (accelerators_list[i].value != 0)
{ {
// update value in hashtable (used for dbus calls)
g_hash_table_replace(shortcutsMap, g_strdup(accelerators_list[i].action),
GINT_TO_POINTER(accelerators_list[i].value));
// updated GDK bindings // updated GDK bindings
for (j = 0; j < gdk_display_get_n_screens (display); j++) for (j = 0; j < gdk_display_get_n_screens (display); j++)
{ {
...@@ -160,6 +157,7 @@ create_bindings() ...@@ -160,6 +157,7 @@ create_bindings()
} }
} }
} }
i++; i++;
} }
} }
...@@ -202,7 +200,8 @@ initialize_accelerators_list() ...@@ -202,7 +200,8 @@ initialize_accelerators_list()
{ {
GList* shortcutsKeys = g_hash_table_get_keys (shortcutsMap); GList* shortcutsKeys = g_hash_table_get_keys (shortcutsMap);
accelerators_list = (Accelerator*)malloc((g_list_length(shortcutsKeys) + 1) *sizeof(Accelerator)); accelerators_list = (Accelerator*) malloc (
(g_list_length (shortcutsKeys) + 1) * sizeof(Accelerator));
GList* shortcutsKeysElement; GList* shortcutsKeysElement;
int index = 0; int index = 0;
...@@ -242,6 +241,11 @@ shortcuts_update_bindings(const guint index, const guint code) ...@@ -242,6 +241,11 @@ shortcuts_update_bindings(const guint index, const guint code)
// store new value // store new value
accelerators_list[index].value = code; accelerators_list[index].value = code;
// update value in hashtable (used for dbus calls)
g_hash_table_replace (shortcutsMap,
g_strdup (accelerators_list[index].action), GINT_TO_POINTER (
accelerators_list[index].value));
// recreate all bindings // recreate all bindings
create_bindings (); create_bindings ();
...@@ -353,9 +357,12 @@ ungrab_key(int key_code, GdkWindow *root) ...@@ -353,9 +357,12 @@ ungrab_key(int key_code, GdkWindow *root)
XUngrabKey (GDK_DISPLAY(), key_code, Mod2Mask, GDK_WINDOW_XID(root)); XUngrabKey (GDK_DISPLAY(), key_code, Mod2Mask, GDK_WINDOW_XID(root));
XUngrabKey (GDK_DISPLAY(), key_code, Mod5Mask, GDK_WINDOW_XID(root)); XUngrabKey (GDK_DISPLAY(), key_code, Mod5Mask, GDK_WINDOW_XID(root));
XUngrabKey (GDK_DISPLAY(), key_code, LockMask, GDK_WINDOW_XID(root)); XUngrabKey (GDK_DISPLAY(), key_code, LockMask, GDK_WINDOW_XID(root));
XUngrabKey(GDK_DISPLAY(), key_code, Mod2Mask | Mod5Mask, GDK_WINDOW_XID(root)); XUngrabKey (GDK_DISPLAY(), key_code, Mod2Mask | Mod5Mask,
XUngrabKey(GDK_DISPLAY(), key_code, Mod2Mask | LockMask, GDK_WINDOW_XID(root)); GDK_WINDOW_XID(root));
XUngrabKey(GDK_DISPLAY(), key_code, Mod5Mask | LockMask, GDK_WINDOW_XID(root)); XUngrabKey (GDK_DISPLAY(), key_code, Mod2Mask | LockMask,
GDK_WINDOW_XID(root));
XUngrabKey (GDK_DISPLAY(), key_code, Mod5Mask | LockMask,
GDK_WINDOW_XID(root));
XUngrabKey (GDK_DISPLAY(), key_code, Mod2Mask | Mod5Mask | LockMask, XUngrabKey (GDK_DISPLAY(), key_code, Mod2Mask | Mod5Mask | LockMask,
GDK_WINDOW_XID(root)); GDK_WINDOW_XID(root));
......
...@@ -26,3 +26,10 @@ incoming = ~savoirfairelinux/sflphone-nightly/ubuntu/karmic ...@@ -26,3 +26,10 @@ incoming = ~savoirfairelinux/sflphone-nightly/ubuntu/karmic
login = anonymous login = anonymous
allow_unsigned_uploads = 0 allow_unsigned_uploads = 0
[sflphone-nightly-lucid]
fqdn = ppa.launchpad.net
method = ftp
incoming = ~savoirfairelinux/sflphone-nightly/ubuntu/lucid
login = anonymous
allow_unsigned_uploads = 0
Source: sflphone-client-gnome
Maintainer: SavoirFaireLinux Inc <julien.bonjean@savoirfairelinux.com>
Section: gnome
Priority: optional
Build-Depends: debhelper, libgcc1, autoconf, automake, libtool, libgtk2.0-dev, libdbus-glib-1-dev, libnotify-dev, libebook1.2-dev, check, liblog4c-dev, libgnomeui-dev, gnome-doc-utils, rarian-compat
Standards-Version: 3.7.3
Package: sflphone-client-gnome
Priority: optional
Architecture: any
Depends: sflphone-common (=${source:Version}), libdbus-glib-1-2, libgtk2.0-0, libc6, libglib2.0-0, libdbus-glib-1-2, libnotify1, librsvg2-common, liblog4c3, libebook1.2-9, libgnomeui-0
Replaces: sflphone
Conflicts: sflphone
Homepage: http://www.sflphone.org
Description: GNOME client for SFLphone
Provide a GNOME client for SFLphone.
SFLphone is meant to be a robust enterprise-class desktop phone.
SFLphone is released under the GNU General Public License.
SFLphone is being developed by the global community, and maintained by
Savoir-faire Linux, a Montreal, Quebec, Canada-based Linux consulting company.
Source: sflphone-common
Maintainer: SavoirFaireLinux Inc <julien.bonjean@savoirfairelinux.com>
Section: gnome
Priority: optional
Build-Depends: debhelper, libgcc1 , autoconf, automake, libpulse-dev, libsamplerate0-dev, libcommoncpp2-dev, libccrtp-dev, libgsm1-dev, libspeex-dev, libtool, libdbus-1-dev, libasound2-dev, libspeexdsp-dev, uuid-dev, libexpat1-dev, libzrtpcpp-dev, libssl-dev, libpcre3-dev
Standards-Version: 3.7.3
Package: sflphone-common
Priority: optional
Architecture: any
Depends: libsamplerate0, libexpat1 , libc6, libccgnu2-1.7-0, libgsm1, libspeex1, libdbus-1-3, libasound2, libpulse0, libccrtp1-1.7-0, libspeexdsp1, libzrtpcpp-1.4-0, libssl0.9.8, libpcre3
Replaces: sflphone
Conflicts: sflphone
Homepage: http://www.sflphone.org
Description: SIP and IAX2 compatible softphone - Core
SFLphone is meant to be a robust enterprise-class desktop phone.
SFLphone is released under the GNU General Public License.
SFLphone is being developed by the global community, and maintained by
Savoir-faire Linux, a Montreal, Quebec, Canada-based Linux consulting company.
...@@ -22,6 +22,6 @@ export REFERENCE_REPOSITORY="${ROOT_DIR}/sflphone-source-repository" ...@@ -22,6 +22,6 @@ export REFERENCE_REPOSITORY="${ROOT_DIR}/sflphone-source-repository"
export WORKING_DIR="${ROOT_DIR}/sflphone-build-repository/tools/build-system" export WORKING_DIR="${ROOT_DIR}/sflphone-build-repository/tools/build-system"
export LAUNCHPAD_DIR="${WORKING_DIR}/launchpad" export LAUNCHPAD_DIR="${WORKING_DIR}/launchpad"
LAUNCHPAD_DISTRIBUTIONS=( "jaunty" "karmic" ) LAUNCHPAD_DISTRIBUTIONS=( "jaunty" "karmic" "lucid" )
export LAUNCHPAD_DISTRIBUTIONS export LAUNCHPAD_DISTRIBUTIONS
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment