Author: cazfi
Date: Mon Dec  8 19:03:25 2014
New Revision: 27208

URL: http://svn.gna.org/viewcvs/freeciv?rev=27208&view=rev
Log:
Replaced global fullscreen mode option with gui specific options.

See patch #5490

Modified:
    trunk/client/gui-gtk-2.0/gui_main.c
    trunk/client/gui-gtk-2.0/gui_stuff.c
    trunk/client/gui-gtk-2.0/menu.c
    trunk/client/gui-gtk-3.0/gui_main.c
    trunk/client/gui-gtk-3.0/gui_stuff.c
    trunk/client/gui-gtk-3.0/menu.c
    trunk/client/gui-qt/fc_client.cpp
    trunk/client/gui-qt/gui_main.cpp
    trunk/client/gui-qt/menu.cpp
    trunk/client/options.c
    trunk/client/options.h

Modified: trunk/client/gui-gtk-2.0/gui_main.c
URL: 
http://svn.gna.org/viewcvs/freeciv/trunk/client/gui-gtk-2.0/gui_main.c?rev=27208&r1=27207&r2=27208&view=diff
==============================================================================
--- trunk/client/gui-gtk-2.0/gui_main.c (original)
+++ trunk/client/gui-gtk-2.0/gui_main.c Mon Dec  8 19:03:25 2014
@@ -1483,6 +1483,18 @@
 }
 
 /**************************************************************************
+  Migrate gtk2 client specific options from freeciv-2.5 options
+**************************************************************************/
+static void migrate_options_from_2_5(void)
+{
+  log_normal("Migrating gtk2-client options from freeciv-2.5 options.");
+
+  options.gui_gtk2_fullscreen = options.migrate_fullscreen;
+
+  options.gui_gtk2_migrated_from_2_5 = TRUE; 
+}
+
+/**************************************************************************
   Called from client_main(), is what it's named.
 **************************************************************************/
 void ui_main(int argc, char **argv)
@@ -1520,10 +1532,14 @@
   gtk_widget_set_name(toplevel, "Freeciv");
   root_window = toplevel->window;
 
