summaryrefslogtreecommitdiff
path: root/worldtime/plugwin.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'worldtime/plugwin.cpp')
-rw-r--r--worldtime/plugwin.cpp14
1 files changed, 12 insertions, 2 deletions
diff --git a/worldtime/plugwin.cpp b/worldtime/plugwin.cpp
index 48bb576..569f1bb 100644
--- a/worldtime/plugwin.cpp
+++ b/worldtime/plugwin.cpp
@@ -820,19 +820,29 @@ void load_listbox_items() {
int num = DBGetContactSettingDword(0, "WorldTime", "NumEntries", 0);
for(int i = 0; i < num; i++) {
LISTITEM li = {0};
- std::ostringstream p1, p2, p3, p4;
+ std::ostringstream p1, p2, p3, p4, p5;
p1 << "Label" << i;
p2 << "Index" << i;
p3 << "Sunrise" << i;
p4 << "Sunset" << i;
+ p5 << "TZName" << i;
DBVARIANT dbv;
DBGetContactSetting(0, "WorldTime", p1.str().c_str(), &dbv);
strncpy(li.pszText, dbv.pszVal, MAX_NAME_LENGTH);
DBFreeVariant(&dbv);
- li.timezone_list_index = (int)DBGetContactSettingDword(0, "WorldTime", p2.str().c_str(), 0);
+ if(!DBGetContactSetting(0, "WorldTime", p5.str().c_str(), &dbv)) {
+ for(TimeList::iterator j = timezone_list.begin(); j != timezone_list.end(); j++) {
+ if(!strcmp(j->tcName, dbv.pszVal)) {
+ li.timezone_list_index = j->list_index;
+ break;
+ }
+ }
+ DBFreeVariant(&dbv);
+ } else
+ li.timezone_list_index = (int)DBGetContactSettingDword(0, "WorldTime", p2.str().c_str(), 0);
GetSystemTime(&li.sunrise);
GetSystemTime(&li.sunset);