diff options
author | ckamm <mail@ckamm.de> | 2017-07-04 15:08:41 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-07-04 15:08:41 +0300 |
commit | ce8341ca1fd21d946e8c056430025f08d586e380 (patch) | |
tree | 3ca8a1b2c89026f23dc731c877a250dfe2f8c830 /src/gui/issueswidget.h | |
parent | 9493e8f42ebf068bc7ac66a187636ca0ce708b8d (diff) |
Add a more functional error view #5516 (#5861)
* Add a more functional error view #5516
* Allow filtering of ignores and warnings to see only important bits.
* Navigate from the folder view to the error view by clicking on the
error list with the red background.
* Move the error list into its own ui file to allow easier extension.
* Fix issue around tab id handling in ActivitySettings.
* Rename "Action" column to "Issue".
* Change mouse cursor to hand over button and new error list area
Several OSX fixes provided by guruz.
Diffstat (limited to 'src/gui/issueswidget.h')
-rw-r--r-- | src/gui/issueswidget.h | 82 |
1 files changed, 82 insertions, 0 deletions
diff --git a/src/gui/issueswidget.h b/src/gui/issueswidget.h new file mode 100644 index 000000000..9d31e16e1 --- /dev/null +++ b/src/gui/issueswidget.h @@ -0,0 +1,82 @@ +/* + * Copyright (C) by Klaas Freitag <freitag@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; 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. + */ + +#ifndef ISSUESWIDGET_H +#define ISSUESWIDGET_H + +#include <QDialog> +#include <QDateTime> +#include <QLocale> + +#include "progressdispatcher.h" +#include "owncloudgui.h" + +#include "ui_issueswidget.h" + +class QPushButton; + +namespace OCC { +class SyncResult; + +namespace Ui { + class ProtocolWidget; +} +class Application; + +/** + * @brief The ProtocolWidget class + * @ingroup gui + */ +class IssuesWidget : public QWidget +{ + Q_OBJECT +public: + explicit IssuesWidget(QWidget *parent = 0); + ~IssuesWidget(); + QSize sizeHint() const { return ownCloudGui::settingsDialogSize(); } + + void storeSyncIssues(QTextStream &ts); + void showFolderErrors(const QString &folderAlias); + +public slots: + void slotProgressInfo(const QString &folder, const ProgressInfo &progress); + void slotItemCompleted(const QString &folder, const SyncFileItemPtr &item); + void slotOpenFile(QTreeWidgetItem *item, int); + +protected: + void showEvent(QShowEvent *); + void hideEvent(QHideEvent *); + +signals: + void copyToClipboard(); + void issueCountUpdated(int); + +private slots: + void slotRefreshIssues(); + void slotUpdateFolderFilters(); + void slotAccountAdded(AccountState *account); + void slotAccountRemoved(AccountState *account); + +private: + AccountState *currentAccountFilter() const; + QString currentFolderFilter() const; + bool shouldBeVisible(QTreeWidgetItem *item, AccountState *filterAccount, + const QString &filterFolderAlias) const; + void cleanItems(const QString &folder); + + Ui::IssuesWidget *_ui; +}; +} + +#endif |