add translatable default filename to editor save box.

This commit is contained in:
David Mikos 2014-02-10 08:07:22 +10:30
parent cb65b325a0
commit e05ded74dc
5 changed files with 25 additions and 11 deletions

View File

@ -11,6 +11,7 @@ Version 1.11.9+dev:
* Updated translations:
* Miscellaneous and bug fixes:
* Fixed: A compilation warning with DEBUG_WINDOW_LAYOUT_GRAPHS.
* Add translatable default filename to map editor save dialog box
Version 1.11.9:
* Add-ons client:

View File

@ -563,11 +563,13 @@ void context_manager::save_map_as_dialog()
input_name = default_dir_ + "/maps";
}
const std::string old_input_name = input_name;
std::string untitled_str = _("Untitled");
untitled_str += ".map";
int overwrite_res = 1;
do {
input_name = old_input_name;
int res = dialogs::show_file_chooser_dialog_save(gui_, input_name, _("Save the Map As"));
int res = dialogs::show_file_chooser_dialog_save(gui_, input_name, _("Save the Map As"), untitled_str);
if (res == 0) {
if (file_exists(input_name)) {
res = gui2::show_message(gui_.video(), "",
@ -591,11 +593,13 @@ void context_manager::save_scenario_as_dialog()
input_name = default_dir_ + "/scenarios";
}
const std::string old_input_name = input_name;
std::string untitled_str = _("Untitled");
untitled_str += ".scenario";
int overwrite_res = 1;
do {
input_name = old_input_name;
int res = dialogs::show_file_chooser_dialog_save(gui_, input_name, _("Save the Scenario As"));
int res = dialogs::show_file_chooser_dialog_save(gui_, input_name, _("Save the Scenario As"), untitled_str);
if (res == 0) {
if (file_exists(input_name)) {
res = gui2::show_message(gui_.video(), "",

View File

@ -32,7 +32,7 @@ int show_file_chooser_dialog(display &disp, std::string &filename,
const std::string& type_a_head,
int xloc, int yloc) {
file_dialog d(disp, filename, title, show_directory_buttons);
file_dialog d(disp, filename, title, "", show_directory_buttons);
if (!type_a_head.empty())
d.select_file(type_a_head);
if(d.show(xloc, yloc) >= 0) {
@ -42,11 +42,13 @@ int show_file_chooser_dialog(display &disp, std::string &filename,
}
int show_file_chooser_dialog_save(display &disp, std::string &filename,
std::string const &title, bool show_directory_buttons,
std::string const &title,
const std::string& default_file_name,
bool show_directory_buttons,
const std::string& type_a_head,
int xloc, int yloc) {
file_dialog d(disp, filename, title, show_directory_buttons);
file_dialog d(disp, filename, title, default_file_name, show_directory_buttons);
d.set_autocomplete(false);
if (!type_a_head.empty())
d.select_file(type_a_head);
@ -57,7 +59,8 @@ int show_file_chooser_dialog_save(display &disp, std::string &filename,
}
file_dialog::file_dialog(display &disp, const std::string& file_path,
const std::string& title, bool show_directory_buttons) :
const std::string& title, const std::string& default_file_name,
bool show_directory_buttons) :
gui::dialog(disp, title, file_path, gui::OK_CANCEL),
show_directory_buttons_(show_directory_buttons),
files_list_(NULL),
@ -72,6 +75,7 @@ file_dialog::file_dialog(display &disp, const std::string& file_path,
files_list_->set_measurements(file_list_width, file_list_height);
files_list_->set_max_height(file_list_height);
set_menu(files_list_);
default_file_name_ = default_file_name;
get_message().set_text(format_dirname(files_list_->get_directory()));
set_textbox(_("File: "), format_filename(file_path), 100);
if (show_directory_buttons_)
@ -124,7 +128,7 @@ std::string file_dialog::unformat_filename(const std::string& filename) const
std::string file_dialog::format_filename(const std::string& filename) const
{
if(files_list_->is_directory(filename)) {
return "";
return default_file_name_;
}
std::string::size_type last_delim = filename.find_last_of(gui::file_menu::path_delim);
if(last_delim != std::string::npos) {

View File

@ -29,7 +29,7 @@ namespace dialogs
class file_dialog : public gui::dialog {
public:
file_dialog(display &disp, const std::string& file_path, const std::string& title, bool show_directory_buttons);
file_dialog(display &disp, const std::string& file_path, const std::string& title, const std::string& default_file_name, bool show_directory_buttons);
virtual gui::dialog::dimension_measurements layout(int xloc=-1, int yloc=-1);
@ -52,6 +52,7 @@ private:
int last_selection_;
std::string last_textbox_text_;
std::string chosen_file_;
std::string default_file_name_;
bool autocomplete_;
};
@ -68,7 +69,9 @@ int show_file_chooser_dialog(display &displ, std::string &filename,
/// Show a filechooser dialog in a "save" mode, that is, without relying
/// on autocomplete to allow saving under any filename
int show_file_chooser_dialog_save(display &displ, std::string &filename,
std::string const &title, bool show_directory_buttons = true,
std::string const &title,
const std::string& default_file_name = "",
bool show_directory_buttons = true,
const std::string& file_to_search = "",
int xloc = -1, int yloc = -1);
} // end of dialogs namespace

View File

@ -418,8 +418,10 @@ void menu_handler::save_map()
std::string input_name = get_dir(get_dir(get_user_data_dir() + "/editor") + "/maps/");
int res = 0;
int overwrite = 1;
std::string untitled_str = _("Untitled");
untitled_str += ".map";
do {
res = dialogs::show_file_chooser_dialog_save(*gui_, input_name, _("Save the Map As"));
res = dialogs::show_file_chooser_dialog_save(*gui_, input_name, _("Save the Map As"), untitled_str);
if (res == 0) {
if (file_exists(input_name)) {