vcl/ios/iosinst.cxx          |    4 ++--
 vcl/source/window/dialog.cxx |   20 ++++++++++++++++++++
 2 files changed, 22 insertions(+), 2 deletions(-)

New commits:
commit 20dad90c4d8223ec55658c61303d9e92c1542103
Author:     Tor Lillqvist <t...@collabora.com>
AuthorDate: Thu Mar 14 13:40:43 2019 +0200
Commit:     Tor Lillqvist <t...@collabora.com>
CommitDate: Fri Sep 20 12:04:53 2019 +0200

    Further tweaks that affect the "tunnelled" dialogs in the iOS app
    
    The bestmaxFrameSizeForScreenSize() function is full of magic numbers.
    (There originally, in OOo times, was a comment in there that said
    "fill in holy default values brought to us by product management"
    which says it all, really.) Those numbers have little or no relevance
    on iOS. Instead, make this function return the largest square that
    will fit on the display (square so that it will fit in either
    orientation, in case the device is rotated while a tunnelled dialog is
    displayed).
    
    And as a consequence the defaut font size on iOS can be bumped up a
    bit, to 10. Now the problematic dialogs look even better.
    
    Change-Id: I043d8f9947520adb04bd952ee49f9c7844a1fa8c
    (cherry picked from commit 7d291e0593485a118f5792a0daea8d3e94d743a8)
    Reviewed-on: https://gerrit.libreoffice.org/79184
    Reviewed-by: Tor Lillqvist <t...@collabora.com>
    Tested-by: Tor Lillqvist <t...@collabora.com>

diff --git a/vcl/ios/iosinst.cxx b/vcl/ios/iosinst.cxx
index 596808a0c9f9..83b051da6b40 100644
--- a/vcl/ios/iosinst.cxx
+++ b/vcl/ios/iosinst.cxx
@@ -29,7 +29,7 @@
 #include <vcl/layout.hxx>
 #include <vcl/settings.hxx>
 
-// Horrible hack
+// Totally wrong of course but doesn't seem to harm much in the iOS app.
 static int viewWidth = 1, viewHeight = 1;
 
 class IosSalData : public GenericUnixSalData
@@ -108,7 +108,7 @@ public:
     virtual void UpdateSettings( AllSettings &rSettings ) override
     {
         // Clobber the UI fonts
-        vcl::Font aFont( OUString::fromUtf8( [[[UIFont systemFontOfSize:7] 
familyName] UTF8String] ), Size( 0, 7 ) );
+        vcl::Font aFont( OUString::fromUtf8( [[[UIFont systemFontOfSize:10] 
familyName] UTF8String] ), Size( 0, 10 ) );
 
         StyleSettings aStyleSet = rSettings.GetStyleSettings();
         aStyleSet.SetAppFont( aFont );
diff --git a/vcl/source/window/dialog.cxx b/vcl/source/window/dialog.cxx
index a90d0c022513..1f912fff6cdb 100644
--- a/vcl/source/window/dialog.cxx
+++ b/vcl/source/window/dialog.cxx
@@ -19,6 +19,12 @@
 
 #include <config_features.h>
 
+#ifdef IOS
+#include <premac.h>
+#include <UIKit/UIKit.h>
+#include <postmac.h>
+#endif
+
 #include <com/sun/star/beans/XPropertySet.hpp>
 #include <com/sun/star/util/thePathSettings.hpp>
 #include <com/sun/star/frame/theGlobalEventBroadcaster.hpp>
@@ -705,6 +711,7 @@ bool Dialog::EventNotify( NotifyEvent& rNEvt )
 //taskbar, menus, etc.
 Size bestmaxFrameSizeForScreenSize(const Size &rScreenSize)
 {
+#ifndef IOS
     long w = rScreenSize.Width();
     if (w <= 800)
         w -= 15;
@@ -721,6 +728,19 @@ Size bestmaxFrameSizeForScreenSize(const Size &rScreenSize)
 
     return Size(std::max<long>(w, 640 - 15),
                 std::max<long>(h, 480 - 50));
+#else
+    // Don't bother with ancient magic numbers of unclear relevance on 
non-desktop apps anyway. It
+    // seems that at least currently in the iOS app, this function is called 
just once per dialog,
+    // with a rScreenSize parameter of 1x1 (!). This would lead to always 
returning 625x430 which is
+    // a bit random and needlessly small on an iPad at least. We want 
something that closely will
+    // just fit on the display in either orientation.
+
+    // We ignore the rScreenSize as it will be the dummy 1x1 from iosinst.cxx 
(see "Totally wrong of course").
+    (void) rScreenSize;
+
+    const int n = std::min<CGFloat>([[UIScreen mainScreen] bounds].size.width, 
[[UIScreen mainScreen] bounds].size.height);
+    return Size(n-10, n-10);
+#endif
 }
 
 void Dialog::SetInstallLOKNotifierHdl(const Link<void*, 
vcl::ILibreOfficeKitNotifier*>& rLink)
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to