diff options
author | Michele Calgaro <michele.calgaro@yahoo.it> | 2025-02-10 15:10:13 +0900 |
---|---|---|
committer | Michele Calgaro <michele.calgaro@yahoo.it> | 2025-02-13 11:44:42 +0900 |
commit | 8f8f84410cc591c85c5e83e0b3efdcda5fdbe42e (patch) | |
tree | f273a932ce048ef22ea9d9888b77ea8a2b8f3e33 /src/sq_libraryhandler.h | |
parent | 424635023ee423826de12514b2fec7834b8deb7b (diff) | |
download | ksquirrel-8f8f8441.tar.gz ksquirrel-8f8f8441.zip |
Rename 'ksquirrel' folder to 'src'
Signed-off-by: Michele Calgaro <michele.calgaro@yahoo.it>
(cherry picked from commit 203fcb8d90752b546c672c625927a136b959fcfb)
Diffstat (limited to 'src/sq_libraryhandler.h')
-rw-r--r-- | src/sq_libraryhandler.h | 128 |
1 files changed, 128 insertions, 0 deletions
diff --git a/src/sq_libraryhandler.h b/src/sq_libraryhandler.h new file mode 100644 index 0000000..8a3b25d --- /dev/null +++ b/src/sq_libraryhandler.h @@ -0,0 +1,128 @@ +/*************************************************************************** + sq_libraryhandler.h - description + ------------------- + begin : Mar 5 2004 + copyright : (C) 2004 by Baryshev Dmitry + email : ksquirrel.iv@gmail.com + ***************************************************************************/ + +/*************************************************************************** + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + * * + ***************************************************************************/ + +#ifndef SQ_LIBRARY_HANDLER_H +#define SQ_LIBRARY_HANDLER_H + +#include <tqvaluevector.h> +#include <tqdatetime.h> +#include <tqobject.h> + +#include "sq_library.h" + +class TQStringList; + +class TDEConfig; +class KURL; + +/* + * SQ_LibraryHandler is a library manager. It's the main class + * in library loading mechanizm. + */ + +class SQ_LibraryHandler : public TQObject, public TQValueVector<SQ_LIBRARY> +{ + public: + SQ_LibraryHandler(TQObject *parent = 0); + ~SQ_LibraryHandler(); + + enum Support { Maybe = 0, Yes, No }; + + /* + * Reload libraries from disk + */ + void reload(); + + void sync(); + + Support maybeSupported(const KURL &, const TQString& = TQString()) const; + + /* + * Find appropriate SQ_LIBRARY by filename. If + * not found, return NULL. + */ + SQ_LIBRARY* libraryForFile(const KURL &); + SQ_LIBRARY* libraryForFile(const TQString &); + + /* + * Find appropriate SQ_LIBRARY by its name. If + * not found, return NULL. + * + * Name is a string, returned by fmt_quickinfo() + */ + SQ_LIBRARY* libraryByName(const TQString &name); + + /* + * Does any of found libraries handle given extension ? + */ + bool knownExtension(const TQString &ext); + + /* + * Fill 'filters' with all found filters, and + * 'quick' with appropriate information. + */ + void allFilters(TQStringList &filters, TQStringList &quick) const; + + void allWritableFilters(TQStringList &filters, TQStringList &quick) const; + + /* + * Get all filters as one string. + */ + TQString allFiltersString() const; + + /* + * Filters as one string suitable for KFileDialogs. + * If r == true, return readable codecs + * If allfiles == true, append *.* to result + */ + TQString allFiltersFileDialogString(bool r, bool allfiles = true) const; + + /* + * Remove and unload all libraries. + */ + void clear(); + + /* + * Print some information on found libraries. + */ + void dump() const; + + static SQ_LibraryHandler* instance() { return m_instance; } + + private: + + void add(TQStringList &foundLibraries); + + /* + * Load libraries from disk. + */ + void load(); + /* + * Is library with name 'quick' already been handled ? + */ + bool alreadyInMap(const TQString &quick) const; + + void writeSettings(SQ_LIBRARY *lib); + void readSettings(SQ_LIBRARY *lib); + + private: + TDEConfig *tdeconf; + + static SQ_LibraryHandler *m_instance; +}; + +#endif |