Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/lintest/fb2edit.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'source/fb2logs.hpp')
-rw-r--r--source/fb2logs.hpp61
1 files changed, 31 insertions, 30 deletions
diff --git a/source/fb2logs.hpp b/source/fb2logs.hpp
index 8760c8a..a45a959 100644
--- a/source/fb2logs.hpp
+++ b/source/fb2logs.hpp
@@ -5,43 +5,46 @@
#include <QListView>
#include <QDockWidget>
-class FbLogItem
-{
-public:
- enum Level {
- Message,
- Warring,
- Error,
- Fatal
- };
-
- FbLogItem(Level level, int row, int col, const QString &msg);
- FbLogItem(Level level, const QString &msg);
-
- Level level() const {return m_level; }
- const QString & msg() const { return m_msg; }
- int row() const {return m_row; }
- int col() const {return m_row; }
-
-private:
- Level m_level;
- QString m_msg;
- int m_row;
- int m_col;
-
-};
-
class FbLogModel : public QAbstractListModel
{
Q_OBJECT
public:
FbLogModel(QObject *parent = 0);
+ void add(QtMsgType type, int row, int col, const QString &msg);
+ void add(QtMsgType type, const QString &msg);
public:
virtual QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const;
virtual int rowCount(const QModelIndex &parent = QModelIndex()) const;
+signals:
+ void changeCurrent(const QModelIndex &index);
+
+private:
+ class FbLogItem
+ {
+ public:
+ FbLogItem(QtMsgType type, int row, int col, const QString &msg)
+ : m_type(type), m_msg(msg), m_row(row), m_col(col) {}
+
+ FbLogItem(QtMsgType type, const QString &msg)
+ : m_type(type), m_msg(msg), m_row(0), m_col(0) {}
+
+ const QString & msg() const { return m_msg; }
+ QtMsgType type() const { return m_type; }
+ int row() const { return m_row; }
+ int col() const { return m_row; }
+ QVariant icon() const;
+
+ private:
+ QtMsgType m_type;
+ QString m_msg;
+ int m_row;
+ int m_col;
+
+ };
+
private:
QList<FbLogItem*> m_list;
};
@@ -58,9 +61,6 @@ public:
sh.setHeight(40);
return sh;
}
-
-private:
- QList<FbLogItem*> items;
};
class FbLogDock: public QDockWidget
@@ -69,9 +69,10 @@ class FbLogDock: public QDockWidget
public:
explicit FbLogDock(const QString &title, QWidget *parent = 0, Qt::WindowFlags flags = 0);
- void append(const QString &message);
+ void append(QtMsgType type, const QString &message);
private:
+ FbLogModel *m_model;
FbLogList *m_list;
};