From 1daea169fcc0007727f0752251ca4546817999b7 Mon Sep 17 00:00:00 2001 From: mickeyl Date: Tue, 03 May 2005 21:53:57 +0000 Subject: add OAutoBoxLayout, a descendant of QBoxLayout which, depending on Desktop-Height > Desktop-Width acts as a QHBoxLayout respectively a QVBoxLayout --- (limited to 'libopie2/opieui/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 +           .>+-= + _;:,     .>    :=|. 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_,=:_.      -`: 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 + +/* QT */ +#include + +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 + + + -- cgit v0.9.0.2