[Libreoffice-commits] .: 2 commits - config_host.mk.in configure.in i18npool/Library_i18nisolang1.mk i18npool/source liblangtag/makefile.mk RepositoryExternal.mk scp2/InstallModule_ooo.mk scp2/source vcl/win
Jan Holesovsky
kendy at kemper.freedesktop.org
Fri Aug 10 07:44:46 PDT 2012
RepositoryExternal.mk | 4 +
config_host.mk.in | 1
configure.in | 50 +++++++++++-----------
i18npool/Library_i18nisolang1.mk | 5 --
i18npool/source/languagetag/languagetag.cxx | 2
liblangtag/makefile.mk | 4 -
scp2/InstallModule_ooo.mk | 1
scp2/source/ooo/directory_ooo.scp | 2
scp2/source/ooo/file_extra_ooo.scp | 2
scp2/source/ooo/file_library_ooo.scp | 4 -
vcl/win/source/gdi/salnativewidgets-luna.cxx | 61 +++++++++++++++------------
11 files changed, 76 insertions(+), 60 deletions(-)
New commits:
commit 03dbe1a97c0050365ac3820575134bace0908e2b
Author: Jan Holesovsky <kendy at suse.cz>
Date: Fri Aug 10 16:16:21 2012 +0200
Windows toolbars: Use our own theming even for vertical or bottom toolbars.
Change-Id: I4836d7f2055c4811f0e6ccdc87dc58895528b3f8
diff --git a/vcl/win/source/gdi/salnativewidgets-luna.cxx b/vcl/win/source/gdi/salnativewidgets-luna.cxx
index 065e450..8c343fe 100644
--- a/vcl/win/source/gdi/salnativewidgets-luna.cxx
+++ b/vcl/win/source/gdi/salnativewidgets-luna.cxx
@@ -457,31 +457,41 @@ void ImplConvertSpinbuttonValues( int nControlPart, const ControlState& rState,
pRect->bottom = rRect.Bottom()+1;
}
-void impl_drawAeroToolbar( HDC hDC, RECT rc )
+/// Draw an own toolbar style on Windows Vista or later, looks better there
+void impl_drawAeroToolbar( HDC hDC, RECT rc, bool bHorizontal )
{
- const long GRADIENT_HEIGHT = 32;
+ if ( rc.top == 0 && bHorizontal )
+ {
+ const long GRADIENT_HEIGHT = 32;
- long gradient_break = rc.top;
- GRADIENT_RECT g_rect[1] = { { 0, 1 } };
+ long gradient_break = rc.top;
+ GRADIENT_RECT g_rect[1] = { { 0, 1 } };
- // very slow gradient at the top (if we have space for that)
- if ( rc.bottom - rc.top > GRADIENT_HEIGHT )
- {
- gradient_break = rc.bottom - GRADIENT_HEIGHT;
+ // very slow gradient at the top (if we have space for that)
+ if ( rc.bottom - rc.top > GRADIENT_HEIGHT )
+ {
+ gradient_break = rc.bottom - GRADIENT_HEIGHT;
+
+ TRIVERTEX vert[2] = {
+ { rc.left, rc.top, 0xff00, 0xff00, 0xff00, 0xff00 },
+ { rc.right, gradient_break, 0xfa00, 0xfa00, 0xfa00, 0xff00 },
+ };
+ GradientFill( hDC, vert, 2, g_rect, 1, GRADIENT_FILL_RECT_V );
+ }
+ // gradient at the bottom
TRIVERTEX vert[2] = {
- { rc.left, rc.top, 0xff00, 0xff00, 0xff00, 0xff00 },
- { rc.right, gradient_break, 0xfa00, 0xfa00, 0xfa00, 0xff00 },
+ { rc.left, gradient_break, 0xfa00, 0xfa00, 0xfa00, 0xff00 },
+ { rc.right, rc.bottom, 0xf000, 0xf000, 0xf000, 0xff00 }
};
GradientFill( hDC, vert, 2, g_rect, 1, GRADIENT_FILL_RECT_V );
}
-
- // gradient at the bottom
- TRIVERTEX vert[2] = {
- { rc.left, gradient_break, 0xfa00, 0xfa00, 0xfa00, 0xff00 },
- { rc.right, rc.bottom, 0xf000, 0xf000, 0xf000, 0xff00 }
- };
- GradientFill( hDC, vert, 2, g_rect, 1, GRADIENT_FILL_RECT_V );
+ else
+ {
+ HBRUSH hbrush = CreateSolidBrush( RGB( 0xf0, 0xf0, 0xf0 ) );
+ FillRect( hDC, &rc, hbrush );
+ DeleteObject( hbrush );
+ }
}
sal_Bool ImplDrawNativeControl( HDC hDC, HTHEME hTheme, RECT rc,
@@ -909,17 +919,16 @@ sal_Bool ImplDrawNativeControl( HDC hDC, HTHEME hTheme, RECT rc,
{
const ToolbarValue *pValue = static_cast<const ToolbarValue*>(&aValue);
if( pValue->mbIsTopDockingArea )
- {
rc.top = 0; // extend potential gradient to cover menu bar as well
+ }
- // make it more compatible with Aero
- if( ImplGetSVData()->maNWFData.mbDockingAreaAvoidTBFrames )
- {
- impl_drawAeroToolbar( hDC, rc );
- return sal_True;
- }
- }
+ // make it more compatible with Aero
+ if( ImplGetSVData()->maNWFData.mbDockingAreaAvoidTBFrames )
+ {
+ impl_drawAeroToolbar( hDC, rc, nPart == PART_DRAW_BACKGROUND_HORZ );
+ return sal_True;
}
+
return ImplDrawTheme( hTheme, hDC, iPart, iState, rc, aCaption);
}
}
@@ -936,7 +945,7 @@ sal_Bool ImplDrawNativeControl( HDC hDC, HTHEME hTheme, RECT rc,
// make it more compatible with Aero
if( ImplGetSVData()->maNWFData.mbDockingAreaAvoidTBFrames )
{
- impl_drawAeroToolbar( hDC, rc );
+ impl_drawAeroToolbar( hDC, rc, true );
return sal_True;
}
}
commit 6a7b32b09e621364239bca6ec02c858b122e07b8
Author: Jan Holesovsky <kendy at suse.cz>
Date: Fri Aug 10 10:27:54 2012 +0200
Implement --disable-liblangtag, to be able to build without that.
Change-Id: Ic38d0282dba99efe2ecc45142a927ba3d8fa167d
diff --git a/RepositoryExternal.mk b/RepositoryExternal.mk
index 2fd6e5e..4216bf2 100644
--- a/RepositoryExternal.mk
+++ b/RepositoryExternal.mk
@@ -462,6 +462,8 @@ endef
endif # SYSTEM_GLIB
+ifeq ($(ENABLE_LIBLANGTAG),YES)
+
ifeq ($(SYSTEM_LIBLANGTAG),YES)
define gb_LinkTarget__use_liblangtag
@@ -495,6 +497,8 @@ endef
endif # SYSTEM_LIBLANGTAG
+endif # ENABLE_LIBLANGTAG
+
ifeq ($(SYSTEM_NEON),YES)
diff --git a/config_host.mk.in b/config_host.mk.in
index a3501f1..717383b 100644
--- a/config_host.mk.in
+++ b/config_host.mk.in
@@ -125,6 +125,7 @@ export ENABLE_TDE=@ENABLE_TDE@
export ENABLE_KAB=@ENABLE_KAB@
export ENABLE_KDE4=@ENABLE_KDE4@
export ENABLE_KDE=@ENABLE_KDE@
+export ENABLE_LIBLANGTAG=@ENABLE_LIBLANGTAG@
export ENABLE_LIBRSVG=@ENABLE_LIBRSVG@
export ENABLE_LOCKDOWN=@ENABLE_LOCKDOWN@
export ENABLE_LOMENUBAR=@ENABLE_LOMENUBAR@
diff --git a/configure.in b/configure.in
index 7860aa2..e060457 100644
--- a/configure.in
+++ b/configure.in
@@ -1066,6 +1066,12 @@ AC_ARG_ENABLE(winegcc,
needed for MinGW cross-compilation.]),
)
+AC_ARG_ENABLE(liblangtag,
+ AS_HELP_STRING([--disable-liblangtag],
+ [Disable use of liblangtag, and insted use an own simple
+ implementation.]),
+)
+
dnl ===================================================================
dnl Optional Packages (--with/without-)
dnl ===================================================================
@@ -11084,37 +11090,33 @@ else
fi
AC_SUBST(SYSTEM_GLIB)
-dnl Get system's glib flags and libs.
-dnl The i18npool LanguageTag wrapper uses it for liblangtag.
+dnl ===================================================================
+dnl Test whether to use liblangtag
+dnl ===================================================================
+ENABLE_LIBLANGTAG=
+SYSTEM_LIBLANGTAG=
GLIB_CFLAGS=''
GLIB_LIBS=''
-if test "$SYSTEM_GLIB" = YES; then
- PKG_CHECK_MODULES( GLIB, glib-2.0 )
-else
- case "$_os" in
- iOS|Android)
- ;;
- *)
- BUILD_TYPE="$BUILD_TYPE GLIB"
- ;;
- esac
-fi
-AC_SUBST(GLIB_CFLAGS)
-AC_SUBST(GLIB_LIBS)
+if test "$enable_liblangtag" = "yes" -o \( "$enable_liblangtag" = "" -a "$CROSS_COMPILING" != "YES" \); then
+ ENABLE_LIBLANGTAG=YES
+ dnl Get system's glib flags and libs.
+ dnl The i18npool LanguageTag wrapper uses it for liblangtag.
-dnl So far AFAIK no system has liblangtag, set this unconditionally for now.
-dnl Except for Android and iOS where we don't want liblangtag.
+ if test "$SYSTEM_GLIB" = YES; then
+ PKG_CHECK_MODULES( GLIB, glib-2.0 )
+ else
+ BUILD_TYPE="$BUILD_TYPE GLIB"
+ fi
-SYSTEM_LIBLANGTAG=NO
-case "$_os" in
-iOS|Android)
- ;;
-*)
+ dnl So far AFAIK no system has liblangtag, set this unconditionally for now.
+ dnl TODO Allow system liblangtag
BUILD_TYPE="$BUILD_TYPE LIBLANGTAG"
- ;;
-esac
+fi
+AC_SUBST(ENABLE_LIBLANGTAG)
AC_SUBST(SYSTEM_LIBLANGTAG)
+AC_SUBST(GLIB_CFLAGS)
+AC_SUBST(GLIB_LIBS)
dnl ===================================================================
diff --git a/i18npool/Library_i18nisolang1.mk b/i18npool/Library_i18nisolang1.mk
index e022680..d082503 100644
--- a/i18npool/Library_i18nisolang1.mk
+++ b/i18npool/Library_i18nisolang1.mk
@@ -54,12 +54,11 @@ $(eval $(call gb_Library_add_exception_objects,i18nisolang1,\
))
-ifneq ($(OS),ANDROID)
-ifneq ($(OS),IOS)
+ifeq ($(ENABLE_LIBLANGTAG),YES)
+$(eval $(call gb_Library_add_defs,i18nisolang1,-DENABLE_LIBLANGTAG))
$(eval $(call gb_Library_use_external,i18nisolang1,glib))
$(eval $(call gb_Library_use_external,i18nisolang1,liblangtag))
endif
-endif
$(eval $(call gb_Library_use_external,i18nisolang1,libxml2))
diff --git a/i18npool/source/languagetag/languagetag.cxx b/i18npool/source/languagetag/languagetag.cxx
index 8a60d19..4192374 100644
--- a/i18npool/source/languagetag/languagetag.cxx
+++ b/i18npool/source/languagetag/languagetag.cxx
@@ -15,7 +15,7 @@
//#define erDEBUG
-#if !defined(ANDROID) && !defined(IOS)
+#ifdef ENABLE_LIBLANGTAG
#include <liblangtag/langtag.h>
#else
/* Replacement code for LGPL phobic and Android systems.
diff --git a/liblangtag/makefile.mk b/liblangtag/makefile.mk
index f244039..6acd160 100644
--- a/liblangtag/makefile.mk
+++ b/liblangtag/makefile.mk
@@ -26,9 +26,9 @@ LIBLANGTAG_MICRO=0
# --- Files --------------------------------------------------------
-.IF "$(SYSTEM_LIBLANGTAG)" == "YES"
+.IF "$(ENABLE_LIBLANGTAG)" != "YES" || "$(SYSTEM_LIBLANGTAG)" == "YES"
@all:
- @echo "Using system liblangtag."
+ @echo "Not building liblangtag."
.ENDIF
TARFILE_NAME=liblangtag-$(LIBLANGTAG_MAJOR).$(LIBLANGTAG_MINOR)
diff --git a/scp2/InstallModule_ooo.mk b/scp2/InstallModule_ooo.mk
index 685b70e..4dff0df 100644
--- a/scp2/InstallModule_ooo.mk
+++ b/scp2/InstallModule_ooo.mk
@@ -42,6 +42,7 @@ $(eval $(call gb_InstallModule_define_if_set,scp2/ooo,\
ENABLE_KAB \
ENABLE_KDE \
ENABLE_KDE4 \
+ ENABLE_LIBLANGTAG \
ENABLE_LOMENUBAR \
ENABLE_NSPLUGIN \
ENABLE_ONLINE_UPDATE \
diff --git a/scp2/source/ooo/directory_ooo.scp b/scp2/source/ooo/directory_ooo.scp
index e001c38..063d1fe 100644
--- a/scp2/source/ooo/directory_ooo.scp
+++ b/scp2/source/ooo/directory_ooo.scp
@@ -671,7 +671,7 @@ Directory gid_Dir_Share_Autocorr
Styles = (WORKSTATION, CREATE);
End
-#ifndef SYSTEM_LIBLANGTAG
+#if defined( ENABLE_LIBLANGTAG ) && !defined( SYSTEM_LIBLANGTAG )
Directory gid_Dir_Share_Liblangtag
ParentID = gid_Brand_Dir_Share;
DosName = "liblangtag";
diff --git a/scp2/source/ooo/file_extra_ooo.scp b/scp2/source/ooo/file_extra_ooo.scp
index 903d23f..843d43b 100644
--- a/scp2/source/ooo/file_extra_ooo.scp
+++ b/scp2/source/ooo/file_extra_ooo.scp
@@ -144,7 +144,7 @@ File gid_File_Extra_Glas_Red_Zip
Name = "glas-red.zip";
End
-#ifndef SYSTEM_LIBLANGTAG
+#if defined( ENABLE_LIBLANGTAG ) && !defined( SYSTEM_LIBLANGTAG )
File gid_File_Extra_Liblangtag
Dir = gid_Dir_Share_Liblangtag;
USER_FILE_BODY;
diff --git a/scp2/source/ooo/file_library_ooo.scp b/scp2/source/ooo/file_library_ooo.scp
index eaeb58f..7197986 100644
--- a/scp2/source/ooo/file_library_ooo.scp
+++ b/scp2/source/ooo/file_library_ooo.scp
@@ -758,7 +758,7 @@ End
#endif
-#ifndef SYSTEM_LIBLANGTAG
+#if defined( ENABLE_LIBLANGTAG ) && !defined( SYSTEM_LIBLANGTAG )
File gid_File_Lib_Langtag
LIB_FILE_BODY;
@@ -774,7 +774,7 @@ File gid_File_Lib_Langtag
#endif
End
-#endif // SYSTEM_LIBLANGTAG
+#endif // ENABLE_LIBLANGTAG
#ifdef SOLAR_JAVA
More information about the Libreoffice-commits
mailing list