/*! \brief Saves all the pages of a TOPLEVEL object. * \par Function Description * Saves all the pages in the <B>toplevel</B> parameter. * * \param [in] toplevel The TOPLEVEL to save pages from. * \return The number of failed tries to save a page. */ gint s_page_save_all (TOPLEVEL *toplevel) { const GList *iter; PAGE *p_current; gint status = 0; for ( iter = geda_list_get_glist( toplevel->pages ); iter != NULL; iter = g_list_next( iter ) ) { p_current = (PAGE *)iter->data; if (f_save (toplevel, p_current, p_current->page_filename, NULL)) { s_log_message (_("Saved [%s]\n"), p_current->page_filename); /* reset the CHANGED flag of p_current */ p_current->CHANGED = 0; } else { s_log_message (_("Could NOT save [%s]\n"), p_current->page_filename); /* increase the error counter */ status++; } } return status; }
int execute_modifier(int mod) { int success = 1; switch(mod) { case F_EXIT: success = f_exit(); break; case F_COPY: success = f_copy(); break; case F_CUT: success = f_cut(); break; case F_PASTE: success = f_paste(); break; case F_FIND: success = f_find(); break; case F_GOTO: success = f_goto(); break; case F_HELP: success = f_help(); break; case F_MORE: success = f_more(); break; case F_NEW: success = f_new(); break; case F_OPEN: success = f_open(); break; case F_NEXTPAGE: success = f_nextpage(); break; case F_PREVPAGE: success = f_prevpage(); break; case F_RUN: success = f_run(); break; case F_SAVE: success = f_save(); break; case F_SAVEAS: success = f_saveas(); break; case F_UNDO: success = f_undo(); break; default: success = 0; /* Don't want the program to close for any other key */ break; } return success; }
/*! \brief Saves a page to a file. * \par Function Description * This function saves the page <B>page</B> to a file named * <B>filename</B>. * * It returns the value returned by function <B>f_save()</B> trying * to save page <B>page</B> to file <B>filename</B> (1 on success, 0 * on failure). * * <B>page</B> may not be the current page of <B>toplevel</B>. The * current page of <B>toplevel</B> is not affected by this function. * * \param [in] toplevel The toplevel environment. * \param [in] page The page to save. * \param [in] filename The name of the file in which to save page. * \returns 1 on success, 0 otherwise. */ gint x_window_save_page (GSCHEM_TOPLEVEL *w_current, PAGE *page, const gchar *filename) { TOPLEVEL *toplevel = w_current->toplevel; PAGE *old_current; const gchar *log_msg, *state_msg; gint ret; g_return_val_if_fail (toplevel != NULL, 0); g_return_val_if_fail (page != NULL, 0); g_return_val_if_fail (filename != NULL, 0); /* save current page for restore after opening */ old_current = toplevel->page_current; /* change to page */ s_page_goto (toplevel, page); /* and try saving current page to filename */ ret = (gint)f_save (toplevel, filename); if (ret != 1) { /* an error occured when saving page to file */ log_msg = _("Could NOT save page [%s]\n"); state_msg = _("Error while trying to save"); } else { /* successful save of page to file, update page... */ /* change page name if necessary and prepare log message */ if (g_ascii_strcasecmp (page->page_filename, filename) != 0) { g_free (page->page_filename); page->page_filename = g_strdup (filename); log_msg = _("Saved as [%s]\n"); } else { log_msg = _("Saved [%s]\n"); } state_msg = _("Saved"); /* reset page CHANGED flag */ page->CHANGED = 0; /* update recent file list */ recent_files_add(filename); } /* log status of operation */ s_log_message (log_msg, filename); /* update display and page manager */ x_window_set_current_page (w_current, old_current); i_set_state_msg (w_current, SELECT, state_msg); i_update_toolbar (w_current); return ret; }
/*! \brief Saves all the pages of a TOPLEVEL object. * \par Function Description * Saves all the pages in the <B>toplevel</B> parameter. * * \param [in] toplevel The TOPLEVEL to save pages from. * \return The number of failed tries to save a page. */ gint s_page_save_all (TOPLEVEL *toplevel) { const GList *iter; PAGE *p_save, *p_current; gint status = 0; /* save current page */ p_save = toplevel->page_current; for ( iter = geda_list_get_glist( toplevel->pages ); iter != NULL; iter = g_list_next( iter ) ) { p_current = (PAGE *)iter->data; /* make p_current the current page of toplevel */ s_page_goto (toplevel, p_current); if (f_save (toplevel, p_current->page_filename)) { s_log_message (_("Saved [%s]\n"), toplevel->page_current->page_filename); /* reset the CHANGED flag of p_current */ p_current->CHANGED = 0; } else { s_log_message (_("Could NOT save [%s]\n"), toplevel->page_current->page_filename); /* increase the error counter */ status++; } } /* restore current page */ if (p_save != NULL) { s_page_goto (toplevel, p_save); } return status; }
void AddressBook::LoadHostsFromI2P () { std::string content; int http_code = i2p::util::http::httpRequestViaI2pProxy("http://udhdrtrcetjm5sxzskjyr5ztpeszydbh4dpl3pl4utgqqw2v4jna.b32.i2p/hosts.txt", content); if (http_code == 200) { std::ofstream f_save(i2p::util::filesystem::GetFullPath("hosts.txt").c_str(), std::ofstream::out); if (f_save.is_open()) { f_save << content; f_save.close(); } else LogPrint("Can't write hosts.txt"); m_IsLoaded = false; } else LogPrint ("Failed to download hosts.txt"); m_IsDowloading = false; return; }
/*! \brief Saves a page to a file. * \par Function Description * This function saves the page <B>page</B> to a file named * <B>filename</B>. * * It returns the value returned by function <B>f_save()</B> trying * to save page <B>page</B> to file <B>filename</B> (1 on success, 0 * on failure). * * <B>page</B> may not be the current page of <B>toplevel</B>. The * current page of <B>toplevel</B> is not affected by this function. * * \param [in] w_current The toplevel environment. * \param [in] page The page to save. * \param [in] filename The name of the file in which to save page. * \returns 1 on success, 0 otherwise. */ gint x_window_save_page (GschemToplevel *w_current, PAGE *page, const gchar *filename) { TOPLEVEL *toplevel = gschem_toplevel_get_toplevel (w_current); const gchar *log_msg, *state_msg; gint ret; GError *err = NULL; g_return_val_if_fail (toplevel != NULL, 0); g_return_val_if_fail (page != NULL, 0); g_return_val_if_fail (filename != NULL, 0); /* try saving page to filename */ ret = (gint)f_save (toplevel, page, filename, &err); if (ret != 1) { log_msg = _("Could NOT save page [%s]\n"); state_msg = _("Error while trying to save"); GtkWidget *dialog; dialog = gtk_message_dialog_new (GTK_WINDOW (w_current->main_window), GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_ERROR, GTK_BUTTONS_CLOSE, "%s", err->message); gtk_window_set_title (GTK_WINDOW (dialog), _("Failed to save file")); gtk_dialog_run (GTK_DIALOG (dialog)); gtk_widget_destroy (dialog); g_clear_error (&err); } else { /* successful save of page to file, update page... */ /* change page name if necessary and prepare log message */ if (g_ascii_strcasecmp (page->page_filename, filename) != 0) { g_free (page->page_filename); page->page_filename = g_strdup (filename); log_msg = _("Saved as [%s]\n"); } else { log_msg = _("Saved [%s]\n"); } state_msg = _("Saved"); /* reset page CHANGED flag */ page->CHANGED = 0; /* add to recent file list */ gtk_recent_manager_add_item (recent_manager, g_filename_to_uri(filename, NULL, NULL)); i_set_filename (w_current, page->page_filename); x_pagesel_update (w_current); } /* log status of operation */ s_log_message (log_msg, filename); i_set_state_msg (w_current, SELECT, state_msg); return ret; }