summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Swift/QtUI/ChatSnippet.h8
-rw-r--r--Swift/QtUI/MessageSnippet.cpp10
-rw-r--r--Swift/QtUI/QtChatTheme.cpp12
-rw-r--r--Swift/QtUI/QtChatTheme.h3
-rw-r--r--Swift/QtUI/QtChatWindowFactory.cpp2
-rw-r--r--Swift/QtUI/QtSwift.cpp4
-rw-r--r--Swift/QtUI/QtWebKitChatView.cpp171
-rw-r--r--Swift/QtUI/QtWebKitChatView.h3
-rw-r--r--Swift/QtUI/SConscript14
-rw-r--r--Swift/QtUI/Swift.qrc2
-rw-r--r--Swift/QtUI/SystemMessageSnippet.cpp6
-rw-r--r--Swift/QtUI/SystemMessageSnippet.h2
-rwxr-xr-xSwift/resources/icons/delivery-failure.pngbin0 -> 439 bytes
-rwxr-xr-xSwift/resources/icons/delivery-successful.pngbin0 -> 447 bytes
-rwxr-xr-xSwift/resources/themes/Default/Demo.html91
-rwxr-xr-xSwift/resources/themes/Default/Header.html5
-rw-r--r--[-rwxr-xr-x]Swift/resources/themes/Default/Incoming/Content.html46
-rwxr-xr-xSwift/resources/themes/Default/Incoming/Context.html30
-rw-r--r--[-rwxr-xr-x]Swift/resources/themes/Default/Incoming/NextContent.html25
-rwxr-xr-xSwift/resources/themes/Default/Incoming/NextContext.html7
-rw-r--r--Swift/resources/themes/Default/Incoming/buddy_icon.pngbin12047 -> 0 bytes
-rw-r--r--Swift/resources/themes/Default/LICENSE.txt15
-rw-r--r--[-rwxr-xr-x]Swift/resources/themes/Default/Outgoing/Content.html46
-rwxr-xr-xSwift/resources/themes/Default/Outgoing/Context.html31
-rw-r--r--[-rwxr-xr-x]Swift/resources/themes/Default/Outgoing/NextContent.html23
-rwxr-xr-xSwift/resources/themes/Default/Outgoing/NextContext.html6
-rw-r--r--Swift/resources/themes/Default/Outgoing/buddy_icon.pngbin12047 -> 0 bytes
-rw-r--r--[-rwxr-xr-x]Swift/resources/themes/Default/Status.html41
-rw-r--r--[-rwxr-xr-x]Swift/resources/themes/Default/Template.html358
-rw-r--r--Swift/resources/themes/Default/Unread.html1
-rw-r--r--Swift/resources/themes/Default/Variants/Blue on Green Alternating.css7
-rw-r--r--Swift/resources/themes/Default/Variants/Blue on Green No Names Alt.css2
-rw-r--r--Swift/resources/themes/Default/Variants/Blue on Green No Names.css2
-rw-r--r--Swift/resources/themes/Default/Variants/Blue on Green.css90
-rw-r--r--Swift/resources/themes/Default/Variants/Blue on Red Alternating.css7
-rw-r--r--Swift/resources/themes/Default/Variants/Blue on Red No Names Alt.css2
-rw-r--r--Swift/resources/themes/Default/Variants/Blue on Red No Names.css2
-rw-r--r--Swift/resources/themes/Default/Variants/Blue on Red.css89
-rw-r--r--Swift/resources/themes/Default/Variants/Blue on Steel Alternating.css7
-rw-r--r--Swift/resources/themes/Default/Variants/Blue on Steel No Names Alt.css2
-rw-r--r--Swift/resources/themes/Default/Variants/Blue on Steel No Names.css2
-rw-r--r--Swift/resources/themes/Default/Variants/Blue on Steel.css91
-rw-r--r--Swift/resources/themes/Default/Variants/Blue on Yellow Alternating.css7
-rw-r--r--Swift/resources/themes/Default/Variants/Blue on Yellow No Names Alt.css2
-rw-r--r--Swift/resources/themes/Default/Variants/Blue on Yellow No Names.css2
-rw-r--r--Swift/resources/themes/Default/Variants/Blue on Yellow.css91
-rw-r--r--Swift/resources/themes/Default/Variants/Green on Blue Alternating.css7
-rw-r--r--Swift/resources/themes/Default/Variants/Green on Blue No Names Alt.css2
-rw-r--r--Swift/resources/themes/Default/Variants/Green on Blue No Names.css2
-rw-r--r--Swift/resources/themes/Default/Variants/Green on Blue.css91
-rw-r--r--Swift/resources/themes/Default/Variants/Green on Red Alternating.css7
-rw-r--r--Swift/resources/themes/Default/Variants/Green on Red No Names Alt.css2
-rw-r--r--Swift/resources/themes/Default/Variants/Green on Red No Names.css2
-rw-r--r--Swift/resources/themes/Default/Variants/Green on Red.css91
-rw-r--r--Swift/resources/themes/Default/Variants/Green on Steel Alternating.css7
-rw-r--r--Swift/resources/themes/Default/Variants/Green on Steel No Names Alt.css2
-rw-r--r--Swift/resources/themes/Default/Variants/Green on Steel No Names.css2
-rw-r--r--Swift/resources/themes/Default/Variants/Green on Steel.css91
-rw-r--r--Swift/resources/themes/Default/Variants/Green on Yellow Alternating.css7
-rw-r--r--Swift/resources/themes/Default/Variants/Green on Yellow No Names Alt.css2
-rw-r--r--Swift/resources/themes/Default/Variants/Green on Yellow No Names.css2
-rw-r--r--Swift/resources/themes/Default/Variants/Green on Yellow.css91
-rw-r--r--Swift/resources/themes/Default/Variants/Red on Blue Alternating.css7
-rw-r--r--Swift/resources/themes/Default/Variants/Red on Blue No Names Alt.css2
-rw-r--r--Swift/resources/themes/Default/Variants/Red on Blue No Names.css2
-rw-r--r--Swift/resources/themes/Default/Variants/Red on Blue.css90
-rw-r--r--Swift/resources/themes/Default/Variants/Red on Green Alternating.css7
-rw-r--r--Swift/resources/themes/Default/Variants/Red on Green No Names Alt.css2
-rw-r--r--Swift/resources/themes/Default/Variants/Red on Green No Names.css2
-rw-r--r--Swift/resources/themes/Default/Variants/Red on Green.css95
-rw-r--r--Swift/resources/themes/Default/Variants/Red on Steel Alternating.css7
-rw-r--r--Swift/resources/themes/Default/Variants/Red on Steel No Names Alt.css2
-rw-r--r--Swift/resources/themes/Default/Variants/Red on Steel No Names.css2
-rw-r--r--Swift/resources/themes/Default/Variants/Red on Steel.css93
-rw-r--r--Swift/resources/themes/Default/Variants/Red on Yellow Alternating.css7
-rw-r--r--Swift/resources/themes/Default/Variants/Red on Yellow No Names Alt.css2
-rw-r--r--Swift/resources/themes/Default/Variants/Red on Yellow No Names.css2
-rw-r--r--Swift/resources/themes/Default/Variants/Red on Yellow.css91
-rw-r--r--Swift/resources/themes/Default/Variants/Steel on Blue Alternating.css7
-rw-r--r--Swift/resources/themes/Default/Variants/Steel on Blue No Names Alt.css2
-rw-r--r--Swift/resources/themes/Default/Variants/Steel on Blue No Names.css2
-rw-r--r--Swift/resources/themes/Default/Variants/Steel on Blue.css92
-rw-r--r--Swift/resources/themes/Default/Variants/Steel on Green Alternating.css7
-rw-r--r--Swift/resources/themes/Default/Variants/Steel on Green No Names Alt.css2
-rw-r--r--Swift/resources/themes/Default/Variants/Steel on Green No Names.css2
-rw-r--r--Swift/resources/themes/Default/Variants/Steel on Green.css97
-rw-r--r--Swift/resources/themes/Default/Variants/Steel on Red Alternating.css7
-rw-r--r--Swift/resources/themes/Default/Variants/Steel on Red No Names Alt.css2
-rw-r--r--Swift/resources/themes/Default/Variants/Steel on Red No Names.css2
-rw-r--r--Swift/resources/themes/Default/Variants/Steel on Red.css89
-rw-r--r--Swift/resources/themes/Default/Variants/Steel on Yellow Alternating.css7
-rw-r--r--Swift/resources/themes/Default/Variants/Steel on Yellow No Names Alt.css2
-rw-r--r--Swift/resources/themes/Default/Variants/Steel on Yellow No Names.css2
-rw-r--r--Swift/resources/themes/Default/Variants/Steel on Yellow.css92
-rw-r--r--Swift/resources/themes/Default/Variants/Yellow on Blue Alternating.css7
-rw-r--r--Swift/resources/themes/Default/Variants/Yellow on Blue No Names Alt.css2
-rw-r--r--Swift/resources/themes/Default/Variants/Yellow on Blue No Names.css2
-rw-r--r--Swift/resources/themes/Default/Variants/Yellow on Blue.css91
-rw-r--r--Swift/resources/themes/Default/Variants/Yellow on Green Alternating.css7
-rw-r--r--Swift/resources/themes/Default/Variants/Yellow on Green No Names Alt.css2
-rw-r--r--Swift/resources/themes/Default/Variants/Yellow on Green No Names.css2
-rw-r--r--Swift/resources/themes/Default/Variants/Yellow on Green.css96
-rw-r--r--Swift/resources/themes/Default/Variants/Yellow on Red Alternating.css7
-rw-r--r--Swift/resources/themes/Default/Variants/Yellow on Red No Names Alt.css2
-rw-r--r--Swift/resources/themes/Default/Variants/Yellow on Red No Names.css2
-rw-r--r--Swift/resources/themes/Default/Variants/Yellow on Red.css91
-rw-r--r--Swift/resources/themes/Default/Variants/Yellow on Steel Alternating.css7
-rw-r--r--Swift/resources/themes/Default/Variants/Yellow on Steel No Names Alt.css2
-rw-r--r--Swift/resources/themes/Default/Variants/Yellow on Steel No Names.css2
-rw-r--r--Swift/resources/themes/Default/Variants/Yellow on Steel.css91
-rw-r--r--Swift/resources/themes/Default/alternating.css16
-rwxr-xr-xSwift/resources/themes/Default/images/DummyContact.pngbin754 -> 0 bytes
-rwxr-xr-xSwift/resources/themes/Default/images/alert.pngbin5305 -> 0 bytes
-rwxr-xr-xSwift/resources/themes/Default/images/blueBackground.gifbin198 -> 0 bytes
-rw-r--r--Swift/resources/themes/Default/images/blueBackground.pngbin165 -> 0 bytes
-rwxr-xr-xSwift/resources/themes/Default/images/blueCurves.gifbin3320 -> 0 bytes
-rw-r--r--Swift/resources/themes/Default/images/blueCurves.pngbin1218 -> 0 bytes
-rwxr-xr-xSwift/resources/themes/Default/images/blueIndicator.gifbin536 -> 0 bytes
-rw-r--r--Swift/resources/themes/Default/images/blueIndicator.pngbin370 -> 0 bytes
-rw-r--r--Swift/resources/themes/Default/images/blueIndicator2.pngbin380 -> 0 bytes
-rw-r--r--Swift/resources/themes/Default/images/blueIndicatorAlt.gifbin526 -> 0 bytes
-rwxr-xr-xSwift/resources/themes/Default/images/greenBackground.gifbin117 -> 0 bytes
-rw-r--r--Swift/resources/themes/Default/images/greenBackground.pngbin166 -> 0 bytes
-rwxr-xr-xSwift/resources/themes/Default/images/greenCurves.gifbin3259 -> 0 bytes
-rw-r--r--Swift/resources/themes/Default/images/greenCurves.pngbin1234 -> 0 bytes
-rwxr-xr-xSwift/resources/themes/Default/images/greenIndicator.gifbin530 -> 0 bytes
-rw-r--r--Swift/resources/themes/Default/images/greenIndicator.pngbin334 -> 0 bytes
-rw-r--r--Swift/resources/themes/Default/images/greenIndicator2.pngbin345 -> 0 bytes
-rw-r--r--Swift/resources/themes/Default/images/greenIndicatorAlt.gifbin529 -> 0 bytes
-rwxr-xr-xSwift/resources/themes/Default/images/redBackground.gifbin117 -> 0 bytes
-rw-r--r--Swift/resources/themes/Default/images/redBackground.pngbin160 -> 0 bytes
-rwxr-xr-xSwift/resources/themes/Default/images/redCurves.gifbin2527 -> 0 bytes
-rw-r--r--Swift/resources/themes/Default/images/redCurves.pngbin1194 -> 0 bytes
-rwxr-xr-xSwift/resources/themes/Default/images/redIndicator.gifbin527 -> 0 bytes
-rw-r--r--Swift/resources/themes/Default/images/redIndicator.pngbin410 -> 0 bytes
-rw-r--r--Swift/resources/themes/Default/images/redIndicator2.pngbin402 -> 0 bytes
-rw-r--r--Swift/resources/themes/Default/images/redIndicatorAlt.gifbin527 -> 0 bytes
-rwxr-xr-xSwift/resources/themes/Default/images/silverBackground.gifbin117 -> 0 bytes
-rwxr-xr-xSwift/resources/themes/Default/images/silverCurves.gifbin2778 -> 0 bytes
-rwxr-xr-xSwift/resources/themes/Default/images/steelBackground.gifbin122 -> 0 bytes
-rw-r--r--Swift/resources/themes/Default/images/steelBackground.pngbin156 -> 0 bytes
-rwxr-xr-xSwift/resources/themes/Default/images/steelCurves.gifbin2169 -> 0 bytes
-rw-r--r--Swift/resources/themes/Default/images/steelCurves.pngbin1179 -> 0 bytes
-rwxr-xr-xSwift/resources/themes/Default/images/steelHeading.jpgbin321 -> 0 bytes
-rwxr-xr-xSwift/resources/themes/Default/images/steelIndicator.gifbin328 -> 0 bytes
-rw-r--r--Swift/resources/themes/Default/images/steelIndicator.pngbin375 -> 0 bytes
-rw-r--r--Swift/resources/themes/Default/images/steelIndicator2.pngbin392 -> 0 bytes
-rw-r--r--Swift/resources/themes/Default/images/steelIndicatorAlt.gifbin326 -> 0 bytes
-rwxr-xr-xSwift/resources/themes/Default/images/typing-left.pngbin1702 -> 0 bytes
-rwxr-xr-xSwift/resources/themes/Default/images/typing-right.pngbin1710 -> 0 bytes
-rwxr-xr-xSwift/resources/themes/Default/images/yellowBackground.gifbin117 -> 0 bytes
-rw-r--r--Swift/resources/themes/Default/images/yellowBackground.pngbin162 -> 0 bytes
-rwxr-xr-xSwift/resources/themes/Default/images/yellowCurves.gifbin3202 -> 0 bytes
-rw-r--r--Swift/resources/themes/Default/images/yellowCurves.pngbin1200 -> 0 bytes
-rwxr-xr-xSwift/resources/themes/Default/images/yellowHeading.jpgbin1447 -> 0 bytes
-rwxr-xr-xSwift/resources/themes/Default/images/yellowIndicator.gifbin532 -> 0 bytes
-rw-r--r--Swift/resources/themes/Default/images/yellowIndicator.pngbin380 -> 0 bytes
-rw-r--r--Swift/resources/themes/Default/images/yellowIndicator2.pngbin400 -> 0 bytes
-rw-r--r--Swift/resources/themes/Default/images/yellowIndicatorAlt.gifbin931 -> 0 bytes
-rw-r--r--Swift/resources/themes/Default/images/yellowTL.pngbin326 -> 0 bytes
-rw-r--r--Swift/resources/themes/Default/images/yellowTR.pngbin364 -> 0 bytes
-rwxr-xr-xSwift/resources/themes/Default/incoming_icon.pngbin23643 -> 0 bytes
-rw-r--r--[-rwxr-xr-x]Swift/resources/themes/Default/main.css388
-rw-r--r--Swift/resources/themes/Default/noname.css3
-rwxr-xr-xSwift/resources/themes/Default/outgoing_icon.pngbin23643 -> 0 bytes
165 files changed, 340 insertions, 3082 deletions
diff --git a/Swift/QtUI/ChatSnippet.h b/Swift/QtUI/ChatSnippet.h
index 5d94917..7c99928 100644
--- a/Swift/QtUI/ChatSnippet.h
+++ b/Swift/QtUI/ChatSnippet.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2010-2013 Isode Limited.
+ * Copyright (c) 2010-2016 Isode Limited.
* All rights reserved.
* See the COPYING file for more information.
*/
@@ -8,13 +8,14 @@
#include <boost/shared_ptr.hpp>
-#include <QString>
#include <QDateTime>
+#include <QString>
#include <Swiften/Base/foreach.h>
+
#include <Swift/Controllers/UIInterfaces/ChatWindow.h>
-#include <Swift/QtUI/QtChatTheme.h>
+#include <Swift/QtUI/QtChatTheme.h>
namespace Swift {
class ChatSnippet {
@@ -44,6 +45,7 @@ namespace Swift {
result.replace("%time%", "%&#37;time&#37;");
result.replace("%shortTime%", "%&#37;shortTime&#37;");
result.replace("%userIconPath%", "&#37;userIconPath&#37;");
+ result.replace("%id%", "&#37;id&#37;");
result.replace("\t", " ");
result.replace(" ", "&nbsp;&nbsp;");
return result;
diff --git a/Swift/QtUI/MessageSnippet.cpp b/Swift/QtUI/MessageSnippet.cpp
index f76212e..c2969cf 100644
--- a/Swift/QtUI/MessageSnippet.cpp
+++ b/Swift/QtUI/MessageSnippet.cpp
@@ -1,12 +1,11 @@
/*
- * Copyright (c) 2010-2013 Isode Limited.
+ * Copyright (c) 2010-2016 Isode Limited.
* All rights reserved.
* See the COPYING file for more information.
*/
-#include "MessageSnippet.h"
+#include <Swift/QtUI/MessageSnippet.h>
-#include <QtDebug>
#include <QDateTime>
namespace Swift {
@@ -33,13 +32,12 @@ MessageSnippet::MessageSnippet(const QString& message, const QString& sender, co
}
content_.replace("%direction%", directionToCSS(direction));
- content_.replace("%message%", wrapResizable("<span class='swift_message'>" + escape(message) + "</span><span class='swift_ack'></span><span class='swift_receipt'></span>"));
+ content_.replace("%message%", wrapResizable("<span class='swift_message'>" + escape(message) + "</span>"));
content_.replace("%wrapped_sender%", wrapResizable(escape(sender)));
content_.replace("%sender%", escape(sender));
content_.replace("%time%", wrapResizable("<span class='swift_time'>" + timeToEscapedString(time) + "</span>"));
content_.replace("%userIconPath%", escape(iconURI));
- content_ = QString("<div id='%1'>%2</div>").arg(id).arg(content_);
- content_ = "<span class='date" + time.date().toString(Qt::ISODate) + "'>" + content_ + "</span>";
+ content_.replace("%id%", id);
}
MessageSnippet::~MessageSnippet() {
diff --git a/Swift/QtUI/QtChatTheme.cpp b/Swift/QtUI/QtChatTheme.cpp
index 5a9bc44..a7628d9 100644
--- a/Swift/QtUI/QtChatTheme.cpp
+++ b/Swift/QtUI/QtChatTheme.cpp
@@ -1,20 +1,19 @@
/*
- * Copyright (c) 2010 Isode Limited..
+ * Copyright (c) 2010-2016 Isode Limited.
* All rights reserved.
* See the COPYING file for more information.
*/
-#include "QtChatTheme.h"
+#include <Swift/QtUI/QtChatTheme.h>
#include <QFile>
-#include <qdebug.h>
namespace Swift {
/**
* Load Adium themes, as http://trac.adium.im/wiki/CreatingMessageStyles
*/
-QtChatTheme::QtChatTheme(const QString& themePath) : qrc_(themePath.isEmpty()), themePath_(qrc_ ? ":/themes/Default/" : themePath + "/Contents/Resources/") {
+QtChatTheme::QtChatTheme(const QString& themePath) : qrc_(themePath[0] == ':'), themePath_(qrc_ ? themePath : themePath + "/Contents/Resources/") {
QString fileNames[EndMarker];
fileNames[Header] = "Header.html";
fileNames[Footer] = "Footer.html";
@@ -32,6 +31,7 @@ QtChatTheme::QtChatTheme(const QString& themePath) : qrc_(themePath.isEmpty()),
fileNames[OutgoingNextContext] = "Outgoing/NextContext.html";
fileNames[Template] = "Template.html";
fileNames[MainCSS] = "main.css";
+ fileNames[Unread] = "Unread.html";
fileNames[TemplateDefault] = ":/themes/Template.html";
for (int i = 0; i < EndMarker; i++) {
QString source;
@@ -64,4 +64,8 @@ QString QtChatTheme::getBase() const {
return qrc_ ? "qrc" + themePath_ : "file://" + themePath_;
}
+QString QtChatTheme::getUnread() const {
+ return fileContents_[Unread].isEmpty() ? "<hr/>" : fileContents_[Unread];
+}
+
}
diff --git a/Swift/QtUI/QtChatTheme.h b/Swift/QtUI/QtChatTheme.h
index bc5b0be..69e052c 100644
--- a/Swift/QtUI/QtChatTheme.h
+++ b/Swift/QtUI/QtChatTheme.h
@@ -30,9 +30,10 @@ namespace Swift {
QString getTemplate() const {return fileContents_[Template];}
QString getMainCSS() const {return fileContents_[MainCSS];}
QString getBase() const;
+ QString getUnread() const;
private:
- enum files {Header = 0, Footer, Content, Status, Topic, FileTransferRequest, IncomingContent, IncomingNextContent, IncomingContext, IncomingNextContext, OutgoingContent, OutgoingNextContent, OutgoingContext, OutgoingNextContext, Template, MainCSS, TemplateDefault, EndMarker};
+ enum files {Header = 0, Footer, Content, Status, Topic, FileTransferRequest, IncomingContent, IncomingNextContent, IncomingContext, IncomingNextContext, OutgoingContent, OutgoingNextContent, OutgoingContext, OutgoingNextContext, Template, MainCSS, TemplateDefault, Unread, /*Must be last!*/EndMarker};
bool qrc_;
QList<QString> fileContents_;
QString themePath_;
diff --git a/Swift/QtUI/QtChatWindowFactory.cpp b/Swift/QtUI/QtChatWindowFactory.cpp
index b9ba89d..d0c1801 100644
--- a/Swift/QtUI/QtChatWindowFactory.cpp
+++ b/Swift/QtUI/QtChatWindowFactory.cpp
@@ -49,7 +49,7 @@ ChatWindow* QtChatWindowFactory::createChatWindow(const JID &contact,UIEventStre
theme_ = new QtChatTheme(themePath_);
if (theme_->getIncomingContent().isEmpty()) {
delete theme_;
- theme_ = new QtChatTheme(""); /* Use the inbuilt theme */
+ theme_ = new QtChatTheme(":/themes/Default/"); /* Use the inbuilt theme */
}
}
diff --git a/Swift/QtUI/QtSwift.cpp b/Swift/QtUI/QtSwift.cpp
index 756f530..6444e0c 100644
--- a/Swift/QtUI/QtSwift.cpp
+++ b/Swift/QtUI/QtSwift.cpp
@@ -80,7 +80,7 @@ namespace Swift{
#if defined(SWIFTEN_PLATFORM_MACOSX)
//#define SWIFT_APPCAST_URL "http://swift.im/appcast/swift-mac-dev.xml"
-#else
+#else
//#define SWIFT_APPCAST_URL ""
#endif
@@ -184,7 +184,7 @@ QtSwift::QtSwift(const po::variables_map& options) : networkFactories_(&clientMa
applicationPathProvider_ = new PlatformApplicationPathProvider(SWIFT_APPLICATION_NAME);
storagesFactory_ = new FileStoragesFactory(applicationPathProvider_->getDataDir(), networkFactories_.getCryptoProvider());
certificateStorageFactory_ = new CertificateFileStorageFactory(applicationPathProvider_->getDataDir(), tlsFactories_.getCertificateFactory(), networkFactories_.getCryptoProvider());
- chatWindowFactory_ = new QtChatWindowFactory(splitter_, settingsHierachy_, qtSettings_, tabs_, "", emoticons);
+ chatWindowFactory_ = new QtChatWindowFactory(splitter_, settingsHierachy_, qtSettings_, tabs_, ":/themes/Default/", emoticons);
soundPlayer_ = new QtSoundPlayer(applicationPathProvider_);
// Ugly, because the dock depends on the tray, but the temporary
diff --git a/Swift/QtUI/QtWebKitChatView.cpp b/Swift/QtUI/QtWebKitChatView.cpp
index b543e34..2a8fed6 100644
--- a/Swift/QtUI/QtWebKitChatView.cpp
+++ b/Swift/QtUI/QtWebKitChatView.cpp
@@ -127,107 +127,47 @@ void QtWebKitChatView::addMessageBottom(boost::shared_ptr<ChatSnippet> snippet)
}
}
-void QtWebKitChatView::addMessageTop(boost::shared_ptr<ChatSnippet> snippet) {
- // save scrollbar maximum value
- if (!topMessageAdded_) {
- scrollBarMaximum_ = webPage_->mainFrame()->scrollBarMaximum(Qt::Vertical);
- }
- topMessageAdded_ = true;
-
- QWebElement continuationElement = firstElement_.findFirst("#insert");
-
- bool insert = snippet->getAppendToPrevious();
- bool fallback = continuationElement.isNull();
-
- boost::shared_ptr<ChatSnippet> newSnippet = (insert && fallback) ? snippet->getContinuationFallbackSnippet() : snippet;
- QWebElement newElement = snippetToDOM(newSnippet);
-
- if (insert && !fallback) {
- Q_ASSERT(!continuationElement.isNull());
- continuationElement.replace(newElement);
- } else {
- continuationElement.removeFromDocument();
- topInsertPoint_.prependOutside(newElement);
- }
-
- firstElement_ = newElement;
-
- if (lastElement_.isNull()) {
- lastElement_ = firstElement_;
- }
-
- if (fontSizeSteps_ != 0) {
- double size = 1.0 + 0.2 * fontSizeSteps_;
- QString sizeString(QString().setNum(size, 'g', 3) + "em");
- const QWebElementCollection spans = firstElement_.findAll("span.swift_resizable");
- Q_FOREACH (QWebElement span, spans) {
- span.setStyleProperty("font-size", sizeString);
- }
- }
-}
-
-QWebElement QtWebKitChatView::snippetToDOM(boost::shared_ptr<ChatSnippet> snippet) {
- QWebElement newElement = newInsertPoint_.clone();
- newElement.setInnerXml(snippet->getContent());
- Q_ASSERT(!newElement.isNull());
- return newElement;
+void QtWebKitChatView::addMessageTop(boost::shared_ptr<ChatSnippet> /* snippet */) {
+ // TODO: Implement this in a sensible manner later.
+ assert(false);
}
void QtWebKitChatView::addToDOM(boost::shared_ptr<ChatSnippet> snippet) {
//qDebug() << snippet->getContent();
rememberScrolledToBottom();
- bool insert = snippet->getAppendToPrevious();
- QWebElement continuationElement = lastElement_.findFirst("#insert");
- bool fallback = insert && continuationElement.isNull();
- boost::shared_ptr<ChatSnippet> newSnippet = (insert && fallback) ? snippet->getContinuationFallbackSnippet() : snippet;
- QWebElement newElement = snippetToDOM(newSnippet);
- if (insert && !fallback) {
- Q_ASSERT(!continuationElement.isNull());
- continuationElement.replace(newElement);
- } else {
- continuationElement.removeFromDocument();
- newInsertPoint_.prependOutside(newElement);
- }
- lastElement_ = newElement;
- if (fontSizeSteps_ != 0) {
- double size = 1.0 + 0.2 * fontSizeSteps_;
- QString sizeString(QString().setNum(size, 'g', 3) + "em");
- const QWebElementCollection spans = lastElement_.findAll("span.swift_resizable");
- Q_FOREACH (QWebElement span, spans) {
- span.setStyleProperty("font-size", sizeString);
- }
- }
+
+ QWebElement insertElement = webPage_->mainFrame()->findFirstElement("#insert");
+ assert(!insertElement.isNull());
+ insertElement.prependOutside(snippet->getContent());
+
//qDebug() << "-----------------";
//qDebug() << webPage_->mainFrame()->toHtml();
}
void QtWebKitChatView::addLastSeenLine() {
- /* if the line is added we should break the snippet */
- insertingLastLine_ = true;
- if (lineSeparator_.isNull()) {
- lineSeparator_ = newInsertPoint_.clone();
- lineSeparator_.setInnerXml(QString("<hr/>"));
- newInsertPoint_.prependOutside(lineSeparator_);
- }
- else {
- QWebElement lineSeparatorC = lineSeparator_.clone();
- lineSeparatorC.removeFromDocument();
+ // Remove a potentially existing unread bar.
+ QWebElement existingUnreadBar = webPage_->mainFrame()->findFirstElement("div.unread");
+ if (!existingUnreadBar.isNull()) {
+ existingUnreadBar.removeFromDocument();
}
- newInsertPoint_.prependOutside(lineSeparator_);
+
+ QWebElement insertElement = webPage_->mainFrame()->findFirstElement("#insert");
+ insertElement.prependOutside(theme_->getUnread());
}
void QtWebKitChatView::replaceLastMessage(const QString& newMessage, const ChatWindow::TimestampBehaviour timestampBehaviour) {
- assert(viewReady_);
rememberScrolledToBottom();
- assert(!lastElement_.isNull());
- QWebElement replace = lastElement_.findFirst("span.swift_message");
- assert(!replace.isNull());
- QString old = lastElement_.toOuterXml();
- replace.setInnerXml(ChatSnippet::escape(newMessage));
+ QWebElement insertElement = webPage_->mainFrame()->findFirstElement("#insert");
+ assert(!insertElement.isNull());
+
+ QWebElement lastMessageElement = insertElement.previousSibling();
+ QWebElement messageChild = lastMessageElement.findFirst("span.swift_message");
+ assert(!messageChild.isNull());
+ messageChild.setInnerXml(ChatSnippet::escape(newMessage));
if (timestampBehaviour == ChatWindow::UpdateTimestamp) {
- replace = lastElement_.findFirst("span.swift_time");
- assert(!replace.isNull());
- replace.setInnerXml(ChatSnippet::timeToEscapedString(QDateTime::currentDateTime()));
+ QWebElement timeChild = lastMessageElement.findFirst("span.swift_time");
+ assert(!timeChild.isNull());
+ timeChild.setInnerXml(ChatSnippet::timeToEscapedString(QDateTime::currentDateTime()));
}
}
@@ -362,11 +302,11 @@ void QtWebKitChatView::resizeFont(int fontSizeSteps) {
fontSizeSteps_ = fontSizeSteps;
double size = 1.0 + 0.2 * fontSizeSteps_;
QString sizeString(QString().setNum(size, 'g', 3) + "em");
- //qDebug() << "Setting to " << sizeString;
- const QWebElementCollection spans = document_.findAll("span.swift_resizable");
- Q_FOREACH (QWebElement span, spans) {
- span.setStyleProperty("font-size", sizeString);
- }
+
+ // Set the font size in the <style id="text-resize-style"> element in the theme <head> element.
+ QWebElement resizableTextStyle = document_.findFirst("style#text-resize-style");
+ assert(!resizableTextStyle.isNull());
+ resizableTextStyle.setInnerXml(QString("span.swift_resizable { font-size: %1;}").arg(sizeString));
webView_->setFontSizeIsMinimal(size == 1.0);
}
@@ -396,13 +336,6 @@ void QtWebKitChatView::resetView() {
}
document_ = webPage_->mainFrame()->documentElement();
- resetTopInsertPoint();
- QWebElement chatElement = document_.findFirst("#Chat");
- newInsertPoint_ = chatElement.clone();
- newInsertPoint_.setOuterXml("<div id='swift_insert'/>");
- chatElement.appendInside(newInsertPoint_);
- Q_ASSERT(!newInsertPoint_.isNull());
-
scrollToBottom();
connect(webPage_->mainFrame(), SIGNAL(contentsSizeChanged(const QSize&)), this, SLOT(handleFrameSizeChanged()), Qt::UniqueConnection);
@@ -534,25 +467,17 @@ int QtWebKitChatView::getSnippetPositionByDate(const QDate& date) {
}
void QtWebKitChatView::resetTopInsertPoint() {
- QWebElement continuationElement = firstElement_.findFirst("#insert");
- continuationElement.removeFromDocument();
- firstElement_ = QWebElement();
-
- topInsertPoint_.removeFromDocument();
- QWebElement chatElement = document_.findFirst("#Chat");
- topInsertPoint_ = chatElement.clone();
- topInsertPoint_.setOuterXml("<div id='swift_insert'/>");
- chatElement.prependInside(topInsertPoint_);
+ // TODO: Implement or refactor later.
+ assert(false);
}
-
std::string QtWebKitChatView::addMessage(
- const ChatWindow::ChatMessage& message,
- const std::string& senderName,
- bool senderIsSelf,
- boost::shared_ptr<SecurityLabel> label,
- const std::string& avatarPath,
- const boost::posix_time::ptime& time,
+ const ChatWindow::ChatMessage& message,
+ const std::string& senderName,
+ bool senderIsSelf,
+ boost::shared_ptr<SecurityLabel> label,
+ const std::string& avatarPath,
+ const boost::posix_time::ptime& time,
const HighlightAction& highlight) {
return addMessage(chatMessageToHTML(message), senderName, senderIsSelf, label, avatarPath, "", time, highlight, ChatSnippet::getDirection(message));
}
@@ -609,13 +534,13 @@ QString QtWebKitChatView::chatMessageToHTML(const ChatWindow::ChatMessage& messa
}
std::string QtWebKitChatView::addMessage(
- const QString& message,
- const std::string& senderName,
- bool senderIsSelf,
- boost::shared_ptr<SecurityLabel> label,
- const std::string& avatarPath,
- const QString& style,
- const boost::posix_time::ptime& time,
+ const QString& message,
+ const std::string& senderName,
+ bool senderIsSelf,
+ boost::shared_ptr<SecurityLabel> label,
+ const std::string& avatarPath,
+ const QString& style,
+ const boost::posix_time::ptime& time,
const HighlightAction& highlight,
ChatSnippet::Direction direction) {
@@ -669,7 +594,7 @@ QString QtWebKitChatView::buildChatWindowButton(const QString& name, const QStri
std::string QtWebKitChatView::addFileTransfer(const std::string& senderName, bool senderIsSelf, const std::string& filename, const boost::uintmax_t sizeInBytes, const std::string& description) {
SWIFT_LOG(debug) << "addFileTransfer" << std::endl;
QString ft_id = QString("ft%1").arg(P2QSTRING(boost::lexical_cast<std::string>(idCounter_++)));
-
+
QString actionText;
QString htmlString;
QString formattedFileSize = P2QSTRING(formatSize(sizeInBytes));
@@ -1015,13 +940,13 @@ void QtWebKitChatView::setMessageReceiptState(const std::string& id, ChatWindow:
QString xml;
switch (state) {
case ChatWindow::ReceiptReceived:
- xml = "<img src='qrc:/icons/check.png' title='" + tr("The receipt for this message has been received.") + "'/>";
+ xml = "<img src='qrc:/icons/delivery-successful.png' title='" + tr("The receipt for this message has been received.") + "'/>";
break;
case ChatWindow::ReceiptRequested:
xml = "<img src='qrc:/icons/warn.png' title='" + tr("The receipt for this message has not yet been received. The recipient(s) might not have received this message.") + "'/>";
break;
case ChatWindow::ReceiptFailed:
- xml = "<img src='qrc:/icons/error.png' title='" + tr("Failed to transmit message to the receipient(s).") + "'/>";
+ xml = "<img src='qrc:/icons/delivery-failure.png' title='" + tr("Failed to transmit message to the receipient(s).") + "'/>";
}
setReceiptXML(P2QSTRING(id), xml);
}
diff --git a/Swift/QtUI/QtWebKitChatView.h b/Swift/QtUI/QtWebKitChatView.h
index 173a05b..b4141d4 100644
--- a/Swift/QtUI/QtWebKitChatView.h
+++ b/Swift/QtUI/QtWebKitChatView.h
@@ -163,7 +163,6 @@ namespace Swift {
void headerEncode();
void messageEncode();
void addToDOM(boost::shared_ptr<ChatSnippet> snippet);
- QWebElement snippetToDOM(boost::shared_ptr<ChatSnippet> snippet);
QtChatWindow* window_;
UIEventStream* eventStream_;
@@ -175,8 +174,6 @@ namespace Swift {
QWebPage* webPage_;
int fontSizeSteps_;
QtChatTheme* theme_;
- QWebElement newInsertPoint_;
- QWebElement topInsertPoint_;
QWebElement lineSeparator_;
QWebElement lastElement_;
QWebElement firstElement_;
diff --git a/Swift/QtUI/SConscript b/Swift/QtUI/SConscript
index 3ff11a8..c3a1760 100644
--- a/Swift/QtUI/SConscript
+++ b/Swift/QtUI/SConscript
@@ -1,15 +1,15 @@
import os, datetime, re, time
import Version
-def generateDefaultTheme(dir) :
+def generateQRCTheme(dir, prefix) :
sourceDir = dir.abspath
result = "<!-- WARNING: This file is automatically generated. Any changes will be overwritten. -->\n"
result += "<RCC version =\"1.0\">"
- result += "<qresource prefix=\"/themes/Default\">"
+ result += "<qresource prefix=\"/themes/" + prefix + "\">"
for (path, dirs, files) in os.walk(sourceDir) :
for file in files :
filePath = os.path.join(path,file)
- result += "<file alias=\"%(alias)s\">%(path)s</file>" % {
+ result += "<file alias=\"%(alias)s\">%(path)s</file>" % {
"alias": filePath[len(sourceDir)+1:],
"path": filePath
}
@@ -84,7 +84,7 @@ if env["PLATFORM"] == "win32" :
if env["debug"] and not env["optimize"]:
myenv.Append(LINKFLAGS = ["/NODEFAULTLIB:msvcrt"])
-myenv.WriteVal("DefaultTheme.qrc", myenv.Value(generateDefaultTheme(myenv.Dir("#/Swift/resources/themes/Default"))))
+myenv.WriteVal("DefaultTheme.qrc", myenv.Value(generateQRCTheme(myenv.Dir("#/Swift/resources/themes/Default"), "Default")))
sources = [
"main.cpp",
@@ -357,7 +357,7 @@ if env["PLATFORM"] == "win32" :
nsis_translation_uninstall_script += "delete $INSTDIR\\translations\\swift_" + lang + ".qm\n"
myenv.WriteVal("../Packaging/nsis/translations-install.nsh", myenv.Value(nsis_translation_install_script))
myenv.WriteVal("../Packaging/nsis/translations-uninstall.nsh", myenv.Value(nsis_translation_uninstall_script))
-
+
################################################################################
@@ -412,11 +412,11 @@ if env["PLATFORM"] == "win32" :
resources = commonResources,
qtplugins = qtplugins,
qtlibs = qtlibs,
- qtversion = qt_version)
+ qtversion = qt_version)
if env["DIST"] :
#myenv.Append(NSIS_OPTIONS = [
- # "/DmsvccRedistributableDir=\"" + env["vcredist"] + "\"",
+ # "/DmsvccRedistributableDir=\"" + env["vcredist"] + "\"",
# "/DbuildVersion=" + myenv["SWIFT_VERSION"]
# ])
#myenv.Nsis("../Packaging/nsis/swift.nsi")
diff --git a/Swift/QtUI/Swift.qrc b/Swift/QtUI/Swift.qrc
index 0478d76..829f6c8 100644
--- a/Swift/QtUI/Swift.qrc
+++ b/Swift/QtUI/Swift.qrc
@@ -43,5 +43,7 @@
<file alias="icons/star-unchecked.png">../resources/icons/star-unchecked2.png</file>
<file alias="icons/zzz.png">../resources/icons/zzz.png</file>
<file alias="icons/stop.png">../resources/icons/stop.png</file>
+ <file alias="icons/delivery-successful.png">../resources/icons/delivery-successful.png</file>
+ <file alias="icons/delivery-failure.png">../resources/icons/delivery-failure.png</file>
</qresource>
</RCC>
diff --git a/Swift/QtUI/SystemMessageSnippet.cpp b/Swift/QtUI/SystemMessageSnippet.cpp
index e752e32..87c17b1 100644
--- a/Swift/QtUI/SystemMessageSnippet.cpp
+++ b/Swift/QtUI/SystemMessageSnippet.cpp
@@ -1,10 +1,10 @@
/*
- * Copyright (c) 2010-2015 Isode Limited.
+ * Copyright (c) 2010-2016 Isode Limited.
* All rights reserved.
* See the COPYING file for more information.
*/
-#include "SystemMessageSnippet.h"
+#include <Swift/QtUI/SystemMessageSnippet.h>
#include <QDateTime>
@@ -20,7 +20,7 @@ SystemMessageSnippet::SystemMessageSnippet(const QString& message, const QDateTi
content_.replace("%message%", wrapResizable("<span class='swift_message'>" + escape(message) + "</span>"));
content_.replace("%shortTime%", wrapResizable(escape(time.toString("h:mm"))));
content_.replace("%time%", wrapResizable("<span class='swift_time'>" + timeToEscapedString(time) + "</span>"));
- content_ = QString("<div id='%1'>%2</div>").arg(id).arg(content_);
+ content_.replace("%id%", id);
}
SystemMessageSnippet::~SystemMessageSnippet() {
diff --git a/Swift/QtUI/SystemMessageSnippet.h b/Swift/QtUI/SystemMessageSnippet.h
index 8cd68c2..a1f2682 100644
--- a/Swift/QtUI/SystemMessageSnippet.h
+++ b/Swift/QtUI/SystemMessageSnippet.h
@@ -8,7 +8,7 @@
#include <QString>
-#include "ChatSnippet.h"
+#include <Swift/QtUI/ChatSnippet.h>
class QDateTime;
diff --git a/Swift/resources/icons/delivery-failure.png b/Swift/resources/icons/delivery-failure.png
new file mode 100755
index 0000000..fb59276
--- /dev/null
+++ b/Swift/resources/icons/delivery-failure.png
Binary files differ
diff --git a/Swift/resources/icons/delivery-successful.png b/Swift/resources/icons/delivery-successful.png
new file mode 100755
index 0000000..b8ad992
--- /dev/null
+++ b/Swift/resources/icons/delivery-successful.png
Binary files differ
diff --git a/Swift/resources/themes/Default/Demo.html b/Swift/resources/themes/Default/Demo.html
deleted file mode 100755
index cbe5bb1..0000000
--- a/Swift/resources/themes/Default/Demo.html
+++ /dev/null
@@ -1,91 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
- <meta http-equiv="content-type" content="text/html; charset=utf-8" />
- <base href="%@">
-
- <style id="mainStyle" type="text/css" media="screen,print"> @import url( "Variants/Yellow on Green Alternating.css" ); </style>
-
-</head>
-<body style="background-color:#e3e3e3">
-<div id="Chat">
- <div class="chatItem incomingItem">
- <table width="100%">
- <tr>
- <td valign="top">
- <img src="images/DummyContact.png" alt="%sender%" title="%sender%" class="avatar">
- <div class="myBubble">
- <div class="indicator"></div>
- <table class="tableBubble" cellspacing="0" cellpadding="0">
- <tr>
- <td class="tl"></td>
- <td class="tr"></td>
- </tr>
- <tr>
- <td class="message">
- Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
- <div class="timeStamp">Torrey @ 4:55 am</div>
- <div class="followUp"></div>
- <div>
- testing 1
- <div class="timeStamp">%sender% @ %time%</div>
- </div>
- <div class="followUp"></div>
- <div class="followUpMessage">
- testing 123
- <div class="timeStamp">%sender% @ %time%</div>
- </div>
- <div class="followUp"></div>
- <div>
- testing 123testing 123testing 123testing 123
- testing 123testing 123
- <div class="timeStamp">%sender% @ %time%</div>
- </div>
- </td>
- <td class="messageRight"></td>
- </tr>
- <tr>
- <td class="bl"></td>
- <td class="br"></td>
- </tr>
- </table>
- </div>
- </td>
- </tr>
- </table>
- </div>
-
- <div class="chatItem outgoingItem">
- <table width="100%">
- <tr>
- <td valign="top">
- <img src="images/DummyContact.png" alt="%sender%" title="%sender%" class="avatar">
- <div class="myBubble">
- <div class="indicator"></div>
- <table class="tableBubble" cellspacing="0" cellpadding="0">
- <tr>
- <td class="tl"></td>
- <td class="tr"></td>
- </tr>
- <tr>
- <td class="message">
- Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Maecenas aliquam sapien. Aliquam sed erat eu leo bibendum egestas. Praesent mauris. Quisque eget eros et neque scelerisque convallis. Phasellus orci. Pellentesque interdum tellus a erat. venenatis tristique.
- <div class="timeStamp">Torrey @ 4:55 am</div>
- </td>
- <td class="messageRight"></td>
- </tr>
- <tr>
- <td class="bl"></td>
- <td class="br"></td>
- </tr>
- </table>
- </div>
- </td>
- </tr>
- </table>
- </div>
-
-</div>
-</body>
-</html>
diff --git a/Swift/resources/themes/Default/Header.html b/Swift/resources/themes/Default/Header.html
deleted file mode 100755
index 960dfa1..0000000
--- a/Swift/resources/themes/Default/Header.html
+++ /dev/null
@@ -1,5 +0,0 @@
-<div id="heading">
- <div class="conversationIncomingIcon"><img src="%incomingIconPath%" /></div>
- <div class="conversationWith">%chatName%</div>
- <div class="conversationTime">Conversation began %timeOpened%</div>
-</div>
diff --git a/Swift/resources/themes/Default/Incoming/Content.html b/Swift/resources/themes/Default/Incoming/Content.html
index dc5f8b2..05c9796 100755..100644
--- a/Swift/resources/themes/Default/Incoming/Content.html
+++ b/Swift/resources/themes/Default/Incoming/Content.html
@@ -1,30 +1,18 @@
-<div class="chatItem incomingItem">
- <table width="100%">
- <tr>
- <td valign="top">
- <img src="%userIconPath%" class="avatar" title="%sender%" ondragstart="return false" />
- <div class="myBubble">
- <div class="indicator"></div>
- <table class="tableBubble" cellspacing="0" cellpadding="0">
- <tr>
- <td class="tl"></td>
- <td class="tr"></td>
- </tr>
- <tr>
- <td class="message" style="direction: %direction%">
- %message%
- <div class="timeStamp"><span class="name">%wrapped_sender% @</span> %time%</div>
- <span id="insert"></span>
- </td>
- <td class="messageRight"></td>
- </tr>
- <tr>
- <td class="bl"></td>
- <td class="br"></td>
- </tr>
- </table>
- </div>
- </td>
- </tr>
- </table>
+<!--OTHERS MESSAGE-->
+<div class="message" id="%id%">
+ <div class="user">
+ <div class="time">
+ <p>%time%</p>
+ <span class="swift_ack"></span>
+ <span class="swift_receipt"></span>
+ </div>
+ <div class="otheravatar">
+ <img src="%userIconPath%"/>
+ </div>
+ <div class="otherright"></div>
+ </div>
+ <div class="text">
+ <p class="otherusername">%wrapped_sender%</p>
+ <div class="message-content">%message%</div>
+ </div>
</div>
diff --git a/Swift/resources/themes/Default/Incoming/Context.html b/Swift/resources/themes/Default/Incoming/Context.html
deleted file mode 100755
index 1f0c528..0000000
--- a/Swift/resources/themes/Default/Incoming/Context.html
+++ /dev/null
@@ -1,30 +0,0 @@
-<div class="chatItem incomingItem">
- <table width="100%">
- <tr>
- <td valign="top">
- <img src="%userIconPath%" class="avatar" ondragstart="return false" />
- <div class="myBubble">
- <div class="indicator"></div>
- <table class="tableBubble" cellspacing="0" cellpadding="0">
- <tr>
- <td class="tl"></td>
- <td class="tr"></td>
- </tr>
- <tr>
- <td class="message" style="direction: %direction%">
- %message%
- <div class="timeStamp"><span class="name">%sender% @</span> %time%</div>
- <span id="insert"></span>
- </td>
- <td class="messageRight"></td>
- </tr>
- <tr>
- <td class="bl"></td>
- <td class="br"></td>
- </tr>
- </table>
- </div>
- </td>
- </tr>
- </table>
-</div>
diff --git a/Swift/resources/themes/Default/Incoming/NextContent.html b/Swift/resources/themes/Default/Incoming/NextContent.html
index aff669b..af5ec2b 100755..100644
--- a/Swift/resources/themes/Default/Incoming/NextContent.html
+++ b/Swift/resources/themes/Default/Incoming/NextContent.html
@@ -1,10 +1,17 @@
-<div>
- <div class="followUp"></div>
- <div style="direction: %direction%">
-
- %message%
- <div class="timeStamp">%time%</div>
- </div>
- <span id="insert"></span>
+<!--OTHERS MESSAGE ADDITIONAL-->
+<div class="message additional" id="%id%">
+ <div class="user">
+ <div class="time-additional">
+ <p>%time%</p>
+ <span class="swift_ack"></span>
+ <span class="swift_receipt"></span>
+ </div>
+ <div class="systemavatar">
+ <img/>
+ </div>
+ <div class="systemright"></div>
+ </div>
+ <div class="text">
+ <div class="message-content">%message%</div>
+ </div>
</div>
-
diff --git a/Swift/resources/themes/Default/Incoming/NextContext.html b/Swift/resources/themes/Default/Incoming/NextContext.html
deleted file mode 100755
index c0a8846..0000000
--- a/Swift/resources/themes/Default/Incoming/NextContext.html
+++ /dev/null
@@ -1,7 +0,0 @@
- <div class="followUp"></div>
- <div style="direction: %direction%">
-
- %message%
- <div class="timeStamp">%time%</div>
- </div><span id="insert"></span>
-
diff --git a/Swift/resources/themes/Default/Incoming/buddy_icon.png b/Swift/resources/themes/Default/Incoming/buddy_icon.png
deleted file mode 100644
index 0757aaa..0000000
--- a/Swift/resources/themes/Default/Incoming/buddy_icon.png
+++ /dev/null
Binary files differ
diff --git a/Swift/resources/themes/Default/LICENSE.txt b/Swift/resources/themes/Default/LICENSE.txt
deleted file mode 100644
index 2eee1ee..0000000
--- a/Swift/resources/themes/Default/LICENSE.txt
+++ /dev/null
@@ -1,15 +0,0 @@
-The images, css and html is dual licensed under the BSD and AFL license.
-The source files for the bubbles can be found at http://www.itorrey.com/adiumx/
-
-The fading javascript is not covered in this license. The code is fadomatic and is covered under its own license as set by its author.
-
-BSD LICENSE
-Copyright (c) 2007, Torrey Rice/Renkoo6¾3 All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the name of the Torrey Rice and Renkoo nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-Renkoo is a service mark of Renkoo, Inc.
-
-http://www.opensource.org/licenses/bsd-license.php
-
-
-
-# Larry Rosen has ceased to use or recommend any version # of the Academic Free License below version 2.1 The Academic Free License v. 2.1 This Academic Free License (the "License") applies to any original work of authorship (the "Original Work") whose owner (the "Licensor") has placed the following notice immediately following the copyright notice for the Original Work: Licensed under the Academic Free License version 2.1 1) Grant of Copyright License. Licensor hereby grants You a world-wide, royalty-free, non-exclusive, perpetual, sublicenseable license to do the following: a) to reproduce the Original Work in copies; b) to prepare derivative works ("Derivative Works") based upon the Original Work; c) to distribute copies of the Original Work and Derivative Works to the public; d) to perform the Original Work publicly; and e) to display the Original Work publicly. 2) Grant of Patent License. Licensor hereby grants You a world-wide, royalty-free, non-exclusive, perpetual, sublicenseable license, under patent claims owned or controlled by the Licensor that are embodied in the Original Work as furnished by the Licensor, to make, use, sell and offer for sale the Original Work and Derivative Works. 3) Grant of Source Code License. The term "Source Code" means the preferred form of the Original Work for making modifications to it and all available documentation describing how to modify the Original Work. Licensor hereby agrees to provide a machine-readable copy of the Source Code of the Original Work along with each copy of the Original Work that Licensor distributes. Licensor reserves the right to satisfy this obligation by placing a machine-readable copy of the Source Code in an information repository reasonably calculated to permit inexpensive and convenient access by You for as long as Licensor continues to distribute the Original Work, and by publishing the address of that information repository in a notice immediately following the copyright notice that applies to the Original Work. 4) Exclusions From License Grant. Neither the names of Licensor, nor the names of any contributors to the Original Work, nor any of their trademarks or service marks, may be used to endorse or promote products derived from this Original Work without express prior written permission of the Licensor. Nothing in this License shall be deemed to grant any rights to trademarks, copyrights, patents, trade secrets or any other intellectual property of Licensor except as expressly stated herein. No patent license is granted to make, use, sell or offer to sell embodiments of any patent claims other than the licensed claims defined in Section 2. No right is granted to the trademarks of Licensor even if such marks are included in the Original Work. Nothing in this License shall be interpreted to prohibit Licensor from licensing under different terms from this License any Original Work that Licensor otherwise would have a right to license. 5) This section intentionally omitted. 6) Attribution Rights. You must retain, in the Source Code of any Derivative Works that You create, all copyright, patent or trademark notices from the Source Code of the Original Work, as well as any notices of licensing and any descriptive text identified therein as an "Attribution Notice." You must cause the Source Code for any Derivative Works that You create to carry a prominent Attribution Notice reasonably calculated to inform recipients that You have modified the Original Work. 7) Warranty of Provenance and Disclaimer of Warranty. Licensor warrants that the copyright in and to the Original Work and the patent rights granted herein by Licensor are owned by the Licensor or are sublicensed to You under the terms of this License with the permission of the contributor(s) of those copyrights and patent rights. Except as expressly stated in the immediately proceeding sentence, the Original Work is provided under this License on an "AS IS" BASIS and WITHOUT WARRANTY, either express or implied, including, without limitation, the warranties of NON-INFRINGEMENT, MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY OF THE ORIGINAL WORK IS WITH YOU. This DISCLAIMER OF WARRANTY constitutes an essential part of this License. No license to Original Work is granted hereunder except under this disclaimer. 8) Limitation of Liability. Under no circumstances and under no legal theory, whether in tort (including negligence), contract, or otherwise, shall the Licensor be liable to any person for any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or the use of the Original Work including, without limitation, damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses. This limitation of liability shall not apply to liability for death or personal injury resulting from Licensor's negligence to the extent applicable law prohibits such limitation. Some jurisdictions do not allow the exclusion or limitation of incidental or consequential damages, so this exclusion and limitation may not apply to You. 9) Acceptance and Termination. If You distribute copies of the Original Work or a Derivative Work, You must make a reasonable effort under the circumstances to obtain the express assent of recipients to the terms of this License. Nothing else but this License (or another written agreement between Licensor and You) grants You permission to create Derivative Works based upon the Original Work or to exercise any of the rights granted in Section 1 herein, and any attempt to do so except under the terms of this License (or another written agreement between Licensor and You) is expressly prohibited by U.S. copyright law, the equivalent laws of other countries, and by international treaty. Therefore, by exercising any of the rights granted to You in Section 1 herein, You indicate Your acceptance of this License and all of its terms and conditions. 10) Termination for Patent Action. This License shall terminate automatically and You may no longer exercise any of the rights granted to You by this License as of the date You commence an action, including a cross-claim or counterclaim, against Licensor or any licensee alleging that the Original Work infringes a patent. This termination provision shall not apply for an action alleging patent infringement by combinations of the Original Work with other software or hardware. 11) Jurisdiction, Venue and Governing Law. Any action or suit relating to this License may be brought only in the courts of a jurisdiction wherein the Licensor resides or in which Licensor conducts its primary business, and under the laws of that jurisdiction excluding its conflict-of-law provisions. The application of the United Nations Convention on Contracts for the International Sale of Goods is expressly excluded. Any use of the Original Work outside the scope of this License or after its termination shall be subject to the requirements and penalties of the U.S. Copyright Act, 17 U.S.C. 0‡30¨¢0¡ã0ˆ3 101 et seq., the equivalent laws of other countries, and international treaty. This section shall survive the termination of this License. 12) Attorneys Fees. In any action to enforce the terms of this License or seeking damages relating thereto, the prevailing party shall be entitled to recover its costs and expenses, including, without limitation, reasonable attorneys' fees and costs incurred in connection with such action, including any appeal of such action. This section shall survive the termination of this License. 13) Miscellaneous. This License represents the complete agreement concerning the subject matter hereof. If any provision of this License is held to be unenforceable, such provision shall be reformed only to the extent necessary to make it enforceable. 14) Definition of "You" in This License. "You" throughout this License, whether in upper or lower case, means an individual or a legal entity exercising rights under, and complying with all of the terms of, this License. For legal entities, "You" includes any entity that controls, is controlled by, or is under common control with you. For purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. 15) Right to Use. You may use the Original Work in all ways not otherwise restricted or conditioned by this License or by law, and Licensor promises not to interfere with or be responsible for such uses by You. This license is Copyright (C) 2003-2004 Lawrence E. Rosen. All rights reserved. Permission is hereby granted to copy and distribute this license without modification. This license may not be modified without the express written permission of its copyright owner. \ No newline at end of file
diff --git a/Swift/resources/themes/Default/Outgoing/Content.html b/Swift/resources/themes/Default/Outgoing/Content.html
index b0475d2..7100748 100755..100644
--- a/Swift/resources/themes/Default/Outgoing/Content.html
+++ b/Swift/resources/themes/Default/Outgoing/Content.html
@@ -1,30 +1,18 @@
-<div class="chatItem outgoingItem">
- <table width="100%">
- <tr>
- <td valign="top">
- <img src="%userIconPath%" class="avatar" title="%sender%" ondragstart="return false" />
- <div class="myBubble">
- <div class="indicator"></div>
- <table class="tableBubble" cellspacing="0" cellpadding="0">
- <tr>
- <td class="tl"></td>
- <td class="tr"></td>
- </tr>
- <tr>
- <td class="message" style="direction: %direction%">
- %message%
- <div class="timeStamp"><span class="name">%wrapped_sender% @</span> %time%</div>
- <span id="insert"></span>
- </td>
- <td class="messageRight"></td>
- </tr>
- <tr>
- <td class="bl"></td>
- <td class="br"></td>
- </tr>
- </table>
- </div>
- </td>
- </tr>
- </table>
+<!--MY MESSAGE-->
+<div class="message" id="%id%">
+ <div class="user">
+ <div class="time">
+ <p>%time%</p>
+ <span class="swift_ack"></span>
+ <span class="swift_receipt"></span>
+ </div>
+ <div class="myavatar">
+ <img src="%userIconPath%"/>
+ </div>
+ <div class="myright"></div>
+ </div>
+ <div class="text">
+ <p class="myusername">%wrapped_sender%</p>
+ <div class="message-content">%message%</div>
+ </div>
</div>
diff --git a/Swift/resources/themes/Default/Outgoing/Context.html b/Swift/resources/themes/Default/Outgoing/Context.html
deleted file mode 100755
index 679d786..0000000
--- a/Swift/resources/themes/Default/Outgoing/Context.html
+++ /dev/null
@@ -1,31 +0,0 @@
-<div class="chatItem outgoingItem">
- <table width="100%">
- <tr>
- <td valign="top">
- <img src="%userIconPath%" class="avatar" ondragstart="return false" />
- <div class="myBubble">
- <div class="indicator"></div>
- <table class="tableBubble" cellspacing="0" cellpadding="0">
- <tr>
- <td class="tl"></td>
- <td class="tr"></td>
- </tr>
- <tr>
- <td class="message" style="direction: %direction%">
-
- %message%
- <div class="timeStamp"><span class="name">%sender% @</span> %time%</div>
- <span id="insert"></span>
- </td>
- <td class="messageRight"></td>
- </tr>
- <tr>
- <td class="bl"></td>
- <td class="br"></td>
- </tr>
- </table>
- </div>
- </td>
- </tr>
- </table>
-</div>
diff --git a/Swift/resources/themes/Default/Outgoing/NextContent.html b/Swift/resources/themes/Default/Outgoing/NextContent.html
index fe6490e..8795298 100755..100644
--- a/Swift/resources/themes/Default/Outgoing/NextContent.html
+++ b/Swift/resources/themes/Default/Outgoing/NextContent.html
@@ -1,9 +1,18 @@
-<div>
- <div class="followUp"></div>
- <div style="direction: %direction%">
- %message%
- <div class="timeStamp">%time%</div>
- </div>
- <span id="insert"></span>
+<!--My MESSAGE ADDITIONAL-->
+<div class="message additional" id="%id%">
+ <div class="user">
+ <div class="time-additional">
+ <p>%time%</p>
+ <span class="swift_ack"></span>
+ <span class="swift_receipt"></span>
+ </div>
+ <div class="systemavatar">
+ <img/>
+ </div>
+ <div class="systemright"></div>
+ </div>
+ <div class="text">
+ <div class="message-content">%message%</div>
+ </div>
</div>
diff --git a/Swift/resources/themes/Default/Outgoing/NextContext.html b/Swift/resources/themes/Default/Outgoing/NextContext.html
deleted file mode 100755
index f66aeeb..0000000
--- a/Swift/resources/themes/Default/Outgoing/NextContext.html
+++ /dev/null
@@ -1,6 +0,0 @@
-<div class="followUp"></div>
-<div style="direction: %direction%">
- %message%
- <div class="timeStamp">%time%</div>
-</div><span id="insert"></span>
-
diff --git a/Swift/resources/themes/Default/Outgoing/buddy_icon.png b/Swift/resources/themes/Default/Outgoing/buddy_icon.png
deleted file mode 100644
index 0757aaa..0000000
--- a/Swift/resources/themes/Default/Outgoing/buddy_icon.png
+++ /dev/null
Binary files differ
diff --git a/Swift/resources/themes/Default/Status.html b/Swift/resources/themes/Default/Status.html
index e7add89..55dd082 100755..100644
--- a/Swift/resources/themes/Default/Status.html
+++ b/Swift/resources/themes/Default/Status.html
@@ -1,27 +1,16 @@
-<div class="chatItem statusMessage">
- <table width="100%">
- <tr>
- <td valign="top">
- <div class="myBubble">
- <table class="tableBubble" cellspacing="0" cellpadding="0">
- <tr>
- <td class="tl"></td>
- <td class="tr"></td>
- </tr>
- <tr>
- <td class="message" style="direction: %direction%">
- %message%
- <div class="timeStamp">%time%</div>
- </td>
- <td class="messageRight"></td>
- </tr>
- <tr>
- <td class="bl"></td>
- <td class="br"></td>
- </tr>
- </table>
- </div>
- </td>
- </tr>
- </table>
+<!--SYSTEM MESSAGE-->
+<div class="message" id="%id%">
+ <div class="user">
+ <div class="time-additional">
+ <p>%time%</p>
+ <img/>
+ </div>
+ <div class="systemavatar">
+ <img/>
+ </div>
+ <div class="systemright"></div>
+ </div>
+ <div class="text">
+ <p class="system-message">%message%</p>
+ </div>
</div>
diff --git a/Swift/resources/themes/Default/Template.html b/Swift/resources/themes/Default/Template.html
index 9d5c3a0..a759ab5 100755..100644
--- a/Swift/resources/themes/Default/Template.html
+++ b/Swift/resources/themes/Default/Template.html
@@ -1,343 +1,19 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
- <meta http-equiv="content-type" content="text/html; charset=utf-8" />
- <base href="%@">
-
- <script type="text/javascript">
- //<![CDATA[
-
- isDebug = false;
-
- // Fade interval in milliseconds
- // Make this larger if you experience performance issues
- Fadomatic.INTERVAL_MILLIS = 50;
-
- // Creates a fader
- // element - The element to fade
- // speed - The speed to fade at, from 0.0 to 100.0
- // initialOpacity (optional, default 100) - element's starting opacity, 0 to 100
- // minOpacity (optional, default 0) - element's minimum opacity, 0 to 100
- // maxOpacity (optional, default 0) - element's minimum opacity, 0 to 100
- function Fadomatic (element, rate, initialOpacity, minOpacity, maxOpacity) {
- this._element = element;
- this._intervalId = null;
- this._rate = rate;
- this._isFadeOut = true;
-
- // Set initial opacity and bounds
- // NB use 99 instead of 100 to avoid flicker at start of fade
- this._minOpacity = 0;
- this._maxOpacity = 99;
- this._opacity = 99;
-
- if (typeof minOpacity != 'undefined') {
- if (minOpacity < 0) {
- this._minOpacity = 0;
- } else if (minOpacity > 99) {
- this._minOpacity = 99;
- } else {
- this._minOpacity = minOpacity;
- }
- }
-
- if (typeof maxOpacity != 'undefined') {
- if (maxOpacity < 0) {
- this._maxOpacity = 0;
- } else if (maxOpacity > 99) {
- this._maxOpacity = 99;
- } else {
- this._maxOpacity = maxOpacity;
- }
-
- if (this._maxOpacity < this._minOpacity) {
- this._maxOpacity = this._minOpacity;
- }
- }
-
- if (typeof initialOpacity != 'undefined') {
- if (initialOpacity > this._maxOpacity) {
- this._opacity = this._maxOpacity;
- } else if (initialOpacity < this._minOpacity) {
- this._opacity = this._minOpacity;
- } else {
- this._opacity = initialOpacity;
- }
- }
-
- // See if we're using W3C opacity, MSIE filter, or just
- // toggling visiblity
- if(typeof element.style.opacity != 'undefined') {
-
- this._updateOpacity = this._updateOpacityW3c;
-
- } else if(typeof element.style.filter != 'undefined') {
-
- // If there's not an alpha filter on the element already,
- // add one
- if (element.style.filter.indexOf("alpha") == -1) {
-
- // Attempt to preserve existing filters
- var existingFilters="";
- if (element.style.filter) {
- existingFilters = element.style.filter+" ";
- }
- element.style.filter = existingFilters+"alpha(opacity="+this._opacity+")";
- }
-
- this._updateOpacity = this._updateOpacityMSIE;
-
- } else {
-
- this._updateOpacity = this._updateVisibility;
- }
-
- this._updateOpacity();
- }
-
- // Initiates a fade out
- Fadomatic.prototype.fadeOut = function () {
- this._isFadeOut = true;
- this._beginFade();
- }
-
- // Initiates a fade in
- Fadomatic.prototype.fadeIn = function () {
- this._isFadeOut = false;
- this._beginFade();
- }
-
- // Makes the element completely opaque, stops any fade in progress
- Fadomatic.prototype.show = function () {
- this.haltFade();
- this._opacity = this._maxOpacity;
- this._updateOpacity();
- }
-
- // Makes the element completely transparent, stops any fade in progress
- Fadomatic.prototype.hide = function () {
- this.haltFade();
- this._opacity = 0;
- this._updateOpacity();
- }
-
- // Halts any fade in progress
- Fadomatic.prototype.haltFade = function () {
-
- clearInterval(this._intervalId);
- }
-
- // Resumes a fade where it was halted
- Fadomatic.prototype.resumeFade = function () {
-
- this._beginFade();
- }
-
- // Pseudo-private members
-
- Fadomatic.prototype._beginFade = function () {
-
- this.haltFade();
- var objref = this;
- this._intervalId = setInterval(function() { objref._tickFade(); },Fadomatic.INTERVAL_MILLIS);
- }
-
- Fadomatic.prototype._tickFade = function () {
-
- if (this._isFadeOut) {
- this._opacity -= this._rate;
- if (this._opacity < this._minOpacity) {
- this._opacity = this._minOpacity;
- this.haltFade();
- }
- } else {
- this._opacity += this._rate;
- if (this._opacity > this._maxOpacity ) {
- this._opacity = this._maxOpacity;
- this.haltFade();
- }
- }
-
- this._updateOpacity();
- }
-
- Fadomatic.prototype._updateVisibility = function () {
-
- if (this._opacity > 0) {
- this._element.style.visibility = 'visible';
- } else {
- this._element.style.visibility = 'hidden';
- }
- }
-
- Fadomatic.prototype._updateOpacityW3c = function () {
-
- this._element.style.opacity = this._opacity/100;
- this._updateVisibility();
- }
-
- Fadomatic.prototype._updateOpacityMSIE = function () {
-
- this._element.filters.alpha.opacity = this._opacity;
- this._updateVisibility();
- }
-
- Fadomatic.prototype._updateOpacity = null;
-
-
-
- //Do this on load
- function initEvents() {
- if(document.getElementById("heading") == null){
- document.getElementById("bodyNode").style.marginTop = "5px";
- }
-
- if(isDebug == false) {
- document.getElementById("debug").style.display = "none";
- }
-
-
- alignChat(true);
- }
- //Debugging function
- function trace(msg) {
- var node = document.createElement("div");
- var debugCon = document.getElementById("debug");
- node.innerHTML = msg;
- debugCon.appendChild(node);
- }
-
-
- //Appending new content to the message view
- function appendMessage(html) {
- var shouldScroll = nearBottom();
-
- //Remove any existing insertion point
- var insert = document.getElementById("insert");
-
- if(insert) insert.parentNode.removeChild(insert);
-
- //Append the new message to the bottom of our chat block
- var chat = document.getElementById("Chat");
- var range = document.createRange();
- range.selectNode(chat);
- var documentFragment = range.createContextualFragment(html);
- var myFrag = chat.appendChild(documentFragment);
-
- // Don't do the fadomatic, it's too slow
- /*
- var frag1 = document.getElementById("insert");
- if (frag1) {
- var frag= frag1.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode;
-
- try {
- var fader = new Fadomatic(frag, 9, 0, 0, 95);
- } catch(e) {
- trace(e);
- }
- fader.fadeIn();
- }
- */
-
- alignChat(shouldScroll);
- }
-
-
- function appendNextMessage(html){
- var shouldScroll = nearBottom();
-
- //Locate the insertion point
- var insert = document.getElementById("insert");
-
- //make new node
- range = document.createRange();
- range.selectNode(insert.parentNode);
- newNode = range.createContextualFragment(html);
-
- //swap
- var pointer = insert.parentNode;
- insert.parentNode.replaceChild(newNode,insert);
- var els = pointer.getElementsByTagName("div");
-
- alignChat(shouldScroll);
- }
-
-
- //Auto-scroll to bottom. Use nearBottom to determine if a scrollToBottom is desired.
- function nearBottom() {
- return ( document.body.scrollTop >= ( document.body.offsetHeight - ( window.innerHeight * 1.2 ) ) );
- }
-
- var intervall_scroll;
- function scrollToBottom() {
- //document.body.scrollTop = (document.body.scrollHeight-window.innerHeight);
- //return;
- if( intervall_scroll ) clearInterval( intervall_scroll );
- intervall_scroll = setInterval( function() {
- var target_scroll = (document.body.scrollHeight-window.innerHeight) - 1;
- var scrolldiff = target_scroll - document.body.scrollTop;
- if ( document.body.scrollTop != target_scroll ) {
- var saved_scroll = document.body.scrollTop;
- document.body.scrollTop += scrolldiff / 5 + ( scrolldiff >= 0 ? (scrolldiff != 0 ) : -1 );
- } else {
- saved_scroll = -1;
- clearInterval( intervall_scroll );
- }
- } , 10 );
- return;
- }
-
-
- //Dynamically exchange the active stylesheet
- function setStylesheet( id, url ) {
- var code = "<style id=\"" + id + "\" type=\"text/css\" media=\"screen,print\">";
- if( url.length ) code += "@import url( \"" + url + "\" );";
- code += "</style>";
- var range = document.createRange();
- var head = document.getElementsByTagName( "head" ).item(0);
- range.selectNode( head );
- documentFragment = range.createContextualFragment( code );
- head.removeChild( document.getElementById( id ) );
- head.appendChild( documentFragment );
- }
-
- //Align our chat to the bottom of the window. If true is passed, view will also be scrolled down
- function alignChat(shouldScroll) {
-
- var windowHeight = window.innerHeight;
-
- if(windowHeight > 0) {
- var contentElement = document.getElementById('Chat');
- var contentHeight = contentElement.offsetHeight;
- if (windowHeight - contentHeight > 0) {
- contentElement.style.position = 'relative';
- contentElement.style.top = '0px';
- } else {
- contentElement.style.position = 'static';
- }
- }
-
- if(shouldScroll) scrollToBottom();
- }
-
- function windowDidResize() {
- alignChat(true/*nearBottom()*/); //nearBottom buggy with inavtive tabs
- }
-
- window.onresize = windowDidResize;
- //]]>
- </script>
-
- <style id="mainStyle" type="text/css" media="screen,print"> @import url( "%@" ); </style>
-
-</head>
-<body style="==bodyBackground==" id="bodyNode" onload="initEvents()">
-%@
-<div id="Chat">
-</div>
-%@
-<div id="debug"></div>
-</body>
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <link rel="stylesheet" href="qrc:///themes/Default/main.css"/>
+ <!--<link href='https://fonts.googleapis.com/css?family=Lato:400,300,700' rel='stylesheet' type='text/css'-->
+ <style id="text-resize-style">
+ </style>
+ </head>
+ <body>
+ <div class="container">
+ <div class="colour-block"></div>
+ <div class="message-block">
+ <div id="insert"></div>
+ </div>
+ </div>
+ </body>
</html>
diff --git a/Swift/resources/themes/Default/Unread.html b/Swift/resources/themes/Default/Unread.html
new file mode 100644
index 0000000..f11162a
--- /dev/null
+++ b/Swift/resources/themes/Default/Unread.html
@@ -0,0 +1 @@
+<div class='unread'><span class="swift_resizable"><p>Unread</p></span></div>
diff --git a/Swift/resources/themes/Default/Variants/Blue on Green Alternating.css b/Swift/resources/themes/Default/Variants/Blue on Green Alternating.css
deleted file mode 100644
index 5b910eb..0000000
--- a/Swift/resources/themes/Default/Variants/Blue on Green Alternating.css
+++ /dev/null
@@ -1,7 +0,0 @@
-@import url("Blue on Green.css");
-@import url("../alternating.css");
-
-
-.outgoingItem .myBubble .indicator {
- background:url("../images/blueIndicator2.png") no-repeat top left;
-}
diff --git a/Swift/resources/themes/Default/Variants/Blue on Green No Names Alt.css b/Swift/resources/themes/Default/Variants/Blue on Green No Names Alt.css
deleted file mode 100644
index ebad314..0000000
--- a/Swift/resources/themes/Default/Variants/Blue on Green No Names Alt.css
+++ /dev/null
@@ -1,2 +0,0 @@
-@import url("Blue on Green Alternating.css");
-@import url("../noname.css");
diff --git a/Swift/resources/themes/Default/Variants/Blue on Green No Names.css b/Swift/resources/themes/Default/Variants/Blue on Green No Names.css
deleted file mode 100644
index 2a0902c..0000000
--- a/Swift/resources/themes/Default/Variants/Blue on Green No Names.css
+++ /dev/null
@@ -1,2 +0,0 @@
-@import url("Blue on Green.css");
-@import url("../noname.css");
diff --git a/Swift/resources/themes/Default/Variants/Blue on Green.css b/Swift/resources/themes/Default/Variants/Blue on Green.css
deleted file mode 100644
index 361c8c6..0000000
--- a/Swift/resources/themes/Default/Variants/Blue on Green.css
+++ /dev/null
@@ -1,90 +0,0 @@
-@import url("../main.css");
-
-/* outgoing */
-
-
-.outgoingItem .timeStamp {
- color:#7fc5f8;
-}
-
-.outgoingItem .myBubble .indicator {
- background:url("../images/blueIndicator.png") no-repeat top left;
-}
-
-.outgoingItem .tableBubble .tl {
- background:url("../images/blueCurves.png") no-repeat top left;
-}
-
-.outgoingItem .tableBubble .tr {
- background:url("../images/blueCurves.png") no-repeat top right;
-}
-
-.outgoingItem .tableBubble .head {
- background:url("../images/blueCurves.png") no-repeat -10px 0;
-}
-
-.outgoingItem .tableBubble .message {
- background:url("../images/blueBackground.png") repeat-y top left;
-}
-
-.outgoingItem .tableBubble .messageRight {
- background:url("../images/blueBackground.png") repeat-y top right;
-}
-
-.outgoingItem .tableBubble .bl {
- background:url("../images/blueCurves.png") no-repeat bottom left;
-}
-
-.outgoingItem .tableBubble .br {
- background:url("../images/blueCurves.png") no-repeat bottom right;
-}
-
-.outgoingItem .followUp {
- background-color:#ddf0fe;
- border-bottom:1px solid #fff;
-}
-
-/*incoming */
-
-.incomingItem .myBubble .indicator {
- background:url("../images/greenIndicator.png") no-repeat top left;
-}
-
-.incomingItem .timeStamp {
- color:#9ecf35;
-}
-
-.incomingItem .tableBubble .tl {
- background:url("../images/greenCurves.png") no-repeat top left;
-}
-
-.incomingItem .tableBubble .tr {
- background:url("../images/greenCurves.png") no-repeat top right;
-}
-
-.incomingItem .tableBubble .head {
- background:url("../images/greenCurves.png") no-repeat -10px 0;
-}
-
-.incomingItem .tableBubble .message {
- background:url("../images/greenBackground.png") repeat-y top left;
-}
-
-.incomingItem .tableBubble .messageRight {
- background:url("../images/greenBackground.png") repeat-y top right;
-}
-
-.incomingItem .tableBubble .bl {
- background:url("../images/greenCurves.png") no-repeat bottom left;
-}
-
-.incomingItem .tableBubble .br {
- background:url("../images/greenCurves.png") no-repeat bottom right;
-}
-
-.incomingItem .followUp {
- background-color:#e2efc4;
- border-bottom:1px solid #fff;
-}
-
-
diff --git a/Swift/resources/themes/Default/Variants/Blue on Red Alternating.css b/Swift/resources/themes/Default/Variants/Blue on Red Alternating.css
deleted file mode 100644
index 5481c10..0000000
--- a/Swift/resources/themes/Default/Variants/Blue on Red Alternating.css
+++ /dev/null
@@ -1,7 +0,0 @@
-@import url("Blue on Red.css");
-@import url("../alternating.css");
-
-
-.outgoingItem .myBubble .indicator {
- background:url("../images/blueIndicator2.png") no-repeat top left;
-}
diff --git a/Swift/resources/themes/Default/Variants/Blue on Red No Names Alt.css b/Swift/resources/themes/Default/Variants/Blue on Red No Names Alt.css
deleted file mode 100644
index 9818a6c..0000000
--- a/Swift/resources/themes/Default/Variants/Blue on Red No Names Alt.css
+++ /dev/null
@@ -1,2 +0,0 @@
-@import url("Blue on Red Alternating.css");
-@import url("../noname.css");
diff --git a/Swift/resources/themes/Default/Variants/Blue on Red No Names.css b/Swift/resources/themes/Default/Variants/Blue on Red No Names.css
deleted file mode 100644
index 3ac8c9a..0000000
--- a/Swift/resources/themes/Default/Variants/Blue on Red No Names.css
+++ /dev/null
@@ -1,2 +0,0 @@
-@import url("Blue on Red.css");
-@import url("../noname.css");
diff --git a/Swift/resources/themes/Default/Variants/Blue on Red.css b/Swift/resources/themes/Default/Variants/Blue on Red.css
deleted file mode 100644
index 0717920..0000000
--- a/Swift/resources/themes/Default/Variants/Blue on Red.css
+++ /dev/null
@@ -1,89 +0,0 @@
-@import url("../main.css");
-
-/* outgoing */
-
-
-.outgoingItem .timeStamp {
- color:#7fc5f8;
-}
-
-.outgoingItem .myBubble .indicator {
- background:url("../images/blueIndicator.png") no-repeat top left;
-}
-
-.outgoingItem .tableBubble .tl {
- background:url("../images/blueCurves.png") no-repeat top left;
-}
-
-.outgoingItem .tableBubble .tr {
- background:url("../images/blueCurves.png") no-repeat top right;
-}
-
-.outgoingItem .tableBubble .head {
- background:url("../images/blueCurves.png") no-repeat -10px 0;
-}
-
-.outgoingItem .tableBubble .message {
- background:url("../images/blueBackground.png") repeat-y top left;
-}
-
-.outgoingItem .tableBubble .messageRight {
- background:url("../images/blueBackground.png") repeat-y top right;
-}
-
-.outgoingItem .tableBubble .bl {
- background:url("../images/blueCurves.png") no-repeat bottom left;
-}
-
-.outgoingItem .tableBubble .br {
- background:url("../images/blueCurves.png") no-repeat bottom right;
-}
-
-.outgoingItem .followUp {
- background-color:#ddf0fe;
- border-bottom:1px solid #fff;
-}
-
-
-/*incoming */
-
-.incomingItem .timeStamp {
- color:#f88f8f;
-}
-
-.incomingItem .myBubble .indicator {
- background:url("../images/redIndicator.png") no-repeat top left;
-}
-
-.incomingItem .tableBubble .tl {
- background:url("../images/redCurves.png") no-repeat top left;
-}
-
-.incomingItem .tableBubble .tr {
- background:url("../images/redCurves.png") no-repeat top right;
-}
-
-.incomingItem .tableBubble .head {
- background:url("../images/redCurves.png") no-repeat -10px 0;
-}
-
-.incomingItem .tableBubble .message {
- background:url("../images/redBackground.png") repeat-y top left;
-}
-
-.incomingItem .tableBubble .messageRight {
- background:url("../images/redBackground.png") repeat-y top right;
-}
-
-.incomingItem .tableBubble .bl {
- background:url("../images/redCurves.png") no-repeat bottom left;
-}
-
-.incomingItem .tableBubble .br {
- background:url("../images/redCurves.png") no-repeat bottom right;
-}
-
-.incomingItem .followUp {
- background-color:#ffdada;
- border-bottom:1px solid #fff;
-}
diff --git a/Swift/resources/themes/Default/Variants/Blue on Steel Alternating.css b/Swift/resources/themes/Default/Variants/Blue on Steel Alternating.css
deleted file mode 100644
index 8473d1f..0000000
--- a/Swift/resources/themes/Default/Variants/Blue on Steel Alternating.css
+++ /dev/null
@@ -1,7 +0,0 @@
-@import url("Blue on Steel.css");
-@import url("../alternating.css");
-
-
-.outgoingItem .myBubble .indicator {
- background:url("../images/blueIndicator2.png") no-repeat top left;
-}
diff --git a/Swift/resources/themes/Default/Variants/Blue on Steel No Names Alt.css b/Swift/resources/themes/Default/Variants/Blue on Steel No Names Alt.css
deleted file mode 100644
index 1925d5c..0000000
--- a/Swift/resources/themes/Default/Variants/Blue on Steel No Names Alt.css
+++ /dev/null
@@ -1,2 +0,0 @@
-@import url("Blue on Steel Alternating.css");
-@import url("../noname.css");
diff --git a/Swift/resources/themes/Default/Variants/Blue on Steel No Names.css b/Swift/resources/themes/Default/Variants/Blue on Steel No Names.css
deleted file mode 100644
index 573aa58..0000000
--- a/Swift/resources/themes/Default/Variants/Blue on Steel No Names.css
+++ /dev/null
@@ -1,2 +0,0 @@
-@import url("Blue on Steel.css");
-@import url("../noname.css");
diff --git a/Swift/resources/themes/Default/Variants/Blue on Steel.css b/Swift/resources/themes/Default/Variants/Blue on Steel.css
deleted file mode 100644
index 48ab03d..0000000
--- a/Swift/resources/themes/Default/Variants/Blue on Steel.css
+++ /dev/null
@@ -1,91 +0,0 @@
-@import url("../main.css");
-
-/* outgoing */
-
-
-.outgoingItem .timeStamp {
- color:#7fc5f8;
-}
-
-.outgoingItem .myBubble .indicator {
- background:url("../images/blueIndicator.png") no-repeat top left;
-}
-
-.outgoingItem .tableBubble .tl {
- background:url("../images/blueCurves.png") no-repeat top left;
-}
-
-.outgoingItem .tableBubble .tr {
- background:url("../images/blueCurves.png") no-repeat top right;
-}
-
-.outgoingItem .tableBubble .head {
- background:url("../images/blueCurves.png") no-repeat -10px 0;
-}
-
-.outgoingItem .tableBubble .message {
- background:url("../images/blueBackground.png") repeat-y top left;
-}
-
-.outgoingItem .tableBubble .messageRight {
- background:url("../images/blueBackground.png") repeat-y top right;
-}
-
-.outgoingItem .tableBubble .bl {
- background:url("../images/blueCurves.png") no-repeat bottom left;
-}
-
-.outgoingItem .tableBubble .br {
- background:url("../images/blueCurves.png") no-repeat bottom right;
-}
-
-.outgoingItem .followUp {
- background-color:#ddf0fe;
- border-bottom:1px solid #fff;
-}
-
-
-/*incoming */
-
-.incomingItem .timeStamp {
- color:#a9a9a9;
-}
-
-.incomingItem .myBubble .indicator {
- background:url("../images/steelIndicator.png") no-repeat top left;
-}
-
-.incomingItem .tableBubble .tl {
- background:url("../images/steelCurves.png") no-repeat top left;
-}
-
-.incomingItem .tableBubble .tr {
- background:url("../images/steelCurves.png") no-repeat top right;
-}
-
-.incomingItem .tableBubble .head {
- background:url("../images/steelCurves.png") no-repeat -10px 0;
-}
-
-.incomingItem .tableBubble .message {
- background:url("../images/steelBackground.png") repeat-y top left;
-}
-
-.incomingItem .tableBubble .messageRight {
- background:url("../images/steelBackground.png") repeat-y top right;
-}
-
-.incomingItem .tableBubble .bl {
- background:url("../images/steelCurves.png") no-repeat bottom left;
-}
-
-.incomingItem .tableBubble .br {
- background:url("../images/steelCurves.png") no-repeat bottom right;
-}
-
-.incomingItem .followUp {
- background-color:#ececec;
- border-bottom:1px solid #fff;
-}
-
-
diff --git a/Swift/resources/themes/Default/Variants/Blue on Yellow Alternating.css b/Swift/resources/themes/Default/Variants/Blue on Yellow Alternating.css
deleted file mode 100644
index d7927fc..0000000
--- a/Swift/resources/themes/Default/Variants/Blue on Yellow Alternating.css
+++ /dev/null
@@ -1,7 +0,0 @@
-@import url("Blue on Yellow.css");
-@import url("../alternating.css");
-
-
-.outgoingItem .myBubble .indicator {
- background:url("../images/blueIndicator2.png") no-repeat top left;
-}
diff --git a/Swift/resources/themes/Default/Variants/Blue on Yellow No Names Alt.css b/Swift/resources/themes/Default/Variants/Blue on Yellow No Names Alt.css
deleted file mode 100644
index 38d374d..0000000
--- a/Swift/resources/themes/Default/Variants/Blue on Yellow No Names Alt.css
+++ /dev/null
@@ -1,2 +0,0 @@
-@import url("Blue on Yellow Alternating.css");
-@import url("../noname.css");
diff --git a/Swift/resources/themes/Default/Variants/Blue on Yellow No Names.css b/Swift/resources/themes/Default/Variants/Blue on Yellow No Names.css
deleted file mode 100644
index 3fdc8cd..0000000
--- a/Swift/resources/themes/Default/Variants/Blue on Yellow No Names.css
+++ /dev/null
@@ -1,2 +0,0 @@
-@import url("Blue on Yellow.css");
-@import url("../noname.css");
diff --git a/Swift/resources/themes/Default/Variants/Blue on Yellow.css b/Swift/resources/themes/Default/Variants/Blue on Yellow.css
deleted file mode 100644
index b019b0b..0000000
--- a/Swift/resources/themes/Default/Variants/Blue on Yellow.css
+++ /dev/null
@@ -1,91 +0,0 @@
-@import url("../main.css");
-
-/* outgoing */
-
-
-.outgoingItem .timeStamp {
- color:#7fc5f8;
-}
-
-.outgoingItem .myBubble .indicator {
- background:url("../images/blueIndicator.png") no-repeat top left;
-}
-
-.outgoingItem .tableBubble .tl {
- background:url("../images/blueCurves.png") no-repeat top left;
-}
-
-.outgoingItem .tableBubble .tr {
- background:url("../images/blueCurves.png") no-repeat top right;
-}
-
-.outgoingItem .tableBubble .head {
- background:url("../images/blueCurves.png") no-repeat -10px 0;
-}
-
-.outgoingItem .tableBubble .message {
- background:url("../images/blueBackground.png") repeat-y top left;
-}
-
-.outgoingItem .tableBubble .messageRight {
- background:url("../images/blueBackground.png") repeat-y top right;
-}
-
-.outgoingItem .tableBubble .bl {
- background:url("../images/blueCurves.png") no-repeat bottom left;
-}
-
-.outgoingItem .tableBubble .br {
- background:url("../images/blueCurves.png") no-repeat bottom right;
-}
-
-.outgoingItem .followUp {
- background-color:#ddf0fe;
- border-bottom:1px solid #fff;
-}
-
-
-/*incoming */
-
-.incomingItem .timeStamp {
- color:#bdb410;
-}
-
-.incomingItem .myBubble .indicator {
- background:url("../images/yellowIndicator.png") no-repeat top left;
-}
-
-.incomingItem .tableBubble .tl {
- background:url("../images/yellowCurves.png") no-repeat top left;
-}
-
-.incomingItem .tableBubble .tr {
- background:url("../images/yellowCurves.png") no-repeat top right;
-}
-
-.incomingItem .tableBubble .head {
- background:url("../images/yellowCurves.png") no-repeat -10px 0;
-}
-
-.incomingItem .tableBubble .message {
- background:url("../images/yellowBackground.png") repeat-y top left;
-}
-
-.incomingItem .tableBubble .messageRight {
- background:url("../images/yellowBackground.png") repeat-y top right;
-}
-
-.incomingItem .tableBubble .bl {
- background:url("../images/yellowCurves.png") no-repeat bottom left;
-}
-
-.incomingItem .tableBubble .br {
- background:url("../images/yellowCurves.png") no-repeat bottom right;
-}
-
-.incomingItem .followUp {
- background-color:#f4f0a7;
- border-bottom:1px solid #fff;
-}
-
-
diff --git a/Swift/resources/themes/Default/Variants/Green on Blue Alternating.css b/Swift/resources/themes/Default/Variants/Green on Blue Alternating.css
deleted file mode 100644
index 272c0d0..0000000
--- a/Swift/resources/themes/Default/Variants/Green on Blue Alternating.css
+++ /dev/null
@@ -1,7 +0,0 @@
-@import url("Green on Blue.css");
-@import url("../alternating.css");
-
-
-.outgoingItem .myBubble .indicator {
- background:url("../images/greenIndicator2.png") no-repeat top left;
-}
diff --git a/Swift/resources/themes/Default/Variants/Green on Blue No Names Alt.css b/Swift/resources/themes/Default/Variants/Green on Blue No Names Alt.css
deleted file mode 100644
index 973f91a..0000000
--- a/Swift/resources/themes/Default/Variants/Green on Blue No Names Alt.css
+++ /dev/null
@@ -1,2 +0,0 @@
-@import url("Green on Blue Alternating.css");
-@import url("../noname.css");
diff --git a/Swift/resources/themes/Default/Variants/Green on Blue No Names.css b/Swift/resources/themes/Default/Variants/Green on Blue No Names.css
deleted file mode 100644
index 0d92eb0..0000000
--- a/Swift/resources/themes/Default/Variants/Green on Blue No Names.css
+++ /dev/null
@@ -1,2 +0,0 @@
-@import url("Green on Blue.css");
-@import url("../noname.css");
diff --git a/Swift/resources/themes/Default/Variants/Green on Blue.css b/Swift/resources/themes/Default/Variants/Green on Blue.css
deleted file mode 100644
index 7185f4f..0000000
--- a/Swift/resources/themes/Default/Variants/Green on Blue.css
+++ /dev/null
@@ -1,91 +0,0 @@
-@import url("../main.css");
-
-/* outgoing */
-
-
-.outgoingItem .timeStamp {
- color:#9ecf35;
-}
-
-.outgoingItem .myBubble .indicator {
- background:url("../images/greenIndicator.png") no-repeat top left;
-}
-
-.outgoingItem .tableBubble .tl {
- background:url("../images/greenCurves.png") no-repeat top left;
-}
-
-.outgoingItem .tableBubble .tr {
- background:url("../images/greenCurves.png") no-repeat top right;
-}
-
-.outgoingItem .tableBubble .head {
- background:url("../images/greenCurves.png") no-repeat -10px 0;
-}
-
-.outgoingItem .tableBubble .message {
- background:url("../images/greenBackground.png") repeat-y top left;
-}
-
-.outgoingItem .tableBubble .messageRight {
- background:url("../images/greenBackground.png") repeat-y top right;
-}
-
-.outgoingItem .tableBubble .bl {
- background:url("../images/greenCurves.png") no-repeat bottom left;
-}
-
-.outgoingItem .tableBubble .br {
- background:url("../images/greenCurves.png") no-repeat bottom right;
-}
-
-.outgoingItem .followUp {
- background-color:#e2efc4;
- border-bottom:1px solid #fff;
-}
-
-
-/*incoming */
-
-.incomingItem .timeStamp {
- color:#7fc5f8;
-}
-
-.incomingItem .myBubble .indicator {
- background:url("../images/blueIndicator.png") no-repeat top left;
-}
-
-.incomingItem .tableBubble .tl {
- background:url("../images/blueCurves.png") no-repeat top left;
-}
-
-.incomingItem .tableBubble .tr {
- background:url("../images/blueCurves.png") no-repeat top right;
-}
-
-.incomingItem .tableBubble .head {
- background:url("../images/blueCurves.png") no-repeat -10px 0;
-}
-
-.incomingItem .tableBubble .message {
- background:url("../images/blueBackground.png") repeat-y top left;
-}
-
-.incomingItem .tableBubble .messageRight {
- background:url("../images/blueBackground.png") repeat-y top right;
-}
-
-.incomingItem .tableBubble .bl {
- background:url("../images/blueCurves.png") no-repeat bottom left;
-}
-
-.incomingItem .tableBubble .br {
- background:url("../images/blueCurves.png") no-repeat bottom right;
-}
-
-.incomingItem .followUp {
- background-color:#ddf0fe;
- border-bottom:1px solid #fff;
-}
-
-
diff --git a/Swift/resources/themes/Default/Variants/Green on Red Alternating.css b/Swift/resources/themes/Default/Variants/Green on Red Alternating.css
deleted file mode 100644
index e656dc0..0000000
--- a/Swift/resources/themes/Default/Variants/Green on Red Alternating.css
+++ /dev/null
@@ -1,7 +0,0 @@
-@import url("Green on Red.css");
-@import url("../alternating.css");
-
-
-.outgoingItem .myBubble .indicator {
- background:url("../images/greenIndicator2.png") no-repeat top left;
-}
diff --git a/Swift/resources/themes/Default/Variants/Green on Red No Names Alt.css b/Swift/resources/themes/Default/Variants/Green on Red No Names Alt.css
deleted file mode 100644
index 5fd2482..0000000
--- a/Swift/resources/themes/Default/Variants/Green on Red No Names Alt.css
+++ /dev/null
@@ -1,2 +0,0 @@
-@import url("Green on Red Alternating.css");
-@import url("../noname.css");
diff --git a/Swift/resources/themes/Default/Variants/Green on Red No Names.css b/Swift/resources/themes/Default/Variants/Green on Red No Names.css
deleted file mode 100644
index 23dae81..0000000
--- a/Swift/resources/themes/Default/Variants/Green on Red No Names.css
+++ /dev/null
@@ -1,2 +0,0 @@
-@import url("Green on Red.css");
-@import url("../noname.css");
diff --git a/Swift/resources/themes/Default/Variants/Green on Red.css b/Swift/resources/themes/Default/Variants/Green on Red.css
deleted file mode 100644
index cdf38b3..0000000
--- a/Swift/resources/themes/Default/Variants/Green on Red.css
+++ /dev/null
@@ -1,91 +0,0 @@
-@import url("../main.css");
-
-/* outgoing */
-
-
-.outgoingItem .timeStamp {
- color:#9ecf35;
-}
-
-.outgoingItem .myBubble .indicator {
- background:url("../images/greenIndicator.png") no-repeat top left;
-}
-
-.outgoingItem .tableBubble .tl {
- background:url("../images/greenCurves.png") no-repeat top left;
-}
-
-.outgoingItem .tableBubble .tr {
- background:url("../images/greenCurves.png") no-repeat top right;
-}
-
-.outgoingItem .tableBubble .head {
- background:url("../images/greenCurves.png") no-repeat -10px 0;
-}
-
-.outgoingItem .tableBubble .message {
- background:url("../images/greenBackground.png") repeat-y top left;
-}
-
-.outgoingItem .tableBubble .messageRight {
- background:url("../images/greenBackground.png") repeat-y top right;
-}
-
-.outgoingItem .tableBubble .bl {
- background:url("../images/greenCurves.png") no-repeat bottom left;
-}
-
-.outgoingItem .tableBubble .br {
- background:url("../images/greenCurves.png") no-repeat bottom right;
-}
-
-.outgoingItem .followUp {
- background-color:#e2efc4;
- border-bottom:1px solid #fff;
-}
-
-
-/*incoming */
-
-.incomingItem .timeStamp {
- color:#f88f8f;
-}
-
-.incomingItem .myBubble .indicator {
- background:url("../images/redIndicator.png") no-repeat top left;
-}
-
-.incomingItem .tableBubble .tl {
- background:url("../images/redCurves.png") no-repeat top left;
-}
-
-.incomingItem .tableBubble .tr {
- background:url("../images/redCurves.png") no-repeat top right;
-}
-
-.incomingItem .tableBubble .head {
- background:url("../images/redCurves.png") no-repeat -10px 0;
-}
-
-.incomingItem .tableBubble .message {
- background:url("../images/redBackground.png") repeat-y top left;
-}
-
-.incomingItem .tableBubble .messageRight {
- background:url("../images/redBackground.png") repeat-y top right;
-}
-
-.incomingItem .tableBubble .bl {
- background:url("../images/redCurves.png") no-repeat bottom left;
-}
-
-.incomingItem .tableBubble .br {
- background:url("../images/redCurves.png") no-repeat bottom right;
-}
-
-.incomingItem .followUp {
- background-color:#ffdada;
- border-bottom:1px solid #fff;
-}
-
-
diff --git a/Swift/resources/themes/Default/Variants/Green on Steel Alternating.css b/Swift/resources/themes/Default/Variants/Green on Steel Alternating.css
deleted file mode 100644
index 3c14f7f..0000000
--- a/Swift/resources/themes/Default/Variants/Green on Steel Alternating.css
+++ /dev/null
@@ -1,7 +0,0 @@
-@import url("Green on Steel.css");
-@import url("../alternating.css");
-
-
-.outgoingItem .myBubble .indicator {
- background:url("../images/greenIndicator2.png") no-repeat top left;
-}
diff --git a/Swift/resources/themes/Default/Variants/Green on Steel No Names Alt.css b/Swift/resources/themes/Default/Variants/Green on Steel No Names Alt.css
deleted file mode 100644
index cfd6bb9..0000000
--- a/Swift/resources/themes/Default/Variants/Green on Steel No Names Alt.css
+++ /dev/null
@@ -1,2 +0,0 @@
-@import url("Green on Steel Alternating.css");
-@import url("../noname.css");
diff --git a/Swift/resources/themes/Default/Variants/Green on Steel No Names.css b/Swift/resources/themes/Default/Variants/Green on Steel No Names.css
deleted file mode 100644
index 41bc9de..0000000
--- a/Swift/resources/themes/Default/Variants/Green on Steel No Names.css
+++ /dev/null
@@ -1,2 +0,0 @@
-@import url("Green on Steel.css");
-@import url("../noname.css");
diff --git a/Swift/resources/themes/Default/Variants/Green on Steel.css b/Swift/resources/themes/Default/Variants/Green on Steel.css
deleted file mode 100644
index 30a78a0..0000000
--- a/Swift/resources/themes/Default/Variants/Green on Steel.css
+++ /dev/null
@@ -1,91 +0,0 @@
-@import url("../main.css");
-
-/* outgoing */
-
-
-.outgoingItem .timeStamp {
- color:#9ecf35;
-}
-
-.outgoingItem .myBubble .indicator {
- background:url("../images/greenIndicator.png") no-repeat top left;
-}
-
-.outgoingItem .tableBubble .tl {
- background:url("../images/greenCurves.png") no-repeat top left;
-}
-
-.outgoingItem .tableBubble .tr {
- background:url("../images/greenCurves.png") no-repeat top right;
-}
-
-.outgoingItem .tableBubble .head {
- background:url("../images/greenCurves.png") no-repeat -10px 0;
-}
-
-.outgoingItem .tableBubble .message {
- background:url("../images/greenBackground.png") repeat-y top left;
-}
-
-.outgoingItem .tableBubble .messageRight {
- background:url("../images/greenBackground.png") repeat-y top right;
-}
-
-.outgoingItem .tableBubble .bl {
- background:url("../images/greenCurves.png") no-repeat bottom left;
-}
-
-.outgoingItem .tableBubble .br {
- background:url("../images/greenCurves.png") no-repeat bottom right;
-}
-
-.outgoingItem .followUp {
- background-color:#e2efc4;
- border-bottom:1px solid #fff;
-}
-
-
-/*incoming */
-
-.incomingItem .timeStamp {
- color:#a9a9a9;
-}
-
-.incomingItem .myBubble .indicator {
- background:url("../images/steelIndicator.png") no-repeat top left;
-}
-
-.incomingItem .tableBubble .tl {
- background:url("../images/steelCurves.png") no-repeat top left;
-}
-
-.incomingItem .tableBubble .tr {
- background:url("../images/steelCurves.png") no-repeat top right;
-}
-
-.incomingItem .tableBubble .head {
- background:url("../images/steelCurves.png") no-repeat -10px 0;
-}
-
-.incomingItem .tableBubble .message {
- background:url("../images/steelBackground.png") repeat-y top left;
-}
-
-.incomingItem .tableBubble .messageRight {
- background:url("../images/steelBackground.png") repeat-y top right;
-}
-
-.incomingItem .tableBubble .bl {
- background:url("../images/steelCurves.png") no-repeat bottom left;
-}
-
-.incomingItem .tableBubble .br {
- background:url("../images/steelCurves.png") no-repeat bottom right;
-}
-
-.incomingItem .followUp {
- background-color:#ececec;
- border-bottom:1px solid #fff;
-}
-
-
diff --git a/Swift/resources/themes/Default/Variants/Green on Yellow Alternating.css b/Swift/resources/themes/Default/Variants/Green on Yellow Alternating.css
deleted file mode 100644
index d0553e8..0000000
--- a/Swift/resources/themes/Default/Variants/Green on Yellow Alternating.css
+++ /dev/null
@@ -1,7 +0,0 @@
-@import url("Green on Yellow.css");
-@import url("../alternating.css");
-
-
-.outgoingItem .myBubble .indicator {
- background:url("../images/greenIndicator2.png") no-repeat top left;
-}
diff --git a/Swift/resources/themes/Default/Variants/Green on Yellow No Names Alt.css b/Swift/resources/themes/Default/Variants/Green on Yellow No Names Alt.css
deleted file mode 100644
index 27adc33..0000000
--- a/Swift/resources/themes/Default/Variants/Green on Yellow No Names Alt.css
+++ /dev/null
@@ -1,2 +0,0 @@
-@import url("Green on Yellow Alternating.css");
-@import url("../noname.css");
diff --git a/Swift/resources/themes/Default/Variants/Green on Yellow No Names.css b/Swift/resources/themes/Default/Variants/Green on Yellow No Names.css
deleted file mode 100644
index 8c8cb28..0000000
--- a/Swift/resources/themes/Default/Variants/Green on Yellow No Names.css
+++ /dev/null
@@ -1,2 +0,0 @@
-@import url("Green on Yellow.css");
-@import url("../noname.css");
diff --git a/Swift/resources/themes/Default/Variants/Green on Yellow.css b/Swift/resources/themes/Default/Variants/Green on Yellow.css
deleted file mode 100644
index d7f64d3..0000000
--- a/Swift/resources/themes/Default/Variants/Green on Yellow.css
+++ /dev/null
@@ -1,91 +0,0 @@
-@import url("../main.css");
-
-/* outgoing */
-
-
-.outgoingItem .timeStamp {
- color:#9ecf35;
-}
-
-.outgoingItem .myBubble .indicator {
- background:url("../images/greenIndicator.png") no-repeat top left;
-}
-
-.outgoingItem .tableBubble .tl {
- background:url("../images/greenCurves.png") no-repeat top left;
-}
-
-.outgoingItem .tableBubble .tr {
- background:url("../images/greenCurves.png") no-repeat top right;
-}
-
-.outgoingItem .tableBubble .head {
- background:url("../images/greenCurves.png") no-repeat -10px 0;
-}
-
-.outgoingItem .tableBubble .message {
- background:url("../images/greenBackground.png") repeat-y top left;
-}
-
-.outgoingItem .tableBubble .messageRight {
- background:url("../images/greenBackground.png") repeat-y top right;
-}
-
-.outgoingItem .tableBubble .bl {
- background:url("../images/greenCurves.png") no-repeat bottom left;
-}
-
-.outgoingItem .tableBubble .br {
- background:url("../images/greenCurves.png") no-repeat bottom right;
-}
-
-.outgoingItem .followUp {
- background-color:#e2efc4;
- border-bottom:1px solid #fff;
-}
-
-
-/*incoming */
-
-.incomingItem .timeStamp {
- color:#bdb410;
-}
-
-.incomingItem .myBubble .indicator {
- background:url("../images/yellowIndicator.png") no-repeat top left;
-}
-
-.incomingItem .tableBubble .tl {
- background:url("../images/yellowCurves.png") no-repeat top left;
-}
-
-.incomingItem .tableBubble .tr {
- background:url("../images/yellowCurves.png") no-repeat top right;
-}
-
-.incomingItem .tableBubble .head {
- background:url("../images/yellowCurves.png") no-repeat -10px 0;
-}
-
-.incomingItem .tableBubble .message {
- background:url("../images/yellowBackground.png") repeat-y top left;
-}
-
-.incomingItem .tableBubble .messageRight {
- background:url("../images/yellowBackground.png") repeat-y top right;
-}
-
-.incomingItem .tableBubble .bl {
- background:url("../images/yellowCurves.png") no-repeat bottom left;
-}
-
-.incomingItem .tableBubble .br {
- background:url("../images/yellowCurves.png") no-repeat bottom right;
-}
-
-.incomingItem .followUp {
- background-color:#f4f0a7;
- border-bottom:1px solid #fff;
-}
-
-
diff --git a/Swift/resources/themes/Default/Variants/Red on Blue Alternating.css b/Swift/resources/themes/Default/Variants/Red on Blue Alternating.css
deleted file mode 100644
index 5d241fb..0000000
--- a/Swift/resources/themes/Default/Variants/Red on Blue Alternating.css
+++ /dev/null
@@ -1,7 +0,0 @@
-@import url("Red on Blue.css");
-@import url("../alternating.css");
-
-
-.outgoingItem .myBubble .indicator {
- background:url("../images/redIndicator2.png") no-repeat top left;
-}
diff --git a/Swift/resources/themes/Default/Variants/Red on Blue No Names Alt.css b/Swift/resources/themes/Default/Variants/Red on Blue No Names Alt.css
deleted file mode 100644
index 2e80935..0000000
--- a/Swift/resources/themes/Default/Variants/Red on Blue No Names Alt.css
+++ /dev/null
@@ -1,2 +0,0 @@
-@import url("Red on Blue Alternating.css");
-@import url("../noname.css");
diff --git a/Swift/resources/themes/Default/Variants/Red on Blue No Names.css b/Swift/resources/themes/Default/Variants/Red on Blue No Names.css
deleted file mode 100644
index da98b5c..0000000
--- a/Swift/resources/themes/Default/Variants/Red on Blue No Names.css
+++ /dev/null
@@ -1,2 +0,0 @@
-@import url("Red on Blue.css");
-@import url("../noname.css");
diff --git a/Swift/resources/themes/Default/Variants/Red on Blue.css b/Swift/resources/themes/Default/Variants/Red on Blue.css
deleted file mode 100644
index f6e646c..0000000
--- a/Swift/resources/themes/Default/Variants/Red on Blue.css
+++ /dev/null
@@ -1,90 +0,0 @@
-@import url("../main.css");
-
-/* outgoing */
-
-
-.outgoingItem .timeStamp {
- color:#f88f8f;
-}
-
-.outgoingItem .myBubble .indicator {
- background:url("../images/redIndicator.png") no-repeat top left;
-}
-
-.outgoingItem .tableBubble .tl {
- background:url("../images/redCurves.png") no-repeat top left;
-}
-
-.outgoingItem .tableBubble .tr {
- background:url("../images/redCurves.png") no-repeat top right;
-}
-
-.outgoingItem .tableBubble .head {
- background:url("../images/redCurves.png") no-repeat -10px 0;
-}
-
-.outgoingItem .tableBubble .message {
- background:url("../images/redBackground.png") repeat-y top left;
-}
-
-.outgoingItem .tableBubble .messageRight {
- background:url("../images/redBackground.png") repeat-y top right;
-}
-
-.outgoingItem .tableBubble .bl {
- background:url("../images/redCurves.png") no-repeat bottom left;
-}
-
-.outgoingItem .tableBubble .br {
- background:url("../images/redCurves.png") no-repeat bottom right;
-}
-
-.outgoingItem .followUp {
- background-color:#ffdada;
- border-bottom:1px solid #fff;
-}
-
-
-
-/*incoming */
-
-.incomingItem .timeStamp {
- color:#7fc5f8;
-}
-
-.incomingItem .myBubble .indicator {
- background:url("../images/blueIndicator.png") no-repeat top left;
-}
-
-.incomingItem .tableBubble .tl {
- background:url("../images/blueCurves.png") no-repeat top left;
-}
-
-.incomingItem .tableBubble .tr {
- background:url("../images/blueCurves.png") no-repeat top right;
-}
-
-.incomingItem .tableBubble .head {
- background:url("../images/blueCurves.png") no-repeat -10px 0;
-}
-
-.incomingItem .tableBubble .message {
- background:url("../images/blueBackground.png") repeat-y top left;
-}
-
-.incomingItem .tableBubble .messageRight {
- background:url("../images/blueBackground.png") repeat-y top right;
-}
-
-.incomingItem .tableBubble .bl {
- background:url("../images/blueCurves.png") no-repeat bottom left;
-}
-
-.incomingItem .tableBubble .br {
- background:url("../images/blueCurves.png") no-repeat bottom right;
-}
-
-.incomingItem .followUp {
- background-color:#ddf0fe;
- border-bottom:1px solid #fff;
-}
diff --git a/Swift/resources/themes/Default/Variants/Red on Green Alternating.css b/Swift/resources/themes/Default/Variants/Red on Green Alternating.css
deleted file mode 100644
index db8effa..0000000
--- a/Swift/resources/themes/Default/Variants/Red on Green Alternating.css
+++ /dev/null
@@ -1,7 +0,0 @@
-@import url("Red on Green.css");
-@import url("../alternating.css");
-
-
-.outgoingItem .myBubble .indicator {
- background:url("../images/redIndicator2.png") no-repeat top left;
-}
diff --git a/Swift/resources/themes/Default/Variants/Red on Green No Names Alt.css b/Swift/resources/themes/Default/Variants/Red on Green No Names Alt.css
deleted file mode 100644
index 9a230f2..0000000
--- a/Swift/resources/themes/Default/Variants/Red on Green No Names Alt.css
+++ /dev/null
@@ -1,2 +0,0 @@
-@import url("Red on Green Alternating.css");
-@import url("../noname.css");
diff --git a/Swift/resources/themes/Default/Variants/Red on Green No Names.css b/Swift/resources/themes/Default/Variants/Red on Green No Names.css
deleted file mode 100644
index 1bbc2a5..0000000
--- a/Swift/resources/themes/Default/Variants/Red on Green No Names.css
+++ /dev/null
@@ -1,2 +0,0 @@
-@import url("Red on Green.css");
-@import url("../noname.css");
diff --git a/Swift/resources/themes/Default/Variants/Red on Green.css b/Swift/resources/themes/Default/Variants/Red on Green.css
deleted file mode 100644
index 0e7c12b..0000000
--- a/Swift/resources/themes/Default/Variants/Red on Green.css
+++ /dev/null
@@ -1,95 +0,0 @@
-@import url("../main.css");
-
-/* outgoing */
-
-
-.outgoingItem .timeStamp {
- color:#f88f8f;
-}
-
-.outgoingItem .myBubble .indicator {
- background:url("../images/redIndicator.png") no-repeat top left;
-}
-
-.outgoingItem .tableBubble .tl {
- background:url("../images/redCurves.png") no-repeat top left;
-}
-
-.outgoingItem .tableBubble .tr {
- background:url("../images/redCurves.png") no-repeat top right;
-}
-
-.outgoingItem .tableBubble .head {
- background:url("../images/redCurves.png") no-repeat -10px 0;
-}
-
-.outgoingItem .tableBubble .message {
- background:url("../images/redBackground.png") repeat-y top left;
-}
-
-.outgoingItem .tableBubble .messageRight {
- background:url("../images/redBackground.png") repeat-y top right;
-}
-
-.outgoingItem .tableBubble .bl {
- background:url("../images/redCurves.png") no-repeat bottom left;
-}
-
-.outgoingItem .tableBubble .br {
- background:url("../images/redCurves.png") no-repeat bottom right;
-}
-
-.outgoingItem .followUp {
- background-color:#ffdada;
- border-bottom:1px solid #fff;
-}
-
-/*incoming */
-
-.incomingItem .timeStamp {
- color:#9ecf35;
-}
-
-
-.incomingItem .myBubble .indicator {
- background:url("../images/greenIndicator.png") no-repeat top left;
-}
-
-.incomingItem .timeStamp {
- color:#9ecf35;
-}
-
-.incomingItem .tableBubble .tl {
- background:url("../images/greenCurves.png") no-repeat top left;
-}
-
-.incomingItem .tableBubble .tr {
- background:url("../images/greenCurves.png") no-repeat top right;
-}
-
-.incomingItem .tableBubble .head {
- background:url("../images/greenCurves.png") no-repeat -10px 0;
-}
-
-.incomingItem .tableBubble .message {
- background:url("../images/greenBackground.png") repeat-y top left;
-}
-
-.incomingItem .tableBubble .messageRight {
- background:url("../images/greenBackground.png") repeat-y top right;
-}
-
-.incomingItem .tableBubble .bl {
- background:url("../images/greenCurves.png") no-repeat bottom left;
-}
-
-.incomingItem .tableBubble .br {
- background:url("../images/greenCurves.png") no-repeat bottom right;
-}
-
-.incomingItem .followUp {
- background-color:#e2efc4;
- border-bottom:1px solid #fff;
-}
-
-
diff --git a/Swift/resources/themes/Default/Variants/Red on Steel Alternating.css b/Swift/resources/themes/Default/Variants/Red on Steel Alternating.css
deleted file mode 100644
index ad7eb15..0000000
--- a/Swift/resources/themes/Default/Variants/Red on Steel Alternating.css
+++ /dev/null
@@ -1,7 +0,0 @@
-@import url("Red on Steel.css");
-@import url("../alternating.css");
-
-
-.outgoingItem .myBubble .indicator {
- background:url("../images/redIndicator2.png") no-repeat top left;
-}
diff --git a/Swift/resources/themes/Default/Variants/Red on Steel No Names Alt.css b/Swift/resources/themes/Default/Variants/Red on Steel No Names Alt.css
deleted file mode 100644
index 9c6ab55..0000000
--- a/Swift/resources/themes/Default/Variants/Red on Steel No Names Alt.css
+++ /dev/null
@@ -1,2 +0,0 @@
-@import url("Red on Steel Alternating.css");
-@import url("../noname.css");
diff --git a/Swift/resources/themes/Default/Variants/Red on Steel No Names.css b/Swift/resources/themes/Default/Variants/Red on Steel No Names.css
deleted file mode 100644
index aa2b60a..0000000
--- a/Swift/resources/themes/Default/Variants/Red on Steel No Names.css
+++ /dev/null
@@ -1,2 +0,0 @@
-@import url("Red on Steel.css");
-@import url("../noname.css");
diff --git a/Swift/resources/themes/Default/Variants/Red on Steel.css b/Swift/resources/themes/Default/Variants/Red on Steel.css
deleted file mode 100644
index 8a39df2..0000000
--- a/Swift/resources/themes/Default/Variants/Red on Steel.css
+++ /dev/null
@@ -1,93 +0,0 @@
-@import url("../main.css");
-
-/* outgoing */
-
-
-.outgoingItem .timeStamp {
- color:#f88f8f;
-}
-
-.outgoingItem .myBubble .indicator {
- background:url("../images/redIndicator.png") no-repeat top left;
-}
-
-.outgoingItem .tableBubble .tl {
- background:url("../images/redCurves.png") no-repeat top left;
-}
-
-.outgoingItem .tableBubble .tr {
- background:url("../images/redCurves.png") no-repeat top right;
-}
-
-.outgoingItem .tableBubble .head {
- background:url("../images/redCurves.png") no-repeat -10px 0;
-}
-
-.outgoingItem .tableBubble .message {
- background:url("../images/redBackground.png") repeat-y top left;
-}
-
-.outgoingItem .tableBubble .messageRight {
- background:url("../images/redBackground.png") repeat-y top right;
-}
-
-.outgoingItem .tableBubble .bl {
- background:url("../images/redCurves.png") no-repeat bottom left;
-}
-
-.outgoingItem .tableBubble .br {
- background:url("../images/redCurves.png") no-repeat bottom right;
-}
-
-.outgoingItem .followUp {
- background-color:#ffdada;
- border-bottom:1px solid #fff;
-}
-
-
-
-
-/*incoming */
-
-.incomingItem .timeStamp {
- color:#a9a9a9;
-}
-
-.incomingItem .myBubble .indicator {
- background:url("../images/steelIndicator.png") no-repeat top left;
-}
-
-.incomingItem .tableBubble .tl {
- background:url("../images/steelCurves.png") no-repeat top left;
-}
-
-.incomingItem .tableBubble .tr {
- background:url("../images/steelCurves.png") no-repeat top right;
-}
-
-.incomingItem .tableBubble .head {
- background:url("../images/steelCurves.png") no-repeat -10px 0;
-}
-
-.incomingItem .tableBubble .message {
- background:url("../images/steelBackground.png") repeat-y top left;
-}
-
-.incomingItem .tableBubble .messageRight {
- background:url("../images/steelBackground.png") repeat-y top right;
-}
-
-.incomingItem .tableBubble .bl {
- background:url("../images/steelCurves.png") no-repeat bottom left;
-}
-
-.incomingItem .tableBubble .br {
- background:url("../images/steelCurves.png") no-repeat bottom right;
-}
-
-.incomingItem .followUp {
- background-color:#ececec;
- border-bottom:1px solid #fff;
-}
-
-
diff --git a/Swift/resources/themes/Default/Variants/Red on Yellow Alternating.css b/Swift/resources/themes/Default/Variants/Red on Yellow Alternating.css
deleted file mode 100644
index b264d7d..0000000
--- a/Swift/resources/themes/Default/Variants/Red on Yellow Alternating.css
+++ /dev/null
@@ -1,7 +0,0 @@
-@import url("Red on Yellow.css");
-@import url("../alternating.css");
-
-
-.outgoingItem .myBubble .indicator {
- background:url("../images/redIndicator2.png") no-repeat top left;
-}
diff --git a/Swift/resources/themes/Default/Variants/Red on Yellow No Names Alt.css b/Swift/resources/themes/Default/Variants/Red on Yellow No Names Alt.css
deleted file mode 100644
index dc4394e..0000000
--- a/Swift/resources/themes/Default/Variants/Red on Yellow No Names Alt.css
+++ /dev/null
@@ -1,2 +0,0 @@
-@import url("Red on Yellow Alternating.css");
-@import url("../noname.css");
diff --git a/Swift/resources/themes/Default/Variants/Red on Yellow No Names.css b/Swift/resources/themes/Default/Variants/Red on Yellow No Names.css
deleted file mode 100644
index 9ca44ec..0000000
--- a/Swift/resources/themes/Default/Variants/Red on Yellow No Names.css
+++ /dev/null
@@ -1,2 +0,0 @@
-@import url("Red on Yellow.css");
-@import url("../noname.css");
diff --git a/Swift/resources/themes/Default/Variants/Red on Yellow.css b/Swift/resources/themes/Default/Variants/Red on Yellow.css
deleted file mode 100644
index f2dc5a0..0000000
--- a/Swift/resources/themes/Default/Variants/Red on Yellow.css
+++ /dev/null
@@ -1,91 +0,0 @@
-@import url("../main.css");
-
-/* outgoing */
-
-
-.outgoingItem .timeStamp {
- color:#f88f8f;
-}
-
-.outgoingItem .myBubble .indicator {
- background:url("../images/redIndicator.png") no-repeat top left;
-}
-
-.outgoingItem .tableBubble .tl {
- background:url("../images/redCurves.png") no-repeat top left;
-}
-
-.outgoingItem .tableBubble .tr {
- background:url("../images/redCurves.png") no-repeat top right;
-}
-
-.outgoingItem .tableBubble .head {
- background:url("../images/redCurves.png") no-repeat -10px 0;
-}
-
-.outgoingItem .tableBubble .message {
- background:url("../images/redBackground.png") repeat-y top left;
-}
-
-.outgoingItem .tableBubble .messageRight {
- background:url("../images/redBackground.png") repeat-y top right;
-}
-
-.outgoingItem .tableBubble .bl {
- background:url("../images/redCurves.png") no-repeat bottom left;
-}
-
-.outgoingItem .tableBubble .br {
- background:url("../images/redCurves.png") no-repeat bottom right;
-}
-
-.outgoingItem .followUp {
- background-color:#ffdada;
- border-bottom:1px solid #fff;
-}
-
-
-
-
-/*incoming */
-
-.incomingItem .timeStamp {
- color:#bdb410;
-}
-
-.incomingItem .myBubble .indicator {
- background:url("../images/yellowIndicator.png") no-repeat top left;
-}
-
-.incomingItem .tableBubble .tl {
- background:url("../images/yellowCurves.png") no-repeat top left;
-}
-
-.incomingItem .tableBubble .tr {
- background:url("../images/yellowCurves.png") no-repeat top right;
-}
-
-.incomingItem .tableBubble .head {
- background:url("../images/yellowCurves.png") no-repeat -10px 0;
-}
-
-.incomingItem .tableBubble .message {
- background:url("../images/yellowBackground.png") repeat-y top left;
-}
-
-.incomingItem .tableBubble .messageRight {
- background:url("../images/yellowBackground.png") repeat-y top right;
-}
-
-.incomingItem .tableBubble .bl {
- background:url("../images/yellowCurves.png") no-repeat bottom left;
-}
-
-.incomingItem .tableBubble .br {
- background:url("../images/yellowCurves.png") no-repeat bottom right;
-}
-
-.incomingItem .followUp {
- background-color:#f4f0a7;
- border-bottom:1px solid #fff;
-}
diff --git a/Swift/resources/themes/Default/Variants/Steel on Blue Alternating.css b/Swift/resources/themes/Default/Variants/Steel on Blue Alternating.css
deleted file mode 100644
index 8c15ec2..0000000
--- a/Swift/resources/themes/Default/Variants/Steel on Blue Alternating.css
+++ /dev/null
@@ -1,7 +0,0 @@
-@import url("Steel on Blue.css");
-@import url("../alternating.css");
-
-
-.outgoingItem .myBubble .indicator {
- background:url("../images/steelIndicator2.png") no-repeat top left;
-}
diff --git a/Swift/resources/themes/Default/Variants/Steel on Blue No Names Alt.css b/Swift/resources/themes/Default/Variants/Steel on Blue No Names Alt.css
deleted file mode 100644
index 7edfcb1..0000000
--- a/Swift/resources/themes/Default/Variants/Steel on Blue No Names Alt.css
+++ /dev/null
@@ -1,2 +0,0 @@
-@import url("Steel on Blue Alternating.css");
-@import url("../noname.css");
diff --git a/Swift/resources/themes/Default/Variants/Steel on Blue No Names.css b/Swift/resources/themes/Default/Variants/Steel on Blue No Names.css
deleted file mode 100644
index f7058b9..0000000
--- a/Swift/resources/themes/Default/Variants/Steel on Blue No Names.css
+++ /dev/null
@@ -1,2 +0,0 @@
-@import url("Steel on Blue.css");
-@import url("../noname.css");
diff --git a/Swift/resources/themes/Default/Variants/Steel on Blue.css b/Swift/resources/themes/Default/Variants/Steel on Blue.css
deleted file mode 100644
index 6203dc2..0000000
--- a/Swift/resources/themes/Default/Variants/Steel on Blue.css
+++ /dev/null
@@ -1,92 +0,0 @@
-@import url("../main.css");
-
-/* outgoing */
-
-
-.outgoingItem .timeStamp {
- color:#a9a9a9;
-}
-
-.outgoingItem .myBubble .indicator {
- background:url("../images/steelIndicator.png") no-repeat top left;
-}
-
-.outgoingItem .tableBubble .tl {
- background:url("../images/steelCurves.png") no-repeat top left;
-}
-
-.outgoingItem .tableBubble .tr {
- background:url("../images/steelCurves.png") no-repeat top right;
-}
-
-.outgoingItem .tableBubble .head {
- background:url("../images/steelCurves.png") no-repeat -10px 0;
-}
-
-.outgoingItem .tableBubble .message {
- background:url("../images/steelBackground.png") repeat-y top left;
-}
-
-.outgoingItem .tableBubble .messageRight {
- background:url("../images/steelBackground.png") repeat-y top right;
-}
-
-.outgoingItem .tableBubble .bl {
- background:url("../images/steelCurves.png") no-repeat bottom left;
-}
-
-.outgoingItem .tableBubble .br {
- background:url("../images/steelCurves.png") no-repeat bottom right;
-}
-
-.outgoingItem .followUp {
- background-color:#ececec;
- border-bottom:1px solid #fff;
-}
-
-
-
-/*incoming */
-
-.incomingItem .timeStamp {
- color:#7fc5f8;
-}
-
-.incomingItem .myBubble .indicator {
- background:url("../images/blueIndicator.png") no-repeat top left;
-}
-
-.incomingItem .tableBubble .tl {
- background:url("../images/blueCurves.png") no-repeat top left;
-}
-
-.incomingItem .tableBubble .tr {
- background:url("../images/blueCurves.png") no-repeat top right;
-}
-
-.incomingItem .tableBubble .head {
- background:url("../images/blueCurves.png") no-repeat -10px 0;
-}
-
-.incomingItem .tableBubble .message {
- background:url("../images/blueBackground.png") repeat-y top left;
-}
-
-.incomingItem .tableBubble .messageRight {
- background:url("../images/blueBackground.png") repeat-y top right;
-}
-
-.incomingItem .tableBubble .bl {
- background:url("../images/blueCurves.png") no-repeat bottom left;
-}
-
-.incomingItem .tableBubble .br {
- background:url("../images/blueCurves.png") no-repeat bottom right;
-}
-
-.incomingItem .followUp {
- background-color:#ddf0fe;
- border-bottom:1px solid #fff;
-}
-
-
diff --git a/Swift/resources/themes/Default/Variants/Steel on Green Alternating.css b/Swift/resources/themes/Default/Variants/Steel on Green Alternating.css
deleted file mode 100644
index 69474f0..0000000
--- a/Swift/resources/themes/Default/Variants/Steel on Green Alternating.css
+++ /dev/null
@@ -1,7 +0,0 @@
-@import url("Steel on Green.css");
-@import url("../alternating.css");
-
-
-.outgoingItem .myBubble .indicator {
- background:url("../images/steelIndicator2.png") no-repeat top left;
-}
diff --git a/Swift/resources/themes/Default/Variants/Steel on Green No Names Alt.css b/Swift/resources/themes/Default/Variants/Steel on Green No Names Alt.css
deleted file mode 100644
index 6fc5606..0000000
--- a/Swift/resources/themes/Default/Variants/Steel on Green No Names Alt.css
+++ /dev/null
@@ -1,2 +0,0 @@
-@import url("Steel on Green Alternating.css");
-@import url("../noname.css");
diff --git a/Swift/resources/themes/Default/Variants/Steel on Green No Names.css b/Swift/resources/themes/Default/Variants/Steel on Green No Names.css
deleted file mode 100644
index f07264b..0000000
--- a/Swift/resources/themes/Default/Variants/Steel on Green No Names.css
+++ /dev/null
@@ -1,2 +0,0 @@
-@import url("Steel on Green.css");
-@import url("../noname.css");
diff --git a/Swift/resources/themes/Default/Variants/Steel on Green.css b/Swift/resources/themes/Default/Variants/Steel on Green.css
deleted file mode 100644
index 800dc6b..0000000
--- a/Swift/resources/themes/Default/Variants/Steel on Green.css
+++ /dev/null
@@ -1,97 +0,0 @@
-@import url("../main.css");
-
-/* outgoing */
-
-
-.outgoingItem .timeStamp {
- color:#a9a9a9;
-}
-
-.outgoingItem .myBubble .indicator {
- background:url("../images/steelIndicator.png") no-repeat top left;
-}
-
-.outgoingItem .tableBubble .tl {
- background:url("../images/steelCurves.png") no-repeat top left;
-}
-
-.outgoingItem .tableBubble .tr {
- background:url("../images/steelCurves.png") no-repeat top right;
-}
-
-.outgoingItem .tableBubble .head {
- background:url("../images/steelCurves.png") no-repeat -10px 0;
-}
-
-.outgoingItem .tableBubble .message {
- background:url("../images/steelBackground.png") repeat-y top left;
-}
-
-.outgoingItem .tableBubble .messageRight {
- background:url("../images/steelBackground.png") repeat-y top right;
-}
-
-.outgoingItem .tableBubble .bl {
- background:url("../images/steelCurves.png") no-repeat bottom left;
-}
-
-.outgoingItem .tableBubble .br {
- background:url("../images/steelCurves.png") no-repeat bottom right;
-}
-
-.outgoingItem .followUp {
- background-color:#ececec;
- border-bottom:1px solid #fff;
-}
-
-
-
-/*incoming */
-
-.incomingItem .timeStamp {
- color:#9ecf35;
-}
-
-
-.incomingItem .myBubble .indicator {
- background:url("../images/greenIndicator.png") no-repeat top left;
-}
-
-.incomingItem .timeStamp {
- color:#9ecf35;
-}
-
-.incomingItem .tableBubble .tl {
- background:url("../images/greenCurves.png") no-repeat top left;
-}
-
-.incomingItem .tableBubble .tr {
- background:url("../images/greenCurves.png") no-repeat top right;
-}
-
-.incomingItem .tableBubble .head {
- background:url("../images/greenCurves.png") no-repeat -10px 0;
-}
-
-.incomingItem .tableBubble .message {
- background:url("../images/greenBackground.png") repeat-y top left;
-}
-
-.incomingItem .tableBubble .messageRight {
- background:url("../images/greenBackground.png") repeat-y top right;
-}
-
-.incomingItem .tableBubble .bl {
- background:url("../images/greenCurves.png") no-repeat bottom left;
-}
-
-.incomingItem .tableBubble .br {
- background:url("../images/greenCurves.png") no-repeat bottom right;
-}
-
-.incomingItem .followUp {
- background-color:#e2efc4;
- border-bottom:1px solid #fff;
-}
-
-
diff --git a/Swift/resources/themes/Default/Variants/Steel on Red Alternating.css b/Swift/resources/themes/Default/Variants/Steel on Red Alternating.css
deleted file mode 100644
index 64a783b..0000000
--- a/Swift/resources/themes/Default/Variants/Steel on Red Alternating.css
+++ /dev/null
@@ -1,7 +0,0 @@
-@import url("Steel on Red.css");
-@import url("../alternating.css");
-
-
-.outgoingItem .myBubble .indicator {
- background:url("../images/steelIndicator2.png") no-repeat top left;
-}
diff --git a/Swift/resources/themes/Default/Variants/Steel on Red No Names Alt.css b/Swift/resources/themes/Default/Variants/Steel on Red No Names Alt.css
deleted file mode 100644
index 995f329..0000000
--- a/Swift/resources/themes/Default/Variants/Steel on Red No Names Alt.css
+++ /dev/null
@@ -1,2 +0,0 @@
-@import url("Steel on Red Alternating.css");
-@import url("../noname.css");
diff --git a/Swift/resources/themes/Default/Variants/Steel on Red No Names.css b/Swift/resources/themes/Default/Variants/Steel on Red No Names.css
deleted file mode 100644
index b5e622e..0000000
--- a/Swift/resources/themes/Default/Variants/Steel on Red No Names.css
+++ /dev/null
@@ -1,2 +0,0 @@
-@import url("Steel on Red.css");
-@import url("../noname.css");
diff --git a/Swift/resources/themes/Default/Variants/Steel on Red.css b/Swift/resources/themes/Default/Variants/Steel on Red.css
deleted file mode 100644
index 922c6ef..0000000
--- a/Swift/resources/themes/Default/Variants/Steel on Red.css
+++ /dev/null
@@ -1,89 +0,0 @@
-@import url("../main.css");
-
-/* outgoing */
-
-
-.outgoingItem .timeStamp {
- color:#a9a9a9;
-}
-
-.outgoingItem .myBubble .indicator {
- background:url("../images/steelIndicator.png") no-repeat top left;
-}
-
-.outgoingItem .tableBubble .tl {
- background:url("../images/steelCurves.png") no-repeat top left;
-}
-
-.outgoingItem .tableBubble .tr {
- background:url("../images/steelCurves.png") no-repeat top right;
-}
-
-.outgoingItem .tableBubble .head {
- background:url("../images/steelCurves.png") no-repeat -10px 0;
-}
-
-.outgoingItem .tableBubble .message {
- background:url("../images/steelBackground.png") repeat-y top left;
-}
-
-.outgoingItem .tableBubble .messageRight {
- background:url("../images/steelBackground.png") repeat-y top right;
-}
-
-.outgoingItem .tableBubble .bl {
- background:url("../images/steelCurves.png") no-repeat bottom left;
-}
-
-.outgoingItem .tableBubble .br {
- background:url("../images/steelCurves.png") no-repeat bottom right;
-}
-
-.outgoingItem .followUp {
- background-color:#ececec;
- border-bottom:1px solid #fff;
-}
-
-
-/*incoming */
-
-.incomingItem .timeStamp {
- color:#f88f8f;
-}
-
-.incomingItem .myBubble .indicator {
- background:url("../images/redIndicator.png") no-repeat top left;
-}
-
-.incomingItem .tableBubble .tl {
- background:url("../images/redCurves.png") no-repeat top left;
-}
-
-.incomingItem .tableBubble .tr {
- background:url("../images/redCurves.png") no-repeat top right;
-}
-
-.incomingItem .tableBubble .head {
- background:url("../images/redCurves.png") no-repeat -10px 0;
-}
-
-.incomingItem .tableBubble .message {
- background:url("../images/redBackground.png") repeat-y top left;
-}
-
-.incomingItem .tableBubble .messageRight {
- background:url("../images/redBackground.png") repeat-y top right;
-}
-
-.incomingItem .tableBubble .bl {
- background:url("../images/redCurves.png") no-repeat bottom left;
-}
-
-.incomingItem .tableBubble .br {
- background:url("../images/redCurves.png") no-repeat bottom right;
-}
-
-.incomingItem .followUp {
- background-color:#ffdada;
- border-bottom:1px solid #fff;
-}
diff --git a/Swift/resources/themes/Default/Variants/Steel on Yellow Alternating.css b/Swift/resources/themes/Default/Variants/Steel on Yellow Alternating.css
deleted file mode 100644
index 0249230..0000000
--- a/Swift/resources/themes/Default/Variants/Steel on Yellow Alternating.css
+++ /dev/null
@@ -1,7 +0,0 @@
-@import url("Steel on Yellow.css");
-@import url("../alternating.css");
-
-
-.outgoingItem .myBubble .indicator {
- background:url("../images/steelIndicator2.png") no-repeat top left;
-}
diff --git a/Swift/resources/themes/Default/Variants/Steel on Yellow No Names Alt.css b/Swift/resources/themes/Default/Variants/Steel on Yellow No Names Alt.css
deleted file mode 100644
index 9ab928c..0000000
--- a/Swift/resources/themes/Default/Variants/Steel on Yellow No Names Alt.css
+++ /dev/null
@@ -1,2 +0,0 @@
-@import url("Steel on Yellow Alternating.css");
-@import url("../noname.css");
diff --git a/Swift/resources/themes/Default/Variants/Steel on Yellow No Names.css b/Swift/resources/themes/Default/Variants/Steel on Yellow No Names.css
deleted file mode 100644
index ecf7861..0000000
--- a/Swift/resources/themes/Default/Variants/Steel on Yellow No Names.css
+++ /dev/null
@@ -1,2 +0,0 @@
-@import url("Steel on Yellow.css");
-@import url("../noname.css");
diff --git a/Swift/resources/themes/Default/Variants/Steel on Yellow.css b/Swift/resources/themes/Default/Variants/Steel on Yellow.css
deleted file mode 100644
index 2d91510..0000000
--- a/Swift/resources/themes/Default/Variants/Steel on Yellow.css
+++ /dev/null
@@ -1,92 +0,0 @@
-@import url("../main.css");
-
-/* outgoing */
-
-
-.outgoingItem .timeStamp {
- color:#a9a9a9;
-}
-
-.outgoingItem .myBubble .indicator {
- background:url("../images/steelIndicator.png") no-repeat top left;
-}
-
-.outgoingItem .tableBubble .tl {
- background:url("../images/steelCurves.png") no-repeat top left;
-}
-
-.outgoingItem .tableBubble .tr {
- background:url("../images/steelCurves.png") no-repeat top right;
-}
-
-.outgoingItem .tableBubble .head {
- background:url("../images/steelCurves.png") no-repeat -10px 0;
-}
-
-.outgoingItem .tableBubble .message {
- background:url("../images/steelBackground.png") repeat-y top left;
-}
-
-.outgoingItem .tableBubble .messageRight {
- background:url("../images/steelBackground.png") repeat-y top right;
-}
-
-.outgoingItem .tableBubble .bl {
- background:url("../images/steelCurves.png") no-repeat bottom left;
-}
-
-.outgoingItem .tableBubble .br {
- background:url("../images/steelCurves.png") no-repeat bottom right;
-}
-
-.outgoingItem .followUp {
- background-color:#ececec;
- border-bottom:1px solid #fff;
-}
-
-
-
-/*incoming */
-
-.incomingItem .timeStamp {
- color:#bdb410;
-}
-
-.incomingItem .myBubble .indicator {
- background:url("../images/yellowIndicator.png") no-repeat top left;
-}
-
-.incomingItem .tableBubble .tl {
- background:url("../images/yellowCurves.png") no-repeat top left;
-}
-
-.incomingItem .tableBubble .tr {
- background:url("../images/yellowCurves.png") no-repeat top right;
-}
-
-.incomingItem .tableBubble .head {
- background:url("../images/yellowCurves.png") no-repeat -10px 0;
-}
-
-.incomingItem .tableBubble .message {
- background:url("../images/yellowBackground.png") repeat-y top left;
-}
-
-.incomingItem .tableBubble .messageRight {
- background:url("../images/yellowBackground.png") repeat-y top right;
-}
-
-.incomingItem .tableBubble .bl {
- background:url("../images/yellowCurves.png") no-repeat bottom left;
-}
-
-.incomingItem .tableBubble .br {
- background:url("../images/yellowCurves.png") no-repeat bottom right;
-}
-
-.incomingItem .followUp {
- background-color:#f4f0a7;
- border-bottom:1px solid #fff;
-}
-
-
diff --git a/Swift/resources/themes/Default/Variants/Yellow on Blue Alternating.css b/Swift/resources/themes/Default/Variants/Yellow on Blue Alternating.css
deleted file mode 100644
index 361856d..0000000
--- a/Swift/resources/themes/Default/Variants/Yellow on Blue Alternating.css
+++ /dev/null
@@ -1,7 +0,0 @@
-@import url("Yellow on Blue.css");
-@import url("../alternating.css");
-
-
-.outgoingItem .myBubble .indicator {
- background:url("../images/yellowIndicator2.png") no-repeat top left;
-}
diff --git a/Swift/resources/themes/Default/Variants/Yellow on Blue No Names Alt.css b/Swift/resources/themes/Default/Variants/Yellow on Blue No Names Alt.css
deleted file mode 100644
index 2e31a7c..0000000
--- a/Swift/resources/themes/Default/Variants/Yellow on Blue No Names Alt.css
+++ /dev/null
@@ -1,2 +0,0 @@
-@import url("Yellow on Blue Alternating.css");
-@import url("../noname.css");
diff --git a/Swift/resources/themes/Default/Variants/Yellow on Blue No Names.css b/Swift/resources/themes/Default/Variants/Yellow on Blue No Names.css
deleted file mode 100644
index 808377f..0000000
--- a/Swift/resources/themes/Default/Variants/Yellow on Blue No Names.css
+++ /dev/null
@@ -1,2 +0,0 @@
-@import url("Yellow on Blue.css");
-@import url("../noname.css");
diff --git a/Swift/resources/themes/Default/Variants/Yellow on Blue.css b/Swift/resources/themes/Default/Variants/Yellow on Blue.css
deleted file mode 100644
index 7e745e9..0000000
--- a/Swift/resources/themes/Default/Variants/Yellow on Blue.css
+++ /dev/null
@@ -1,91 +0,0 @@
-@import url("../main.css");
-
-/* outgoing */
-
-
-.outgoingItem .timeStamp {
- color:#bdb410;
-}
-
-.outgoingItem .myBubble .indicator {
- background:url("../images/yellowIndicator.png") no-repeat top left;
-}
-
-.outgoingItem .tableBubble .tl {
- background:url("../images/yellowCurves.png") no-repeat top left;
-}
-
-.outgoingItem .tableBubble .tr {
- background:url("../images/yellowCurves.png") no-repeat top right;
-}
-
-.outgoingItem .tableBubble .head {
- background:url("../images/yellowCurves.png") no-repeat -10px 0;
-}
-
-.outgoingItem .tableBubble .message {
- background:url("../images/yellowBackground.png") repeat-y top left;
-}
-
-.outgoingItem .tableBubble .messageRight {
- background:url("../images/yellowBackground.png") repeat-y top right;
-}
-
-.outgoingItem .tableBubble .bl {
- background:url("../images/yellowCurves.png") no-repeat bottom left;
-}
-
-.outgoingItem .tableBubble .br {
- background:url("../images/yellowCurves.png") no-repeat bottom right;
-}
-
-.outgoingItem .followUp {
- background-color:#f4f0a7;
- border-bottom:1px solid #fff;
-}
-
-
-/*incoming */
-
-.incomingItem .timeStamp {
- color:#7fc5f8;
-}
-
-.incomingItem .myBubble .indicator {
- background:url("../images/blueIndicator.png") no-repeat top left;
-}
-
-.incomingItem .tableBubble .tl {
- background:url("../images/blueCurves.png") no-repeat top left;
-}
-
-.incomingItem .tableBubble .tr {
- background:url("../images/blueCurves.png") no-repeat top right;
-}
-
-.incomingItem .tableBubble .head {
- background:url("../images/blueCurves.png") no-repeat -10px 0;
-}
-
-.incomingItem .tableBubble .message {
- background:url("../images/blueBackground.png") repeat-y top left;
-}
-
-.incomingItem .tableBubble .messageRight {
- background:url("../images/blueBackground.png") repeat-y top right;
-}
-
-.incomingItem .tableBubble .bl {
- background:url("../images/blueCurves.png") no-repeat bottom left;
-}
-
-.incomingItem .tableBubble .br {
- background:url("../images/blueCurves.png") no-repeat bottom right;
-}
-
-.incomingItem .followUp {
- background-color:#ddf0fe;
- border-bottom:1px solid #fff;
-}
-
-
diff --git a/Swift/resources/themes/Default/Variants/Yellow on Green Alternating.css b/Swift/resources/themes/Default/Variants/Yellow on Green Alternating.css
deleted file mode 100644
index cb88dfb..0000000
--- a/Swift/resources/themes/Default/Variants/Yellow on Green Alternating.css
+++ /dev/null
@@ -1,7 +0,0 @@
-@import url("Yellow on Green.css");
-@import url("../alternating.css");
-
-
-.outgoingItem .myBubble .indicator {
- background:url("../images/yellowIndicator2.png") no-repeat top left;
-}
diff --git a/Swift/resources/themes/Default/Variants/Yellow on Green No Names Alt.css b/Swift/resources/themes/Default/Variants/Yellow on Green No Names Alt.css
deleted file mode 100644
index 24fe8ef..0000000
--- a/Swift/resources/themes/Default/Variants/Yellow on Green No Names Alt.css
+++ /dev/null
@@ -1,2 +0,0 @@
-@import url("Yellow on Green Alternating.css");
-@import url("../noname.css");
diff --git a/Swift/resources/themes/Default/Variants/Yellow on Green No Names.css b/Swift/resources/themes/Default/Variants/Yellow on Green No Names.css
deleted file mode 100644
index 0c7d12b..0000000
--- a/Swift/resources/themes/Default/Variants/Yellow on Green No Names.css
+++ /dev/null
@@ -1,2 +0,0 @@
-@import url("Yellow on Green.css");
-@import url("../noname.css");
diff --git a/Swift/resources/themes/Default/Variants/Yellow on Green.css b/Swift/resources/themes/Default/Variants/Yellow on Green.css
deleted file mode 100644
index de4afc6..0000000
--- a/Swift/resources/themes/Default/Variants/Yellow on Green.css
+++ /dev/null
@@ -1,96 +0,0 @@
-@import url("../main.css");
-
-/* outgoing */
-
-
-.outgoingItem .timeStamp {
- color:#bdb410;
-}
-
-.outgoingItem .myBubble .indicator {
- background:url("../images/yellowIndicator.png") no-repeat top left;
-}
-
-.outgoingItem .tableBubble .tl {
- background:url("../images/yellowCurves.png") no-repeat top left;
-}
-
-.outgoingItem .tableBubble .tr {
- background:url("../images/yellowCurves.png") no-repeat top right;
-}
-
-.outgoingItem .tableBubble .head {
- background:url("../images/yellowCurves.png") no-repeat -10px 0;
-}
-
-.outgoingItem .tableBubble .message {
- background:url("../images/yellowBackground.png") repeat-y top left;
-}
-
-.outgoingItem .tableBubble .messageRight {
- background:url("../images/yellowBackground.png") repeat-y top right;
-}
-
-.outgoingItem .tableBubble .bl {
- background:url("../images/yellowCurves.png") no-repeat bottom left;
-}
-
-.outgoingItem .tableBubble .br {
- background:url("../images/yellowCurves.png") no-repeat bottom right;
-}
-
-.outgoingItem .followUp {
- background-color:#f4f0a7;
- border-bottom:1px solid #fff;
-}
-
-
-/*incoming */
-
-.incomingItem .timeStamp {
- color:#9ecf35;
-}
-
-
-.incomingItem .myBubble .indicator {
- background:url("../images/greenIndicator.png") no-repeat top left;
-}
-
-.incomingItem .timeStamp {
- color:#9ecf35;
-}
-
-.incomingItem .tableBubble .tl {
- background:url("../images/greenCurves.png") no-repeat top left;
-}
-
-.incomingItem .tableBubble .tr {
- background:url("../images/greenCurves.png") no-repeat top right;
-}
-
-.incomingItem .tableBubble .head {
- background:url("../images/greenCurves.png") no-repeat -10px 0;
-}
-
-.incomingItem .tableBubble .message {
- background:url("../images/greenBackground.png") repeat-y top left;
-}
-
-.incomingItem .tableBubble .messageRight {
- background:url("../images/greenBackground.png") repeat-y top right;
-}
-
-.incomingItem .tableBubble .bl {
- background:url("../images/greenCurves.png") no-repeat bottom left;
-}
-
-.incomingItem .tableBubble .br {
- background:url("../images/greenCurves.png") no-repeat bottom right;
-}
-
-.incomingItem .followUp {
- background-color:#e2efc4;
- border-bottom:1px solid #fff;
-}
-
-
diff --git a/Swift/resources/themes/Default/Variants/Yellow on Red Alternating.css b/Swift/resources/themes/Default/Variants/Yellow on Red Alternating.css
deleted file mode 100644
index 592b8c4..0000000
--- a/Swift/resources/themes/Default/Variants/Yellow on Red Alternating.css
+++ /dev/null
@@ -1,7 +0,0 @@
-@import url("Yellow on Red.css");
-@import url("../alternating.css");
-
-
-.outgoingItem .myBubble .indicator {
- background:url("../images/yellowIndicator2.png") no-repeat top left;
-}
diff --git a/Swift/resources/themes/Default/Variants/Yellow on Red No Names Alt.css b/Swift/resources/themes/Default/Variants/Yellow on Red No Names Alt.css
deleted file mode 100644
index fe464d9..0000000
--- a/Swift/resources/themes/Default/Variants/Yellow on Red No Names Alt.css
+++ /dev/null
@@ -1,2 +0,0 @@
-@import url("Yellow on Red Alternating.css");
-@import url("../noname.css");
diff --git a/Swift/resources/themes/Default/Variants/Yellow on Red No Names.css b/Swift/resources/themes/Default/Variants/Yellow on Red No Names.css
deleted file mode 100644
index f35c8a2..0000000
--- a/Swift/resources/themes/Default/Variants/Yellow on Red No Names.css
+++ /dev/null
@@ -1,2 +0,0 @@
-@import url("Yellow on Red.css");
-@import url("../noname.css");
diff --git a/Swift/resources/themes/Default/Variants/Yellow on Red.css b/Swift/resources/themes/Default/Variants/Yellow on Red.css
deleted file mode 100644
index f73f0d0..0000000
--- a/Swift/resources/themes/Default/Variants/Yellow on Red.css
+++ /dev/null
@@ -1,91 +0,0 @@
-@import url("../main.css");
-
-/* outgoing */
-
-
-.outgoingItem .timeStamp {
- color:#bdb410;
-}
-
-.outgoingItem .myBubble .indicator {
- background:url("../images/yellowIndicator.png") no-repeat top left;
-}
-
-.outgoingItem .tableBubble .tl {
- background:url("../images/yellowCurves.png") no-repeat top left;
-}
-
-.outgoingItem .tableBubble .tr {
- background:url("../images/yellowCurves.png") no-repeat top right;
-}
-
-.outgoingItem .tableBubble .head {
- background:url("../images/yellowCurves.png") no-repeat -10px 0;
-}
-
-.outgoingItem .tableBubble .message {
- background:url("../images/yellowBackground.png") repeat-y top left;
-}
-
-.outgoingItem .tableBubble .messageRight {
- background:url("../images/yellowBackground.png") repeat-y top right;
-}
-
-.outgoingItem .tableBubble .bl {
- background:url("../images/yellowCurves.png") no-repeat bottom left;
-}
-
-.outgoingItem .tableBubble .br {
- background:url("../images/yellowCurves.png") no-repeat bottom right;
-}
-
-.outgoingItem .followUp {
- background-color:#f4f0a7;
- border-bottom:1px solid #fff;
-}
-
-
-/*incoming */
-
-.incomingItem .timeStamp {
- color:#f88f8f;
-}
-
-.incomingItem .myBubble .indicator {
- background:url("../images/redIndicator.png") no-repeat top left;
-}
-
-.incomingItem .tableBubble .tl {
- background:url("../images/redCurves.png") no-repeat top left;
-}
-
-.incomingItem .tableBubble .tr {
- background:url("../images/redCurves.png") no-repeat top right;
-}
-
-.incomingItem .tableBubble .head {
- background:url("../images/redCurves.png") no-repeat -10px 0;
-}
-
-.incomingItem .tableBubble .message {
- background:url("../images/redBackground.png") repeat-y top left;
-}
-
-.incomingItem .tableBubble .messageRight {
- background:url("../images/redBackground.png") repeat-y top right;
-}
-
-.incomingItem .tableBubble .bl {
- background:url("../images/redCurves.png") no-repeat bottom left;
-}
-
-.incomingItem .tableBubble .br {
- background:url("../images/redCurves.png") no-repeat bottom right;
-}
-
-.incomingItem .followUp {
- background-color:#ffdada;
- border-bottom:1px solid #fff;
-}
-
-
diff --git a/Swift/resources/themes/Default/Variants/Yellow on Steel Alternating.css b/Swift/resources/themes/Default/Variants/Yellow on Steel Alternating.css
deleted file mode 100644
index a019487..0000000
--- a/Swift/resources/themes/Default/Variants/Yellow on Steel Alternating.css
+++ /dev/null
@@ -1,7 +0,0 @@
-@import url("Yellow on Steel.css");
-@import url("../alternating.css");
-
-
-.outgoingItem .myBubble .indicator {
- background:url("../images/yellowIndicator2.png") no-repeat top left;
-}
diff --git a/Swift/resources/themes/Default/Variants/Yellow on Steel No Names Alt.css b/Swift/resources/themes/Default/Variants/Yellow on Steel No Names Alt.css
deleted file mode 100644
index 273bcbb..0000000
--- a/Swift/resources/themes/Default/Variants/Yellow on Steel No Names Alt.css
+++ /dev/null
@@ -1,2 +0,0 @@
-@import url("Yellow on Steel Alternating.css");
-@import url("../noname.css");
diff --git a/Swift/resources/themes/Default/Variants/Yellow on Steel No Names.css b/Swift/resources/themes/Default/Variants/Yellow on Steel No Names.css
deleted file mode 100644
index 1f8d314..0000000
--- a/Swift/resources/themes/Default/Variants/Yellow on Steel No Names.css
+++ /dev/null
@@ -1,2 +0,0 @@
-@import url("Yellow on Steel.css");
-@import url("../noname.css");
diff --git a/Swift/resources/themes/Default/Variants/Yellow on Steel.css b/Swift/resources/themes/Default/Variants/Yellow on Steel.css
deleted file mode 100644
index 680f0c8..0000000
--- a/Swift/resources/themes/Default/Variants/Yellow on Steel.css
+++ /dev/null
@@ -1,91 +0,0 @@
-@import url("../main.css");
-
-/* outgoing */
-
-
-.outgoingItem .timeStamp {
- color:#bdb410;
-}
-
-.outgoingItem .myBubble .indicator {
- background:url("../images/yellowIndicator.png") no-repeat top left;
-}
-
-.outgoingItem .tableBubble .tl {
- background:url("../images/yellowCurves.png") no-repeat top left;
-}
-
-.outgoingItem .tableBubble .tr {
- background:url("../images/yellowCurves.png") no-repeat top right;
-}
-
-.outgoingItem .tableBubble .head {
- background:url("../images/yellowCurves.png") no-repeat -10px 0;
-}
-
-.outgoingItem .tableBubble .message {
- background:url("../images/yellowBackground.png") repeat-y top left;
-}
-
-.outgoingItem .tableBubble .messageRight {
- background:url("../images/yellowBackground.png") repeat-y top right;
-}
-
-.outgoingItem .tableBubble .bl {
- background:url("../images/yellowCurves.png") no-repeat bottom left;
-}
-
-.outgoingItem .tableBubble .br {
- background:url("../images/yellowCurves.png") no-repeat bottom right;
-}
-
-.outgoingItem .followUp {
- background-color:#f4f0a7;
- border-bottom:1px solid #fff;
-}
-
-
-/*incoming */
-
-.incomingItem .timeStamp {
- color:#a9a9a9;
-}
-
-.incomingItem .myBubble .indicator {
- background:url("../images/steelIndicator.png") no-repeat top left;
-}
-
-.incomingItem .tableBubble .tl {
- background:url("../images/steelCurves.png") no-repeat top left;
-}
-
-.incomingItem .tableBubble .tr {
- background:url("../images/steelCurves.png") no-repeat top right;
-}
-
-.incomingItem .tableBubble .head {
- background:url("../images/steelCurves.png") no-repeat -10px 0;
-}
-
-.incomingItem .tableBubble .message {
- background:url("../images/steelBackground.png") repeat-y top left;
-}
-
-.incomingItem .tableBubble .messageRight {
- background:url("../images/steelBackground.png") repeat-y top right;
-}
-
-.incomingItem .tableBubble .bl {
- background:url("../images/steelCurves.png") no-repeat bottom left;
-}
-
-.incomingItem .tableBubble .br {
- background:url("../images/steelCurves.png") no-repeat bottom right;
-}
-
-.incomingItem .followUp {
- background-color:#ececec;
- border-bottom:1px solid #fff;
-}
-
-
diff --git a/Swift/resources/themes/Default/alternating.css b/Swift/resources/themes/Default/alternating.css
deleted file mode 100644
index 2b21147..0000000
--- a/Swift/resources/themes/Default/alternating.css
+++ /dev/null
@@ -1,16 +0,0 @@
-
-.outgoingItem .avatar {
- float:right;
-}
-
-.outgoingItem .indicator {
- float:right;
- position:relative;
- left:11px;
- top:8px;
-}
-
-.myBubble {
- margin-right:40px;
-}
-
diff --git a/Swift/resources/themes/Default/images/DummyContact.png b/Swift/resources/themes/Default/images/DummyContact.png
deleted file mode 100755
index 5149ea5..0000000
--- a/Swift/resources/themes/Default/images/DummyContact.png
+++ /dev/null
Binary files differ
diff --git a/Swift/resources/themes/Default/images/alert.png b/Swift/resources/themes/Default/images/alert.png
deleted file mode 100755
index ad59ebc..0000000
--- a/Swift/resources/themes/Default/images/alert.png
+++ /dev/null
Binary files differ
diff --git a/Swift/resources/themes/Default/images/blueBackground.gif b/Swift/resources/themes/Default/images/blueBackground.gif
deleted file mode 100755
index 1aad572..0000000
--- a/Swift/resources/themes/Default/images/blueBackground.gif
+++ /dev/null
Binary files differ
diff --git a/Swift/resources/themes/Default/images/blueBackground.png b/Swift/resources/themes/Default/images/blueBackground.png
deleted file mode 100644
index c3eecf5..0000000
--- a/Swift/resources/themes/Default/images/blueBackground.png
+++ /dev/null
Binary files differ
diff --git a/Swift/resources/themes/Default/images/blueCurves.gif b/Swift/resources/themes/Default/images/blueCurves.gif
deleted file mode 100755
index 90e3823..0000000
--- a/Swift/resources/themes/Default/images/blueCurves.gif
+++ /dev/null
Binary files differ
diff --git a/Swift/resources/themes/Default/images/blueCurves.png b/Swift/resources/themes/Default/images/blueCurves.png
deleted file mode 100644
index 7a6afe1..0000000
--- a/Swift/resources/themes/Default/images/blueCurves.png
+++ /dev/null
Binary files differ
diff --git a/Swift/resources/themes/Default/images/blueIndicator.gif b/Swift/resources/themes/Default/images/blueIndicator.gif
deleted file mode 100755
index 3a1b40a..0000000
--- a/Swift/resources/themes/Default/images/blueIndicator.gif
+++ /dev/null
Binary files differ
diff --git a/Swift/resources/themes/Default/images/blueIndicator.png b/Swift/resources/themes/Default/images/blueIndicator.png
deleted file mode 100644
index 29b65cb..0000000
--- a/Swift/resources/themes/Default/images/blueIndicator.png
+++ /dev/null
Binary files differ
diff --git a/Swift/resources/themes/Default/images/blueIndicator2.png b/Swift/resources/themes/Default/images/blueIndicator2.png
deleted file mode 100644
index d7c3621..0000000
--- a/Swift/resources/themes/Default/images/blueIndicator2.png
+++ /dev/null
Binary files differ
diff --git a/Swift/resources/themes/Default/images/blueIndicatorAlt.gif b/Swift/resources/themes/Default/images/blueIndicatorAlt.gif
deleted file mode 100644
index aaacb89..0000000
--- a/Swift/resources/themes/Default/images/blueIndicatorAlt.gif
+++ /dev/null
Binary files differ
diff --git a/Swift/resources/themes/Default/images/greenBackground.gif b/Swift/resources/themes/Default/images/greenBackground.gif
deleted file mode 100755
index a11a52d..0000000
--- a/Swift/resources/themes/Default/images/greenBackground.gif
+++ /dev/null
Binary files differ
diff --git a/Swift/resources/themes/Default/images/greenBackground.png b/Swift/resources/themes/Default/images/greenBackground.png
deleted file mode 100644
index dfeb36e..0000000
--- a/Swift/resources/themes/Default/images/greenBackground.png
+++ /dev/null
Binary files differ
diff --git a/Swift/resources/themes/Default/images/greenCurves.gif b/Swift/resources/themes/Default/images/greenCurves.gif
deleted file mode 100755
index 165892a..0000000
--- a/Swift/resources/themes/Default/images/greenCurves.gif
+++ /dev/null
Binary files differ
diff --git a/Swift/resources/themes/Default/images/greenCurves.png b/Swift/resources/themes/Default/images/greenCurves.png
deleted file mode 100644
index 13fae75..0000000
--- a/Swift/resources/themes/Default/images/greenCurves.png
+++ /dev/null
Binary files differ
diff --git a/Swift/resources/themes/Default/images/greenIndicator.gif b/Swift/resources/themes/Default/images/greenIndicator.gif
deleted file mode 100755
index b6409c7..0000000
--- a/Swift/resources/themes/Default/images/greenIndicator.gif
+++ /dev/null
Binary files differ
diff --git a/Swift/resources/themes/Default/images/greenIndicator.png b/Swift/resources/themes/Default/images/greenIndicator.png
deleted file mode 100644
index 381db82..0000000
--- a/Swift/resources/themes/Default/images/greenIndicator.png
+++ /dev/null
Binary files differ
diff --git a/Swift/resources/themes/Default/images/greenIndicator2.png b/Swift/resources/themes/Default/images/greenIndicator2.png
deleted file mode 100644
index 1dedb31..0000000
--- a/Swift/resources/themes/Default/images/greenIndicator2.png
+++ /dev/null
Binary files differ
diff --git a/Swift/resources/themes/Default/images/greenIndicatorAlt.gif b/Swift/resources/themes/Default/images/greenIndicatorAlt.gif
deleted file mode 100644
index 3ccbc23..0000000
--- a/Swift/resources/themes/Default/images/greenIndicatorAlt.gif
+++ /dev/null
Binary files differ
diff --git a/Swift/resources/themes/Default/images/redBackground.gif b/Swift/resources/themes/Default/images/redBackground.gif
deleted file mode 100755
index ce1443e..0000000
--- a/Swift/resources/themes/Default/images/redBackground.gif
+++ /dev/null
Binary files differ
diff --git a/Swift/resources/themes/Default/images/redBackground.png b/Swift/resources/themes/Default/images/redBackground.png
deleted file mode 100644
index bbacbc7..0000000
--- a/Swift/resources/themes/Default/images/redBackground.png
+++ /dev/null
Binary files differ
diff --git a/Swift/resources/themes/Default/images/redCurves.gif b/Swift/resources/themes/Default/images/redCurves.gif
deleted file mode 100755
index 55e496d..0000000
--- a/Swift/resources/themes/Default/images/redCurves.gif
+++ /dev/null
Binary files differ
diff --git a/Swift/resources/themes/Default/images/redCurves.png b/Swift/resources/themes/Default/images/redCurves.png
deleted file mode 100644
index 3e7065a..0000000
--- a/Swift/resources/themes/Default/images/redCurves.png
+++ /dev/null
Binary files differ
diff --git a/Swift/resources/themes/Default/images/redIndicator.gif b/Swift/resources/themes/Default/images/redIndicator.gif
deleted file mode 100755
index 58e189c..0000000
--- a/Swift/resources/themes/Default/images/redIndicator.gif
+++ /dev/null
Binary files differ
diff --git a/Swift/resources/themes/Default/images/redIndicator.png b/Swift/resources/themes/Default/images/redIndicator.png
deleted file mode 100644
index 9c906a9..0000000
--- a/Swift/resources/themes/Default/images/redIndicator.png
+++ /dev/null
Binary files differ
diff --git a/Swift/resources/themes/Default/images/redIndicator2.png b/Swift/resources/themes/Default/images/redIndicator2.png
deleted file mode 100644
index 1f625a0..0000000
--- a/Swift/resources/themes/Default/images/redIndicator2.png
+++ /dev/null
Binary files differ
diff --git a/Swift/resources/themes/Default/images/redIndicatorAlt.gif b/Swift/resources/themes/Default/images/redIndicatorAlt.gif
deleted file mode 100644
index 1f9c4f1..0000000
--- a/Swift/resources/themes/Default/images/redIndicatorAlt.gif
+++ /dev/null
Binary files differ
diff --git a/Swift/resources/themes/Default/images/silverBackground.gif b/Swift/resources/themes/Default/images/silverBackground.gif
deleted file mode 100755
index b2798a4..0000000
--- a/Swift/resources/themes/Default/images/silverBackground.gif
+++ /dev/null
Binary files differ
diff --git a/Swift/resources/themes/Default/images/silverCurves.gif b/Swift/resources/themes/Default/images/silverCurves.gif
deleted file mode 100755
index b7bca30..0000000
--- a/Swift/resources/themes/Default/images/silverCurves.gif
+++ /dev/null
Binary files differ
diff --git a/Swift/resources/themes/Default/images/steelBackground.gif b/Swift/resources/themes/Default/images/steelBackground.gif
deleted file mode 100755
index c292710..0000000
--- a/Swift/resources/themes/Default/images/steelBackground.gif
+++ /dev/null
Binary files differ
diff --git a/Swift/resources/themes/Default/images/steelBackground.png b/Swift/resources/themes/Default/images/steelBackground.png
deleted file mode 100644
index b1180d3..0000000
--- a/Swift/resources/themes/Default/images/steelBackground.png
+++ /dev/null
Binary files differ
diff --git a/Swift/resources/themes/Default/images/steelCurves.gif b/Swift/resources/themes/Default/images/steelCurves.gif
deleted file mode 100755
index 663c5c3..0000000
--- a/Swift/resources/themes/Default/images/steelCurves.gif
+++ /dev/null
Binary files differ
diff --git a/Swift/resources/themes/Default/images/steelCurves.png b/Swift/resources/themes/Default/images/steelCurves.png
deleted file mode 100644
index e1ddeb0..0000000
--- a/Swift/resources/themes/Default/images/steelCurves.png
+++ /dev/null
Binary files differ
diff --git a/Swift/resources/themes/Default/images/steelHeading.jpg b/Swift/resources/themes/Default/images/steelHeading.jpg
deleted file mode 100755
index a319c7e..0000000
--- a/Swift/resources/themes/Default/images/steelHeading.jpg
+++ /dev/null
Binary files differ
diff --git a/Swift/resources/themes/Default/images/steelIndicator.gif b/Swift/resources/themes/Default/images/steelIndicator.gif
deleted file mode 100755
index 0d91eed..0000000
--- a/Swift/resources/themes/Default/images/steelIndicator.gif
+++ /dev/null
Binary files differ
diff --git a/Swift/resources/themes/Default/images/steelIndicator.png b/Swift/resources/themes/Default/images/steelIndicator.png
deleted file mode 100644
index 48a3af5..0000000
--- a/Swift/resources/themes/Default/images/steelIndicator.png
+++ /dev/null
Binary files differ
diff --git a/Swift/resources/themes/Default/images/steelIndicator2.png b/Swift/resources/themes/Default/images/steelIndicator2.png
deleted file mode 100644
index 1a34ac7..0000000
--- a/Swift/resources/themes/Default/images/steelIndicator2.png
+++ /dev/null
Binary files differ
diff --git a/Swift/resources/themes/Default/images/steelIndicatorAlt.gif b/Swift/resources/themes/Default/images/steelIndicatorAlt.gif
deleted file mode 100644
index 5d7686d..0000000
--- a/Swift/resources/themes/Default/images/steelIndicatorAlt.gif
+++ /dev/null
Binary files differ
diff --git a/Swift/resources/themes/Default/images/typing-left.png b/Swift/resources/themes/Default/images/typing-left.png
deleted file mode 100755
index e5448a5..0000000
--- a/Swift/resources/themes/Default/images/typing-left.png
+++ /dev/null
Binary files differ
diff --git a/Swift/resources/themes/Default/images/typing-right.png b/Swift/resources/themes/Default/images/typing-right.png
deleted file mode 100755
index 1e997d4..0000000
--- a/Swift/resources/themes/Default/images/typing-right.png
+++ /dev/null
Binary files differ
diff --git a/Swift/resources/themes/Default/images/yellowBackground.gif b/Swift/resources/themes/Default/images/yellowBackground.gif
deleted file mode 100755
index adcdb5d..0000000
--- a/Swift/resources/themes/Default/images/yellowBackground.gif
+++ /dev/null
Binary files differ
diff --git a/Swift/resources/themes/Default/images/yellowBackground.png b/Swift/resources/themes/Default/images/yellowBackground.png
deleted file mode 100644
index ea79d06..0000000
--- a/Swift/resources/themes/Default/images/yellowBackground.png
+++ /dev/null
Binary files differ
diff --git a/Swift/resources/themes/Default/images/yellowCurves.gif b/Swift/resources/themes/Default/images/yellowCurves.gif
deleted file mode 100755
index c8bf931..0000000
--- a/Swift/resources/themes/Default/images/yellowCurves.gif
+++ /dev/null
Binary files differ
diff --git a/Swift/resources/themes/Default/images/yellowCurves.png b/Swift/resources/themes/Default/images/yellowCurves.png
deleted file mode 100644
index b4133ba..0000000
--- a/Swift/resources/themes/Default/images/yellowCurves.png
+++ /dev/null
Binary files differ
diff --git a/Swift/resources/themes/Default/images/yellowHeading.jpg b/Swift/resources/themes/Default/images/yellowHeading.jpg
deleted file mode 100755
index bd6f049..0000000
--- a/Swift/resources/themes/Default/images/yellowHeading.jpg
+++ /dev/null
Binary files differ
diff --git a/Swift/resources/themes/Default/images/yellowIndicator.gif b/Swift/resources/themes/Default/images/yellowIndicator.gif
deleted file mode 100755
index 537414c..0000000
--- a/Swift/resources/themes/Default/images/yellowIndicator.gif
+++ /dev/null
Binary files differ
diff --git a/Swift/resources/themes/Default/images/yellowIndicator.png b/Swift/resources/themes/Default/images/yellowIndicator.png
deleted file mode 100644
index bfaf230..0000000
--- a/Swift/resources/themes/Default/images/yellowIndicator.png
+++ /dev/null
Binary files differ
diff --git a/Swift/resources/themes/Default/images/yellowIndicator2.png b/Swift/resources/themes/Default/images/yellowIndicator2.png
deleted file mode 100644
index c59fe2b..0000000
--- a/Swift/resources/themes/Default/images/yellowIndicator2.png
+++ /dev/null
Binary files differ
diff --git a/Swift/resources/themes/Default/images/yellowIndicatorAlt.gif b/Swift/resources/themes/Default/images/yellowIndicatorAlt.gif
deleted file mode 100644
index f3cd7b0..0000000
--- a/Swift/resources/themes/Default/images/yellowIndicatorAlt.gif
+++ /dev/null
Binary files differ
diff --git a/Swift/resources/themes/Default/images/yellowTL.png b/Swift/resources/themes/Default/images/yellowTL.png
deleted file mode 100644
index 2bdfa65..0000000
--- a/Swift/resources/themes/Default/images/yellowTL.png
+++ /dev/null
Binary files differ
diff --git a/Swift/resources/themes/Default/images/yellowTR.png b/Swift/resources/themes/Default/images/yellowTR.png
deleted file mode 100644
index 1aff191..0000000
--- a/Swift/resources/themes/Default/images/yellowTR.png
+++ /dev/null
Binary files differ
diff --git a/Swift/resources/themes/Default/incoming_icon.png b/Swift/resources/themes/Default/incoming_icon.png
deleted file mode 100755
index 7080fd6..0000000
--- a/Swift/resources/themes/Default/incoming_icon.png
+++ /dev/null
Binary files differ
diff --git a/Swift/resources/themes/Default/main.css b/Swift/resources/themes/Default/main.css
index afca281..d696508 100755..100644
--- a/Swift/resources/themes/Default/main.css
+++ b/Swift/resources/themes/Default/main.css
@@ -1,293 +1,221 @@
-* {
- word-wrap: break-word;
- word-break:break-word;
-}
-
-#header1 {
- position: fixed;
- top: 0px;
- left: 0px;
- right: 0px;
- margin: 0;
- padding: 10px;
- overflow: auto;
- color: white;
- text-align: center;
- font-size: 10px;
- font-weight: regular;
- background: rgba(0,0,0,.65);
- z-index: 999;
-}
-
-#heading {
- position: fixed;
- top: 0px;
- left: 0px;
- margin: 0;
- padding: 5px;
- font-weight: regular;
- background-color:#fbfbed;
- z-index: 999;
- width:100%;
- height:45px;
- border-bottom:2px solid #d5d5d5;
- background:url("images/steelHeading.jpg") repeat-x top left;
-
-}
-
-#heading .conversationIncomingIcon {
- position:absolute;
- left:5px;
- top:5px;
-}
-
-#heading .conversationIncomingIcon img {
- width:48px;
- height:48px;
-}
-
-#heading .conversationWith {
- position:relative;
- left:60px;
- margin:5px 0 0 0;
- overflow:hide;
-}
-
-#heading .conversationTime {
- position:relative;
- left:60px;
- color:#6d6d6d;
-}
+/* Chat Window Container */
body {
- margin-top: 65px;
- background-color: white;
- color: black;
-}
-
-.status_container {
+ font-family: 'Lato', sans-serif;
+ font-size: 14px;
+ margin: 0;
+ padding: 0;
}
-
-body {
- font-family: "DejaVu Sans", "Myriad Pro", Myriad, "Lucida Grande", "Trebuchet MS", Arial, "Droid Sans", sans-serif;
+.container {
+ height: 100%;
+ width: 100%;
+ background-color: #fff;
+ /*border: solid 1px #595959; /* REMOVE THIS LINE. FOR DISPLAY PURPOSE ONLY. */
+ /*margin-left: 20%; /* REMOVE THIS LINE. FOR DISPLAY PURPOSE ONLY. */
+ /*margin-top: 75px; /* REMOVE THIS LINE. FOR DISPLAY PURPOSE ONLY. */
+ position: absolute;
}
-.followUp {
- clear:right;
- height:1px;
- font-size:1px;
- line-height:1px;
- margin:4px 0 4px 0;
-}
+/* Left side colour block*/
-.chatItem {
- /*Removing opacity, because this causes Qt's WebKit to draw low-quality images */
- /*opacity:0.96;*/
+.colour-block {
+ /* This is needed so the grey sidebar stays fixed relative to the view and not the page when scrolling. */
+ /* This also seems to have noticible negative performance side-effects when scrolling. */
+ position: fixed;
+ height: 100%;
+ width: 175px;
+ background-color: #595959;
}
-.tableBubble {
- width:100%;
-}
+/* Holds all user and message content */
-.tableBubble .tl {
- height:8px;
+.message-block {
+ height: 100%;
+ width: 100%;
+ position: absolute;
+ z-index: 10;
+ top: 0;
+ left: 0;
+ margin-bottom: 10px;
+ /*margin-top: -2px; /* REMOVE THIS LINE. FOR DISPLAY PURPOSE ONLY. */
}
-.tableBubble .tr {
- width:8px;
- height:8px;
-}
+/* Individual message */
.message {
- padding:0 1em 0 1.25em;
- word-wrap: break-word;
+ width: 100%;
+ margin-top: 10px;
}
-.tableBubble .message {
- font-size:11px;
+.additional {
+ margin-top: -14px;
}
-.tableBubble .message img {
- vertical-align:middle;
+.unread {
+ height: 15px;
+ border-top: solid 1px #ffd180;
+ margin-top: -6px;
+ margin-bottom: -15px;
+ margin-left: 190px;
+ margin-right: 20px;
+ text-align: right;
}
-.tableBubble .messageRight {
- width:1px;
+.unread p {
+ margin-top: 0px;
+ font-size: 75%;
+ text-transform: uppercase;
+ color: #ffd180;
+ /* color: #ffd180; */
}
-.tableBubble .bl {
- height:10px;
-}
+/* Left column content */
-.tableBubble .br {
- width:8px;
- height:10px;
+.user {
+ height: 32px;
+ width: 175px;
+ text-align: center;
+ float: left;
+ margin-top: 2px;
}
-.tableBubble .timeStamp {
- margin-left:7px;
- text-align:right;
- float:right;
+.time {
+ height: 32px;
+ width: 103px;
+ float: left;
+ text-align: right;
}
-.myBubble .indicator {
- position:absolute;
- top:8px;
- left:0;
- width:13px;
- height:11px;
+.time p {
+ margin-top: 3px;
+ margin-bottom: 1px;
+ margin-right: 10px;
+ color: #f9f9f9;
+ font-size: 10px;
+ font-weight: 300;
}
-.myBubble {
- position:relative;
- padding-left:10px;
- margin-left:33px;
- margin-right:10px;
+.time-additional {
+ height: 32px;
+ width: 103px;
+ float: left;
+ text-align: right;
}
-.chatItem .avatar {
- max-width:32px;
- max-height:32px;
- float:left;
+.time-additional p {
+ margin-top: 0px;
+ margin-bottom: 1px;
+ margin-right: 10px;
+ color: #f9f9f9;
+ font-size: 10px;
+ font-weight: 300;
}
-/****** STatus ******/
-
-.statusMessage {
- opacity:0.8;
- color:#676767;
+.time img {
+ margin-right: 10px;
+ height: 10px;
}
-.statusMessage .myBubble .indicator {
- background:url("images/steelIndicator.png") no-repeat top left;
+.time-additional img {
+ margin-right: 10px;
+ height: 10px;
}
-.statusMessage .tableBubble .tl {
- background:url("images/steelCurves.png") no-repeat top left;
+.myavatar {
+ height: 32px;
+ width: 32px;
+ display: inline-block;
+ margin:0 auto;
+ background-color: #92c47e;
+ border-top-left-radius: 50%;
+ border-bottom-left-radius: 50%;
}
-.statusMessage .tableBubble .tr {
- background:url("images/steelCurves.png") no-repeat top right;
+.otheravatar {
+ height: 32px;
+ width: 32px;
+ display: inline-block;
+ margin:0 auto;
+ background-color: #6eb6ce;
+ border-top-left-radius: 50%;
+ border-bottom-left-radius: 50%;
}
-.statusMessage .tableBubble .head {
- background:url("images/steelCurves.png") no-repeat -10px 0;
+.myavatar img {
+ border-radius: 50%;
+ height: 32px;
}
-.statusMessage .tableBubble .message {
- background:url("images/steelBackground.png") repeat-y top left;
+.otheravatar img {
+ border-radius: 50%;
+ height: 32px;
+ margin-left: -1px;
}
-.statusMessage .tableBubble .messageRight {
- background:url("images/steelBackground.png") repeat-y top right;
+.myright {
+ float:right;
+ width:40px;
+ height: 32px;
+ background: #92c47e;
}
-.statusMessage .tableBubble .bl {
- background:url("images/steelCurves.png") no-repeat bottom left;
+.otherright {
+ float:right;
+ width:40px;
+ height: 32px;
+ background: #6eb6ce;
}
-.statusMessage .tableBubble .br {
- background:url("images/steelCurves.png") no-repeat bottom right;
-}
-
-.statusMessage .followUp {
- background-color:#f4f0a7;
- border-bottom:1px solid #fff;
-}
-
-.statusMessage .timeStamp {
- color:#676767;
-}
-
-
-/*incoming */
-
-.incomingItem .myBubble .indicator {
- background:url("images/yellowIndicator.png") no-repeat top left;
+.systemavatar {
+ height: 32px;
+ width: 32px;
+ display: inline-block;
+ margin:0 auto;
+ background-color: #595959;
+ border-top-left-radius: 50%;
+ border-bottom-left-radius: 50%;
}
-.incomingItem .tableBubble .tl {
- background:url("images/yellowCurves.png") no-repeat top left;
+.systemright {
+ float:right;
+ width:40px;
+ height: 32px;
+ background: #595959;
}
-.incomingItem .tableBubble .tr {
- background:url("images/yellowCurves.png") no-repeat top right;
-}
-
-.incomingItem .tableBubble .head {
- background:url("images/yellowCurves.png") no-repeat -10px 0;
-}
-
-.incomingItem .tableBubble .message {
- background:url("images/yellowBackground.png") repeat-y top left;
-}
-
-.incomingItem .tableBubble .messageRight {
- background:url("images/yellowBackground.png") repeat-y top right;
-}
-
-.incomingItem .tableBubble .bl {
- background:url("images/yellowCurves.png") no-repeat bottom left;
-}
-
-.incomingItem .tableBubble .br {
- background:url("images/yellowCurves.png") no-repeat bottom right;
-}
-
-.incomingItem .followUp {
- background-color:#f4f0a7;
- border-bottom:1px solid #fff;
-}
-
-.incomingItem .timeStamp {
- color:#bdb410;
-}
-
-/* outgoing */
-
-
-.outgoingItem .myBubble .indicator {
- background:url("images/greenIndicator.png") no-repeat top left;
-}
-
-.outgoingItem .tableBubble .tl {
- background:url("images/greenCurves.png") no-repeat top left;
-}
-
-.outgoingItem .tableBubble .tr {
- background:url("images/greenCurves.png") no-repeat top right;
-}
-
-.outgoingItem .tableBubble .head {
- background:url("images/greenCurves.png") no-repeat -10px 0;
-}
-
-.outgoingItem .tableBubble .message {
- background:url("images/greenBackground.png") repeat-y top left;
-}
-
-.outgoingItem .tableBubble .messageRight {
- background:url("images/greenBackground.png") repeat-y top right;
-}
+/* Right column content */
-.outgoingItem .tableBubble .bl {
- background:url("images/greenCurves.png") no-repeat bottom left;
+.text {
+ min-height: 32px;
+ margin-left: 175px;
+ font-size: 14px;
+ color: #595959;
}
-.outgoingItem .tableBubble .br {
- background:url("images/greenCurves.png") no-repeat bottom right;
+.myusername {
+ color: #92c47e;
+ margin-left: 20px;
+ font-weight: 700;
}
-.outgoingItem .followUp {
- background-color:#e2efc4;
- border-bottom:1px solid #fff;
+.otherusername {
+ color: #6eb6ce;
+ margin-left: 20px;
+ font-weight: 700;
}
-.outgoingItem .timeStamp {
- color:#9ecf35;
+.message-content {
+ margin-left: 20px;
+ margin-top: -11px;
+ margin-right: 20px;
+ margin-bottom: 18px;
}
-html {
- height: 101%;
+.system-message {
+ margin-left: 20px;
+ margin-right: 20px;
+ margin-bottom: 18px;
+ color: #aaa;
+ font-style: italic;
}
diff --git a/Swift/resources/themes/Default/noname.css b/Swift/resources/themes/Default/noname.css
deleted file mode 100644
index 9d905a9..0000000
--- a/Swift/resources/themes/Default/noname.css
+++ /dev/null
@@ -1,3 +0,0 @@
-.name {
- display:none;
-}
diff --git a/Swift/resources/themes/Default/outgoing_icon.png b/Swift/resources/themes/Default/outgoing_icon.png
deleted file mode 100755
index 7080fd6..0000000
--- a/Swift/resources/themes/Default/outgoing_icon.png
+++ /dev/null
Binary files differ