mirror of
https://gitlab.com/comunic/comunicmessages
synced 2025-06-20 00:45:17 +00:00
Display the list of conversations.
This commit is contained in:
46
utils/timeutils.cpp
Normal file
46
utils/timeutils.cpp
Normal file
@ -0,0 +1,46 @@
|
||||
#include <QDateTime>
|
||||
|
||||
#include "timeutils.h"
|
||||
|
||||
TimeUtils::TimeUtils()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
QString TimeUtils::TimeDiffToString(qint64 time)
|
||||
{
|
||||
qint64 diffTime = QDateTime::currentSecsSinceEpoch() - time;
|
||||
|
||||
if(diffTime < 60)
|
||||
return QObject::tr("%1s ago").arg(diffTime);
|
||||
|
||||
diffTime = diffTime/60;
|
||||
if(diffTime < 60)
|
||||
return QObject::tr("%1m ago").arg(diffTime);
|
||||
|
||||
diffTime = diffTime/60;
|
||||
if(diffTime < 24)
|
||||
return QObject::tr("%1h ago").arg(diffTime);
|
||||
|
||||
diffTime = diffTime/24;
|
||||
if(diffTime < 30){
|
||||
if(diffTime == 1)
|
||||
return QObject::tr("1 day ago");
|
||||
else
|
||||
return QObject::tr("%1 days ago").arg(diffTime);
|
||||
}
|
||||
|
||||
diffTime = diffTime/30;
|
||||
if(diffTime < 12){
|
||||
if(diffTime == 1)
|
||||
return QObject::tr("1 month ago");
|
||||
else
|
||||
return QObject::tr("%1 months ago").arg(diffTime);
|
||||
}
|
||||
|
||||
diffTime = diffTime/12;
|
||||
if(diffTime == 1)
|
||||
return QObject::tr("1 year ago");
|
||||
else
|
||||
return QObject::tr("%1 years ago").arg(diffTime);
|
||||
}
|
27
utils/timeutils.h
Normal file
27
utils/timeutils.h
Normal file
@ -0,0 +1,27 @@
|
||||
/**
|
||||
* Time utilities
|
||||
*
|
||||
* @author Pierre HUBERT
|
||||
*/
|
||||
|
||||
#ifndef TIMEUTILS_H
|
||||
#define TIMEUTILS_H
|
||||
|
||||
#include <QObject>
|
||||
|
||||
class TimeUtils
|
||||
{
|
||||
public:
|
||||
TimeUtils();
|
||||
|
||||
/**
|
||||
* Turn a timestamp into a diff string, in order to
|
||||
* be shown to the user
|
||||
*
|
||||
* @param time The time to convert
|
||||
* @return Generated string
|
||||
*/
|
||||
static QString TimeDiffToString(qint64 time);
|
||||
};
|
||||
|
||||
#endif // TIMEUTILS_H
|
24
utils/uiutils.cpp
Normal file
24
utils/uiutils.cpp
Normal file
@ -0,0 +1,24 @@
|
||||
#include <QLayout>
|
||||
#include <QWidget>
|
||||
|
||||
#include "uiutils.h"
|
||||
|
||||
UiUtils::UiUtils()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
void UiUtils::emptyLayout(QLayout *layout)
|
||||
{
|
||||
while(layout->count() > 0){
|
||||
QLayoutItem *item = layout->itemAt(0);
|
||||
|
||||
if(item->layout() != nullptr)
|
||||
emptyLayout(item->layout());
|
||||
|
||||
if(item->widget() != nullptr)
|
||||
item->widget()->deleteLater();
|
||||
|
||||
layout->removeItem(item);
|
||||
}
|
||||
}
|
25
utils/uiutils.h
Normal file
25
utils/uiutils.h
Normal file
@ -0,0 +1,25 @@
|
||||
/**
|
||||
* UI utilities
|
||||
*
|
||||
* @author Pierre HUBERT
|
||||
*/
|
||||
|
||||
#ifndef UIUTILS_H
|
||||
#define UIUTILS_H
|
||||
|
||||
class QLayout;
|
||||
|
||||
class UiUtils
|
||||
{
|
||||
public:
|
||||
UiUtils();
|
||||
|
||||
/**
|
||||
* Remove all the items of a layout
|
||||
*
|
||||
* @param layout The layout to process
|
||||
*/
|
||||
static void emptyLayout(QLayout *layout);
|
||||
};
|
||||
|
||||
#endif // UIUTILS_H
|
Reference in New Issue
Block a user