Author: cazfi
Date: Sat Dec  6 12:50:13 2014
New Revision: 27193

URL: http://svn.gna.org/viewcvs/freeciv?rev=27193&view=rev
Log:
Make fullscreen mode the default in gtk3-client when screen is so small that
not using fullscreen makes no sense. The saved settings still take precedence,
so to some extend it matters which client is first one to run, and to create
the initial setup.

See patch #5459

Modified:
    trunk/client/gui-gtk-2.0/gui_main.c
    trunk/client/gui-gtk-3.0/gui_main.c
    trunk/client/gui-qt/gui_main.cpp
    trunk/client/gui-qt/qtg_cxxside.cpp
    trunk/client/gui-qt/qtg_cxxside.h
    trunk/client/gui-sdl/gui_main.c
    trunk/client/gui-sdl2/gui_main.c
    trunk/client/gui-stub/gui_main.c
    trunk/client/gui-xaw/gui_main.c
    trunk/client/gui_cbsetter.c
    trunk/client/gui_interface.c
    trunk/client/gui_interface.h
    trunk/client/include/gui_main_g.h
    trunk/client/options.c

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=27193&r1=27192&r2=27193&view=diff
==============================================================================
--- trunk/client/gui-gtk-2.0/gui_main.c (original)
+++ trunk/client/gui-gtk-2.0/gui_main.c Sat Dec  6 12:50:13 2014
@@ -2121,3 +2121,11 @@
                GTK_MAJOR_VERSION, GTK_MINOR_VERSION, GTK_MICRO_VERSION,
                gtk_major_version, gtk_minor_version, gtk_micro_version);
 }
+
+/**************************************************************************
+  Make dynamic adjustments to first-launch default options.
+**************************************************************************/
+void adjust_default_options(void)
+{
+  /* Nothing in case of this gui */
+}

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=27193&r1=27192&r2=27193&view=diff
==============================================================================
--- trunk/client/gui-gtk-3.0/gui_main.c (original)
+++ trunk/client/gui-gtk-3.0/gui_main.c Sat Dec  6 12:50:13 2014
@@ -2167,3 +2167,15 @@
 
   return gdk_screen_get_height(screen);
 }
+
+/**************************************************************************
+  Make dynamic adjustments to first-launch default options.
+**************************************************************************/
+void adjust_default_options(void)
+{
+  if (screen_height() <= 480) {
+    /* Freeciv is practically unusable outside fullscreen mode in so
+     * small display */
+    options.fullscreen_mode = TRUE;
+  }
+}

Modified: trunk/client/gui-qt/gui_main.cpp
URL: 
http://svn.gna.org/viewcvs/freeciv/trunk/client/gui-qt/gui_main.cpp?rev=27193&r1=27192&r2=27193&view=diff
==============================================================================
--- trunk/client/gui-qt/gui_main.cpp    (original)
+++ trunk/client/gui-qt/gui_main.cpp    Sat Dec  6 12:50:13 2014
@@ -431,3 +431,11 @@
                QT_VERSION_STR, qVersion());
   */
 }
+
+/**************************************************************************
+  Make dynamic adjustments to first-launch default options.
+**************************************************************************/
+void qtg_adjust_default_options(void)
+{
+  /* Nothing in case of this gui */
+}

Modified: trunk/client/gui-qt/qtg_cxxside.cpp
URL: 
http://svn.gna.org/viewcvs/freeciv/trunk/client/gui-qt/qtg_cxxside.cpp?rev=27193&r1=27192&r2=27193&view=diff
==============================================================================
--- trunk/client/gui-qt/qtg_cxxside.cpp (original)
+++ trunk/client/gui-qt/qtg_cxxside.cpp Sat Dec  6 12:50:13 2014
@@ -34,6 +34,7 @@
 
   funcs->get_gui_type = qtg_get_gui_type;
   funcs->insert_client_build_info = qtg_insert_client_build_info;
