mirror of
https://github.com/d47081/qBittorrent.git
synced 2025-01-28 15:34:16 +00:00
Follow project coding style. Issue #2192.
This commit is contained in:
parent
2f19594bef
commit
6a281bef8f
@ -38,59 +38,60 @@
|
|||||||
#include "guiiconprovider.h"
|
#include "guiiconprovider.h"
|
||||||
|
|
||||||
LogListWidget::LogListWidget(int max_lines, QWidget *parent) :
|
LogListWidget::LogListWidget(int max_lines, QWidget *parent) :
|
||||||
QListWidget(parent),
|
QListWidget(parent),
|
||||||
m_maxLines(max_lines)
|
m_maxLines(max_lines)
|
||||||
{
|
{
|
||||||
// Allow multiple selections
|
// Allow multiple selections
|
||||||
setSelectionMode(QAbstractItemView::ExtendedSelection);
|
setSelectionMode(QAbstractItemView::ExtendedSelection);
|
||||||
// Context menu
|
// Context menu
|
||||||
QAction *copyAct = new QAction(GuiIconProvider::instance()->getIcon("edit-copy"), tr("Copy"), this);
|
QAction *copyAct = new QAction(GuiIconProvider::instance()->getIcon("edit-copy"), tr("Copy"), this);
|
||||||
QAction *clearAct = new QAction(GuiIconProvider::instance()->getIcon("edit-clear"), tr("Clear"), this);
|
QAction *clearAct = new QAction(GuiIconProvider::instance()->getIcon("edit-clear"), tr("Clear"), this);
|
||||||
connect(copyAct, SIGNAL(triggered()), SLOT(copySelection()));
|
connect(copyAct, SIGNAL(triggered()), SLOT(copySelection()));
|
||||||
connect(clearAct, SIGNAL(triggered()), SLOT(clearLog()));
|
connect(clearAct, SIGNAL(triggered()), SLOT(clearLog()));
|
||||||
addAction(copyAct);
|
addAction(copyAct);
|
||||||
addAction(clearAct);
|
addAction(clearAct);
|
||||||
setContextMenuPolicy(Qt::ActionsContextMenu);
|
setContextMenuPolicy(Qt::ActionsContextMenu);
|
||||||
}
|
}
|
||||||
|
|
||||||
void LogListWidget::keyPressEvent(QKeyEvent *event)
|
void LogListWidget::keyPressEvent(QKeyEvent *event)
|
||||||
{
|
{
|
||||||
if (event->matches(QKeySequence::Copy)) {
|
if (event->matches(QKeySequence::Copy)) {
|
||||||
copySelection();
|
copySelection();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (event->matches(QKeySequence::SelectAll)) {
|
if (event->matches(QKeySequence::SelectAll)) {
|
||||||
selectAll();
|
selectAll();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void LogListWidget::appendLine(const QString &line)
|
void LogListWidget::appendLine(const QString &line)
|
||||||
{
|
{
|
||||||
QListWidgetItem *item = new QListWidgetItem;
|
QListWidgetItem *item = new QListWidgetItem;
|
||||||
// We need to use QLabel here to support rich text
|
// We need to use QLabel here to support rich text
|
||||||
QLabel *lbl = new QLabel(line);
|
QLabel *lbl = new QLabel(line);
|
||||||
lbl->setContentsMargins(4, 2, 4, 2);
|
lbl->setContentsMargins(4, 2, 4, 2);
|
||||||
item->setSizeHint(lbl->sizeHint());
|
item->setSizeHint(lbl->sizeHint());
|
||||||
insertItem(0, item);
|
insertItem(0, item);
|
||||||
setItemWidget(item, lbl);
|
setItemWidget(item, lbl);
|
||||||
const int nbLines = count();
|
const int nbLines = count();
|
||||||
// Limit log size
|
// Limit log size
|
||||||
if (nbLines > m_maxLines)
|
if (nbLines > m_maxLines)
|
||||||
delete takeItem(nbLines - 1);
|
delete takeItem(nbLines - 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
void LogListWidget::copySelection()
|
void LogListWidget::copySelection()
|
||||||
{
|
{
|
||||||
static QRegExp html_tag("<[^>]+>");
|
static QRegExp html_tag("<[^>]+>");
|
||||||
QList<QListWidgetItem*> items = selectedItems();
|
QList<QListWidgetItem*> items = selectedItems();
|
||||||
QStringList strings;
|
QStringList strings;
|
||||||
foreach (QListWidgetItem* it, items)
|
foreach (QListWidgetItem* it, items)
|
||||||
strings << static_cast<QLabel*>(itemWidget(it))->text().replace(html_tag, "");
|
strings << static_cast<QLabel*>(itemWidget(it))->text().replace(html_tag, "");
|
||||||
|
|
||||||
QApplication::clipboard()->setText(strings.join("\n"));
|
QApplication::clipboard()->setText(strings.join("\n"));
|
||||||
}
|
}
|
||||||
|
|
||||||
void LogListWidget::clearLog() {
|
void LogListWidget::clearLog()
|
||||||
clear();
|
{
|
||||||
|
clear();
|
||||||
}
|
}
|
||||||
|
@ -36,25 +36,25 @@ QT_BEGIN_NAMESPACE
|
|||||||
class QKeyEvent;
|
class QKeyEvent;
|
||||||
QT_END_NAMESPACE
|
QT_END_NAMESPACE
|
||||||
|
|
||||||
class LogListWidget : public QListWidget
|
class LogListWidget: public QListWidget
|
||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
|
|
||||||
public:
|
public:
|
||||||
explicit LogListWidget(int max_lines = 100, QWidget *parent = 0);
|
explicit LogListWidget(int max_lines = 100, QWidget *parent = 0);
|
||||||
|
|
||||||
public slots:
|
public slots:
|
||||||
void appendLine(const QString &line);
|
void appendLine(const QString &line);
|
||||||
|
|
||||||
protected slots:
|
protected slots:
|
||||||
void copySelection();
|
void copySelection();
|
||||||
void clearLog();
|
void clearLog();
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
void keyPressEvent(QKeyEvent *event);
|
void keyPressEvent(QKeyEvent *event);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
int m_maxLines;
|
int m_maxLines;
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user