void ISFSetupWin::isf_setup_save_callback (GtkWidget *softkey, gpointer user_data) { if (_display_selected_items == 0) { GtkWidget *dialog = gtk_message_dialog_new (GTK_WINDOW (_main_window), GTK_DIALOG_MODAL, GTK_MESSAGE_INFO, GTK_BUTTONS_OK, _("At least select one ISE!\n")); gtk_window_set_position (GTK_WINDOW (dialog), GTK_WIN_POS_CENTER); gtk_dialog_run (GTK_DIALOG (dialog)); gtk_widget_destroy (dialog); return; } for (size_t i = 0; i < _isf_app_list.size (); i++) { String app = _isf_app_list[i]; _disabled_ise_map_bak[app].clear (); if (_disabled_ise_map[app].size ()) { for (size_t j = 0; j < _disabled_ise_map[app].size (); j++) { _disabled_ise_map_bak[app].push_back (_disabled_ise_map[app][j]); } } } if (_setup_enable_changed) { for (size_t i = 0; i < _isf_app_list.size (); i++) { String app = _isf_app_list[i]; scim_global_config_write (String (SCIM_GLOBAL_CONFIG_DISABLED_IMENGINE_FACTORIES "/") + _isf_app_list[i], _disabled_ise_map[app]); } scim_global_config_flush (); } gtk_widget_hide (_main_window); gtk_main_quit (); }
void SetupUI::run () { SCIM_DEBUG_MAIN(1) << "SetupUI::run ()\n"; if (m_main_window) { gtk_widget_show (m_main_window); gtk_main (); } if (m_changes_applied) { // Flush the global config before sending reload config event. scim_global_config_flush (); m_helper_agent.reload_config (); } SCIM_DEBUG_MAIN(1) << "exit SetupUI::run ()\n"; }