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.
142 lines
4.2 KiB
142 lines
4.2 KiB
15 years ago
|
/* 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
|