From f82173157bdba4fa99afde9cc999bfe9b511ce07 Mon Sep 17 00:00:00 2001 From: mickeyl Date: Tue, 11 Jan 2005 16:46:50 +0000 Subject: number of icon columns now also customizable through LauncherSettings --- (limited to 'core/settings') diff --git a/core/settings/launcher/tabconfig.h b/core/settings/launcher/tabconfig.h index 84ba073..7844673 100644 --- a/core/settings/launcher/tabconfig.h +++ b/core/settings/launcher/tabconfig.h @@ -43,6 +43,7 @@ struct TabConfig { QString m_last_directory; QString m_bg_image; QString m_bg_color; + int m_iconcolumns; QString m_text_color; bool m_font_use; QString m_font_family; diff --git a/core/settings/launcher/tabdialog.cpp b/core/settings/launcher/tabdialog.cpp index cef92d9..abe310f 100644 --- a/core/settings/launcher/tabdialog.cpp +++ b/core/settings/launcher/tabdialog.cpp @@ -51,6 +51,7 @@ #include #include #include +#include using namespace Opie::Ui; @@ -80,6 +81,8 @@ private: QPixmap m_large, m_small; }; +//FIXME: Why not derive SampleView from LauncherView ??? + class SampleView : public QIconView { public: SampleView ( QWidget *parent = 0, const char *name = 0 ) : QIconView ( parent, name ) @@ -194,6 +197,7 @@ public: QIconView::setItemTextPos( pos ); } + //FIXME: Add per-tab column handling from launcherview.cpp void calculateGrid ( ItemTextPos pos ) { int dw = QApplication::desktop ( )-> width ( ); @@ -416,18 +420,23 @@ QWidget *TabDialog::createIconTab ( QWidget *parent ) rb = new QRadioButton( tr( "Large" ), tab, "iconlarge" ); m_iconsize-> insert ( rb, TabConfig::Icon ); gridLayout-> addWidget( rb, 1, 1 ); - connect ( m_iconsize, SIGNAL( clicked(int)), this, SLOT( iconSizeClicked(int))); - gridLayout-> addRowSpacing ( 2, 8 ); label = new QLabel ( tr( "Color:" ), tab ); gridLayout-> addWidget ( label, 3, 0 ); + gridLayout-> addRowSpacing ( 3, 8 ); m_iconcolor = new Opie::OColorButton ( tab, QColor ( m_tc. m_text_color ) ); connect ( m_iconcolor, SIGNAL( colorSelected(const QColor&)), this, SLOT( iconColorClicked(const QColor&))); gridLayout-> addWidget ( m_iconcolor, 3, 1, AlignLeft ); + label = new QLabel( tr( "Columns:" ), tab ); + gridLayout->addWidget( label, 4, 0 ); + m_iconcolumns = new QSpinBox( 0, 10, 1, tab, "iconspinbox" ); + m_iconcolumns->setSpecialValueText( tr( "Automatic" ) ); + gridLayout->addWidget( m_iconcolumns, 4, 1, AlignLeft ); + vertLayout-> addStretch ( 10 ); if ( m_tc.m_last_directory == QString::null ) { @@ -506,6 +515,7 @@ void TabDialog::accept ( ) m_tc. m_view = (TabConfig::ViewMode) m_iconsize-> id ( m_iconsize-> selected ( )); m_tc. m_bg_type = (TabConfig::BackgroundType) m_bgtype-> id ( m_bgtype-> selected ( )); m_tc. m_bg_color = m_solidcolor-> color ( ). name ( ); + m_tc. m_iconcolumns = m_iconcolumns-> value( ); m_tc. m_bg_image = m_bgimage; m_tc. m_text_color = m_iconcolor-> color ( ). name ( ); diff --git a/core/settings/launcher/tabdialog.h b/core/settings/launcher/tabdialog.h index 46b7ae9..9381237 100644 --- a/core/settings/launcher/tabdialog.h +++ b/core/settings/launcher/tabdialog.h @@ -1,6 +1,6 @@ /*                =. This file is part of the OPIE Project -             .=l. Copyright (c) 2002 Robert Griebl +             .=l. Copyright (c) 2002 Robert Griebl            .>+-=  _;:,     .>    :=|. This file is free software; you can .> <`_,   >  .   <= redistribute it and/or modify it under @@ -15,7 +15,7 @@     =_        +     =;=|` 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 @@ -37,13 +37,14 @@ class SampleView; namespace Opie {class OColorButton;} class QPushButton; class QCheckBox; +class QSpinBox; class TabDialog : public QDialog { Q_OBJECT public: TabDialog ( const QPixmap *tabicon, const QString &tabname, TabConfig &cfg, QWidget *parent = 0, const char *dname = 0, bool modal = false, WFlags = 0 ); - virtual ~TabDialog ( ); + virtual ~TabDialog ( ); public slots: virtual void accept ( ); @@ -61,19 +62,20 @@ private: QWidget *createBgTab ( QWidget *parent ); QWidget *createFontTab ( QWidget *parent ); QWidget *createIconTab ( QWidget *parent ); - - + + private: SampleView *m_sample; QButtonGroup *m_iconsize; Opie::Ui::OFontSelector *m_fontselect; Opie::OColorButton *m_solidcolor; Opie::OColorButton *m_iconcolor; + QSpinBox *m_iconcolumns; QPushButton *m_imagebrowse; - QString m_bgimage; + QString m_bgimage; QButtonGroup *m_bgtype; QCheckBox *m_fontuse; - + TabConfig &m_tc; }; diff --git a/core/settings/launcher/tabssettings.cpp b/core/settings/launcher/tabssettings.cpp index 5ac625b..ab64331 100644 --- a/core/settings/launcher/tabssettings.cpp +++ b/core/settings/launcher/tabssettings.cpp @@ -135,6 +135,7 @@ void TabsSettings::readTabSettings ( Config &cfg ) global_def. m_bg_type = TabConfig::Ruled; global_def. m_bg_image = "launcher/opie-background"; global_def. m_bg_color = colorGroup ( ). color ( QColorGroup::Base ). name ( ); + global_def. m_iconcolumns = 0; // automatic global_def. m_text_color = colorGroup ( ). color ( QColorGroup::Text ). name ( ); global_def. m_font_use = false; global_def. m_font_family = font ( ). family ( ); @@ -168,6 +169,7 @@ void TabsSettings::readTabSettings ( Config &cfg ) tc. m_bg_image = cfg. readEntry ( "BackgroundImage", tc. m_bg_image ); tc. m_last_directory = cfg2.readEntry( "DefaultDir", "" ); tc. m_bg_color = cfg. readEntry ( "BackgroundColor", tc. m_bg_color ); + tc. m_iconcolumns = cfg. readNumEntry ( "Columns", tc. m_iconcolumns ); tc. m_text_color = cfg. readEntry ( "TextColor", tc. m_text_color ); QStringList f = cfg. readListEntry ( "Font", ',' ); if ( f. count ( ) == 4 ) { @@ -230,6 +232,7 @@ void TabsSettings::accept ( ) cfg. writeEntry ( "BackgroundImage", tc. m_bg_image ); cfg. writeEntry ( "BackgroundColor", tc. m_bg_color ); + cfg. writeEntry ( "Columns", tc. m_iconcolumns ); cfg. writeEntry ( "TextColor", tc. m_text_color ); cfg2. writeEntry ( "DefaultDir", tc.m_last_directory ); -- cgit v0.9.0.2