static gboolean maybe_block_tabedit_quit (tabwin_t *tabwin, GtkWidget *parent) { GtkNotebook *notebook = GTK_NOTEBOOK(tabwin->tabs); int np = gtk_notebook_get_n_pages(notebook); gboolean ret = FALSE; if (np > 1) { gchar *msg = g_strdup_printf(_("Editing %d scripts: really quit?"), np); gint resp; gtk_window_present(GTK_WINDOW(parent)); resp = yes_no_dialog(_("gretl: script editor"), msg, parent); if (resp != GRETL_YES) { ret = TRUE; } g_free(msg); } else if (np == 1) { GtkWidget *page = gtk_notebook_get_nth_page(notebook, 0); if (page != NULL) { windata_t *vwin = g_object_get_data(G_OBJECT(page), "vwin"); if (vwin_content_changed(vwin)) { gtk_window_present(GTK_WINDOW(parent)); ret = query_save_text(NULL, NULL, vwin); } } } return ret; }
void filebrowser_backend_delete_file(FilebrowserBackend *filebackend, gchar *filename){ if (!filebackend || !filename) return; gint button = yes_no_dialog (_("Question"), _("Are you sure you wish to delete this file?")); if (button == GTK_RESPONSE_YES){ filename_delete_file(filename); filebrowser_backend_refresh_folder (filebackend); } }
static bool suggest_retreat( t_battlefield& battlefield, bool side ) { bool enemy_towns; bool blocked_towns; t_combat_window* combat_window = battlefield.get_combat_window(); t_town* town = combat_window->find_nearest_town( side, enemy_towns, blocked_towns ); std::string text; if (battlefield.can_surrender( side )) { int cost = battlefield.calculate_surrender_cost( side ); std::string cost_text = format_string( "%i", cost ); text = replace_keywords( k_text_suggest_surrender, "%surrender_cost", cost_text, "%town_name", town->get_name() ); if (yes_no_dialog( text, true )) { battlefield.surrender(); return true; } text = k_text_suggest_retreat_instead; } else { if (!battlefield.can_retreat( side )) return false; text = k_text_suggest_retreat; } if (no_heroes( battlefield, side )) return false; text = replace_keywords( text, "%town_name", town->get_name() ); if (!yes_no_dialog( text, true )) return false; if (side) combat_window->force_combat_termination(k_result_defender_retreated); else combat_window->force_combat_termination(k_result_attacker_retreated); return true; }
// ------------------------------------------------------------------------ // sanctuary for armies - heal, resurrect, remain safe from harm // ------------------------------------------------------------------------ void t_sanctuary::left_double_click( t_mouse_event const& event, t_adventure_frame* frame ) { if (get_owner_number() != m_map->get_player_number()) return; if (empty()) return; if (!yes_no_dialog( get_text( "exit" ) )) return; dump_visitors(); }
void document_manager_document_reload(DocumentManager *docmg) { gphpedit_debug(DEBUG_DOC_MANAGER); if (!docmg) return ; DocumentManagerDetails *docmgdet = DOCUMENT_MANAGER_GET_PRIVATE(docmg); gboolean saved; g_object_get(docmgdet->current_document, "saved", &saved, NULL); if (!saved) { gint result = yes_no_dialog (_("Question"), _("Are you sure you wish to reload the current file, losing your changes?")); if (result==GTK_RESPONSE_NO) return ; } const gchar *short_filename; g_object_get(docmgdet->current_document, "short_filename", &short_filename, NULL); gphpedit_statusbar_flash_message (GPHPEDIT_STATUSBAR(main_window.appbar),0,_("Reloading %s"), short_filename); documentable_reload(DOCUMENTABLE(docmgdet->current_document)); }
void rename_file_ok(GtkFileChooser *file_selection) { GString *filename; // Extract filename from the file chooser dialog gchar *fileuri=gtk_file_chooser_get_uri(file_selection); filename = g_string_new(fileuri); g_free(fileuri); GFile *file = get_gfile_from_filename(filename->str); if (g_file_query_exists (file,NULL)) { gint result = yes_no_dialog (_("gPHPEdit"), _("This file already exists, are you sure you want to overwrite it?")); if (result==GTK_RESPONSE_YES) { rename_file(filename); } } else { rename_file(filename); } g_object_unref(file); g_string_free(filename, TRUE); }
void copy_async_lcb(GObject *source_object,GAsyncResult *res,gpointer user_data) { Tcopyfile *cf = user_data; gboolean done; GError *error=NULL; /* fill in the blanks */ done = g_file_copy_finish(cf->curfile,res,&error); if (!done) { if (error->code == G_IO_ERROR_EXISTS) { gint retval; gchar *tmpstr, *dispname; GFileInfo *info =g_file_query_info (cf->curfile,"standard::display-name", G_FILE_QUERY_INFO_NOFOLLOW_SYMLINKS,NULL,NULL); dispname = (gchar *)g_file_info_get_display_name (info); tmpstr = g_strdup_printf(_("%s cannot be copied, it already exists, overwrite?"),dispname); retval = yes_no_dialog (_("Overwrite file?"), tmpstr); g_free(tmpstr); g_free(dispname); if (retval != -8) { g_file_copy_async(cf->curfile,cf->curdest,G_FILE_COPY_OVERWRITE, G_PRIORITY_LOW,NULL, NULL,NULL, copy_async_lcb,cf); return; } }else { g_print("ERROR copying file::%s\n",error->message); g_error_free (error); } } g_object_unref(cf->curfile); g_object_unref(cf->curdest); if (!copy_uris_process_queue(cf)) { filebrowser_backend_refresh_folder (cf->fbback); g_object_unref(cf->destdir); g_slice_free(Tcopyfile,cf); } }
// ----------------------------------------------------- // determine if AI should retreat // ----------------------------------------------------- bool ai_check_retreat( t_battlefield& battlefield ) { bool side = battlefield.get_acting_side(); if (battlefield.get_retreat_checked( side )) return false; if (!should_retreat( battlefield, side )) return false; battlefield.set_retreat_checked( side ); t_player* player = battlefield.get_player( side ); t_combat_window* combat_window = battlefield.get_combat_window(); if (!player->is_computer()) return suggest_retreat( battlefield, side ); if (battlefield.can_surrender( side )) { int cost = battlefield.calculate_surrender_cost( side ); std::string cost_text = format_string( "%i", cost ); std::string text; bool enemy_towns; bool blocked_towns; t_town* town = combat_window->find_nearest_town( side, enemy_towns, blocked_towns ); t_hero const* enemy_hero; t_hero const* hero; t_skill skill; t_skill enemy_skill; t_hero_keyword_replacer replacer; hero = get_charm( battlefield, side, skill ); enemy_hero = get_charm( battlefield, !side, enemy_skill ); replacer.add_keyword( "%surrender_cost", cost_text ); replacer.add_keyword( "%town_name", town->get_name() ); if (enemy_skill.level < skill.level) { replacer.add_hero( hero ); replacer.add_skill( skill ); text = replacer( k_text_force_surrender ); ok_dialog( text ); battlefield.surrender(); return true; } text = replacer( k_text_request_surrender ); if (yes_no_dialog( text, true )) { battlefield.surrender(); return true; } } if (!battlefield.can_retreat( side )) return false; if (side) combat_window->force_combat_termination(k_result_defender_retreated); else combat_window->force_combat_termination(k_result_attacker_retreated); return true; }