summaryrefslogtreecommitdiff
path: root/worldtime/options.cpp
diff options
context:
space:
mode:
author(no author) <(no author)@4f64403b-2f21-0410-a795-97e2b3489a10>2010-04-05 05:44:52 +0000
committer(no author) <(no author)@4f64403b-2f21-0410-a795-97e2b3489a10>2010-04-05 05:44:52 +0000
commit9a8ea65ccec0256ecda95581edd69c8d91020867 (patch)
treea6614ace0f554686f44e11af80390a98977ce0bc /worldtime/options.cpp
parent70ee49c6aa80f3dd35078321fc4807fcd55353fc (diff)
Added x64 port
Converted to Unicode Reduced size git-svn-id: https://server.scottellis.com.au/svn/mim_plugs@494 4f64403b-2f21-0410-a795-97e2b3489a10
Diffstat (limited to 'worldtime/options.cpp')
-rw-r--r--worldtime/options.cpp110
1 files changed, 55 insertions, 55 deletions
diff --git a/worldtime/options.cpp b/worldtime/options.cpp
index 1d991a0..2b646e8 100644
--- a/worldtime/options.cpp
+++ b/worldtime/options.cpp
@@ -3,26 +3,33 @@
//#include "commctrl.h"
void save_listbox_items() {
- DBWriteContactSettingDword(0, "WorldTime", "NumEntries", listbox_items.size());
+ DBWriteContactSettingDword(0, "WorldTime", "NumEntries", listbox_items.getCount());
int index = 0;
- for(ITEMLIST::iterator i = listbox_items.begin(); i != listbox_items.end(); i++, index++) {
- std::ostringstream p1, p2, p3, p4, p5;
-
- p1 << "Label" << index;
- p2 << "Index" << index;
- p3 << "Sunrise" << index;
- p4 << "Sunset" << index;
- p5 << "TZName" << index;
-
- DBWriteContactSettingString(0, "WorldTime", p1.str().c_str(), i->pszText);
- DBWriteContactSettingDword(0, "WorldTime", p2.str().c_str(), i->timezone_list_index);
- DBWriteContactSettingDword(0, "WorldTime", p3.str().c_str(), i->sunrise.wHour * 60 + i->sunrise.wMinute);
- DBWriteContactSettingDword(0, "WorldTime", p4.str().c_str(), i->sunset.wHour * 60 + i->sunset.wMinute);
- DBWriteContactSettingString(0, "WorldTime", p5.str().c_str(), timezone_list[i->timezone_list_index].tcName);
+ for(int i = 0; i < listbox_items.getCount(); i++, index++) {
+ char p1[20], p2[20], p3[20], p4[20], p5[20];
+
+ mir_snprintf(p1, SIZEOF(p1), "Label%d", i);
+ mir_snprintf(p2, SIZEOF(p2), "Index%d", i);
+ mir_snprintf(p3, SIZEOF(p3), "Sunrise%d", i);
+ mir_snprintf(p4, SIZEOF(p4), "Sunset%d", i);
+ mir_snprintf(p5, SIZEOF(p5), "TZName%d", i);
+
+ DBWriteContactSettingTString(0, "WorldTime", p1, listbox_items[i].pszText);
+ DBWriteContactSettingDword(0, "WorldTime", p2, listbox_items[i].timezone_list_index);
+ DBWriteContactSettingDword(0, "WorldTime", p3, listbox_items[i].sunrise.wHour * 60 + listbox_items[i].sunrise.wMinute);
+ DBWriteContactSettingDword(0, "WorldTime", p4, listbox_items[i].sunset.wHour * 60 + listbox_items[i].sunset.wMinute);
+ DBWriteContactSettingTString(0, "WorldTime", p5, timezone_list[listbox_items[i].timezone_list_index].tcName);
}
DBWriteContactSettingWord(0, "WorldTime", "DataVersion", 1);
}
+void copy_listbox_items(ITEMLIST &dest, ITEMLIST &src)
+{
+ dest.destroy();
+ for (int i=0; i < src.getCount(); ++i)
+ dest.insert(new LISTITEM(src[i]));
+}
+
void set_minmax(bool mm) {
hook_window_behaviour_to_clist = mm;
if(hook_window_behaviour_to_clist) {
@@ -41,12 +48,12 @@ void set_set_format(bool sf) {
set_format = sf;
}
-void set_time_format(const char *sf) {
- strncpy(format_string, sf, 512);
+void set_time_format(const TCHAR *sf) {
+ _tcsncpy(format_string, sf, 512);
}
-void set_date_format(const char *sf) {
- strncpy(date_format_string, sf, 512);
+void set_date_format(const TCHAR *sf) {
+ _tcsncpy(date_format_string, sf, 512);
}
void set_show_icons(bool si) {
@@ -57,24 +64,23 @@ void set_hide_menu(bool hm) {
hide_menu = hm;
}
-ITEMLIST temp_listbox_items;
+ITEMLIST temp_listbox_items(5);
-void fill_timezone_list_control(HWND hwndDlg) {
- int index = 0;
-
+void fill_timezone_list_control(HWND hwndDlg)
+{
HWND hw = GetDlgItem(hwndDlg, IDC_LIST_TIMES);
SendMessage(hw, LB_RESETCONTENT, 0, 0);
if(IsDlgButtonChecked(hwndDlg, IDC_RAD_ALPHA)) {
- for(TimeList::iterator i = timezone_list.begin(); i != timezone_list.end(); i++, index++) {
- SendMessage(hw, LB_INSERTSTRING, (WPARAM)-1, (LPARAM)i->tcName);
- SendMessage(hw, LB_SETITEMDATA, (WPARAM)index, (LPARAM)i->list_index);
+ for(int i = 0; i < timezone_list.getCount(); i++) {
+ SendMessage(hw, LB_INSERTSTRING, (WPARAM)-1, (LPARAM)timezone_list[i].tcName);
+ SendMessage(hw, LB_SETITEMDATA, (WPARAM)i, (LPARAM)timezone_list[i].list_index);
}
} else {
- for(TimeList::iterator i = geo_timezone_list.begin(); i != geo_timezone_list.end(); i++, index++) {
- SendMessage(hw, LB_INSERTSTRING, (WPARAM)-1, (LPARAM)i->tcName);
- SendMessage(hw, LB_SETITEMDATA, (WPARAM)index, (LPARAM)i->list_index);
+ for(int i = 0; i < geo_timezone_list.getCount(); i++) {
+ SendMessage(hw, LB_INSERTSTRING, (WPARAM)-1, (LPARAM)timezone_list[i].tcName);
+ SendMessage(hw, LB_SETITEMDATA, (WPARAM)i, (LPARAM)timezone_list[i].list_index);
}
}
}
@@ -82,10 +88,10 @@ void fill_timezone_list_control(HWND hwndDlg) {
LISTITEM add_edit_item;
-static BOOL CALLBACK DlgProcOpts2(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam) {
+static INT_PTR CALLBACK DlgProcOpts2(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam) {
HWND hw;
int sel;
- char buf[MAX_NAME_LENGTH];
+ TCHAR buf[MAX_NAME_LENGTH];
switch ( msg ) {
case WM_INITDIALOG:
@@ -152,8 +158,8 @@ static BOOL CALLBACK DlgProcOpts2(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM
case IDC_ED_LABEL:
GetDlgItemText(hwndDlg, IDC_ED_LABEL, buf, MAX_NAME_LENGTH);
hw = GetDlgItem(hwndDlg, IDOK);
- EnableWindow(hw, (strlen(buf) > 0));
- strncpy(add_edit_item.pszText, buf, MAX_NAME_LENGTH);
+ EnableWindow(hw, (_tcslen(buf) > 0));
+ _tcsncpy(add_edit_item.pszText, buf, MAX_NAME_LENGTH);
}
}
@@ -196,10 +202,10 @@ static BOOL CALLBACK DlgProcOpts2(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM
return FALSE;
}
-static BOOL CALLBACK DlgProcOpts(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam) {
+static INT_PTR CALLBACK DlgProcOpts(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam) {
HWND hw;
- int sel, index;
+ int sel;
DBVARIANT dbv;
switch ( msg ) {
@@ -218,12 +224,11 @@ static BOOL CALLBACK DlgProcOpts(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM l
SendMessage(GetDlgItem(hwndDlg, IDC_SP_ROWHEIGHT), UDM_SETRANGE, 0, (LPARAM)MAKELONG(500, 6));
SendMessage(GetDlgItem(hwndDlg, IDC_SP_ROWHEIGHT), UDM_SETPOS, 0, DBGetContactSettingWord(NULL, "WorldTime", "RowHeight", GetSystemMetrics(SM_CYSMICON)));
- temp_listbox_items = listbox_items;
+ copy_listbox_items(temp_listbox_items, listbox_items);
hw = GetDlgItem(hwndDlg, IDC_LIST_TIMES2);
- index = 0;
- for(ITEMLIST::iterator ili = temp_listbox_items.begin(); ili != temp_listbox_items.end(); ili++, index++) {
- sel = SendMessage(hw, LB_INSERTSTRING, (WPARAM)-1, (LPARAM)&ili->pszText);
+ for(int ili = 0; ili < temp_listbox_items.getCount(); ili++) {
+ sel = SendMessage(hw, LB_INSERTSTRING, (WPARAM)-1, (LPARAM)&temp_listbox_items[ili].pszText);
}
if(!ServiceExists(MS_CLIST_FRAMES_ADDFRAME)) {
@@ -243,12 +248,12 @@ static BOOL CALLBACK DlgProcOpts(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM l
bool show_icons = (DBGetContactSettingByte(NULL, "WorldTime", "ShowIcons", 1) == 1);
CheckDlgButton(hwndDlg, IDC_CHK_ICONS, show_icons ? 1 : 0);
DBVARIANT dbv;
- if(!DBGetContactSetting(NULL, "WorldTime", "TimeFormat", &dbv))
- strcpy(format_string, dbv.pszVal);
+ if(!DBGetContactSettingTString(NULL, "WorldTime", "TimeFormat", &dbv))
+ _tcscpy(format_string, dbv.ptszVal);
DBFreeVariant(&dbv);
SetDlgItemText(hwndDlg, IDC_ED_FORMAT, format_string);
- if(!DBGetContactSetting(NULL, "WorldTime", "DateFormat", &dbv))
- strcpy(date_format_string, dbv.pszVal);
+ if(!DBGetContactSettingTString(NULL, "WorldTime", "DateFormat", &dbv))
+ _tcscpy(date_format_string, dbv.ptszVal);
DBFreeVariant(&dbv);
SetDlgItemText(hwndDlg, IDC_ED_DATE_FORMAT, date_format_string);
@@ -332,7 +337,7 @@ static BOOL CALLBACK DlgProcOpts(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM l
add_edit_item.timezone_list_index = -1;
if(DialogBox(hInst, MAKEINTRESOURCE(IDD_DIALOG2), hwndDlg, DlgProcOpts2) == IDOK) {
- temp_listbox_items.push_back(add_edit_item);
+ temp_listbox_items.insert(new LISTITEM(add_edit_item));
hw = GetDlgItem(hwndDlg, IDC_LIST_TIMES2);
sel = SendMessage(hw, LB_INSERTSTRING, (WPARAM)-1, (LPARAM)add_edit_item.pszText);
@@ -343,7 +348,7 @@ static BOOL CALLBACK DlgProcOpts(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM l
hw = GetDlgItem(hwndDlg, IDC_BTN_EDIT);
EnableWindow(hw, TRUE);
- sel = temp_listbox_items.size() - 1;
+ sel = temp_listbox_items.getCount() - 1;
hw = GetDlgItem(hwndDlg, IDC_BTN_UP);
EnableWindow(hw, (sel > 0));
hw = GetDlgItem(hwndDlg, IDC_LIST_TIMES2);
@@ -361,12 +366,7 @@ static BOOL CALLBACK DlgProcOpts(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM l
if(sel != LB_ERR) {
SendMessage(hw, LB_DELETESTRING, (WPARAM)sel, 0);
- {
- ITEMLIST::iterator i = temp_listbox_items.begin();
- for(int j = 0; j < sel; j++)
- i++;
- temp_listbox_items.erase(i);
- }
+ temp_listbox_items.remove(sel);
hw = GetDlgItem(hwndDlg, IDC_BTN_REM);
EnableWindow(hw, FALSE);
@@ -475,16 +475,16 @@ static BOOL CALLBACK DlgProcOpts(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM l
DBWriteContactSettingByte(NULL, "WorldTime", "HideMenu", new_hide_menu ? 1 : 0);
set_hide_menu(new_hide_menu);
- char buf[512];
+ TCHAR buf[512];
GetDlgItemText(hwndDlg, IDC_ED_FORMAT, buf, 512);
- DBWriteContactSettingString(NULL, "WorldTime", "TimeFormat", buf);
+ DBWriteContactSettingTString(NULL, "WorldTime", "TimeFormat", buf);
set_time_format(buf);
GetDlgItemText(hwndDlg, IDC_ED_DATE_FORMAT, buf, 512);
- DBWriteContactSettingString(NULL, "WorldTime", "DateFormat", buf);
+ DBWriteContactSettingTString(NULL, "WorldTime", "DateFormat", buf);
set_date_format(buf);
- listbox_items = temp_listbox_items;
+ copy_listbox_items(listbox_items, temp_listbox_items);
save_listbox_items();
if(!ServiceExists(MS_FONT_REGISTER)) {