~ubuntu-branches/ubuntu/precise/empathy/precise

« back to all changes in this revision

Viewing changes to libempathy-gtk/empathy-account-widget-msn.c

Tags: upstream-0.21.90
ImportĀ upstreamĀ versionĀ 0.21.90

Show diffs side-by-side

added added

removed removed

Lines of Context:
33
33
#include <libmissioncontrol/mc-profile.h>
34
34
 
35
35
#include <libempathy/empathy-utils.h>
 
36
#include <libempathy/empathy-debug.h>
36
37
 
37
38
#include "empathy-account-widget-msn.h"
38
39
#include "empathy-ui-utils.h"
39
40
 
 
41
#define DEBUG_DOMAIN "AccountWidgetMSN"
 
42
 
40
43
typedef struct {
41
44
        McAccount *account;
42
45
 
48
51
        GtkWidget *spinbutton_port;
49
52
} EmpathyAccountWidgetMSN;
50
53
 
51
 
static gboolean account_widget_msn_entry_focus_cb            (GtkWidget               *widget,
52
 
                                                              GdkEventFocus           *event,
53
 
                                                              EmpathyAccountWidgetMSN *settings);
54
 
static void     account_widget_msn_entry_changed_cb          (GtkWidget               *widget,
55
 
                                                              EmpathyAccountWidgetMSN *settings);
56
 
static void     account_widget_msn_value_changed_cb          (GtkWidget               *spinbutton,
57
 
                                                              EmpathyAccountWidgetMSN *settings);
58
 
static void     account_widget_msn_button_forget_clicked_cb  (GtkWidget               *button,
59
 
                                                              EmpathyAccountWidgetMSN *settings);
60
 
static void     account_widget_msn_destroy_cb                (GtkWidget               *widget,
61
 
                                                              EmpathyAccountWidgetMSN *settings);
62
 
static void     account_widget_msn_setup                     (EmpathyAccountWidgetMSN *settings);
63
 
 
64
54
static gboolean
65
55
account_widget_msn_entry_focus_cb (GtkWidget               *widget,
66
56
                                   GdkEventFocus           *event,
82
72
        }
83
73
        
84
74
        str = gtk_entry_get_text (GTK_ENTRY (widget));
85
 
        
86
75
        if (G_STR_EMPTY (str)) {
87
76
                gchar *value = NULL;
88
77
 
 
78
                mc_account_unset_param (settings->account, param);
89
79
                mc_account_get_param_string (settings->account, param, &value);
 
80
                empathy_debug (DEBUG_DOMAIN, "Unset %s and restore to %s", param, value);
90
81
                gtk_entry_set_text (GTK_ENTRY (widget), value ? value : "");
91
82
                g_free (value);
92
83
        } else {
 
84
                empathy_debug (DEBUG_DOMAIN, "Setting %s to %s", param, str);
93
85
                mc_account_set_param_string (settings->account, param, str);
94
86
        }
95
87
 
112
104
account_widget_msn_value_changed_cb (GtkWidget                  *spinbutton,
113
105
                                     EmpathyAccountWidgetMSN    *settings)
114
106
{
 
107
        gdouble      value;
 
108
        const gchar *param;
 
109
 
 
110
        value = gtk_spin_button_get_value (GTK_SPIN_BUTTON (spinbutton));
 
111
 
115
112
        if (spinbutton == settings->spinbutton_port) {
116
 
                gdouble value;
117
 
 
118
 
                value = gtk_spin_button_get_value (GTK_SPIN_BUTTON (spinbutton));
119
 
                mc_account_set_param_int (settings->account, "port", (gint) value);
 
113
                param = "port";
 
114
        } else {
 
115
                return;
 
116
        }
 
117
 
 
118
        if (value != 0) {
 
119
                empathy_debug (DEBUG_DOMAIN, "Setting %s to %d", param, (gint) value);
 
120
                mc_account_set_param_int (settings->account, param, (gint) value);
 
121
        } else {
 
122
                gint val;
 
123
 
 
124
                mc_account_unset_param (settings->account, param);
 
125
                mc_account_get_param_int (settings->account, param, &val);
 
126
                empathy_debug (DEBUG_DOMAIN, "Unset %s and restore to %d", param, val);
 
127
 
 
128
                gtk_spin_button_set_value (GTK_SPIN_BUTTON (spinbutton), val);
120
129
        }
121
130
}
122
131
 
124
133
account_widget_msn_button_forget_clicked_cb (GtkWidget               *button,
125
134
                                             EmpathyAccountWidgetMSN *settings)
126
135
{
127
 
        mc_account_set_param_string (settings->account, "password", "");
 
136
        empathy_debug (DEBUG_DOMAIN, "Unset password");
 
137
        mc_account_unset_param (settings->account, "password");
128
138
        gtk_entry_set_text (GTK_ENTRY (settings->entry_password), "");
129
139
}
130
140
 
149
159
        mc_account_get_param_string (settings->account, "server", &server);
150
160
        mc_account_get_param_string (settings->account, "password", &password);
151
161
 
 
162
        gtk_spin_button_set_value (GTK_SPIN_BUTTON (settings->spinbutton_port), port);
152
163
        gtk_entry_set_text (GTK_ENTRY (settings->entry_id), id ? id : "");
 
164
        gtk_entry_set_text (GTK_ENTRY (settings->entry_server), server ? server : "");
153
165
        gtk_entry_set_text (GTK_ENTRY (settings->entry_password), password ? password : "");
154
 
        gtk_entry_set_text (GTK_ENTRY (settings->entry_server), server ? server : "");
155
 
        gtk_spin_button_set_value (GTK_SPIN_BUTTON (settings->spinbutton_port), port);
156
166
 
157
167
        gtk_widget_set_sensitive (settings->button_forget, !G_STR_EMPTY (password));
158
168