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);
103 painter.setRenderHint(QPainter::SmoothPixmapTransform);
115 setFixedSize(155, 100);
119 connect(
m_hoverItem, SIGNAL(itemClicked(
int,
bool)),
object, SLOT(currentItemClicked(
int,
bool)));
151 QLabel::enterEvent(event);
161 m_gridLayout->setAlignment(Qt::AlignLeft | Qt::AlignTop);
185 item->setHoverVisible(
false);
190 for(
int i = 0; i <
m_items.count(); ++i)
198 QWidget::resizeEvent(event);
206 m_currentState(false)
210 QVBoxLayout *layout =
new QVBoxLayout(
this);
211 layout->setSpacing(0);
212 layout->setContentsMargins(0, 0, 0, 0);
214 QWidget *mainWidget =
new QWidget(
this);
215 QVBoxLayout *mainLayout =
new QVBoxLayout(mainWidget);
216 mainLayout->setSpacing(0);
217 mainLayout->setContentsMargins(0, 0, 0, 0);
218 mainWidget->setLayout(mainLayout);
219 layout->addWidget(mainWidget);
222 QWidget *topWidget =
new QWidget(mainWidget);
223 topWidget->setFixedHeight(60);
224 QHBoxLayout *topWidgetLayout =
new QHBoxLayout(topWidget);
225 topWidgetLayout->setContentsMargins(15, 10, 20, 10);
227 QLabel *pLabel =
new QLabel(tr(
"Screen Saver"), topWidget);
228 QFont pLabelFont = pLabel->font();
229 pLabelFont.setPixelSize(20);
230 pLabel->setFont(pLabelFont);
233 QLabel *iLabel =
new QLabel(tr(
"Popular singers spend your leisure time with you"), topWidget);
234 QFont iLabelFont = iLabel->font();
235 iLabelFont.setPixelSize(15);
236 iLabel->setFont(iLabelFont);
239 QLabel *wLabel =
new QLabel(tr(
"Wait"), topWidget);
240 QLabel *mLabel =
new QLabel(tr(
"Min"), topWidget);
256 topWidgetLayout->addWidget(pLabel);
257 topWidgetLayout->addWidget(iLabel);
258 topWidgetLayout->addStretch(1);
259 topWidgetLayout->addWidget(wLabel);
261 topWidgetLayout->addWidget(mLabel);
263 topWidget->setLayout(topWidgetLayout);
264 mainLayout->addWidget(topWidget);
266 QFrame *frame =
new QFrame(mainWidget);
267 frame->setFixedHeight(1);
268 frame->setFrameShape(QFrame::HLine);
269 frame->setFrameShadow(QFrame::Plain);
271 mainLayout->addWidget(frame);
273 QWidget *functionWidget =
new QWidget(mainWidget);
274 QHBoxLayout *functionWidgetLayout =
new QHBoxLayout(functionWidget);
275 functionWidgetLayout->setContentsMargins(10, 10, 10, 10);
276 functionWidget->setLayout(functionWidgetLayout);
277 mainLayout->addWidget(functionWidget);
303 QVector<bool> statusVector;
307 const QStringList items(value.split(
";"));
309 for(
const QString &item :
qAsConst(items))
311 const QStringList itemStatus(item.split(
","));
312 if(itemStatus.count() == 2)
314 const int index = itemStatus[0].toInt();
315 const bool status = itemStatus[1].toInt();
316 statusVector[index] = status;
362 if(index < 0 || index >= statusVector.count())
374 statusVector[index] = status;
377 for(
int i = 0; i < statusVector.count(); ++i)
379 items << QString(
"%1,%2").arg(i).arg(statusVector[i]);
391 MusicDownloadQueueDataList datas;
392 for(
int index = 0; index <
SS_COUNT; ++index)
396 QDir().mkpath(prefix);
425 setWindowFlags(Qt::Window | Qt::FramelessWindowHint | Qt::WindowStaysOnTopHint);
435 qApp->installEventFilter(
this);
489 QVector<int> intVector;
490 for(
int index = 0; index <
SS_COUNT; ++index)
492 if(statusVector[index])
498 if(!intVector.isEmpty())
500 const int index = intVector[
TTK::random(intVector.count())];
512 if(event->type()== QEvent::MouseButtonPress ||
event->type()== QEvent::MouseButtonRelease ||
513 event->type()== QEvent::MouseButtonDblClick ||
event->type()== QEvent::MouseMove ||
514 event->type()== QEvent::KeyPress ||
event->type()== QEvent::KeyRelease)
531 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)
void addQueue(const MusicDownloadQueueDataList &datas) noexcept
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 QRect currentGeometry()
static const QString ColorStyle02
The class of the label transition animation.
static constexpr const char * ScreenItemEnable
static const QString BackgroundStyle01
Background.
QPushButton * m_enableButton
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.