nextcloud-desktop/src/gui/accountsettings.h

110 lines
2.9 KiB
C
Raw Normal View History

/*
* Copyright (C) by Daniel Molkentin <danimo@owncloud.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; version 2 of the License.
*
* This program is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* for more details.
*/
#ifndef ACCOUNTSETTINGS_H
#define ACCOUNTSETTINGS_H
#include <QWidget>
#include <QUrl>
#include <QPointer>
#include <QHash>
#include <QTimer>
#include <QStandardItem>
#include "folder.h"
#include "progressdispatcher.h"
class QStandardItemModel;
class QModelIndex;
class QStandardItem;
class QNetworkReply;
class QListWidgetItem;
2014-11-10 00:34:07 +03:00
namespace OCC {
namespace Ui {
class AccountSettings;
}
class FolderMan;
2013-07-20 03:26:11 +04:00
class IgnoreListEditor;
class Account;
class AccountState;
class AccountSettings : public QWidget
{
Q_OBJECT
public:
explicit AccountSettings(QWidget *parent = 0);
~AccountSettings();
signals:
void folderChanged();
void openProtocol();
void openFolderAlias( const QString& );
void infoFolderAlias( const QString& );
public slots:
void slotFolderActivated( const QModelIndex& );
void slotOpenOC();
void slotUpdateFolderState( Folder* );
void slotDoubleClicked( const QModelIndex& );
void slotSetProgress(const QString& folder, const Progress::Info& progress);
void slotButtonsSetEnabled();
void slotUpdateQuota( qint64,qint64 );
void slotIgnoreFilesEditor();
void slotAccountStateChanged(int state);
void setGeneralErrors( const QStringList& errors );
void setFolderList( const Folder::Map& );
protected slots:
void slotAddFolder();
void slotAddFolder( Folder* );
void slotEnableCurrentFolder();
void slotSyncCurrentFolderNow();
void slotRemoveCurrentFolder();
void slotResetCurrentFolder();
void slotFolderWizardAccepted();
void slotFolderWizardRejected();
void slotOpenAccountWizard();
void slotHideProgress();
2014-08-11 17:09:17 +04:00
void slotSelectiveSync();
private:
QString shortenFilename( const QString& folder, const QString& file ) const;
void folderToModelItem(QStandardItem *, Folder * , bool accountConnected);
QStandardItem* itemForFolder(const QString& );
void showConnectionLabel( const QString& message, const QString& tooltip = QString() );
Ui::AccountSettings *ui;
2013-07-20 03:26:11 +04:00
QPointer<IgnoreListEditor> _ignoreEditor;
QStandardItemModel *_model;
QUrl _OCUrl;
QHash<QStandardItem*, QTimer*> _hideProgressTimers;
QStringList _generalErrors;
bool _wasDisabledBefore;
AccountState *_accountState;
QElapsedTimer _lastProgressUpdate;
private slots:
void slotFolderSyncStateChange();
void slotAccountStateChanged(AccountState*);
};
2014-11-10 00:34:07 +03:00
} // namespace OCC
#endif // ACCOUNTSETTINGS_H