summaryrefslogtreecommitdiff
path: root/plugins/!NotAdopted/HistoryStats/settings.h
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/!NotAdopted/HistoryStats/settings.h')
-rw-r--r--plugins/!NotAdopted/HistoryStats/settings.h311
1 files changed, 0 insertions, 311 deletions
diff --git a/plugins/!NotAdopted/HistoryStats/settings.h b/plugins/!NotAdopted/HistoryStats/settings.h
deleted file mode 100644
index 9af8f1f30a..0000000000
--- a/plugins/!NotAdopted/HistoryStats/settings.h
+++ /dev/null
@@ -1,311 +0,0 @@
-#if !defined(HISTORYSTATS_GUARD_SETTINGS_H)
-#define HISTORYSTATS_GUARD_SETTINGS_H
-
-#include "_globals.h"
-#include "_consts.h"
-
-#include "canvas.h"
-#include "mirandasettings.h"
-
-// #include "column.h"
-class Column;
-
-#include <set>
-#include <map>
-#include <vector>
-
-class Settings
- : private pattern::NotCopyable<Settings>
-{
-public:
- // "poor man's constants"
- enum Constants {
- cNumSortLevels = 3,
- };
-
- // graphic output modes
- enum GraphicsMode {
- gmHTML = 0,
- gmPNG = 1,
- };
-
- // PNG output modes
- enum PNGMode {
- pmHTMLFallBack = 0,
- pmEnforcePNG = 1,
- pmPreferHTML = 2,
- };
-
- // meta contact handling modes
- enum MetaContactsMode {
- mcmMetaOnly = 0,
- mcmSubOnly = 1,
- mcmBoth = 2,
- mcmIgnoreMeta = 3,
- };
-
- // event merge mode
- enum MergeMode {
- mmTolerantMerge = 0,
- mmStrictMerge = 1,
- mmNoMerge = 2,
- };
-
- // sort keys
- enum SortKeyEnum {
- skFIRST = 0,
- skLAST = 26,
- skNothing = -1,
- skNick = 0,
- skProtocol = 1,
- skGroup = 2,
- skBytesOut = 3,
- skBytesIn = 4,
- skBytesTotal = 5,
- skMessagesOut = 6,
- skMessagesIn = 7,
- skMessagesTotal = 8,
- skChatsOut = 9,
- skChatsIn = 10,
- skChatsTotal = 11,
- skChatDurationTotal = 12,
- skTimeOfFirstMessage = 13,
- skTimeOfLastMessage = 14,
- skBytesOutAvg = 15,
- skBytesInAvg = 16,
- skBytesTotalAvg = 17,
- skMessagesOutAvg = 18,
- skMessagesInAvg = 19,
- skMessagesTotalAvg = 20,
- skChatsOutAvg = 21,
- skChatsInAvg = 22,
- skChatsTotalAvg = 23,
- skChatDurationMin = 24,
- skChatDurationAvg = 25,
- skChatDurationMax = 26,
- };
-
- // omit by value data
- enum OmitByValueEnum {
- obvFIRST = 0,
- obvLAST = 18,
- obvBytesIn = 0,
- obvBytesOut = 1,
- obvBytesTotal = 2,
- obvBytesInAvg = 3,
- obvBytesOutAvg = 4,
- obvBytesTotalAvg = 5,
- obvMessagesIn = 6,
- obvMessagesOut = 7,
- obvMessagesTotal = 8,
- obvMessagesInAvg = 9,
- obvMessagesOutAvg = 10,
- obvMessafesTotalAvg = 11,
- obvChatsIn = 12,
- obvChatsOut = 13,
- obvChatsTotal = 14,
- obvChatsInAvg = 15,
- obvChatsOutAvg = 16,
- obvChatsTotalAvg = 17,
- obvChatDurationTotal = 18,
- };
-
- // button IDs for columns
- enum ButtonID {
- biFilterWords = 100,
- };
-
- // filter word modes
- enum FilterWordsMode {
- fwmFIRST = 0,
- fwmLAST = 7,
- fwmWordsMatching = 0,
- fwmWordsContaining = 1,
- fwmWordsStartingWith = 2,
- fwmWordsEndingWith = 3,
- fwmMessagesMatching = 4,
- fwmMessagesContaining = 5,
- fwmMessagesStartingWith = 6,
- fwmMessagesEndingWith = 7,
- };
-
- class CharMapper
- : private pattern::NotCopyable<Settings>
- {
- private:
-#if defined(MU_WIDE)
- typedef unsigned short t_uchar;
-#else // MU_WIDE
- typedef unsigned char t_uchar;
-#endif // MU_WIDE
-#define T_NUMCHARS (1 << (sizeof(mu_text) * 8))
-
- private:
- mu_text m_CharMap[T_NUMCHARS];
-
-#undef T_NUMCHARS
-
- public:
- explicit CharMapper(const Settings& settings);
- mu_text mapChar(mu_text c) const { return m_CharMap[static_cast<t_uchar>(c)]; }
- };
-
- typedef std::set<ext::string> WordSet;
-
- class Filter
- {
- private:
- ext::string m_strID;
- ext::string m_strName;
- int m_nMode;
- WordSet m_Words;
- int m_nRef;
-
- public:
- explicit Filter(const ext::string& strID);
-
- bool operator ==(const Filter& other) const { return m_strID == other.m_strID; }
- bool operator <(const Filter& other) const { return m_strID < other.m_strID; }
-
- const ext::string& getID() const { return m_strID; }
- const ext::string& getName() const { return m_strName; }
- void setName(const ext::string& strName) { m_strName = strName; }
- int getMode() const { return m_nMode; }
- void setMode(int nMode) { m_nMode = nMode; }
- const WordSet& getWords() const { return m_Words; }
- void setWords(const WordSet& Words) { m_Words = Words; }
- void clearWords() { m_Words.clear(); }
- void addWord(const ext::string& strWord) { m_Words.insert(strWord); }
- int getRef() const { return m_nRef; }
- void setRef(int nRef) { m_nRef = nRef; }
- };
-
- typedef std::set<Filter> FilterSet;
- typedef std::set<ext::string> ColFilterSet;
-
- struct SortKey {
- int by;
- bool asc;
- };
-
-public:
- typedef std::set<ext::a::string> ProtoSet;
- typedef std::vector<Column*> ColumnList;
-
-public:
- static const mu_text* getDefaultWordDelimiters();
- static const mu_text* getDefaultStyleSheet();
- static const mu_text* getDefaultHideContactMenuProtos();
- static const mu_text* getDefaultProtosIgnore();
- static const mu_text* getDefaultColumns();
- static const mu_text* getDefaultSort();
- static const mu_text* getDefaultOutputFile();
- static const mu_text* getDefaultOutputExtraFolder();
- static const mu_text* getDefaultFilterWords();
-
-public:
- const DWORD m_VersionCurrent;
-
-private:
- // column settings
- ColumnList m_Columns;
-
-protected:
- void clearColumns();
-
-public:
- // global settings
- bool m_OnStartup;
- bool m_ShowMainMenu;
- bool m_ShowMainMenuSub;
- bool m_ShowContactMenu;
- bool m_ShowContactMenuPseudo;
- ProtoSet m_HideContactMenuProtos;
- int m_GraphicsMode;
- int m_PNGMode;
- bool m_ThreadLowPriority;
- ext::string m_PathToBrowser;
-
- // input settings
- int m_ChatSessionMinDur;
- int m_ChatSessionTimeout;
- int m_AverageMinTime;
- ext::string m_WordDelimiters;
- ProtoSet m_ProtosIgnore;
- int m_IgnoreOld;
- ext::string m_IgnoreBefore;
- ext::string m_IgnoreAfter;
- bool m_FilterRawRTF;
- bool m_FilterBBCodes;
- int m_MetaContactsMode;
- bool m_MergeContacts;
- bool m_MergeContactsGroups;
- int m_MergeMode;
-
- // output settings
- bool m_RemoveEmptyContacts;
- bool m_RemoveOutChatsZero;
- bool m_RemoveOutBytesZero;
- bool m_RemoveInChatsZero;
- bool m_RemoveInBytesZero;
- bool m_OmitContacts;
- bool m_OmitByValue;
- int m_OmitByValueData;
- int m_OmitByValueLimit;
- bool m_OmitByTime;
- int m_OmitByTimeDays;
- bool m_OmitByRank;
- int m_OmitNumOnTop;
- bool m_OmittedInTotals;
- bool m_OmittedInExtraRow;
- bool m_CalcTotals;
- bool m_TableHeader;
- int m_TableHeaderRepeat;
- bool m_TableHeaderVerbose;
- bool m_HeaderTooltips;
- bool m_HeaderTooltipsIfCustom;
- SortKey m_Sort[cNumSortLevels];
- ext::string m_OwnNick;
- bool m_OutputVariables;
- ext::string m_OutputFile;
- bool m_OutputExtraToFolder;
- ext::string m_OutputExtraFolder;
- bool m_OverwriteAlways;
- bool m_AutoOpenOptions;
- bool m_AutoOpenStartup;
- bool m_AutoOpenMenu;
-
- // shared column data
- FilterSet m_FilterWords;
-
-public:
- explicit Settings();
- explicit Settings(const Settings& other);
- Settings& operator =(const Settings& other);
- ~Settings();
-
- void assignSettings(const Settings& other) { operator =(other); }
-
- int countCol() const { return m_Columns.size(); }
- const Column* getCol(int index) const { return m_Columns[index]; }
- Column* getCol(int index) { return m_Columns[index]; }
- int addCol(Column* pCol);
- bool delCol(int index);
- bool delCol(Column* pCol);
- bool moveCol(Column* pCol, Column* pInsertAfter);
-
- bool manageFilterWords(HWND hParent, Column* pCol);
- const Filter* getFilter(const ext::string& strID) const;
-
- ext::string getOutputFile(DWORD timeStarted) const;
- ext::string getOutputPrefix(DWORD timeStarted) const;
- bool isPNGOutputActiveAndAvailable() const;
- DWORD getIgnoreBefore() const;
- DWORD getIgnoreAfter() const;
-
- void ensureConstraints();
-
- void openURL(const mu_text* szURL);
-};
-
-#endif // HISTORYSTATS_GUARD_SETTINGS_H