12 #define SS_ITEM_SIZE QSize(165, 110)
29 setAttribute(Qt::WA_TranslucentBackground);
37 m_enableButton->setGeometry((width() - 38) / 2, (height() - 38) / 2, 38, 38);
63 move(point - rect().center());
89 QLabel::leaveEvent(event);
95 QLabel::focusOutEvent(event);
101 QWidget::paintEvent(event);
102 QPainter painter(
this);
114 setFixedSize(155, 100);
118 connect(
m_hoverItem, SIGNAL(itemClicked(
int,
bool)),
object, SLOT(currentItemClicked(
int,
bool)));
150 QLabel::enterEvent(event);
160 m_gridLayout->setAlignment(Qt::AlignLeft | Qt::AlignTop);
184 item->setHoverVisible(
false);
189 for(
int i = 0; i <
m_items.count(); ++i)
191 m_gridLayout->addWidget(
m_items[i], i / lineNumber, i % lineNumber, Qt::AlignLeft | Qt::AlignTop);
197 QWidget::resizeEvent(event);
205 m_currentState(false)
209 QVBoxLayout *layout =
new QVBoxLayout(
this);
210 layout->setSpacing(0);
211 layout->setContentsMargins(0, 0, 0, 0);
213 QWidget *mainWidget =
new QWidget(
this);
214 QVBoxLayout *mainLayout =
new QVBoxLayout(mainWidget);
215 mainLayout->setSpacing(0);
216 mainLayout->setContentsMargins(0, 0, 0, 0);
217 mainWidget->setLayout(mainLayout);
218 layout->addWidget(mainWidget);
221 QWidget *topWidget =
new QWidget(mainWidget);
222 topWidget->setFixedHeight(60);
223 QHBoxLayout *topWidgetLayout =
new QHBoxLayout(topWidget);
224 topWidgetLayout->setContentsMargins(15, 10, 20, 10);
226 QLabel *pLabel =
new QLabel(tr(
"Screen Saver"), topWidget);
227 QFont pLabelFont = pLabel->font();
228 pLabelFont.setPixelSize(20);
229 pLabel->setFont(pLabelFont);
232 QLabel *iLabel =
new QLabel(tr(
"Popular singers spend your leisure time with you"), topWidget);
233 QFont iLabelFont = iLabel->font();
234 iLabelFont.setPixelSize(15);
235 iLabel->setFont(iLabelFont);
238 QLabel *wLabel =
new QLabel(tr(
"Wait"), topWidget);
239 QLabel *mLabel =
new QLabel(tr(
"Min"), topWidget);
255 topWidgetLayout->addWidget(pLabel);
256 topWidgetLayout->addWidget(iLabel);
257 topWidgetLayout->addStretch(1);
258 topWidgetLayout->addWidget(wLabel);
260 topWidgetLayout->addWidget(mLabel);
262 topWidget->setLayout(topWidgetLayout);
263 mainLayout->addWidget(topWidget);
265 QFrame *frame =
new QFrame(mainWidget);
266 frame->setFixedHeight(1);
267 frame->setFrameShape(QFrame::HLine);
268 frame->setFrameShadow(QFrame::Plain);
270 mainLayout->addWidget(frame);
272 QWidget *functionWidget =
new QWidget(mainWidget);
273 QHBoxLayout *functionWidgetLayout =
new QHBoxLayout(functionWidget);
274 functionWidgetLayout->setContentsMargins(10, 10, 10, 10);
275 functionWidget->setLayout(functionWidgetLayout);
276 mainLayout->addWidget(functionWidget);
302 QVector<bool> statusVector;
306 const QStringList items(value.split(
";"));
308 for(
const QString &item :
qAsConst(items))
310 const QStringList itemStatus(item.split(
","));
311 if(itemStatus.count() == 2)
313 const int index = itemStatus[0].toInt();
314 const bool status = itemStatus[1].toInt();
315 statusVector[index] = status;
361 if(index < 0 || index >= statusVector.count())
372 statusVector[index] = status;
375 for(
int i = 0; i < statusVector.count(); ++i)
377 items << QString(
"%1,%2").arg(i).arg(statusVector[i]);
389 MusicDownloadQueueDataList datas;
390 for(
int index = 0; index <
SS_COUNT; ++index)
394 QDir().mkpath(prefix);
423 setWindowFlags(Qt::Window | Qt::FramelessWindowHint | Qt::WindowStaysOnTopHint);
433 qApp->installEventFilter(
this);
487 QVector<int> intVector;
488 for(
int index = 0; index <
SS_COUNT; ++index)
490 if(statusVector[index])
496 if(!intVector.isEmpty())
498 const int index = intVector[
TTK::random(intVector.count())];
510 if(event->type()== QEvent::MouseButtonPress ||
event->type()== QEvent::MouseButtonRelease ||
511 event->type()== QEvent::MouseButtonDblClick ||
event->type()== QEvent::MouseMove ||
512 event->type()== QEvent::KeyPress ||
event->type()== QEvent::KeyRelease)
529 return MusicTransitionAnimationLabel::eventFilter(watched, event);
void setHoverVisible(bool v)
#define QtEnterEvent
Event enter.
The class of the screen saver list item.
void setStatus(int index, bool status)
MusicScreenSaverHoverItem * m_hoverItem
void setPixmap(const QPixmap &pix)
virtual void leaveEvent(QEvent *event) overridefinal
virtual void paintEvent(QPaintEvent *event) overridefinal
void setStatus(int index, bool status)
TTK_MODULE_EXPORT void setBorderShadow(QWidget *widget, QPainter *painter)
TTK_MODULE_EXPORT QPixmap grayScalePixmap(const QPixmap &input, int radius=0)
The class of the download data from queue request.
static const QString ColorStyle05
TTK_MODULE_EXPORT int random(int value=RAND_MAX)
virtual void focusOutEvent(QFocusEvent *event) overridefinal
static const QString ColorStyle01
Color.
#define APPCACHE_DIR_FULL
static const QString ColorStyle02
The class of the label transition animation.
void addQueue(const MusicDownloadQueueDataList &datas)
static constexpr const char * ScreenItemEnable
static const QString BackgroundStyle01
Background.
QPushButton * m_enableButton
static QRect screenGeometry(int index=0)
static constexpr const char * ScreenSaverOff
virtual void startToRequest() overridefinal
TTK_MODULE_EXPORT QString splitToken(const QString &name)
static const QString BackgroundStyle10
The class of the download queue data.
void itemClicked(int index, bool status)
static const QString ColorStyle03
void setFilePath(const QString &path)
static const QString LineEditStyle01
LineEdit.
MusicScreenSaverHoverItem(QLabel *parent=nullptr)
~MusicScreenSaverListItem()
static constexpr const char * ScreenSaverOn
void display(const QPoint &point)
void setFilePath(const QString &path)
static MusicApplicationModule * instance()
virtual void enterEvent(QtEnterEvent *event) overridefinal
MusicScreenSaverListItem(QObject *object, QWidget *parent=nullptr)
static constexpr const char * ScreenItemDisable
QString m_path
download url/
The class of the screen saver hover item.
static QString makeDataBucketUrl()
TTK_MODULE_EXPORT void fusionPixmap(QImage &back, const QImage &front, const QPoint &pt)
#define QtLablePixmap(p)
Lable pixmap.