mirror of
https://github.com/iDescriptor/iDescriptor.git
synced 2026-06-22 03:45:51 +08:00
feat: recognize recovery devices & add heic support
- Added RecoveryDeviceSidebarItem class for managing recovery devices in the sidebar. - Unified device selection structure with DeviceSelection to handle normal, recovery, and pending devices. - Updated DeviceSidebarWidget to support adding and removing recovery devices. - Refactored sidebar navigation and selection handling to accommodate new device types. refactor: Enhance Disk Usage Widget UI - Improved styling and layout of disk usage bars for better visual representation. - Removed unnecessary paint event override and adjusted layout settings. - Added object names for easier styling and debugging. fix: Update File Explorer Widget for AFC2 Support - Integrated a stacked widget to switch between normal and AFC2 explorers. - Simplified sidebar setup and item handling for better maintainability. - Connected sidebar item clicks to switch between AFC explorers. feat: Implement InfoLabel for Copying Text - Created InfoLabel class to display text that can be copied to the clipboard. - Added hover effects and temporary text change on copy action. chore: Clean up Unused Code and Comments - Removed commented-out code and unnecessary forward declarations across multiple files. - Streamlined includes and improved code readability. fix: Improve Recovery Device Info Widget - Updated RecoveryDeviceInfoWidget to display device information more clearly. - Added error handling for recovery mode exit operations with user feedback. feat: Add Responsive QLabel for Image Display - Introduced ResponsiveQLabel to handle responsive image scaling in the UI. - Replaced static image display with responsive label in JailbrokenWidget for better adaptability.
This commit is contained in:
@@ -0,0 +1,58 @@
|
||||
#include "infolabel.h"
|
||||
#include <QApplication>
|
||||
#include <QClipboard>
|
||||
#include <QMouseEvent>
|
||||
|
||||
InfoLabel::InfoLabel(const QString &text, QWidget *parent)
|
||||
: QLabel(text, parent), m_originalText(text)
|
||||
{
|
||||
setCursor(Qt::PointingHandCursor);
|
||||
setStyleSheet("QLabel:hover { background-color: rgba(255, 255, 255, 0.1); "
|
||||
"border-radius: 2px; }");
|
||||
|
||||
m_restoreTimer = new QTimer(this);
|
||||
m_restoreTimer->setSingleShot(true);
|
||||
connect(m_restoreTimer, &QTimer::timeout, this,
|
||||
&InfoLabel::restoreOriginalText);
|
||||
}
|
||||
|
||||
void InfoLabel::mousePressEvent(QMouseEvent *event)
|
||||
{
|
||||
if (event->button() == Qt::LeftButton) {
|
||||
QClipboard *clipboard = QApplication::clipboard();
|
||||
clipboard->setText(m_originalText);
|
||||
|
||||
setText("Copied!");
|
||||
setStyleSheet("QLabel { color: #4CAF50; font-weight: bold; } "
|
||||
"QLabel:hover { background-color: rgba(255, 255, 255, "
|
||||
"0.1); border-radius: 2px; }");
|
||||
|
||||
m_restoreTimer->start(1000); // Show "Copied!" for 1 second
|
||||
}
|
||||
QLabel::mousePressEvent(event);
|
||||
}
|
||||
|
||||
void InfoLabel::enterEvent(QEnterEvent *event)
|
||||
{
|
||||
if (!m_restoreTimer->isActive()) {
|
||||
setStyleSheet("QLabel:hover { background-color: rgba(255, 255, 255, "
|
||||
"0.1); border-radius: 2px; }");
|
||||
}
|
||||
QLabel::enterEvent(event);
|
||||
}
|
||||
|
||||
void InfoLabel::leaveEvent(QEvent *event)
|
||||
{
|
||||
if (!m_restoreTimer->isActive()) {
|
||||
setStyleSheet("QLabel:hover { background-color: rgba(255, 255, 255, "
|
||||
"0.1); border-radius: 2px; }");
|
||||
}
|
||||
QLabel::leaveEvent(event);
|
||||
}
|
||||
|
||||
void InfoLabel::restoreOriginalText()
|
||||
{
|
||||
setText(m_originalText);
|
||||
setStyleSheet("QLabel:hover { background-color: rgba(255, 255, 255, 0.1); "
|
||||
"border-radius: 2px; }");
|
||||
}
|
||||
Reference in New Issue
Block a user