You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tdebase/libkonq/konq_settings.h

142 lines
4.2 KiB

/* This file is part of the KDE project
Copyright (C) 1999 David Faure <faure@kde.org>
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.
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., 51 Franklin Street, Fifth Floor,
Boston, MA 02110-1301, USA.
*/
#ifndef __konq_settings_h__
#define __konq_settings_h__
class KConfig;
#include <qcolor.h>
#include <qstring.h>
#include <qfont.h>
#include <qmap.h>
#include <libkonq_export.h>
/**
* The class KonqFMSettings holds the general settings for the
* icon/tree views in konqueror/kdesktop.
* There is no 'local' (per-URL) instance of it.
* All those settings can only be changed in kcmkonq.
*
* Using this class from konqueror and from kdesktop return
* different settings, since the config file is different.
* konquerorrc, group "FMSettings", and kdesktoprc, group "FMSettings"
* The kcontrol modules handles both files, depending where
* it's called from.
*/
class LIBKONQ_EXPORT KonqFMSettings
{
protected:
/**
* @internal
* Constructs a KonqFMSettings instance from a config file.
*/
KonqFMSettings( KConfig * config );
/** Destructor. Don't delete any instance by yourself. */
virtual ~KonqFMSettings();
public:
/**
* The static instance of KonqFMSettings
*/
static KonqFMSettings * settings();
/**
* Reparse the configuration to update the already-created instances
*
* Warning : you need to call KGlobal::config()->reparseConfiguration()
* first (This is not done here so that the caller can avoid too much
* reparsing if having several classes from the same config file)
*/
static void reparseConfiguration();
// Use settings (and mimetype definition files)
// to find whether to embed a certain service type or not
// Only makes sense in konqueror.
bool shouldEmbed( const QString & serviceType ) const;
// Behaviour settings
bool wordWrapText() const { return m_bWordWrapText; }
int iconTextHeight() const { return m_iconTextHeight; }
int iconTextWidth() const;
bool underlineLink() const { return m_underlineLink; }
bool fileSizeInBytes() const { return m_fileSizeInBytes; }
bool alwaysNewWin() const { return m_alwaysNewWin; }
const QString & homeURL() const { return m_homeURL; }
bool showFileTips() const {return m_showFileTips; }
bool showPreviewsInFileTips() const;
int numFileTips() const {return m_numFileTips; }
bool renameIconDirectly() const;
// Font settings
const QFont& standardFont() const { return m_standardFont; }
// Color settings
const QColor& normalTextColor() const { return m_normalTextColor; }
const QColor& highlightedTextColor() const { return m_highlightedTextColor; }
const QColor& itemTextBackground() const { return m_itemTextBackground; }
int textPreviewIconTransparency() const { return m_iconTransparency; }
int caseSensitiveCompare( const QString& a, const QString& b ) const;
private:
static KonqFMSettings * s_pSettings;
bool m_underlineLink;
bool m_fileSizeInBytes;
bool m_alwaysNewWin;
bool m_bTreeFollow;
QMap<QString, QString> m_embedMap;
QFont m_standardFont;
QColor m_normalTextColor;
QColor m_highlightedTextColor;
QColor m_itemTextBackground;
bool m_bWordWrapText;
int m_iconTextHeight;
QString m_homeURL;
bool m_showFileTips;
int m_numFileTips;
// used for the textpreview
int m_iconTransparency;
/** Called by constructor and reparseConfiguration */
void init( KConfig * config );
struct KonqFMSettingsPrivate * d;
// There is no default constructor. Use the provided ones.
KonqFMSettings();
// No copy constructor either. What for ?
KonqFMSettings( const KonqFMSettings &);
};
#endif