21
21
#include <glib-object.h>
22
22
#include "shares-tool.h"
23
23
#include <glib/gi18n.h>
25
26
static void gst_shares_tool_class_init (GstSharesToolClass *class);
26
27
static void gst_shares_tool_init (GstSharesTool *tool);
27
28
static void gst_shares_tool_finalize (GObject *object);
29
static void gst_shares_tool_update_gui (GstTool *tool);
30
static void gst_shares_tool_update_gui (GstTool *tool);
31
static void gst_shares_tool_update_config (GstTool *tool);
31
33
static void gst_shares_tool_update_services_availability (GstSharesTool *tool);
107
110
gtk_entry_set_text (GTK_ENTRY (widget), (str) ? str : "");
114
check_servers (GstSharesTool *tool)
118
if (tool->smb_available || tool->nfs_available)
121
dialog = gtk_message_dialog_new (GTK_WINDOW (GST_TOOL (tool)->main_dialog),
125
_("Sharing services are not installed"));
126
gtk_message_dialog_format_secondary_markup (GTK_MESSAGE_DIALOG (dialog),
127
_("You need to install at least either Samba or NFS "
128
"in order to share your folders."));
129
gtk_dialog_run (GTK_DIALOG (dialog));
130
gtk_widget_destroy (dialog);
111
136
gst_shares_tool_update_gui (GstTool *tool)
113
138
GstSharesTool *shares_tool;
139
GtkWidget *dialog_notebook;
116
142
shares_tool = GST_SHARES_TOOL (tool);
118
list = oobs_nfs_config_get_shares (OOBS_NFS_CONFIG (shares_tool->nfs_config));
121
list = oobs_smb_config_get_shares (OOBS_SMB_CONFIG (shares_tool->smb_config));
124
update_global_smb_config (tool, shares_tool->smb_config);
143
dialog_notebook = gst_dialog_get_widget (tool->main_dialog, "shares_admin");
145
if (check_servers (shares_tool)) {
148
list = oobs_nfs_config_get_shares (OOBS_NFS_CONFIG (shares_tool->nfs_config));
151
list = oobs_smb_config_get_shares (OOBS_SMB_CONFIG (shares_tool->smb_config));
154
update_global_smb_config (tool, shares_tool->smb_config);
155
gtk_widget_set_sensitive (dialog_notebook, TRUE);
157
/* disable the tool UI, there's no way to add shares */
158
gtk_widget_set_sensitive (dialog_notebook, FALSE);
163
gst_shares_tool_update_config (GstTool *tool)
165
GstSharesTool *shares_tool;
167
shares_tool = GST_SHARES_TOOL (tool);
168
oobs_object_update (shares_tool->nfs_config);
169
oobs_object_update (shares_tool->smb_config);
170
oobs_object_update (shares_tool->services_config);
171
oobs_object_update (shares_tool->hosts_config);
172
oobs_object_update (shares_tool->ifaces_config);
173
gst_shares_tool_update_services_availability (tool);
131
180
OobsListIter iter;
132
181
GObject *service;
136
185
services = oobs_services_config_get_services (tool->services_config);
137
186
valid = oobs_list_get_iter_first (services, &iter);
140
189
service = oobs_list_get (services, &iter);
141
role = oobs_service_get_role (OOBS_SERVICE (service));
190
role = gst_service_get_role (OOBS_SERVICE (service));
143
if (strcmp (role, "FILE_SERVER_SMB") == 0)
192
if (role == GST_ROLE_FILE_SERVER_SMB)
144
193
tool->smb_available = TRUE;
145
else if (strcmp (role, "FILE_SERVER_NFS") == 0)
194
else if (role == GST_ROLE_FILE_SERVER_NFS)
146
195
tool->nfs_available = TRUE;
148
197
g_object_unref (service);