summaryrefslogtreecommitdiffstats
path: root/fbreader/src/formats/util/MiscUtil.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'fbreader/src/formats/util/MiscUtil.cpp')
-rw-r--r--fbreader/src/formats/util/MiscUtil.cpp91
1 files changed, 0 insertions, 91 deletions
diff --git a/fbreader/src/formats/util/MiscUtil.cpp b/fbreader/src/formats/util/MiscUtil.cpp
deleted file mode 100644
index 1a91406..0000000
--- a/fbreader/src/formats/util/MiscUtil.cpp
+++ /dev/null
@@ -1,91 +0,0 @@
-/*
- * Copyright (C) 2004-2012 Geometer Plus <contact@geometerplus.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.
- *
- * 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.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- * 02110-1301, USA.
- */
-
-#include <cstdlib>
-
-#include <ZLApplication.h>
-#include <ZLFile.h>
-#include <ZLStringUtil.h>
-
-#include "MiscUtil.h"
-
-FBTextKind MiscUtil::referenceType(const std::string &link) {
- std::string lowerCasedLink = link;
- bool isFileReference =
- ZLStringUtil::stringStartsWith(lowerCasedLink, "http://") ||
- ZLStringUtil::stringStartsWith(lowerCasedLink, "https://") ||
- ZLStringUtil::stringStartsWith(lowerCasedLink, "ftp://");
- if (!isFileReference) {
- return ZLStringUtil::stringStartsWith(lowerCasedLink, "mailto:") ? EXTERNAL_HYPERLINK : INTERNAL_HYPERLINK;
- }
- static const std::string FeedBooksPrefix0 = "http://feedbooks.com/book/stanza/";
- static const std::string FeedBooksPrefix1 = "http://www.feedbooks.com/book/stanza/";
- bool isBookHyperlink =
- ZLStringUtil::stringStartsWith(lowerCasedLink, FeedBooksPrefix0) ||
- ZLStringUtil::stringStartsWith(lowerCasedLink, FeedBooksPrefix1) ||
- ZLStringUtil::stringEndsWith(lowerCasedLink, ".epub") ||
- ZLStringUtil::stringEndsWith(lowerCasedLink, ".mobi") ||
- ZLStringUtil::stringEndsWith(lowerCasedLink, ".chm") ||
- ZLStringUtil::stringEndsWith(lowerCasedLink, ".fb2");
- return isBookHyperlink ? BOOK_HYPERLINK : EXTERNAL_HYPERLINK;
-}
-
-std::string MiscUtil::htmlDirectoryPrefix(const std::string &fileName) {
- ZLFile file(fileName);
- std::string shortName = file.name(false);
- std::string path = file.path();
- int index = -1;
- if ((path.length() > shortName.length()) &&
- (path[path.length() - shortName.length() - 1] == ':')) {
- index = shortName.rfind('/');
- }
- return path.substr(0, path.length() - shortName.length() + index + 1);
-}
-
-std::string MiscUtil::htmlFileName(const std::string &fileName) {
- ZLFile file(fileName);
- std::string shortName = file.name(false);
- std::string path = file.path();
- int index = -1;
- if ((path.length() > shortName.length()) &&
- (path[path.length() - shortName.length() - 1] == ':')) {
- index = shortName.rfind('/');
- }
- return path.substr(path.length() - shortName.length() + index + 1);
-}
-
-std::string MiscUtil::decodeHtmlURL(const std::string &encoded) {
- char buffer[3];
- buffer[2] = '\0';
-
- std::string decoded;
- const int len = encoded.length();
- decoded.reserve(len);
- for (int i = 0; i < len; i++) {
- if ((encoded[i] == '%') && (i < len - 2)) {
- buffer[0] = *(encoded.data() + i + 1);
- buffer[1] = *(encoded.data() + i + 2);
- decoded += (char)std::strtol(buffer, 0, 16);
- i += 2;
- } else {
- decoded += encoded[i];
- }
- }
- return decoded;
-}