-  if (options.fullscreen_mode) {
+  if (!options.gui_gtk2_migrated_from_2_5) {
+    migrate_options_from_2_5();
+  }
+
+  if (options.gui_gtk2_fullscreen) {
     gtk_window_fullscreen(GTK_WINDOW(toplevel));
   }
-  
+
   gtk_window_set_title(GTK_WINDOW (toplevel), _("Freeciv"));
 
   g_signal_connect(toplevel, "delete_event",

Modified: trunk/client/gui-gtk-2.0/gui_stuff.c
URL: 
http://svn.gna.org/viewcvs/freeciv/trunk/client/gui-gtk-2.0/gui_stuff.c?rev=27208&r1=27207&r2=27208&view=diff
==============================================================================
--- trunk/client/gui-gtk-2.0/gui_stuff.c        (original)
+++ trunk/client/gui-gtk-2.0/gui_stuff.c        Mon Dec  8 19:03:25 2014
@@ -299,7 +299,7 @@
 ***********************************************************************/
 void setup_dialog(GtkWidget *shell, GtkWidget *parent)
 {
-  if (options.gui_gtk2_dialogs_on_top || options.fullscreen_mode) {
+  if (options.gui_gtk2_dialogs_on_top || options.gui_gtk2_fullscreen) {
     gtk_window_set_transient_for(GTK_WINDOW(shell),
                                  GTK_WINDOW(parent));
     gtk_window_set_type_hint(GTK_WINDOW(shell),

Modified: trunk/client/gui-gtk-2.0/menu.c
URL: 
http://svn.gna.org/viewcvs/freeciv/trunk/client/gui-gtk-2.0/menu.c?rev=27208&r1=27207&r2=27208&view=diff
==============================================================================
--- trunk/client/gui-gtk-2.0/menu.c     (original)
+++ trunk/client/gui-gtk-2.0/menu.c     Mon Dec  8 19:03:25 2014
@@ -808,10 +808,10 @@
 *****************************************************************/
 static void full_screen_callback(GtkToggleAction *action, gpointer data)
 {
-  if (options.fullscreen_mode ^ gtk_toggle_action_get_active(action)) {
-    options.fullscreen_mode ^= 1;
-
-    if (options.fullscreen_mode) {
+  if (options.gui_gtk2_fullscreen ^ gtk_toggle_action_get_active(action)) {
+    options.gui_gtk2_fullscreen ^= 1;
+
+    if (options.gui_gtk2_fullscreen) {
       gtk_window_fullscreen(GTK_WINDOW(toplevel));
     } else {
       gtk_window_unfullscreen(GTK_WINDOW(toplevel));
@@ -2632,5 +2632,5 @@
 
   view_menu_update_sensitivity();
 
-  menus_set_active(safe_group, "FULL_SCREEN", options.fullscreen_mode);
-}
+  menus_set_active(safe_group, "FULL_SCREEN", options.gui_gtk2_fullscreen);
+}

Modified: trunk/client/gui-gtk-3.0/gui_main.c
URL: 
http://svn.gna.org/viewcvs/freeciv/trunk/client/gui-gtk-3.0/gui_main.c?rev=27208&r1=27207&r2=27208&view=diff
==============================================================================
--- trunk/client/gui-gtk-3.0/gui_main.c (original)
+++ trunk/client/gui-gtk-3.0/gui_main.c Mon Dec  8 19:03:25 2014
@@ -1556,6 +1556,18 @@
 }
 
 /**************************************************************************
+  Migrate gtk3 client specific options from freeciv-2.5 options
+**************************************************************************/
+static void migrate_options_from_2_5(void)
+{
+  log_normal("Migrating gtk3-client options from freeciv-2.5 options.");
+
+  options.gui_gtk3_fullscreen = options.migrate_fullscreen;
+
+  options.gui_gtk3_migrated_from_2_5 = TRUE; 
+}
+
+/**************************************************************************
   Called from client_main(), is what it's named.
 **************************************************************************/
 void ui_main(int argc, char **argv)
@@ -1585,8 +1597,11 @@
   if (!options.gui_gtk3_migrated_from_gtk2) {
     migrate_options_from_gtk2();
   }
-
-  if (options.fullscreen_mode) {
+  if (!options.gui_gtk3_migrated_from_2_5) {
+    migrate_options_from_2_5();
+  }
+
+  if (options.gui_gtk3_fullscreen) {
     gtk_window_fullscreen(GTK_WINDOW(toplevel));
   }
   
@@ -2176,6 +2191,6 @@
   if (screen_height() <= 480) {
     /* Freeciv is practically unusable outside fullscreen mode in so
      * small display */
-    options.fullscreen_mode = TRUE;
-  }
-}
+    options.gui_gtk3_fullscreen = TRUE;
+  }
+}

Modified: trunk/client/gui-gtk-3.0/gui_stuff.c
URL: 
http://svn.gna.org/viewcvs/freeciv/trunk/client/gui-gtk-3.0/gui_stuff.c?rev=27208&r1=27207&r2=27208&view=diff
==============================================================================
--- trunk/client/gui-gtk-3.0/gui_stuff.c        (original)
+++ trunk/client/gui-gtk-3.0/gui_stuff.c        Mon Dec  8 19:03:25 2014
@@ -278,7 +278,7 @@
 ***********************************************************************/
 void setup_dialog(GtkWidget *shell, GtkWidget *parent)
 {
-  if (options.gui_gtk3_dialogs_on_top || options.fullscreen_mode) {
+  if (options.gui_gtk3_dialogs_on_top || options.gui_gtk3_fullscreen) {
     gtk_window_set_transient_for(GTK_WINDOW(shell),
                                  GTK_WINDOW(parent));
     gtk_window_set_type_hint(GTK_WINDOW(shell),

Modified: trunk/client/gui-gtk-3.0/menu.c
URL: 
http://svn.gna.org/viewcvs/freeciv/trunk/client/gui-gtk-3.0/menu.c?rev=27208&r1=27207&r2=27208&view=diff
==============================================================================
--- trunk/client/gui-gtk-3.0/menu.c     (original)
+++ trunk/client/gui-gtk-3.0/menu.c     Mon Dec  8 19:03:25 2014
@@ -808,10 +808,10 @@
 *****************************************************************/
 static void full_screen_callback(GtkToggleAction *action, gpointer data)
 {
-  if (options.fullscreen_mode ^ gtk_toggle_action_get_active(action)) {
-    options.fullscreen_mode ^= 1;
-
-    if (options.fullscreen_mode) {
+  if (options.gui_gtk3_fullscreen ^ gtk_toggle_action_get_active(action)) {
+    options.gui_gtk3_fullscreen ^= 1;
+
+    if (options.gui_gtk3_fullscreen) {
       gtk_window_fullscreen(GTK_WINDOW(toplevel));
     } else {
       gtk_window_unfullscreen(GTK_WINDOW(toplevel));
@@ -2633,5 +2633,5 @@
 
   view_menu_update_sensitivity();
 
-  menus_set_active(safe_group, "FULL_SCREEN", options.fullscreen_mode);
-}
+  menus_set_active(safe_group, "FULL_SCREEN", options.gui_gtk3_fullscreen);
+}

Modified: trunk/client/gui-qt/fc_client.cpp
URL: 
http://svn.gna.org/viewcvs/freeciv/trunk/client/gui-qt/fc_client.cpp?rev=27208&r1=27207&r2=27208&view=diff
==============================================================================
--- trunk/client/gui-qt/fc_client.cpp   (original)
+++ trunk/client/gui-qt/fc_client.cpp   Mon Dec  8 19:03:25 2014
@@ -285,7 +285,7 @@
     update_load_page();
     break;
   case PAGE_GAME:
-    if (options.fullscreen_mode){
+    if (options.gui_qt_fullscreen){
       gui()->main_window->showFullScreen();
       gui()->mapview_wdg->showFullScreen();
     } else {

Modified: trunk/client/gui-qt/gui_main.cpp
URL: 
http://svn.gna.org/viewcvs/freeciv/trunk/client/gui-qt/gui_main.cpp?rev=27208&r1=27207&r2=27208&view=diff
==============================================================================
--- trunk/client/gui-qt/gui_main.cpp    (original)
+++ trunk/client/gui-qt/gui_main.cpp    Mon Dec  8 19:03:25 2014
@@ -129,6 +129,18 @@
 }
 
 /**************************************************************************
+  Migrate Qt client specific options from freeciv-2.5 options
+**************************************************************************/
+static void migrate_options_from_2_5()
+{
+  log_normal("Migrating Qt-client options from freeciv-2.5 options.");
+
+  options.gui_qt_fullscreen = options.migrate_fullscreen;
+
+  options.gui_qt_migrated_from_2_5 = TRUE; 
+}
+
+/**************************************************************************
   The main loop for the UI.  This is called from main(), and when it
   exits the client will exit.
 **************************************************************************/
@@ -145,6 +157,11 @@
     qpm = get_icon_sprite(tileset, ICON_FREECIV)->pm;
     app_icon = ::QIcon(*qpm);
     qapp->setWindowIcon(app_icon);
+
+    if (!options.gui_qt_migrated_from_2_5) {
+      migrate_options_from_2_5();
+    }
+    
     freeciv_qt = new fc_client();
     freeciv_qt->main(qapp);
   }

Modified: trunk/client/gui-qt/menu.cpp
URL: 
http://svn.gna.org/viewcvs/freeciv/trunk/client/gui-qt/menu.cpp?rev=27208&r1=27207&r2=27208&view=diff
==============================================================================
--- trunk/client/gui-qt/menu.cpp        (original)
+++ trunk/client/gui-qt/menu.cpp        Mon Dec  8 19:03:25 2014
@@ -297,7 +297,7 @@
   act = menu->addAction(_("Fullscreen"));
   act->setShortcut(QKeySequence(tr("alt+return")));
   act->setCheckable(true);
-  act->setChecked(options.fullscreen_mode);
+  act->setChecked(options.gui_qt_fullscreen);
   connect(act, SIGNAL(triggered()), this, SLOT(slot_fullscreen()));
   menu->addSeparator();
   minimap_status = menu->addAction(_("Minimap"));
@@ -1564,13 +1564,13 @@
 ***************************************************************************/
 void mr_menu::slot_fullscreen()
 {
-  if (!options.fullscreen_mode) {
+  if (!options.gui_qt_fullscreen) {
     gui()->main_window->showFullScreen();
     gui()->mapview_wdg->showFullScreen();
   } else {
     gui()->main_window->showNormal();
   }
-  options.fullscreen_mode = !options.fullscreen_mode;
+  options.gui_qt_fullscreen = !options.gui_qt_fullscreen;
 }
 
 /***************************************************************************

Modified: trunk/client/options.c
URL: 
http://svn.gna.org/viewcvs/freeciv/trunk/client/options.c?rev=27208&r1=27207&r2=27208&view=diff
==============================================================================
--- trunk/client/options.c      (original)
+++ trunk/client/options.c      Mon Dec  8 19:03:25 2014
@@ -79,11 +79,15 @@
   .default_chat_logfile = GUI_DEFAULT_CHAT_LOGFILE,
 
   .save_options_on_exit = TRUE,
-  .fullscreen_mode = FALSE,
 
 /** Migrations **/
   .gui_gtk3_migrated_from_gtk2 = FALSE,
   .gui_sdl2_migrated_from_sdl = FALSE,
+  .gui_gtk2_migrated_from_2_5 = FALSE,
+  .gui_gtk3_migrated_from_2_5 = FALSE,
+  .gui_qt_migrated_from_2_5 = FALSE,
+
+  .migrate_fullscreen = FALSE,
 
 /** Local Options: **/
 
@@ -172,6 +176,7 @@
 
 /* gui-gtk-2.0 client specific options. */
   .gui_gtk2_default_theme_name = FC_GTK2_DEFAULT_THEME_NAME,
+  .gui_gtk2_fullscreen = FALSE,
   .gui_gtk2_map_scrollbars = FALSE,
   .gui_gtk2_dialogs_on_top = TRUE,
   .gui_gtk2_show_task_icons = TRUE,
@@ -205,6 +210,7 @@
 
 /* gui-gtk-3.0 client specific options. */
   .gui_gtk3_default_theme_name = FC_GTK3_DEFAULT_THEME_NAME,
+  .gui_gtk3_fullscreen = FALSE,
   .gui_gtk3_map_scrollbars = FALSE,
   .gui_gtk3_dialogs_on_top = TRUE,
   .gui_gtk3_show_task_icons = TRUE,
@@ -251,6 +257,7 @@
   .gui_sdl2_use_color_cursors = TRUE,
 
 /* gui-qt client specific options. */
+  .gui_qt_fullscreen = FALSE,
   .gui_qt_font_city_label = "Monospace,8,-1,5,50,0,0,0,0,0",
   .gui_qt_font_notify_label = "Monospace,8,-1,5,75,0,0,0,0,0",
   .gui_qt_font_spaceship_label = "Monospace,8,-1,5,50,0,0,0,0,0",
@@ -2222,6 +2229,10 @@
                  COC_MAPIMG, GUI_STUB, GUI_DEFAULT_MAPIMG_FILENAME, NULL),
 
   /* gui-gtk-2.0 client specific options. */
+  GEN_BOOL_OPTION(gui_gtk2_fullscreen, N_("Fullscreen"),
+                  N_("If this option is set the client will use the "
+                     "whole screen area for drawing."),
+                  COC_INTERFACE, GUI_GTK2, FALSE, NULL),
   GEN_BOOL_OPTION(gui_gtk2_map_scrollbars, N_("Show map scrollbars"),
                   N_("Disable this option to hide the scrollbars on the "
                      "map view."),
@@ -2432,6 +2443,10 @@
                   "Serif 10", NULL),
 
   /* gui-gtk-3.0 client specific options. */
+  GEN_BOOL_OPTION(gui_gtk3_fullscreen, N_("Fullscreen"),
+                  N_("If this option is set the client will use the "
+                     "whole screen area for drawing."),
+                  COC_INTERFACE, GUI_GTK3, FALSE, NULL),
   GEN_BOOL_OPTION(gui_gtk3_map_scrollbars, N_("Show map scrollbars"),
                   N_("Disable this option to hide the scrollbars on the "
                      "map view."),
@@ -2678,6 +2693,10 @@
                   COC_INTERFACE, GUI_SDL2, TRUE, NULL),
 
   /* gui-qt client specific options. */
+  GEN_BOOL_OPTION(gui_qt_fullscreen, N_("Fullscreen"),
+                  N_("If this option is set the client will use the "
+                     "whole screen area for drawing."),
+                  COC_INTERFACE, GUI_QT, FALSE, NULL),
   GEN_FONT_OPTION(gui_qt_font_city_label, "city_label",
                   N_("City Label"),
                   N_("This font is used to display the city labels on city "
@@ -5308,8 +5327,8 @@
   options.save_options_on_exit =
     secfile_lookup_bool_default(sf, options.save_options_on_exit,
                                 "%s.save_options_on_exit", prefix);
-  options.fullscreen_mode =
-    secfile_lookup_bool_default(sf, options.fullscreen_mode,
+  options.migrate_fullscreen =
+    secfile_lookup_bool_default(sf, options.migrate_fullscreen,
                                 "%s.fullscreen_mode", prefix);
 
   /* Settings migrations */
@@ -5319,6 +5338,15 @@
   options.gui_sdl2_migrated_from_sdl =
     secfile_lookup_bool_default(sf, options.gui_sdl2_migrated_from_sdl,
                                 "%s.migration_sdl2_from_sdl", prefix);
+  options.gui_gtk2_migrated_from_2_5 =
+    secfile_lookup_bool_default(sf, options.gui_gtk3_migrated_from_2_5,
+                                "%s.migration_gtk2_from_2_5", prefix);
+  options.gui_gtk3_migrated_from_2_5 =
+    secfile_lookup_bool_default(sf, options.gui_gtk2_migrated_from_2_5,
+                                "%s.migration_gtk3_from_2_5", prefix);
+  options.gui_qt_migrated_from_2_5 =
+    secfile_lookup_bool_default(sf, options.gui_qt_migrated_from_2_5,
+                                "%s.migration_qt_from_2_5", prefix);
 
   /* Backwards compatibility for removed options replaced by entirely "new"
    * options. The equivalent "new" option will override these, if set. */
@@ -5399,13 +5427,19 @@
   secfile_insert_str(sf, VERSION_STRING, "client.version");
 
   secfile_insert_bool(sf, options.save_options_on_exit, 
"client.save_options_on_exit");
-  secfile_insert_bool(sf, options.fullscreen_mode, "client.fullscreen_mode");
+  secfile_insert_bool_comment(sf, options.migrate_fullscreen, "deprecated", 
"client.fullscreen_mode");
 
   /* Migrations */
   secfile_insert_bool(sf, options.gui_gtk3_migrated_from_gtk2,
                       "client.migration_gtk3_from_gtk2");
   secfile_insert_bool(sf, options.gui_sdl2_migrated_from_sdl,
                       "client.migration_sdl2_from_sdl");
+  secfile_insert_bool(sf, options.gui_gtk2_migrated_from_2_5,
+                      "client.migration_gtk2_from_2_5");
+  secfile_insert_bool(sf, options.gui_gtk3_migrated_from_2_5,
+                      "client.migration_gtk3_from_2_5");
+  secfile_insert_bool(sf, options.gui_qt_migrated_from_2_5,
+                      "client.migration_qt_from_2_5");
 
   client_options_iterate_all(poption) {
     client_option_save(poption, sf);

Modified: trunk/client/options.h
URL: 
http://svn.gna.org/viewcvs/freeciv/trunk/client/options.h?rev=27208&r1=27207&r2=27208&view=diff
==============================================================================
--- trunk/client/options.h      (original)
+++ trunk/client/options.h      Mon Dec  8 19:03:25 2014
@@ -98,11 +98,15 @@
   char default_chat_logfile[512];
 
   bool save_options_on_exit;
-  bool fullscreen_mode;
 
 /** Migrations **/
   bool gui_gtk3_migrated_from_gtk2;
   bool gui_sdl2_migrated_from_sdl;
+  bool gui_gtk2_migrated_from_2_5;
+  bool gui_gtk3_migrated_from_2_5;
+  bool gui_qt_migrated_from_2_5;
+
+  bool migrate_fullscreen;
 
 /** Local Options: **/
 
@@ -182,6 +186,7 @@
 /* gui-gtk-2.0 client specific options. */
 #define FC_GTK2_DEFAULT_THEME_NAME "Freeciv"
   char gui_gtk2_default_theme_name[512];
+  bool gui_gtk2_fullscreen;
   bool gui_gtk2_map_scrollbars;
   bool gui_gtk2_dialogs_on_top;
   bool gui_gtk2_show_task_icons;
@@ -216,6 +221,7 @@
 /* gui-gtk-3.0 client specific options. */
 #define FC_GTK3_DEFAULT_THEME_NAME "Freeciv"
   char gui_gtk3_default_theme_name[512];
+  bool gui_gtk3_fullscreen;
   bool gui_gtk3_map_scrollbars;
   bool gui_gtk3_dialogs_on_top;
   bool gui_gtk3_show_task_icons;
@@ -264,6 +270,7 @@
   bool gui_sdl2_use_color_cursors;
 
 /* gui-qt client specific options. */
+  bool gui_qt_fullscreen;
   bool gui_qt_allied_chat_only;
   char gui_qt_font_city_label[512];
   char gui_qt_font_notify_label[512];


_______________________________________________
Freeciv-commits mailing list
Freeciv-commits@gna.org
https://mail.gna.org/listinfo/freeciv-commits

Reply via email to