mirror of
https://github.com/tuxbox-fork-migrations/recycled-ni-neutrino.git
synced 2025-08-29 00:11:08 +02:00
src/system/helpers.cpp: Add cutString() function
Origin commit data
------------------
Branch: ni/coolstream
Commit: 71674d0f8a
Author: Michael Liebmann <tuxcode.bbg@gmail.com>
Date: 2016-08-12 (Fri, 12 Aug 2016)
------------------
No further description and justification available within origin commit message!
------------------
This commit was generated by Migit
This commit is contained in:
@@ -438,6 +438,27 @@ std::string trim(std::string &str, const std::string &trimChars /*= " \n\r\t"*/)
|
|||||||
return result.erase(0, result.find_first_not_of(trimChars));
|
return result.erase(0, result.find_first_not_of(trimChars));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
std::string cutString(const std::string str, Font *msgFont, const int width)
|
||||||
|
{
|
||||||
|
std::string ret = str;
|
||||||
|
ret = trim(ret);
|
||||||
|
int sw = msgFont->getRenderWidth(ret);
|
||||||
|
if (sw <= width)
|
||||||
|
return ret;
|
||||||
|
else {
|
||||||
|
std::string z = "...";
|
||||||
|
int zw = msgFont->getRenderWidth(z);
|
||||||
|
if (width <= 2*zw)
|
||||||
|
return ret;
|
||||||
|
do {
|
||||||
|
ret = ret.substr(0, ret.length()-1);
|
||||||
|
sw = msgFont->getRenderWidth(ret);
|
||||||
|
} while (sw+zw > width);
|
||||||
|
ret = trim(ret) + z;
|
||||||
|
}
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
std::string strftime(const char *format, const struct tm *tm)
|
std::string strftime(const char *format, const struct tm *tm)
|
||||||
{
|
{
|
||||||
char buf[4096];
|
char buf[4096];
|
||||||
|
@@ -37,6 +37,8 @@
|
|||||||
#include <sys/stat.h>
|
#include <sys/stat.h>
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
|
|
||||||
|
#include <driver/fontrenderer.h>
|
||||||
|
|
||||||
int my_system(const char * cmd);
|
int my_system(const char * cmd);
|
||||||
int my_system(int argc, const char *arg, ...); /* argc is number of arguments including command */
|
int my_system(int argc, const char *arg, ...); /* argc is number of arguments including command */
|
||||||
|
|
||||||
@@ -67,6 +69,7 @@ std::string getFileName(std::string &file);
|
|||||||
std::string getFileExt(std::string &file);
|
std::string getFileExt(std::string &file);
|
||||||
std::string getNowTimeStr(const char* format);
|
std::string getNowTimeStr(const char* format);
|
||||||
std::string trim(std::string &str, const std::string &trimChars = " \n\r\t");
|
std::string trim(std::string &str, const std::string &trimChars = " \n\r\t");
|
||||||
|
std::string cutString(const std::string str, Font *msgFont, const int width);
|
||||||
std::string strftime(const char *format, const struct tm *tm);
|
std::string strftime(const char *format, const struct tm *tm);
|
||||||
std::string strftime(const char *format, time_t when, bool gm = false);
|
std::string strftime(const char *format, time_t when, bool gm = false);
|
||||||
time_t toEpoch(std::string &date);
|
time_t toEpoch(std::string &date);
|
||||||
|
Reference in New Issue
Block a user