summaryrefslogtreecommitdiff
path: root/src/useragent/useragentinfo.h
diff options
context:
space:
mode:
authorAndrea Diamantini <adjam7@gmail.com>2011-02-01 17:32:57 +0100
committerAndrea Diamantini <adjam7@gmail.com>2011-02-01 17:32:57 +0100
commit7a1aaf4d1e86d45691e981e92d99a817849240fd (patch)
tree1cadcb489da6f17a81c63989a25e2076e7899e49 /src/useragent/useragentinfo.h
parentIf a cached suggestion is older than one week, it is downloaded again, allowi... (diff)
downloadrekonq-7a1aaf4d1e86d45691e981e92d99a817849240fd.tar.xz
User Agent Switcher.
This patch should implement the UA switcher ability for rekonq. This is a first implementation, but it seems working quite well. It is based on KDE UA management and should be fully compatible with konqueror's one i.e. it should be possible using alternatively rekonq and konqueror sharing the same setting. Anyway, this is a different implementation from the konqueror's one. Simpler and based on the idea of a future moving to a plugin.
Diffstat (limited to 'src/useragent/useragentinfo.h')
-rw-r--r--src/useragent/useragentinfo.h78
1 files changed, 78 insertions, 0 deletions
diff --git a/src/useragent/useragentinfo.h b/src/useragent/useragentinfo.h
new file mode 100644
index 00000000..621dcff5
--- /dev/null
+++ b/src/useragent/useragentinfo.h
@@ -0,0 +1,78 @@
+/* ============================================================
+*
+* This file is a part of the rekonq project
+*
+* Copyright (c) 2001 by Dawit Alemayehu <adawit@kde.org>
+* Copyright (C) 2010 by Andrea Diamantini <adjam7 at gmail dot 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) version 3 or any later version
+* accepted by the membership of KDE e.V. (or its successor approved
+* by the membership of KDE e.V.), which shall act as a proxy
+* defined in Section 14 of version 3 of the license.
+*
+* 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, see <http://www.gnu.org/licenses/>.
+*
+* ============================================================ */
+
+
+
+#ifndef USER_AGENT_INFO_H
+#define USER_AGENT_INFO_H
+
+
+// Rekonq Includes
+#include "rekonq_defines.h"
+
+// KDE Includes
+#include <KService>
+
+// Qt Includes
+#include <QString>
+
+
+class UserAgentInfo
+{
+public:
+ UserAgentInfo();
+
+ /**
+ * Lists all available User Agents
+ *
+ * @returns the list of the UA descriptions
+ */
+ QStringList availableUserAgents();
+
+ /**
+ * Set User Agent for host
+ *
+ * @param uaIndex the index of the UA description. @see availableUserAgents()
+ * @param host the host to se the UA
+ */
+ bool setUserAgentForHost(int uaIndex, const QString &host);
+
+ /**
+ * @returns the index of the UA set for the @p host
+ */
+ int uaIndexForHost(const QString &);
+
+private:
+ QString userAgentString(int);
+ QString userAgentName(int);
+ QString userAgentVersion(int);
+ QString userAgentDescription(int);
+
+private:
+ KService::List m_providers;
+};
+
+#endif // USER_AGENT_INFO_H