#include "Ux/SelectView.h"
#include "Logs/Model/NumberLogProvider.h"
+#include <system_settings.h>
+
namespace Ui
{
class Genlist;
* @param[in] number Number
*/
explicit DetailsView(const char *number);
+ virtual ~DetailsView() override;
private:
virtual Evas_Object *onCreate(Evas_Object *parent) override;
bool onSelected(Ux::SelectResults results);
bool onCanceled();
+ void onTimeFormatChanged(system_settings_key_e key);
void onLogGroupInserted(Model::LogGroup *group);
void onGroupChanged(Model::LogGroup *group, List::LogGroupItem *groupItem, int type);
void onLogAdded(Model::Log *log);
#include "Ux/SelectItem.h"
+#define PART_LOG_TIME "elm.text"
+
namespace Logs
{
namespace Model
#include "Common/Strings.h"
#include "App/Path.h"
+#include "System/Settings.h"
#include "Ui/Genlist.h"
#include "Ui/Menu.h"
+#include "Utils/Callback.h"
#include <algorithm>
using namespace Logs::List;
using namespace Ux;
+using namespace System;
using namespace std::placeholders;
DetailsView::DetailsView(const char *number)
setSelectCallback(std::bind(&DetailsView::onSelected, this, _1));
setCancelCallback(std::bind(&DetailsView::onCanceled, this));
+
+ Settings::addCallback(SYSTEM_SETTINGS_KEY_LOCALE_TIMEFORMAT_24HOUR,
+ { makeCallback(&DetailsView::onTimeFormatChanged), this });
+ Settings::addCallback(SYSTEM_SETTINGS_KEY_LOCALE_COUNTRY,
+ { makeCallback(&DetailsView::onTimeFormatChanged), this });
+}
+
+DetailsView::~DetailsView()
+{
+ Settings::removeCallback(SYSTEM_SETTINGS_KEY_LOCALE_TIMEFORMAT_24HOUR,
+ { makeCallback(&DetailsView::onTimeFormatChanged), this });
+ Settings::removeCallback(SYSTEM_SETTINGS_KEY_LOCALE_COUNTRY,
+ { makeCallback(&DetailsView::onTimeFormatChanged), this });
}
Evas_Object *DetailsView::onCreate(Evas_Object *parent)
return false;
}
+void DetailsView::onTimeFormatChanged(system_settings_key_e key)
+{
+ m_Genlist->update(PART_LOG_TIME, ELM_GENLIST_ITEM_FIELD_TEXT);
+}
+
void DetailsView::onLogGroupInserted(LogGroup *group)
{
if (m_Genlist) {
#define BUFFER_SIZE 64
#define LOG_TYPE_SIZE 45
-#define PART_LOG_TIME "elm.text"
#define PART_LOG_TYPE "elm.text.sub"
-
#define PART_LOG_TYPE_ICON "elm.swallow.icon"
#define PART_CHECK "elm.swallow.end"
#include "Logs/List/LogItem.h"
#include "Common/Strings.h"
+#include "System/Settings.h"
#include "Ui/Genlist.h"
#include "Ui/Menu.h"
#include "Ui/Navigator.h"
#define PHONE_APPID "org.tizen.phone"
using namespace Ux;
+using namespace System;
using namespace Logs::Model;
using namespace Logs::List;
using namespace std::placeholders;
strings.titleDefault = "IDS_LOGS_ITAB3_LOGS";
setStrings(strings);
- system_settings_set_changed_cb(SYSTEM_SETTINGS_KEY_LOCALE_TIMEFORMAT_24HOUR, makeCallbackWithLastParam(&LogsView::onSettingsChanged), this);
- system_settings_set_changed_cb(SYSTEM_SETTINGS_KEY_LOCALE_COUNTRY, makeCallbackWithLastParam(&LogsView::onSettingsChanged), this);
- system_settings_set_changed_cb(SYSTEM_SETTINGS_KEY_TIME_CHANGED, makeCallbackWithLastParam(&LogsView::onSettingsChanged), this);
+ Settings::addCallback(SYSTEM_SETTINGS_KEY_LOCALE_TIMEFORMAT_24HOUR,
+ { makeCallback(&LogsView::onSettingsChanged), this });
+ Settings::addCallback(SYSTEM_SETTINGS_KEY_LOCALE_COUNTRY,
+ { makeCallback(&LogsView::onSettingsChanged), this });
+ Settings::addCallback(SYSTEM_SETTINGS_KEY_TIME_CHANGED,
+ { makeCallback(&LogsView::onSettingsChanged), this });
}
LogsView::~LogsView()
{
- system_settings_unset_changed_cb(SYSTEM_SETTINGS_KEY_LOCALE_TIMEFORMAT_24HOUR);
- system_settings_unset_changed_cb(SYSTEM_SETTINGS_KEY_LOCALE_COUNTRY);
- system_settings_unset_changed_cb(SYSTEM_SETTINGS_KEY_TIME_CHANGED);
+ Settings::removeCallback(SYSTEM_SETTINGS_KEY_LOCALE_TIMEFORMAT_24HOUR,
+ { makeCallback(&LogsView::onSettingsChanged), this });
+ Settings::removeCallback(SYSTEM_SETTINGS_KEY_LOCALE_COUNTRY,
+ { makeCallback(&LogsView::onSettingsChanged), this });
+ Settings::removeCallback(SYSTEM_SETTINGS_KEY_TIME_CHANGED,
+ { makeCallback(&LogsView::onSettingsChanged), this });
}
Evas_Object *LogsView::onCreate(Evas_Object *parent)