57 gboolean path_currently_selected, gpointer user_data)
64 if (path_currently_selected) {
69 if (!gtk_tree_model_get_iter(model, &gpdata->
iter, path))
79 guchar dummy = (guchar)event_type;
92 if (response_id <= 0) {
95 event_type = response_id;
101 gtk_widget_destroy(dialog);
114 TRACE_CALL(__func__);
126 TRACE_CALL(__func__);
131 GtkWidget *scrolledwindow;
133 GtkCellRenderer *renderer;
134 GtkTreeViewColumn *column;
142 dialog = gtk_dialog_new();
144 gtk_window_set_title(GTK_WINDOW(dialog), s);
160 gtk_window_set_default_size(GTK_WINDOW(dialog), 640, 300);
163 scrolledwindow = gtk_scrolled_window_new(NULL, NULL);
164 gtk_widget_show(scrolledwindow);
165 gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scrolledwindow), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
166 gtk_box_pack_start(GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dialog))), scrolledwindow, TRUE, TRUE, 0);
168 tree = gtk_tree_view_new();
169 gtk_container_add(GTK_CONTAINER(scrolledwindow), tree);
170 gtk_widget_show(tree);
173 g_signal_connect(G_OBJECT(tree),
"row-activated",
176 renderer = gtk_cell_renderer_text_new();
178 gtk_tree_view_column_set_resizable(column, TRUE);
180 gtk_tree_view_append_column(GTK_TREE_VIEW(tree), column);
182 renderer = gtk_cell_renderer_text_new();
185 gtk_tree_view_column_set_resizable(column, TRUE);
187 gtk_tree_view_append_column(GTK_TREE_VIEW(tree), column);
189 renderer = gtk_cell_renderer_text_new();
190 column = gtk_tree_view_column_new_with_attributes(_(
"Display"), renderer,
"text",
192 gtk_tree_view_column_set_resizable(column, TRUE);
194 gtk_tree_view_append_column(GTK_TREE_VIEW(tree), column);
196 renderer = gtk_cell_renderer_text_new();
197 column = gtk_tree_view_column_new_with_attributes(_(
"Status"), renderer,
"text",
199 gtk_tree_view_column_set_resizable(column, TRUE);
201 gtk_tree_view_append_column(GTK_TREE_VIEW(tree), column);
203 renderer = gtk_cell_renderer_text_new();
206 gtk_tree_view_column_set_resizable(column, TRUE);
208 gtk_tree_view_append_column(GTK_TREE_VIEW(tree), column);
210 gtk_tree_selection_set_select_function(gtk_tree_view_get_selection(GTK_TREE_VIEW(tree)),
223 GTK_DIALOG_MODAL, GTK_MESSAGE_ERROR, GTK_BUTTONS_OK,
"%s",
226 gtk_dialog_run(GTK_DIALOG(dialog));
227 gtk_widget_destroy(dialog);
237 TRACE_CALL(__func__);
void(* debug)(const gchar *fmt,...)
typedefG_BEGIN_DECLS struct _RemminaFile RemminaFile
static gboolean remmina_nx_session_manager_main(RemminaProtocolWidget *gp)
void remmina_nx_session_manager_on_row_activated(GtkTreeView *tree, GtkTreePath *path, GtkTreeViewColumn *column, RemminaProtocolWidget *gp)
const gchar * remmina_nx_session_get_error(RemminaNXSession *nx)
void remmina_nx_session_manager_start(RemminaProtocolWidget *gp)
GtkWidget * manager_dialog
gboolean remmina_nx_session_has_error(RemminaNXSession *nx)
static void remmina_nx_session_manager_send_signal(RemminaPluginNxData *gpdata, gint event_type)
gboolean manager_selected
RemminaFile *(* protocol_plugin_get_file)(RemminaProtocolWidget *gp)
void(* protocol_plugin_init_show)(RemminaProtocolWidget *gp)
void(* protocol_plugin_init_hide)(RemminaProtocolWidget *gp)
static void remmina_nx_session_manager_set_sensitive(RemminaProtocolWidget *gp, gboolean sensitive)
guint session_manager_start_handler
void remmina_nx_session_iter_set(RemminaNXSession *nx, GtkTreeIter *iter, gint column, const gchar *data)
void remmina_nx_session_clear_error(RemminaNXSession *nx)
void remmina_nx_session_set_tree_view(RemminaNXSession *nx, GtkTreeView *tree)
RemminaPluginService * remmina_plugin_nx_service
const gchar *(* file_get_string)(RemminaFile *remminafile, const gchar *setting)
static void remmina_nx_session_manager_on_response(GtkWidget *dialog, gint response_id, RemminaProtocolWidget *gp)
static gboolean remmina_nx_session_manager_selection_func(GtkTreeSelection *selection, GtkTreeModel *model, GtkTreePath *path, gboolean path_currently_selected, gpointer user_data)