Skip to content

Commit dd4e5b1

Browse files
committed
refactor: disable implicit template to speedup build
1 parent 8d80e68 commit dd4e5b1

File tree

4 files changed

+20
-15
lines changed

4 files changed

+20
-15
lines changed

ImageLounge/src/DkGui/DkBaseWidgets.cpp

+4
Original file line numberDiff line numberDiff line change
@@ -204,6 +204,8 @@ bool DkFadeHelper::isParentAnimating() const
204204
}
205205

206206
// -------------------------------------------------------------------- DkFadeWidget
207+
template class DkFadeMixin<DkWidget>;
208+
207209
DkFadeWidget::DkFadeWidget(QWidget *parent, Qt::WindowFlags flags)
208210
: DkFadeMixin<DkWidget>(parent, flags)
209211
{
@@ -424,6 +426,8 @@ int DkElidedLabel::minimumWidth()
424426
}
425427

426428
// DkFadeLabel --------------------------------------------------------------------
429+
template class DkFadeMixin<DkLabel>;
430+
427431
DkFadeLabel::DkFadeLabel(const QString &text, QWidget *parent)
428432
: DkFadeMixin(text, parent)
429433
{

ImageLounge/src/DkGui/DkBaseWidgets.h

+13-15
Original file line numberDiff line numberDiff line change
@@ -145,30 +145,24 @@ class DkFadeMixin : public QWidgetBase, public DkFadeHelper
145145
public:
146146
DkFadeMixin() = delete;
147147

148-
// we need a few constructors for different widget types
149-
DkFadeMixin(QWidget *parent, Qt::WindowFlags flags)
150-
: QWidgetBase(parent, flags)
148+
// handle 1-3 argument widget constructors
149+
template<typename T, typename U, typename V>
150+
DkFadeMixin(T arg0, U arg1, V arg2)
151+
: QWidgetBase(arg0, arg1, arg2)
151152
, DkFadeHelper(this)
152153
{
153154
}
154155

155-
DkFadeMixin(QWidget *parent)
156-
: QWidgetBase(parent)
156+
template<typename T, typename U>
157+
DkFadeMixin(T arg0, U arg1)
158+
: QWidgetBase(arg0, arg1)
157159
, DkFadeHelper(this)
158160
{
159161
}
160162

161-
// overload for text widgets
162163
template<typename T>
163-
DkFadeMixin(const T &arg0, QWidget *parent, Qt::WindowFlags flags)
164-
: QWidgetBase(arg0, parent, flags)
165-
, DkFadeHelper(this)
166-
{
167-
}
168-
169-
template<typename T>
170-
DkFadeMixin(const T &arg0, QWidget *parent)
171-
: QWidgetBase(arg0, parent)
164+
DkFadeMixin(T arg0)
165+
: QWidgetBase(arg0)
172166
, DkFadeHelper(this)
173167
{
174168
}
@@ -247,6 +241,8 @@ class DllCoreExport DkFadeWidget : public DkFadeMixin<DkWidget>
247241
void paintEvent(QPaintEvent *event) override;
248242
};
249243

244+
extern template class DkFadeMixin<DkWidget>; // speed up compilation/linking
245+
250246
class DllCoreExport DkNamedWidget : public DkFadeWidget
251247
{
252248
Q_OBJECT
@@ -385,6 +381,8 @@ class DllCoreExport DkDockWidget : public QDockWidget
385381
QAction *mAction = 0;
386382
};
387383

384+
extern template class DkFadeMixin<DkLabel>;
385+
388386
class DllCoreExport DkResizableScrollArea : public QScrollArea
389387
{
390388
Q_OBJECT

ImageLounge/src/DkGui/DkWidgets.cpp

+1
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,7 @@
100100

101101
namespace nmc
102102
{
103+
template class DkFadeMixin<QSlider>;
103104

104105
// DkFolderScrollBar --------------------------------------------------------------------
105106
DkFolderScrollBar::DkFolderScrollBar(QWidget *parent)

ImageLounge/src/DkGui/DkWidgets.h

+2
Original file line numberDiff line numberDiff line change
@@ -313,6 +313,8 @@ public slots:
313313
void init();
314314
};
315315

316+
extern template class DkFadeMixin<QSlider>;
317+
316318
// this class is one of the first batch processing classes -> move them to a new file in the (near) future
317319
class DkThumbsSaver : public DkWidget
318320
{

0 commit comments

Comments
 (0)