summaryrefslogtreecommitdiff
authorsandman <sandman>2002-11-24 18:21:41 (UTC)
committer sandman <sandman>2002-11-24 18:21:41 (UTC)
commit89bf0723eefc1e66a104fe8135f1a5389f021442 (patch) (unidiff)
treea7db1ba8fa34d8226fe9baa9e7c488c86ad95445
parentee62e73ddc29a5015c4a3e569be90dbfce4652c6 (diff)
downloadopie-89bf0723eefc1e66a104fe8135f1a5389f021442.zip
opie-89bf0723eefc1e66a104fe8135f1a5389f021442.tar.gz
opie-89bf0723eefc1e66a104fe8135f1a5389f021442.tar.bz2
- LD_PRELOADing of libpreload.so in case the user selected [x] Force style
settings in appearance - Some code to NOT style some applications, based on the binary name (also selectable in appearance)
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--library/global.cpp16
-rw-r--r--library/qpeapplication.cpp60
2 files changed, 72 insertions, 4 deletions
diff --git a/library/global.cpp b/library/global.cpp
index 9b3c51e..42c2729 100644
--- a/library/global.cpp
+++ b/library/global.cpp
@@ -606,2 +606,14 @@ void Global::invoke(const QString &c)
606 { 606 {
607 char *oldpre = ::getenv ( "LD_PRELOAD" );
608
609 extern bool opie_block_style;
610
611 QString newpre = QPEApplication::qpeDir ( ) + "/lib/libpreload.so";
612 if ( opie_block_style && QFile::exists ( newpre )) {
613 if ( oldpre && oldpre [0] )
614 newpre = newpre + ":" + oldpre;
615 ::setenv ( "LD_PRELOAD", newpre. latin1( ), 1 );
616 qDebug ( "\nPRELOADING\n" );
617 }
618
607 if ( !::vfork() ) { 619 if ( !::vfork() ) {
@@ -615,2 +627,6 @@ void Global::invoke(const QString &c)
615 } 627 }
628 if ( oldpre )
629 ::setenv ( "LD_PRELOAD", oldpre, 1 );
630 else
631 ::unsetenv ( "LD_PRELOAD" );
616 } 632 }
diff --git a/library/qpeapplication.cpp b/library/qpeapplication.cpp
index efa65bc..a54fb20 100644
--- a/library/qpeapplication.cpp
+++ b/library/qpeapplication.cpp
@@ -900,2 +900,5 @@ void QPEApplication::setDefaultRotation( int r )
900 900
901// exported to libpreload.so
902bool opie_block_style = false;
903
901/*! 904/*!
@@ -906,8 +909,42 @@ void QPEApplication::applyStyle()
906 Config config( "qpe" ); 909 Config config( "qpe" );
907
908 config.setGroup( "Appearance" ); 910 config.setGroup( "Appearance" );
909 911
912 // don't block ourselves ...
913 opie_block_style = false;
914
915
916 static QString appname;
917
918 if ( appname. isNull ( )) {
919 char src [32];
920 char dst [PATH_MAX + 1];
921 ::sprintf ( src, "/proc/%d/exe", ::getpid ( ));
922 int l = ::readlink ( src, dst, PATH_MAX );
923 if ( l > 0 ) {
924 dst [l] = 0;
925 const char *b = ::strrchr ( dst, '/' );
926 appname = ( b ? b + 1 : dst );
927 }
928 else
929 appname = "";
930 }
931
932
933 QStringList ex = config. readListEntry ( "NoStyle", ';' );
934 int nostyle = 0;
935 for ( QStringList::Iterator it = ex. begin ( ); it != ex. end ( ); ++it ) {
936 if ( QRegExp (( *it ). mid ( 1 ), false, true ). find ( appname, 0 ) >= 0 ) {
937 nostyle = ( *it ). left ( 1 ). toInt ( 0, 32 );
938 break;
939 }
940 }
941
910 // Widget style 942 // Widget style
911 QString style = config.readEntry( "Style", "Light" ); 943 QString style = config.readEntry( "Style", "Light" );
912 internalSetStyle( style ); 944
945 // don't set a custom style
946 if ( nostyle & 0x01 )
947 style = "Light";
948
949 internalSetStyle ( style );
913 950
@@ -935,2 +972,7 @@ void QPEApplication::applyStyle()
935 QString dec = config.readEntry( "Decoration", "Qtopia" ); 972 QString dec = config.readEntry( "Decoration", "Qtopia" );
973
974 // don't set a custom deco
975 if ( nostyle & 0x04 )
976 dec = "";
977
936 if ( dec != d->decorationName ) { 978 if ( dec != d->decorationName ) {
@@ -943,3 +985,13 @@ void QPEApplication::applyStyle()
943 int fs = config.readNumEntry( "FontSize", font().pointSize() ); 985 int fs = config.readNumEntry( "FontSize", font().pointSize() );
986
987 // don't set a custom font
988 if ( nostyle & 0x02 ) {
989 ff = "Helvetica";
990 fs = 10;
991 }
992
944 setFont( QFont(ff, fs) ); 993 setFont( QFont(ff, fs) );
994
995 // revert to global blocking policy ...
996 opie_block_style = config. readBoolEntry ( "ForceStyle", false );
945} 997}
@@ -1325,3 +1377,3 @@ void QPEApplication::internalSetStyle( const QString &style )
1325 1377
1326 setStyle ( new QPEStyle ( )); 1378 setStyle ( new LightStyle ( ));
1327 } 1379 }