gnome-control-center/panels/region/cc-input-chooser.h
Joaquim Rocha abb0592866 region: Reuse the input chooser instance
The language input chooser is being created and destroyed every time
it is opened and closed. This is noticeably slow and is hardly
necessary as the values it contains should not change.

To fix this, these changes reuse the same instance of the input chooser
(by hiding and showing it) instead of renewing it.
The input chooser is also now shown using gtk_dialog_run to avoid having
it destroyed from the default delete event.
2015-03-10 19:45:07 +01:00

44 lines
1.6 KiB
C

/*
* Copyright (C) 2013 Red Hat, Inc
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, see <http://www.gnu.org/licenses/>.
*/
#ifndef __CC_INPUT_CHOOSER_H__
#define __CC_INPUT_CHOOSER_H__
#include <gtk/gtk.h>
#define GNOME_DESKTOP_USE_UNSTABLE_API
#include <libgnome-desktop/gnome-xkb-info.h>
G_BEGIN_DECLS
GtkWidget *cc_input_chooser_new (GtkWindow *parent,
gboolean is_login,
GnomeXkbInfo *xkb_info,
GHashTable *ibus_engines);
void cc_input_chooser_set_ibus_engines (GtkWidget *chooser,
GHashTable *ibus_engines);
gboolean cc_input_chooser_get_selected (GtkWidget *chooser,
gchar **type,
gchar **id,
gchar **name);
void cc_input_chooser_reset (GtkWidget *chooser);
G_END_DECLS
#endif /* __CC_INPUT_CHOOSER_H__ */