Author: mir3x Date: Fri Dec 2 09:22:13 2016 New Revision: 34670 URL: http://svn.gna.org/viewcvs/freeciv?rev=34670&view=rev Log: Qt client - added menu entry to load any tileset for current game
See patch #8037 Modified: trunk/client/gui-qt/dialogs.cpp trunk/client/gui-qt/menu.cpp trunk/client/gui-qt/menu.h Modified: trunk/client/gui-qt/dialogs.cpp URL: http://svn.gna.org/viewcvs/freeciv/trunk/client/gui-qt/dialogs.cpp?rev=34670&r1=34669&r2=34670&view=diff ============================================================================== --- trunk/client/gui-qt/dialogs.cpp (original) +++ trunk/client/gui-qt/dialogs.cpp Fri Dec 2 09:22:13 2016 @@ -3062,12 +3062,11 @@ fc_snprintf(buf, sizeof(buf), _("Tileset problem, it's probably incompatible with the" - " ruleset:\n%s\nProgram will now exit."), msg); + " ruleset:\n%s"), msg); ask.setText(buf); ask.setStandardButtons(QMessageBox::Ok); ask.setWindowTitle(_("Tileset error")); ask.exec(); - gui()->quit(); } Modified: trunk/client/gui-qt/menu.cpp URL: http://svn.gna.org/viewcvs/freeciv/trunk/client/gui-qt/menu.cpp?rev=34670&r1=34669&r2=34670&view=diff ============================================================================== --- trunk/client/gui-qt/menu.cpp (original) +++ trunk/client/gui-qt/menu.cpp Fri Dec 2 09:22:13 2016 @@ -983,6 +983,8 @@ connect(act, SIGNAL(triggered()), this, SLOT(messages_options())); act = menu->addAction(_("Shortcuts")); connect(act, SIGNAL(triggered()), this, SLOT(shortcut_options())); + act = menu->addAction(_("Load another tileset")); + connect(act, SIGNAL(triggered()), this, SLOT(tileset_custom_load())); act = menu->addAction(_("Save Options Now")); act->setIcon(style()->standardIcon(QStyle::SP_DialogSaveButton)); connect(act, SIGNAL(triggered()), this, SLOT(save_options_now())); @@ -3073,6 +3075,55 @@ } /**************************************************************** + Shows rulesets to load +*****************************************************************/ +void mr_menu::tileset_custom_load() +{ + QDialog *dialog = new QDialog(this); + QLabel *label; + QPushButton *but; + QVBoxLayout *layout; + const struct strvec *tlset_list; + const struct option *poption; + QStringList sl; + QString s; + + sl << "default_tileset_overhead_name" << "default_tileset_iso_name" + << "default_tileset_hex_name" << "default_tileset_isohex_name"; + layout = new QVBoxLayout; + dialog->setWindowTitle(_("Available tilesets")); + label = new QLabel; + label->setText(_("Some tilesets might be not compatible with current" + " map topology!")); + layout->addWidget(label); + + foreach (s, sl) { + poption = optset_option_by_name(client_optset, s.toLocal8Bit().data()); + tlset_list = get_tileset_list(poption); + strvec_iterate(tlset_list, value) { + but = new QPushButton(value); + connect(but, SIGNAL(clicked()), this, SLOT(load_new_tileset())); + layout->addWidget(but); + } strvec_iterate_end; + } + dialog->setSizeGripEnabled(true); + dialog->setLayout(layout); + dialog->show(); +} + +/**************************************************************** + Slot for loading new tileset +*****************************************************************/ +void mr_menu::load_new_tileset() +{ + QPushButton *but; + + but = qobject_cast<QPushButton *>(sender()); + tilespec_reread(but->text().toLocal8Bit().data(), true); + but->parentWidget()->close(); +} + +/**************************************************************** Action "Calculate trade routes" *****************************************************************/ void mr_menu::calc_trade_routes() Modified: trunk/client/gui-qt/menu.h URL: http://svn.gna.org/viewcvs/freeciv/trunk/client/gui-qt/menu.h?rev=34670&r1=34669&r2=34670&view=diff ============================================================================== --- trunk/client/gui-qt/menu.h (original) +++ trunk/client/gui-qt/menu.h Fri Dec 2 09:22:13 2016 @@ -312,6 +312,8 @@ void save_game(); void save_game_as(); void save_image(); + void tileset_custom_load(); + void load_new_tileset(); void back_to_menu(); void quit_game(); _______________________________________________ Freeciv-commits mailing list Freeciv-commits@gna.org https://mail.gna.org/listinfo/freeciv-commits