static void remmina_file_editor_on_save(GtkWidget* button, RemminaFileEditor* gfe)
{
	remmina_file_editor_update(gfe);
	remmina_file_save_all(gfe->priv->remmina_file);
	remmina_icon_populate_menu();
	gtk_widget_destroy(GTK_WIDGET(gfe));
}
Exemple #2
0
void remmina_icon_init(void)
{
	if (!remmina_icon.icon && !remmina_pref.disable_tray_icon)
	{
#ifdef HAVE_LIBAPPINDICATOR
		remmina_icon.icon = app_indicator_new ("remmina-icon", "remmina", APP_INDICATOR_CATEGORY_OTHER);
		app_indicator_set_icon_theme_path (remmina_icon.icon, REMMINA_DATADIR G_DIR_SEPARATOR_S "icons");

		app_indicator_set_status (remmina_icon.icon, APP_INDICATOR_STATUS_ACTIVE);
		app_indicator_set_title (remmina_icon.icon, "Remmina");
		remmina_icon_populate_menu ();
#else
		remmina_icon.icon = gtk_status_icon_new_from_icon_name("remmina");

		gtk_status_icon_set_title(remmina_icon.icon, _("Remmina Remote Desktop Client"));
		gtk_status_icon_set_tooltip_text(remmina_icon.icon, _("Remmina Remote Desktop Client"));

		g_signal_connect(G_OBJECT(remmina_icon.icon), "popup-menu", G_CALLBACK(remmina_icon_on_popup_menu), NULL);
		g_signal_connect(G_OBJECT(remmina_icon.icon), "activate", G_CALLBACK(remmina_icon_on_activate), NULL);
#endif
		remmina_widget_pool_hold(TRUE);
	}
	else
		if (remmina_icon.icon)
		{
#ifdef HAVE_LIBAPPINDICATOR
			app_indicator_set_status (remmina_icon.icon, remmina_pref.disable_tray_icon ?
					APP_INDICATOR_STATUS_PASSIVE : APP_INDICATOR_STATUS_ACTIVE);
#else
			gtk_status_icon_set_visible(remmina_icon.icon, !remmina_pref.disable_tray_icon);
#endif
			remmina_widget_pool_hold(!remmina_pref.disable_tray_icon);
		}
	if (!remmina_icon.avahi)
	{
		remmina_icon.avahi = remmina_avahi_new();
	}
	if (remmina_icon.avahi)
	{
		if (remmina_pref.applet_enable_avahi)
		{
			if (!remmina_icon.avahi->started)
				remmina_avahi_start(remmina_icon.avahi);
		}
		else
		{
			remmina_avahi_stop(remmina_icon.avahi);
		}
	}
	if (!remmina_icon.autostart_file)
	{
		remmina_icon.autostart_file = g_strdup_printf("%s/.config/autostart/remmina-applet.desktop", g_get_home_dir());
		remmina_icon_create_autostart_file();
	}
}
Exemple #3
0
static void remmina_main_action_connection_delete(GtkAction *action, RemminaMain *remminamain)
{
	GtkWidget *dialog;

	if (remminamain->priv->selected_filename == NULL)
		return;

	dialog = gtk_message_dialog_new(GTK_WINDOW(remminamain), GTK_DIALOG_MODAL, GTK_MESSAGE_QUESTION, GTK_BUTTONS_YES_NO,
			_("Are you sure to delete '%s'"), remminamain->priv->selected_name);
	if (gtk_dialog_run(GTK_DIALOG(dialog)) == GTK_RESPONSE_YES)
	{
		remmina_file_delete(remminamain->priv->selected_filename);
		remmina_icon_populate_menu();
		remmina_main_load_files(remminamain, TRUE);
	}
	gtk_widget_destroy(dialog);
	remmina_main_clear_selection_data(remminamain);
}
static void remmina_file_editor_on_connect(GtkWidget* button, RemminaFileEditor* gfe)
{
	RemminaFile* gf;

	remmina_file_editor_update(gfe);
	if (remmina_pref.save_when_connect)
	{
		remmina_file_save_all(gfe->priv->remmina_file);
		remmina_icon_populate_menu();
	}
	gf = remmina_file_dup(gfe->priv->remmina_file);
	/* Put server into name for Quick Connect */
	if (remmina_file_get_filename(gf) == NULL)
	{
		remmina_file_set_string(gf, "name", remmina_file_get_string(gf, "server"));
	}
	gtk_widget_destroy(GTK_WIDGET(gfe));
	remmina_connection_window_open_from_file(gf);
}