~noskcaj/ubuntu/saucy/sflphone/merge-1.2.3-2

« back to all changes in this revision

Viewing changes to gnome/src/config/zrtpadvanceddialog.c

  • Committer: Package Import Robot
  • Author(s): Mark Purcell
  • Date: 2012-05-19 21:46:37 UTC
  • mfrom: (1.1.7)
  • Revision ID: package-import@ubuntu.com-20120519214637-la8rbrford5kj6m3
Tags: 1.1.0-1
* New upstream release 
  - Fixes "FTBFS with libccrtp-dev/2.0.2 from experimental" (Closes: #663282)
* NEW Maintainer: Debian VoIP Team - Thanks Francois for your work.
  - (Closes: #665789: O: sflphone -- SIP and IAX2 compatible VoIP phone)
* Added Build-Depends: libdbus-c++-bin
* Add gcc47-fixes.patch

Show diffs side-by-side

added added

removed removed

Lines of Context:
28
28
 *  as that of the covered work.
29
29
 */
30
30
 
31
 
#include <zrtpadvanceddialog.h>
32
 
#include <sflphone_const.h>
33
 
#include <utils.h>
34
 
 
 
31
#include <glib/gi18n.h>
35
32
#include <gtk/gtk.h>
 
33
#include "str_utils.h"
 
34
#include "mainwindow.h"
 
35
#include "zrtpadvanceddialog.h"
 
36
#include "sflphone_const.h"
 
37
#include "utils.h"
36
38
 
37
 
void show_advanced_zrtp_options(GHashTable * properties)
 
39
void show_advanced_zrtp_options(account_t *account)
38
40
{
39
41
    gboolean curSasConfirm = TRUE;
40
42
    gboolean curHelloEnabled = TRUE;
41
43
    gboolean curZrtpNotSuppOther = TRUE;
42
44
    gboolean curDisplaySasOnce = FALSE;
43
45
 
44
 
    if (properties != NULL) {
45
 
        curHelloEnabled = !g_strcasecmp(g_hash_table_lookup(properties, ACCOUNT_ZRTP_HELLO_HASH), "true");
46
 
        curSasConfirm = !g_strcasecmp(g_hash_table_lookup(properties, ACCOUNT_ZRTP_DISPLAY_SAS), "true");
47
 
        curZrtpNotSuppOther = !g_strcasecmp(g_hash_table_lookup(properties, ACCOUNT_ZRTP_NOT_SUPP_WARNING), "true");
48
 
        curDisplaySasOnce = !g_strcasecmp(g_hash_table_lookup(properties, ACCOUNT_DISPLAY_SAS_ONCE), "true");
 
46
    if (account != NULL) {
 
47
        curHelloEnabled = utf8_case_equal(account_lookup(account, ACCOUNT_ZRTP_HELLO_HASH), "true");
 
48
        curSasConfirm = utf8_case_equal(account_lookup(account, ACCOUNT_ZRTP_DISPLAY_SAS), "true");
 
49
        curZrtpNotSuppOther = utf8_case_equal(account_lookup(account, ACCOUNT_ZRTP_NOT_SUPP_WARNING), "true");
 
50
        curDisplaySasOnce = utf8_case_equal(account_lookup(account, ACCOUNT_DISPLAY_SAS_ONCE), "true");
49
51
    }
50
52
 
51
53
    GtkDialog *securityDialog = GTK_DIALOG(gtk_dialog_new_with_buttons(_("ZRTP Options"),
55
57
                                           GTK_RESPONSE_CANCEL,
56
58
                                           GTK_STOCK_SAVE,
57
59
                                           GTK_RESPONSE_ACCEPT,
58
 
                                           NULL)
59
 
                                          );
 
60
                                           NULL));
60
61
    gtk_window_set_resizable(GTK_WINDOW(securityDialog), FALSE);
61
62
    gtk_container_set_border_width(GTK_CONTAINER(securityDialog), 0);
62
63
 
63
 
 
64
 
    GtkWidget *tableZrtp = gtk_table_new(4, 2  , FALSE/* homogeneous */);
 
64
    GtkWidget *tableZrtp = gtk_table_new(4, 2, FALSE /* homogeneous */);
65
65
    gtk_table_set_row_spacings(GTK_TABLE(tableZrtp), 10);
66
66
    gtk_table_set_col_spacings(GTK_TABLE(tableZrtp), 10);
67
67
    gtk_box_pack_start(GTK_BOX(gtk_dialog_get_content_area(securityDialog)), tableZrtp, FALSE, FALSE, 0);
70
70
    GtkWidget *enableHelloHash = gtk_check_button_new_with_mnemonic(_("Send Hello Hash in S_DP"));
71
71
    gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(enableHelloHash), curHelloEnabled);
72
72
    gtk_table_attach(GTK_TABLE(tableZrtp), enableHelloHash, 0, 1, 2, 3, GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0);
73
 
    gtk_widget_set_sensitive(GTK_WIDGET(enableHelloHash) , TRUE);
 
73
    gtk_widget_set_sensitive(GTK_WIDGET(enableHelloHash), TRUE);
74
74
 
75
75
    GtkWidget *enableSASConfirm = gtk_check_button_new_with_mnemonic(_("Ask User to Confirm SAS"));
76
76
    gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(enableSASConfirm), curSasConfirm);
