/* * 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, see . */ #ifndef UNIBOARDSANKORETRANSITION_H #define UNIBOARDSANKORETRANSITION_H #include #include #include #include "gui/UBUpdateDlg.h" #include "document/UBDocumentProxy.h" class UniboardSankoreThread : public QThread { Q_OBJECT public: UniboardSankoreThread(QObject* parent = 0); ~UniboardSankoreThread(); void run(); }; class UniboardSankoreTransition : public QObject { Q_OBJECT public: explicit UniboardSankoreTransition(QObject *parent = 0); ~UniboardSankoreTransition(); bool checkDocumentDirectory(QString& documentDirectoryPath); void documentTransition(); bool checkPage(QString& sankorePagePath); bool updateSankoreHRef(QString &sankoreDocumentPath); bool checkWidget(QString& sankoreWidgetPath); bool updateIndexWidget(QString& sankoreWidgetPath); void executeTransition(); private: void rollbackDocumentsTransition(QFileInfoList& fileInfoList); UBUpdateDlg* mTransitionDlg; protected: QString mUniboardSourceDirectory; QString mOldSankoreDirectory; UniboardSankoreThread* mThread; signals: void transitionFinished(bool result); void docAdded(UBDocumentProxy* doc); void transitioningFile(QString documentName); private slots: void startDocumentTransition(); }; #endif // UNIBOARDSANKORETRANSITION_H