27 #include <QTranslator> 28 #include "Helper/Logger/Logger.h" 30 #include <type_traits> 32 #define SINGLETON_QOBJECT(class_name) protected: \ 33 class_name (QObject* object=0); \ 35 static class_name *getInstance() { static class_name instance; return &instance; } \ 36 virtual ~class_name (); 39 #define SINGLETON(class_name) protected: \ 42 static class_name *getInstance() { static class_name instance; return &instance; } \ 43 virtual ~class_name (); 45 #define DARK_BLUE(x) QString("<font color=#0000FF>") + x + QString("</font>") 46 #define LIGHT_BLUE(x) QString("<font color=#8888FF>") + x + QString("</font>") 48 #define CAR_RET QString("<br />") 49 #define BOLD(x) QString("<b>") + x + QString("</b>") 50 #define BLACK(x) QString("<font color=#000000>") + x + QString("</font>") 54 #define LINK(n, t, d, s) if(d) s=QString("<a href=\"t\">)") + LIGHT_BLUE(n) + QString("</a>"); \ 55 else s=QString("<a href=\"t\">)") + DARK_BLUE(n) + QString("</a>"); 57 #define SAYONARA_ORANGE_STR QString("#e8841a") 58 #define SAYONARA_ORANGE_COL QColor(232, 132, 26) 63 #define PLUGIN_LFM_RADIO 1 64 #define PLUGIN_STREAM 2 65 #define PLUGIN_PODCASTS 3 66 #define PLUGIN_EQUALIZER 4 67 #define PLUGIN_PLAYLIST_CHOOSER 5 68 #define PLUGIN_LEVEL 6 78 #define GOOGLE_IMG_ICON QString("icon") 79 #define GOOGLE_IMG_SMALL QString("small") 80 #define GOOGLE_IMG_MEDIUM QString("medium") 81 #define GOOGLE_IMG_LARGE QString("large") 82 #define GOOGLE_IMG_XLARGE QString("xlarge") 83 #define GOOGLE_IMG_XXLARGE QString("xxlarge") 84 #define GOOGLE_IMG_HUGE QString("huge") 86 #define GOOGLE_FT_JPG QString("jpg") 87 #define GOOGLE_FT_PNG QString("png") 88 #define GOOGLE_FT_GIF QString("gif") 89 #define GOOGLE_FT_BMP QString("bmp") 91 typedef QPair<QString, QString> StringPair;
96 typedef qint32 ArtistID;
97 typedef qint32 AlbumID;
98 typedef qint32 TrackID;
122 #define MEASURE_TIME(x) QTime myTimer; \ 127 qDebug() << "Time: " << myTimer.elapsed(); 132 template<
typename TINT,
typename T>
133 typename std::enable_if<std::is_pointer<T>::value,
bool>::type
134 between( TINT idx,
const T& cont){
135 return (idx >= 0 && idx < cont->size());
138 template<
typename TINT,
typename T>
139 typename std::enable_if<std::is_class<T>::value,
bool>::type
140 between( TINT idx,
const T cont){
141 return (idx >= 0 && idx < cont.size());
144 template<
typename TINT>
145 typename std::enable_if<std::is_integral<TINT>::value,
bool>::type
146 between( TINT idx, TINT max){
147 return (idx >= 0 && idx < max);