From 56c737d8365a94ca71004d0e347b8b8e19873521 Mon Sep 17 00:00:00 2001 From: srazi Date: Wed, 5 Apr 2017 19:55:01 +0430 Subject: [PATCH 1/7] TabManager: Use single click to switch between tabs --- src/plugins/TabManager/tabmanagerwidget.cpp | 6 +++--- src/plugins/TabManager/tabmanagerwidget.h | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/plugins/TabManager/tabmanagerwidget.cpp b/src/plugins/TabManager/tabmanagerwidget.cpp index 541a992e4..f08cd30ab 100644 --- a/src/plugins/TabManager/tabmanagerwidget.cpp +++ b/src/plugins/TabManager/tabmanagerwidget.cpp @@ -75,7 +75,7 @@ TabManagerWidget::TabManagerWidget(BrowserWindow* mainClass, QWidget* parent, bo connect(closeButton, SIGNAL(clicked(bool)), this, SLOT(filterBarClosed())); connect(ui->filterBar, SIGNAL(textChanged(QString)), this, SLOT(filterChanged(QString))); - connect(ui->treeWidget, SIGNAL(itemDoubleClicked(QTreeWidgetItem*,int)), this, SLOT(itemDoubleClick(QTreeWidgetItem*,int))); + connect(ui->treeWidget, SIGNAL(itemClicked(QTreeWidgetItem*,int)), this, SLOT(onItemActivated(QTreeWidgetItem*,int))); connect(ui->treeWidget, SIGNAL(customContextMenuRequested(QPoint)), this, SLOT(customContextMenuRequested(QPoint))); } @@ -201,7 +201,7 @@ void TabManagerWidget::refreshTree() m_waitForRefresh = false; } -void TabManagerWidget::itemDoubleClick(QTreeWidgetItem* item, int) +void TabManagerWidget::onItemActivated(QTreeWidgetItem* item, int) { if (!item) { return; @@ -345,7 +345,7 @@ bool TabManagerWidget::eventFilter(QObject* obj, QEvent* event) if (obj == ui->treeWidget) { // switch to tab/window on enter if (keyEvent->key() == Qt::Key_Enter || keyEvent->key() == Qt::Key_Return) { - itemDoubleClick(ui->treeWidget->currentItem(), 0); + onItemActivated(ui->treeWidget->currentItem(), 0); return QObject::eventFilter(obj, event); } diff --git a/src/plugins/TabManager/tabmanagerwidget.h b/src/plugins/TabManager/tabmanagerwidget.h index ad6e64d49..5d477377d 100644 --- a/src/plugins/TabManager/tabmanagerwidget.h +++ b/src/plugins/TabManager/tabmanagerwidget.h @@ -91,7 +91,7 @@ private: private slots: void refreshTree(); void processActions(); - void itemDoubleClick(QTreeWidgetItem* item, int); + void onItemActivated(QTreeWidgetItem* item, int); bool isTabSelected(); void customContextMenuRequested(const QPoint &pos); void filterChanged(const QString &filter, bool force = false); From 3a7e843677c270cab8b3fabdbf4b83cbfe8a377b Mon Sep 17 00:00:00 2001 From: srazi Date: Thu, 6 Apr 2017 20:50:51 +0430 Subject: [PATCH 2/7] TabManager: show close button on tab item under mouse. --- src/plugins/TabManager/tabfilterdelegate.cpp | 18 +++++++++++++++++- src/plugins/TabManager/tabfilterdelegate.h | 2 +- src/plugins/TabManager/tabmanagerwidget.cpp | 20 ++++++++++++++++++-- src/plugins/TabManager/tabmanagerwidget.h | 4 ++-- 4 files changed, 38 insertions(+), 6 deletions(-) diff --git a/src/plugins/TabManager/tabfilterdelegate.cpp b/src/plugins/TabManager/tabfilterdelegate.cpp index 816a6f56b..df19be648 100644 --- a/src/plugins/TabManager/tabfilterdelegate.cpp +++ b/src/plugins/TabManager/tabfilterdelegate.cpp @@ -1,6 +1,6 @@ /* ============================================================ * QupZilla - Qt web browser -* Copyright (C) 2016 S. Razi Alavizadeh +* Copyright (C) 2016-2017 S. Razi Alavizadeh * Copyright (C) 2017 David Rosca * * This program is free software: you can redistribute it and/or modify @@ -35,6 +35,7 @@ void TabFilterDelegate::paint(QPainter* painter, const QStyleOptionViewItem &opt const QWidget* w = opt.widget; const QStyle* style = w ? w->style() : QApplication::style(); + const Qt::LayoutDirection direction = w ? w->layoutDirection() : QApplication::layoutDirection(); const QPalette::ColorRole colorRole = opt.state & QStyle::State_Selected ? QPalette::HighlightedText : QPalette::Text; @@ -61,6 +62,21 @@ void TabFilterDelegate::paint(QPainter* painter, const QStyleOptionViewItem &opt // draw the background style->drawPrimitive(QStyle::PE_PanelItemViewItem, &opt, painter, w); + // draw close button + if (index.column() == 1) { + if (index.parent().isValid() && opt.state & QStyle::State_MouseOver) { + static const int buttonSize = 16; + static const QPixmap closeButton = style->standardIcon(QStyle::SP_TitleBarCloseButton) + .pixmap(buttonSize, buttonSize).scaled(buttonSize, buttonSize, Qt::IgnoreAspectRatio, Qt::SmoothTransformation); + + const QRect rect(opt.rect.right() - buttonSize, (opt.rect.height() - buttonSize) / 2 + opt.rect.y(), buttonSize, buttonSize); + painter->drawPixmap(style->visualRect(direction, opt.rect, rect), closeButton); + } + + painter->restore(); + return; + } + // draw the check mark if (opt.features & QStyleOptionViewItem::HasCheckIndicator) { QStyleOptionViewItem opt2(opt); diff --git a/src/plugins/TabManager/tabfilterdelegate.h b/src/plugins/TabManager/tabfilterdelegate.h index 449a295a3..f41bb88e6 100644 --- a/src/plugins/TabManager/tabfilterdelegate.h +++ b/src/plugins/TabManager/tabfilterdelegate.h @@ -1,6 +1,6 @@ /* ============================================================ * QupZilla - WebKit based browser -* Copyright (C) 2016 S. Razi Alavizadeh +* Copyright (C) 2016-2017 S. Razi Alavizadeh * * 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 diff --git a/src/plugins/TabManager/tabmanagerwidget.cpp b/src/plugins/TabManager/tabmanagerwidget.cpp index f08cd30ab..46349c086 100644 --- a/src/plugins/TabManager/tabmanagerwidget.cpp +++ b/src/plugins/TabManager/tabmanagerwidget.cpp @@ -1,6 +1,6 @@ /* ============================================================ * TabManager plugin for QupZilla -* Copyright (C) 2013-2016 S. Razi Alavizadeh +* Copyright (C) 2013-2017 S. Razi Alavizadeh * * 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 @@ -59,6 +59,14 @@ TabManagerWidget::TabManagerWidget(BrowserWindow* mainClass, QWidget* parent, bo } ui->setupUi(this); + ui->treeWidget->setUniformRowHeights(true); + ui->treeWidget->setColumnCount(2); + ui->treeWidget->header()->hide(); + ui->treeWidget->header()->setStretchLastSection(false); + ui->treeWidget->header()->setSectionResizeMode(0, QHeaderView::Stretch); + ui->treeWidget->header()->setSectionResizeMode(1, QHeaderView::Fixed); + ui->treeWidget->header()->resizeSection(1, 16); + ui->treeWidget->setExpandsOnDoubleClick(false); ui->treeWidget->setContextMenuPolicy(Qt::CustomContextMenu); @@ -201,7 +209,7 @@ void TabManagerWidget::refreshTree() m_waitForRefresh = false; } -void TabManagerWidget::onItemActivated(QTreeWidgetItem* item, int) +void TabManagerWidget::onItemActivated(QTreeWidgetItem* item, int column) { if (!item) { return; @@ -214,6 +222,11 @@ void TabManagerWidget::onItemActivated(QTreeWidgetItem* item, int) return; } + if (column == 1 && item->childCount() == 0 && tabWidget) { + mainWindow->tabWidget()->requestCloseTab(mainWindow->tabWidget()->indexOf(tabWidget)); + return; + } + if (mainWindow->isMinimized()) { mainWindow->showNormal(); } @@ -377,6 +390,9 @@ bool TabManagerWidget::eventFilter(QObject* obj, QEvent* event) } } + if (obj == ui->treeWidget && event->type() == QEvent::Resize) + ui->treeWidget->setColumnHidden(1, ui->treeWidget->viewport()->width() < 150); + return QObject::eventFilter(obj, event); } diff --git a/src/plugins/TabManager/tabmanagerwidget.h b/src/plugins/TabManager/tabmanagerwidget.h index 5d477377d..a2918f25f 100644 --- a/src/plugins/TabManager/tabmanagerwidget.h +++ b/src/plugins/TabManager/tabmanagerwidget.h @@ -1,6 +1,6 @@ /* ============================================================ * TabManager plugin for QupZilla -* Copyright (C) 2013-2016 S. Razi Alavizadeh +* Copyright (C) 2013-2017 S. Razi Alavizadeh * * 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 @@ -91,7 +91,7 @@ private: private slots: void refreshTree(); void processActions(); - void onItemActivated(QTreeWidgetItem* item, int); + void onItemActivated(QTreeWidgetItem* item, int column); bool isTabSelected(); void customContextMenuRequested(const QPoint &pos); void filterChanged(const QString &filter, bool force = false); From ae29ef0030e267ef7844c88ebcb8c85edbdc65ea Mon Sep 17 00:00:00 2001 From: srazi Date: Thu, 6 Apr 2017 22:13:02 +0430 Subject: [PATCH 3/7] TabManager: Rename TabFilterDelegate to TabManagerDelegate --- src/plugins/TabManager/TabManager.pro | 4 ++-- .../{tabfilterdelegate.cpp => tabmanagerdelegate.cpp} | 8 ++++---- .../{tabfilterdelegate.h => tabmanagerdelegate.h} | 10 +++++----- src/plugins/TabManager/tabmanagerwidget.cpp | 4 ++-- 4 files changed, 13 insertions(+), 13 deletions(-) rename src/plugins/TabManager/{tabfilterdelegate.cpp => tabmanagerdelegate.cpp} (97%) rename src/plugins/TabManager/{tabfilterdelegate.h => tabmanagerdelegate.h} (86%) diff --git a/src/plugins/TabManager/TabManager.pro b/src/plugins/TabManager/TabManager.pro index 7ede630bf..a80a2feac 100644 --- a/src/plugins/TabManager/TabManager.pro +++ b/src/plugins/TabManager/TabManager.pro @@ -6,13 +6,13 @@ SOURCES += tabmanagerplugin.cpp \ tabmanagerwidget.cpp \ tabmanagerwidgetcontroller.cpp \ tabmanagersettings.cpp \ - tabfilterdelegate.cpp + tabmanagerdelegate.cpp HEADERS += tabmanagerplugin.h \ tabmanagerwidget.h \ tabmanagerwidgetcontroller.h \ tabmanagersettings.h \ - tabfilterdelegate.h + tabmanagerdelegate.h RESOURCES += tabmanagerplugin.qrc diff --git a/src/plugins/TabManager/tabfilterdelegate.cpp b/src/plugins/TabManager/tabmanagerdelegate.cpp similarity index 97% rename from src/plugins/TabManager/tabfilterdelegate.cpp rename to src/plugins/TabManager/tabmanagerdelegate.cpp index df19be648..62e7232cd 100644 --- a/src/plugins/TabManager/tabfilterdelegate.cpp +++ b/src/plugins/TabManager/tabmanagerdelegate.cpp @@ -16,19 +16,19 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . * ============================================================ */ -#include "tabfilterdelegate.h" +#include "tabmanagerdelegate.h" #include #include #include -TabFilterDelegate::TabFilterDelegate(QObject* parent) +TabManagerDelegate::TabManagerDelegate(QObject* parent) : QStyledItemDelegate(parent) { } // most of codes taken from QCommonStyle::drawControl() and add our custom text drawer -void TabFilterDelegate::paint(QPainter* painter, const QStyleOptionViewItem &option, const QModelIndex &index) const +void TabManagerDelegate::paint(QPainter* painter, const QStyleOptionViewItem &option, const QModelIndex &index) const { QStyleOptionViewItem opt = option; initStyleOption(&opt, index); @@ -156,7 +156,7 @@ static QSizeF viewItemTextLayout(QTextLayout &textLayout, int lineWidth) // most of codes taken from QCommonStylePrivate::viewItemDrawText() // added highlighting and simplified for single-line textlayouts -void TabFilterDelegate::viewItemDrawText(QPainter *p, const QStyleOptionViewItem *option, const QRect &rect, +void TabManagerDelegate::viewItemDrawText(QPainter *p, const QStyleOptionViewItem *option, const QRect &rect, const QString &text, const QColor &color, const QString &searchText) const { if (text.isEmpty()) { diff --git a/src/plugins/TabManager/tabfilterdelegate.h b/src/plugins/TabManager/tabmanagerdelegate.h similarity index 86% rename from src/plugins/TabManager/tabfilterdelegate.h rename to src/plugins/TabManager/tabmanagerdelegate.h index f41bb88e6..5b76db256 100644 --- a/src/plugins/TabManager/tabfilterdelegate.h +++ b/src/plugins/TabManager/tabmanagerdelegate.h @@ -15,15 +15,15 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . * ============================================================ */ -#ifndef TABFILTERDELEGATE_H -#define TABFILTERDELEGATE_H +#ifndef TABMANAGERDELEGATE_H +#define TABMANAGERDELEGATE_H #include -class TabFilterDelegate : public QStyledItemDelegate +class TabManagerDelegate : public QStyledItemDelegate { public: - explicit TabFilterDelegate(QObject* parent = 0); + explicit TabManagerDelegate(QObject* parent = 0); void paint(QPainter* painter, const QStyleOptionViewItem &option, const QModelIndex &index) const; @@ -36,4 +36,4 @@ private: }; -#endif // TABFILTERDELEGATE_H +#endif // TABMANAGERDELEGATE_H diff --git a/src/plugins/TabManager/tabmanagerwidget.cpp b/src/plugins/TabManager/tabmanagerwidget.cpp index 46349c086..59a8ec09d 100644 --- a/src/plugins/TabManager/tabmanagerwidget.cpp +++ b/src/plugins/TabManager/tabmanagerwidget.cpp @@ -29,7 +29,7 @@ #include "bookmarks.h" #include "tabmanagerplugin.h" #include "tldextractor/tldextractor.h" -#include "tabfilterdelegate.h" +#include "tabmanagerdelegate.h" #include @@ -79,7 +79,7 @@ TabManagerWidget::TabManagerWidget(BrowserWindow* mainClass, QWidget* parent, bo ui->filterBar->addWidget(closeButton, LineEdit::RightSide); ui->filterBar->hide(); - ui->treeWidget->setItemDelegate(new TabFilterDelegate(ui->treeWidget)); + ui->treeWidget->setItemDelegate(new TabManagerDelegate(ui->treeWidget)); connect(closeButton, SIGNAL(clicked(bool)), this, SLOT(filterBarClosed())); connect(ui->filterBar, SIGNAL(textChanged(QString)), this, SLOT(filterChanged(QString))); From e40be295ab92db1c092ea53e483e82e20c07102b Mon Sep 17 00:00:00 2001 From: srazi Date: Thu, 6 Apr 2017 23:20:08 +0430 Subject: [PATCH 4/7] TabManager: Fix showing close button on show --- src/plugins/TabManager/tabmanagerwidget.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/plugins/TabManager/tabmanagerwidget.cpp b/src/plugins/TabManager/tabmanagerwidget.cpp index 59a8ec09d..881ff3412 100644 --- a/src/plugins/TabManager/tabmanagerwidget.cpp +++ b/src/plugins/TabManager/tabmanagerwidget.cpp @@ -390,7 +390,7 @@ bool TabManagerWidget::eventFilter(QObject* obj, QEvent* event) } } - if (obj == ui->treeWidget && event->type() == QEvent::Resize) + if (obj == ui->treeWidget && (event->type() == QEvent::Resize || event->type() == QEvent::Show)) ui->treeWidget->setColumnHidden(1, ui->treeWidget->viewport()->width() < 150); return QObject::eventFilter(obj, event); From 457d32ae82655aa95337e3dbe8f112fbb4b35cf0 Mon Sep 17 00:00:00 2001 From: srazi Date: Fri, 7 Apr 2017 01:06:22 +0430 Subject: [PATCH 5/7] TabManager: Update close button icon --- src/plugins/TabManager/data/closetab.png | Bin 0 -> 696 bytes src/plugins/TabManager/tabmanagerdelegate.cpp | 5 ++--- src/plugins/TabManager/tabmanagerplugin.qrc | 1 + 3 files changed, 3 insertions(+), 3 deletions(-) create mode 100644 src/plugins/TabManager/data/closetab.png diff --git a/src/plugins/TabManager/data/closetab.png b/src/plugins/TabManager/data/closetab.png new file mode 100644 index 0000000000000000000000000000000000000000..e3db6da5b5020c658fb20ca8ee12fba30fdf3095 GIT binary patch literal 696 zcmV;p0!RIcP)dwRCdcv4Q+!(@u*8_A^@qxCrw5)A?S6yA~L7d*rlL=#<3^~rtLC4|t!UB8$(Ql_VzaM#YMuo9I4Gs0797zeyv7(dz+XD9b@RI zP6HS&W}Wav@I+`?%R!+)P_GlpWC&$41ob)xg#s;Wxyv5qZ$?HYhaKlt1ajY0xid9Ib#ISu zZxlzQuMLQB2DRgE_x@b7x!*TZDV<)48?$a9abhj52t&pI@WomJRiegVpw+f^b+*y? zX(WKx?e_b7vDjBnWGpO_ii-3fD%9&j;6vNm$Ct%_T&7YwJ?V-Ry ejmAFzGkyS?o#P6DC;Y$w0000standardIcon(QStyle::SP_TitleBarCloseButton) - .pixmap(buttonSize, buttonSize).scaled(buttonSize, buttonSize, Qt::IgnoreAspectRatio, Qt::SmoothTransformation); + static const QPixmap closeTabButton(":tabmanager/data/closetab.png"); const QRect rect(opt.rect.right() - buttonSize, (opt.rect.height() - buttonSize) / 2 + opt.rect.y(), buttonSize, buttonSize); - painter->drawPixmap(style->visualRect(direction, opt.rect, rect), closeButton); + painter->drawPixmap(style->visualRect(direction, opt.rect, rect), closeTabButton); } painter->restore(); diff --git a/src/plugins/TabManager/tabmanagerplugin.qrc b/src/plugins/TabManager/tabmanagerplugin.qrc index 7fd730ece..6a9a11608 100644 --- a/src/plugins/TabManager/tabmanagerplugin.qrc +++ b/src/plugins/TabManager/tabmanagerplugin.qrc @@ -7,6 +7,7 @@ data/tab-loading.png data/tab-pinned.png data/side-by-side.png + data/closetab.png locale/ar_SA.qm locale/bg_BG.qm locale/ca_ES.qm From 47e2c8c1f0597269b7fd432a656066213f49c6b4 Mon Sep 17 00:00:00 2001 From: srazi Date: Fri, 7 Apr 2017 01:20:10 +0430 Subject: [PATCH 6/7] TabManager: show add tab button on window item under mouse. --- src/plugins/TabManager/data/addtab.png | Bin 0 -> 657 bytes src/plugins/TabManager/tabmanagerdelegate.cpp | 5 +++-- src/plugins/TabManager/tabmanagerplugin.qrc | 1 + src/plugins/TabManager/tabmanagerwidget.cpp | 7 +++++-- 4 files changed, 9 insertions(+), 4 deletions(-) create mode 100644 src/plugins/TabManager/data/addtab.png diff --git a/src/plugins/TabManager/data/addtab.png b/src/plugins/TabManager/data/addtab.png new file mode 100644 index 0000000000000000000000000000000000000000..4dd036574dafdaf132829f396d1d3c92defb4276 GIT binary patch literal 657 zcmV;C0&e|@P)4WC;ak6FUnE6AJ``xNqOgSS-8*(OBrMCTDWaJ@*U#G1RZX^~d$PcG6O! z8onQtCFs1qfu4^5C?&f2Vy_;Lgt_LR<<|JI8u-K$VaDLF-}B!F_j)VaT@9ei(lQlWJIk0R>4j#cNs1Y?1E2wvD3n$Bll-r9_a`~ZDwGTdXihEe5m*d);O0h?!C^+oJRcsu2jIr) zJlYAi>L^WC&_)kAg+Pp*kcUO>H07z3(qx7FYgS~fTp7iTJCqta4Ot+@*eOZ~S!l<; z?-4*!gB^89Y6^h@O9TSMzVC%Bw9jqg>}GRWQnN0J8B<2z}r4$NB0R`M1Y3yVdrawPixmap(style->visualRect(direction, opt.rect, rect), closeTabButton); + painter->drawPixmap(style->visualRect(direction, opt.rect, rect), (index.parent().isValid() ? closeTabButton : addTabButton)); } painter->restore(); diff --git a/src/plugins/TabManager/tabmanagerplugin.qrc b/src/plugins/TabManager/tabmanagerplugin.qrc index 6a9a11608..357dde820 100644 --- a/src/plugins/TabManager/tabmanagerplugin.qrc +++ b/src/plugins/TabManager/tabmanagerplugin.qrc @@ -8,6 +8,7 @@ data/tab-pinned.png data/side-by-side.png data/closetab.png + data/addtab.png locale/ar_SA.qm locale/bg_BG.qm locale/ca_ES.qm diff --git a/src/plugins/TabManager/tabmanagerwidget.cpp b/src/plugins/TabManager/tabmanagerwidget.cpp index 881ff3412..f65e69459 100644 --- a/src/plugins/TabManager/tabmanagerwidget.cpp +++ b/src/plugins/TabManager/tabmanagerwidget.cpp @@ -222,8 +222,11 @@ void TabManagerWidget::onItemActivated(QTreeWidgetItem* item, int column) return; } - if (column == 1 && item->childCount() == 0 && tabWidget) { - mainWindow->tabWidget()->requestCloseTab(mainWindow->tabWidget()->indexOf(tabWidget)); + if (column == 1) { + if (item->childCount() == 0 && tabWidget) + mainWindow->tabWidget()->requestCloseTab(mainWindow->tabWidget()->indexOf(tabWidget)); + else if (item->childCount() > 0) + QMetaObject::invokeMethod(mainWindow, "addTab"); return; } From 8a85fb3c0fa727143713da370aa6d8ff1c02c9e6 Mon Sep 17 00:00:00 2001 From: srazi Date: Fri, 7 Apr 2017 13:31:20 +0430 Subject: [PATCH 7/7] TabManager: Bump version to 0.7.0 --- src/plugins/TabManager/tabmanagerplugin.cpp | 4 ++-- src/plugins/TabManager/tabmanagerplugin.h | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/plugins/TabManager/tabmanagerplugin.cpp b/src/plugins/TabManager/tabmanagerplugin.cpp index abc3f13e1..98c7512f1 100644 --- a/src/plugins/TabManager/tabmanagerplugin.cpp +++ b/src/plugins/TabManager/tabmanagerplugin.cpp @@ -1,6 +1,6 @@ /* ============================================================ * TabManager plugin for QupZilla -* Copyright (C) 2013-2016 S. Razi Alavizadeh +* Copyright (C) 2013-2017 S. Razi Alavizadeh * * 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 @@ -51,7 +51,7 @@ PluginSpec TabManagerPlugin::pluginSpec() spec.name = "Tab Manager"; spec.info = "Simple yet powerful tab manager for QupZilla"; spec.description = "Adds ability to managing tabs and windows"; - spec.version = "0.6.0"; + spec.version = "0.7.0"; spec.author = "Razi Alavizadeh "; spec.icon = QPixmap(":tabmanager/data/tabmanager.png"); spec.hasSettings = true; diff --git a/src/plugins/TabManager/tabmanagerplugin.h b/src/plugins/TabManager/tabmanagerplugin.h index bf0b70d3f..b0a410485 100644 --- a/src/plugins/TabManager/tabmanagerplugin.h +++ b/src/plugins/TabManager/tabmanagerplugin.h @@ -1,6 +1,6 @@ /* ============================================================ * TabManager plugin for QupZilla -* Copyright (C) 2013 S. Razi Alavizadeh +* Copyright (C) 2013-2017 S. Razi Alavizadeh * * 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