1
0
mirror of https://github.com/fwbuilder/fwbuilder synced 2026-03-25 20:57:29 +01:00
fwbuilder/src/libgui/FWBSettings.h

285 lines
8.1 KiB
C++

/*
Firewall Builder
Copyright (C) 2004 NetCitadel, LLC
Author: Vadim Kurland vadim@fwbuilder.org
$Id$
This program is free software which we release under the GNU General Public
License. You may redistribute and/or modify this program under the terms
of that license as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.
This program 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.
To get a copy of the GNU General Public License, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
#ifndef __FWBSETTINGS_H_
#define __FWBSETTINGS_H_
#include <qsettings.h>
#include <qrect.h>
#include <qprinter.h>
#include <qfont.h>
#include <set>
#define SETTINGS_PATH_PREFIX "/4.1"
#include <fwbuilder/FWObject.h>
class QWidget;
/*
* startup actions. I know, enum would be better, but QComboBox
* operates with integers and it is much simpler to just store item
* numbers in preferences.
*/
#define LoadStandardObjects 0
#define LoadLastEditedFile 1
class FWBSettings : public QSettings {
public:
enum LabelColors { RED, ORANGE, YELLOW, GREEN, BLUE, PURPLE, GRAY };
enum IconSize{ SIZE25X25, SIZE16X16};
private:
QSettings *uuid_settings;
QSettings *ssh_timeout_setings_object;
bool first_run;
QString getLabelColorStr(enum LabelColors c);
public:
FWBSettings(bool testData = false);
~FWBSettings();
static QString getApplicationNameForSettings() { return "FirewallBuilder4.1"; }
void init(bool force_first_time_run=false);
void save();
bool isFirstRun() { return first_run; }
QString getWDir();
void setWDir( const QString &wd );
QString getOpenFileDir();
void setOpenFileDir( const QString &d );
QString getSaveFileDir();
void setSaveFileDir( const QString &d );
int getInfoStyle();
void setInfoStyle(int s);
QString getGroupViewMode();
void setGroupViewMode(const QString &mode);
QString getGroupViewColumns();
void setGroupViewColumns(const QString &mode);
int getStartupAction();
void setStartupAction(int sa);
int getExpandTree();
void setExpandTree(int sa);
int getMergeLibs();
void setMergeLibs(int sa);
bool getObjTooltips();
void setObjTooltips(bool f);
int getTooltipDelay();
void setTooltipDelay(int v);
QString getLastEdited();
void setLastEdited(const QString &file);
int getInfoWindowHeight();
void setInfoWindowHeight(int h);
bool getRCSLogState();
void setRCSLogState(bool f);
int getRCSFilePreviewStyle();
void setRCSFilePreviewStyle(int style);
int getRCSFilePreviewSortColumn();
void setRCSFilePreviewSortColumn(int col);
bool getAutoSave();
void setAutoSave(bool f);
bool getCompression();
void setCompression(bool f);
bool getDontSaveStdLib();
void setDontSaveStdLib( bool f);
bool hasKey(const QString &attribute);
QString getStr(const QString &attribute);
void setStr(const QString &attribute, const QString &val);
bool getBool(const QString &attribute);
void setBool(const QString &attribute, bool f );
int getInt(const QString &attribute);
void setInt(const QString &attribute, int v );
QStringList getList(const QString &attribute);
void setList(const QString &attribute, QStringList &list);
bool haveGeometry(QWidget *w);
void restoreGeometry(QWidget *w);
void restoreGeometry(QWidget *w, const QRect &defaultGeometry);
void saveGeometry(QWidget *w);
bool haveScreenPosition(const QString &wname);
QPoint getScreenPosition(const QString &wname);
void saveScreenPosition(const QString &wname, const QPoint &p);
QString getLabelColor(enum LabelColors c);
void setLabelColor(enum LabelColors c,const QString &s);
QString getLabelText(enum LabelColors c);
void setLabelText(enum LabelColors c, const QString &s);
QString getSSHPath();
void setSSHPath(const QString &path);
QString getSCPPath();
void setSCPPath(const QString &path);
bool haveSSHTimeout();
int getSSHTimeout();
void setSSHTimeout(int value_sec);
void getPrinterOptions(QPrinter *printer,int &pageWidth,int &pageHeight);
void setPrinterOptions(QPrinter *printer,int pageWidth,int pageHeight);
QString getAppGUID();
bool isReminderAboutStandardLibSuppressed();
void suppressReminderAboutStandardLib(bool f);
enum IconSize getIconsInRulesSize();
void setIconsInRulesSize(enum IconSize size);
bool getShowIconsInRules();
void setShowIconsInRules(bool showIcons);
bool getShowDirectionText();
void setShowDirectionText(bool showText);
QFont getRulesFont();
void setRulesFont(const QFont &font);
QFont getTreeFont();
void setTreeFont(const QFont &font);
QFont getUiFont();
void setUiFont(const QFont &font);
QFont getCompilerOutputFont();
void setCompilerOutputFont(const QFont &font);
bool getClipComment();
void setClipComment(bool);
bool getCheckUpdates();
void setCheckUpdates(bool);
uint getTimeOfLastUpdateAvailableWarning();
void setTimeOfLastUpdateAvailableWarning(uint v);
uint getTimeOfLastAnnouncement(const QString &announcement);
void setTimeOfLastAnnouncement(const QString &announcement, uint v);
QString getTargetStatus(const QString &platform, const QString &default_stat);
void setTargetStatus(const QString &plaform, const QString &status);
QString getCheckUpdatesProxy();
void setCheckUpdatesProxy(const QString &proxy_line);
void getExpandedObjectIds(const QString &filename,
const QString &lib,
std::set<int> &ids);
void setExpandedObjectIds(const QString &filename,
const QString &lib,
const std::set<int> &ids);
int getTreeSectionSize(const QString &filename,
const QString &lib,
int section_index);
void setTreeSectionSize(const QString &filename,
const QString &lib,
int section_index,
int size);
int getVisibleRuleSetId(const QString &filename,
const QString &lib);
void setVisibleRuleSet(const QString &filename,
const QString &lib,
libfwbuilder::FWObject *ruleset);
void getCollapsedRuleGroups(const QString &filename,
const QString &firewall,
const QString &ruleset,
QStringList &collapsed_groups);
void setCollapsedRuleGroups(const QString &filename,
const QString &firewall,
const QString &ruleset,
const QStringList &collapsed_groups);
QStringList getRecentFiles();
void setRecentFiles(QStringList &list);
QString getNewFirewallPlatform();
void setNewFirewallPlatform(const QString &platform);
QString getNewClusterFailoverProtocol();
void setNewClusterFailoverProtocol(const QString &protocol);
bool getShowUndoPanel();
void setShowUndoPanel(bool);
QByteArray getUserWorkflowFlags();
void setUserWorkflowFlags(const QByteArray &);
bool getIconsWithText();
void setIconsWithText(bool f);
int getABTestingGroup();
void setABTestingGroup(int n);
int getStartsCounter();
bool isIntroDialogEnabled();
void setIntroDialogEnabled(bool f);
bool customTemplatesEnabled();
void setCustomTemplatesEnabled(bool f);
private:
QFont getFontByType(const char*type);
};
#endif