+  funcs->adjust_default_options = qtg_adjust_default_options;
 
   funcs->version_message = qtg_version_message;
   funcs->real_output_window_append = qtg_real_output_window_append;

Modified: trunk/client/gui-qt/qtg_cxxside.h
URL: 
http://svn.gna.org/viewcvs/freeciv/trunk/client/gui-qt/qtg_cxxside.h?rev=27193&r1=27192&r2=27193&view=diff
==============================================================================
--- trunk/client/gui-qt/qtg_cxxside.h   (original)
+++ trunk/client/gui-qt/qtg_cxxside.h   Sat Dec  6 12:50:13 2014
@@ -29,6 +29,7 @@
 
 enum gui_type qtg_get_gui_type();
 void qtg_insert_client_build_info(char *outbuf, size_t outlen);
+void qtg_adjust_default_options();
 
 void qtg_version_message(char *vertext);
 void qtg_real_output_window_append(const char *astring,

Modified: trunk/client/gui-sdl/gui_main.c
URL: 
http://svn.gna.org/viewcvs/freeciv/trunk/client/gui-sdl/gui_main.c?rev=27193&r1=27192&r2=27193&view=diff
==============================================================================
--- trunk/client/gui-sdl/gui_main.c     (original)
+++ trunk/client/gui-sdl/gui_main.c     Sat Dec  6 12:50:13 2014
@@ -1210,3 +1210,11 @@
 {
   /* PORTME */
 }
+
+/**************************************************************************
+  Make dynamic adjustments to first-launch default options.
+**************************************************************************/
+void adjust_default_options(void)
+{
+  /* Nothing in case of this gui */
+}

Modified: trunk/client/gui-sdl2/gui_main.c
URL: 
http://svn.gna.org/viewcvs/freeciv/trunk/client/gui-sdl2/gui_main.c?rev=27193&r1=27192&r2=27193&view=diff
==============================================================================
--- trunk/client/gui-sdl2/gui_main.c    (original)
+++ trunk/client/gui-sdl2/gui_main.c    Sat Dec  6 12:50:13 2014
@@ -1126,3 +1126,11 @@
 {
   /* PORTME */
 }
+
+/**************************************************************************
+  Make dynamic adjustments to first-launch default options.
+**************************************************************************/
+void adjust_default_options(void)
+{
+  /* Nothing in case of this gui */
+}

Modified: trunk/client/gui-stub/gui_main.c
URL: 
http://svn.gna.org/viewcvs/freeciv/trunk/client/gui-stub/gui_main.c?rev=27193&r1=27192&r2=27193&view=diff
==============================================================================
--- trunk/client/gui-stub/gui_main.c    (original)
+++ trunk/client/gui-stub/gui_main.c    Sat Dec  6 12:50:13 2014
@@ -278,3 +278,11 @@
 {
   /* PORTME */
 }
+
+/**************************************************************************
+  Make dynamic adjustments to first-launch default options.
+**************************************************************************/
+void gui_adjust_default_options(void)
+{
+  /* Nothing in case of this gui */
+}

Modified: trunk/client/gui-xaw/gui_main.c
URL: 
http://svn.gna.org/viewcvs/freeciv/trunk/client/gui-xaw/gui_main.c?rev=27193&r1=27192&r2=27193&view=diff
==============================================================================
--- trunk/client/gui-xaw/gui_main.c     (original)
+++ trunk/client/gui-xaw/gui_main.c     Sat Dec  6 12:50:13 2014
@@ -1135,3 +1135,11 @@
 {
   /* PORTME */
 }
+
+/**************************************************************************
+  Make dynamic adjustments to first-launch default options.
+**************************************************************************/
+void adjust_default_options(void)
+{
+  /* Nothing in case of this gui */
+}

Modified: trunk/client/gui_cbsetter.c
URL: 
http://svn.gna.org/viewcvs/freeciv/trunk/client/gui_cbsetter.c?rev=27193&r1=27192&r2=27193&view=diff
==============================================================================
--- trunk/client/gui_cbsetter.c (original)
+++ trunk/client/gui_cbsetter.c Sat Dec  6 12:50:13 2014
@@ -47,6 +47,7 @@
 
   funcs->get_gui_type = gui_get_gui_type;
   funcs->insert_client_build_info = gui_insert_client_build_info;
+  funcs->adjust_default_options = gui_adjust_default_options;
 
   funcs->version_message = gui_version_message;
   funcs->real_output_window_append = gui_real_output_window_append;

Modified: trunk/client/gui_interface.c
URL: 
http://svn.gna.org/viewcvs/freeciv/trunk/client/gui_interface.c?rev=27193&r1=27192&r2=27193&view=diff
==============================================================================
--- trunk/client/gui_interface.c        (original)
+++ trunk/client/gui_interface.c        Sat Dec  6 12:50:13 2014
@@ -93,11 +93,19 @@
 }
 
 /**************************************************************************
-  Call  callback
+  Call insert_client_build_info callback
 **************************************************************************/
 void insert_client_build_info(char *outbuf, size_t outlen)
 {
   funcs.insert_client_build_info(outbuf, outlen);
+}
+
+/**************************************************************************
+  Call adjust_default_options callback
+**************************************************************************/
+void adjust_default_options(void)
+{
+  funcs.adjust_default_options();
 }
 
 /**************************************************************************

Modified: trunk/client/gui_interface.h
URL: 
http://svn.gna.org/viewcvs/freeciv/trunk/client/gui_interface.h?rev=27193&r1=27192&r2=27193&view=diff
==============================================================================
--- trunk/client/gui_interface.h        (original)
+++ trunk/client/gui_interface.h        Sat Dec  6 12:50:13 2014
@@ -37,6 +37,7 @@
 
   enum gui_type (*get_gui_type)(void);
   void (*insert_client_build_info)(char *outbuf, size_t outlen);
+  void (*adjust_default_options)(void);
 
   void (*version_message)(char *vertext);
   void (*real_output_window_append)(const char *astring,

Modified: trunk/client/include/gui_main_g.h
URL: 
http://svn.gna.org/viewcvs/freeciv/trunk/client/include/gui_main_g.h?rev=27193&r1=27192&r2=27193&view=diff
==============================================================================
--- trunk/client/include/gui_main_g.h   (original)
+++ trunk/client/include/gui_main_g.h   Sat Dec  6 12:50:13 2014
@@ -45,6 +45,7 @@
 
 GUI_FUNC_PROTO(void, gui_update_font, const char *font_name,
                const char *font_value)
+GUI_FUNC_PROTO(void, adjust_default_options, void)
 
 extern const char *client_string;
 

Modified: trunk/client/options.c
URL: 
http://svn.gna.org/viewcvs/freeciv/trunk/client/options.c?rev=27193&r1=27192&r2=27193&view=diff
==============================================================================
--- trunk/client/options.c      (original)
+++ trunk/client/options.c      Sat Dec  6 12:50:13 2014
@@ -1149,6 +1149,7 @@
 static int client_option_category(const struct option *poption);
 static bool client_option_is_changeable(const struct option *poption);
 static struct option *client_option_next(const struct option *poption);
+static void client_option_adjust_defaults(void);
 
 static const struct option_common_vtable client_option_common_vtable = {
   .number = client_option_number,
@@ -5274,6 +5275,7 @@
   name = get_last_option_file_name(&allow_digital_boolean);
   if (!name) {
     log_normal(_("Didn't find the option file."));
+    client_option_adjust_defaults();
     options_fully_initialized = TRUE;
     create_default_cma_presets();
     return;
@@ -5681,3 +5683,11 @@
     }
   }
 }
+
+/****************************************************************************
+  Make dynamic adjustments to first-launch default options.
+****************************************************************************/
+static void client_option_adjust_defaults(void)
+{
+  adjust_default_options();
+}


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

Reply via email to