--- /dev/null
+#############################################################################
+# Makefile for building: onlineServicesStandAlone
+# Generated by qmake (2.01a) (Qt 4.6.3) on: Wed Jul 14 10:32:20 2010
+# Project: onlineServicesStandAlone.pro
+# Template: app
+# Command: /usr/bin/qmake -unix -o Makefile onlineServicesStandAlone.pro
+#############################################################################
+
+####### Compiler, tools and options
+
+CC = gcc
+CXX = g++
+DEFINES = -DQT_NO_DEBUG -DQT_XML_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED
+CFLAGS = -m64 -pipe -march=x86-64 -mtune=generic -O2 -pipe -Wall -W -D_REENTRANT $(DEFINES)
+CXXFLAGS = -m64 -pipe -march=x86-64 -mtune=generic -O2 -pipe -Wall -W -D_REENTRANT $(DEFINES)
+INCPATH = -I/usr/share/qt/mkspecs/linux-g++-64 -I. -I/usr/include/QtCore -I/usr/include/QtNetwork -I/usr/include/QtGui -I/usr/include/QtXml -I/usr/include -I. -I. -I.
+LINK = g++
+LFLAGS = -m64 -Wl,--hash-style=gnu -Wl,--as-needed -Wl,-O1
+LIBS = $(SUBLIBS) -L/usr/lib -lQtXml -lQtGui -lQtNetwork -lQtCore -lpthread
+AR = ar cqs
+RANLIB =
+QMAKE = /usr/bin/qmake
+TAR = tar -cf
+COMPRESS = gzip -9f
+COPY = cp -f
+SED = sed
+COPY_FILE = $(COPY)
+COPY_DIR = $(COPY) -r
+STRIP = strip
+INSTALL_FILE = install -m 644 -p
+INSTALL_DIR = $(COPY_DIR)
+INSTALL_PROGRAM = install -m 755 -p
+DEL_FILE = rm -f
+SYMLINK = ln -f -s
+DEL_DIR = rmdir
+MOVE = mv -f
+CHK_DIR_EXISTS= test -d
+MKDIR = mkdir -p
+
+####### Output directory
+
+OBJECTS_DIR = ./
+
+####### Files
+
+SOURCES = googlecontenthandler.cpp \
+ googledocument.cpp \
+ googledocumentlist.cpp \
+ googledocumentservice.cpp \
+ loginwindow.cpp \
+ main.cpp \
+ slideshare.cpp \
+ slidesharelistdialog.cpp \
+ slideshareuploaddialog.cpp \
+ googlelistdialog.cpp \
+ mimetypes.cpp \
+ googleuploaddialog.cpp moc_googledocumentservice.cpp \
+ moc_loginwindow.cpp \
+ moc_slideshare.cpp \
+ moc_slidesharelistdialog.cpp \
+ moc_slideshareuploaddialog.cpp \
+ moc_googlelistdialog.cpp \
+ moc_googleuploaddialog.cpp
+OBJECTS = googlecontenthandler.o \
+ googledocument.o \
+ googledocumentlist.o \
+ googledocumentservice.o \
+ loginwindow.o \
+ main.o \
+ slideshare.o \
+ slidesharelistdialog.o \
+ slideshareuploaddialog.o \
+ googlelistdialog.o \
+ mimetypes.o \
+ googleuploaddialog.o \
+ moc_googledocumentservice.o \
+ moc_loginwindow.o \
+ moc_slideshare.o \
+ moc_slidesharelistdialog.o \
+ moc_slideshareuploaddialog.o \
+ moc_googlelistdialog.o \
+ moc_googleuploaddialog.o
+DIST = /usr/share/qt/mkspecs/common/g++.conf \
+ /usr/share/qt/mkspecs/common/unix.conf \
+ /usr/share/qt/mkspecs/common/linux.conf \
+ /usr/share/qt/mkspecs/qconfig.pri \
+ /usr/share/qt/mkspecs/features/qt_functions.prf \
+ /usr/share/qt/mkspecs/features/qt_config.prf \
+ /usr/share/qt/mkspecs/features/exclusive_builds.prf \
+ /usr/share/qt/mkspecs/features/default_pre.prf \
+ /usr/share/qt/mkspecs/features/release.prf \
+ /usr/share/qt/mkspecs/features/default_post.prf \
+ /usr/share/qt/mkspecs/features/warn_on.prf \
+ /usr/share/qt/mkspecs/features/qt.prf \
+ /usr/share/qt/mkspecs/features/unix/thread.prf \
+ /usr/share/qt/mkspecs/features/moc.prf \
+ /usr/share/qt/mkspecs/features/resources.prf \
+ /usr/share/qt/mkspecs/features/uic.prf \
+ /usr/share/qt/mkspecs/features/yacc.prf \
+ /usr/share/qt/mkspecs/features/lex.prf \
+ /usr/share/qt/mkspecs/features/include_source_dir.prf \
+ onlineServicesStandAlone.pro
+QMAKE_TARGET = onlineServicesStandAlone
+DESTDIR =
+TARGET = onlineServicesStandAlone
+
+first: all
+####### Implicit rules
+
+.SUFFIXES: .o .c .cpp .cc .cxx .C
+
+.cpp.o:
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<"
+
+.cc.o:
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<"
+
+.cxx.o:
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<"
+
+.C.o:
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<"
+
+.c.o:
+ $(CC) -c $(CFLAGS) $(INCPATH) -o "$@" "$<"
+
+####### Build rules
+
+all: Makefile $(TARGET)
+
+$(TARGET): ui_authenticationdialog.h ui_filelistdialog.h ui_uploaddialog.h $(OBJECTS)
+ $(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJCOMP) $(LIBS)
+
+Makefile: onlineServicesStandAlone.pro /usr/share/qt/mkspecs/linux-g++-64/qmake.conf /usr/share/qt/mkspecs/common/g++.conf \
+ /usr/share/qt/mkspecs/common/unix.conf \
+ /usr/share/qt/mkspecs/common/linux.conf \
+ /usr/share/qt/mkspecs/qconfig.pri \
+ /usr/share/qt/mkspecs/features/qt_functions.prf \
+ /usr/share/qt/mkspecs/features/qt_config.prf \
+ /usr/share/qt/mkspecs/features/exclusive_builds.prf \
+ /usr/share/qt/mkspecs/features/default_pre.prf \
+ /usr/share/qt/mkspecs/features/release.prf \
+ /usr/share/qt/mkspecs/features/default_post.prf \
+ /usr/share/qt/mkspecs/features/warn_on.prf \
+ /usr/share/qt/mkspecs/features/qt.prf \
+ /usr/share/qt/mkspecs/features/unix/thread.prf \
+ /usr/share/qt/mkspecs/features/moc.prf \
+ /usr/share/qt/mkspecs/features/resources.prf \
+ /usr/share/qt/mkspecs/features/uic.prf \
+ /usr/share/qt/mkspecs/features/yacc.prf \
+ /usr/share/qt/mkspecs/features/lex.prf \
+ /usr/share/qt/mkspecs/features/include_source_dir.prf \
+ /usr/lib/libQtXml.prl \
+ /usr/lib/libQtGui.prl \
+ /usr/lib/libQtNetwork.prl \
+ /usr/lib/libQtCore.prl
+ $(QMAKE) -unix -o Makefile onlineServicesStandAlone.pro
+/usr/share/qt/mkspecs/common/g++.conf:
+/usr/share/qt/mkspecs/common/unix.conf:
+/usr/share/qt/mkspecs/common/linux.conf:
+/usr/share/qt/mkspecs/qconfig.pri:
+/usr/share/qt/mkspecs/features/qt_functions.prf:
+/usr/share/qt/mkspecs/features/qt_config.prf:
+/usr/share/qt/mkspecs/features/exclusive_builds.prf:
+/usr/share/qt/mkspecs/features/default_pre.prf:
+/usr/share/qt/mkspecs/features/release.prf:
+/usr/share/qt/mkspecs/features/default_post.prf:
+/usr/share/qt/mkspecs/features/warn_on.prf:
+/usr/share/qt/mkspecs/features/qt.prf:
+/usr/share/qt/mkspecs/features/unix/thread.prf:
+/usr/share/qt/mkspecs/features/moc.prf:
+/usr/share/qt/mkspecs/features/resources.prf:
+/usr/share/qt/mkspecs/features/uic.prf:
+/usr/share/qt/mkspecs/features/yacc.prf:
+/usr/share/qt/mkspecs/features/lex.prf:
+/usr/share/qt/mkspecs/features/include_source_dir.prf:
+/usr/lib/libQtXml.prl:
+/usr/lib/libQtGui.prl:
+/usr/lib/libQtNetwork.prl:
+/usr/lib/libQtCore.prl:
+qmake: FORCE
+ @$(QMAKE) -unix -o Makefile onlineServicesStandAlone.pro
+
+dist:
+ @$(CHK_DIR_EXISTS) .tmp/onlineServicesStandAlone1.0.0 || $(MKDIR) .tmp/onlineServicesStandAlone1.0.0
+ $(COPY_FILE) --parents $(SOURCES) $(DIST) .tmp/onlineServicesStandAlone1.0.0/ && $(COPY_FILE) --parents googlecontenthandler.h googledocument.h googledocumentlist.h googledocumentservice.h loginwindow.h slideshare.h slidesharelistdialog.h slideshareuploaddialog.h slideshareDocument.h mimetypes.h googlelistdialog.h googleuploaddialog.h .tmp/onlineServicesStandAlone1.0.0/ && $(COPY_FILE) --parents googlecontenthandler.cpp googledocument.cpp googledocumentlist.cpp googledocumentservice.cpp loginwindow.cpp main.cpp slideshare.cpp slidesharelistdialog.cpp slideshareuploaddialog.cpp googlelistdialog.cpp mimetypes.cpp googleuploaddialog.cpp .tmp/onlineServicesStandAlone1.0.0/ && $(COPY_FILE) --parents authenticationdialog.ui filelistdialog.ui uploaddialog.ui .tmp/onlineServicesStandAlone1.0.0/ && (cd `dirname .tmp/onlineServicesStandAlone1.0.0` && $(TAR) onlineServicesStandAlone1.0.0.tar onlineServicesStandAlone1.0.0 && $(COMPRESS) onlineServicesStandAlone1.0.0.tar) && $(MOVE) `dirname .tmp/onlineServicesStandAlone1.0.0`/onlineServicesStandAlone1.0.0.tar.gz . && $(DEL_FILE) -r .tmp/onlineServicesStandAlone1.0.0
+
+
+clean:compiler_clean
+ -$(DEL_FILE) $(OBJECTS)
+ -$(DEL_FILE) *~ core *.core
+
+
+####### Sub-libraries
+
+distclean: clean
+ -$(DEL_FILE) $(TARGET)
+ -$(DEL_FILE) Makefile
+
+
+check: first
+
+mocclean: compiler_moc_header_clean compiler_moc_source_clean
+
+mocables: compiler_moc_header_make_all compiler_moc_source_make_all
+
+compiler_moc_header_make_all: moc_googledocumentservice.cpp moc_loginwindow.cpp moc_slideshare.cpp moc_slidesharelistdialog.cpp moc_slideshareuploaddialog.cpp moc_googlelistdialog.cpp moc_googleuploaddialog.cpp
+compiler_moc_header_clean:
+ -$(DEL_FILE) moc_googledocumentservice.cpp moc_loginwindow.cpp moc_slideshare.cpp moc_slidesharelistdialog.cpp moc_slideshareuploaddialog.cpp moc_googlelistdialog.cpp moc_googleuploaddialog.cpp
+moc_googledocumentservice.cpp: googledocumentservice.h
+ /usr/bin/moc $(DEFINES) $(INCPATH) googledocumentservice.h -o moc_googledocumentservice.cpp
+
+moc_loginwindow.cpp: ui_authenticationdialog.h \
+ loginwindow.h
+ /usr/bin/moc $(DEFINES) $(INCPATH) loginwindow.h -o moc_loginwindow.cpp
+
+moc_slideshare.cpp: slideshare.h
+ /usr/bin/moc $(DEFINES) $(INCPATH) slideshare.h -o moc_slideshare.cpp
+
+moc_slidesharelistdialog.cpp: slideshare.h \
+ slidesharelistdialog.h
+ /usr/bin/moc $(DEFINES) $(INCPATH) slidesharelistdialog.h -o moc_slidesharelistdialog.cpp
+
+moc_slideshareuploaddialog.cpp: slideshareuploaddialog.h
+ /usr/bin/moc $(DEFINES) $(INCPATH) slideshareuploaddialog.h -o moc_slideshareuploaddialog.cpp
+
+moc_googlelistdialog.cpp: googledocumentservice.h \
+ googlelistdialog.h
+ /usr/bin/moc $(DEFINES) $(INCPATH) googlelistdialog.h -o moc_googlelistdialog.cpp
+
+moc_googleuploaddialog.cpp: googleuploaddialog.h
+ /usr/bin/moc $(DEFINES) $(INCPATH) googleuploaddialog.h -o moc_googleuploaddialog.cpp
+
+compiler_rcc_make_all:
+compiler_rcc_clean:
+compiler_image_collection_make_all: qmake_image_collection.cpp
+compiler_image_collection_clean:
+ -$(DEL_FILE) qmake_image_collection.cpp
+compiler_moc_source_make_all:
+compiler_moc_source_clean:
+compiler_uic_make_all: ui_authenticationdialog.h ui_filelistdialog.h ui_uploaddialog.h
+compiler_uic_clean:
+ -$(DEL_FILE) ui_authenticationdialog.h ui_filelistdialog.h ui_uploaddialog.h
+ui_authenticationdialog.h: authenticationdialog.ui
+ /usr/bin/uic authenticationdialog.ui -o ui_authenticationdialog.h
+
+ui_filelistdialog.h: filelistdialog.ui
+ /usr/bin/uic filelistdialog.ui -o ui_filelistdialog.h
+
+ui_uploaddialog.h: uploaddialog.ui
+ /usr/bin/uic uploaddialog.ui -o ui_uploaddialog.h
+
+compiler_yacc_decl_make_all:
+compiler_yacc_decl_clean:
+compiler_yacc_impl_make_all:
+compiler_yacc_impl_clean:
+compiler_lex_make_all:
+compiler_lex_clean:
+compiler_clean: compiler_moc_header_clean compiler_uic_clean
+
+####### Compile
+
+googlecontenthandler.o: googlecontenthandler.cpp googledocumentlist.h \
+ googledocument.h \
+ googlecontenthandler.h
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o googlecontenthandler.o googlecontenthandler.cpp
+
+googledocument.o: googledocument.cpp googledocument.h
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o googledocument.o googledocument.cpp
+
+googledocumentlist.o: googledocumentlist.cpp googledocumentlist.h \
+ googledocument.h
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o googledocumentlist.o googledocumentlist.cpp
+
+googledocumentservice.o: googledocumentservice.cpp googledocumentservice.h \
+ googledocumentlist.h \
+ googledocument.h \
+ googlecontenthandler.h \
+ mimetypes.h
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o googledocumentservice.o googledocumentservice.cpp
+
+loginwindow.o: loginwindow.cpp loginwindow.h \
+ ui_authenticationdialog.h \
+ googledocumentservice.h \
+ googlelistdialog.h \
+ slideshare.h \
+ slidesharelistdialog.h
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o loginwindow.o loginwindow.cpp
+
+main.o: main.cpp loginwindow.h \
+ ui_authenticationdialog.h
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o main.o main.cpp
+
+slideshare.o: slideshare.cpp slideshare.h \
+ slideshareDocument.h \
+ mimetypes.h
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o slideshare.o slideshare.cpp
+
+slidesharelistdialog.o: slidesharelistdialog.cpp slidesharelistdialog.h \
+ slideshare.h \
+ ui_filelistdialog.h \
+ slideshareuploaddialog.h \
+ slideshareDocument.h
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o slidesharelistdialog.o slidesharelistdialog.cpp
+
+slideshareuploaddialog.o: slideshareuploaddialog.cpp slideshareuploaddialog.h \
+ ui_uploaddialog.h \
+ slideshare.h
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o slideshareuploaddialog.o slideshareuploaddialog.cpp
+
+googlelistdialog.o: googlelistdialog.cpp googlelistdialog.h \
+ googledocumentservice.h \
+ ui_filelistdialog.h \
+ googledocument.h \
+ googleuploaddialog.h
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o googlelistdialog.o googlelistdialog.cpp
+
+mimetypes.o: mimetypes.cpp mimetypes.h
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o mimetypes.o mimetypes.cpp
+
+googleuploaddialog.o: googleuploaddialog.cpp googleuploaddialog.h \
+ ui_uploaddialog.h \
+ googledocumentservice.h
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o googleuploaddialog.o googleuploaddialog.cpp
+
+moc_googledocumentservice.o: moc_googledocumentservice.cpp
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_googledocumentservice.o moc_googledocumentservice.cpp
+
+moc_loginwindow.o: moc_loginwindow.cpp
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_loginwindow.o moc_loginwindow.cpp
+
+moc_slideshare.o: moc_slideshare.cpp
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_slideshare.o moc_slideshare.cpp
+
+moc_slidesharelistdialog.o: moc_slidesharelistdialog.cpp
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_slidesharelistdialog.o moc_slidesharelistdialog.cpp
+
+moc_slideshareuploaddialog.o: moc_slideshareuploaddialog.cpp
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_slideshareuploaddialog.o moc_slideshareuploaddialog.cpp
+
+moc_googlelistdialog.o: moc_googlelistdialog.cpp
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_googlelistdialog.o moc_googlelistdialog.cpp
+
+moc_googleuploaddialog.o: moc_googleuploaddialog.cpp
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_googleuploaddialog.o moc_googleuploaddialog.cpp
+
+####### Install
+
+install: FORCE
+
+uninstall: FORCE
+
+FORCE:
+
--- /dev/null
+/*
+ * This file is part of Maemo 5 Office UI for KOffice
+ *
+ * Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ *
+ * Contact: Lassi Nieminen <lassniem@gmail.com>
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of
+ * the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA
+ *
+ */
+
+#ifndef OFFICEINTERFACE_H
+#define OFFICEINTERFACE_H
+
+#include <QtPlugin>
+#include <QWidget>
+#include <QStringList>
+
+class OfficeInterface
+{
+public:
+
+ virtual ~OfficeInterface() {}
+
+ // This is used to give information about the currently active doc to the plugin
+ // 0 if there is no document open
+ virtual void setDocument(void *doc) = 0;
+
+ // Asks the plugin to create it's view for the main program to use
+ virtual QWidget *view() = 0;
+
+ // Should return the name of the plugin
+ virtual QString pluginName() = 0;
+
+ // Should return list of document types in presence of which this plugin
+ // should be shown in the menubar.
+ // Possible values : All, presentation, document, spreadsheet
+ //
+ // NOTE: this is not actually used yet in the main program and may be extented
+ // in the future.
+ virtual QStringList pluginSupportTypes() = 0;
+};
+
+Q_DECLARE_INTERFACE(OfficeInterface, "com.office.Freoffice.OfficeInterface/1.0")
+
+#endif
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>Dialog</class>
+ <widget class="QDialog" name="Dialog">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>449</width>
+ <height>135</height>
+ </rect>
+ </property>
+ <property name="windowTitle">
+ <string>Account Signin</string>
+ </property>
+ <layout class="QVBoxLayout" name="verticalLayout">
+ <item>
+ <widget class="QLabel" name="label">
+ <property name="text">
+ <string>You need to supply Username and Password to access documents</string>
+ </property>
+ <property name="wordWrap">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <layout class="QGridLayout" name="gridLayout">
+ <item row="0" column="0">
+ <widget class="QLabel" name="label_4">
+ <property name="text">
+ <string>Site:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QComboBox" name="comboBox"/>
+ </item>
+ <item row="1" column="0">
+ <widget class="QLabel" name="label_2">
+ <property name="text">
+ <string>Username:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <widget class="QLineEdit" name="userEdit">
+ <property name="text">
+ <string>@gmail.com</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="0">
+ <widget class="QLabel" name="label_3">
+ <property name="text">
+ <string>Password:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="1">
+ <widget class="QLineEdit" name="passwordEdit">
+ <property name="inputMask">
+ <string/>
+ </property>
+ <property name="text">
+ <string/>
+ </property>
+ <property name="echoMode">
+ <enum>QLineEdit::Password</enum>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <widget class="QPushButton" name="loginButton">
+ <property name="text">
+ <string>Sign In</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <resources/>
+ <connections/>
+</ui>
--- /dev/null
+/*
+ * This file is part of Maemo 5 Office UI for KOffice
+ *
+ * Copyright (C) 2010 Manikandaprasad N C <maninc@gmail.com>.
+ *
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of
+ * the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA
+ *
+ */
+
+#include <QtNetwork>
+#include <QMessageBox>
+#include "authenticator.h"
+
+NetworkHandler::NetworkHandler(QObject * parent)
+ : QObject(parent),
+ loggedin(false)
+{
+ //QNetworkProxy proxy(QNetworkProxy::HttpProxy, "nokes.nokia.com", 8080);
+ //networkManager.setProxy(proxy);
+}
--- /dev/null
+/*
+ * This file is part of Maemo 5 Office UI for KOffice
+ *
+ * Copyright (C) 2010 Manikandaprasad N C <maninc@gmail.com>.
+ *
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of
+ * the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA
+ *
+ */
+
+#ifndef AUTHENTICATOR_H
+#define AUTHENTICATOR_H
+
+#include <QObject>
+#include <QNetworkAccessManager>
+
+class NetworkHandler : public QObject
+{
+ Q_OBJECT
+
+public:
+ NetworkHandler(QObject * parent = 0);
+
+signals:
+ void receivedFeed();
+
+protected:
+ QNetworkAccessManager networkManager;;
+ bool loggedin;
+};
+
+#endif // AUTHENTICATOR_H
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>fileListDialog</class>
+ <widget class="QDialog" name="fileListDialog">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>640</width>
+ <height>480</height>
+ </rect>
+ </property>
+ <property name="windowTitle">
+ <string>FileList</string>
+ </property>
+ <layout class="QVBoxLayout" name="verticalLayout_4">
+ <item>
+ <widget class="QTabWidget" name="listTab">
+ <property name="tabShape">
+ <enum>QTabWidget::Rounded</enum>
+ </property>
+ <property name="currentIndex">
+ <number>1</number>
+ </property>
+ <widget class="QWidget" name="documentTab">
+ <attribute name="title">
+ <string>Documents</string>
+ </attribute>
+ <layout class="QVBoxLayout" name="verticalLayout">
+ <item>
+ <widget class="QListWidget" name="documentList"/>
+ </item>
+ </layout>
+ </widget>
+ <widget class="QWidget" name="presentationTab">
+ <attribute name="title">
+ <string>Presentations</string>
+ </attribute>
+ <layout class="QVBoxLayout" name="verticalLayout_2">
+ <item>
+ <widget class="QListWidget" name="presentationList"/>
+ </item>
+ </layout>
+ </widget>
+ <widget class="QWidget" name="spreadsheetTab">
+ <attribute name="title">
+ <string>Spreadsheets</string>
+ </attribute>
+ <layout class="QVBoxLayout" name="verticalLayout_3">
+ <item>
+ <widget class="QListWidget" name="spreadsheetList"/>
+ </item>
+ </layout>
+ </widget>
+ <widget class="QWidget" name="othersTab">
+ <attribute name="title">
+ <string>Others</string>
+ </attribute>
+ <layout class="QVBoxLayout" name="verticalLayout_5">
+ <item>
+ <widget class="QListWidget" name="othersList"/>
+ </item>
+ </layout>
+ </widget>
+ </widget>
+ </item>
+ <item>
+ <widget class="QProgressBar" name="downloadProgressBar">
+ <property name="value">
+ <number>0</number>
+ </property>
+ <property name="textVisible">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <layout class="QHBoxLayout" name="horizontalLayout">
+ <item>
+ <widget class="QPushButton" name="uploadButton">
+ <property name="text">
+ <string>&Upload</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="refreshButton">
+ <property name="text">
+ <string>&Refresh List</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="downloadButton">
+ <property name="text">
+ <string>&Download</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ </layout>
+ </widget>
+ <resources/>
+ <connections/>
+</ui>
--- /dev/null
+/*
+ * Copyright (c) 2010 Mani Chandrasekar <maninc@gmail.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+
+#include <QtXml>
+
+#include "googledocumentlist.h"
+#include "googledocument.h"
+#include "googlecontenthandler.h"
+
+GoogleContentHandler::GoogleContentHandler()
+ : m_docList(0),
+ m_docEntry(0)
+{
+ m_docList = new GoogleDocumentList();
+}
+
+bool GoogleContentHandler::characters ( const QString & ch )
+{
+ if (!insideEntry) {
+ if (QString::compare(m_nodeStack.top(), "title", Qt::CaseInsensitive) == 0) {
+ if (m_nodeStack.count() == 2)
+ m_docList->setTitle(ch);
+ }
+ else if (QString::compare(m_nodeStack.top(), "name", Qt::CaseInsensitive) == 0) {
+ if (m_nodeStack.count() == 3)
+ m_docList->setAuthor(ch);
+ }
+ else if (QString::compare(m_nodeStack.top(), "email", Qt::CaseInsensitive) == 0) {
+ if (m_nodeStack.count() == 3)
+ m_docList->setEmail(ch);
+ }
+ }
+ else
+ {
+ if (m_docEntry == 0)
+ return true;
+
+ if (QString::compare(m_nodeStack.top(), "title", Qt::CaseInsensitive) == 0) {
+ m_docEntry->setTitle(ch);
+ }
+ else if (QString::compare(m_nodeStack.top(), "name", Qt::CaseInsensitive) == 0) {
+ m_docEntry->setAuthor(ch);
+ }
+ else if (QString::compare(m_nodeStack.top(), "resourceId", Qt::CaseInsensitive) == 0) {
+ m_docEntry->setId(ch);
+ }
+ }
+ return true;
+}
+
+bool GoogleContentHandler::endDocument ()
+{
+ //qDebug() << "GoogleContentHandler::endDocument()";
+ return true;
+}
+
+bool GoogleContentHandler::endElement ( const QString & namespaceURI, const QString & localName, const QString & qName )
+{
+ //printName(localName);
+ QString element = m_nodeStack.pop();
+ if (QString::compare(element, "entry") == 0) {
+ insideEntry = false;
+ m_docList->append(m_docEntry);
+ m_docEntry = 0;
+ }
+ return true;
+}
+
+bool GoogleContentHandler::endPrefixMapping ( const QString & prefix )
+{
+ return true;
+}
+
+QString GoogleContentHandler::errorString () const
+{
+ return QString();
+}
+
+bool GoogleContentHandler::ignorableWhitespace ( const QString & ch )
+{
+ return true;
+}
+
+bool GoogleContentHandler::processingInstruction ( const QString & target, const QString & data )
+{
+ return true;
+}
+
+void GoogleContentHandler::setDocumentLocator ( QXmlLocator * locator )
+{
+}
+
+bool GoogleContentHandler::skippedEntity ( const QString & name )
+{
+ return true;
+}
+
+bool GoogleContentHandler::startDocument ()
+{
+ return true;
+}
+
+bool GoogleContentHandler::startElement ( const QString & namespaceURI, const QString & localName,
+ const QString & qName, const QXmlAttributes & atts )
+{
+ m_nodeStack.push(localName);
+
+ if ((m_nodeStack.count() == 1) && (m_docList != 0)) { //Feed element
+ m_docList->setEtag(atts.value("gd:etag"));
+ }
+
+ if (QString::compare(localName, "entry", Qt::CaseInsensitive) == 0 ) {
+ m_docEntry = new GoogleDocument();
+ m_docEntry->setEtag(atts.value("gd:etag"));
+ insideEntry = true;
+ }
+ if ( insideEntry && (QString::compare(localName, "content", Qt::CaseInsensitive) == 0 ) && (m_docEntry != 0)) {
+ m_docEntry->setDocumentUrl(atts.value("src"));
+ }
+
+ //printName(localName);
+
+ return true;
+}
+
+bool GoogleContentHandler::startPrefixMapping ( const QString & prefix, const QString & uri )
+{
+ //qDebug() << "GoogleContentHandler::startPrefixMapping() " << prefix << uri;
+ return true;
+}
+
+void GoogleContentHandler::printName(const QString & name)
+{
+ int count = m_nodeStack.count();
+ QString indent;
+ for (int i=0; i < count; i++)
+ indent.append("\t");
+ indent.append(name);
+
+ if (insideEntry);
+// qDebug() << indent;
+}
--- /dev/null
+/*
+ * Copyright (c) 2010 Mani Chandrasekar <maninc@gmail.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+
+#ifndef GOOGLECONTENTHANDLER_H
+#define GOOGLECONTENTHANDLER_H
+
+#include <QXmlContentHandler>
+#include <QStack>
+
+class GoogleDocumentList;
+class GoogleDocument;
+
+class GoogleContentHandler : public QXmlContentHandler
+{
+public:
+ GoogleContentHandler();
+
+ virtual bool characters ( const QString & ch );
+ virtual bool endDocument ();
+ virtual bool endElement ( const QString & namespaceURI, const QString & localName, const QString & qName );
+ virtual bool endPrefixMapping ( const QString & prefix );
+ virtual QString errorString () const;
+ virtual bool ignorableWhitespace ( const QString & ch );
+ virtual bool processingInstruction ( const QString & target, const QString & data );
+ virtual void setDocumentLocator ( QXmlLocator * locator );
+ virtual bool skippedEntity ( const QString & name );
+ virtual bool startDocument ();
+ virtual bool startElement ( const QString & namespaceURI, const QString & localName, const QString & qName, const QXmlAttributes & atts );
+ virtual bool startPrefixMapping ( const QString & prefix, const QString & uri );
+
+ GoogleDocumentList *documentList() { return m_docList; }
+
+private:
+ QStack<QString> m_nodeStack;
+ bool insideEntry;
+ GoogleDocumentList *m_docList;
+ GoogleDocument *m_docEntry;
+
+ void printName(const QString & name);
+};
+
+#endif // GOOGLECONTENTHANDLER_H
--- /dev/null
+/*
+ * This file is part of Maemo 5 Office UI for KOffice
+ *
+ * Copyright (C) 2010 Manikandaprasad N C <maninc@gmail.com>.
+ *
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of
+ * the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA
+ *
+ */
+
+#include "googledocument.h"
+
+GoogleDocument::GoogleDocument()
+{
+}
+
+void GoogleDocument::setEtag(const QString & etag)
+{
+ m_etag = etag;
+}
+
+QString GoogleDocument::etag ()
+{
+ return m_etag;
+}
+
+void GoogleDocument::setId (const QString & id)
+{
+ m_id = id;
+
+ setDocumentType(id.left(id.indexOf(":")));
+}
+
+QString GoogleDocument::id ()
+{
+ return m_id;
+}
+
+void GoogleDocument::setTitle (const QString & title)
+{
+ m_title = title;
+}
+
+QString GoogleDocument::title ()
+{
+ return m_title;
+}
+
+void GoogleDocument::setAuthor (const QString & author)
+{
+ m_author = author;
+}
+
+QString GoogleDocument::author ()
+{
+ return m_author;
+}
+
+void GoogleDocument::setDocumentType (const QString & docType)
+{
+ m_docType = docType;
+}
+
+QString GoogleDocument::documentType ()
+{
+ return m_docType;
+}
+
+void GoogleDocument::setDocumentUrl (const QString & url)
+{
+ m_documetUrl = url;
+}
+
+QString GoogleDocument::documentUrl ()
+{
+ return m_documetUrl;
+}
--- /dev/null
+/*
+ * This file is part of Maemo 5 Office UI for KOffice
+ *
+ * Copyright (C) 2010 Manikandaprasad N C <maninc@gmail.com>.
+ *
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of
+ * the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA
+ *
+ */
+
+#ifndef GOOGLEDOCUMENT_H
+#define GOOGLEDOCUMENT_H
+
+#include <QObject>
+
+class GoogleDocument : public QObject
+{
+public:
+ GoogleDocument();
+
+ void setEtag(const QString & etag);
+ QString etag ();
+
+ void setId (const QString & id);
+ QString id ();
+
+ void setTitle (const QString & title);
+ QString title ();
+
+ void setAuthor (const QString & author);
+ QString author ();
+
+ void setDocumentType (const QString & docType);
+ QString documentType ();
+
+ void setDocumentUrl (const QString & url);
+ QString documentUrl ();
+
+private:
+ QString m_etag;
+ QString m_id;
+ QString m_title;
+ QString m_author;
+ QString m_docType;
+ QString m_documetUrl;
+};
+
+#endif // GOOGLEDOCUMENT_H
--- /dev/null
+/*
+ * This file is part of Maemo 5 Office UI for KOffice
+ *
+ * Copyright (C) 2010 Manikandaprasad N C <maninc@gmail.com>.
+ *
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of
+ * the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA
+ *
+ */
+
+#include "googledocumentlist.h"
+#include "googledocument.h"
+
+#include <stdio.h>
+#include <QtCore>
+
+GoogleDocumentList::GoogleDocumentList()
+{
+ docModel = new QStandardItemModel(0, 2);
+}
+
+void GoogleDocumentList::setEtag(const QString &etag)
+{
+ m_etag = etag;
+}
+
+QString GoogleDocumentList::etag ()
+{
+ return m_etag;
+}
+
+void GoogleDocumentList::setEmail (const QString &email)
+{
+ m_email = email;
+}
+
+QString GoogleDocumentList::email ()
+{
+ return m_email;
+}
+
+void GoogleDocumentList::setTitle (const QString &title)
+{
+ m_title = title;
+}
+
+QString GoogleDocumentList::title ()
+{
+ return m_title;
+}
+
+void GoogleDocumentList::setAuthor (const QString &author)
+{
+ m_author = author;
+}
+
+QString GoogleDocumentList::author ()
+{
+ return m_author;
+}
+
+void GoogleDocumentList::append(GoogleDocument *entry)
+{
+ if (entry != 0 ) {
+ m_entries.append(entry);
+
+ //count = docModel->rowCount();
+ docModel->insertRow(0);
+ docModel->setData(docModel->index(0, 0), entry->title());
+ docModel->setData(docModel->index(0, 1), entry->documentUrl());
+// qDebug() << "Resource ID : " << entry->id();
+// qDebug() << "Title : " << entry->title();
+// qDebug() << "Author : " << entry->author();
+// qDebug() << "Url : " << entry->documentUrl();
+ }
+}
+
+QList<GoogleDocument *> GoogleDocumentList::entries()
+{
+ return m_entries;
+}
+
+int GoogleDocumentList::documentsCount()
+{
+ return m_entries.count();
+}
--- /dev/null
+/*
+ * This file is part of Maemo 5 Office UI for KOffice
+ *
+ * Copyright (C) 2010 Manikandaprasad N C <maninc@gmail.com>.
+ *
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of
+ * the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA
+ *
+ */
+
+#ifndef GOOGLEDOCUMENTLIST_H
+#define GOOGLEDOCUMENTLIST_H
+
+#include <QObject>
+#include <QList>
+#include <QStandardItemModel>
+
+class GoogleDocument;
+
+class GoogleDocumentList : public QObject
+{
+public:
+ GoogleDocumentList();
+
+ void setEtag(const QString &etag);
+ QString etag ();
+
+ void setEmail (const QString &email);
+ QString email ();
+
+ void setTitle (const QString &title);
+ QString title ();
+
+ void setAuthor (const QString &author);
+ QString author ();
+
+ void append(GoogleDocument *entry);
+ int documentsCount();
+
+ QList<GoogleDocument *> entries ();
+
+ QStandardItemModel * documentModel() { return docModel; }
+
+private:
+ QString m_author;
+ QString m_email;
+ QString m_title;
+ QString m_etag;
+
+ QList <GoogleDocument *>m_entries;
+
+ QStandardItemModel *docModel;
+};
+
+#endif // GOOGLEDOCUMENTLIST_H
--- /dev/null
+/*
+ * Copyright (c) 2010 Mani Chandrasekar <maninc@gmail.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+
+#include <QtGui>
+#include <QtNetwork>
+#include <QMessageBox>
+
+#include "googledocumentservice.h"
+#include "googledocumentlist.h"
+#include "googledocument.h"
+#include "googlecontenthandler.h"
+#include "mimetypes.h"
+const QString GoogleDocumentService::GOOGLE_DOCUMENT_URL = "docs.google.com";
+const QString GoogleDocumentService::GOOGLE_SPREADSHEET_URL = "spreadsheets.google.com";
+
+GoogleDocumentService::GoogleDocumentService()
+ : newInformation(true)
+ ,waitingForDoc(false)
+ , uploadingDoc(false)
+ , loggedin(false)
+ , haveDocAuthToken(false)
+{
+ saveFileName = 0;
+ connect(&networkManager, SIGNAL(finished(QNetworkReply*)),
+ this, SLOT(handleNetworkData(QNetworkReply*)));
+ gHandler = new GoogleContentHandler();
+ xmlReader.setContentHandler(gHandler);
+}
+
+void GoogleDocumentService::clientLogin(const QString & username, const QString & password)
+{
+ QByteArray data;
+ data.append(QString("Email="+username+"&Passwd="+password).toUtf8());
+
+ if(!haveDocAuthToken) {
+ data.append(QString("&service=writely&source=KOfficev2").toUtf8());
+ this->username = username;
+ this->password = password;
+ }
+ else {
+ data.append(QString("&service=wise&source=KOfficev2").toUtf8());
+ }
+ QNetworkRequest req(QUrl("https://www.google.com/accounts/ClientLogin"));
+ req.setRawHeader("Host", "www.google.com");
+ req.setRawHeader("GData-Version", "3.0");
+ req.setRawHeader("Content-Type", "application/x-www-form-urlencoded");
+ req.setHeader(QNetworkRequest::ContentLengthHeader, data.length());
+
+ networkManager.post(req, data);
+}
+
+void GoogleDocumentService::listDocuments()
+{
+ qDebug() << ">>>>>>>>>>>>>> List Documents" ;
+ authToken = docAuthToken;
+ QNetworkRequest requestHeader(QUrl("https://docs.google.com/feeds/default/private/full"));
+ requestHeader.setRawHeader("Host", "docs.google.com");
+ requestHeader.setRawHeader("User-Agent", "KOffice");
+ requestHeader.setRawHeader("GData-Version", "3.0");
+ requestHeader.setRawHeader("Content-Type", "application/atom+xml");
+ requestHeader.setRawHeader("Authorization", authToken.toUtf8());
+
+ networkManager.get(requestHeader);
+}
+
+void GoogleDocumentService::handleNetworkData(QNetworkReply *networkReply)
+{
+ QUrl url = networkReply->url();
+ bool ok = false;
+ if (!networkReply->error()) {
+ if (!loggedin) {
+ QByteArray m_data = networkReply->readAll();
+ QString text(m_data.data());
+ text = text.right(text.length()-text.indexOf("Auth=")-5);
+ authToken = QString("GoogleLogin auth=")+text.left(text.indexOf("\n"));
+ if (authToken.length() > 20) {
+ if(!haveDocAuthToken) {
+ docAuthToken = authToken;
+ haveDocAuthToken = true;
+ clientLogin(this->username, this->password);
+ return;
+ }
+ spreadAuthToken = authToken;
+ authToken = "";
+ loggedin = true;
+ qDebug() << ">>>>>>>>>>>>>> Login success" ;
+ emit userAuthenticated(loggedin);
+ }
+ else {
+ qDebug() << ">>>>>>>>>>>>>> Login failed" ;
+ emit userAuthenticated(false);
+ }
+ }
+ else if (waitingForDoc) {
+ QByteArray data = networkReply->readAll();
+ QFile file(*saveFileName);
+ file.open(QIODevice::WriteOnly);
+ file.write(data);
+ file.close();
+ qDebug() << ">>>>>>>>>>>>>> Received Document!!!!! " << file.fileName();
+ waitingForDoc = false;
+ emit downloadDone(true);
+ }
+ else if (uploadingDoc) {
+ uploadingDoc = false;
+ qDebug() << ">>>>>>>>>>>>>> Upload done" ;
+ emit uploadDone(true);
+ }
+ else {
+ qDebug() << ">>>>>>>>>>>>>> Revieved List" ;
+ gHandler = new GoogleContentHandler();
+ xmlReader.setContentHandler(gHandler);
+ QByteArray data = networkReply->readAll();
+ xmlInput.setData(data);
+ ok = xmlReader.parse(&xmlInput, true);
+ prepareLists();
+ }
+ }
+ else {
+ qDebug() << networkReply->readAll();
+ if(!loggedin)
+ emit userAuthenticated(false);
+ else if (waitingForDoc) {
+ emit downloadDone(false);
+ waitingForDoc = false;
+ }
+ else if (uploadingDoc) {
+ emit uploadDone(false);
+ uploadingDoc = false;
+ }
+ else
+ emit listDone(false);
+ }
+ networkReply->deleteLater();
+}
+
+void GoogleDocumentService::prepareLists()
+{
+ presentationList.clear();
+ documentList.clear();
+ spreadsheetList.clear();
+ othersList.clear();
+ QList<GoogleDocument *> gList = gHandler->documentList()->entries();
+ foreach(GoogleDocument *i, gList) {
+ if("presentation" == i->documentType())
+ presentationList.append(i);
+ else if("spreadsheet" == i->documentType())
+ spreadsheetList.append(i);
+ else if("document" == i->documentType())
+ documentList.append(i);
+ else
+ othersList.append(i);
+ }
+ qDebug() << ">>>>>>>>>>>>>> Lists Done" ;
+ emit listDone(true);
+}
+
+
+void GoogleDocumentService::downloadDocument(GoogleDocument *doc, QString *saveFileName)
+{
+ this->saveFileName = saveFileName;
+ authToken = docAuthToken;
+ QString url = doc->documentUrl();
+ QString type = doc->documentType();
+ qDebug() << type << "=" << url;
+ url.replace("docId", "docID", Qt::CaseInsensitive);
+ QString exportFormat = "";
+
+ if (QString::compare(type, "spreadsheet") == 0 ) {
+ exportFormat = "&exportFormat=ods&format=ods";
+ authToken = spreadAuthToken;
+ }
+ else if (QString::compare(type, "presentation") == 0 )
+ exportFormat = "&exportFormat=ppt&format=ppt";
+ else if (QString::compare(type, "document") == 0)
+ exportFormat = "&exportFormat=odt&format=odt";
+
+ QUrl documentUrl(url + exportFormat);
+
+ QNetworkRequest requestHeader(documentUrl);
+ requestHeader.setRawHeader("User-Agent", "KOffice");
+ requestHeader.setRawHeader("GData-Version", "3.0");
+ requestHeader.setRawHeader("Authorization", authToken.toUtf8());
+
+ QNetworkReply *reply = networkManager.get(requestHeader);
+ connect(reply, SIGNAL(downloadProgress(qint64,qint64)), this, SIGNAL(downloadProgress(qint64,qint64)));
+ waitingForDoc = true;
+ qDebug() << ">>>>>>>>>>>>>> Downloading file" ;
+}
+
+void GoogleDocumentService::uploadDocument(QString *filename, QString *title)
+{
+ authToken = docAuthToken;
+ QFile file(*filename);
+ file.open(QFile::ReadOnly);
+ QByteArray data = file.readAll();
+ file.close();
+ QUrl url;
+ url.setUrl("https://docs.google.com/feeds/default/private/full");
+
+ QNetworkRequest requestHeader(url);
+ requestHeader.setRawHeader("User-Agent", "KOffice");
+ requestHeader.setRawHeader("GData-Version", "3.0");
+ requestHeader.setRawHeader("Authorization", authToken.toUtf8());
+ requestHeader.setRawHeader("Content-Type", MimeTypes::getMimeType(QFileInfo(*filename).suffix()).toUtf8());
+ requestHeader.setRawHeader("Content-Length", QString::number(data.length()).toUtf8());
+ requestHeader.setRawHeader("Slug", QUrl::toPercentEncoding(*title));
+
+ QNetworkReply *reply = networkManager.post(requestHeader, data);
+ connect(reply, SIGNAL(uploadProgress(qint64, qint64)), this, SIGNAL(uploadProgress(qint64,qint64)));
+ uploadingDoc = true;
+ qDebug() << ">>>>>>>>>>>>>> Uploading file" ;
+}
+
--- /dev/null
+/*
+ * Copyright (c) 2010 Mani Chandrasekar <maninc@gmail.com>
+ * Kaushal M <kshlmster@gmail.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+
+#ifndef GOOGLEDOCUMENTSERVICE_H
+#define GOOGLEDOCUMENTSERVICE_H
+
+#include <QObject>
+#include <QXmlInputSource>
+#include <QNetworkAccessManager>
+#include <QList>
+//#include "documentlistwindow.h"
+
+class GoogleDocumentList;
+class GoogleDocument;
+class GoogleContentHandler;
+//class DocumentListWindow;
+
+class GoogleDocumentService : public QObject
+{
+ Q_OBJECT
+
+public:
+ GoogleDocumentService();
+ void clientLogin(const QString & username, const QString & password);
+ void listDocuments();
+ void prepareLists();
+ void uploadDocument(QString *filename, QString *title);
+ void downloadDocument (GoogleDocument *, QString *saveFileName);
+ bool alreadyAuthenticated() { return loggedin; }
+
+ QList<GoogleDocument *> documentList;
+ QList<GoogleDocument *> presentationList;
+ QList<GoogleDocument *> spreadsheetList;
+ QList<GoogleDocument *> othersList;
+
+signals:
+ void userAuthenticated(bool success);
+ void listDone(bool);
+ void downloadDone(bool);
+ void uploadDone(bool);
+ void downloadProgress(qint64 bytesSent, qint64 bytesTotal);
+ void uploadProgress(qint64 bytesSent, qint64 bytesTotal);
+
+private slots:
+ void handleNetworkData(QNetworkReply *networkReply);
+
+private:
+ QXmlSimpleReader xmlReader;
+ QXmlInputSource xmlInput;
+ bool newInformation;
+ bool waitingForDoc;
+ bool uploadingDoc;
+ bool loggedin;
+ bool haveDocAuthToken;
+ GoogleContentHandler *gHandler;
+ QString authToken;
+ QString docAuthToken;
+ QString spreadAuthToken;
+ QString *saveFileName;
+ QString username;
+ QString password;
+ QNetworkAccessManager networkManager;
+
+ static const QString GOOGLE_DOCUMENT_URL;
+ static const QString GOOGLE_SPREADSHEET_URL;
+};
+
+#endif // GOOGLEDOCUMENTSERVICE_H
--- /dev/null
+/*
+ * Copyright (c) 2010 Kaushal M <kshlmster@gmail.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+
+#include "googlelistdialog.h"
+#include "ui_filelistdialog.h"
+
+#include "googledocument.h"
+#include "googleuploaddialog.h"
+
+#include <QMessageBox>
+#include <QFileDialog>
+#include <QDesktopServices>
+
+googleListDialog::googleListDialog(GoogleDocumentService *service, QWidget *parent):
+ QDialog(parent),
+ ui(new Ui::fileListDialog)
+{
+ ui->setupUi(this);
+ this->setWindowTitle("Google Docs");
+ this->service = service;
+ ui->listTab->setCurrentIndex(0);
+ ui->downloadProgressBar->setVisible(false);
+
+ connect(ui->downloadButton, SIGNAL(clicked()), this, SLOT(downloadButtonClickedSlot()));
+ connect(ui->uploadButton, SIGNAL(clicked()), this, SLOT(uploadButtonClickedSlot()));
+ connect(ui->refreshButton, SIGNAL(clicked()), this, SLOT(refreshList()));
+ connect(service, SIGNAL(listDone(bool)), this, SLOT(fillList(bool)));
+ connect(service, SIGNAL(downloadDone(bool)), this, SLOT(downloadDoneSlot(bool)));
+ connect(service, SIGNAL(downloadProgress(qint64,qint64)), this, SLOT(updateProgressBar(qint64,qint64)));
+ refreshList();
+}
+
+void googleListDialog::changeEvent(QEvent *e)
+{
+ QDialog::changeEvent(e);
+ switch (e->type()) {
+ case QEvent::LanguageChange:
+ ui->retranslateUi(this);
+ break;
+ default:
+ break;
+ }
+}
+
+void googleListDialog::refreshList()
+{
+ ui->listTab->setEnabled(false);
+ ui->downloadButton->setEnabled(false);
+ ui->uploadButton->setEnabled(false);
+ ui->refreshButton->setEnabled(false);
+ ui->downloadProgressBar->setMinimum(0);
+ ui->downloadProgressBar->setMaximum(0);
+ ui->downloadProgressBar->setVisible(true);
+ service->listDocuments();
+}
+
+void googleListDialog::fillList(bool status)
+{
+ if(status) {
+ ui->documentList->clear();
+ ui->presentationList->clear();
+ ui->spreadsheetList->clear();
+ ui->othersList->clear();
+
+ QList<GoogleDocument *> list;
+
+ list = service->documentList;
+ foreach(GoogleDocument *i, list) {
+ ui->documentList->addItem(i->title());
+ }
+
+ list = service->presentationList;
+ foreach(GoogleDocument *i, list) {
+ ui->presentationList->addItem(i->title());
+ }
+
+ list = service->spreadsheetList;
+ foreach(GoogleDocument *i, list) {
+ ui->spreadsheetList->addItem(i->title());
+ }
+
+ list = service->othersList;
+ foreach(GoogleDocument *i, list) {
+ ui->othersList->addItem(i->title());
+ }
+ }
+ else {
+ QMessageBox::information(this, tr("Error"), tr("An error occured while fetching document list"));
+ }
+ ui->downloadProgressBar->setMaximum(100);
+ ui->downloadProgressBar->setVisible(false);
+ ui->listTab->setEnabled(true);
+ ui->downloadButton->setEnabled(true);
+ ui->uploadButton->setEnabled(true);
+ ui->refreshButton->setEnabled(true);
+}
+
+void googleListDialog::downloadButtonClickedSlot()
+{
+ QList<GoogleDocument *> list;
+ QListWidget *tmp = 0;
+ switch(ui->listTab->currentIndex()) {
+ case 0:
+ tmp = ui->documentList;
+ list = service->documentList;
+ break;
+ case 1:
+ tmp = ui->presentationList;
+ list = service->presentationList;
+ break;
+ case 2:
+ tmp = ui->spreadsheetList;
+ list = service->spreadsheetList;
+ break;
+ case 3:
+ tmp = ui->othersList;
+ list = service->othersList;
+ }
+
+ if(-1 == tmp->currentRow()) {
+ QMessageBox::information(this, QString("No selection"), QString("Please select a file from the list"));
+ return;
+ }
+ GoogleDocument *doc = list[tmp->currentRow()];
+ QString format = "";
+ if("presentation" == doc->documentType()) {
+ format = ".ppt";
+ }
+ else if("document" == doc->documentType()) {
+ format = ".odt";
+ }
+ else if("spreadsheet" == doc->documentType()) {
+ format = ".ods";
+ }
+ QString filename = QFileDialog::getSaveFileName(this,"Save File",QDesktopServices::storageLocation(QDesktopServices::DocumentsLocation) + "/" + doc->title() + format, "(*" + format + ")");
+ if("" == filename)
+ return;
+ service->downloadDocument(doc, new QString(filename));
+ ui->listTab->setEnabled(false);
+ ui->uploadButton->setEnabled(false);
+ ui->downloadButton->setEnabled(false);
+ ui->refreshButton->setEnabled(false);
+ ui->downloadProgressBar->setVisible(true);
+}
+
+void googleListDialog::uploadButtonClickedSlot()
+{
+ googleUploadDialog *ud = new googleUploadDialog(service, this);
+ ud->show();
+ connect(ud, SIGNAL(accepted()), this, SLOT(refreshList()));
+}
+
+void googleListDialog::downloadDoneSlot(bool status)
+{
+ ui->downloadProgressBar->setVisible(false);
+ ui->downloadProgressBar->setValue(0);
+ ui->listTab->setEnabled(true);
+ ui->downloadButton->setEnabled(true);
+ ui->refreshButton->setEnabled(true);
+ ui->uploadButton->setEnabled(true);
+ if(status)
+ QMessageBox::information(this, "Download done", "The file has finished downloading");
+ else
+ QMessageBox::information(this, tr("Error"), tr("An error occured while downloading the document"));
+}
+
+void googleListDialog::updateProgressBar(qint64 bytesDone, qint64 bytesTotal)
+{
+ int value = (bytesDone * 100) / bytesTotal;
+ ui->downloadProgressBar->setValue(value);
+}
--- /dev/null
+/*
+ * Copyright (c) 2010 Kaushal M <kshlmster@gmail.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+
+#ifndef GOOGLELISTDIALOG_H
+#define GOOGLELISTDIALOG_H
+
+#include <QDialog>
+#include <googledocumentservice.h>
+
+namespace Ui {
+ class fileListDialog;
+}
+
+class googleListDialog : public QDialog
+{
+ Q_OBJECT
+public:
+ googleListDialog(GoogleDocumentService *service, QWidget *parent = 0);
+
+protected:
+ void changeEvent(QEvent *e);
+
+private slots:
+ void downloadButtonClickedSlot();
+ void uploadButtonClickedSlot();
+ void fillList(bool);
+ void downloadDoneSlot(bool);
+ void updateProgressBar(qint64, qint64);
+ void refreshList();
+
+private:
+ Ui::fileListDialog *ui;
+ GoogleDocumentService *service;
+};
+
+#endif // GOOGLELISTDIALOG_H
--- /dev/null
+/*
+ * Copyright (c) 2010 Kaushal M <kshlmster@gmail.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+
+#include "googleuploaddialog.h"
+#include "ui_uploaddialog.h"
+
+#include "googledocumentservice.h"
+
+#include <QFileDialog>
+#include <QMessageBox>
+
+googleUploadDialog::googleUploadDialog(GoogleDocumentService *service, QWidget *parent):
+ QDialog(parent),
+ ui(new Ui::uploadDialog)
+{
+ this->service = service;
+ ui->setupUi(this);
+ ui->descriptionBox->setVisible(false);
+ ui->tagsEdit->setVisible(false);
+ ui->label_3->setVisible(false);
+ ui->label_4->setVisible(false);
+
+ connect(service, SIGNAL(uploadProgress(qint64,qint64)), this, SLOT(uploadProgressSlot(qint64,qint64)));
+ connect(ui->fileSelectButton, SIGNAL(clicked()), this, SLOT(showFileDialog()));
+ connect(ui->uploadButton, SIGNAL(clicked()), this, SLOT(uploadButtonClickedSlot()));
+}
+
+googleUploadDialog::~googleUploadDialog()
+{
+ disconnect(service, SIGNAL(uploadDone(bool)), this, SLOT(uploadDoneSlot(bool)));
+ delete ui;
+}
+
+void googleUploadDialog::changeEvent(QEvent *e)
+{
+ QDialog::changeEvent(e);
+ switch(e->type()) {
+ case QEvent::LanguageChange:
+ ui->retranslateUi(this);
+ break;
+ default:
+ break;
+ }
+}
+
+void googleUploadDialog::uploadProgressSlot(qint64 bytesSent, qint64 bytesTotal)
+{
+ int value = (bytesSent * 100) / bytesTotal;
+ ui->uploadProgress->setValue(value);
+}
+
+void googleUploadDialog::showFileDialog()
+{
+ QString filter = "Supported Files (odt doc ppt xls)(*.odt *.doc *.ppt *.xls);; Documents (odt doc)(*.odt *.doc);; Presentations (ppt)(*.ppt) ;; Spreadsheets(xls)(*.xls)";
+ QString filename = QFileDialog::getOpenFileName(this,QString("Select File"),tr(""),filter);
+ ui->fileSelectEdit->setText(filename);
+}
+
+void googleUploadDialog::uploadButtonClickedSlot()
+{
+ if(ui->fileSelectEdit->text() == "" || ui->titleEdit->text() == "")
+ {
+ QMessageBox::information(this,"Incomplete parameters","Please enter both filename and title");
+ return;
+ }
+ else
+ {
+ ui->fileSelectButton->setEnabled(false);
+ ui->titleEdit->setEnabled(false);
+ ui->uploadButton->setEnabled(false);
+ ui->uploadLabel->setText(tr("Uploading file.."));
+ service->uploadDocument(&ui->fileSelectEdit->text(), &ui->titleEdit->text());
+ connect(service, SIGNAL(uploadDone(bool)), this, SLOT(uploadDoneSlot(bool)));
+ }
+}
+
+void googleUploadDialog::uploadDoneSlot(bool status)
+{
+ if(!status) {
+ ui->uploadLabel->setText(tr("Upload failed"));
+ ui->uploadProgress->setValue(0);
+ }
+ else {
+ ui->uploadLabel->setText(tr("Upload completed"));
+ }
+ ui->doneButton->setEnabled(true);
+}
--- /dev/null
+/*
+ * Copyright (c) 2010 Kaushal M <kshlmster@gmail.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+
+#ifndef GOOGLEUPLOADDIALOG_H
+#define GOOGLEUPLOADDIALOG_H
+
+#include <QDialog>
+
+class GoogleDocumentService;
+namespace Ui {
+ class uploadDialog;
+}
+
+class googleUploadDialog : public QDialog
+{
+ Q_OBJECT
+public:
+ googleUploadDialog(GoogleDocumentService *service, QWidget *parent = 0);
+ ~googleUploadDialog();
+
+protected:
+ void changeEvent(QEvent *);
+
+private:
+ Ui::uploadDialog *ui;
+ GoogleDocumentService *service;
+
+private slots:
+ void uploadProgressSlot(qint64 bytesSent, qint64 bytesTotal);
+ void showFileDialog();
+ void uploadButtonClickedSlot();
+ void uploadDoneSlot(bool);
+};
+
+#endif // GOOGLEUPLOADDIALOG_H
--- /dev/null
+/*
+ * This file is part of Maemo 5 Office UI for KOffice
+ *
+ * Copyright (C) 2010 Manikandaprasad N C <maninc@gmail.com>.
+ *
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of
+ * the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA
+ *
+ */
+
+#include "loginwindow.h"
+#include "googledocumentservice.h"
+#include "googlelistdialog.h"
+#include "slideshare.h"
+#include "slidesharelistdialog.h"
+
+#include <QtGui>
+#include <QX11Info>
+
+#include <X11/Xlib.h>
+#include <X11/Xatom.h>
+
+LoginWindow::LoginWindow(QWidget *parent)
+ : QDialog(parent),
+ m_authDialog(new Ui_Dialog)
+{
+ m_authDialog->setupUi(this);
+
+ QStringList onlineServices;
+ onlineServices << "Google Documents";
+ // Add services here
+ onlineServices << "Slide Share";
+ m_authDialog->comboBox->addItems(onlineServices);
+
+ connect(m_authDialog->loginButton, SIGNAL(clicked()), this, SLOT(loginService()));
+ connect(m_authDialog->comboBox, SIGNAL(activated(int)), this, SLOT(serviceSelected(int)));
+
+ m_authDialog->userEdit->setFocus();
+ show();
+}
+
+void LoginWindow::loginService()
+{
+ disableWidgets();
+ if (0 == m_authDialog->comboBox->currentIndex()) {
+ gdoc = new GoogleDocumentService();
+ setShowProgressIndicator(true);
+ gdoc->clientLogin(m_authDialog->userEdit->text(), m_authDialog->passwordEdit->text());
+ connect(gdoc, SIGNAL(userAuthenticated(bool)), this, SLOT(authenticated(bool)));
+ }
+ if (1 == m_authDialog->comboBox->currentIndex())
+ {
+ service = new SlideShare(this);
+ service->setApikey(new QString("KhSMYyiF"));
+ service->setsecretKey(new QString("HDXhAC5g"));
+ service->setUsername(new QString(m_authDialog->userEdit->text()));
+ service->setPassword(new QString(m_authDialog->passwordEdit->text()));
+ service->login();
+ connect(service,SIGNAL(loginDone(bool)), this, SLOT(slideShareLoginDoneSlot(bool)));
+ }
+}
+
+void LoginWindow::serviceSelected(int index)
+{
+ if (index == 0) {
+ m_authDialog->userEdit->setText("@gmail.com");
+ m_authDialog->passwordEdit->clear();
+ } else if (index == 1) {
+ m_authDialog->userEdit->clear();
+ m_authDialog->passwordEdit->clear();
+ }
+ m_authDialog->userEdit->setFocus();
+}
+
+void LoginWindow::authenticated(bool success)
+{
+ if (success) {
+ googleListDialog *ld = new googleListDialog(gdoc, this);
+ this->accept();;
+ ld->show();
+ }
+ else {
+ QMessageBox::information(this, tr("Login Failed"), tr("Check your username & password"));
+ enableWidgets();
+ }
+}
+
+void LoginWindow::setShowProgressIndicator(bool visible)
+{
+ unsigned long val = visible ? 1 : 0;
+ Atom atom = XInternAtom(QX11Info::display(),
+ "_HILDON_WM_WINDOW_PROGRESS_INDICATOR", False);
+ XChangeProperty(QX11Info::display(), winId(), atom, XA_INTEGER,
+ 32, PropModeReplace,
+ (unsigned char *) &val, 1);
+}
+
+void LoginWindow::slideShareLoginDoneSlot(bool loginStatus)
+{if(loginStatus == false)
+ {
+ QMessageBox::information(this, tr("Login Failed"), tr("Check your username & password"));
+ enableWidgets();
+ }
+ else
+ {
+ slideshareListDialog * fi = new slideshareListDialog(service, this);
+ this->accept();
+ fi->show();
+ }
+}
+
+void LoginWindow::enableWidgets()
+{
+ m_authDialog->loginButton->setEnabled(true);
+ m_authDialog->userEdit->setEnabled(true);
+ m_authDialog->passwordEdit->setEnabled(true);
+ m_authDialog->comboBox->setEnabled(true);
+}
+
+void LoginWindow::disableWidgets()
+{
+ m_authDialog->loginButton->setEnabled(false);
+ m_authDialog->userEdit->setEnabled(false);
+ m_authDialog->passwordEdit->setEnabled(false);
+ m_authDialog->comboBox->setEnabled(false);
+}
--- /dev/null
+/*
+ * This file is part of Maemo 5 Office UI for KOffice
+ *
+ * Copyright (C) 2010 Manikandaprasad N C <maninc@gmail.com>.
+ *
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of
+ * the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA
+ *
+ */
+
+#ifndef LOGINWINDOW_H
+#define LOGINWINDOW_H
+
+#include <QDialog>
+
+#include "ui_authenticationdialog.h"
+
+class SlideShare;
+class GoogleDocumentService;
+
+class LoginWindow : public QDialog
+{
+ Q_OBJECT
+
+public:
+ LoginWindow(QWidget *parent = 0);
+ GoogleDocumentService * googleService() { return gdoc; }
+ void setShowProgressIndicator(bool visible);
+
+private slots:
+ void loginService();
+ void serviceSelected(int index);
+ void authenticated(bool success);
+ void slideShareLoginDoneSlot(bool loginStatus);
+
+private:
+ Ui_Dialog *m_authDialog;
+ GoogleDocumentService *gdoc;
+ SlideShare *service;
+ void enableWidgets();
+ void disableWidgets();
+};
+
+#endif // LOGINWINDOW_H
--- /dev/null
+#include <QApplication>
+
+#include "loginwindow.h"
+
+int main(int argc, char *argv[])
+{
+ QApplication app(argc, argv);
+ LoginWindow *login = new LoginWindow();
+
+ return app.exec();
+}
--- /dev/null
+/*
+ * Copyright (c) 2010 Kaushal M <kshlmster@gmail.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+
+#include "mimetypes.h"
+
+QString MimeTypes::getMimeType(const QString & extension)
+{
+ QHash <QString, QString> mimelist;
+ mimelist["odt"] = "application/vnd.oasis.opendocument.text";
+ mimelist["doc"] = "application/msword";
+ mimelist["odp"] = "application/vnd.oasis.opendocument.presentation";
+ mimelist["ppt"] = "application/vnd.ms-powerpoint";
+ mimelist["ods"] = "application/x-vnd.oasis.opendocument.spreadsheet";
+ mimelist["xls"] = "application/ms-excel";
+ return mimelist[extension];
+}
--- /dev/null
+/*
+ * Copyright (c) 2010 Kaushal M <kshlmster@gmail.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+
+#ifndef MIMETYPES_H
+#define MIMETYPES_H
+
+#include <QString>
+#include <QHash>
+class MimeTypes
+{
+public:
+ static QString getMimeType(const QString &);
+};
+
+#endif // MIMETYPES_H
--- /dev/null
+/****************************************************************************
+** Meta object code from reading C++ file 'googledocumentservice.h'
+**
+** Created: Wed Jul 14 10:32:38 2010
+** by: The Qt Meta Object Compiler version 62 (Qt 4.6.3)
+**
+** WARNING! All changes made in this file will be lost!
+*****************************************************************************/
+
+#include "googledocumentservice.h"
+#if !defined(Q_MOC_OUTPUT_REVISION)
+#error "The header file 'googledocumentservice.h' doesn't include <QObject>."
+#elif Q_MOC_OUTPUT_REVISION != 62
+#error "This file was generated using the moc from 4.6.3. It"
+#error "cannot be used with the include files from this version of Qt."
+#error "(The moc has changed too much.)"
+#endif
+
+QT_BEGIN_MOC_NAMESPACE
+static const uint qt_meta_data_GoogleDocumentService[] = {
+
+ // content:
+ 4, // revision
+ 0, // classname
+ 0, 0, // classinfo
+ 7, 14, // methods
+ 0, 0, // properties
+ 0, 0, // enums/sets
+ 0, 0, // constructors
+ 0, // flags
+ 6, // signalCount
+
+ // signals: signature, parameters, type, tag, flags
+ 31, 23, 22, 22, 0x05,
+ 55, 22, 22, 22, 0x05,
+ 70, 22, 22, 22, 0x05,
+ 89, 22, 22, 22, 0x05,
+ 127, 106, 22, 22, 0x05,
+ 159, 106, 22, 22, 0x05,
+
+ // slots: signature, parameters, type, tag, flags
+ 202, 189, 22, 22, 0x08,
+
+ 0 // eod
+};
+
+static const char qt_meta_stringdata_GoogleDocumentService[] = {
+ "GoogleDocumentService\0\0success\0"
+ "userAuthenticated(bool)\0listDone(bool)\0"
+ "downloadDone(bool)\0uploadDone(bool)\0"
+ "bytesSent,bytesTotal\0"
+ "downloadProgress(qint64,qint64)\0"
+ "uploadProgress(qint64,qint64)\0"
+ "networkReply\0handleNetworkData(QNetworkReply*)\0"
+};
+
+const QMetaObject GoogleDocumentService::staticMetaObject = {
+ { &QObject::staticMetaObject, qt_meta_stringdata_GoogleDocumentService,
+ qt_meta_data_GoogleDocumentService, 0 }
+};
+
+#ifdef Q_NO_DATA_RELOCATION
+const QMetaObject &GoogleDocumentService::getStaticMetaObject() { return staticMetaObject; }
+#endif //Q_NO_DATA_RELOCATION
+
+const QMetaObject *GoogleDocumentService::metaObject() const
+{
+ return QObject::d_ptr->metaObject ? QObject::d_ptr->metaObject : &staticMetaObject;
+}
+
+void *GoogleDocumentService::qt_metacast(const char *_clname)
+{
+ if (!_clname) return 0;
+ if (!strcmp(_clname, qt_meta_stringdata_GoogleDocumentService))
+ return static_cast<void*>(const_cast< GoogleDocumentService*>(this));
+ return QObject::qt_metacast(_clname);
+}
+
+int GoogleDocumentService::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
+{
+ _id = QObject::qt_metacall(_c, _id, _a);
+ if (_id < 0)
+ return _id;
+ if (_c == QMetaObject::InvokeMetaMethod) {
+ switch (_id) {
+ case 0: userAuthenticated((*reinterpret_cast< bool(*)>(_a[1]))); break;
+ case 1: listDone((*reinterpret_cast< bool(*)>(_a[1]))); break;
+ case 2: downloadDone((*reinterpret_cast< bool(*)>(_a[1]))); break;
+ case 3: uploadDone((*reinterpret_cast< bool(*)>(_a[1]))); break;
+ case 4: downloadProgress((*reinterpret_cast< qint64(*)>(_a[1])),(*reinterpret_cast< qint64(*)>(_a[2]))); break;
+ case 5: uploadProgress((*reinterpret_cast< qint64(*)>(_a[1])),(*reinterpret_cast< qint64(*)>(_a[2]))); break;
+ case 6: handleNetworkData((*reinterpret_cast< QNetworkReply*(*)>(_a[1]))); break;
+ default: ;
+ }
+ _id -= 7;
+ }
+ return _id;
+}
+
+// SIGNAL 0
+void GoogleDocumentService::userAuthenticated(bool _t1)
+{
+ void *_a[] = { 0, const_cast<void*>(reinterpret_cast<const void*>(&_t1)) };
+ QMetaObject::activate(this, &staticMetaObject, 0, _a);
+}
+
+// SIGNAL 1
+void GoogleDocumentService::listDone(bool _t1)
+{
+ void *_a[] = { 0, const_cast<void*>(reinterpret_cast<const void*>(&_t1)) };
+ QMetaObject::activate(this, &staticMetaObject, 1, _a);
+}
+
+// SIGNAL 2
+void GoogleDocumentService::downloadDone(bool _t1)
+{
+ void *_a[] = { 0, const_cast<void*>(reinterpret_cast<const void*>(&_t1)) };
+ QMetaObject::activate(this, &staticMetaObject, 2, _a);
+}
+
+// SIGNAL 3
+void GoogleDocumentService::uploadDone(bool _t1)
+{
+ void *_a[] = { 0, const_cast<void*>(reinterpret_cast<const void*>(&_t1)) };
+ QMetaObject::activate(this, &staticMetaObject, 3, _a);
+}
+
+// SIGNAL 4
+void GoogleDocumentService::downloadProgress(qint64 _t1, qint64 _t2)
+{
+ void *_a[] = { 0, const_cast<void*>(reinterpret_cast<const void*>(&_t1)), const_cast<void*>(reinterpret_cast<const void*>(&_t2)) };
+ QMetaObject::activate(this, &staticMetaObject, 4, _a);
+}
+
+// SIGNAL 5
+void GoogleDocumentService::uploadProgress(qint64 _t1, qint64 _t2)
+{
+ void *_a[] = { 0, const_cast<void*>(reinterpret_cast<const void*>(&_t1)), const_cast<void*>(reinterpret_cast<const void*>(&_t2)) };
+ QMetaObject::activate(this, &staticMetaObject, 5, _a);
+}
+QT_END_MOC_NAMESPACE
--- /dev/null
+/****************************************************************************
+** Meta object code from reading C++ file 'googlelistdialog.h'
+**
+** Created: Wed Jul 14 10:32:42 2010
+** by: The Qt Meta Object Compiler version 62 (Qt 4.6.3)
+**
+** WARNING! All changes made in this file will be lost!
+*****************************************************************************/
+
+#include "googlelistdialog.h"
+#if !defined(Q_MOC_OUTPUT_REVISION)
+#error "The header file 'googlelistdialog.h' doesn't include <QObject>."
+#elif Q_MOC_OUTPUT_REVISION != 62
+#error "This file was generated using the moc from 4.6.3. It"
+#error "cannot be used with the include files from this version of Qt."
+#error "(The moc has changed too much.)"
+#endif
+
+QT_BEGIN_MOC_NAMESPACE
+static const uint qt_meta_data_googleListDialog[] = {
+
+ // content:
+ 4, // revision
+ 0, // classname
+ 0, 0, // classinfo
+ 6, 14, // methods
+ 0, 0, // properties
+ 0, 0, // enums/sets
+ 0, 0, // constructors
+ 0, // flags
+ 0, // signalCount
+
+ // slots: signature, parameters, type, tag, flags
+ 18, 17, 17, 17, 0x08,
+ 46, 17, 17, 17, 0x08,
+ 72, 17, 17, 17, 0x08,
+ 87, 17, 17, 17, 0x08,
+ 112, 110, 17, 17, 0x08,
+ 145, 17, 17, 17, 0x08,
+
+ 0 // eod
+};
+
+static const char qt_meta_stringdata_googleListDialog[] = {
+ "googleListDialog\0\0downloadButtonClickedSlot()\0"
+ "uploadButtonClickedSlot()\0fillList(bool)\0"
+ "downloadDoneSlot(bool)\0,\0"
+ "updateProgressBar(qint64,qint64)\0"
+ "refreshList()\0"
+};
+
+const QMetaObject googleListDialog::staticMetaObject = {
+ { &QDialog::staticMetaObject, qt_meta_stringdata_googleListDialog,
+ qt_meta_data_googleListDialog, 0 }
+};
+
+#ifdef Q_NO_DATA_RELOCATION
+const QMetaObject &googleListDialog::getStaticMetaObject() { return staticMetaObject; }
+#endif //Q_NO_DATA_RELOCATION
+
+const QMetaObject *googleListDialog::metaObject() const
+{
+ return QObject::d_ptr->metaObject ? QObject::d_ptr->metaObject : &staticMetaObject;
+}
+
+void *googleListDialog::qt_metacast(const char *_clname)
+{
+ if (!_clname) return 0;
+ if (!strcmp(_clname, qt_meta_stringdata_googleListDialog))
+ return static_cast<void*>(const_cast< googleListDialog*>(this));
+ return QDialog::qt_metacast(_clname);
+}
+
+int googleListDialog::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
+{
+ _id = QDialog::qt_metacall(_c, _id, _a);
+ if (_id < 0)
+ return _id;
+ if (_c == QMetaObject::InvokeMetaMethod) {
+ switch (_id) {
+ case 0: downloadButtonClickedSlot(); break;
+ case 1: uploadButtonClickedSlot(); break;
+ case 2: fillList((*reinterpret_cast< bool(*)>(_a[1]))); break;
+ case 3: downloadDoneSlot((*reinterpret_cast< bool(*)>(_a[1]))); break;
+ case 4: updateProgressBar((*reinterpret_cast< qint64(*)>(_a[1])),(*reinterpret_cast< qint64(*)>(_a[2]))); break;
+ case 5: refreshList(); break;
+ default: ;
+ }
+ _id -= 6;
+ }
+ return _id;
+}
+QT_END_MOC_NAMESPACE
--- /dev/null
+/****************************************************************************
+** Meta object code from reading C++ file 'googleuploaddialog.h'
+**
+** Created: Wed Jul 14 10:32:42 2010
+** by: The Qt Meta Object Compiler version 62 (Qt 4.6.3)
+**
+** WARNING! All changes made in this file will be lost!
+*****************************************************************************/
+
+#include "googleuploaddialog.h"
+#if !defined(Q_MOC_OUTPUT_REVISION)
+#error "The header file 'googleuploaddialog.h' doesn't include <QObject>."
+#elif Q_MOC_OUTPUT_REVISION != 62
+#error "This file was generated using the moc from 4.6.3. It"
+#error "cannot be used with the include files from this version of Qt."
+#error "(The moc has changed too much.)"
+#endif
+
+QT_BEGIN_MOC_NAMESPACE
+static const uint qt_meta_data_googleUploadDialog[] = {
+
+ // content:
+ 4, // revision
+ 0, // classname
+ 0, 0, // classinfo
+ 4, 14, // methods
+ 0, 0, // properties
+ 0, 0, // enums/sets
+ 0, 0, // constructors
+ 0, // flags
+ 0, // signalCount
+
+ // slots: signature, parameters, type, tag, flags
+ 41, 20, 19, 19, 0x08,
+ 75, 19, 19, 19, 0x08,
+ 92, 19, 19, 19, 0x08,
+ 118, 19, 19, 19, 0x08,
+
+ 0 // eod
+};
+
+static const char qt_meta_stringdata_googleUploadDialog[] = {
+ "googleUploadDialog\0\0bytesSent,bytesTotal\0"
+ "uploadProgressSlot(qint64,qint64)\0"
+ "showFileDialog()\0uploadButtonClickedSlot()\0"
+ "uploadDoneSlot(bool)\0"
+};
+
+const QMetaObject googleUploadDialog::staticMetaObject = {
+ { &QDialog::staticMetaObject, qt_meta_stringdata_googleUploadDialog,
+ qt_meta_data_googleUploadDialog, 0 }
+};
+
+#ifdef Q_NO_DATA_RELOCATION
+const QMetaObject &googleUploadDialog::getStaticMetaObject() { return staticMetaObject; }
+#endif //Q_NO_DATA_RELOCATION
+
+const QMetaObject *googleUploadDialog::metaObject() const
+{
+ return QObject::d_ptr->metaObject ? QObject::d_ptr->metaObject : &staticMetaObject;
+}
+
+void *googleUploadDialog::qt_metacast(const char *_clname)
+{
+ if (!_clname) return 0;
+ if (!strcmp(_clname, qt_meta_stringdata_googleUploadDialog))
+ return static_cast<void*>(const_cast< googleUploadDialog*>(this));
+ return QDialog::qt_metacast(_clname);
+}
+
+int googleUploadDialog::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
+{
+ _id = QDialog::qt_metacall(_c, _id, _a);
+ if (_id < 0)
+ return _id;
+ if (_c == QMetaObject::InvokeMetaMethod) {
+ switch (_id) {
+ case 0: uploadProgressSlot((*reinterpret_cast< qint64(*)>(_a[1])),(*reinterpret_cast< qint64(*)>(_a[2]))); break;
+ case 1: showFileDialog(); break;
+ case 2: uploadButtonClickedSlot(); break;
+ case 3: uploadDoneSlot((*reinterpret_cast< bool(*)>(_a[1]))); break;
+ default: ;
+ }
+ _id -= 4;
+ }
+ return _id;
+}
+QT_END_MOC_NAMESPACE
--- /dev/null
+/****************************************************************************
+** Meta object code from reading C++ file 'loginwindow.h'
+**
+** Created: Wed Jul 14 11:34:00 2010
+** by: The Qt Meta Object Compiler version 62 (Qt 4.6.3)
+**
+** WARNING! All changes made in this file will be lost!
+*****************************************************************************/
+
+#include "loginwindow.h"
+#if !defined(Q_MOC_OUTPUT_REVISION)
+#error "The header file 'loginwindow.h' doesn't include <QObject>."
+#elif Q_MOC_OUTPUT_REVISION != 62
+#error "This file was generated using the moc from 4.6.3. It"
+#error "cannot be used with the include files from this version of Qt."
+#error "(The moc has changed too much.)"
+#endif
+
+QT_BEGIN_MOC_NAMESPACE
+static const uint qt_meta_data_LoginWindow[] = {
+
+ // content:
+ 4, // revision
+ 0, // classname
+ 0, 0, // classinfo
+ 4, 14, // methods
+ 0, 0, // properties
+ 0, 0, // enums/sets
+ 0, 0, // constructors
+ 0, // flags
+ 0, // signalCount
+
+ // slots: signature, parameters, type, tag, flags
+ 13, 12, 12, 12, 0x08,
+ 34, 28, 12, 12, 0x08,
+ 63, 55, 12, 12, 0x08,
+ 95, 83, 12, 12, 0x08,
+
+ 0 // eod
+};
+
+static const char qt_meta_stringdata_LoginWindow[] = {
+ "LoginWindow\0\0loginService()\0index\0"
+ "serviceSelected(int)\0success\0"
+ "authenticated(bool)\0loginStatus\0"
+ "slideShareLoginDoneSlot(bool)\0"
+};
+
+const QMetaObject LoginWindow::staticMetaObject = {
+ { &QDialog::staticMetaObject, qt_meta_stringdata_LoginWindow,
+ qt_meta_data_LoginWindow, 0 }
+};
+
+#ifdef Q_NO_DATA_RELOCATION
+const QMetaObject &LoginWindow::getStaticMetaObject() { return staticMetaObject; }
+#endif //Q_NO_DATA_RELOCATION
+
+const QMetaObject *LoginWindow::metaObject() const
+{
+ return QObject::d_ptr->metaObject ? QObject::d_ptr->metaObject : &staticMetaObject;
+}
+
+void *LoginWindow::qt_metacast(const char *_clname)
+{
+ if (!_clname) return 0;
+ if (!strcmp(_clname, qt_meta_stringdata_LoginWindow))
+ return static_cast<void*>(const_cast< LoginWindow*>(this));
+ return QDialog::qt_metacast(_clname);
+}
+
+int LoginWindow::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
+{
+ _id = QDialog::qt_metacall(_c, _id, _a);
+ if (_id < 0)
+ return _id;
+ if (_c == QMetaObject::InvokeMetaMethod) {
+ switch (_id) {
+ case 0: loginService(); break;
+ case 1: serviceSelected((*reinterpret_cast< int(*)>(_a[1]))); break;
+ case 2: authenticated((*reinterpret_cast< bool(*)>(_a[1]))); break;
+ case 3: slideShareLoginDoneSlot((*reinterpret_cast< bool(*)>(_a[1]))); break;
+ default: ;
+ }
+ _id -= 4;
+ }
+ return _id;
+}
+QT_END_MOC_NAMESPACE
--- /dev/null
+/****************************************************************************
+** Meta object code from reading C++ file 'slideshare.h'
+**
+** Created: Wed Jul 14 10:32:39 2010
+** by: The Qt Meta Object Compiler version 62 (Qt 4.6.3)
+**
+** WARNING! All changes made in this file will be lost!
+*****************************************************************************/
+
+#include "slideshare.h"
+#if !defined(Q_MOC_OUTPUT_REVISION)
+#error "The header file 'slideshare.h' doesn't include <QObject>."
+#elif Q_MOC_OUTPUT_REVISION != 62
+#error "This file was generated using the moc from 4.6.3. It"
+#error "cannot be used with the include files from this version of Qt."
+#error "(The moc has changed too much.)"
+#endif
+
+QT_BEGIN_MOC_NAMESPACE
+static const uint qt_meta_data_SlideShare[] = {
+
+ // content:
+ 4, // revision
+ 0, // classname
+ 0, 0, // classinfo
+ 9, 14, // methods
+ 0, 0, // properties
+ 0, 0, // enums/sets
+ 0, 0, // constructors
+ 0, // flags
+ 6, // signalCount
+
+ // signals: signature, parameters, type, tag, flags
+ 33, 12, 11, 11, 0x05,
+ 65, 12, 11, 11, 0x05,
+ 95, 11, 11, 11, 0x05,
+ 111, 11, 11, 11, 0x05,
+ 124, 11, 11, 11, 0x05,
+ 135, 11, 11, 11, 0x05,
+
+ // slots: signature, parameters, type, tag, flags
+ 150, 11, 11, 11, 0x08,
+ 163, 11, 11, 11, 0x08,
+ 175, 11, 11, 11, 0x08,
+
+ 0 // eod
+};
+
+static const char qt_meta_stringdata_SlideShare[] = {
+ "SlideShare\0\0bytesSent,bytesTotal\0"
+ "downloadProgress(qint64,qint64)\0"
+ "uploadProgress(qint64,qint64)\0"
+ "loginDone(bool)\0uploadDone()\0listDone()\0"
+ "downloadDone()\0afterLogin()\0parseList()\0"
+ "saveFile()\0"
+};
+
+const QMetaObject SlideShare::staticMetaObject = {
+ { &QObject::staticMetaObject, qt_meta_stringdata_SlideShare,
+ qt_meta_data_SlideShare, 0 }
+};
+
+#ifdef Q_NO_DATA_RELOCATION
+const QMetaObject &SlideShare::getStaticMetaObject() { return staticMetaObject; }
+#endif //Q_NO_DATA_RELOCATION
+
+const QMetaObject *SlideShare::metaObject() const
+{
+ return QObject::d_ptr->metaObject ? QObject::d_ptr->metaObject : &staticMetaObject;
+}
+
+void *SlideShare::qt_metacast(const char *_clname)
+{
+ if (!_clname) return 0;
+ if (!strcmp(_clname, qt_meta_stringdata_SlideShare))
+ return static_cast<void*>(const_cast< SlideShare*>(this));
+ return QObject::qt_metacast(_clname);
+}
+
+int SlideShare::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
+{
+ _id = QObject::qt_metacall(_c, _id, _a);
+ if (_id < 0)
+ return _id;
+ if (_c == QMetaObject::InvokeMetaMethod) {
+ switch (_id) {
+ case 0: downloadProgress((*reinterpret_cast< qint64(*)>(_a[1])),(*reinterpret_cast< qint64(*)>(_a[2]))); break;
+ case 1: uploadProgress((*reinterpret_cast< qint64(*)>(_a[1])),(*reinterpret_cast< qint64(*)>(_a[2]))); break;
+ case 2: loginDone((*reinterpret_cast< bool(*)>(_a[1]))); break;
+ case 3: uploadDone(); break;
+ case 4: listDone(); break;
+ case 5: downloadDone(); break;
+ case 6: afterLogin(); break;
+ case 7: parseList(); break;
+ case 8: saveFile(); break;
+ default: ;
+ }
+ _id -= 9;
+ }
+ return _id;
+}
+
+// SIGNAL 0
+void SlideShare::downloadProgress(qint64 _t1, qint64 _t2)
+{
+ void *_a[] = { 0, const_cast<void*>(reinterpret_cast<const void*>(&_t1)), const_cast<void*>(reinterpret_cast<const void*>(&_t2)) };
+ QMetaObject::activate(this, &staticMetaObject, 0, _a);
+}
+
+// SIGNAL 1
+void SlideShare::uploadProgress(qint64 _t1, qint64 _t2)
+{
+ void *_a[] = { 0, const_cast<void*>(reinterpret_cast<const void*>(&_t1)), const_cast<void*>(reinterpret_cast<const void*>(&_t2)) };
+ QMetaObject::activate(this, &staticMetaObject, 1, _a);
+}
+
+// SIGNAL 2
+void SlideShare::loginDone(bool _t1)
+{
+ void *_a[] = { 0, const_cast<void*>(reinterpret_cast<const void*>(&_t1)) };
+ QMetaObject::activate(this, &staticMetaObject, 2, _a);
+}
+
+// SIGNAL 3
+void SlideShare::uploadDone()
+{
+ QMetaObject::activate(this, &staticMetaObject, 3, 0);
+}
+
+// SIGNAL 4
+void SlideShare::listDone()
+{
+ QMetaObject::activate(this, &staticMetaObject, 4, 0);
+}
+
+// SIGNAL 5
+void SlideShare::downloadDone()
+{
+ QMetaObject::activate(this, &staticMetaObject, 5, 0);
+}
+QT_END_MOC_NAMESPACE
--- /dev/null
+/****************************************************************************
+** Meta object code from reading C++ file 'slidesharelistdialog.h'
+**
+** Created: Wed Jul 14 10:32:40 2010
+** by: The Qt Meta Object Compiler version 62 (Qt 4.6.3)
+**
+** WARNING! All changes made in this file will be lost!
+*****************************************************************************/
+
+#include "slidesharelistdialog.h"
+#if !defined(Q_MOC_OUTPUT_REVISION)
+#error "The header file 'slidesharelistdialog.h' doesn't include <QObject>."
+#elif Q_MOC_OUTPUT_REVISION != 62
+#error "This file was generated using the moc from 4.6.3. It"
+#error "cannot be used with the include files from this version of Qt."
+#error "(The moc has changed too much.)"
+#endif
+
+QT_BEGIN_MOC_NAMESPACE
+static const uint qt_meta_data_slideshareListDialog[] = {
+
+ // content:
+ 4, // revision
+ 0, // classname
+ 0, 0, // classinfo
+ 6, 14, // methods
+ 0, 0, // properties
+ 0, 0, // enums/sets
+ 0, 0, // constructors
+ 0, // flags
+ 0, // signalCount
+
+ // slots: signature, parameters, type, tag, flags
+ 22, 21, 21, 21, 0x08,
+ 50, 21, 21, 21, 0x08,
+ 76, 21, 21, 21, 0x08,
+ 87, 21, 21, 21, 0x08,
+ 108, 106, 21, 21, 0x08,
+ 141, 21, 21, 21, 0x08,
+
+ 0 // eod
+};
+
+static const char qt_meta_stringdata_slideshareListDialog[] = {
+ "slideshareListDialog\0\0downloadButtonClickedSlot()\0"
+ "uploadButtonClickedSlot()\0fillList()\0"
+ "downloadDoneSlot()\0,\0"
+ "updateProgressBar(qint64,qint64)\0"
+ "refreshList()\0"
+};
+
+const QMetaObject slideshareListDialog::staticMetaObject = {
+ { &QDialog::staticMetaObject, qt_meta_stringdata_slideshareListDialog,
+ qt_meta_data_slideshareListDialog, 0 }
+};
+
+#ifdef Q_NO_DATA_RELOCATION
+const QMetaObject &slideshareListDialog::getStaticMetaObject() { return staticMetaObject; }
+#endif //Q_NO_DATA_RELOCATION
+
+const QMetaObject *slideshareListDialog::metaObject() const
+{
+ return QObject::d_ptr->metaObject ? QObject::d_ptr->metaObject : &staticMetaObject;
+}
+
+void *slideshareListDialog::qt_metacast(const char *_clname)
+{
+ if (!_clname) return 0;
+ if (!strcmp(_clname, qt_meta_stringdata_slideshareListDialog))
+ return static_cast<void*>(const_cast< slideshareListDialog*>(this));
+ return QDialog::qt_metacast(_clname);
+}
+
+int slideshareListDialog::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
+{
+ _id = QDialog::qt_metacall(_c, _id, _a);
+ if (_id < 0)
+ return _id;
+ if (_c == QMetaObject::InvokeMetaMethod) {
+ switch (_id) {
+ case 0: downloadButtonClickedSlot(); break;
+ case 1: uploadButtonClickedSlot(); break;
+ case 2: fillList(); break;
+ case 3: downloadDoneSlot(); break;
+ case 4: updateProgressBar((*reinterpret_cast< qint64(*)>(_a[1])),(*reinterpret_cast< qint64(*)>(_a[2]))); break;
+ case 5: refreshList(); break;
+ default: ;
+ }
+ _id -= 6;
+ }
+ return _id;
+}
+QT_END_MOC_NAMESPACE
--- /dev/null
+/****************************************************************************
+** Meta object code from reading C++ file 'slideshareuploaddialog.h'
+**
+** Created: Wed Jul 14 10:32:41 2010
+** by: The Qt Meta Object Compiler version 62 (Qt 4.6.3)
+**
+** WARNING! All changes made in this file will be lost!
+*****************************************************************************/
+
+#include "slideshareuploaddialog.h"
+#if !defined(Q_MOC_OUTPUT_REVISION)
+#error "The header file 'slideshareuploaddialog.h' doesn't include <QObject>."
+#elif Q_MOC_OUTPUT_REVISION != 62
+#error "This file was generated using the moc from 4.6.3. It"
+#error "cannot be used with the include files from this version of Qt."
+#error "(The moc has changed too much.)"
+#endif
+
+QT_BEGIN_MOC_NAMESPACE
+static const uint qt_meta_data_slideshareUploadDialog[] = {
+
+ // content:
+ 4, // revision
+ 0, // classname
+ 0, 0, // classinfo
+ 4, 14, // methods
+ 0, 0, // properties
+ 0, 0, // enums/sets
+ 0, 0, // constructors
+ 0, // flags
+ 0, // signalCount
+
+ // slots: signature, parameters, type, tag, flags
+ 45, 24, 23, 23, 0x08,
+ 79, 23, 23, 23, 0x08,
+ 96, 23, 23, 23, 0x08,
+ 122, 23, 23, 23, 0x08,
+
+ 0 // eod
+};
+
+static const char qt_meta_stringdata_slideshareUploadDialog[] = {
+ "slideshareUploadDialog\0\0bytesSent,bytesTotal\0"
+ "uploadProgressSlot(qint64,qint64)\0"
+ "showFileDialog()\0uploadButtonClickedSlot()\0"
+ "uploadDoneSlot()\0"
+};
+
+const QMetaObject slideshareUploadDialog::staticMetaObject = {
+ { &QDialog::staticMetaObject, qt_meta_stringdata_slideshareUploadDialog,
+ qt_meta_data_slideshareUploadDialog, 0 }
+};
+
+#ifdef Q_NO_DATA_RELOCATION
+const QMetaObject &slideshareUploadDialog::getStaticMetaObject() { return staticMetaObject; }
+#endif //Q_NO_DATA_RELOCATION
+
+const QMetaObject *slideshareUploadDialog::metaObject() const
+{
+ return QObject::d_ptr->metaObject ? QObject::d_ptr->metaObject : &staticMetaObject;
+}
+
+void *slideshareUploadDialog::qt_metacast(const char *_clname)
+{
+ if (!_clname) return 0;
+ if (!strcmp(_clname, qt_meta_stringdata_slideshareUploadDialog))
+ return static_cast<void*>(const_cast< slideshareUploadDialog*>(this));
+ return QDialog::qt_metacast(_clname);
+}
+
+int slideshareUploadDialog::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
+{
+ _id = QDialog::qt_metacall(_c, _id, _a);
+ if (_id < 0)
+ return _id;
+ if (_c == QMetaObject::InvokeMetaMethod) {
+ switch (_id) {
+ case 0: uploadProgressSlot((*reinterpret_cast< qint64(*)>(_a[1])),(*reinterpret_cast< qint64(*)>(_a[2]))); break;
+ case 1: showFileDialog(); break;
+ case 2: uploadButtonClickedSlot(); break;
+ case 3: uploadDoneSlot(); break;
+ default: ;
+ }
+ _id -= 4;
+ }
+ return _id;
+}
+QT_END_MOC_NAMESPACE
--- /dev/null
+<!DOCTYPE QtCreatorProject>
+<qtcreator>
+ <data>
+ <variable>RunConfiguration0-BaseEnvironmentBase</variable>
+ <value type="int">2</value>
+ </data>
+ <data>
+ <variable>RunConfiguration0-CommandLineArguments</variable>
+ <valuelist type="QVariantList"/>
+ </data>
+ <data>
+ <variable>RunConfiguration0-ProFile</variable>
+ <value type="QString">onlineServices.pro</value>
+ </data>
+ <data>
+ <variable>RunConfiguration0-RunConfiguration.name</variable>
+ <value type="QString">onlineServices</value>
+ </data>
+ <data>
+ <variable>RunConfiguration0-UseDyldImageSuffix</variable>
+ <value type="bool">false</value>
+ </data>
+ <data>
+ <variable>RunConfiguration0-UseTerminal</variable>
+ <value type="bool">false</value>
+ </data>
+ <data>
+ <variable>RunConfiguration0-UserEnvironmentChanges</variable>
+ <valuelist type="QVariantList"/>
+ </data>
+ <data>
+ <variable>RunConfiguration0-UserSetName</variable>
+ <value type="bool">false</value>
+ </data>
+ <data>
+ <variable>RunConfiguration0-UserSetWorkingDirectory</variable>
+ <value type="bool">false</value>
+ </data>
+ <data>
+ <variable>RunConfiguration0-UserWorkingDirectory</variable>
+ <value type="QString"></value>
+ </data>
+ <data>
+ <variable>RunConfiguration0-type</variable>
+ <value type="QString">Qt4ProjectManager.Qt4RunConfiguration</value>
+ </data>
+ <data>
+ <variable>activeRunConfiguration</variable>
+ <value type="int">0</value>
+ </data>
+ <data>
+ <variable>activebuildconfiguration</variable>
+ <value type="QString">Debug</value>
+ </data>
+ <data>
+ <variable>buildConfiguration-Debug</variable>
+ <valuemap type="QVariantMap">
+ <value key="ProjectExplorer.BuildConfiguration.DisplayName" type="QString">Debug</value>
+ <value key="QtVersionId" type="int">2</value>
+ <value key="ToolChain" type="int">0</value>
+ <value key="addQDumper" type=""></value>
+ <value key="buildConfiguration" type="int">2</value>
+ </valuemap>
+ </data>
+ <data>
+ <variable>buildconfiguration-Debug-buildstep0</variable>
+ <valuemap type="QVariantMap">
+ <value key="ProjectExplorer.BuildConfiguration.DisplayName" type="QString">Debug</value>
+ <valuelist key="abstractProcess.Environment" type="QVariantList">
+ <value type="QString">ALSA_PLUGINS_DIR=/usr/lib/alsa-lib</value>
+ <value type="QString">DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-BoNqUNmSMH,guid=2d32e0a9a4d5f390c69468730000002f</value>
+ <value type="QString">DESKTOP_SESSION=kde</value>
+ <value type="QString">DISPLAY=:0.0</value>
+ <value type="QString">DM_CONTROL=/var/run/xdmctl</value>
+ <value type="QString">GOARCH=amd64</value>
+ <value type="QString">GOBIN=/usr/bin</value>
+ <value type="QString">GOOS=linux</value>
+ <value type="QString">GOROOT=/usr/lib/go</value>
+ <value type="QString">GPG_AGENT_INFO=/tmp/gpg-f3PyjE/S.gpg-agent:3130:1</value>
+ <value type="QString">GS_LIB=/home/maemo/.fonts</value>
+ <value type="QString">GTK2_RC_FILES=/etc/gtk-2.0/gtkrc:/home/maemo/.gtkrc-2.0::/home/maemo/.kde4/share/config/gtkrc-2.0</value>
+ <value type="QString">GTK_RC_FILES=/etc/gtk/gtkrc:/home/maemo/.gtkrc::/home/maemo/.kde4/share/config/gtkrc</value>
+ <value type="QString">G_BROKEN_FILENAMES=1</value>
+ <value type="QString">HG=/usr/bin/hg</value>
+ <value type="QString">HISTCONTROL=erasedups</value>
+ <value type="QString">HISTSIZE=1000</value>
+ <value type="QString">HOME=/home/maemo</value>
+ <value type="QString">INPUTRC=/etc/inputrc</value>
+ <value type="QString">KDEDIRS=:/home/maemo/koffice-inst</value>
+ <value type="QString">KDE_FULL_SESSION=true</value>
+ <value type="QString">KDE_MULTIHEAD=false</value>
+ <value type="QString">KDE_SESSION_UID=1000</value>
+ <value type="QString">KDE_SESSION_VERSION=4</value>
+ <value type="QString">LANG=en_US.UTF-8</value>
+ <value type="QString">LD_LIBRARY_PATH=/usr/lib/qtcreator:</value>
+ <value type="QString">LESS=-R</value>
+ <value type="QString">LOGNAME=maemo</value>
+ <value type="QString">MALLOC_CHECK_=3</value>
+ <value type="QString">MOZ_PLUGIN_PATH=/usr/lib/mozilla/plugins</value>
+ <value type="QString">PATH=/usr/bin:/bin:/usr/bin:/sbin:/usr/sbin:/usr/bin/perlbin/site:/usr/bin/perlbin/vendor:/usr/bin/perlbin/core:/home/maemo/koffice-inst/bin</value>
+ <value type="QString">PKG_CONFIG_PATH=/usr/lib/pkgconfig</value>
+ <value type="QString">PS3=> </value>
+ <value type="QString">PS4=+ </value>
+ <value type="QString">PWD=/home/maemo/Documents</value>
+ <value type="QString">QTDIR=/usr/share/qt</value>
+ <value type="QString">QT_PLUGIN_PATH=/home/maemo/.kde4/lib/kde4/plugins/:/usr/lib/kde4/plugins/</value>
+ <value type="QString">SESSION_MANAGER=local/arch:@/tmp/.ICE-unix/3171,unix/arch:/tmp/.ICE-unix/3171</value>
+ <value type="QString">SHELL=/bin/bash</value>
+ <value type="QString">SHLVL=1</value>
+ <value type="QString">SSH_AGENT_PID=3133</value>
+ <value type="QString">SSH_AUTH_SOCK=/tmp/ssh-xujlLF3132/agent.3132</value>
+ <value type="QString">USER=maemo</value>
+ <value type="QString">WINDOWPATH=7</value>
+ <value type="QString">XCURSOR_THEME=Oxygen_Black</value>
+ <value type="QString">XDG_CACHE_HOME=/home/maemo/.cache</value>
+ <value type="QString">XDG_CONFIG_DIRS=/etc/xdg</value>
+ <value type="QString">XDG_CONFIG_HOME=/home/maemo/.config</value>
+ <value type="QString">XDG_DATA_DIRS=/usr/share:/usr/local/share</value>
+ <value type="QString">XDG_DATA_HOME=/home/maemo/.local/share</value>
+ <value type="QString">XDG_SESSION_COOKIE=34c09630a6ae9ad92365c03300000216-1278743272.464893-215627025</value>
+ <value type="QString">XDM_MANAGED=method=classic</value>
+ </valuelist>
+ <valuelist key="abstractProcess.arguments" type="QVariantList">
+ <value type="QString">/home/maemo/Project/onlineServices/onlineServices.pro</value>
+ <value type="QString">-spec</value>
+ <value type="QString">linux-g++-64</value>
+ <value type="QString">-r</value>
+ <value type="QString">CONFIG+=debug</value>
+ </valuelist>
+ <value key="abstractProcess.command" type="QString">/usr/bin/qmake</value>
+ <value key="abstractProcess.enabled" type="bool">false</value>
+ <value key="abstractProcess.workingDirectory" type="QString">/home/maemo/Project/onlineServices</value>
+ </valuemap>
+ </data>
+ <data>
+ <variable>buildconfiguration-Debug-buildstep1</variable>
+ <valuemap type="QVariantMap">
+ <value key="ProjectExplorer.BuildConfiguration.DisplayName" type="QString">Debug</value>
+ <valuelist key="abstractProcess.Environment" type="QVariantList">
+ <value type="QString">ALSA_PLUGINS_DIR=/usr/lib/alsa-lib</value>
+ <value type="QString">DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-BoNqUNmSMH,guid=2d32e0a9a4d5f390c69468730000002f</value>
+ <value type="QString">DESKTOP_SESSION=kde</value>
+ <value type="QString">DISPLAY=:0.0</value>
+ <value type="QString">DM_CONTROL=/var/run/xdmctl</value>
+ <value type="QString">GOARCH=amd64</value>
+ <value type="QString">GOBIN=/usr/bin</value>
+ <value type="QString">GOOS=linux</value>
+ <value type="QString">GOROOT=/usr/lib/go</value>
+ <value type="QString">GPG_AGENT_INFO=/tmp/gpg-f3PyjE/S.gpg-agent:3130:1</value>
+ <value type="QString">GS_LIB=/home/maemo/.fonts</value>
+ <value type="QString">GTK2_RC_FILES=/etc/gtk-2.0/gtkrc:/home/maemo/.gtkrc-2.0::/home/maemo/.kde4/share/config/gtkrc-2.0</value>
+ <value type="QString">GTK_RC_FILES=/etc/gtk/gtkrc:/home/maemo/.gtkrc::/home/maemo/.kde4/share/config/gtkrc</value>
+ <value type="QString">G_BROKEN_FILENAMES=1</value>
+ <value type="QString">HG=/usr/bin/hg</value>
+ <value type="QString">HISTCONTROL=erasedups</value>
+ <value type="QString">HISTSIZE=1000</value>
+ <value type="QString">HOME=/home/maemo</value>
+ <value type="QString">INPUTRC=/etc/inputrc</value>
+ <value type="QString">KDEDIRS=:/home/maemo/koffice-inst</value>
+ <value type="QString">KDE_FULL_SESSION=true</value>
+ <value type="QString">KDE_MULTIHEAD=false</value>
+ <value type="QString">KDE_SESSION_UID=1000</value>
+ <value type="QString">KDE_SESSION_VERSION=4</value>
+ <value type="QString">LANG=en_US.UTF-8</value>
+ <value type="QString">LD_LIBRARY_PATH=/usr/lib/qtcreator:</value>
+ <value type="QString">LESS=-R</value>
+ <value type="QString">LOGNAME=maemo</value>
+ <value type="QString">MALLOC_CHECK_=3</value>
+ <value type="QString">MOZ_PLUGIN_PATH=/usr/lib/mozilla/plugins</value>
+ <value type="QString">PATH=/usr/bin:/bin:/usr/bin:/sbin:/usr/sbin:/usr/bin/perlbin/site:/usr/bin/perlbin/vendor:/usr/bin/perlbin/core:/home/maemo/koffice-inst/bin</value>
+ <value type="QString">PKG_CONFIG_PATH=/usr/lib/pkgconfig</value>
+ <value type="QString">PS3=> </value>
+ <value type="QString">PS4=+ </value>
+ <value type="QString">PWD=/home/maemo/Documents</value>
+ <value type="QString">QTDIR=/usr/share/qt</value>
+ <value type="QString">QT_PLUGIN_PATH=/home/maemo/.kde4/lib/kde4/plugins/:/usr/lib/kde4/plugins/</value>
+ <value type="QString">SESSION_MANAGER=local/arch:@/tmp/.ICE-unix/3171,unix/arch:/tmp/.ICE-unix/3171</value>
+ <value type="QString">SHELL=/bin/bash</value>
+ <value type="QString">SHLVL=1</value>
+ <value type="QString">SSH_AGENT_PID=3133</value>
+ <value type="QString">SSH_AUTH_SOCK=/tmp/ssh-xujlLF3132/agent.3132</value>
+ <value type="QString">USER=maemo</value>
+ <value type="QString">WINDOWPATH=7</value>
+ <value type="QString">XCURSOR_THEME=Oxygen_Black</value>
+ <value type="QString">XDG_CACHE_HOME=/home/maemo/.cache</value>
+ <value type="QString">XDG_CONFIG_DIRS=/etc/xdg</value>
+ <value type="QString">XDG_CONFIG_HOME=/home/maemo/.config</value>
+ <value type="QString">XDG_DATA_DIRS=/usr/share:/usr/local/share</value>
+ <value type="QString">XDG_DATA_HOME=/home/maemo/.local/share</value>
+ <value type="QString">XDG_SESSION_COOKIE=34c09630a6ae9ad92365c03300000216-1278743272.464893-215627025</value>
+ <value type="QString">XDM_MANAGED=method=classic</value>
+ </valuelist>
+ <value key="abstractProcess.IgnoreReturnValue" type="bool">false</value>
+ <valuelist key="abstractProcess.arguments" type="QVariantList">
+ <value type="QString">-w</value>
+ </valuelist>
+ <value key="abstractProcess.command" type="QString">/usr/bin/make</value>
+ <value key="abstractProcess.enabled" type="bool">true</value>
+ <value key="abstractProcess.workingDirectory" type="QString">/home/maemo/Project/onlineServices</value>
+ </valuemap>
+ </data>
+ <data>
+ <variable>buildconfiguration-Debug-cleanstep0</variable>
+ <valuemap type="QVariantMap">
+ <value key="ProjectExplorer.BuildConfiguration.DisplayName" type="QString">Debug</value>
+ <valuelist key="abstractProcess.Environment" type="QVariantList">
+ <value type="QString">ALSA_PLUGINS_DIR=/usr/lib/alsa-lib</value>
+ <value type="QString">DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-GxNPxgLbpy,guid=2232915ea0e53881df5d3ea100000648</value>
+ <value type="QString">DESKTOP_SESSION=kde</value>
+ <value type="QString">DISPLAY=:0.0</value>
+ <value type="QString">DM_CONTROL=/var/run/xdmctl</value>
+ <value type="QString">GOARCH=amd64</value>
+ <value type="QString">GOBIN=/usr/bin</value>
+ <value type="QString">GOOS=linux</value>
+ <value type="QString">GOROOT=/usr/lib/go</value>
+ <value type="QString">GPG_AGENT_INFO=/tmp/gpg-Bom7EH/S.gpg-agent:6352:1</value>
+ <value type="QString">GS_LIB=/home/maemo/.fonts</value>
+ <value type="QString">GTK2_RC_FILES=/etc/gtk-2.0/gtkrc:/home/maemo/.gtkrc-2.0::/home/maemo/.kde4/share/config/gtkrc-2.0</value>
+ <value type="QString">GTK_RC_FILES=/etc/gtk/gtkrc:/home/maemo/.gtkrc::/home/maemo/.kde4/share/config/gtkrc</value>
+ <value type="QString">G_BROKEN_FILENAMES=1</value>
+ <value type="QString">HG=/usr/bin/hg</value>
+ <value type="QString">HISTCONTROL=erasedups</value>
+ <value type="QString">HISTSIZE=1000</value>
+ <value type="QString">HOME=/home/maemo</value>
+ <value type="QString">INPUTRC=/etc/inputrc</value>
+ <value type="QString">KDEDIRS=:/home/maemo/koffice-inst</value>
+ <value type="QString">KDE_FULL_SESSION=true</value>
+ <value type="QString">KDE_MULTIHEAD=false</value>
+ <value type="QString">KDE_SESSION_UID=1000</value>
+ <value type="QString">KDE_SESSION_VERSION=4</value>
+ <value type="QString">LANG=en_US.UTF-8</value>
+ <value type="QString">LD_LIBRARY_PATH=/usr/lib/qtcreator:</value>
+ <value type="QString">LESS=-R</value>
+ <value type="QString">LOGNAME=maemo</value>
+ <value type="QString">MALLOC_CHECK_=3</value>
+ <value type="QString">MOZ_PLUGIN_PATH=/usr/lib/mozilla/plugins</value>
+ <value type="QString">PATH=/usr/bin:/bin:/usr/bin:/sbin:/usr/sbin:/usr/bin/perlbin/site:/usr/bin/perlbin/vendor:/usr/bin/perlbin/core:/home/maemo/koffice-inst/bin</value>
+ <value type="QString">PKG_CONFIG_PATH=/usr/lib/pkgconfig</value>
+ <value type="QString">PS3=> </value>
+ <value type="QString">PS4=+ </value>
+ <value type="QString">PWD=/home/maemo/Documents</value>
+ <value type="QString">QTDIR=/usr/share/qt</value>
+ <value type="QString">QT_PLUGIN_PATH=/home/maemo/.kde4/lib/kde4/plugins/:/usr/lib/kde4/plugins/</value>
+ <value type="QString">SESSION_MANAGER=local/arch:@/tmp/.ICE-unix/6413,unix/arch:/tmp/.ICE-unix/6413</value>
+ <value type="QString">SHELL=/bin/bash</value>
+ <value type="QString">SHLVL=1</value>
+ <value type="QString">SSH_AGENT_PID=6355</value>
+ <value type="QString">SSH_AUTH_SOCK=/tmp/ssh-VApZNi6354/agent.6354</value>
+ <value type="QString">USER=maemo</value>
+ <value type="QString">WINDOWPATH=8</value>
+ <value type="QString">XCURSOR_THEME=Oxygen_Black</value>
+ <value type="QString">XDG_CACHE_HOME=/home/maemo/.cache</value>
+ <value type="QString">XDG_CONFIG_DIRS=/etc/xdg</value>
+ <value type="QString">XDG_CONFIG_HOME=/home/maemo/.config</value>
+ <value type="QString">XDG_DATA_DIRS=/usr/share:/usr/local/share</value>
+ <value type="QString">XDG_DATA_HOME=/home/maemo/.local/share</value>
+ <value type="QString">XDG_SESSION_COOKIE=34c09630a6ae9ad92365c03300000216-1278578918.559616-1566298267</value>
+ <value type="QString">XDM_MANAGED=method=classic</value>
+ </valuelist>
+ <value key="abstractProcess.IgnoreReturnValue" type="bool">true</value>
+ <valuelist key="abstractProcess.arguments" type="QVariantList">
+ <value type="QString">clean</value>
+ <value type="QString">-w</value>
+ </valuelist>
+ <value key="abstractProcess.command" type="QString">/usr/bin/make</value>
+ <value key="abstractProcess.enabled" type="bool">true</value>
+ <value key="abstractProcess.workingDirectory" type="QString">/home/maemo/Project/onlineServices</value>
+ <value key="cleanConfig" type="bool">true</value>
+ <valuelist key="makeargs" type="QVariantList">
+ <value type="QString">clean</value>
+ </valuelist>
+ </valuemap>
+ </data>
+ <data>
+ <variable>buildconfigurations</variable>
+ <valuelist type="QVariantList">
+ <value type="QString">Debug</value>
+ </valuelist>
+ </data>
+ <data>
+ <variable>buildstep0</variable>
+ <valuemap type="QVariantMap">
+ <value key="ProjectExplorer.BuildConfiguration.DisplayName" type="QString"></value>
+ <value key="mkspec" type="QString"></value>
+ </valuemap>
+ </data>
+ <data>
+ <variable>buildstep1</variable>
+ <valuemap type="QVariantMap">
+ <value key="ProjectExplorer.BuildConfiguration.DisplayName" type="QString"></value>
+ </valuemap>
+ </data>
+ <data>
+ <variable>buildsteps</variable>
+ <valuelist type="QVariantList">
+ <value type="QString">trolltech.qt4projectmanager.qmake</value>
+ <value type="QString">trolltech.qt4projectmanager.make</value>
+ </valuelist>
+ </data>
+ <data>
+ <variable>cleanstep0</variable>
+ <valuemap type="QVariantMap">
+ <value key="ProjectExplorer.BuildConfiguration.DisplayName" type="QString"></value>
+ <value key="clean" type="bool">true</value>
+ </valuemap>
+ </data>
+ <data>
+ <variable>cleansteps</variable>
+ <valuelist type="QVariantList">
+ <value type="QString">trolltech.qt4projectmanager.make</value>
+ </valuelist>
+ </data>
+ <data>
+ <variable>defaultFileEncoding</variable>
+ <value type="QByteArray">UTF-8</value>
+ </data>
+ <data>
+ <variable>project</variable>
+ <valuemap type="QVariantMap"/>
+ </data>
+</qtcreator>
--- /dev/null
+<!DOCTYPE QtCreatorProject>
+<qtcreator>
+ <data>
+ <variable>RunConfiguration0-BaseEnvironmentBase</variable>
+ <value type="int">2</value>
+ </data>
+ <data>
+ <variable>RunConfiguration0-CommandLineArguments</variable>
+ <valuelist type="QVariantList"/>
+ </data>
+ <data>
+ <variable>RunConfiguration0-ProFile</variable>
+ <value type="QString">onlineServices.pro</value>
+ </data>
+ <data>
+ <variable>RunConfiguration0-RunConfiguration.name</variable>
+ <value type="QString">onlineServices</value>
+ </data>
+ <data>
+ <variable>RunConfiguration0-UseDyldImageSuffix</variable>
+ <value type="bool">false</value>
+ </data>
+ <data>
+ <variable>RunConfiguration0-UseTerminal</variable>
+ <value type="bool">false</value>
+ </data>
+ <data>
+ <variable>RunConfiguration0-UserEnvironmentChanges</variable>
+ <valuelist type="QVariantList"/>
+ </data>
+ <data>
+ <variable>RunConfiguration0-UserSetName</variable>
+ <value type="bool">false</value>
+ </data>
+ <data>
+ <variable>RunConfiguration0-UserSetWorkingDirectory</variable>
+ <value type="bool">false</value>
+ </data>
+ <data>
+ <variable>RunConfiguration0-UserWorkingDirectory</variable>
+ <value type="QString"></value>
+ </data>
+ <data>
+ <variable>RunConfiguration0-type</variable>
+ <value type="QString">Qt4ProjectManager.Qt4RunConfiguration</value>
+ </data>
+ <data>
+ <variable>activeRunConfiguration</variable>
+ <value type="int">0</value>
+ </data>
+ <data>
+ <variable>activebuildconfiguration</variable>
+ <value type="QString">Debug</value>
+ </data>
+ <data>
+ <variable>buildConfiguration-Debug</variable>
+ <valuemap type="QVariantMap">
+ <value key="ProjectExplorer.BuildConfiguration.DisplayName" type="QString">Debug</value>
+ <value key="QtVersionId" type="int">2</value>
+ <value key="ToolChain" type="int">0</value>
+ <value key="buildConfiguration" type="int">2</value>
+ </valuemap>
+ </data>
+ <data>
+ <variable>buildconfiguration-Debug-buildstep0</variable>
+ <valuemap type="QVariantMap">
+ <value key="ProjectExplorer.BuildConfiguration.DisplayName" type="QString">Debug</value>
+ <valuelist key="abstractProcess.Environment" type="QVariantList">
+ <value type="QString">ALSA_PLUGINS_DIR=/usr/lib/alsa-lib</value>
+ <value type="QString">DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-ZOdel41nVI,guid=6d7798108c63ef2016727e40000000b5</value>
+ <value type="QString">DESKTOP_SESSION=default</value>
+ <value type="QString">DISPLAY=:0.0</value>
+ <value type="QString">DM_CONTROL=/var/run/xdmctl</value>
+ <value type="QString">GOARCH=amd64</value>
+ <value type="QString">GOBIN=/usr/bin</value>
+ <value type="QString">GOOS=linux</value>
+ <value type="QString">GOROOT=/usr/lib/go</value>
+ <value type="QString">GPG_AGENT_INFO=/tmp/gpg-C3HOkx/S.gpg-agent:3356:1</value>
+ <value type="QString">GS_LIB=/home/maemo/.fonts</value>
+ <value type="QString">GTK2_RC_FILES=/etc/gtk-2.0/gtkrc:/home/maemo/.gtkrc-2.0:/home/maemo/.gtkrc-2.0-kde4:/home/maemo/.kdemod4/share/config/gtkrc-2.0</value>
+ <value type="QString">GTK_RC_FILES=/etc/gtk/gtkrc:/home/maemo/.gtkrc::/home/maemo/.kdemod4/share/config/gtkrc</value>
+ <value type="QString">G_BROKEN_FILENAMES=1</value>
+ <value type="QString">HG=/usr/bin/hg</value>
+ <value type="QString">HISTCONTROL=erasedups</value>
+ <value type="QString">HISTSIZE=1000</value>
+ <value type="QString">HOME=/home/maemo</value>
+ <value type="QString">INPUTRC=/etc/inputrc</value>
+ <value type="QString">KDEDIRS=:/home/maemo/koffice-inst</value>
+ <value type="QString">KDE_FULL_SESSION=true</value>
+ <value type="QString">KDE_MULTIHEAD=false</value>
+ <value type="QString">KDE_SESSION_UID=1000</value>
+ <value type="QString">KDE_SESSION_VERSION=4</value>
+ <value type="QString">LANG=en_US.UTF-8</value>
+ <value type="QString">LANGUAGE=</value>
+ <value type="QString">LD_LIBRARY_PATH=/usr/lib/qtcreator:</value>
+ <value type="QString">LESS=-R</value>
+ <value type="QString">LOGNAME=maemo</value>
+ <value type="QString">MOZ_PLUGIN_PATH=/usr/lib/mozilla/plugins</value>
+ <value type="QString">PATH=/usr/bin:/bin:/usr/bin:/sbin:/usr/sbin:/usr/bin/perlbin/site:/usr/bin/perlbin/vendor:/usr/bin/perlbin/core:/home/maemo/koffice-inst/bin</value>
+ <value type="QString">PKG_CONFIG_PATH=/usr/lib/pkgconfig</value>
+ <value type="QString">PS3=> </value>
+ <value type="QString">PS4=+ </value>
+ <value type="QString">PWD=/home/maemo/Documents</value>
+ <value type="QString">QTDIR=/usr/share/qt</value>
+ <value type="QString">QT_PLUGIN_PATH=/home/maemo/.kdemod4/lib/kde4/plugins/:/usr/lib/kde4/plugins/</value>
+ <value type="QString">SESSION_MANAGER=local/arch:@/tmp/.ICE-unix/3454,unix/arch:/tmp/.ICE-unix/3454</value>
+ <value type="QString">SHELL=/bin/bash</value>
+ <value type="QString">SHLVL=1</value>
+ <value type="QString">SSH_AGENT_PID=3359</value>
+ <value type="QString">SSH_AUTH_SOCK=/tmp/ssh-ntNFdL3358/agent.3358</value>
+ <value type="QString">USER=maemo</value>
+ <value type="QString">WINDOWPATH=7</value>
+ <value type="QString">XCURSOR_THEME=Oxygen_Black</value>
+ <value type="QString">XDG_CACHE_HOME=/home/maemo/.cache</value>
+ <value type="QString">XDG_CONFIG_DIRS=/etc/xdg</value>
+ <value type="QString">XDG_CONFIG_HOME=/home/maemo/.config</value>
+ <value type="QString">XDG_DATA_DIRS=/usr/share:/usr/local/share</value>
+ <value type="QString">XDG_DATA_HOME=/home/maemo/.local/share</value>
+ <value type="QString">XDG_SESSION_COOKIE=34c09630a6ae9ad92365c03300000216-1278471612.809573-1127632378</value>
+ <value type="QString">XDM_MANAGED=method=classic</value>
+ </valuelist>
+ <valuelist key="abstractProcess.arguments" type="QVariantList">
+ <value type="QString">/home/maemo/Project/onlineServices/onlineServices.pro</value>
+ <value type="QString">-spec</value>
+ <value type="QString">linux-g++-64</value>
+ <value type="QString">-r</value>
+ <value type="QString">CONFIG+=debug</value>
+ </valuelist>
+ <value key="abstractProcess.command" type="QString">/usr/bin/qmake</value>
+ <value key="abstractProcess.enabled" type="bool">false</value>
+ <value key="abstractProcess.workingDirectory" type="QString">/home/maemo/Project/onlineServices</value>
+ </valuemap>
+ </data>
+ <data>
+ <variable>buildconfiguration-Debug-buildstep1</variable>
+ <valuemap type="QVariantMap">
+ <value key="ProjectExplorer.BuildConfiguration.DisplayName" type="QString">Debug</value>
+ <valuelist key="abstractProcess.Environment" type="QVariantList">
+ <value type="QString">ALSA_PLUGINS_DIR=/usr/lib/alsa-lib</value>
+ <value type="QString">DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-ZOdel41nVI,guid=6d7798108c63ef2016727e40000000b5</value>
+ <value type="QString">DESKTOP_SESSION=default</value>
+ <value type="QString">DISPLAY=:0.0</value>
+ <value type="QString">DM_CONTROL=/var/run/xdmctl</value>
+ <value type="QString">GOARCH=amd64</value>
+ <value type="QString">GOBIN=/usr/bin</value>
+ <value type="QString">GOOS=linux</value>
+ <value type="QString">GOROOT=/usr/lib/go</value>
+ <value type="QString">GPG_AGENT_INFO=/tmp/gpg-C3HOkx/S.gpg-agent:3356:1</value>
+ <value type="QString">GS_LIB=/home/maemo/.fonts</value>
+ <value type="QString">GTK2_RC_FILES=/etc/gtk-2.0/gtkrc:/home/maemo/.gtkrc-2.0:/home/maemo/.gtkrc-2.0-kde4:/home/maemo/.kdemod4/share/config/gtkrc-2.0</value>
+ <value type="QString">GTK_RC_FILES=/etc/gtk/gtkrc:/home/maemo/.gtkrc::/home/maemo/.kdemod4/share/config/gtkrc</value>
+ <value type="QString">G_BROKEN_FILENAMES=1</value>
+ <value type="QString">HG=/usr/bin/hg</value>
+ <value type="QString">HISTCONTROL=erasedups</value>
+ <value type="QString">HISTSIZE=1000</value>
+ <value type="QString">HOME=/home/maemo</value>
+ <value type="QString">INPUTRC=/etc/inputrc</value>
+ <value type="QString">KDEDIRS=:/home/maemo/koffice-inst</value>
+ <value type="QString">KDE_FULL_SESSION=true</value>
+ <value type="QString">KDE_MULTIHEAD=false</value>
+ <value type="QString">KDE_SESSION_UID=1000</value>
+ <value type="QString">KDE_SESSION_VERSION=4</value>
+ <value type="QString">LANG=en_US.UTF-8</value>
+ <value type="QString">LANGUAGE=</value>
+ <value type="QString">LD_LIBRARY_PATH=/usr/lib/qtcreator:</value>
+ <value type="QString">LESS=-R</value>
+ <value type="QString">LOGNAME=maemo</value>
+ <value type="QString">MOZ_PLUGIN_PATH=/usr/lib/mozilla/plugins</value>
+ <value type="QString">PATH=/usr/bin:/bin:/usr/bin:/sbin:/usr/sbin:/usr/bin/perlbin/site:/usr/bin/perlbin/vendor:/usr/bin/perlbin/core:/home/maemo/koffice-inst/bin</value>
+ <value type="QString">PKG_CONFIG_PATH=/usr/lib/pkgconfig</value>
+ <value type="QString">PS3=> </value>
+ <value type="QString">PS4=+ </value>
+ <value type="QString">PWD=/home/maemo/Documents</value>
+ <value type="QString">QTDIR=/usr/share/qt</value>
+ <value type="QString">QT_PLUGIN_PATH=/home/maemo/.kdemod4/lib/kde4/plugins/:/usr/lib/kde4/plugins/</value>
+ <value type="QString">SESSION_MANAGER=local/arch:@/tmp/.ICE-unix/3454,unix/arch:/tmp/.ICE-unix/3454</value>
+ <value type="QString">SHELL=/bin/bash</value>
+ <value type="QString">SHLVL=1</value>
+ <value type="QString">SSH_AGENT_PID=3359</value>
+ <value type="QString">SSH_AUTH_SOCK=/tmp/ssh-ntNFdL3358/agent.3358</value>
+ <value type="QString">USER=maemo</value>
+ <value type="QString">WINDOWPATH=7</value>
+ <value type="QString">XCURSOR_THEME=Oxygen_Black</value>
+ <value type="QString">XDG_CACHE_HOME=/home/maemo/.cache</value>
+ <value type="QString">XDG_CONFIG_DIRS=/etc/xdg</value>
+ <value type="QString">XDG_CONFIG_HOME=/home/maemo/.config</value>
+ <value type="QString">XDG_DATA_DIRS=/usr/share:/usr/local/share</value>
+ <value type="QString">XDG_DATA_HOME=/home/maemo/.local/share</value>
+ <value type="QString">XDG_SESSION_COOKIE=34c09630a6ae9ad92365c03300000216-1278471612.809573-1127632378</value>
+ <value type="QString">XDM_MANAGED=method=classic</value>
+ </valuelist>
+ <value key="abstractProcess.IgnoreReturnValue" type="bool">false</value>
+ <valuelist key="abstractProcess.arguments" type="QVariantList">
+ <value type="QString">-w</value>
+ </valuelist>
+ <value key="abstractProcess.command" type="QString">/usr/bin/make</value>
+ <value key="abstractProcess.enabled" type="bool">true</value>
+ <value key="abstractProcess.workingDirectory" type="QString">/home/maemo/Project/onlineServices</value>
+ </valuemap>
+ </data>
+ <data>
+ <variable>buildconfiguration-Debug-cleanstep0</variable>
+ <valuemap type="QVariantMap">
+ <value key="ProjectExplorer.BuildConfiguration.DisplayName" type="QString">Debug</value>
+ <valuelist key="abstractProcess.Environment" type="QVariantList">
+ <value type="QString">ALSA_PLUGINS_DIR=/usr/lib/alsa-lib</value>
+ <value type="QString">DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-ZOdel41nVI,guid=6d7798108c63ef2016727e40000000b5</value>
+ <value type="QString">DESKTOP_SESSION=default</value>
+ <value type="QString">DISPLAY=:0.0</value>
+ <value type="QString">DM_CONTROL=/var/run/xdmctl</value>
+ <value type="QString">GOARCH=amd64</value>
+ <value type="QString">GOBIN=/usr/bin</value>
+ <value type="QString">GOOS=linux</value>
+ <value type="QString">GOROOT=/usr/lib/go</value>
+ <value type="QString">GPG_AGENT_INFO=/tmp/gpg-C3HOkx/S.gpg-agent:3356:1</value>
+ <value type="QString">GS_LIB=/home/maemo/.fonts</value>
+ <value type="QString">GTK2_RC_FILES=/etc/gtk-2.0/gtkrc:/home/maemo/.gtkrc-2.0:/home/maemo/.gtkrc-2.0-kde4:/home/maemo/.kdemod4/share/config/gtkrc-2.0</value>
+ <value type="QString">GTK_RC_FILES=/etc/gtk/gtkrc:/home/maemo/.gtkrc::/home/maemo/.kdemod4/share/config/gtkrc</value>
+ <value type="QString">G_BROKEN_FILENAMES=1</value>
+ <value type="QString">HG=/usr/bin/hg</value>
+ <value type="QString">HISTCONTROL=erasedups</value>
+ <value type="QString">HISTSIZE=1000</value>
+ <value type="QString">HOME=/home/maemo</value>
+ <value type="QString">INPUTRC=/etc/inputrc</value>
+ <value type="QString">KDEDIRS=:/home/maemo/koffice-inst</value>
+ <value type="QString">KDE_FULL_SESSION=true</value>
+ <value type="QString">KDE_MULTIHEAD=false</value>
+ <value type="QString">KDE_SESSION_UID=1000</value>
+ <value type="QString">KDE_SESSION_VERSION=4</value>
+ <value type="QString">LANG=en_US.UTF-8</value>
+ <value type="QString">LANGUAGE=</value>
+ <value type="QString">LD_LIBRARY_PATH=/usr/lib/qtcreator:</value>
+ <value type="QString">LESS=-R</value>
+ <value type="QString">LOGNAME=maemo</value>
+ <value type="QString">MOZ_PLUGIN_PATH=/usr/lib/mozilla/plugins</value>
+ <value type="QString">PATH=/usr/bin:/bin:/usr/bin:/sbin:/usr/sbin:/usr/bin/perlbin/site:/usr/bin/perlbin/vendor:/usr/bin/perlbin/core:/home/maemo/koffice-inst/bin</value>
+ <value type="QString">PKG_CONFIG_PATH=/usr/lib/pkgconfig</value>
+ <value type="QString">PS3=> </value>
+ <value type="QString">PS4=+ </value>
+ <value type="QString">PWD=/home/maemo/Documents</value>
+ <value type="QString">QTDIR=/usr/share/qt</value>
+ <value type="QString">QT_PLUGIN_PATH=/home/maemo/.kdemod4/lib/kde4/plugins/:/usr/lib/kde4/plugins/</value>
+ <value type="QString">SESSION_MANAGER=local/arch:@/tmp/.ICE-unix/3454,unix/arch:/tmp/.ICE-unix/3454</value>
+ <value type="QString">SHELL=/bin/bash</value>
+ <value type="QString">SHLVL=1</value>
+ <value type="QString">SSH_AGENT_PID=3359</value>
+ <value type="QString">SSH_AUTH_SOCK=/tmp/ssh-ntNFdL3358/agent.3358</value>
+ <value type="QString">USER=maemo</value>
+ <value type="QString">WINDOWPATH=7</value>
+ <value type="QString">XCURSOR_THEME=Oxygen_Black</value>
+ <value type="QString">XDG_CACHE_HOME=/home/maemo/.cache</value>
+ <value type="QString">XDG_CONFIG_DIRS=/etc/xdg</value>
+ <value type="QString">XDG_CONFIG_HOME=/home/maemo/.config</value>
+ <value type="QString">XDG_DATA_DIRS=/usr/share:/usr/local/share</value>
+ <value type="QString">XDG_DATA_HOME=/home/maemo/.local/share</value>
+ <value type="QString">XDG_SESSION_COOKIE=34c09630a6ae9ad92365c03300000216-1278471612.809573-1127632378</value>
+ <value type="QString">XDM_MANAGED=method=classic</value>
+ </valuelist>
+ <value key="abstractProcess.IgnoreReturnValue" type="bool">true</value>
+ <valuelist key="abstractProcess.arguments" type="QVariantList">
+ <value type="QString">clean</value>
+ <value type="QString">-w</value>
+ </valuelist>
+ <value key="abstractProcess.command" type="QString">/usr/bin/make</value>
+ <value key="abstractProcess.enabled" type="bool">true</value>
+ <value key="abstractProcess.workingDirectory" type="QString">/home/maemo/Project/onlineServices</value>
+ <value key="cleanConfig" type="bool">true</value>
+ <valuelist key="makeargs" type="QVariantList">
+ <value type="QString">clean</value>
+ </valuelist>
+ </valuemap>
+ </data>
+ <data>
+ <variable>buildconfigurations</variable>
+ <valuelist type="QVariantList">
+ <value type="QString">Debug</value>
+ </valuelist>
+ </data>
+ <data>
+ <variable>buildstep0</variable>
+ <valuemap type="QVariantMap">
+ <value key="ProjectExplorer.BuildConfiguration.DisplayName" type="QString"></value>
+ <value key="mkspec" type="QString"></value>
+ </valuemap>
+ </data>
+ <data>
+ <variable>buildstep1</variable>
+ <valuemap type="QVariantMap">
+ <value key="ProjectExplorer.BuildConfiguration.DisplayName" type="QString"></value>
+ </valuemap>
+ </data>
+ <data>
+ <variable>buildsteps</variable>
+ <valuelist type="QVariantList">
+ <value type="QString">trolltech.qt4projectmanager.qmake</value>
+ <value type="QString">trolltech.qt4projectmanager.make</value>
+ </valuelist>
+ </data>
+ <data>
+ <variable>cleanstep0</variable>
+ <valuemap type="QVariantMap">
+ <value key="ProjectExplorer.BuildConfiguration.DisplayName" type="QString"></value>
+ <value key="clean" type="bool">true</value>
+ </valuemap>
+ </data>
+ <data>
+ <variable>cleansteps</variable>
+ <valuelist type="QVariantList">
+ <value type="QString">trolltech.qt4projectmanager.make</value>
+ </valuelist>
+ </data>
+ <data>
+ <variable>defaultFileEncoding</variable>
+ <value type="QByteArray">System</value>
+ </data>
+ <data>
+ <variable>project</variable>
+ <valuemap type="QVariantMap"/>
+ </data>
+</qtcreator>
--- /dev/null
+# #####################################################################
+# Automatically generated by qmake (2.01a) Sat Jul 10 12:41:16 2010
+# #####################################################################
+QT += network
+QT += xml
+TEMPLATE = lib
+CONFIG += plugin
+TARGET = OnlineServicesPlugin
+target.path = /usr/lib/freoffice/
+INSTALLS += target
+DEPENDPATH += .
+INCLUDEPATH += . /usr/local/include/office /usr/include/office
+
+# Input
+HEADERS += authenticator.h \
+ googlecontenthandler.h \
+ googledocument.h \
+ googledocumentlist.h \
+ googledocumentservice.h \
+ googlelistdialog.h \
+ googleuploaddialog.h \
+ loginwindow.h \
+ mimetypes.h \
+ onlineservicesplugin.h \
+ slideshare.h \
+ slideshareDocument.h \
+ slidesharelistdialog.h \
+ slideshareuploaddialog.h
+FORMS += authenticationdialog.ui \
+ filelistdialog.ui \
+ uploaddialog.ui
+SOURCES += authenticator.cpp \
+ googlecontenthandler.cpp \
+ googledocument.cpp \
+ googledocumentlist.cpp \
+ googledocumentservice.cpp \
+ googlelistdialog.cpp \
+ googleuploaddialog.cpp \
+ loginwindow.cpp \
+ mimetypes.cpp \
+ onlineservicesplugin.cpp \
+ slideshare.cpp \
+ slidesharelistdialog.cpp \
+ slideshareuploaddialog.cpp
--- /dev/null
+<!DOCTYPE QtCreatorProject>
+<qtcreator>
+ <data>
+ <variable>ProjectExplorer.Project.ActiveTarget</variable>
+ <value type="int">1</value>
+ </data>
+ <data>
+ <variable>ProjectExplorer.Project.EditorSettings</variable>
+ <valuemap type="QVariantMap">
+ <value key="EditorConfiguration.Codec" type="QByteArray">UTF-8</value>
+ </valuemap>
+ </data>
+ <data>
+ <variable>ProjectExplorer.Project.Target.0</variable>
+ <valuemap type="QVariantMap">
+ <value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString">Desktop</value>
+ <value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">Qt4ProjectManager.Target.DesktopTarget</value>
+ <value key="ProjectExplorer.Target.ActiveBuildConfiguration" type="int">0</value>
+ <value key="ProjectExplorer.Target.ActiveRunConfiguration" type="int">0</value>
+ <valuemap key="ProjectExplorer.Target.BuildConfiguration.0" type="QVariantMap">
+ <valuemap key="ProjectExplorer.BuildConfiguration.BuildStep.0" type="QVariantMap">
+ <value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString">qmake</value>
+ <value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">QtProjectManager.QMakeBuildStep</value>
+ <valuelist key="QtProjectManager.QMakeBuildStep.QMakeArguments" type="QVariantList"/>
+ </valuemap>
+ <valuemap key="ProjectExplorer.BuildConfiguration.BuildStep.1" type="QVariantMap">
+ <value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString">Make</value>
+ <value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">Qt4ProjectManager.MakeStep</value>
+ <value key="Qt4ProjectManager.MakeStep.Clean" type="bool">false</value>
+ <valuelist key="Qt4ProjectManager.MakeStep.MakeArguments" type="QVariantList"/>
+ <value key="Qt4ProjectManager.MakeStep.MakeCommand" type="QString"></value>
+ </valuemap>
+ <value key="ProjectExplorer.BuildConfiguration.BuildStepsCount" type="int">2</value>
+ <valuemap key="ProjectExplorer.BuildConfiguration.CleanStep.0" type="QVariantMap">
+ <value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString">Make</value>
+ <value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">Qt4ProjectManager.MakeStep</value>
+ <value key="Qt4ProjectManager.MakeStep.Clean" type="bool">true</value>
+ <valuelist key="Qt4ProjectManager.MakeStep.MakeArguments" type="QVariantList">
+ <value type="QString">clean</value>
+ </valuelist>
+ <value key="Qt4ProjectManager.MakeStep.MakeCommand" type="QString"></value>
+ </valuemap>
+ <value key="ProjectExplorer.BuildConfiguration.CleanStepsCount" type="int">1</value>
+ <value key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment" type="bool">false</value>
+ <valuelist key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges" type="QVariantList"/>
+ <value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString">Qt in PATH Debug</value>
+ <value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">Qt4ProjectManager.Qt4BuildConfiguration</value>
+ <value key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration" type="int">2</value>
+ <value key="Qt4ProjectManager.Qt4BuildConfiguration.BuildDirectory" type="QString">/home/maemo/Project/onlineServices-pluginBuild</value>
+ <value key="Qt4ProjectManager.Qt4BuildConfiguration.QtVersionId" type="int">2</value>
+ <value key="Qt4ProjectManager.Qt4BuildConfiguration.ToolChain" type="int">0</value>
+ <value key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild" type="bool">true</value>
+ </valuemap>
+ <valuemap key="ProjectExplorer.Target.BuildConfiguration.1" type="QVariantMap">
+ <valuemap key="ProjectExplorer.BuildConfiguration.BuildStep.0" type="QVariantMap">
+ <value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString">qmake</value>
+ <value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">QtProjectManager.QMakeBuildStep</value>
+ <valuelist key="QtProjectManager.QMakeBuildStep.QMakeArguments" type="QVariantList"/>
+ </valuemap>
+ <valuemap key="ProjectExplorer.BuildConfiguration.BuildStep.1" type="QVariantMap">
+ <value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString">Make</value>
+ <value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">Qt4ProjectManager.MakeStep</value>
+ <value key="Qt4ProjectManager.MakeStep.Clean" type="bool">false</value>
+ <valuelist key="Qt4ProjectManager.MakeStep.MakeArguments" type="QVariantList"/>
+ <value key="Qt4ProjectManager.MakeStep.MakeCommand" type="QString"></value>
+ </valuemap>
+ <value key="ProjectExplorer.BuildConfiguration.BuildStepsCount" type="int">2</value>
+ <valuemap key="ProjectExplorer.BuildConfiguration.CleanStep.0" type="QVariantMap">
+ <value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString">Make</value>
+ <value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">Qt4ProjectManager.MakeStep</value>
+ <value key="Qt4ProjectManager.MakeStep.Clean" type="bool">true</value>
+ <valuelist key="Qt4ProjectManager.MakeStep.MakeArguments" type="QVariantList">
+ <value type="QString">clean</value>
+ </valuelist>
+ <value key="Qt4ProjectManager.MakeStep.MakeCommand" type="QString"></value>
+ </valuemap>
+ <value key="ProjectExplorer.BuildConfiguration.CleanStepsCount" type="int">1</value>
+ <value key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment" type="bool">false</value>
+ <valuelist key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges" type="QVariantList"/>
+ <value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString">Qt in PATH Release</value>
+ <value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">Qt4ProjectManager.Qt4BuildConfiguration</value>
+ <value key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration" type="int">0</value>
+ <value key="Qt4ProjectManager.Qt4BuildConfiguration.BuildDirectory" type="QString">/home/maemo/Project/onlineServices-pluginBuild</value>
+ <value key="Qt4ProjectManager.Qt4BuildConfiguration.QtVersionId" type="int">2</value>
+ <value key="Qt4ProjectManager.Qt4BuildConfiguration.ToolChain" type="int">0</value>
+ <value key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild" type="bool">true</value>
+ </valuemap>
+ <valuemap key="ProjectExplorer.Target.BuildConfiguration.2" type="QVariantMap">
+ <valuemap key="ProjectExplorer.BuildConfiguration.BuildStep.0" type="QVariantMap">
+ <value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString">qmake</value>
+ <value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">QtProjectManager.QMakeBuildStep</value>
+ <valuelist key="QtProjectManager.QMakeBuildStep.QMakeArguments" type="QVariantList"/>
+ </valuemap>
+ <valuemap key="ProjectExplorer.BuildConfiguration.BuildStep.1" type="QVariantMap">
+ <value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString">Make</value>
+ <value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">Qt4ProjectManager.MakeStep</value>
+ <value key="Qt4ProjectManager.MakeStep.Clean" type="bool">false</value>
+ <valuelist key="Qt4ProjectManager.MakeStep.MakeArguments" type="QVariantList"/>
+ <value key="Qt4ProjectManager.MakeStep.MakeCommand" type="QString"></value>
+ </valuemap>
+ <value key="ProjectExplorer.BuildConfiguration.BuildStepsCount" type="int">2</value>
+ <valuemap key="ProjectExplorer.BuildConfiguration.CleanStep.0" type="QVariantMap">
+ <value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString">Make</value>
+ <value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">Qt4ProjectManager.MakeStep</value>
+ <value key="Qt4ProjectManager.MakeStep.Clean" type="bool">true</value>
+ <valuelist key="Qt4ProjectManager.MakeStep.MakeArguments" type="QVariantList">
+ <value type="QString">clean</value>
+ </valuelist>
+ <value key="Qt4ProjectManager.MakeStep.MakeCommand" type="QString"></value>
+ </valuemap>
+ <value key="ProjectExplorer.BuildConfiguration.CleanStepsCount" type="int">1</value>
+ <value key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment" type="bool">false</value>
+ <valuelist key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges" type="QVariantList"/>
+ <value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString">Qt 4.7.0 Debug</value>
+ <value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">Qt4ProjectManager.Qt4BuildConfiguration</value>
+ <value key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration" type="int">2</value>
+ <value key="Qt4ProjectManager.Qt4BuildConfiguration.BuildDirectory" type="QString">/home/maemo/Project/onlineServicesPlugin-build-desktop</value>
+ <value key="Qt4ProjectManager.Qt4BuildConfiguration.QtVersionId" type="int">6</value>
+ <value key="Qt4ProjectManager.Qt4BuildConfiguration.ToolChain" type="int">0</value>
+ <value key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild" type="bool">true</value>
+ </valuemap>
+ <valuemap key="ProjectExplorer.Target.BuildConfiguration.3" type="QVariantMap">
+ <valuemap key="ProjectExplorer.BuildConfiguration.BuildStep.0" type="QVariantMap">
+ <value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString">qmake</value>
+ <value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">QtProjectManager.QMakeBuildStep</value>
+ <valuelist key="QtProjectManager.QMakeBuildStep.QMakeArguments" type="QVariantList"/>
+ </valuemap>
+ <valuemap key="ProjectExplorer.BuildConfiguration.BuildStep.1" type="QVariantMap">
+ <value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString">Make</value>
+ <value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">Qt4ProjectManager.MakeStep</value>
+ <value key="Qt4ProjectManager.MakeStep.Clean" type="bool">false</value>
+ <valuelist key="Qt4ProjectManager.MakeStep.MakeArguments" type="QVariantList"/>
+ <value key="Qt4ProjectManager.MakeStep.MakeCommand" type="QString"></value>
+ </valuemap>
+ <value key="ProjectExplorer.BuildConfiguration.BuildStepsCount" type="int">2</value>
+ <valuemap key="ProjectExplorer.BuildConfiguration.CleanStep.0" type="QVariantMap">
+ <value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString">Make</value>
+ <value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">Qt4ProjectManager.MakeStep</value>
+ <value key="Qt4ProjectManager.MakeStep.Clean" type="bool">true</value>
+ <valuelist key="Qt4ProjectManager.MakeStep.MakeArguments" type="QVariantList">
+ <value type="QString">clean</value>
+ </valuelist>
+ <value key="Qt4ProjectManager.MakeStep.MakeCommand" type="QString"></value>
+ </valuemap>
+ <value key="ProjectExplorer.BuildConfiguration.CleanStepsCount" type="int">1</value>
+ <value key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment" type="bool">false</value>
+ <valuelist key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges" type="QVariantList"/>
+ <value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString">Qt 4.7.0 Release</value>
+ <value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">Qt4ProjectManager.Qt4BuildConfiguration</value>
+ <value key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration" type="int">0</value>
+ <value key="Qt4ProjectManager.Qt4BuildConfiguration.BuildDirectory" type="QString">/home/maemo/Project/onlineServicesPlugin-build-desktop</value>
+ <value key="Qt4ProjectManager.Qt4BuildConfiguration.QtVersionId" type="int">6</value>
+ <value key="Qt4ProjectManager.Qt4BuildConfiguration.ToolChain" type="int">0</value>
+ <value key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild" type="bool">true</value>
+ </valuemap>
+ <value key="ProjectExplorer.Target.BuildConfigurationCount" type="int">4</value>
+ <valuemap key="ProjectExplorer.Target.RunConfiguration.0" type="QVariantMap">
+ <valuelist key="ProjectExplorer.CustomExecutableRunConfiguration.Arguments" type="QVariantList"/>
+ <value key="ProjectExplorer.CustomExecutableRunConfiguration.BaseEnvironmentBase" type="int">2</value>
+ <value key="ProjectExplorer.CustomExecutableRunConfiguration.Executable" type="QString"></value>
+ <value key="ProjectExplorer.CustomExecutableRunConfiguration.UseTerminal" type="bool">false</value>
+ <valuelist key="ProjectExplorer.CustomExecutableRunConfiguration.UserEnvironmentChanges" type="QVariantList"/>
+ <value key="ProjectExplorer.CustomExecutableRunConfiguration.UserName" type="QString"></value>
+ <value key="ProjectExplorer.CustomExecutableRunConfiguration.UserSetName" type="bool">false</value>
+ <value key="ProjectExplorer.CustomExecutableRunConfiguration.WorkingDirectory" type="QString">$BUILDDIR</value>
+ <value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString">Custom Executable</value>
+ <value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">ProjectExplorer.CustomExecutableRunConfiguration</value>
+ </valuemap>
+ <value key="ProjectExplorer.Target.RunConfigurationCount" type="int">1</value>
+ </valuemap>
+ </data>
+ <data>
+ <variable>ProjectExplorer.Project.Target.1</variable>
+ <valuemap type="QVariantMap">
+ <value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString">Maemo</value>
+ <value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">Qt4ProjectManager.Target.MaemoDeviceTarget</value>
+ <value key="ProjectExplorer.Target.ActiveBuildConfiguration" type="int">1</value>
+ <value key="ProjectExplorer.Target.ActiveRunConfiguration" type="int">0</value>
+ <valuemap key="ProjectExplorer.Target.BuildConfiguration.0" type="QVariantMap">
+ <valuemap key="ProjectExplorer.BuildConfiguration.BuildStep.0" type="QVariantMap">
+ <value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString">qmake</value>
+ <value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">QtProjectManager.QMakeBuildStep</value>
+ <valuelist key="QtProjectManager.QMakeBuildStep.QMakeArguments" type="QVariantList"/>
+ </valuemap>
+ <valuemap key="ProjectExplorer.BuildConfiguration.BuildStep.1" type="QVariantMap">
+ <value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString">Make</value>
+ <value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">Qt4ProjectManager.MakeStep</value>
+ <value key="Qt4ProjectManager.MakeStep.Clean" type="bool">false</value>
+ <valuelist key="Qt4ProjectManager.MakeStep.MakeArguments" type="QVariantList"/>
+ <value key="Qt4ProjectManager.MakeStep.MakeCommand" type="QString"></value>
+ </valuemap>
+ <valuemap key="ProjectExplorer.BuildConfiguration.BuildStep.2" type="QVariantMap">
+ <value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString"></value>
+ <value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">Qt4ProjectManager.MaemoPackageCreationStep</value>
+ <valuelist key="Qt4ProjectManager.BuildStep.MaemoPackage.LocalFiles" type="QVariantList"/>
+ <value key="Qt4ProjectManager.BuildStep.MaemoPackage.Modified" type="bool">true</value>
+ <value key="Qt4ProjectManager.BuildStep.MaemoPackage.RemoteExe" type="QString"></value>
+ <valuelist key="Qt4ProjectManager.BuildStep.MaemoPackage.RemoteFiles" type="QVariantList"/>
+ </valuemap>
+ <value key="ProjectExplorer.BuildConfiguration.BuildStepsCount" type="int">3</value>
+ <valuemap key="ProjectExplorer.BuildConfiguration.CleanStep.0" type="QVariantMap">
+ <value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString">Make</value>
+ <value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">Qt4ProjectManager.MakeStep</value>
+ <value key="Qt4ProjectManager.MakeStep.Clean" type="bool">true</value>
+ <valuelist key="Qt4ProjectManager.MakeStep.MakeArguments" type="QVariantList">
+ <value type="QString">clean</value>
+ </valuelist>
+ <value key="Qt4ProjectManager.MakeStep.MakeCommand" type="QString"></value>
+ </valuemap>
+ <value key="ProjectExplorer.BuildConfiguration.CleanStepsCount" type="int">1</value>
+ <value key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment" type="bool">false</value>
+ <valuelist key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges" type="QVariantList"/>
+ <value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString">Debug</value>
+ <value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">Qt4ProjectManager.Qt4BuildConfiguration</value>
+ <value key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration" type="int">2</value>
+ <value key="Qt4ProjectManager.Qt4BuildConfiguration.BuildDirectory" type="QString">/home/maemo/Project/onlineServicesPlugin-build-maemo</value>
+ <value key="Qt4ProjectManager.Qt4BuildConfiguration.QtVersionId" type="int">9</value>
+ <value key="Qt4ProjectManager.Qt4BuildConfiguration.ToolChain" type="int">9</value>
+ <value key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild" type="bool">true</value>
+ </valuemap>
+ <valuemap key="ProjectExplorer.Target.BuildConfiguration.1" type="QVariantMap">
+ <valuemap key="ProjectExplorer.BuildConfiguration.BuildStep.0" type="QVariantMap">
+ <value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString">qmake</value>
+ <value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">QtProjectManager.QMakeBuildStep</value>
+ <valuelist key="QtProjectManager.QMakeBuildStep.QMakeArguments" type="QVariantList"/>
+ </valuemap>
+ <valuemap key="ProjectExplorer.BuildConfiguration.BuildStep.1" type="QVariantMap">
+ <value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString">Make</value>
+ <value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">Qt4ProjectManager.MakeStep</value>
+ <value key="Qt4ProjectManager.MakeStep.Clean" type="bool">false</value>
+ <valuelist key="Qt4ProjectManager.MakeStep.MakeArguments" type="QVariantList"/>
+ <value key="Qt4ProjectManager.MakeStep.MakeCommand" type="QString"></value>
+ </valuemap>
+ <valuemap key="ProjectExplorer.BuildConfiguration.BuildStep.2" type="QVariantMap">
+ <value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString"></value>
+ <value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">Qt4ProjectManager.MaemoPackageCreationStep</value>
+ <valuelist key="Qt4ProjectManager.BuildStep.MaemoPackage.LocalFiles" type="QVariantList"/>
+ <value key="Qt4ProjectManager.BuildStep.MaemoPackage.Modified" type="bool">true</value>
+ <value key="Qt4ProjectManager.BuildStep.MaemoPackage.RemoteExe" type="QString">/usr/local/bin/OnlineServicesPlugin</value>
+ <valuelist key="Qt4ProjectManager.BuildStep.MaemoPackage.RemoteFiles" type="QVariantList"/>
+ </valuemap>
+ <value key="ProjectExplorer.BuildConfiguration.BuildStepsCount" type="int">3</value>
+ <valuemap key="ProjectExplorer.BuildConfiguration.CleanStep.0" type="QVariantMap">
+ <value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString">Make</value>
+ <value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">Qt4ProjectManager.MakeStep</value>
+ <value key="Qt4ProjectManager.MakeStep.Clean" type="bool">true</value>
+ <valuelist key="Qt4ProjectManager.MakeStep.MakeArguments" type="QVariantList">
+ <value type="QString">clean</value>
+ </valuelist>
+ <value key="Qt4ProjectManager.MakeStep.MakeCommand" type="QString"></value>
+ </valuemap>
+ <value key="ProjectExplorer.BuildConfiguration.CleanStepsCount" type="int">1</value>
+ <value key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment" type="bool">false</value>
+ <valuelist key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges" type="QVariantList"/>
+ <value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString">Release</value>
+ <value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">Qt4ProjectManager.Qt4BuildConfiguration</value>
+ <value key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration" type="int">0</value>
+ <value key="Qt4ProjectManager.Qt4BuildConfiguration.BuildDirectory" type="QString">/home/maemo/Project/onlineServicesPlugin-build-maemo</value>
+ <value key="Qt4ProjectManager.Qt4BuildConfiguration.QtVersionId" type="int">9</value>
+ <value key="Qt4ProjectManager.Qt4BuildConfiguration.ToolChain" type="int">9</value>
+ <value key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild" type="bool">true</value>
+ </valuemap>
+ <value key="ProjectExplorer.Target.BuildConfigurationCount" type="int">2</value>
+ <valuemap key="ProjectExplorer.Target.RunConfiguration.0" type="QVariantMap">
+ <valuelist key="ProjectExplorer.CustomExecutableRunConfiguration.Arguments" type="QVariantList"/>
+ <value key="ProjectExplorer.CustomExecutableRunConfiguration.BaseEnvironmentBase" type="int">2</value>
+ <value key="ProjectExplorer.CustomExecutableRunConfiguration.Executable" type="QString"></value>
+ <value key="ProjectExplorer.CustomExecutableRunConfiguration.UseTerminal" type="bool">false</value>
+ <valuelist key="ProjectExplorer.CustomExecutableRunConfiguration.UserEnvironmentChanges" type="QVariantList"/>
+ <value key="ProjectExplorer.CustomExecutableRunConfiguration.UserName" type="QString"></value>
+ <value key="ProjectExplorer.CustomExecutableRunConfiguration.UserSetName" type="bool">false</value>
+ <value key="ProjectExplorer.CustomExecutableRunConfiguration.WorkingDirectory" type="QString">$BUILDDIR</value>
+ <value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString">Custom Executable</value>
+ <value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">ProjectExplorer.CustomExecutableRunConfiguration</value>
+ </valuemap>
+ <value key="ProjectExplorer.Target.RunConfigurationCount" type="int">1</value>
+ </valuemap>
+ </data>
+ <data>
+ <variable>ProjectExplorer.Project.TargetCount</variable>
+ <value type="int">2</value>
+ </data>
+ <data>
+ <variable>ProjectExplorer.Project.Updater.FileVersion</variable>
+ <value type="int">4</value>
+ </data>
+</qtcreator>
--- /dev/null
+# #####################################################################
+# Automatically generated by qmake (2.01a) Wed Jul 7 10:30:16 2010
+# #####################################################################
+TEMPLATE = app
+TARGET =
+DEPENDPATH += .
+INCLUDEPATH += .
+QT += network
+QT += xml
+
+# Input
+HEADERS += googlecontenthandler.h \
+ googledocument.h \
+ googledocumentlist.h \
+ googledocumentservice.h \
+ loginwindow.h \ # onlineservicesplugin.h \
+ slideshare.h \
+ slidesharelistdialog.h \
+ slideshareuploaddialog.h \
+ slideshareDocument.h \
+ mimetypes.h \
+ googlelistdialog.h \
+ googleuploaddialog.h
+FORMS += authenticationdialog.ui \
+ filelistdialog.ui \
+ uploaddialog.ui
+SOURCES += googlecontenthandler.cpp \
+ googledocument.cpp \
+ googledocumentlist.cpp \
+ googledocumentservice.cpp \
+ loginwindow.cpp \
+ main.cpp \ # onlineservicesplugin.cpp \
+ slideshare.cpp \
+ slidesharelistdialog.cpp \
+ slideshareuploaddialog.cpp \
+ googlelistdialog.cpp \
+ mimetypes.cpp \
+ googleuploaddialog.cpp
--- /dev/null
+# #####################################################################
+# Automatically generated by qmake (2.01a) Wed Jul 7 10:30:16 2010
+# #####################################################################
+TEMPLATE = app
+TARGET = OnlineServices
+DEPENDPATH += .
+INCLUDEPATH += .
+QT += network
+QT += xml
+
+# Input
+HEADERS += googlecontenthandler.h \
+ googledocument.h \
+ googledocumentlist.h \
+ googledocumentservice.h \
+ loginwindow.h \ # onlineservicesplugin.h \
+ slideshare.h \
+ slidesharelistdialog.h \
+ slideshareuploaddialog.h \
+ slideshareDocument.h \
+ mimetypes.h \
+ googlelistdialog.h \
+ googleuploaddialog.h
+FORMS += authenticationdialog.ui \
+ filelistdialog.ui \
+ uploaddialog.ui
+SOURCES += googlecontenthandler.cpp \
+ googledocument.cpp \
+ googledocumentlist.cpp \
+ googledocumentservice.cpp \
+ loginwindow.cpp \
+ main.cpp \ # onlineservicesplugin.cpp \
+ slideshare.cpp \
+ slidesharelistdialog.cpp \
+ slideshareuploaddialog.cpp \
+ googlelistdialog.cpp \
+ mimetypes.cpp \
+ googleuploaddialog.cpp
--- /dev/null
+<!DOCTYPE QtCreatorProject>
+<qtcreator>
+ <data>
+ <variable>RunConfiguration0-BaseEnvironmentBase</variable>
+ <value type="int">2</value>
+ </data>
+ <data>
+ <variable>RunConfiguration0-CommandLineArguments</variable>
+ <valuelist type="QVariantList"/>
+ </data>
+ <data>
+ <variable>RunConfiguration0-ProFile</variable>
+ <value type="QString">onlineServicesStandAlone.pro</value>
+ </data>
+ <data>
+ <variable>RunConfiguration0-RunConfiguration.name</variable>
+ <value type="QString">onlineServicesStandAlone</value>
+ </data>
+ <data>
+ <variable>RunConfiguration0-UseDyldImageSuffix</variable>
+ <value type="bool">false</value>
+ </data>
+ <data>
+ <variable>RunConfiguration0-UseTerminal</variable>
+ <value type="bool">false</value>
+ </data>
+ <data>
+ <variable>RunConfiguration0-UserEnvironmentChanges</variable>
+ <valuelist type="QVariantList"/>
+ </data>
+ <data>
+ <variable>RunConfiguration0-UserSetName</variable>
+ <value type="bool">false</value>
+ </data>
+ <data>
+ <variable>RunConfiguration0-UserSetWorkingDirectory</variable>
+ <value type="bool">false</value>
+ </data>
+ <data>
+ <variable>RunConfiguration0-UserWorkingDirectory</variable>
+ <value type="QString"></value>
+ </data>
+ <data>
+ <variable>RunConfiguration0-type</variable>
+ <value type="QString">Qt4ProjectManager.Qt4RunConfiguration</value>
+ </data>
+ <data>
+ <variable>activeRunConfiguration</variable>
+ <value type="int">0</value>
+ </data>
+ <data>
+ <variable>activebuildconfiguration</variable>
+ <value type="QString">Release</value>
+ </data>
+ <data>
+ <variable>buildConfiguration-Release</variable>
+ <valuemap type="QVariantMap">
+ <value key="ProjectExplorer.BuildConfiguration.DisplayName" type="QString">Release</value>
+ <value key="QtVersionId" type="int">2</value>
+ <value key="ToolChain" type="int">0</value>
+ <value key="addQDumper" type=""></value>
+ <value key="buildConfiguration" type="int">0</value>
+ </valuemap>
+ </data>
+ <data>
+ <variable>buildconfiguration-Release-buildstep0</variable>
+ <valuemap type="QVariantMap">
+ <value key="ProjectExplorer.BuildConfiguration.DisplayName" type="QString">Release</value>
+ <valuelist key="abstractProcess.Environment" type="QVariantList">
+ <value type="QString">ALSA_PLUGINS_DIR=/usr/lib/alsa-lib</value>
+ <value type="QString">DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-FfenDiZGv7,guid=72dbc6d7283e26da69f7ce3500001f25</value>
+ <value type="QString">DESKTOP_SESSION=kde</value>
+ <value type="QString">DISPLAY=:0.0</value>
+ <value type="QString">DM_CONTROL=/var/run/xdmctl</value>
+ <value type="QString">GOARCH=amd64</value>
+ <value type="QString">GOBIN=/usr/bin</value>
+ <value type="QString">GOOS=linux</value>
+ <value type="QString">GOROOT=/usr/lib/go</value>
+ <value type="QString">GPG_AGENT_INFO=/tmp/gpg-59sFX6/S.gpg-agent:31687:1</value>
+ <value type="QString">GS_LIB=/home/maemo/.fonts</value>
+ <value type="QString">GTK2_RC_FILES=/etc/gtk-2.0/gtkrc:/home/maemo/.gtkrc-2.0:/home/maemo/.gtkrc-2.0-kde4:/home/maemo/.kde4/share/config/gtkrc-2.0</value>
+ <value type="QString">GTK_RC_FILES=/etc/gtk/gtkrc:/home/maemo/.gtkrc::/home/maemo/.kde4/share/config/gtkrc</value>
+ <value type="QString">G_BROKEN_FILENAMES=1</value>
+ <value type="QString">HG=/usr/bin/hg</value>
+ <value type="QString">HISTCONTROL=erasedups</value>
+ <value type="QString">HISTSIZE=1000</value>
+ <value type="QString">HOME=/home/maemo</value>
+ <value type="QString">INPUTRC=/etc/inputrc</value>
+ <value type="QString">KDEDIRS=:/home/maemo/koffice-inst</value>
+ <value type="QString">KDE_FULL_SESSION=true</value>
+ <value type="QString">KDE_MULTIHEAD=false</value>
+ <value type="QString">KDE_SESSION_UID=1000</value>
+ <value type="QString">KDE_SESSION_VERSION=4</value>
+ <value type="QString">LANG=en_US.UTF-8</value>
+ <value type="QString">LANGUAGE=</value>
+ <value type="QString">LD_LIBRARY_PATH=/usr/lib/qtcreator:</value>
+ <value type="QString">LESS=-R</value>
+ <value type="QString">LOGNAME=maemo</value>
+ <value type="QString">MALLOC_CHECK_=3</value>
+ <value type="QString">MOZ_PLUGIN_PATH=/usr/lib/mozilla/plugins</value>
+ <value type="QString">PATH=/usr/bin:/bin:/usr/bin:/sbin:/usr/sbin:/usr/bin/perlbin/site:/usr/bin/perlbin/vendor:/usr/bin/perlbin/core:/home/maemo/koffice-inst/bin</value>
+ <value type="QString">PKG_CONFIG_PATH=/usr/lib/pkgconfig</value>
+ <value type="QString">PS3=> </value>
+ <value type="QString">PS4=+ </value>
+ <value type="QString">PWD=/home/maemo/Documents</value>
+ <value type="QString">QTDIR=/usr/share/qt</value>
+ <value type="QString">QT_PLUGIN_PATH=/home/maemo/.kde4/lib/kde4/plugins/:/usr/lib/kde4/plugins/</value>
+ <value type="QString">SESSION_MANAGER=local/arch:@/tmp/.ICE-unix/31736,unix/arch:/tmp/.ICE-unix/31736</value>
+ <value type="QString">SHELL=/bin/bash</value>
+ <value type="QString">SHLVL=1</value>
+ <value type="QString">SSH_AGENT_PID=31690</value>
+ <value type="QString">SSH_AUTH_SOCK=/tmp/ssh-fzmdW31689/agent.31689</value>
+ <value type="QString">USER=maemo</value>
+ <value type="QString">WINDOWPATH=7</value>
+ <value type="QString">XCURSOR_THEME=Oxygen_Black</value>
+ <value type="QString">XDG_CACHE_HOME=/home/maemo/.cache</value>
+ <value type="QString">XDG_CONFIG_DIRS=/etc/xdg</value>
+ <value type="QString">XDG_CONFIG_HOME=/home/maemo/.config</value>
+ <value type="QString">XDG_DATA_DIRS=/usr/share:/usr/local/share</value>
+ <value type="QString">XDG_DATA_HOME=/home/maemo/.local/share</value>
+ <value type="QString">XDG_SESSION_COOKIE=34c09630a6ae9ad92365c03300000216-1279084273.67966-555969312</value>
+ <value type="QString">XDM_MANAGED=method=classic</value>
+ </valuelist>
+ <valuelist key="abstractProcess.arguments" type="QVariantList">
+ <value type="QString">/home/maemo/Project/onlineServices/onlineServicesStandAlone.pro</value>
+ <value type="QString">-spec</value>
+ <value type="QString">linux-g++-64</value>
+ <value type="QString">-r</value>
+ </valuelist>
+ <value key="abstractProcess.command" type="QString">/usr/bin/qmake</value>
+ <value key="abstractProcess.enabled" type="bool">false</value>
+ <value key="abstractProcess.workingDirectory" type="QString">/home/maemo/Project/onlineServices</value>
+ </valuemap>
+ </data>
+ <data>
+ <variable>buildconfiguration-Release-buildstep1</variable>
+ <valuemap type="QVariantMap">
+ <value key="ProjectExplorer.BuildConfiguration.DisplayName" type="QString">Release</value>
+ <valuelist key="abstractProcess.Environment" type="QVariantList">
+ <value type="QString">ALSA_PLUGINS_DIR=/usr/lib/alsa-lib</value>
+ <value type="QString">DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-FfenDiZGv7,guid=72dbc6d7283e26da69f7ce3500001f25</value>
+ <value type="QString">DESKTOP_SESSION=kde</value>
+ <value type="QString">DISPLAY=:0.0</value>
+ <value type="QString">DM_CONTROL=/var/run/xdmctl</value>
+ <value type="QString">GOARCH=amd64</value>
+ <value type="QString">GOBIN=/usr/bin</value>
+ <value type="QString">GOOS=linux</value>
+ <value type="QString">GOROOT=/usr/lib/go</value>
+ <value type="QString">GPG_AGENT_INFO=/tmp/gpg-59sFX6/S.gpg-agent:31687:1</value>
+ <value type="QString">GS_LIB=/home/maemo/.fonts</value>
+ <value type="QString">GTK2_RC_FILES=/etc/gtk-2.0/gtkrc:/home/maemo/.gtkrc-2.0:/home/maemo/.gtkrc-2.0-kde4:/home/maemo/.kde4/share/config/gtkrc-2.0</value>
+ <value type="QString">GTK_RC_FILES=/etc/gtk/gtkrc:/home/maemo/.gtkrc::/home/maemo/.kde4/share/config/gtkrc</value>
+ <value type="QString">G_BROKEN_FILENAMES=1</value>
+ <value type="QString">HG=/usr/bin/hg</value>
+ <value type="QString">HISTCONTROL=erasedups</value>
+ <value type="QString">HISTSIZE=1000</value>
+ <value type="QString">HOME=/home/maemo</value>
+ <value type="QString">INPUTRC=/etc/inputrc</value>
+ <value type="QString">KDEDIRS=:/home/maemo/koffice-inst</value>
+ <value type="QString">KDE_FULL_SESSION=true</value>
+ <value type="QString">KDE_MULTIHEAD=false</value>
+ <value type="QString">KDE_SESSION_UID=1000</value>
+ <value type="QString">KDE_SESSION_VERSION=4</value>
+ <value type="QString">LANG=en_US.UTF-8</value>
+ <value type="QString">LANGUAGE=</value>
+ <value type="QString">LD_LIBRARY_PATH=/usr/lib/qtcreator:</value>
+ <value type="QString">LESS=-R</value>
+ <value type="QString">LOGNAME=maemo</value>
+ <value type="QString">MALLOC_CHECK_=3</value>
+ <value type="QString">MOZ_PLUGIN_PATH=/usr/lib/mozilla/plugins</value>
+ <value type="QString">PATH=/usr/bin:/bin:/usr/bin:/sbin:/usr/sbin:/usr/bin/perlbin/site:/usr/bin/perlbin/vendor:/usr/bin/perlbin/core:/home/maemo/koffice-inst/bin</value>
+ <value type="QString">PKG_CONFIG_PATH=/usr/lib/pkgconfig</value>
+ <value type="QString">PS3=> </value>
+ <value type="QString">PS4=+ </value>
+ <value type="QString">PWD=/home/maemo/Documents</value>
+ <value type="QString">QTDIR=/usr/share/qt</value>
+ <value type="QString">QT_PLUGIN_PATH=/home/maemo/.kde4/lib/kde4/plugins/:/usr/lib/kde4/plugins/</value>
+ <value type="QString">SESSION_MANAGER=local/arch:@/tmp/.ICE-unix/31736,unix/arch:/tmp/.ICE-unix/31736</value>
+ <value type="QString">SHELL=/bin/bash</value>
+ <value type="QString">SHLVL=1</value>
+ <value type="QString">SSH_AGENT_PID=31690</value>
+ <value type="QString">SSH_AUTH_SOCK=/tmp/ssh-fzmdW31689/agent.31689</value>
+ <value type="QString">USER=maemo</value>
+ <value type="QString">WINDOWPATH=7</value>
+ <value type="QString">XCURSOR_THEME=Oxygen_Black</value>
+ <value type="QString">XDG_CACHE_HOME=/home/maemo/.cache</value>
+ <value type="QString">XDG_CONFIG_DIRS=/etc/xdg</value>
+ <value type="QString">XDG_CONFIG_HOME=/home/maemo/.config</value>
+ <value type="QString">XDG_DATA_DIRS=/usr/share:/usr/local/share</value>
+ <value type="QString">XDG_DATA_HOME=/home/maemo/.local/share</value>
+ <value type="QString">XDG_SESSION_COOKIE=34c09630a6ae9ad92365c03300000216-1279084273.67966-555969312</value>
+ <value type="QString">XDM_MANAGED=method=classic</value>
+ </valuelist>
+ <value key="abstractProcess.IgnoreReturnValue" type="bool">false</value>
+ <valuelist key="abstractProcess.arguments" type="QVariantList">
+ <value type="QString">-w</value>
+ </valuelist>
+ <value key="abstractProcess.command" type="QString">/usr/bin/make</value>
+ <value key="abstractProcess.enabled" type="bool">true</value>
+ <value key="abstractProcess.workingDirectory" type="QString">/home/maemo/Project/onlineServices</value>
+ </valuemap>
+ </data>
+ <data>
+ <variable>buildconfiguration-Release-cleanstep0</variable>
+ <valuemap type="QVariantMap">
+ <value key="ProjectExplorer.BuildConfiguration.DisplayName" type="QString">Release</value>
+ <valuelist key="abstractProcess.Environment" type="QVariantList">
+ <value type="QString">ALSA_PLUGINS_DIR=/usr/lib/alsa-lib</value>
+ <value type="QString">DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-FUPWNjaJHQ,guid=1a8d0ffabc19c956cdc9ec2e00000037</value>
+ <value type="QString">DESKTOP_SESSION=gnome</value>
+ <value type="QString">DISPLAY=:0.0</value>
+ <value type="QString">DM_CONTROL=/var/run/xdmctl</value>
+ <value type="QString">GNOME_DESKTOP_SESSION_ID=this-is-deprecated</value>
+ <value type="QString">GNOME_KEYRING_CONTROL=/tmp/keyring-eRfcWA</value>
+ <value type="QString">GOARCH=amd64</value>
+ <value type="QString">GOBIN=/usr/bin</value>
+ <value type="QString">GOOS=linux</value>
+ <value type="QString">GOROOT=/usr/lib/go</value>
+ <value type="QString">GTK_RC_FILES=/etc/gtk/gtkrc:/home/maemo/.gtkrc-1.2-gnome2</value>
+ <value type="QString">G_BROKEN_FILENAMES=1</value>
+ <value type="QString">HG=/usr/bin/hg</value>
+ <value type="QString">HISTCONTROL=erasedups</value>
+ <value type="QString">HISTSIZE=1000</value>
+ <value type="QString">HOME=/home/maemo</value>
+ <value type="QString">INPUTRC=/etc/inputrc</value>
+ <value type="QString">KDEDIRS=:/home/maemo/koffice-inst</value>
+ <value type="QString">LANG=en_US.UTF-8</value>
+ <value type="QString">LD_LIBRARY_PATH=/usr/lib/qtcreator:</value>
+ <value type="QString">LESS=-R</value>
+ <value type="QString">LOGNAME=maemo</value>
+ <value type="QString">MOZ_PLUGIN_PATH=/usr/lib/mozilla/plugins</value>
+ <value type="QString">ORBIT_SOCKETDIR=/tmp/orbit-maemo</value>
+ <value type="QString">PATH=/usr/bin:/bin:/usr/bin:/sbin:/usr/sbin:/usr/bin/perlbin/site:/usr/bin/perlbin/vendor:/usr/bin/perlbin/core:/home/maemo/koffice-inst/bin</value>
+ <value type="QString">PKG_CONFIG_PATH=/usr/lib/pkgconfig</value>
+ <value type="QString">PS3=> </value>
+ <value type="QString">PS4=+ </value>
+ <value type="QString">PWD=/home/maemo</value>
+ <value type="QString">QTDIR=/usr/share/qt</value>
+ <value type="QString">SESSION_MANAGER=local/arch:@/tmp/.ICE-unix/2824,unix/arch:/tmp/.ICE-unix/2824</value>
+ <value type="QString">SHELL=/bin/bash</value>
+ <value type="QString">SHLVL=0</value>
+ <value type="QString">SSH_AUTH_SOCK=/tmp/keyring-eRfcWA/ssh</value>
+ <value type="QString">USER=maemo</value>
+ <value type="QString">WINDOWPATH=7</value>
+ <value type="QString">XDG_CACHE_HOME=/home/maemo/.cache</value>
+ <value type="QString">XDG_CONFIG_DIRS=/etc/xdg</value>
+ <value type="QString">XDG_CONFIG_HOME=/home/maemo/.config</value>
+ <value type="QString">XDG_DATA_DIRS=/usr/share:/usr/local/share</value>
+ <value type="QString">XDG_DATA_HOME=/home/maemo/.local/share</value>
+ <value type="QString">XDG_SESSION_COOKIE=34c09630a6ae9ad92365c03300000216-1279076353.685608-349349716</value>
+ <value type="QString">XDM_MANAGED=method=classic</value>
+ </valuelist>
+ <value key="abstractProcess.IgnoreReturnValue" type="bool">true</value>
+ <valuelist key="abstractProcess.arguments" type="QVariantList">
+ <value type="QString">clean</value>
+ <value type="QString">-w</value>
+ </valuelist>
+ <value key="abstractProcess.command" type="QString">/usr/bin/make</value>
+ <value key="abstractProcess.enabled" type="bool">true</value>
+ <value key="abstractProcess.workingDirectory" type="QString">/home/maemo/Project/onlineServices</value>
+ <value key="cleanConfig" type="bool">true</value>
+ <valuelist key="makeargs" type="QVariantList">
+ <value type="QString">clean</value>
+ </valuelist>
+ </valuemap>
+ </data>
+ <data>
+ <variable>buildconfigurations</variable>
+ <valuelist type="QVariantList">
+ <value type="QString">Release</value>
+ </valuelist>
+ </data>
+ <data>
+ <variable>buildstep0</variable>
+ <valuemap type="QVariantMap">
+ <value key="ProjectExplorer.BuildConfiguration.DisplayName" type="QString"></value>
+ <value key="mkspec" type="QString"></value>
+ </valuemap>
+ </data>
+ <data>
+ <variable>buildstep1</variable>
+ <valuemap type="QVariantMap">
+ <value key="ProjectExplorer.BuildConfiguration.DisplayName" type="QString"></value>
+ </valuemap>
+ </data>
+ <data>
+ <variable>buildsteps</variable>
+ <valuelist type="QVariantList">
+ <value type="QString">trolltech.qt4projectmanager.qmake</value>
+ <value type="QString">trolltech.qt4projectmanager.make</value>
+ </valuelist>
+ </data>
+ <data>
+ <variable>cleanstep0</variable>
+ <valuemap type="QVariantMap">
+ <value key="ProjectExplorer.BuildConfiguration.DisplayName" type="QString"></value>
+ <value key="clean" type="bool">true</value>
+ </valuemap>
+ </data>
+ <data>
+ <variable>cleansteps</variable>
+ <valuelist type="QVariantList">
+ <value type="QString">trolltech.qt4projectmanager.make</value>
+ </valuelist>
+ </data>
+ <data>
+ <variable>defaultFileEncoding</variable>
+ <value type="QByteArray">System</value>
+ </data>
+ <data>
+ <variable>project</variable>
+ <valuemap type="QVariantMap"/>
+ </data>
+</qtcreator>
--- /dev/null
+<!DOCTYPE QtCreatorProject>
+<qtcreator>
+ <data>
+ <variable>RunConfiguration0-BaseEnvironmentBase</variable>
+ <value type="int">2</value>
+ </data>
+ <data>
+ <variable>RunConfiguration0-CommandLineArguments</variable>
+ <valuelist type="QVariantList"/>
+ </data>
+ <data>
+ <variable>RunConfiguration0-ProFile</variable>
+ <value type="QString">onlineServicesStandAlone.pro</value>
+ </data>
+ <data>
+ <variable>RunConfiguration0-RunConfiguration.name</variable>
+ <value type="QString">onlineServicesStandAlone</value>
+ </data>
+ <data>
+ <variable>RunConfiguration0-UseDyldImageSuffix</variable>
+ <value type="bool">false</value>
+ </data>
+ <data>
+ <variable>RunConfiguration0-UseTerminal</variable>
+ <value type="bool">false</value>
+ </data>
+ <data>
+ <variable>RunConfiguration0-UserEnvironmentChanges</variable>
+ <valuelist type="QVariantList"/>
+ </data>
+ <data>
+ <variable>RunConfiguration0-UserSetName</variable>
+ <value type="bool">false</value>
+ </data>
+ <data>
+ <variable>RunConfiguration0-UserSetWorkingDirectory</variable>
+ <value type="bool">false</value>
+ </data>
+ <data>
+ <variable>RunConfiguration0-UserWorkingDirectory</variable>
+ <value type="QString"></value>
+ </data>
+ <data>
+ <variable>RunConfiguration0-type</variable>
+ <value type="QString">Qt4ProjectManager.Qt4RunConfiguration</value>
+ </data>
+ <data>
+ <variable>activeRunConfiguration</variable>
+ <value type="int">0</value>
+ </data>
+ <data>
+ <variable>activebuildconfiguration</variable>
+ <value type="QString">Release</value>
+ </data>
+ <data>
+ <variable>buildConfiguration-Release</variable>
+ <valuemap type="QVariantMap">
+ <value key="ProjectExplorer.BuildConfiguration.DisplayName" type="QString">Release</value>
+ <value key="QtVersionId" type="int">2</value>
+ <value key="ToolChain" type="int">0</value>
+ <value key="addQDumper" type=""></value>
+ <value key="buildConfiguration" type="int">0</value>
+ </valuemap>
+ </data>
+ <data>
+ <variable>buildconfiguration-Release-buildstep0</variable>
+ <valuemap type="QVariantMap">
+ <value key="ProjectExplorer.BuildConfiguration.DisplayName" type="QString">Release</value>
+ <valuelist key="abstractProcess.Environment" type="QVariantList">
+ <value type="QString">ALSA_PLUGINS_DIR=/usr/lib/alsa-lib</value>
+ <value type="QString">DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-FUPWNjaJHQ,guid=1a8d0ffabc19c956cdc9ec2e00000037</value>
+ <value type="QString">DESKTOP_SESSION=gnome</value>
+ <value type="QString">DISPLAY=:0.0</value>
+ <value type="QString">DM_CONTROL=/var/run/xdmctl</value>
+ <value type="QString">GNOME_DESKTOP_SESSION_ID=this-is-deprecated</value>
+ <value type="QString">GNOME_KEYRING_CONTROL=/tmp/keyring-eRfcWA</value>
+ <value type="QString">GOARCH=amd64</value>
+ <value type="QString">GOBIN=/usr/bin</value>
+ <value type="QString">GOOS=linux</value>
+ <value type="QString">GOROOT=/usr/lib/go</value>
+ <value type="QString">GTK_RC_FILES=/etc/gtk/gtkrc:/home/maemo/.gtkrc-1.2-gnome2</value>
+ <value type="QString">G_BROKEN_FILENAMES=1</value>
+ <value type="QString">HG=/usr/bin/hg</value>
+ <value type="QString">HISTCONTROL=erasedups</value>
+ <value type="QString">HISTSIZE=1000</value>
+ <value type="QString">HOME=/home/maemo</value>
+ <value type="QString">INPUTRC=/etc/inputrc</value>
+ <value type="QString">KDEDIRS=:/home/maemo/koffice-inst</value>
+ <value type="QString">LANG=en_US.UTF-8</value>
+ <value type="QString">LD_LIBRARY_PATH=/usr/lib/qtcreator:</value>
+ <value type="QString">LESS=-R</value>
+ <value type="QString">LOGNAME=maemo</value>
+ <value type="QString">MOZ_PLUGIN_PATH=/usr/lib/mozilla/plugins</value>
+ <value type="QString">ORBIT_SOCKETDIR=/tmp/orbit-maemo</value>
+ <value type="QString">PATH=/usr/bin:/bin:/usr/bin:/sbin:/usr/sbin:/usr/bin/perlbin/site:/usr/bin/perlbin/vendor:/usr/bin/perlbin/core:/home/maemo/koffice-inst/bin</value>
+ <value type="QString">PKG_CONFIG_PATH=/usr/lib/pkgconfig</value>
+ <value type="QString">PS3=> </value>
+ <value type="QString">PS4=+ </value>
+ <value type="QString">PWD=/home/maemo</value>
+ <value type="QString">QTDIR=/usr/share/qt</value>
+ <value type="QString">SESSION_MANAGER=local/arch:@/tmp/.ICE-unix/2824,unix/arch:/tmp/.ICE-unix/2824</value>
+ <value type="QString">SHELL=/bin/bash</value>
+ <value type="QString">SHLVL=0</value>
+ <value type="QString">SSH_AUTH_SOCK=/tmp/keyring-eRfcWA/ssh</value>
+ <value type="QString">USER=maemo</value>
+ <value type="QString">WINDOWPATH=7</value>
+ <value type="QString">XDG_CACHE_HOME=/home/maemo/.cache</value>
+ <value type="QString">XDG_CONFIG_DIRS=/etc/xdg</value>
+ <value type="QString">XDG_CONFIG_HOME=/home/maemo/.config</value>
+ <value type="QString">XDG_DATA_DIRS=/usr/share:/usr/local/share</value>
+ <value type="QString">XDG_DATA_HOME=/home/maemo/.local/share</value>
+ <value type="QString">XDG_SESSION_COOKIE=34c09630a6ae9ad92365c03300000216-1279076353.685608-349349716</value>
+ <value type="QString">XDM_MANAGED=method=classic</value>
+ </valuelist>
+ <valuelist key="abstractProcess.arguments" type="QVariantList">
+ <value type="QString">/home/maemo/Project/onlineServices/onlineServicesStandAlone.pro</value>
+ <value type="QString">-spec</value>
+ <value type="QString">linux-g++-64</value>
+ <value type="QString">-r</value>
+ </valuelist>
+ <value key="abstractProcess.command" type="QString">/usr/bin/qmake</value>
+ <value key="abstractProcess.enabled" type="bool">false</value>
+ <value key="abstractProcess.workingDirectory" type="QString">/home/maemo/Project/onlineServices</value>
+ </valuemap>
+ </data>
+ <data>
+ <variable>buildconfiguration-Release-buildstep1</variable>
+ <valuemap type="QVariantMap">
+ <value key="ProjectExplorer.BuildConfiguration.DisplayName" type="QString">Release</value>
+ <valuelist key="abstractProcess.Environment" type="QVariantList">
+ <value type="QString">ALSA_PLUGINS_DIR=/usr/lib/alsa-lib</value>
+ <value type="QString">DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-FUPWNjaJHQ,guid=1a8d0ffabc19c956cdc9ec2e00000037</value>
+ <value type="QString">DESKTOP_SESSION=gnome</value>
+ <value type="QString">DISPLAY=:0.0</value>
+ <value type="QString">DM_CONTROL=/var/run/xdmctl</value>
+ <value type="QString">GNOME_DESKTOP_SESSION_ID=this-is-deprecated</value>
+ <value type="QString">GNOME_KEYRING_CONTROL=/tmp/keyring-eRfcWA</value>
+ <value type="QString">GOARCH=amd64</value>
+ <value type="QString">GOBIN=/usr/bin</value>
+ <value type="QString">GOOS=linux</value>
+ <value type="QString">GOROOT=/usr/lib/go</value>
+ <value type="QString">GTK_RC_FILES=/etc/gtk/gtkrc:/home/maemo/.gtkrc-1.2-gnome2</value>
+ <value type="QString">G_BROKEN_FILENAMES=1</value>
+ <value type="QString">HG=/usr/bin/hg</value>
+ <value type="QString">HISTCONTROL=erasedups</value>
+ <value type="QString">HISTSIZE=1000</value>
+ <value type="QString">HOME=/home/maemo</value>
+ <value type="QString">INPUTRC=/etc/inputrc</value>
+ <value type="QString">KDEDIRS=:/home/maemo/koffice-inst</value>
+ <value type="QString">LANG=en_US.UTF-8</value>
+ <value type="QString">LD_LIBRARY_PATH=/usr/lib/qtcreator:</value>
+ <value type="QString">LESS=-R</value>
+ <value type="QString">LOGNAME=maemo</value>
+ <value type="QString">MOZ_PLUGIN_PATH=/usr/lib/mozilla/plugins</value>
+ <value type="QString">ORBIT_SOCKETDIR=/tmp/orbit-maemo</value>
+ <value type="QString">PATH=/usr/bin:/bin:/usr/bin:/sbin:/usr/sbin:/usr/bin/perlbin/site:/usr/bin/perlbin/vendor:/usr/bin/perlbin/core:/home/maemo/koffice-inst/bin</value>
+ <value type="QString">PKG_CONFIG_PATH=/usr/lib/pkgconfig</value>
+ <value type="QString">PS3=> </value>
+ <value type="QString">PS4=+ </value>
+ <value type="QString">PWD=/home/maemo</value>
+ <value type="QString">QTDIR=/usr/share/qt</value>
+ <value type="QString">SESSION_MANAGER=local/arch:@/tmp/.ICE-unix/2824,unix/arch:/tmp/.ICE-unix/2824</value>
+ <value type="QString">SHELL=/bin/bash</value>
+ <value type="QString">SHLVL=0</value>
+ <value type="QString">SSH_AUTH_SOCK=/tmp/keyring-eRfcWA/ssh</value>
+ <value type="QString">USER=maemo</value>
+ <value type="QString">WINDOWPATH=7</value>
+ <value type="QString">XDG_CACHE_HOME=/home/maemo/.cache</value>
+ <value type="QString">XDG_CONFIG_DIRS=/etc/xdg</value>
+ <value type="QString">XDG_CONFIG_HOME=/home/maemo/.config</value>
+ <value type="QString">XDG_DATA_DIRS=/usr/share:/usr/local/share</value>
+ <value type="QString">XDG_DATA_HOME=/home/maemo/.local/share</value>
+ <value type="QString">XDG_SESSION_COOKIE=34c09630a6ae9ad92365c03300000216-1279076353.685608-349349716</value>
+ <value type="QString">XDM_MANAGED=method=classic</value>
+ </valuelist>
+ <value key="abstractProcess.IgnoreReturnValue" type="bool">false</value>
+ <valuelist key="abstractProcess.arguments" type="QVariantList">
+ <value type="QString">-w</value>
+ </valuelist>
+ <value key="abstractProcess.command" type="QString">/usr/bin/make</value>
+ <value key="abstractProcess.enabled" type="bool">true</value>
+ <value key="abstractProcess.workingDirectory" type="QString">/home/maemo/Project/onlineServices</value>
+ </valuemap>
+ </data>
+ <data>
+ <variable>buildconfiguration-Release-cleanstep0</variable>
+ <valuemap type="QVariantMap">
+ <value key="ProjectExplorer.BuildConfiguration.DisplayName" type="QString">Release</value>
+ <valuelist key="abstractProcess.Environment" type="QVariantList">
+ <value type="QString">ALSA_PLUGINS_DIR=/usr/lib/alsa-lib</value>
+ <value type="QString">DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-LgNIjFmiKh,guid=b88c02ef2966f610aac9fee6000006b8</value>
+ <value type="QString">DESKTOP_SESSION=kde</value>
+ <value type="QString">DISPLAY=:0.0</value>
+ <value type="QString">DM_CONTROL=/var/run/xdmctl</value>
+ <value type="QString">GOARCH=amd64</value>
+ <value type="QString">GOBIN=/usr/bin</value>
+ <value type="QString">GOOS=linux</value>
+ <value type="QString">GOROOT=/usr/lib/go</value>
+ <value type="QString">GPG_AGENT_INFO=/tmp/gpg-dhq5SY/S.gpg-agent:22081:1</value>
+ <value type="QString">GS_LIB=/home/maemo/.fonts</value>
+ <value type="QString">GTK2_RC_FILES=/etc/gtk-2.0/gtkrc:/home/maemo/.gtkrc-2.0:/home/maemo/.gtkrc-2.0-kde4:/home/maemo/.kde4/share/config/gtkrc-2.0</value>
+ <value type="QString">GTK_RC_FILES=/etc/gtk/gtkrc:/home/maemo/.gtkrc::/home/maemo/.kde4/share/config/gtkrc</value>
+ <value type="QString">G_BROKEN_FILENAMES=1</value>
+ <value type="QString">HG=/usr/bin/hg</value>
+ <value type="QString">HISTCONTROL=erasedups</value>
+ <value type="QString">HISTSIZE=1000</value>
+ <value type="QString">HOME=/home/maemo</value>
+ <value type="QString">INPUTRC=/etc/inputrc</value>
+ <value type="QString">KDEDIRS=:/home/maemo/koffice-inst</value>
+ <value type="QString">KDE_FULL_SESSION=true</value>
+ <value type="QString">KDE_MULTIHEAD=false</value>
+ <value type="QString">KDE_SESSION_UID=1000</value>
+ <value type="QString">KDE_SESSION_VERSION=4</value>
+ <value type="QString">LANG=en_US.UTF-8</value>
+ <value type="QString">LANGUAGE=</value>
+ <value type="QString">LD_LIBRARY_PATH=/usr/lib/qtcreator:</value>
+ <value type="QString">LESS=-R</value>
+ <value type="QString">LOGNAME=maemo</value>
+ <value type="QString">MALLOC_CHECK_=3</value>
+ <value type="QString">MOZ_PLUGIN_PATH=/usr/lib/mozilla/plugins</value>
+ <value type="QString">PATH=/usr/bin:/bin:/usr/bin:/sbin:/usr/sbin:/usr/bin/perlbin/site:/usr/bin/perlbin/vendor:/usr/bin/perlbin/core:/home/maemo/koffice-inst/bin</value>
+ <value type="QString">PKG_CONFIG_PATH=/usr/lib/pkgconfig</value>
+ <value type="QString">PS3=> </value>
+ <value type="QString">PS4=+ </value>
+ <value type="QString">PWD=/home/maemo/Documents</value>
+ <value type="QString">QTDIR=/usr/share/qt</value>
+ <value type="QString">QT_PLUGIN_PATH=/home/maemo/.kde4/lib/kde4/plugins/:/usr/lib/kde4/plugins/</value>
+ <value type="QString">SESSION_MANAGER=local/arch:@/tmp/.ICE-unix/22122,unix/arch:/tmp/.ICE-unix/22122</value>
+ <value type="QString">SHELL=/bin/bash</value>
+ <value type="QString">SHLVL=1</value>
+ <value type="QString">SSH_AGENT_PID=22084</value>
+ <value type="QString">SSH_AUTH_SOCK=/tmp/ssh-VdnYT22083/agent.22083</value>
+ <value type="QString">USER=maemo</value>
+ <value type="QString">WINDOWPATH=7</value>
+ <value type="QString">XCURSOR_THEME=Oxygen_Black</value>
+ <value type="QString">XDG_CACHE_HOME=/home/maemo/.cache</value>
+ <value type="QString">XDG_CONFIG_DIRS=/etc/xdg</value>
+ <value type="QString">XDG_CONFIG_HOME=/home/maemo/.config</value>
+ <value type="QString">XDG_DATA_DIRS=/usr/share:/usr/local/share</value>
+ <value type="QString">XDG_DATA_HOME=/home/maemo/.local/share</value>
+ <value type="QString">XDG_SESSION_COOKIE=34c09630a6ae9ad92365c03300000216-1278905758.735187-578586685</value>
+ <value type="QString">XDM_MANAGED=method=classic</value>
+ </valuelist>
+ <value key="abstractProcess.IgnoreReturnValue" type="bool">true</value>
+ <valuelist key="abstractProcess.arguments" type="QVariantList">
+ <value type="QString">clean</value>
+ <value type="QString">-w</value>
+ </valuelist>
+ <value key="abstractProcess.command" type="QString">/usr/bin/make</value>
+ <value key="abstractProcess.enabled" type="bool">true</value>
+ <value key="abstractProcess.workingDirectory" type="QString">/home/maemo/Project/onlineServices</value>
+ <value key="cleanConfig" type="bool">true</value>
+ <valuelist key="makeargs" type="QVariantList">
+ <value type="QString">clean</value>
+ </valuelist>
+ </valuemap>
+ </data>
+ <data>
+ <variable>buildconfigurations</variable>
+ <valuelist type="QVariantList">
+ <value type="QString">Release</value>
+ </valuelist>
+ </data>
+ <data>
+ <variable>buildstep0</variable>
+ <valuemap type="QVariantMap">
+ <value key="ProjectExplorer.BuildConfiguration.DisplayName" type="QString"></value>
+ <value key="mkspec" type="QString"></value>
+ </valuemap>
+ </data>
+ <data>
+ <variable>buildstep1</variable>
+ <valuemap type="QVariantMap">
+ <value key="ProjectExplorer.BuildConfiguration.DisplayName" type="QString"></value>
+ </valuemap>
+ </data>
+ <data>
+ <variable>buildsteps</variable>
+ <valuelist type="QVariantList">
+ <value type="QString">trolltech.qt4projectmanager.qmake</value>
+ <value type="QString">trolltech.qt4projectmanager.make</value>
+ </valuelist>
+ </data>
+ <data>
+ <variable>cleanstep0</variable>
+ <valuemap type="QVariantMap">
+ <value key="ProjectExplorer.BuildConfiguration.DisplayName" type="QString"></value>
+ <value key="clean" type="bool">true</value>
+ </valuemap>
+ </data>
+ <data>
+ <variable>cleansteps</variable>
+ <valuelist type="QVariantList">
+ <value type="QString">trolltech.qt4projectmanager.make</value>
+ </valuelist>
+ </data>
+ <data>
+ <variable>defaultFileEncoding</variable>
+ <value type="QByteArray">UTF-8</value>
+ </data>
+ <data>
+ <variable>project</variable>
+ <valuemap type="QVariantMap"/>
+ </data>
+</qtcreator>
--- /dev/null
+#include "onlineservicesplugin.h"
+#include "loginwindow.h"
+
+onlineServicesPlugin::onlineServicesPlugin()
+{
+ name = "Online Services";
+ window = 0;
+}
+onlineServicesPlugin::~onlineServicesPlugin()
+{
+ delete window;
+ window = 0;
+}
+
+void onlineServicesPlugin::setDocument(void *doc)
+{
+ Q_UNUSED(doc);
+}
+
+QWidget *onlineServicesPlugin::view()
+{
+ window = new LoginWindow();
+ return window;
+}
+
+QString onlineServicesPlugin::pluginName()
+{
+ return name;
+}
+
+QStringList onlineServicesPlugin::pluginSupportTypes()
+{
+ QStringList types;
+ types << "All";
+ return types;
+}
+
+Q_EXPORT_PLUGIN2(OnlineServicesPlugin, onlineServicesPlugin)
\ No newline at end of file
--- /dev/null
+#ifndef ONLINESERVICESPLUGIN_H
+#define ONLINESERVICESPLUGIN_H
+
+#include "OfficeInterface.h"
+#include <QObject>
+
+class LoginWindow;
+
+class onlineServicesPlugin: public QObject, public OfficeInterface
+{
+ Q_OBJECT
+ Q_INTERFACES(OfficeInterface)
+public:
+ onlineServicesPlugin();
+ ~onlineServicesPlugin();
+ void setDocument(void *doc);
+ QWidget * view();
+ QString pluginName();
+ QStringList pluginSupportTypes();
+
+private:
+ QString name;
+ LoginWindow *window;
+};
+
+#endif // ONLINESERVICESPLUGIN_H
--- /dev/null
+/*
+ * Copyright (c) 2010 Kaushal M <kshlmster@gmail.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+
+#include <QNetworkAccessManager>
+#include <QNetworkRequest>
+#include <QNetworkReply>
+#include <QDateTime>
+#include <QCryptographicHash>
+#include <QHash>
+#include <QDebug>
+#include <QByteArray>
+#include <QList>
+#include <QPair>
+#include <QFile>
+#include <QFileInfo>
+#include <QDomDocument>
+#include <QNetworkProxy>
+
+#include "slideshare.h"
+#include "slideshareDocument.h"
+#include "mimetypes.h"
+
+SlideShare::SlideShare(QObject *parent):QObject(parent)
+{
+ manager.setCookieJar(&this->cookieJar);
+ doc = new SlideShareDocument;
+}
+
+SlideShare::SlideShare(QString *username, QString *password, QObject *parent):QObject(parent)
+{
+ this->username = username;
+ this->password = password;
+ SlideShare();
+}
+SlideShare::SlideShare(QString *username, QString *password, QString *apiKey, QString *secretKey, QObject *parent):QObject(parent)
+{
+ this->apiKey = apiKey;
+ this->secretKey = secretKey;
+ SlideShare(username, password);
+}
+
+SlideShare::~SlideShare()
+{
+}
+
+void SlideShare::setUsername(QString *username)
+{
+ this->username = username;
+}
+
+void SlideShare::setPassword(QString *password)
+{
+ this->password = password;
+}
+
+void SlideShare::setApikey(QString *apiKey)
+{
+ this->apiKey = apiKey;
+}
+
+void SlideShare::setsecretKey(QString *secretKey)
+{
+ this->secretKey = secretKey;
+}
+
+void SlideShare::setSlideTitle(QString *title)
+{
+ doc->title = *title;
+}
+
+void SlideShare::setDescription(QString *description)
+{
+ doc->description = *description;
+}
+
+void SlideShare::setTags(QString *tags)
+{
+ doc->tags = *tags;
+}
+
+void SlideShare::setFormat(QString *format)
+{
+ doc->format = *format;
+}
+
+void SlideShare::setSourceFile(QString *filename)
+{
+ this->sourceFilename = filename;
+}
+
+void SlideShare::setSaveFileName(QString *saveFileName)
+{
+ this->saveFileName = saveFileName;
+}
+
+
+void SlideShare::login()
+{
+ QUrl *login = new QUrl(QString("http://www.slideshare.net/login"));
+ QByteArray data;
+ data.append(QString("user_login=").append(username).toUtf8());
+ data.append(QString("&user_password=").append(password).toUtf8());
+
+ QNetworkRequest request;
+ request.setUrl(*login);
+
+ reply = manager.post(request, data);
+ connect(reply,SIGNAL(finished()), this, SLOT(afterLogin()));
+}
+
+
+void SlideShare::afterLogin()
+{
+ if (reply->attribute(QNetworkRequest::HttpStatusCodeAttribute).toInt() == 302)
+ {
+ if(QString("http://www.slideshare.net/").append(username) == reply->attribute(QNetworkRequest::RedirectionTargetAttribute).toString())
+ emit loginDone(true);
+ }
+ else
+ emit loginDone(false);
+}
+
+void SlideShare::download(QString *durl)
+{
+ QUrl *dload = new QUrl(*durl) ;
+ QNetworkRequest request;
+ request.setUrl(*dload);
+
+ QList<QNetworkCookie> list = cookieJar.cookiesForUrl(QUrl("http://www.slideshare.net/"));
+
+ foreach(QNetworkCookie c, list)
+ {
+ if(c.name() == "_cookie_id")
+ {
+ request.setHeader(QNetworkRequest::CookieHeader, QVariant::fromValue(list));
+ }
+ }
+
+ reply = manager.get(request);
+ connect(reply,SIGNAL(finished()),this,SLOT(saveFile()));
+
+}
+void SlideShare::saveFile()
+{
+ if (reply->attribute(QNetworkRequest::HttpStatusCodeAttribute).toInt() == 302)
+ {
+ reply = manager.get(QNetworkRequest(reply->attribute(QNetworkRequest::RedirectionTargetAttribute).toUrl()));
+ connect(reply,SIGNAL(downloadProgress(qint64,qint64)), this, SIGNAL(downloadProgress(qint64,qint64)));
+ connect(reply,SIGNAL(finished()), this, SLOT(saveFile()));
+ return;
+ }
+
+ QFile file(*saveFileName);
+ file.open(QFile::WriteOnly);
+
+ file.write(reply->readAll());
+ file.close();
+
+
+ emit downloadDone();
+}
+
+void SlideShare::upload()
+{
+ QDateTime *time = new QDateTime();
+ QString ts;
+ ts.setNum(time->toTime_t());
+
+ QByteArray data = this->secretKey->toAscii();
+ data += ts;
+
+ QFile *file = new QFile(*this->sourceFilename,this);
+ file->open(QFile::ReadOnly);
+
+ QByteArray fileData ;
+ fileData = file->readAll();
+
+ QByteArray postData;
+ postData.append("--BOUNDARY\r\n");
+ postData.append("Content-Disposition: form-data; name=\"slideshow_srcfile\"; filename=\"");
+ postData.append(file->fileName().toUtf8());
+ postData.append("\"\r\n");
+ postData.append("Content-Type: " + MimeTypes::getMimeType(doc->format));
+ postData.append("\r\n\r\n");
+ postData.append(fileData);
+ postData.append("\r\n--BOUNDARY\r\n");
+
+
+ QList<QPair<QString, QString> > params;
+ params.append(qMakePair(QString("api_key"),*this->apiKey));
+ params.append(qMakePair(QString("ts"),ts));
+ params.append(qMakePair(QString("hash"),QString(QCryptographicHash::hash(data, QCryptographicHash::Sha1).toHex())));
+ params.append(qMakePair(QString("username"),*this->username));
+ params.append(qMakePair(QString("password"),*this->password));
+ params.append(qMakePair(QString("slideshow_title"),doc->title));
+ if (doc->description != "")
+ params.append(qMakePair(QString("slideshow_description"), doc->description ));
+ if(doc->tags != "")
+ params.append(qMakePair(QString("slideshow_tags"), doc->tags));
+
+ QUrl url("http://www.slideshare.net/api/2/upload_slideshow", QUrl::TolerantMode);
+ url.setQueryItems(params);
+ QNetworkRequest request;
+ request.setUrl(url);
+ request.setHeader(QNetworkRequest::ContentTypeHeader, "multipart/form-data; boundary=BOUNDARY");
+ request.setHeader(QNetworkRequest::ContentLengthHeader, postData.length());
+
+
+ QNetworkReply *reply = manager.post(request, postData);
+ connect(reply, SIGNAL(uploadProgress(qint64,qint64)), this, SIGNAL(uploadProgress(qint64,qint64)));
+ connect(reply, SIGNAL(finished()), this, SIGNAL(uploadDone()));
+}
+
+void SlideShare::listDocuments()
+{
+ QDateTime *time = new QDateTime(QDateTime::currentDateTime());
+ QString ts;
+ ts.setNum(time->toTime_t());
+
+ QByteArray data = this->secretKey->toAscii();
+ data += ts;
+
+ QList<QPair<QString, QString> > params;
+ params.append(qMakePair(QString("api_key"),*this->apiKey));
+ params.append(qMakePair(QString("ts"),ts));
+ params.append(qMakePair(QString("hash"),QString(QCryptographicHash::hash(data, QCryptographicHash::Sha1).toHex())));
+ params.append(qMakePair(QString("username"),*this->username));
+ params.append(qMakePair(QString("password"),*this->password));
+ params.append(qMakePair(QString("username_for"),*this->username));
+
+
+ QUrl url("http://www.slideshare.net/api/2/get_slideshows_by_user");
+ url.setQueryItems(params);
+
+
+ QNetworkRequest request;
+ request.setUrl(url);
+
+ reply = manager.get(request);
+ connect(reply,SIGNAL(finished()), this, SLOT(parseList()));
+}
+void SlideShare::parseList()
+{
+ QDomDocument doc;
+ QByteArray data = reply->readAll();
+ doc.setContent(data);
+
+ QDomElement root = doc.documentElement();
+ QDomElement child = root.firstChildElement("Slideshow");
+
+ textDocList.clear();
+ presentationList.clear();
+ spreadsheetList.clear();
+
+ while(!child.isNull())
+ {
+ SlideShareDocument *p = new SlideShareDocument;
+ p->title = child.firstChildElement("Title").text();
+ p->url = child.firstChildElement("URL").text();
+ p->format = child.firstChildElement("Format").text();
+ p->slideID = child.firstChildElement("ID").text();
+ p->thumbnailBig = child.firstChildElement("ThumbnailUrl").text();
+ p->thumbnailSmall = child.firstChildElement("ThumbnailSmallURL").text();
+ p->downloadUrl = p->url.append("/download");
+ QString download = child.firstChildElement("Download").text();
+
+ if(download == "1")
+ {
+ if (p->format == "odt" || p->format == "doc")
+ this->textDocList.append(*p);
+ if (p->format == "odp" || p->format == "ppt")
+ this->presentationList.append(*p);
+ if (p->format == "ods" || p->format == "xls")
+ this->spreadsheetList.append(*p);
+ }
+
+ child = child.nextSiblingElement("Slideshow");
+ }
+ emit listDone();
+}
+
--- /dev/null
+/*
+ * Copyright (c) 2010 Kaushal M <kshlmster@gmail.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+
+#ifndef SLIDESHARE_H
+#define SLIDESHARE_H
+
+#include <QObject>
+#include <QtCore>
+#include <QUrl>
+#include <QNetworkAccessManager>
+#include <QNetworkRequest>
+#include <QNetworkCookieJar>
+
+
+struct SlideShareDocument;
+
+class SlideShare : public QObject
+{
+ Q_OBJECT
+
+public:
+ SlideShare(QObject *parent = 0);
+ SlideShare(QString *username, QString *password, QObject *parent = 0 );
+ SlideShare(QString *username, QString *password, QString *apiKey, QString *secretKey, QObject *parent);
+ ~SlideShare();
+
+ void login();
+ void upload();
+ void download(QString *durl);
+ void listDocuments();
+ void searchByTags(QString *tag);
+
+ void setApikey(QString *apiKey);
+ void setsecretKey(QString *secretKey);
+
+ void setUsername(QString *username);
+ void setPassword(QString *password);
+
+ void setSlideTitle(QString *title);
+ void setDescription(QString *description);
+ void setTags(QString *tags);
+ void setFormat(QString *format);
+
+ void setSourceFile(QString *filename);
+ void setSaveFileName(QString *saveFileName);
+
+ QList<SlideShareDocument> textDocList;
+ QList<SlideShareDocument> presentationList;
+ QList<SlideShareDocument> spreadsheetList;
+
+private:
+ QString *apiKey;
+ QString *secretKey;
+ QString *username;
+ QString *password;
+
+ QString *sourceFilename;
+ QString *saveFileName;
+
+ SlideShareDocument *doc;
+
+ bool loginStatus;
+
+ QNetworkAccessManager manager;
+ QNetworkCookieJar cookieJar;
+ QNetworkReply *reply;
+
+ void getThumbnailSmall();
+ void getThumbnailBig();
+
+
+private slots:
+ void afterLogin();
+ void parseList();
+ void saveFile();
+
+signals:
+ void downloadProgress(qint64 bytesSent, qint64 bytesTotal);
+ void uploadProgress(qint64 bytesSent, qint64 bytesTotal);
+ void loginDone(bool);
+ void uploadDone();
+ void listDone();
+ void downloadDone();
+
+};
+
+#endif // SLIDESHARE_H
--- /dev/null
+/*
+ * Copyright (c) 2010 Kaushal M <kshlmster@gmail.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+
+#ifndef SLIDESHAREDOCUMENT_H
+#define SLIDESHAREDOCUMENT_H
+class QString;
+
+struct SlideShareDocument
+{
+ QString title;
+ QString slideID;
+ QString url;
+ QString downloadUrl;
+ QString format;
+ QString description;
+ QString tags;
+ QString thumbnailSmall;
+ QString thumbnailBig;
+};
+#endif // SLIDESHAREDOCUMENT_H
--- /dev/null
+/*
+ * Copyright (c) 2010 Kaushal M <kshlmster@gmail.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+
+#include "slidesharelistdialog.h"
+#include "ui_filelistdialog.h"
+
+#include "slideshareuploaddialog.h"
+#include "slideshareDocument.h"
+
+#include <QMessageBox>
+#include <QFileDialog>
+#include <QDesktopServices>
+#include <QListWidgetItem>
+#include <QMenu>
+#include <QMouseEvent>
+
+slideshareListDialog::slideshareListDialog(SlideShare *s, QWidget *parent):
+ QDialog(parent),
+ ui(new Ui::fileListDialog)
+{
+ ui->setupUi(this);
+ this->setWindowTitle("SlideShare");
+ ui->downloadProgressBar->setVisible(false);
+ this->service = s;
+ ui->listTab->setCurrentIndex(1);
+ ui->listTab->removeTab(3);
+ connect(ui->uploadButton, SIGNAL(clicked()), this, SLOT(uploadButtonClickedSlot()));
+ connect(ui->downloadButton, SIGNAL(clicked()), this, SLOT(downloadButtonClickedSlot()));
+ connect(ui->refreshButton, SIGNAL(clicked()), this, SLOT(refreshList()));
+ connect(service, SIGNAL(downloadProgress(qint64,qint64)), this, SLOT(updateProgressBar(qint64,qint64)));
+ connect(service, SIGNAL(downloadDone()), this, SLOT(downloadDoneSlot()));
+ connect(service, SIGNAL(listDone()), this, SLOT(fillList()));
+
+ refreshList();
+}
+
+slideshareListDialog::~slideshareListDialog()
+{
+ delete ui;
+}
+
+void slideshareListDialog::refreshList()
+{
+ ui->listTab->setEnabled(false);
+ ui->downloadButton->setEnabled(false);
+ ui->uploadButton->setEnabled(false);
+ ui->refreshButton->setEnabled(false);
+ service->listDocuments();
+}
+
+void slideshareListDialog::changeEvent(QEvent *e)
+{
+ QDialog::changeEvent(e);
+ switch (e->type()) {
+ case QEvent::LanguageChange:
+ ui->retranslateUi(this);
+ break;
+ default:
+ break;
+ }
+}
+
+void slideshareListDialog::downloadButtonClickedSlot()
+{
+ QListWidget *tmp;
+ QList<SlideShareDocument> list;
+ if(0 == ui->listTab->currentIndex())
+ {
+ tmp = ui->documentList;
+ list = service->textDocList;
+ }
+ if(1 == ui->listTab->currentIndex())
+ {
+ tmp = ui->presentationList;
+ list = service->presentationList;
+ }
+ if(2 == ui->listTab->currentIndex())
+ {
+ tmp = ui->spreadsheetList;
+ list = service->spreadsheetList;
+ }
+
+ if(tmp->currentRow() == -1)
+ {
+ QMessageBox::information(this, QString("No selection"), QString("Please select a file from the list"));
+ return;
+ }
+
+ SlideShareDocument p = list[tmp->currentRow()];
+ QString durl = p.downloadUrl;
+
+ QString saveFileName = QFileDialog::getSaveFileName(this, "Save file", QDesktopServices::storageLocation(QDesktopServices::HomeLocation).append("/").append(p.title).append(p.format), QString("(*.").append(p.format).append(")"));
+ qDebug() << saveFileName << endl;
+ if("" == saveFileName)
+ {
+ return;
+ }
+ service->setSaveFileName(new QString(saveFileName));
+
+ service->download(&durl);
+ ui->listTab->setEnabled(false);
+ ui->downloadButton->setEnabled(false);
+ ui->uploadButton->setEnabled(false);
+ ui->refreshButton->setEnabled(false);
+ ui->downloadProgressBar->setVisible(true);
+}
+
+void slideshareListDialog::uploadButtonClickedSlot()
+{
+ slideshareUploadDialog *ud = new slideshareUploadDialog(service, this);
+ ud->show();
+ connect(ud, SIGNAL(accepted()), this, SLOT(refreshList()));
+}
+
+void slideshareListDialog::fillList()
+{
+ ui->documentList->clear();
+ ui->presentationList->clear();
+ ui->spreadsheetList->clear();
+
+ QList<SlideShareDocument> list;
+ QList<SlideShareDocument>::iterator i;
+
+ list = service->textDocList;
+ for(i = list.begin(); i != list.end(); ++i)
+ {
+ SlideShareDocument j = *i;
+ QListWidgetItem *k = new QListWidgetItem(j.title);
+ ui->documentList->addItem(k);
+ }
+
+ list = service->presentationList;
+ for(i = list.begin(); i != list.end(); ++i)
+ {
+ SlideShareDocument j = *i;
+ QListWidgetItem *k = new QListWidgetItem(j.title);
+ ui->presentationList->addItem(k);
+ }
+
+ list = service->spreadsheetList;
+ for(i = list.begin(); i != list.end(); ++i)
+ {
+ SlideShareDocument j = *i;
+ QListWidgetItem *k = new QListWidgetItem(j.title);
+ ui->spreadsheetList->addItem(k);
+ }
+
+ ui->listTab->setEnabled(true);
+ ui->downloadButton->setEnabled(true);
+ ui->uploadButton->setEnabled(true);
+ ui->refreshButton->setEnabled(true);
+}
+
+void slideshareListDialog::updateProgressBar(qint64 done, qint64 total)
+{
+ int value = (done * 100/total);
+ ui->downloadProgressBar->setValue((int)value);
+}
+
+void slideshareListDialog::downloadDoneSlot()
+{
+ ui->downloadProgressBar->setVisible(false);
+ ui->downloadProgressBar->setValue(0);
+ ui->listTab->setEnabled(true);
+ ui->downloadButton->setEnabled(true);
+ ui->refreshButton->setEnabled(true);
+ ui->uploadButton->setEnabled(true);
+ QMessageBox::information(this, "Download done", "The file has finished downloading");
+}
+
+bool slideshareListDialog::eventFilter(QObject *obj, QEvent *event)
+{
+ if(event->type() == QEvent::ContextMenu)
+ {
+ QMouseEvent *mouseEvent = static_cast<QMouseEvent*> (event);
+ QMenu *menu = new QMenu(this);
+ menu->addAction(new QAction("CLICK", this));
+ menu->exec(mouseEvent->globalPos());
+ return false;
+ }
+ return true;
+}
+
--- /dev/null
+/*
+ * Copyright (c) 2010 Kaushal M <kshlmster@gmail.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+
+#ifndef SLIDESHARELISTDIALOG_H
+#define SLIDESHARELISTDIALOG_H
+
+#include <QDialog>
+#include "slideshare.h"
+
+namespace Ui {
+ class fileListDialog;
+}
+
+class slideshareListDialog : public QDialog
+{
+ Q_OBJECT
+public:
+ slideshareListDialog(SlideShare *s, QWidget *parent = 0);
+ ~slideshareListDialog();
+
+protected:
+ void changeEvent(QEvent *e);
+
+private slots:
+ void downloadButtonClickedSlot();
+ void uploadButtonClickedSlot();
+ void fillList();
+ void downloadDoneSlot();
+ void updateProgressBar(qint64, qint64);
+ void refreshList();
+
+private:
+ Ui::fileListDialog *ui;
+ SlideShare *service;
+ bool eventFilter(QObject *, QEvent *);
+
+};
+
+#endif // FILELISTDIALOG_H
--- /dev/null
+/*
+ * Copyright (c) 2010 Kaushal M <kshlmster@gmail.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+
+#include "slideshareuploaddialog.h"
+#include "ui_uploaddialog.h"
+
+#include "slideshare.h"
+
+#include <QFileDialog>
+#include <QMessageBox>
+
+slideshareUploadDialog::slideshareUploadDialog(SlideShare *service, QWidget *parent) :
+ QDialog(parent),
+ ui(new Ui::uploadDialog)
+{
+ this->service = service;
+ ui->setupUi(this);
+ connect(service, SIGNAL(uploadProgress(qint64,qint64)), this, SLOT(uploadProgressSlot(qint64,qint64)));
+ connect(ui->fileSelectButton, SIGNAL(clicked()), this, SLOT(showFileDialog()));
+ connect(ui->uploadButton, SIGNAL(clicked()), this, SLOT(uploadButtonClickedSlot()));
+ connect(service, SIGNAL(uploadDone()), this, SLOT(uploadDoneSlot()));
+}
+
+slideshareUploadDialog::~slideshareUploadDialog()
+{
+ delete ui;
+}
+
+void slideshareUploadDialog::changeEvent(QEvent *e)
+{
+ QDialog::changeEvent(e);
+ switch (e->type()) {
+ case QEvent::LanguageChange:
+ ui->retranslateUi(this);
+ break;
+ default:
+ break;
+ }
+}
+
+
+void slideshareUploadDialog::uploadProgressSlot(qint64 sent, qint64 total)
+{
+ qint64 value = (sent * 100 / total) ;
+ ui->uploadProgress->setValue(value);
+}
+
+void slideshareUploadDialog::showFileDialog()
+{
+ QString filter = "Supported Files (odt doc odp ppt ods xls)(*.odt *.doc *.odp *.ppt *.ods *.xls);; Documents (odt doc)(*.odt *.doc);; Presentations (odp ppt)(*.odp *.ppt) ;; Spreadsheets(ods xls)(*.ods *.xls)";
+ QString filename = QFileDialog::getOpenFileName(this,QString("Select File"),tr(""),filter);
+ ui->fileSelectEdit->setText(filename);
+}
+
+void slideshareUploadDialog::uploadButtonClickedSlot()
+{
+ if(ui->fileSelectEdit->text() == "" || ui->titleEdit->text() == "")
+ {
+ QMessageBox::information(this,"Incomplete parameters","Please enter atleast filename and title");
+ return;
+ }
+ else
+ {
+ ui->fileSelectButton->setEnabled(false);
+ ui->titleEdit->setEnabled(false);
+ ui->descriptionBox->setEnabled(false);
+ ui->tagsEdit->setEnabled(false);
+ ui->uploadButton->setEnabled(false);
+ ui->uploadLabel->setText(tr("Uploading file..."));
+ service->setSourceFile(&ui->fileSelectEdit->text());
+ service->setSlideTitle(&ui->titleEdit->text());
+ service->setDescription(&ui->descriptionBox->toPlainText());
+ service->setTags(&ui->tagsEdit->text());
+ service->setFormat(new QString(QFileInfo(ui->fileSelectEdit->text()).suffix()));
+ service->upload();
+ }
+}
+
+void slideshareUploadDialog::uploadDoneSlot()
+{
+ ui->uploadLabel->setText(tr("Upload done"));
+ ui->doneButton->setEnabled(true);
+}
--- /dev/null
+/*
+ * Copyright (c) 2010 Kaushal M <kshlmster@gmail.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+
+#ifndef SLIDESHAREUPLOADDIALOG_H
+#define SLIDESHAREUPLOADDIALOG_H
+
+#include <QDialog>
+
+class SlideShare;
+namespace Ui {
+ class uploadDialog;
+}
+
+class slideshareUploadDialog : public QDialog {
+ Q_OBJECT
+public:
+ slideshareUploadDialog(SlideShare *service,QWidget *parent = 0);
+ ~slideshareUploadDialog();
+
+protected:
+ void changeEvent(QEvent *e);
+
+private:
+ Ui::uploadDialog *ui;
+ SlideShare *service;
+
+private slots:
+ void uploadProgressSlot(qint64 bytesSent, qint64 bytesTotal);
+ void showFileDialog();
+ void uploadButtonClickedSlot();
+ void uploadDoneSlot();
+};
+
+#endif // UPLOADDIALOG_H
--- /dev/null
+/********************************************************************************
+** Form generated from reading UI file 'authenticationdialog.ui'
+**
+** Created: Wed Jul 14 11:23:20 2010
+** by: Qt User Interface Compiler version 4.6.3
+**
+** WARNING! All changes made in this file will be lost when recompiling UI file!
+********************************************************************************/
+
+#ifndef UI_AUTHENTICATIONDIALOG_H
+#define UI_AUTHENTICATIONDIALOG_H
+
+#include <QtCore/QVariant>
+#include <QtGui/QAction>
+#include <QtGui/QApplication>
+#include <QtGui/QButtonGroup>
+#include <QtGui/QComboBox>
+#include <QtGui/QDialog>
+#include <QtGui/QGridLayout>
+#include <QtGui/QHeaderView>
+#include <QtGui/QLabel>
+#include <QtGui/QLineEdit>
+#include <QtGui/QPushButton>
+#include <QtGui/QVBoxLayout>
+
+QT_BEGIN_NAMESPACE
+
+class Ui_Dialog
+{
+public:
+ QVBoxLayout *verticalLayout;
+ QLabel *label;
+ QGridLayout *gridLayout;
+ QLabel *label_4;
+ QComboBox *comboBox;
+ QLabel *label_2;
+ QLineEdit *userEdit;
+ QLabel *label_3;
+ QLineEdit *passwordEdit;
+ QPushButton *loginButton;
+
+ void setupUi(QDialog *Dialog)
+ {
+ if (Dialog->objectName().isEmpty())
+ Dialog->setObjectName(QString::fromUtf8("Dialog"));
+ Dialog->resize(449, 135);
+ verticalLayout = new QVBoxLayout(Dialog);
+ verticalLayout->setObjectName(QString::fromUtf8("verticalLayout"));
+ label = new QLabel(Dialog);
+ label->setObjectName(QString::fromUtf8("label"));
+ label->setWordWrap(false);
+
+ verticalLayout->addWidget(label);
+
+ gridLayout = new QGridLayout();
+ gridLayout->setObjectName(QString::fromUtf8("gridLayout"));
+ label_4 = new QLabel(Dialog);
+ label_4->setObjectName(QString::fromUtf8("label_4"));
+
+ gridLayout->addWidget(label_4, 0, 0, 1, 1);
+
+ comboBox = new QComboBox(Dialog);
+ comboBox->setObjectName(QString::fromUtf8("comboBox"));
+
+ gridLayout->addWidget(comboBox, 0, 1, 1, 1);
+
+ label_2 = new QLabel(Dialog);
+ label_2->setObjectName(QString::fromUtf8("label_2"));
+
+ gridLayout->addWidget(label_2, 1, 0, 1, 1);
+
+ userEdit = new QLineEdit(Dialog);
+ userEdit->setObjectName(QString::fromUtf8("userEdit"));
+
+ gridLayout->addWidget(userEdit, 1, 1, 1, 1);
+
+ label_3 = new QLabel(Dialog);
+ label_3->setObjectName(QString::fromUtf8("label_3"));
+
+ gridLayout->addWidget(label_3, 2, 0, 1, 1);
+
+ passwordEdit = new QLineEdit(Dialog);
+ passwordEdit->setObjectName(QString::fromUtf8("passwordEdit"));
+ passwordEdit->setEchoMode(QLineEdit::Password);
+
+ gridLayout->addWidget(passwordEdit, 2, 1, 1, 1);
+
+
+ verticalLayout->addLayout(gridLayout);
+
+ loginButton = new QPushButton(Dialog);
+ loginButton->setObjectName(QString::fromUtf8("loginButton"));
+
+ verticalLayout->addWidget(loginButton);
+
+
+ retranslateUi(Dialog);
+
+ QMetaObject::connectSlotsByName(Dialog);
+ } // setupUi
+
+ void retranslateUi(QDialog *Dialog)
+ {
+ Dialog->setWindowTitle(QApplication::translate("Dialog", "Account Signin", 0, QApplication::UnicodeUTF8));
+ label->setText(QApplication::translate("Dialog", "You need to supply Username and Password to access documents", 0, QApplication::UnicodeUTF8));
+ label_4->setText(QApplication::translate("Dialog", "Site:", 0, QApplication::UnicodeUTF8));
+ label_2->setText(QApplication::translate("Dialog", "Username:", 0, QApplication::UnicodeUTF8));
+ userEdit->setText(QApplication::translate("Dialog", "@gmail.com", 0, QApplication::UnicodeUTF8));
+ label_3->setText(QApplication::translate("Dialog", "Password:", 0, QApplication::UnicodeUTF8));
+ passwordEdit->setInputMask(QString());
+ passwordEdit->setText(QString());
+ loginButton->setText(QApplication::translate("Dialog", "Sign In", 0, QApplication::UnicodeUTF8));
+ } // retranslateUi
+
+};
+
+namespace Ui {
+ class Dialog: public Ui_Dialog {};
+} // namespace Ui
+
+QT_END_NAMESPACE
+
+#endif // UI_AUTHENTICATIONDIALOG_H
--- /dev/null
+/********************************************************************************
+** Form generated from reading UI file 'documentlist.ui'
+**
+** Created: Thu Jul 8 16:56:09 2010
+** by: Qt User Interface Compiler version 4.6.3
+**
+** WARNING! All changes made in this file will be lost when recompiling UI file!
+********************************************************************************/
+
+#ifndef UI_DOCUMENTLIST_H
+#define UI_DOCUMENTLIST_H
+
+#include <QtCore/QVariant>
+#include <QtGui/QAction>
+#include <QtGui/QApplication>
+#include <QtGui/QButtonGroup>
+#include <QtGui/QDialog>
+#include <QtGui/QHeaderView>
+#include <QtGui/QListWidget>
+#include <QtGui/QPushButton>
+
+QT_BEGIN_NAMESPACE
+
+class Ui_ListDialog
+{
+public:
+ QListWidget *listWidget;
+ QPushButton *okButton;
+
+ void setupUi(QDialog *ListDialog)
+ {
+ if (ListDialog->objectName().isEmpty())
+ ListDialog->setObjectName(QString::fromUtf8("ListDialog"));
+ ListDialog->resize(765, 311);
+ QSizePolicy sizePolicy(QSizePolicy::Expanding, QSizePolicy::Preferred);
+ sizePolicy.setHorizontalStretch(0);
+ sizePolicy.setVerticalStretch(0);
+ sizePolicy.setHeightForWidth(ListDialog->sizePolicy().hasHeightForWidth());
+ ListDialog->setSizePolicy(sizePolicy);
+ listWidget = new QListWidget(ListDialog);
+ listWidget->setObjectName(QString::fromUtf8("listWidget"));
+ listWidget->setGeometry(QRect(-2, 4, 771, 261));
+ QSizePolicy sizePolicy1(QSizePolicy::Fixed, QSizePolicy::Fixed);
+ sizePolicy1.setHorizontalStretch(0);
+ sizePolicy1.setVerticalStretch(0);
+ sizePolicy1.setHeightForWidth(listWidget->sizePolicy().hasHeightForWidth());
+ listWidget->setSizePolicy(sizePolicy1);
+ listWidget->setLayoutMode(QListView::Batched);
+ okButton = new QPushButton(ListDialog);
+ okButton->setObjectName(QString::fromUtf8("okButton"));
+ okButton->setGeometry(QRect(610, 270, 81, 41));
+ sizePolicy1.setHeightForWidth(okButton->sizePolicy().hasHeightForWidth());
+ okButton->setSizePolicy(sizePolicy1);
+ okButton->setLayoutDirection(Qt::RightToLeft);
+
+ retranslateUi(ListDialog);
+
+ QMetaObject::connectSlotsByName(ListDialog);
+ } // setupUi
+
+ void retranslateUi(QDialog *ListDialog)
+ {
+ ListDialog->setWindowTitle(QApplication::translate("ListDialog", "Google Document List", 0, QApplication::UnicodeUTF8));
+ okButton->setText(QApplication::translate("ListDialog", "Ok", 0, QApplication::UnicodeUTF8));
+ } // retranslateUi
+
+};
+
+namespace Ui {
+ class ListDialog: public Ui_ListDialog {};
+} // namespace Ui
+
+QT_END_NAMESPACE
+
+#endif // UI_DOCUMENTLIST_H
--- /dev/null
+/********************************************************************************
+** Form generated from reading UI file 'filelistdialog.ui'
+**
+** Created: Wed Jul 14 11:23:20 2010
+** by: Qt User Interface Compiler version 4.6.3
+**
+** WARNING! All changes made in this file will be lost when recompiling UI file!
+********************************************************************************/
+
+#ifndef UI_FILELISTDIALOG_H
+#define UI_FILELISTDIALOG_H
+
+#include <QtCore/QVariant>
+#include <QtGui/QAction>
+#include <QtGui/QApplication>
+#include <QtGui/QButtonGroup>
+#include <QtGui/QDialog>
+#include <QtGui/QHBoxLayout>
+#include <QtGui/QHeaderView>
+#include <QtGui/QListWidget>
+#include <QtGui/QProgressBar>
+#include <QtGui/QPushButton>
+#include <QtGui/QTabWidget>
+#include <QtGui/QVBoxLayout>
+#include <QtGui/QWidget>
+
+QT_BEGIN_NAMESPACE
+
+class Ui_fileListDialog
+{
+public:
+ QVBoxLayout *verticalLayout_4;
+ QTabWidget *listTab;
+ QWidget *documentTab;
+ QVBoxLayout *verticalLayout;
+ QListWidget *documentList;
+ QWidget *presentationTab;
+ QVBoxLayout *verticalLayout_2;
+ QListWidget *presentationList;
+ QWidget *spreadsheetTab;
+ QVBoxLayout *verticalLayout_3;
+ QListWidget *spreadsheetList;
+ QWidget *othersTab;
+ QVBoxLayout *verticalLayout_5;
+ QListWidget *othersList;
+ QProgressBar *downloadProgressBar;
+ QHBoxLayout *horizontalLayout;
+ QPushButton *uploadButton;
+ QPushButton *refreshButton;
+ QPushButton *downloadButton;
+
+ void setupUi(QDialog *fileListDialog)
+ {
+ if (fileListDialog->objectName().isEmpty())
+ fileListDialog->setObjectName(QString::fromUtf8("fileListDialog"));
+ fileListDialog->resize(640, 480);
+ verticalLayout_4 = new QVBoxLayout(fileListDialog);
+ verticalLayout_4->setObjectName(QString::fromUtf8("verticalLayout_4"));
+ listTab = new QTabWidget(fileListDialog);
+ listTab->setObjectName(QString::fromUtf8("listTab"));
+ listTab->setTabShape(QTabWidget::Rounded);
+ documentTab = new QWidget();
+ documentTab->setObjectName(QString::fromUtf8("documentTab"));
+ verticalLayout = new QVBoxLayout(documentTab);
+ verticalLayout->setObjectName(QString::fromUtf8("verticalLayout"));
+ documentList = new QListWidget(documentTab);
+ documentList->setObjectName(QString::fromUtf8("documentList"));
+
+ verticalLayout->addWidget(documentList);
+
+ listTab->addTab(documentTab, QString());
+ presentationTab = new QWidget();
+ presentationTab->setObjectName(QString::fromUtf8("presentationTab"));
+ verticalLayout_2 = new QVBoxLayout(presentationTab);
+ verticalLayout_2->setObjectName(QString::fromUtf8("verticalLayout_2"));
+ presentationList = new QListWidget(presentationTab);
+ presentationList->setObjectName(QString::fromUtf8("presentationList"));
+
+ verticalLayout_2->addWidget(presentationList);
+
+ listTab->addTab(presentationTab, QString());
+ spreadsheetTab = new QWidget();
+ spreadsheetTab->setObjectName(QString::fromUtf8("spreadsheetTab"));
+ verticalLayout_3 = new QVBoxLayout(spreadsheetTab);
+ verticalLayout_3->setObjectName(QString::fromUtf8("verticalLayout_3"));
+ spreadsheetList = new QListWidget(spreadsheetTab);
+ spreadsheetList->setObjectName(QString::fromUtf8("spreadsheetList"));
+
+ verticalLayout_3->addWidget(spreadsheetList);
+
+ listTab->addTab(spreadsheetTab, QString());
+ othersTab = new QWidget();
+ othersTab->setObjectName(QString::fromUtf8("othersTab"));
+ verticalLayout_5 = new QVBoxLayout(othersTab);
+ verticalLayout_5->setObjectName(QString::fromUtf8("verticalLayout_5"));
+ othersList = new QListWidget(othersTab);
+ othersList->setObjectName(QString::fromUtf8("othersList"));
+
+ verticalLayout_5->addWidget(othersList);
+
+ listTab->addTab(othersTab, QString());
+
+ verticalLayout_4->addWidget(listTab);
+
+ downloadProgressBar = new QProgressBar(fileListDialog);
+ downloadProgressBar->setObjectName(QString::fromUtf8("downloadProgressBar"));
+ downloadProgressBar->setValue(0);
+ downloadProgressBar->setTextVisible(false);
+
+ verticalLayout_4->addWidget(downloadProgressBar);
+
+ horizontalLayout = new QHBoxLayout();
+ horizontalLayout->setObjectName(QString::fromUtf8("horizontalLayout"));
+ uploadButton = new QPushButton(fileListDialog);
+ uploadButton->setObjectName(QString::fromUtf8("uploadButton"));
+
+ horizontalLayout->addWidget(uploadButton);
+
+ refreshButton = new QPushButton(fileListDialog);
+ refreshButton->setObjectName(QString::fromUtf8("refreshButton"));
+
+ horizontalLayout->addWidget(refreshButton);
+
+ downloadButton = new QPushButton(fileListDialog);
+ downloadButton->setObjectName(QString::fromUtf8("downloadButton"));
+
+ horizontalLayout->addWidget(downloadButton);
+
+
+ verticalLayout_4->addLayout(horizontalLayout);
+
+
+ retranslateUi(fileListDialog);
+
+ listTab->setCurrentIndex(1);
+
+
+ QMetaObject::connectSlotsByName(fileListDialog);
+ } // setupUi
+
+ void retranslateUi(QDialog *fileListDialog)
+ {
+ fileListDialog->setWindowTitle(QApplication::translate("fileListDialog", "FileList", 0, QApplication::UnicodeUTF8));
+ listTab->setTabText(listTab->indexOf(documentTab), QApplication::translate("fileListDialog", "Documents", 0, QApplication::UnicodeUTF8));
+ listTab->setTabText(listTab->indexOf(presentationTab), QApplication::translate("fileListDialog", "Presentations", 0, QApplication::UnicodeUTF8));
+ listTab->setTabText(listTab->indexOf(spreadsheetTab), QApplication::translate("fileListDialog", "Spreadsheets", 0, QApplication::UnicodeUTF8));
+ listTab->setTabText(listTab->indexOf(othersTab), QApplication::translate("fileListDialog", "Others", 0, QApplication::UnicodeUTF8));
+ uploadButton->setText(QApplication::translate("fileListDialog", "&Upload", 0, QApplication::UnicodeUTF8));
+ refreshButton->setText(QApplication::translate("fileListDialog", "&Refresh List", 0, QApplication::UnicodeUTF8));
+ downloadButton->setText(QApplication::translate("fileListDialog", "&Download", 0, QApplication::UnicodeUTF8));
+ } // retranslateUi
+
+};
+
+namespace Ui {
+ class fileListDialog: public Ui_fileListDialog {};
+} // namespace Ui
+
+QT_END_NAMESPACE
+
+#endif // UI_FILELISTDIALOG_H
--- /dev/null
+/********************************************************************************
+** Form generated from reading UI file 'uploaddialog.ui'
+**
+** Created: Wed Jul 14 11:40:10 2010
+** by: Qt User Interface Compiler version 4.6.3
+**
+** WARNING! All changes made in this file will be lost when recompiling UI file!
+********************************************************************************/
+
+#ifndef UI_UPLOADDIALOG_H
+#define UI_UPLOADDIALOG_H
+
+#include <QtCore/QVariant>
+#include <QtGui/QAction>
+#include <QtGui/QApplication>
+#include <QtGui/QButtonGroup>
+#include <QtGui/QDialog>
+#include <QtGui/QFormLayout>
+#include <QtGui/QHBoxLayout>
+#include <QtGui/QHeaderView>
+#include <QtGui/QLabel>
+#include <QtGui/QLineEdit>
+#include <QtGui/QPlainTextEdit>
+#include <QtGui/QProgressBar>
+#include <QtGui/QPushButton>
+#include <QtGui/QSpacerItem>
+#include <QtGui/QVBoxLayout>
+
+QT_BEGIN_NAMESPACE
+
+class Ui_uploadDialog
+{
+public:
+ QVBoxLayout *verticalLayout;
+ QFormLayout *formLayout;
+ QLabel *label;
+ QHBoxLayout *horizontalLayout_2;
+ QLineEdit *fileSelectEdit;
+ QPushButton *fileSelectButton;
+ QLabel *label_2;
+ QLineEdit *titleEdit;
+ QPlainTextEdit *descriptionBox;
+ QLabel *label_3;
+ QLineEdit *tagsEdit;
+ QLabel *label_4;
+ QHBoxLayout *horizontalLayout_3;
+ QSpacerItem *horizontalSpacer;
+ QLabel *uploadLabel;
+ QSpacerItem *horizontalSpacer_2;
+ QHBoxLayout *horizontalLayout;
+ QPushButton *uploadButton;
+ QProgressBar *uploadProgress;
+ QPushButton *doneButton;
+
+ void setupUi(QDialog *uploadDialog)
+ {
+ if (uploadDialog->objectName().isEmpty())
+ uploadDialog->setObjectName(QString::fromUtf8("uploadDialog"));
+ uploadDialog->resize(640, 227);
+ verticalLayout = new QVBoxLayout(uploadDialog);
+ verticalLayout->setObjectName(QString::fromUtf8("verticalLayout"));
+ formLayout = new QFormLayout();
+ formLayout->setObjectName(QString::fromUtf8("formLayout"));
+ formLayout->setFieldGrowthPolicy(QFormLayout::ExpandingFieldsGrow);
+ label = new QLabel(uploadDialog);
+ label->setObjectName(QString::fromUtf8("label"));
+
+ formLayout->setWidget(0, QFormLayout::LabelRole, label);
+
+ horizontalLayout_2 = new QHBoxLayout();
+ horizontalLayout_2->setObjectName(QString::fromUtf8("horizontalLayout_2"));
+ fileSelectEdit = new QLineEdit(uploadDialog);
+ fileSelectEdit->setObjectName(QString::fromUtf8("fileSelectEdit"));
+ fileSelectEdit->setEnabled(true);
+ fileSelectEdit->setReadOnly(true);
+
+ horizontalLayout_2->addWidget(fileSelectEdit);
+
+ fileSelectButton = new QPushButton(uploadDialog);
+ fileSelectButton->setObjectName(QString::fromUtf8("fileSelectButton"));
+
+ horizontalLayout_2->addWidget(fileSelectButton);
+
+
+ formLayout->setLayout(0, QFormLayout::FieldRole, horizontalLayout_2);
+
+ label_2 = new QLabel(uploadDialog);
+ label_2->setObjectName(QString::fromUtf8("label_2"));
+
+ formLayout->setWidget(1, QFormLayout::LabelRole, label_2);
+
+ titleEdit = new QLineEdit(uploadDialog);
+ titleEdit->setObjectName(QString::fromUtf8("titleEdit"));
+
+ formLayout->setWidget(1, QFormLayout::FieldRole, titleEdit);
+
+ descriptionBox = new QPlainTextEdit(uploadDialog);
+ descriptionBox->setObjectName(QString::fromUtf8("descriptionBox"));
+
+ formLayout->setWidget(2, QFormLayout::FieldRole, descriptionBox);
+
+ label_3 = new QLabel(uploadDialog);
+ label_3->setObjectName(QString::fromUtf8("label_3"));
+
+ formLayout->setWidget(2, QFormLayout::LabelRole, label_3);
+
+ tagsEdit = new QLineEdit(uploadDialog);
+ tagsEdit->setObjectName(QString::fromUtf8("tagsEdit"));
+
+ formLayout->setWidget(3, QFormLayout::FieldRole, tagsEdit);
+
+ label_4 = new QLabel(uploadDialog);
+ label_4->setObjectName(QString::fromUtf8("label_4"));
+
+ formLayout->setWidget(3, QFormLayout::LabelRole, label_4);
+
+
+ verticalLayout->addLayout(formLayout);
+
+ horizontalLayout_3 = new QHBoxLayout();
+ horizontalLayout_3->setObjectName(QString::fromUtf8("horizontalLayout_3"));
+ horizontalSpacer = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum);
+
+ horizontalLayout_3->addItem(horizontalSpacer);
+
+ uploadLabel = new QLabel(uploadDialog);
+ uploadLabel->setObjectName(QString::fromUtf8("uploadLabel"));
+
+ horizontalLayout_3->addWidget(uploadLabel);
+
+ horizontalSpacer_2 = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum);
+
+ horizontalLayout_3->addItem(horizontalSpacer_2);
+
+
+ verticalLayout->addLayout(horizontalLayout_3);
+
+ horizontalLayout = new QHBoxLayout();
+ horizontalLayout->setObjectName(QString::fromUtf8("horizontalLayout"));
+ uploadButton = new QPushButton(uploadDialog);
+ uploadButton->setObjectName(QString::fromUtf8("uploadButton"));
+ uploadButton->setEnabled(true);
+
+ horizontalLayout->addWidget(uploadButton);
+
+ uploadProgress = new QProgressBar(uploadDialog);
+ uploadProgress->setObjectName(QString::fromUtf8("uploadProgress"));
+ uploadProgress->setValue(0);
+ uploadProgress->setTextVisible(false);
+ uploadProgress->setInvertedAppearance(false);
+
+ horizontalLayout->addWidget(uploadProgress);
+
+ doneButton = new QPushButton(uploadDialog);
+ doneButton->setObjectName(QString::fromUtf8("doneButton"));
+ doneButton->setEnabled(false);
+
+ horizontalLayout->addWidget(doneButton);
+
+
+ verticalLayout->addLayout(horizontalLayout);
+
+
+ retranslateUi(uploadDialog);
+ QObject::connect(doneButton, SIGNAL(clicked()), uploadDialog, SLOT(accept()));
+
+ QMetaObject::connectSlotsByName(uploadDialog);
+ } // setupUi
+
+ void retranslateUi(QDialog *uploadDialog)
+ {
+ uploadDialog->setWindowTitle(QApplication::translate("uploadDialog", "Upload", 0, QApplication::UnicodeUTF8));
+ label->setText(QApplication::translate("uploadDialog", "Select a file", 0, QApplication::UnicodeUTF8));
+ fileSelectButton->setText(QApplication::translate("uploadDialog", "Select", 0, QApplication::UnicodeUTF8));
+ label_2->setText(QApplication::translate("uploadDialog", "Title", 0, QApplication::UnicodeUTF8));
+ label_3->setText(QApplication::translate("uploadDialog", "Description", 0, QApplication::UnicodeUTF8));
+ label_4->setText(QApplication::translate("uploadDialog", "Tags", 0, QApplication::UnicodeUTF8));
+ uploadLabel->setText(QString());
+ uploadButton->setText(QApplication::translate("uploadDialog", "Upload", 0, QApplication::UnicodeUTF8));
+ doneButton->setText(QApplication::translate("uploadDialog", "Done", 0, QApplication::UnicodeUTF8));
+ } // retranslateUi
+
+};
+
+namespace Ui {
+ class uploadDialog: public Ui_uploadDialog {};
+} // namespace Ui
+
+QT_END_NAMESPACE
+
+#endif // UI_UPLOADDIALOG_H
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>uploadDialog</class>
+ <widget class="QDialog" name="uploadDialog">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>640</width>
+ <height>227</height>
+ </rect>
+ </property>
+ <property name="windowTitle">
+ <string>Upload</string>
+ </property>
+ <layout class="QVBoxLayout" name="verticalLayout">
+ <item>
+ <layout class="QFormLayout" name="formLayout">
+ <property name="fieldGrowthPolicy">
+ <enum>QFormLayout::ExpandingFieldsGrow</enum>
+ </property>
+ <item row="0" column="0">
+ <widget class="QLabel" name="label">
+ <property name="text">
+ <string>Select a file</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <layout class="QHBoxLayout" name="horizontalLayout_2">
+ <item>
+ <widget class="QLineEdit" name="fileSelectEdit">
+ <property name="enabled">
+ <bool>true</bool>
+ </property>
+ <property name="readOnly">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="fileSelectButton">
+ <property name="text">
+ <string>Select</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item row="1" column="0">
+ <widget class="QLabel" name="label_2">
+ <property name="text">
+ <string>Title</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <widget class="QLineEdit" name="titleEdit"/>
+ </item>
+ <item row="2" column="1">
+ <widget class="QPlainTextEdit" name="descriptionBox"/>
+ </item>
+ <item row="2" column="0">
+ <widget class="QLabel" name="label_3">
+ <property name="text">
+ <string>Description</string>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="1">
+ <widget class="QLineEdit" name="tagsEdit"/>
+ </item>
+ <item row="3" column="0">
+ <widget class="QLabel" name="label_4">
+ <property name="text">
+ <string>Tags</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <layout class="QHBoxLayout" name="horizontalLayout_3">
+ <item>
+ <spacer name="horizontalSpacer">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>40</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item>
+ <widget class="QLabel" name="uploadLabel">
+ <property name="text">
+ <string/>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <spacer name="horizontalSpacer_2">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>40</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <layout class="QHBoxLayout" name="horizontalLayout">
+ <item>
+ <widget class="QPushButton" name="uploadButton">
+ <property name="enabled">
+ <bool>true</bool>
+ </property>
+ <property name="text">
+ <string>Upload</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QProgressBar" name="uploadProgress">
+ <property name="value">
+ <number>0</number>
+ </property>
+ <property name="textVisible">
+ <bool>false</bool>
+ </property>
+ <property name="invertedAppearance">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="doneButton">
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="text">
+ <string>Done</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ </layout>
+ </widget>
+ <resources/>
+ <connections>
+ <connection>
+ <sender>doneButton</sender>
+ <signal>clicked()</signal>
+ <receiver>uploadDialog</receiver>
+ <slot>accept()</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>607</x>
+ <y>179</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>591</x>
+ <y>107</y>
+ </hint>
+ </hints>
+ </connection>
+ </connections>
+</ui>