77
77
    gtk_table_attach(GTK_TABLE(tableZrtp), enableSASConfirm, 0, 1, 3, 4, GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0);
78
 
    gtk_widget_set_sensitive(GTK_WIDGET(enableSASConfirm) , TRUE);
 
78
    gtk_widget_set_sensitive(GTK_WIDGET(enableSASConfirm), TRUE);
79
79
 
80
80
    GtkWidget *enableZrtpNotSuppOther = gtk_check_button_new_with_mnemonic(_("_Warn if ZRTP not supported"));
81
81
    gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(enableZrtpNotSuppOther), curZrtpNotSuppOther);
82
82
    gtk_table_attach(GTK_TABLE(tableZrtp), enableZrtpNotSuppOther, 0, 1, 4, 5, GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0);
83
 
    gtk_widget_set_sensitive(GTK_WIDGET(enableZrtpNotSuppOther) , TRUE);
 
83
    gtk_widget_set_sensitive(GTK_WIDGET(enableZrtpNotSuppOther), TRUE);
84
84
 
85
85
    GtkWidget *displaySasOnce = gtk_check_button_new_with_mnemonic(_("Display SAS once for hold events"));
86
86
    gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(displaySasOnce), curDisplaySasOnce);
87
87
    gtk_table_attach(GTK_TABLE(tableZrtp), displaySasOnce, 0, 1, 5, 6, GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0);
88
 
    gtk_widget_set_sensitive(GTK_WIDGET(displaySasOnce) , TRUE);
 
88
    gtk_widget_set_sensitive(GTK_WIDGET(displaySasOnce), TRUE);
89
89
 
90
90
    gtk_widget_show_all(tableZrtp);
91
91
 
92
92
    gtk_container_set_border_width(GTK_CONTAINER(tableZrtp), 10);
93
93
 
94
94
    if (gtk_dialog_run(GTK_DIALOG(securityDialog)) == GTK_RESPONSE_ACCEPT) {
95
 
        g_hash_table_replace(properties,
96
 
                             g_strdup(ACCOUNT_ZRTP_DISPLAY_SAS),
97
 
                             g_strdup(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(enableSASConfirm)) ? "true": "false"));
98
 
 
99
 
        g_hash_table_replace(properties,
100
 
                             g_strdup(ACCOUNT_DISPLAY_SAS_ONCE),
101
 
                             g_strdup(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(displaySasOnce)) ? "true": "false"));
102
 
 
103
 
        g_hash_table_replace(properties,
104
 
                             g_strdup(ACCOUNT_ZRTP_HELLO_HASH),
105
 
                             g_strdup(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(enableHelloHash)) ? "true": "false"));
106
 
 
107
 
        g_hash_table_replace(properties,
108
 
                             g_strdup(ACCOUNT_ZRTP_NOT_SUPP_WARNING),
109
 
                             g_strdup(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(enableZrtpNotSuppOther)) ? "true": "false"));
 
95
        account_replace(account, ACCOUNT_ZRTP_DISPLAY_SAS,
 
96
                        gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(enableSASConfirm)) ? "true": "false");
 
