27 #include <QTranslator> 28 #include "Helper/Logger/Logger.h" 30 #define SINGLETON_QOBJECT(class_name) protected: \ 31 class_name (QObject* object=0); \ 33 static class_name *getInstance() { static class_name instance; return &instance; } \ 34 virtual ~class_name (); 37 #define SINGLETON(class_name) protected: \ 40 static class_name *getInstance() { static class_name instance; return &instance; } \ 41 virtual ~class_name (); 43 #define DARK_BLUE(x) QString("<font color=#0000FF>") + x + QString("</font>") 44 #define LIGHT_BLUE(x) QString("<font color=#8888FF>") + x + QString("</font>") 46 #define CAR_RET QString("<br />") 47 #define BOLD(x) QString("<b>") + x + QString("</b>") 48 #define BLACK(x) QString("<font color=#000000>") + x + QString("</font>") 52 #define LINK(n, t, d, s) if(d) s=QString("<a href=\"t\">)") + LIGHT_BLUE(n) + QString("</a>"); \ 53 else s=QString("<a href=\"t\">)") + DARK_BLUE(n) + QString("</a>"); 55 #define SAYONARA_ORANGE_STR QString("#e8841a") 56 #define SAYONARA_ORANGE_COL QColor(232, 132, 26) 61 #define PLUGIN_LFM_RADIO 1 62 #define PLUGIN_STREAM 2 63 #define PLUGIN_PODCASTS 3 64 #define PLUGIN_EQUALIZER 4 65 #define PLUGIN_PLAYLIST_CHOOSER 5 66 #define PLUGIN_LEVEL 6 76 #define GOOGLE_IMG_ICON QString("icon") 77 #define GOOGLE_IMG_SMALL QString("small") 78 #define GOOGLE_IMG_MEDIUM QString("medium") 79 #define GOOGLE_IMG_LARGE QString("large") 80 #define GOOGLE_IMG_XLARGE QString("xlarge") 81 #define GOOGLE_IMG_XXLARGE QString("xxlarge") 82 #define GOOGLE_IMG_HUGE QString("huge") 84 #define GOOGLE_FT_JPG QString("jpg") 85 #define GOOGLE_FT_PNG QString("png") 86 #define GOOGLE_FT_GIF QString("gif") 87 #define GOOGLE_FT_BMP QString("bmp") 89 typedef QPair<QString, QString> StringPair;
94 typedef qint32 ArtistID;
95 typedef qint32 AlbumID;
96 typedef qint32 TrackID;
120 #define MEASURE_TIME(x) QTime myTimer; \ 125 qDebug() << "Time: " << myTimer.elapsed(); 130 template<
typename TINT,
typename T>
131 typename std::enable_if<std::is_pointer<T>::value,
bool>::type
132 between( TINT idx,
const T& cont){
133 return (idx >= 0 && idx < cont->size());
136 template<
typename TINT,
typename T>
137 typename std::enable_if<std::is_class<T>::value,
bool>::type
138 between( TINT idx,
const T cont){
139 return (idx >= 0 && idx < cont.size());
142 template<
typename TINT>
143 typename std::enable_if<std::is_integral<TINT>::value,
bool>::type
144 between( TINT idx, TINT max){
145 return (idx >= 0 && idx < max);