mirror of https://gitee.com/openkylin/peony.git
Fix trash file not update to gsettings change issue,link to bug#136022.
This commit is contained in:
parent
83f5562cb0
commit
2702becdfb
|
@ -173,8 +173,7 @@ void RecentAndTrashPropertiesPage::init()
|
|||
nullptr,
|
||||
nullptr);
|
||||
|
||||
QString deletion_date = g_file_info_get_attribute_as_string(info, G_FILE_ATTRIBUTE_TRASH_DELETION_DATE);
|
||||
deletion_date = deletion_date.replace("T", " ");
|
||||
QString deletion_date = m_fileInfo->deletionDate();
|
||||
quint64 delete_width = FIXED_ROW_WIDTH - delete_label->fontMetrics().width(tr("Deletion Date: "));
|
||||
delete_label->setText(label->fontMetrics().elidedText(deletion_date, Qt::ElideMiddle, delete_width));
|
||||
delete_label->setWordWrap(true);
|
||||
|
@ -182,28 +181,15 @@ void RecentAndTrashPropertiesPage::init()
|
|||
if (QGSettings::isSchemaInstalled("org.ukui.control-center.panel.plugins")) {
|
||||
QGSettings *settings = new QGSettings("org.ukui.control-center.panel.plugins", "", this);
|
||||
connect(settings, &QGSettings::changed, this, [=](const QString &key) {
|
||||
if(key == "date") {
|
||||
QString current_text = delete_label->text();
|
||||
QString new_date_type = settings->get("date").toString();
|
||||
//cn : 1999/11/11
|
||||
//en : 1999-11-11
|
||||
if ((new_date_type == "cn") && current_text.contains("-")) {
|
||||
delete_label->setText(current_text.replace("-", "/"));
|
||||
|
||||
} else if ((new_date_type == "en") && current_text.contains("/")) {
|
||||
delete_label->setText(current_text.replace("/", "-"));
|
||||
}
|
||||
if(key == "date" || "hoursystem" == key) {
|
||||
QDateTime deleteTime = QDateTime::fromMSecsSinceEpoch(m_fileInfo->deletionTime (), Qt::LocalTime);
|
||||
QString format = GlobalSettings::getInstance()->getSystemTimeFormat();
|
||||
QString deletion_date = deleteTime.toString(format);
|
||||
quint64 delete_width = FIXED_ROW_WIDTH - delete_label->fontMetrics().width(tr("Deletion Date: "));
|
||||
delete_label->setText(label->fontMetrics().elidedText(deletion_date, Qt::ElideMiddle, delete_width));
|
||||
delete_label->setWordWrap(true);
|
||||
}
|
||||
});
|
||||
|
||||
QString current_text = delete_label->text();
|
||||
QString new_date_type = settings->get("date").toString();
|
||||
if ((new_date_type == "cn") && current_text.contains("-")) {
|
||||
delete_label->setText(current_text.replace("-", "/"));
|
||||
|
||||
} else if ((new_date_type == "en") && current_text.contains("/")) {
|
||||
delete_label->setText(current_text.replace("/", "-"));
|
||||
}
|
||||
}
|
||||
|
||||
g_object_unref(info);
|
||||
|
|
|
@ -411,12 +411,12 @@ void FileInfoJob::refreshInfoContents(GFileInfo *new_info)
|
|||
|
||||
if (g_file_info_has_attribute(new_info, "trash::deletion-date"))
|
||||
{
|
||||
QString deletionDate = g_file_info_get_attribute_as_string(new_info, G_FILE_ATTRIBUTE_TRASH_DELETION_DATE);
|
||||
info->m_deletion_date = deletionDate.replace("T", " ");
|
||||
|
||||
QDateTime dateTime = QDateTime::fromString (deletionDate, "yyyy-MM-dd HH:mm:ss");
|
||||
|
||||
info->m_deletion_date_uint64 = dateTime.toMSecsSinceEpoch ();
|
||||
QString deletionDate = g_file_info_get_attribute_as_string(new_info, G_FILE_ATTRIBUTE_TRASH_DELETION_DATE);
|
||||
info->m_deletion_date = deletionDate.replace("T", " ");
|
||||
QDateTime dateTime = QDateTime::fromString (deletionDate, "yyyy-MM-dd HH:mm:ss");
|
||||
info->m_deletion_date_uint64 = dateTime.toMSecsSinceEpoch ();
|
||||
date = QDateTime::fromMSecsSinceEpoch(info->m_deletion_date_uint64);
|
||||
info->m_deletion_date = date.toString(systemTimeFormat);
|
||||
}
|
||||
if (g_file_info_has_attribute(new_info, G_FILE_ATTRIBUTE_TRASH_ORIG_PATH)) {
|
||||
auto origPath = g_file_info_get_attribute_byte_string(new_info, G_FILE_ATTRIBUTE_TRASH_ORIG_PATH);
|
||||
|
|
Loading…
Reference in New Issue