[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: [digikam/frameworks] libs/widgets/mainview: polish
From: Gilles Caulier <caulier.gilles () gmail ! com>
Date: 2015-02-02 7:45:45
Message-ID: E1YIBhZ-0000AL-Uf () scm ! kde ! org
[Download RAW message or body]
Git commit d660837b9306f0a25cd8e4d3f5cf06d5dfd34b7c by Gilles Caulier.
Committed on 02/02/2015 at 07:45.
Pushed by cgilles into branch 'frameworks'.
polish
M +47 -42 libs/widgets/mainview/sidebar.cpp
M +47 -44 libs/widgets/mainview/sidebar.h
http://commits.kde.org/digikam/d660837b9306f0a25cd8e4d3f5cf06d5dfd34b7c
diff --git a/libs/widgets/mainview/sidebar.cpp b/libs/widgets/mainview/sidebar.cpp
index 633c496..3d5f99d 100644
--- a/libs/widgets/mainview/sidebar.cpp
+++ b/libs/widgets/mainview/sidebar.cpp
@@ -58,7 +58,7 @@
namespace Digikam
{
-DMultiTabBarInternal::DMultiTabBarInternal(QWidget* const parent, Qt::Edge pos)
+DMultiTabBarFrame::DMultiTabBarFrame(QWidget* const parent, Qt::Edge pos)
: QFrame(parent)
{
m_position = pos;
@@ -75,13 +75,13 @@ DMultiTabBarInternal::DMultiTabBarInternal(QWidget* const parent, Qt::Edge pos)
setBackgroundRole(QPalette::Background);
}
-DMultiTabBarInternal::~DMultiTabBarInternal()
+DMultiTabBarFrame::~DMultiTabBarFrame()
{
qDeleteAll(m_tabs);
m_tabs.clear();
}
-void DMultiTabBarInternal::setStyle(DMultiTabBar::TextStyle style)
+void DMultiTabBarFrame::setStyle(DMultiTabBar::TextStyle style)
{
m_style = style;
@@ -91,19 +91,17 @@ void DMultiTabBarInternal::setStyle(DMultiTabBar::TextStyle style)
updateGeometry();
}
-void DMultiTabBarInternal::contentsMousePressEvent(QMouseEvent* e)
+void DMultiTabBarFrame::contentsMousePressEvent(QMouseEvent* e)
{
e->ignore();
}
-void DMultiTabBarInternal::mousePressEvent(QMouseEvent* e)
+void DMultiTabBarFrame::mousePressEvent(QMouseEvent* e)
{
e->ignore();
}
-// -------------------------------------------------------------------------------------
-
-DMultiTabBarTab* DMultiTabBarInternal::tab(int id) const
+DMultiTabBarTab* DMultiTabBarFrame::tab(int id) const
{
QListIterator<DMultiTabBarTab*> it(m_tabs);
@@ -118,7 +116,7 @@ DMultiTabBarTab* DMultiTabBarInternal::tab(int id) const
return 0;
}
-int DMultiTabBarInternal::appendTab(const QPixmap& pic, int id, const QString& text)
+int DMultiTabBarFrame::appendTab(const QPixmap& pic, int id, const QString& text)
{
DMultiTabBarTab* const tab = new DMultiTabBarTab(pic, text, id, this, m_position, m_style);
m_tabs.append(tab);
@@ -129,7 +127,7 @@ int DMultiTabBarInternal::appendTab(const QPixmap& pic, int id, const QString& t
return 0;
}
-void DMultiTabBarInternal::removeTab(int id)
+void DMultiTabBarFrame::removeTab(int id)
{
for (int pos = 0 ; pos < m_tabs.count() ; pos++)
{
@@ -142,7 +140,7 @@ void DMultiTabBarInternal::removeTab(int id)
}
}
-void DMultiTabBarInternal::setPosition(Qt::Edge pos)
+void DMultiTabBarFrame::setPosition(Qt::Edge pos)
{
m_position = pos;
@@ -152,7 +150,7 @@ void DMultiTabBarInternal::setPosition(Qt::Edge pos)
updateGeometry();
}
-QList<DMultiTabBarTab*>* DMultiTabBarInternal::tabs()
+QList<DMultiTabBarTab*>* DMultiTabBarFrame::tabs()
{
return &m_tabs;
}
@@ -193,18 +191,18 @@ int DMultiTabBarButton::id() const
return m_id;
}
-void DMultiTabBarButton::hideEvent(QHideEvent* he)
+void DMultiTabBarButton::hideEvent(QHideEvent* e)
{
- QPushButton::hideEvent(he);
+ QPushButton::hideEvent(e);
DMultiTabBar* const tb = dynamic_cast<DMultiTabBar*>(parentWidget());
if (tb)
tb->updateSeparator();
}
-void DMultiTabBarButton::showEvent(QShowEvent* he)
+void DMultiTabBarButton::showEvent(QShowEvent* e)
{
- QPushButton::showEvent(he);
+ QPushButton::showEvent(e);
DMultiTabBar* const tb = dynamic_cast<DMultiTabBar*>(parentWidget());
if (tb)
@@ -338,14 +336,17 @@ QSize DMultiTabBarTab::computeSizeHint(bool withText) const
size.setHeight(size.height() + 2*minorMargin);
if (withText)
+ {
// Add enough room for the text, and an extra major margin.
size.setWidth(size.width() + textSize.width() + majorMargin);
+ }
- // flip time?
if (isVertical())
+ {
return QSize(size.height(), size.width());
- else
- return size;
+ }
+
+ return size;
}
void DMultiTabBarTab::setState(bool newState)
@@ -421,7 +422,9 @@ void DMultiTabBarTab::paintEvent(QPaintEvent*)
// See whether anything is left. Qt will return either
// ... or the ellipsis unicode character, 0x2026
if (t == QLatin1String("...") || t == QChar(0x2026))
+ {
t.clear();
+ }
}
// Label time.... Simple case: no text, so just plop down the icon right in the center
@@ -444,10 +447,10 @@ void DMultiTabBarTab::paintEvent(QPaintEvent*)
{
if (m_position == Qt::LeftEdge && !rtl)
bottomIcon = true;
+
if (m_position == Qt::RightEdge && rtl)
bottomIcon = true;
}
- //alignFlags = Qt::AlignLeading | Qt::AlignVCenter;
if (isVertical())
{
@@ -480,7 +483,9 @@ void DMultiTabBarTab::paintEvent(QPaintEvent*)
style()->drawItemPixmap(&painter, iconArea, Qt::AlignCenter | Qt::AlignVCenter, icon);
if (t.isEmpty())
+ {
return;
+ }
QRect labelPaintArea = labelArea;
@@ -516,11 +521,11 @@ class DMultiTabBar::Private
{
public:
- class DMultiTabBarInternal* m_internal;
- QBoxLayout* m_l;
- QFrame* m_btnTabSep;
- QList<DMultiTabBarButton*> m_buttons;
- Qt::Edge m_position;
+ class DMultiTabBarFrame* m_internal;
+ QBoxLayout* m_lay;
+ QFrame* m_btnTabSep;
+ QList<DMultiTabBarButton*> m_buttons;
+ Qt::Edge m_position;
};
DMultiTabBar::DMultiTabBar(Qt::Edge pos, QWidget* const parent)
@@ -529,23 +534,23 @@ DMultiTabBar::DMultiTabBar(Qt::Edge pos, QWidget* const parent)
{
if (pos == Qt::LeftEdge || pos == Qt::RightEdge)
{
- d->m_l=new QVBoxLayout(this);
+ d->m_lay = new QVBoxLayout(this);
setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Expanding/*, true*/);
}
else
{
- d->m_l=new QHBoxLayout(this);
+ d->m_lay = new QHBoxLayout(this);
setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed/*, true*/);
}
- d->m_l->setMargin(0);
- d->m_l->setSpacing(0);
+ d->m_lay->setMargin(0);
+ d->m_lay->setSpacing(0);
- d->m_internal = new DMultiTabBarInternal(this, pos);
+ d->m_internal = new DMultiTabBarFrame(this, pos);
setPosition(pos);
setStyle(ActiveIconText);
- d->m_l->insertWidget(0, d->m_internal);
- d->m_l->insertWidget(0, d->m_btnTabSep = new QFrame(this));
+ d->m_lay->insertWidget(0, d->m_internal);
+ d->m_lay->insertWidget(0, d->m_btnTabSep = new QFrame(this));
d->m_btnTabSep->setFixedHeight(4);
d->m_btnTabSep->setFrameStyle(QFrame::Panel | QFrame::Sunken);
d->m_btnTabSep->setLineWidth(2);
@@ -568,7 +573,7 @@ int DMultiTabBar::appendButton(const QPixmap &pic, int id, QMenu *popup, const Q
btn->setFixedWidth(btn->height());
btn->setMenu(popup);
d->m_buttons.append(btn);
- d->m_l->insertWidget(0,btn);
+ d->m_lay->insertWidget(0,btn);
btn->show();
d->m_btnTabSep->show();
return 0;
@@ -576,14 +581,14 @@ int DMultiTabBar::appendButton(const QPixmap &pic, int id, QMenu *popup, const Q
void DMultiTabBar::updateSeparator()
{
- bool hideSep=true;
+ bool hideSep = true;
QListIterator<DMultiTabBarButton*> it(d->m_buttons);
while (it.hasNext())
{
if (it.next()->isVisibleTo(this))
{
- hideSep=false;
+ hideSep = false;
break;
}
}
@@ -604,11 +609,11 @@ DMultiTabBarButton* DMultiTabBar::button(int id) const
{
QListIterator<DMultiTabBarButton*> it(d->m_buttons);
- while ( it.hasNext() )
+ while (it.hasNext())
{
DMultiTabBarButton* const button = it.next();
- if ( button->id() == id )
+ if (button->id() == id)
return button;
}
@@ -622,16 +627,16 @@ DMultiTabBarTab* DMultiTabBar::tab(int id) const
void DMultiTabBar::removeButton(int id)
{
- for (int pos=0;pos<d->m_buttons.count();pos++)
+ for (int pos = 0 ; pos < d->m_buttons.count() ; pos++)
{
- if (d->m_buttons.at(pos)->id()==id)
+ if (d->m_buttons.at(pos)->id() == id)
{
d->m_buttons.takeAt(pos)->deleteLater();
break;
}
}
- if (d->m_buttons.count()==0)
+ if (d->m_buttons.count() == 0)
d->m_btnTabSep->hide();
}
@@ -642,7 +647,7 @@ void DMultiTabBar::removeTab(int id)
void DMultiTabBar::setTab(int id,bool state)
{
- DMultiTabBarTab* const ttab=tab(id);
+ DMultiTabBarTab* const ttab = tab(id);
if (ttab)
ttab->setState(state);
@@ -650,7 +655,7 @@ void DMultiTabBar::setTab(int id,bool state)
bool DMultiTabBar::isTabRaised(int id) const
{
- DMultiTabBarTab* const ttab=tab(id);
+ DMultiTabBarTab* const ttab = tab(id);
if (ttab)
return ttab->isChecked();
diff --git a/libs/widgets/mainview/sidebar.h b/libs/widgets/mainview/sidebar.h
index d079902..292827b 100644
--- a/libs/widgets/mainview/sidebar.h
+++ b/libs/widgets/mainview/sidebar.h
@@ -49,6 +49,9 @@
namespace Digikam
{
+class DMultiTabBarButton;
+class DMultiTabBarTab;
+
/**
* A Widget for horizontal and vertical tabs.
*/
@@ -116,12 +119,12 @@ public:
/**
* get a pointer to a button within the button area identified by its ID
*/
- class DMultiTabBarButton* button(int id) const;
+ DMultiTabBarButton* button(int id) const;
/**
* get a pointer to a tab within the tab area, identiifed by its ID
*/
- class DMultiTabBarTab* tab(int id) const;
+ DMultiTabBarTab* tab(int id) const;
/**
* set the real position of the widget.
@@ -204,45 +207,6 @@ private:
// -------------------------------------------------------------------------------------
-class DMultiTabBarInternal: public QFrame
-{
- Q_OBJECT
-
-public:
-
- DMultiTabBarInternal(QWidget* const parent, Qt::Edge pos);
- virtual ~DMultiTabBarInternal();
-
- int appendTab(const QPixmap&, int=-1, const QString& =QString());
- DMultiTabBarTab* tab(int) const;
- void removeTab(int);
- void setPosition(Qt::Edge pos);
- void setStyle(DMultiTabBar::TextStyle style);
- void showActiveTabTexts(bool show);
- QList<DMultiTabBarTab*>* tabs();
-
-private:
-
- friend class DMultiTabBar;
-
- QBoxLayout* m_mainLayout;
- QList<DMultiTabBarTab*> m_tabs;
- Qt::Edge m_position;
- DMultiTabBar::TextStyle m_style;
-
-protected:
-
- /**
- * Reimplemented from QScrollView
- * in order to ignore all mouseEvents on the viewport, so that the
- * parent can handle them.
- */
- virtual void contentsMousePressEvent(QMouseEvent*);
- virtual void mousePressEvent(QMouseEvent*);
-};
-
-// -------------------------------------------------------------------------------------
-
class DIGIKAM_EXPORT DMultiTabBarTab: public DMultiTabBarButton
{
Q_OBJECT
@@ -257,13 +221,13 @@ public:
public Q_SLOTS:
/**
- * this is used internaly, but can be used by the user, if (s)he wants to
+ * this is used internaly, but can be used by the user.
* It the according call of DMultiTabBar is invoked though this modifications will be overwritten
*/
void setPosition(Qt::Edge);
/**
- * this is used internaly, but can be used by the user, if (s)he wants to
+ * this is used internaly, but can be used by the user.
* It the according call of DMultiTabBar is invoked though this modifications will be overwritten
*/
void setStyle(DMultiTabBar::TextStyle);
@@ -286,7 +250,7 @@ protected:
QPixmap iconPixmap() const;
void initStyleOption(QStyleOptionToolButton* opt) const;
- friend class DMultiTabBarInternal;
+ friend class DMultiTabBarFrame;
/**
* This class should never be created except with the appendTab call of DMultiTabBar
@@ -303,6 +267,45 @@ private:
};
// -------------------------------------------------------------------------------------
+
+class DMultiTabBarFrame: public QFrame
+{
+ Q_OBJECT
+
+public:
+
+ DMultiTabBarFrame(QWidget* const parent, Qt::Edge pos);
+ virtual ~DMultiTabBarFrame();
+
+ int appendTab(const QPixmap&, int = -1, const QString& = QString());
+ DMultiTabBarTab* tab(int) const;
+ void removeTab(int);
+ void setPosition(Qt::Edge pos);
+ void setStyle(DMultiTabBar::TextStyle style);
+ void showActiveTabTexts(bool show);
+ QList<DMultiTabBarTab*>* tabs();
+
+private:
+
+ friend class DMultiTabBar;
+
+ QBoxLayout* m_mainLayout;
+ QList<DMultiTabBarTab*> m_tabs;
+ Qt::Edge m_position;
+ DMultiTabBar::TextStyle m_style;
+
+protected:
+
+ /**
+ * Reimplemented from QScrollView
+ * in order to ignore all mouseEvents on the viewport, so that the
+ * parent can handle them.
+ */
+ virtual void contentsMousePressEvent(QMouseEvent*);
+ virtual void mousePressEvent(QMouseEvent*);
+};
+
+// -------------------------------------------------------------------------------------
class SidebarSplitter;
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic