author | mickeyl <mickeyl> | 2005-05-03 21:53:57 (UTC) |
---|---|---|
committer | mickeyl <mickeyl> | 2005-05-03 21:53:57 (UTC) |
commit | 1daea169fcc0007727f0752251ca4546817999b7 (patch) (side-by-side diff) | |
tree | f6b03f5b44bc2debe43d8d1ba7c4c39f2cc70518 | |
parent | e9d35f23f81915ee62cb41b4ed82115826a4f9dd (diff) | |
download | opie-1daea169fcc0007727f0752251ca4546817999b7.zip opie-1daea169fcc0007727f0752251ca4546817999b7.tar.gz opie-1daea169fcc0007727f0752251ca4546817999b7.tar.bz2 |
add OAutoBoxLayout, a descendant of QBoxLayout which, depending on
Desktop-Height > Desktop-Width acts as a QHBoxLayout respectively a QVBoxLayout
-rw-r--r-- | libopie2/opieui/big-screen/big-screen.pro | 13 | ||||
-rw-r--r-- | libopie2/opieui/big-screen/olayout.cpp | 83 | ||||
-rw-r--r-- | libopie2/opieui/big-screen/olayout.h | 57 |
3 files changed, 151 insertions, 2 deletions
diff --git a/libopie2/opieui/big-screen/big-screen.pro b/libopie2/opieui/big-screen/big-screen.pro index f324d3c..b08ad5a 100644 --- a/libopie2/opieui/big-screen/big-screen.pro +++ b/libopie2/opieui/big-screen/big-screen.pro @@ -1,2 +1,11 @@ -HEADERS += big-screen/obigscreen_p.h big-screen/osplitter.h big-screen/owidgetstack.h #big-screen/omodalhelper.h -SOURCES += big-screen/osplitter.cpp big-screen/owidgetstack.cpp #big-screen/omodalhelper.cpp +HEADERS += \ + big-screen/obigscreen_p.h \ + big-screen/osplitter.h \ + big-screen/owidgetstack.h \ + big-screen/olayout.h + +SOURCES += \ + big-screen/osplitter.cpp \ + big-screen/owidgetstack.cpp \ + big-screen/olayout.cpp + diff --git a/libopie2/opieui/big-screen/olayout.cpp b/libopie2/opieui/big-screen/olayout.cpp new file mode 100644 index 0000000..bbe6f6c --- a/dev/null +++ b/libopie2/opieui/big-screen/olayout.cpp @@ -0,0 +1,83 @@ +/* + =. This file is part of the OPIE Project + .=l. Copyright (C) 2005 Michael 'Mickey' Lauer <mickey@Vanille.de> + .>+-= + _;:, .> :=|. This library is free software; you can +.> <`_, > . <= redistribute it and/or modify it under +:`=1 )Y*s>-.-- : the terms of the GNU Library General Public +.="- .-=="i, .._ License as published by the Free Software + - . .-<_> .<> Foundation; version 2 of the License. + ._= =} : + .%`+i> _;_. + .i_,=:_. -<s. This library is distributed in the hope that + + . -:. = it will be useful, but WITHOUT ANY WARRANTY; + : .. .:, . . . without even the implied warranty of + =_ + =;=|` MERCHANTABILITY or FITNESS FOR A + _.=:. : :=>`: PARTICULAR PURPOSE. See the GNU +..}^=.= = ; Library General Public License for more +++= -. .` .: details. + : = ...= . :.=- + -. .:....=;==+<; You should have received a copy of the GNU + -_. . . )=. = Library General Public License along with + -- :-=` this library; see the file COPYING.LIB. + If not, write to the Free Software Foundation, + Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. + +*/ + +#include "olayout.h" + +/* OPIE */ +#include <opie2/odebug.h> + +/* QT */ +#include <qapplication.h> + +namespace Opie { +namespace Ui { + +OAutoBoxLayout::OAutoBoxLayout( QWidget *parent, int border, int space, const char *name ) + :QBoxLayout( parent, LeftToRight, border, space, name ) +{ + fixDirection(); +} + + +OAutoBoxLayout::OAutoBoxLayout( QLayout *parentLayout, int space, const char *name ) + :QBoxLayout( parentLayout, LeftToRight, space, name ) +{ + fixDirection(); +} + + +OAutoBoxLayout::OAutoBoxLayout( int space, const char *name ) + :QBoxLayout( LeftToRight, space, name ) +{ + fixDirection(); +} + + +void OAutoBoxLayout::fixDirection() +{ + QWidget* desktop = QApplication::desktop(); + int w = desktop->width(); + int h = desktop->height(); + if ( h > w ) + { + odebug << "OAutoBoxLayout: h > w, setting orientation to TopToBottom" << oendl; + setDirection( TopToBottom ); + } +} + + +OAutoBoxLayout::~OAutoBoxLayout() +{ +} + + +}; // namespace Ui +}; // namespace Opie + + + diff --git a/libopie2/opieui/big-screen/olayout.h b/libopie2/opieui/big-screen/olayout.h new file mode 100644 index 0000000..03c8d4a --- a/dev/null +++ b/libopie2/opieui/big-screen/olayout.h @@ -0,0 +1,57 @@ +/* + =. This file is part of the OPIE Project + .=l. Copyright (C) 2005 Michael 'Mickey' Lauer <mickey@Vanille.de> + .>+-= + _;:, .> :=|. This library is free software; you can +.> <`_, > . <= redistribute it and/or modify it under +:`=1 )Y*s>-.-- : the terms of the GNU Library General Public +.="- .-=="i, .._ License as published by the Free Software + - . .-<_> .<> Foundation; version 2 of the License. + ._= =} : + .%`+i> _;_. + .i_,=:_. -<s. This library is distributed in the hope that + + . -:. = it will be useful, but WITHOUT ANY WARRANTY; + : .. .:, . . . without even the implied warranty of + =_ + =;=|` MERCHANTABILITY or FITNESS FOR A + _.=:. : :=>`: PARTICULAR PURPOSE. See the GNU +..}^=.= = ; Library General Public License for more +++= -. .` .: details. + : = ...= . :.=- + -. .:....=;==+<; You should have received a copy of the GNU + -_. . . )=. = Library General Public License along with + -- :-=` this library; see the file COPYING.LIB. + If not, write to the Free Software Foundation, + Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. + +*/ + +#ifndef OLAYOUT_H +#define OLAYOUT_H + +/* QT */ + +#include <qlayout.h> + +namespace Opie { +namespace Ui { + +class OAutoBoxLayout : public QBoxLayout +{ + Q_OBJECT +public: + OAutoBoxLayout( QWidget *parent, int border=0, int space = -1, const char *name=0 ); + OAutoBoxLayout( QLayout *parentLayout, int space = -1, const char *name=0 ); + OAutoBoxLayout( int space = -1, const char *name=0 ); + ~OAutoBoxLayout(); + +private: + void fixDirection(); +}; + +}; // namespace Ui +}; // namespace Opie + +#endif + + |