97
 
 
98
        account_replace(account, ACCOUNT_DISPLAY_SAS_ONCE,
 
99
                        gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(displaySasOnce)) ? "true": "false");
 
100
 
 
101
        account_replace(account, ACCOUNT_ZRTP_HELLO_HASH,
 
102
                        gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(enableHelloHash)) ? "true": "false");
 
103
 
 
104
        account_replace(account, ACCOUNT_ZRTP_NOT_SUPP_WARNING,
 
105
                        gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(enableZrtpNotSuppOther)) ? "true": "false");
110
106
    }
111
107
 
112
108
    gtk_widget_destroy(GTK_WIDGET(securityDialog));
113
109
}
114
110
 
115
111
 
116
 
void show_advanced_sdes_options(GHashTable * properties)
 
112
void show_advanced_sdes_options(account_t *account)
117
113
{
118
114
    gboolean rtpFallback = FALSE;
119
115
 
120
 
    if (properties != NULL) {
121
 
        rtpFallback = !g_strcasecmp(g_hash_table_lookup(properties, ACCOUNT_SRTP_RTP_FALLBACK), "true");
122
 
    }
 
116
    if (account != NULL)
 
117
        rtpFallback = utf8_case_equal(account_lookup(account, ACCOUNT_SRTP_RTP_FALLBACK), "true");
123
118
 
124
119
    GtkDialog *securityDialog = GTK_DIALOG(gtk_dialog_new_with_buttons(_("SDES Options"),
125
120
                                           GTK_WINDOW(get_main_window()),
126
121
                                           GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT,
127
122
                                           GTK_STOCK_CANCEL,
128
 
                                           GTK_RESPONSE_CANCEL,
129
 
                                           GTK_STOCK_SAVE,
130
 
                                           GTK_RESPONSE_ACCEPT,
131
 
                                           NULL));
 
123
                                           GTK_RESPONSE_CANCEL, GTK_STOCK_SAVE,
 
124
                                           GTK_RESPONSE_ACCEPT, NULL));
132
125
 
133
126
    gtk_window_set_resizable(GTK_WINDOW(securityDialog), FALSE);
134
127
    gtk_container_set_border_width(GTK_CONTAINER(securityDialog), 0);
135
128
 
136
 
    GtkWidget *sdesTable = gtk_table_new(1, 2  , FALSE/* homogeneous */);
 
129
    GtkWidget *sdesTable = gtk_table_new(1, 2, FALSE /* homogeneous */);
137
130
    gtk_table_set_row_spacings(GTK_TABLE(sdesTable), 10);
138
131
    gtk_table_set_col_spacings(GTK_TABLE(sdesTable), 10);
139
132
    gtk_box_pack_start(GTK_BOX(gtk_dialog_get_content_area(securityDialog)), sdesTable, FALSE, FALSE, 0);
142
135
    GtkWidget *enableRtpFallback = gtk_check_button_new_with_mnemonic(_("Fallback on RTP on SDES failure"));
143
136
    gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(enableRtpFallback), rtpFallback);
144
137
    gtk_table_attach(GTK_TABLE(sdesTable), enableRtpFallback, 0, 1, 2, 3, GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0);
145
 
    gtk_widget_set_sensitive(GTK_WIDGET(enableRtpFallback) , TRUE);
 
138
    gtk_widget_set_sensitive(GTK_WIDGET(enableRtpFallback), TRUE);
146
139
 
147
140
    gtk_widget_show_all(sdesTable);
148
141
 
149
142
    gtk_container_set_border_width(GTK_CONTAINER(sdesTable), 10);
150
143
 
151
144
    if (gtk_dialog_run(GTK_DIALOG(securityDialog)) == GTK_RESPONSE_ACCEPT) {
152
 
        g_hash_table_replace(properties,
153
 
                             g_strdup(ACCOUNT_SRTP_RTP_FALLBACK),
154
 
                             g_strdup(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(enableRtpFallback)) ? "true": "false"));
 
145
        account_replace(account, ACCOUNT_SRTP_RTP_FALLBACK,
 
146
                        gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(enableRtpFallback)) ? "true": "false");
155
147
    }
156
148
 
157
149
    gtk_widget_destroy(GTK_WIDGET(securityDialog));