mirror of
https://invent.kde.org/network/falkon.git
synced 2024-12-20 18:56:34 +01:00
TabManager: Use italic font and "disabled" style for non-loaded saved tab item.
This commit is contained in:
parent
b9a9c24060
commit
33846b9523
@ -38,10 +38,11 @@ void TabManagerDelegate::paint(QPainter* painter, const QStyleOptionViewItem &op
|
|||||||
const QStyle* style = w ? w->style() : QApplication::style();
|
const QStyle* style = w ? w->style() : QApplication::style();
|
||||||
const Qt::LayoutDirection direction = w ? w->layoutDirection() : QApplication::layoutDirection();
|
const Qt::LayoutDirection direction = w ? w->layoutDirection() : QApplication::layoutDirection();
|
||||||
const bool isActiveOrCaption = index.data(TabItem::ActiveOrCaptionRole).toBool();
|
const bool isActiveOrCaption = index.data(TabItem::ActiveOrCaptionRole).toBool();
|
||||||
|
const bool isSavedTab = index.data(TabItem::SavedRole).toBool();
|
||||||
|
|
||||||
const QPalette::ColorRole colorRole = opt.state & QStyle::State_Selected ? QPalette::HighlightedText : QPalette::Text;
|
const QPalette::ColorRole colorRole = opt.state & QStyle::State_Selected ? QPalette::HighlightedText : QPalette::Text;
|
||||||
|
|
||||||
QPalette::ColorGroup cg = opt.state & QStyle::State_Enabled ? QPalette::Normal : QPalette::Disabled;
|
QPalette::ColorGroup cg = (opt.state & QStyle::State_Enabled) && !isSavedTab ? QPalette::Normal : QPalette::Disabled;
|
||||||
if (cg == QPalette::Normal && !(opt.state & QStyle::State_Active)) {
|
if (cg == QPalette::Normal && !(opt.state & QStyle::State_Active)) {
|
||||||
cg = QPalette::Inactive;
|
cg = QPalette::Inactive;
|
||||||
}
|
}
|
||||||
@ -122,7 +123,9 @@ void TabManagerDelegate::paint(QPainter* painter, const QStyleOptionViewItem &op
|
|||||||
painter->drawRect(textRect.adjusted(0, 0, -1, -1));
|
painter->drawRect(textRect.adjusted(0, 0, -1, -1));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (isActiveOrCaption)
|
if (isSavedTab)
|
||||||
|
opt.font.setItalic(true);
|
||||||
|
else if (isActiveOrCaption)
|
||||||
opt.font.setBold(true);
|
opt.font.setBold(true);
|
||||||
|
|
||||||
painter->setFont(opt.font);
|
painter->setFont(opt.font);
|
||||||
|
@ -751,6 +751,11 @@ void TabItem::setWebTab(WebTab* webTab)
|
|||||||
{
|
{
|
||||||
m_webTab = webTab;
|
m_webTab = webTab;
|
||||||
|
|
||||||
|
if (m_webTab->isRestored())
|
||||||
|
setIsActiveOrCaption(m_webTab->isCurrentTab());
|
||||||
|
else
|
||||||
|
setIsSavedTab(true);
|
||||||
|
|
||||||
connect(m_webTab->webView()->page(), SIGNAL(audioMutedChanged(bool)), this, SLOT(updateIcon()));
|
connect(m_webTab->webView()->page(), SIGNAL(audioMutedChanged(bool)), this, SLOT(updateIcon()));
|
||||||
connect(m_webTab->webView()->page(), SIGNAL(loadFinished(bool)), this, SLOT(updateIcon()));
|
connect(m_webTab->webView()->page(), SIGNAL(loadFinished(bool)), this, SLOT(updateIcon()));
|
||||||
connect(m_webTab->webView()->page(), SIGNAL(loadStarted()), this, SLOT(updateIcon()));
|
connect(m_webTab->webView()->page(), SIGNAL(loadStarted()), this, SLOT(updateIcon()));
|
||||||
@ -778,9 +783,15 @@ void TabItem::updateIcon()
|
|||||||
else {
|
else {
|
||||||
setIcon(0, QIcon(":tabmanager/data/tab-pinned.png"));
|
setIcon(0, QIcon(":tabmanager/data/tab-pinned.png"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (m_webTab->isRestored())
|
||||||
|
setIsActiveOrCaption(m_webTab->isCurrentTab());
|
||||||
|
else
|
||||||
|
setIsSavedTab(true);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
setIcon(0, QIcon(":tabmanager/data/tab-loading.png"));
|
setIcon(0, QIcon(":tabmanager/data/tab-loading.png"));
|
||||||
|
setIsActiveOrCaption(m_webTab->isCurrentTab());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -793,4 +804,11 @@ void TabItem::setTitle(const QString &title)
|
|||||||
void TabItem::setIsActiveOrCaption(bool yes)
|
void TabItem::setIsActiveOrCaption(bool yes)
|
||||||
{
|
{
|
||||||
setData(0, ActiveOrCaptionRole, yes ? QVariant(true) : QVariant());
|
setData(0, ActiveOrCaptionRole, yes ? QVariant(true) : QVariant());
|
||||||
|
|
||||||
|
setIsSavedTab(false);
|
||||||
|
}
|
||||||
|
|
||||||
|
void TabItem::setIsSavedTab(bool yes)
|
||||||
|
{
|
||||||
|
setData(0, SavedRole, yes ? QVariant(true) : QVariant());
|
||||||
}
|
}
|
||||||
|
@ -103,7 +103,8 @@ class TabItem : public QObject, public QTreeWidgetItem
|
|||||||
|
|
||||||
public:
|
public:
|
||||||
enum StateRole {
|
enum StateRole {
|
||||||
ActiveOrCaptionRole = Qt::UserRole + 1
|
ActiveOrCaptionRole = Qt::UserRole + 1,
|
||||||
|
SavedRole = Qt::UserRole + 2
|
||||||
};
|
};
|
||||||
|
|
||||||
TabItem(QTreeWidget* treeWidget, QTreeWidgetItem* parent = 0, bool addToTree = true);
|
TabItem(QTreeWidget* treeWidget, QTreeWidgetItem* parent = 0, bool addToTree = true);
|
||||||
@ -118,6 +119,7 @@ public slots:
|
|||||||
void updateIcon();
|
void updateIcon();
|
||||||
void setTitle(const QString& title);
|
void setTitle(const QString& title);
|
||||||
void setIsActiveOrCaption(bool yes);
|
void setIsActiveOrCaption(bool yes);
|
||||||
|
void setIsSavedTab(bool yes);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
QTreeWidget* m_treeWidget;
|
QTreeWidget* m_treeWidget;
|
||||||
|
Loading…
Reference in New Issue
Block a user