mirror of
				https://gitlab.com/comunic/comunicmessages
				synced 2025-11-04 12:14:05 +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