Diffstat (limited to 'core/settings/launcher/tabdialog.cpp') (more/less context) (show whitespace changes)
-rw-r--r-- | core/settings/launcher/tabdialog.cpp | 115 |
1 files changed, 108 insertions, 7 deletions
diff --git a/core/settings/launcher/tabdialog.cpp b/core/settings/launcher/tabdialog.cpp index ca48e66..86202f0 100644 --- a/core/settings/launcher/tabdialog.cpp +++ b/core/settings/launcher/tabdialog.cpp @@ -1 +1,27 @@ +/* + =. This file is part of the OPIE Project + .=l. Copyright (c) 2002 Robert Griebl <sandman@handhelds.org> + .>+-= + _;:, .> :=|. This file is free software; you can +.> <`_, > . <= redistribute it and/or modify it under +:`=1 )Y*s>-.-- : the terms of the GNU General Public +.="- .-=="i, .._ License as published by the Free Software + - . .-<_> .<> Foundation; either version 2 of the License, + ._= =} : or (at your option) any later version. + .%`+i> _;_. + .i_,=:_. -<s. This file 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 General +..}^=.= = ; Public License for more details. +++= -. .` .: + : = ...= . :.=- You should have received a copy of the GNU + -. .:....=;==+<; General Public License along with this file; + -_. . . )=. = see the file COPYING. If not, write to the + -- :-=` Free Software Foundation, Inc., + 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. + +*/ @@ -3,2 +29,3 @@ #include <qpe/config.h> +#include <qpe/applnk.h> @@ -12,2 +39,3 @@ #include <qbuttongroup.h> +#include <qpushbutton.h> @@ -16,2 +44,3 @@ #include <opie/ocolorbutton.h> +#include <opie/ofiledialog.h> @@ -41,2 +70,3 @@ public: } + private: @@ -187,2 +217,8 @@ public: { + static bool excllock = false; + + if ( excllock ) + return; + excllock = true; + unsetPalette ( ); @@ -194,2 +230,4 @@ public: setPalette ( QPalette ( cg, cg, cg )); + + excllock = false; } @@ -254,4 +292,7 @@ TabDialog::TabDialog ( const QPixmap *tabicon, const QString &tabname, TabConfig iconSizeClicked ( tc. m_view ); + m_iconcolor-> setColor ( QColor ( m_tc. m_text_color )); + iconColorClicked ( m_iconcolor-> color ( )); m_bgtype-> setButton ( tc. m_bg_type ); m_solidcolor-> setColor ( QColor ( tc. m_bg_color )); + m_bgimage = tc. m_bg_image; bgTypeClicked ( tc. m_bg_type ); @@ -304,4 +345,5 @@ QWidget *TabDialog::createBgTab ( QWidget *parent ) m_solidcolor = new OColorButton ( tab ); - connect ( m_solidcolor, SIGNAL( colorSelected ( const QColor & )), this, SLOT( colorClicked ( const QColor & ))); + connect ( m_solidcolor, SIGNAL( colorSelected ( const QColor & )), this, SLOT( bgColorClicked ( const QColor & ))); hb-> addWidget ( m_solidcolor ); + hb-> addStretch ( 10 ); @@ -309,7 +351,20 @@ QWidget *TabDialog::createBgTab ( QWidget *parent ) + hb = new QHBoxLayout ( ); + hb-> setSpacing ( 4 ); + rb = new QRadioButton( tr( "Image" ), tab, "image" ); m_bgtype-> insert ( rb, TabConfig::Image ); - gridLayout-> addWidget( rb, 3, 1 ); + hb-> addWidget( rb ); + hb-> addSpacing ( 10 ); + + m_imagebrowse = new QPushButton ( tr( "Select..." ), tab ); + connect ( m_imagebrowse, SIGNAL( clicked ( )), this, SLOT( bgImageClicked ( ))); + hb-> addWidget ( m_imagebrowse ); + hb-> addStretch ( 10 ); -// QPushButton *p; + gridLayout-> addLayout ( hb, 2, 1 ); + + QPushButton *p = new QPushButton ( tr( "Default" ), tab ); + connect ( p, SIGNAL( clicked ( )), this, SLOT( bgDefaultClicked ( ))); + gridLayout-> addWidget ( p, 3, 1 ); @@ -347,2 +402,14 @@ QWidget *TabDialog::createIconTab ( QWidget *parent ) +// vertLayout-> addSpacing ( 8 ); + +// gridLayout = new QGridLayout ( vertLayout ); + gridLayout-> addRowSpacing ( 2, 8 ); + + label = new QLabel ( tr( "Color:" ), tab ); + gridLayout-> addWidget ( label, 3, 0 ); + + m_iconcolor = new OColorButton ( tab ); + connect ( m_iconcolor, SIGNAL( colorSelected ( const QColor & )), this, SLOT( iconColorClicked ( const QColor & ))); + gridLayout-> addWidget ( m_iconcolor, 3, 1, AlignLeft ); + vertLayout-> addStretch ( 10 ); @@ -367,5 +434,7 @@ void TabDialog::bgTypeClicked ( int t ) + if ( m_bgtype-> id ( m_bgtype-> selected ( )) != t ) + m_bgtype-> setButton ( t ); + m_solidcolor-> setEnabled ( t == TabConfig::SolidColor ); -// m_imagebrowse-> setEnabled ( t == TabConfig::Image ); -// m_imagedefault-> setEnabled ( t == TabConfig::Image ); + m_imagebrowse-> setEnabled ( t == TabConfig::Image ); @@ -373,2 +442,4 @@ void TabDialog::bgTypeClicked ( int t ) s = m_solidcolor-> color ( ). name ( ); + else if ( t == TabConfig::Image ) + s = m_bgimage; @@ -377,5 +448,33 @@ void TabDialog::bgTypeClicked ( int t ) -void TabDialog::colorClicked ( const QColor &col ) +void TabDialog::bgColorClicked ( const QColor & ) +{ + bgTypeClicked ( TabConfig::SolidColor ); +} + +void TabDialog::iconColorClicked ( const QColor &col ) +{ + m_sample-> setTextColor ( col ); +} + +void TabDialog::bgImageClicked ( ) +{ + // ### use OFileSelector here ### + // this is just a quick c&p from the old appearance app + + MimeTypes types; + QStringList list; + list << "image/*"; + types. insert ( "Images", list ); + + QString file = OFileDialog::getOpenFileName ( 1, "/", QString::null, types ); + if ( !file. isEmpty ( )) { + m_bgimage = DocLnk ( file ). file ( ); + bgTypeClicked ( TabConfig::Image ); + } +} + +void TabDialog::bgDefaultClicked ( ) { - m_sample-> setBackgroundType ( TabConfig::SolidColor, col. name ( )); + m_bgimage = Resource::findPixmap ( "launcher/opie-background.jpg" ); + bgTypeClicked ( TabConfig::Image ); } @@ -387,2 +486,4 @@ void TabDialog::accept ( ) m_tc. m_bg_color = m_solidcolor-> color ( ). name ( ); + m_tc. m_bg_image = m_bgimage; + m_tc. m_text_color = m_iconcolor-> color ( ). name ( ); m_tc. m_font_family = m_fontselect-> fontFamily ( ); |