mirror of
https://github.com/chibicitiberiu/rainmeter-studio.git
synced 2024-02-24 04:33:31 +00:00
Replaced dialog resources with control template
Also fixed tabbing in dialogs.
This commit is contained in:
parent
37aee6921e
commit
3d6132811f
49
Common/ControlTemplate.cpp
Normal file
49
Common/ControlTemplate.cpp
Normal file
@ -0,0 +1,49 @@
|
||||
/*
|
||||
Copyright (C) 2012 Birunthan Mohanathas
|
||||
|
||||
This program is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public License
|
||||
as published by the Free Software Foundation; either version 2
|
||||
of the License, or (at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
|
||||
#include "ControlTemplate.h"
|
||||
|
||||
namespace ControlTemplate
|
||||
{
|
||||
|
||||
void CreateControls(const Control* cts, UINT ctCount, HWND parent, HFONT font, GetStringFunc getString)
|
||||
{
|
||||
for (UINT i = 0; i < ctCount; ++i)
|
||||
{
|
||||
const Control& ct = cts[i];
|
||||
|
||||
WCHAR* text = ct.textId ? getString(ct.textId) : NULL;
|
||||
|
||||
RECT r = { ct.x, ct.y, ct.w, ct.h };
|
||||
MapDialogRect(parent, &r);
|
||||
|
||||
HWND wnd = CreateWindowEx(
|
||||
ct.exStyle,
|
||||
ct.name,
|
||||
text,
|
||||
ct.style,
|
||||
r.left, r.top, r.right, r.bottom,
|
||||
parent,
|
||||
(HMENU)ct.id,
|
||||
NULL,
|
||||
NULL);
|
||||
SendMessage(wnd, WM_SETFONT, (WPARAM)font, FALSE);
|
||||
}
|
||||
}
|
||||
|
||||
} // namespace ControlTemplate
|
89
Common/ControlTemplate.h
Normal file
89
Common/ControlTemplate.h
Normal file
@ -0,0 +1,89 @@
|
||||
/*
|
||||
Copyright (C) 2012 Birunthan Mohanathas
|
||||
|
||||
This program is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public License
|
||||
as published by the Free Software Foundation; either version 2
|
||||
of the License, or (at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
|
||||
#ifndef RM_COMMON_CONTROLTEMPLATE_H_
|
||||
#define RM_COMMON_CONTROLTEMPLATE_H_
|
||||
|
||||
#include <Windows.h>
|
||||
|
||||
namespace ControlTemplate
|
||||
{
|
||||
|
||||
struct Control
|
||||
{
|
||||
const WCHAR* name;
|
||||
WORD id;
|
||||
WORD textId;
|
||||
short x;
|
||||
short y;
|
||||
short w;
|
||||
short h;
|
||||
DWORD style;
|
||||
DWORD exStyle;
|
||||
};
|
||||
|
||||
typedef WCHAR* (*GetStringFunc)(UINT id);
|
||||
|
||||
void CreateControls(const Control* cts, UINT ctCount, HWND parent, HFONT font, GetStringFunc getString);
|
||||
|
||||
// Helpers to declare control structs.
|
||||
#define CT_ITEM(name, id, textId, x, y, w, h, style, exStyle) \
|
||||
{ name, id, textId, x, y, w, h, WS_CHILD | style, exStyle }
|
||||
|
||||
#define CT_BUTTON(id, textId, x, y, w, h, style, exStyle) \
|
||||
CT_ITEM(L"Button", id, textId, x, y, w, h, BS_PUSHBUTTON | style, exStyle)
|
||||
|
||||
#define CT_CHECKBOX(id, textId, x, y, w, h, style, exStyle) \
|
||||
CT_ITEM(L"Button", id, textId, x, y, w, h, BS_AUTOCHECKBOX | style, exStyle)
|
||||
|
||||
#define CT_COMBOBOX(id, textId, x, y, w, h, style, exStyle) \
|
||||
CT_ITEM(L"ComboBox", id, textId, x, y, w, h, style, exStyle)
|
||||
|
||||
#define CT_EDIT(id, textId, x, y, w, h, style, exStyle) \
|
||||
CT_ITEM(L"Edit", id, textId, x, y, w, h, ES_LEFT | style, exStyle)
|
||||
|
||||
#define CT_GROUPBOX(id, textId, x, y, w, h, style, exStyle) \
|
||||
CT_ITEM(L"Button", id, textId, x, y, w, h, BS_GROUPBOX | style, exStyle)
|
||||
|
||||
#define CT_ICON(id, textId, x, y, w, h, style, exStyle) \
|
||||
CT_ITEM(L"Static", id, textId, x, y, w, h, SS_ICON | style, exStyle)
|
||||
|
||||
#define CT_LABEL(id, textId, x, y, w, h, style, exStyle) \
|
||||
CT_ITEM(L"Static", id, textId, x, y, w, h, SS_LEFT | style, exStyle)
|
||||
|
||||
#define CT_LINEH(id, textId, x, y, w, h, style, exStyle) \
|
||||
CT_ITEM(L"Static", id, textId, x, y, w, h, SS_ETCHEDHORZ | style, exStyle)
|
||||
|
||||
#define CT_LINKLABEL(id, textId, x, y, w, h, style, exStyle) \
|
||||
CT_ITEM(L"SysLink", id, textId, x, y, w, h, style, exStyle)
|
||||
|
||||
#define CT_LISTBOX(id, textId, x, y, w, h, style, exStyle) \
|
||||
CT_ITEM(L"ListBox", id, textId, x, y, w, h, style, exStyle)
|
||||
|
||||
#define CT_LISTVIEW(id, textId, x, y, w, h, style, exStyle) \
|
||||
CT_ITEM(L"SysListView32", id, textId, x, y, w, h, style, exStyle)
|
||||
|
||||
#define CT_TAB(id, textId, x, y, w, h, style, exStyle) \
|
||||
CT_ITEM(L"SysTabControl32", id, textId, x, y, w, h, TCS_TABS | style, exStyle)
|
||||
|
||||
#define CT_TREEVIEW(id, textId, x, y, w, h, style, exStyle) \
|
||||
CT_ITEM(L"SysTreeView32", id, textId, x, y, w, h, style, exStyle)
|
||||
|
||||
} // namespace ControlTemplate
|
||||
|
||||
#endif
|
254
Common/Dialog.cpp
Normal file
254
Common/Dialog.cpp
Normal file
@ -0,0 +1,254 @@
|
||||
/*
|
||||
Copyright (C) 2012 Birunthan Mohanathas
|
||||
|
||||
This program is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public License
|
||||
as published by the Free Software Foundation; either version 2
|
||||
of the License, or (at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
|
||||
#include "Dialog.h"
|
||||
#include <Commctrl.h>
|
||||
#include <Uxtheme.h>
|
||||
|
||||
HWND CDialog::c_ActiveDialogWindow = NULL;
|
||||
|
||||
//
|
||||
// CBaseDialog
|
||||
//
|
||||
|
||||
CBaseDialog::CBaseDialog() :
|
||||
m_Window()
|
||||
{
|
||||
}
|
||||
|
||||
/*
|
||||
** Create (if not already) and show the dialog.
|
||||
**
|
||||
*/
|
||||
void CBaseDialog::Show(const WCHAR* title, short x, short y, short w, short h, DWORD style, DWORD exStyle, HWND parent)
|
||||
{
|
||||
if (m_Window)
|
||||
{
|
||||
// Show existing window.
|
||||
ShowWindow(m_Window, SW_SHOW);
|
||||
SetForegroundWindow(m_Window);
|
||||
return;
|
||||
}
|
||||
|
||||
const WCHAR* font = L"MS Shell Dlg 2";
|
||||
const size_t titleSize = (wcslen(title) + 1) * sizeof(WCHAR);
|
||||
const size_t fontSize = (wcslen(font) + 1) * sizeof(WCHAR);
|
||||
|
||||
const size_t dataSize = sizeof(DLGTEMPLATE) +
|
||||
sizeof(WCHAR) + // Menu array.
|
||||
sizeof(WCHAR) + // Class array.
|
||||
titleSize + // Title array.
|
||||
sizeof(WORD) + // Font point size.
|
||||
fontSize; // Font array.
|
||||
|
||||
DLGTEMPLATE* dt = (DLGTEMPLATE*)new BYTE[dataSize];
|
||||
dt->style = style | DS_SHELLFONT | WS_VISIBLE;
|
||||
dt->dwExtendedStyle = exStyle;
|
||||
dt->cdit = 0;
|
||||
dt->x = x;
|
||||
dt->y = y;
|
||||
dt->cx = w;
|
||||
dt->cy = h;
|
||||
|
||||
BYTE* dtExtra = (BYTE*)dt + sizeof(DLGTEMPLATE);
|
||||
|
||||
// Menu array.
|
||||
*(WCHAR*)dtExtra = L'\0';
|
||||
dtExtra += sizeof(WCHAR);
|
||||
|
||||
// Class array.
|
||||
*(WCHAR*)dtExtra = L'\0';
|
||||
dtExtra += sizeof(WCHAR);
|
||||
|
||||
// Title array.
|
||||
memcpy(dtExtra, title, titleSize);
|
||||
dtExtra += titleSize;
|
||||
|
||||
// Font point size.
|
||||
*(WORD*)dtExtra = 8;
|
||||
dtExtra += sizeof(WORD);
|
||||
|
||||
// Font array.
|
||||
memcpy(dtExtra, font, fontSize);
|
||||
|
||||
CreateDialogIndirectParam(NULL, dt, parent, InitialDlgProc, (LPARAM)this);
|
||||
|
||||
delete [] dt;
|
||||
}
|
||||
|
||||
void CBaseDialog::CreateControls(const ControlTemplate::Control* cts, UINT ctCount, HFONT font, ControlTemplate::GetStringFunc getString)
|
||||
{
|
||||
ControlTemplate::CreateControls(cts, ctCount, m_Window, font, getString);
|
||||
}
|
||||
|
||||
INT_PTR CALLBACK CBaseDialog::InitialDlgProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
|
||||
{
|
||||
if (uMsg == WM_INITDIALOG)
|
||||
{
|
||||
CBaseDialog* dialog = (CBaseDialog*)lParam;
|
||||
dialog->m_Window = hWnd;
|
||||
SetWindowLongPtr(hWnd, DWLP_USER, (LONG_PTR)dialog);
|
||||
SetWindowLongPtr(hWnd, DWLP_DLGPROC, (LONG_PTR)MainDlgProc);
|
||||
return dialog->HandleMessage(uMsg, wParam, lParam);
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
INT_PTR CALLBACK CBaseDialog::MainDlgProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
|
||||
{
|
||||
CBaseDialog* dialog = (CBaseDialog*)GetWindowLongPtr(hWnd, DWLP_USER);
|
||||
return dialog->HandleMessage(uMsg, wParam, lParam);
|
||||
}
|
||||
|
||||
//
|
||||
// CDialog
|
||||
//
|
||||
|
||||
CDialog::CDialog() : CBaseDialog(),
|
||||
m_Font(),
|
||||
m_FontBold()
|
||||
{
|
||||
NONCLIENTMETRICS ncm;
|
||||
ncm.cbSize = sizeof(NONCLIENTMETRICS) - sizeof(ncm.iPaddedBorderWidth);
|
||||
SystemParametersInfo(SPI_GETNONCLIENTMETRICS, sizeof(NONCLIENTMETRICS), &ncm, 0);
|
||||
m_Font = CreateFontIndirect(&ncm.lfMenuFont);
|
||||
ncm.lfMenuFont.lfWeight = FW_BOLD;
|
||||
ncm.lfMenuFont.lfHeight -= 2;
|
||||
m_FontBold = CreateFontIndirect(&ncm.lfMenuFont);
|
||||
}
|
||||
|
||||
CDialog::~CDialog()
|
||||
{
|
||||
DestroyWindow(m_Window);
|
||||
DeleteObject(m_Font);
|
||||
DeleteObject(m_FontBold);
|
||||
}
|
||||
|
||||
void CDialog::ShowDialogWindow(const WCHAR* title, short x, short y, short w, short h, DWORD style, DWORD exStyle, HWND parent)
|
||||
{
|
||||
Show(title, x, y, w, h, style, exStyle, parent);
|
||||
}
|
||||
|
||||
INT_PTR CDialog::OnActivate(WPARAM wParam, LPARAM lParam)
|
||||
{
|
||||
c_ActiveDialogWindow = wParam ? m_Window : NULL;
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
bool CDialog::HandleMessage(MSG& msg)
|
||||
{
|
||||
if (c_ActiveDialogWindow)
|
||||
{
|
||||
if (IsDialogMessage(c_ActiveDialogWindow, &msg))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/*
|
||||
** Subclass button control to draw arrow on the right.
|
||||
**
|
||||
*/
|
||||
void CDialog::SetMenuButton(HWND button)
|
||||
{
|
||||
SetWindowSubclass(button, MenuButtonProc, NULL, NULL);
|
||||
}
|
||||
|
||||
LRESULT CALLBACK CDialog::MenuButtonProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam, UINT_PTR uIdSubclass, DWORD_PTR dwRefData)
|
||||
{
|
||||
LRESULT result = DefSubclassProc(hWnd, uMsg, wParam, lParam);
|
||||
|
||||
switch (uMsg)
|
||||
{
|
||||
case WM_PAINT:
|
||||
{
|
||||
// Draw arrow on top of the button
|
||||
RECT buttonRect;
|
||||
GetClientRect(hWnd, &buttonRect);
|
||||
int arrowX = buttonRect.right - 18;
|
||||
int arrowY = buttonRect.top + 4;
|
||||
RECT arrowRect = { arrowX, arrowY, arrowX + 14, arrowY + 14 };
|
||||
|
||||
HDC dc = GetDC(hWnd);
|
||||
const WORD DFCS_MENUARROWDOWN = 0x0010; // Undocumented
|
||||
DWORD drawFlags = DFCS_TRANSPARENT | DFCS_MENUARROWDOWN | (IsWindowEnabled(hWnd) ? 0 : DFCS_INACTIVE);
|
||||
DrawFrameControl(dc, &arrowRect, DFC_MENU, drawFlags);
|
||||
ReleaseDC(hWnd, dc);
|
||||
}
|
||||
break;
|
||||
|
||||
case WM_GETTEXT:
|
||||
{
|
||||
// Append 3 spaces to the button text to move text to the left so
|
||||
// that it looks better with BS_CENTER.
|
||||
WCHAR* str = (WCHAR*)lParam + result;
|
||||
str[0] = str[1] = str[2] = L' ';
|
||||
str[3] = '\0';
|
||||
result += 3;
|
||||
}
|
||||
break;
|
||||
|
||||
case WM_GETTEXTLENGTH:
|
||||
result += 3;
|
||||
break;
|
||||
|
||||
case WM_NCDESTROY:
|
||||
RemoveWindowSubclass(hWnd, MenuButtonProc, uIdSubclass);
|
||||
break;
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
//
|
||||
// CTab
|
||||
//
|
||||
|
||||
CDialog::CTab::CTab() : CBaseDialog(),
|
||||
m_Initialized(false)
|
||||
{
|
||||
}
|
||||
|
||||
void CDialog::CTab::CreateTabWindow(short x, short y, short w, short h, HWND owner)
|
||||
{
|
||||
const DWORD style = DS_CONTROL | WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS;
|
||||
const DWORD exStyle = WS_EX_CONTROLPARENT;
|
||||
Show(L"", x, y, w, h, style, exStyle, owner);
|
||||
|
||||
EnableThemeDialogTexture(m_Window, ETDT_ENABLETAB);
|
||||
}
|
||||
|
||||
CDialog::CTab::~CTab()
|
||||
{
|
||||
DestroyWindow(m_Window);
|
||||
}
|
||||
|
||||
void CDialog::CTab::Activate()
|
||||
{
|
||||
if (!m_Initialized)
|
||||
{
|
||||
Initialize();
|
||||
}
|
||||
|
||||
EnableWindow(m_Window, TRUE);
|
||||
BringWindowToTop(m_Window);
|
||||
}
|
94
Common/Dialog.h
Normal file
94
Common/Dialog.h
Normal file
@ -0,0 +1,94 @@
|
||||
/*
|
||||
Copyright (C) 2012 Birunthan Mohanathas
|
||||
|
||||
This program is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public License
|
||||
as published by the Free Software Foundation; either version 2
|
||||
of the License, or (at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
|
||||
#ifndef RM_COMMON_DIALOG_H_
|
||||
#define RM_COMMON_DIALOG_H_
|
||||
|
||||
#include <Windows.h>
|
||||
#include "ControlTemplate.h"
|
||||
|
||||
// Shared base class for CDialog and CTab.
|
||||
class CBaseDialog
|
||||
{
|
||||
protected:
|
||||
CBaseDialog();
|
||||
virtual ~CBaseDialog() {}
|
||||
|
||||
void Show(const WCHAR* title, short x, short y, short w, short h, DWORD style, DWORD exStyle, HWND parent);
|
||||
|
||||
void CreateControls(const ControlTemplate::Control* cts, UINT ctCount, HFONT font, ControlTemplate::GetStringFunc getString);
|
||||
|
||||
virtual INT_PTR HandleMessage(UINT uMsg, WPARAM wParam, LPARAM lParam) { return FALSE; }
|
||||
|
||||
HWND m_Window;
|
||||
|
||||
private:
|
||||
CBaseDialog(const CBaseDialog& r);
|
||||
|
||||
static INT_PTR CALLBACK InitialDlgProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam);
|
||||
static INT_PTR CALLBACK MainDlgProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam);
|
||||
};
|
||||
|
||||
class CDialog : public CBaseDialog
|
||||
{
|
||||
public:
|
||||
HWND GetWindow() { return m_Window; }
|
||||
|
||||
static bool HandleMessage(MSG& msg);
|
||||
|
||||
protected:
|
||||
class CTab : public CBaseDialog
|
||||
{
|
||||
public:
|
||||
HWND GetWindow() { return m_Window; }
|
||||
bool IsInitialized() { return m_Initialized; }
|
||||
void Activate();
|
||||
|
||||
virtual void Initialize() {}
|
||||
virtual void Resize(int w, int h) {}
|
||||
|
||||
protected:
|
||||
CTab();
|
||||
virtual ~CTab();
|
||||
|
||||
void CreateTabWindow(short x, short y, short w, short h, HWND owner);
|
||||
|
||||
bool m_Initialized;
|
||||
};
|
||||
|
||||
CDialog();
|
||||
virtual ~CDialog();
|
||||
|
||||
void ShowDialogWindow(const WCHAR* title, short x, short y, short w, short h, DWORD style, DWORD exStyle, HWND parent);
|
||||
|
||||
INT_PTR OnActivate(WPARAM wParam, LPARAM lParam);
|
||||
|
||||
static void SetMenuButton(HWND button);
|
||||
|
||||
HFONT m_Font;
|
||||
HFONT m_FontBold;
|
||||
|
||||
private:
|
||||
CDialog(const CDialog& r);
|
||||
|
||||
static LRESULT CALLBACK MenuButtonProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam, UINT_PTR uIdSubclass, DWORD_PTR dwRefData);
|
||||
|
||||
static HWND c_ActiveDialogWindow;
|
||||
};
|
||||
|
||||
#endif
|
@ -10,168 +10,15 @@
|
||||
#define STR_ISRTL "0"
|
||||
#endif
|
||||
|
||||
|
||||
#define MAKESTRING2(num) #num
|
||||
#define MAKESTRING(num) MAKESTRING2(num)
|
||||
|
||||
#define STR_NUM_BUTTONWIDTH MAKESTRING(NUM_BUTTONWIDTH)
|
||||
#define STR_NUM_LABELWIDTH MAKESTRING(NUM_LABELWIDTH)
|
||||
|
||||
LANGUAGE LANG_ENGLISH, SUBLANG_DEFAULT
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Dialog
|
||||
//
|
||||
|
||||
IDD_ABOUT_DIALOG DIALOGEX 0, 0, 400, 210
|
||||
STYLE DS_CENTER | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME
|
||||
EXSTYLE DIALOG_EXSTYLE_FLAGS
|
||||
CAPTION STR_ABOUTRAINMETER
|
||||
FONT 8, "MS Shell Dlg 2", 0, 0, 0x0
|
||||
{
|
||||
CONTROL "", IDC_ABOUT_TAB, "SysTabControl32", TCS_TABS | TCS_FIXEDWIDTH, 6, 6, 388, 181
|
||||
DEFPUSHBUTTON STR_CLOSE, IDCLOSE, 344, 191, 50, 14
|
||||
}
|
||||
|
||||
IDD_ABOUTLOG_DIALOG DIALOGEX 15, 30, 370, 148
|
||||
STYLE DS_CONTROL | WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS
|
||||
FONT 8, "MS Shell Dlg 2", 0, 0, 0x0
|
||||
{
|
||||
CONTROL "", IDC_ABOUTLOG_ITEMS_LISTVIEW, "SysListView32", LVS_ICON | LVS_REPORT | LVS_SINGLESEL | LVS_NOSORTHEADER | WS_BORDER | WS_TABSTOP, 0, 0, 368, 135
|
||||
AUTOCHECKBOX STR_ERROR, IDC_ABOUTLOG_ERROR_CHECKBOX, 0, 139, 70, 9
|
||||
AUTOCHECKBOX STR_WARNING, IDC_ABOUTLOG_WARNING_CHECKBOX, 70, 139, 70, 9
|
||||
AUTOCHECKBOX STR_NOTICE, IDC_ABOUTLOG_NOTICE_CHECKBOX, 140, 139, 70, 9
|
||||
AUTOCHECKBOX STR_DEBUG, IDC_ABOUTLOG_DEBUG_CHECKBOX, 210, 139, 70, 9
|
||||
}
|
||||
|
||||
IDD_ABOUTSKINS_DIALOG DIALOGEX 15, 30, 370, 148
|
||||
STYLE DS_CONTROL | WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS
|
||||
FONT 8, "MS Shell Dlg 2", 0, 0, 0x0
|
||||
{
|
||||
LISTBOX IDC_ABOUTSKINS_ITEMS_LISTBOX, 0, 0, 120, 148, LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_HSCROLL | WS_TABSTOP
|
||||
CONTROL "", IDC_ABOUTSKINS_ITEMS_LISTVIEW, "SysListView32", LVS_REPORT | LVS_SINGLESEL | LVS_NOSORTHEADER | WS_BORDER | WS_TABSTOP, 125, 0, 242, 148
|
||||
}
|
||||
|
||||
IDD_ABOUTPLUGINS_DIALOG DIALOGEX 15, 30, 370, 148
|
||||
STYLE DS_CONTROL | WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS
|
||||
FONT 8, "MS Shell Dlg 2", 0, 0, 0x0
|
||||
{
|
||||
CONTROL "", IDC_ABOUTPLUGINS_ITEMS_LISTVIEW, "SysListView32", LVS_REPORT | LVS_SINGLESEL | LVS_NOSORTHEADER | WS_BORDER | WS_TABSTOP, 0, 0, 368, 148
|
||||
}
|
||||
|
||||
IDD_ABOUTVERSION_DIALOG DIALOGEX 15, 30, 370, 148
|
||||
STYLE DS_CONTROL | WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS
|
||||
FONT 8, "MS Shell Dlg 2", 0, 0, 0x0
|
||||
{
|
||||
CONTROL 0, IDC_ABOUTVERSION_RAINMETER_ICON, STATIC, SS_ICON | WS_CHILD | WS_VISIBLE, 0, 8, 24, 24
|
||||
LTEXT "", IDC_ABOUTVERSION_VERSION_TEXT, 28, 0, 300, 9
|
||||
CONTROL STR_GETLATESTVERSION, IDC_STATIC, "SysLink", 0x0, 28, 13, 300, 9
|
||||
CONTROL STR_COPYRIGHTNOTICE, IDC_STATIC, "SysLink", 0x0, 28, 26, 300, 9
|
||||
LTEXT "", IDC_ABOUTVERSION_PATH_TEXT, 0, 43, 360, 9, SS_ENDELLIPSIS | SS_NOPREFIX
|
||||
LTEXT "", IDC_ABOUTVERSION_INIFILE_TEXT, 0, 56, 360, 9, SS_ENDELLIPSIS | SS_NOPREFIX
|
||||
LTEXT "", IDC_ABOUTVERSION_SKINPATH_TEXT, 0, 69, 360, 9, SS_ENDELLIPSIS | SS_NOPREFIX
|
||||
PUSHBUTTON STR_COPYTOCLIPBOARD, IDC_ABOUTVERSION_COPY_BUTTON, 0, 85, NUM_BUTTONWIDTH + 25, 14, WS_TABSTOP
|
||||
}
|
||||
|
||||
IDD_MANAGE_DIALOG DIALOGEX 0, 0, 500, 322
|
||||
STYLE DS_CENTER | WS_MINIMIZEBOX | WS_POPUP | WS_CAPTION | WS_SYSMENU
|
||||
EXSTYLE DIALOG_EXSTYLE_FLAGS
|
||||
CAPTION STR_MANAGERAINMETER
|
||||
FONT 8, "MS Shell Dlg 2", 0, 0, 0x0
|
||||
{
|
||||
CONTROL "", IDC_MANAGE_TAB, "SysTabControl32", TCS_TABS | TCS_FIXEDWIDTH, 6, 6, 488, 293
|
||||
PUSHBUTTON STR_REFRESHALL, IDC_MANAGE_REFRESHALL_BUTTON, 5, 303, NUM_BUTTONWIDTH, 14
|
||||
PUSHBUTTON STR_EDITSETTINGS, IDC_MANAGE_EDITSETTINGS_BUTTON, NUM_BUTTONWIDTH + 9, 303, NUM_BUTTONWIDTH, 14
|
||||
PUSHBUTTON STR_OPENLOG, IDC_MANAGE_OPENLOG_BUTTON, NUM_BUTTONWIDTH + NUM_BUTTONWIDTH + 13, 303, NUM_BUTTONWIDTH, 14
|
||||
PUSHBUTTON STR_HELP, IDC_MANAGE_HELP_BUTTON, 444 - 50 - 5, 303, 50, 14
|
||||
PUSHBUTTON STR_CLOSE, IDCLOSE, 444, 303, 50, 14
|
||||
}
|
||||
|
||||
IDD_MANAGESKINS_DIALOG DIALOGEX 15, 30, 470, 260
|
||||
STYLE DS_CONTROL | WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS
|
||||
FONT 8, "MS Shell Dlg 2", 0, 0, 0x0
|
||||
{
|
||||
PUSHBUTTON STR_ACTIVESKINS, IDC_MANAGESKINS_ACTIVESKINS_BUTTON, 0, 0, 146, 14, WS_TABSTOP
|
||||
CONTROL "", IDC_MANAGESKINS_SKINS_TREEVIEW, "SysTreeView32", TVS_HASBUTTONS | TVS_HASLINES | TVS_LINESATROOT | TVS_SHOWSELALWAYS | WS_BORDER | WS_VSCROLL, 0, 18, 145, 221
|
||||
PUSHBUTTON "Create .rmskin package...", IDC_MANAGESKINS_CREATEPACKAGE_BUTTON, 0, 244, 146, 14, WS_TABSTOP
|
||||
|
||||
LTEXT "N/A", IDC_MANAGESKINS_FILE_TEXT, 165, 0, 130, 14, SS_ENDELLIPSIS | SS_NOPREFIX
|
||||
LTEXT "N/A", IDC_MANAGESKINS_CONFIG_TEXT, 165, 16, 130, 9, SS_ENDELLIPSIS | SS_NOPREFIX
|
||||
PUSHBUTTON STR_LOAD, IDC_MANAGESKINS_LOAD_BUTTON, 310, 0, 50, 14, WS_DISABLED | WS_TABSTOP
|
||||
PUSHBUTTON STR_REFRESH, IDC_MANAGESKINS_REFRESH_BUTTON, 364, 0, 50, 14, WS_DISABLED | WS_TABSTOP
|
||||
PUSHBUTTON STR_EDIT, IDC_MANAGESKINS_EDIT_BUTTON, 418, 0, 50, 14, WS_DISABLED | WS_TABSTOP
|
||||
|
||||
LTEXT STR_AUTHORSC, IDC_STATIC, 165, 30, 80, 9
|
||||
LTEXT "", IDC_MANAGESKINS_AUTHOR_TEXT, 230, 30, 245, 9, SS_ENDELLIPSIS | SS_NOPREFIX
|
||||
LTEXT STR_VERSIONSC, IDC_STATIC, 165, 43, 80, 9
|
||||
LTEXT "", IDC_MANAGESKINS_VERSION_TEXT, 230, 43, 245, 9, SS_ENDELLIPSIS | SS_NOPREFIX
|
||||
LTEXT STR_LICENSESC, IDC_STATIC, 165, 56, 80, 9
|
||||
LTEXT "", IDC_MANAGESKINS_LICENSE_TEXT, 230, 56, 245, 9, SS_ENDELLIPSIS | SS_NOPREFIX
|
||||
LTEXT STR_INFORMATIONSC, IDC_STATIC, 165, 69, 80, 9
|
||||
EDITTEXT IDC_MANAGESKINS_DESCRIPTION_TEXT, 228, 69, 238, 64, ES_MULTILINE | ES_READONLY
|
||||
CONTROL STR_ADDMETADATA, IDC_MANAGESKINS_ADDMETADATA_LINK, "SysLink", NOT WS_VISIBLE, 165, 142, 150, 9
|
||||
|
||||
CONTROL "", IDC_STATIC, STATIC, SS_ETCHEDHORZ | WS_CHILD | WS_VISIBLE, 165, 156, 304, 1
|
||||
LTEXT STR_COORDINATESSC, IDC_STATIC, 165, 169, NUM_LABELWIDTH, 9
|
||||
EDITTEXT IDC_MANAGESKINS_X_TEXT, 165 + NUM_LABELWIDTH, 166, 38, 14, WS_BORDER | WS_TABSTOP | WS_DISABLED
|
||||
EDITTEXT IDC_MANAGESKINS_Y_TEXT, 165 + NUM_LABELWIDTH + 42, 166, 38, 14, WS_BORDER | WS_TABSTOP | WS_DISABLED
|
||||
LTEXT STR_POSITIONSC, IDC_STATIC, 165, 190, NUM_LABELWIDTH, 9
|
||||
COMBOBOX IDC_MANAGESKINS_ZPOSITION_COMBOBOX, 165 + NUM_LABELWIDTH, 187, 80, 14, CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP | WS_DISABLED
|
||||
LTEXT STR_LOADORDERSC, IDC_STATIC, 165, 208, NUM_LABELWIDTH, 9
|
||||
EDITTEXT IDC_MANAGESKINS_LOADORDER_TEXT, 165 + NUM_LABELWIDTH, 205, 80, 14, WS_BORDER | WS_TABSTOP | WS_DISABLED
|
||||
LTEXT STR_TRANSPARENCYSC, IDC_STATIC, 165, 229, NUM_LABELWIDTH, 9
|
||||
COMBOBOX IDC_MANAGESKINS_TRANSPARENCY_COMBOBOX, 165 + NUM_LABELWIDTH, 226, 80, 14, CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP | WS_DISABLED
|
||||
LTEXT STR_ONHOVERSC, IDC_STATIC, 165, 247, NUM_LABELWIDTH, 9
|
||||
COMBOBOX IDC_MANAGESKINS_ONHOVER_COMBOBOX, 165 + NUM_LABELWIDTH, 244, 80, 14, CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP | WS_DISABLED
|
||||
PUSHBUTTON STR_DISPLAYMONITOR, IDC_MANAGESKINS_DISPLAYMONITOR_BUTTON, 350, 166, 118, 14, WS_DISABLED | WS_TABSTOP
|
||||
AUTOCHECKBOX STR_DRAGGABLE, IDC_MANAGESKINS_DRAGGABLE_CHECKBOX, 350, 190, 118, 9, WS_DISABLED
|
||||
AUTOCHECKBOX STR_CLICKTHROUGH, IDC_MANAGESKINS_CLICKTHROUGH_CHECKBOX, 350, 203, 118, 9, WS_DISABLED
|
||||
AUTOCHECKBOX STR_KEEPONSCREEN, IDC_MANAGESKINS_KEEPONSCREEN_CHECKBOX, 350, 216, 118, 9, WS_DISABLED
|
||||
AUTOCHECKBOX STR_SAVEPOSITION, IDC_MANAGESKINS_SAVEPOSITION_CHECKBOX, 350, 229, 118, 9, WS_DISABLED
|
||||
AUTOCHECKBOX STR_SNAPTOEDGES, IDC_MANAGESKINS_SNAPTOEDGES_CHECKBOX, 350, 242, 118, 9, WS_DISABLED
|
||||
}
|
||||
|
||||
IDD_MANAGETHEMES_DIALOG DIALOGEX 15, 30, 470, 260
|
||||
STYLE DS_CONTROL | WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS
|
||||
FONT 8, "MS Shell Dlg 2", 0, 0, 0x0
|
||||
{
|
||||
GROUPBOX STR_SAVENEWTHEME, IDC_STATIC, 0, 0, 230, 150
|
||||
LTEXT STR_THEMEDESCRIPTION, IDC_STATIC, 6, 16, 205, 44
|
||||
AUTOCHECKBOX STR_SAVEASEMPTYTHEME, IDC_MANAGETHEMES_EMPTYTHEME_CHECKBOX, 6, 70, 220, 9, WS_TABSTOP
|
||||
AUTOCHECKBOX STR_EXCLUDEUNUSEDSKINS, IDC_MANAGETHEMES_UNUSEDSKINS_CHECKBOX, 6, 83, 220, 9, WS_TABSTOP
|
||||
AUTOCHECKBOX STR_INCLUDEWALLPAPER, IDC_MANAGETHEMES_WALLPAPER_CHECKBOX, 6, 96, 220, 9, WS_TABSTOP
|
||||
LTEXT STR_NAMESC, IDC_STATIC, 6, 115, 100, 9
|
||||
EDITTEXT IDC_MANAGETHEMES_NAME_TEXT, 6, 128, 162, 14, WS_BORDER | WS_TABSTOP
|
||||
PUSHBUTTON STR_SAVE, IDC_MANAGETHEMES_SAVE_BUTTON, 172, 128, 50, 14, WS_DISABLED | WS_TABSTOP
|
||||
|
||||
GROUPBOX STR_SAVEDTHEMES, IDC_STATIC, 238, 0, 230, 150
|
||||
LISTBOX IDC_MANAGETHEMES_LIST, 244, 16, 160, 125, LBS_STANDARD | LBS_NOINTEGRALHEIGHT
|
||||
PUSHBUTTON STR_LOAD, IDC_MANAGETHEMES_LOAD_BUTTON, 410, 16, 50, 14, WS_DISABLED
|
||||
PUSHBUTTON STR_DELETE, IDC_MANAGETHEMES_DELETE_BUTTON, 410, 34, 50, 14, WS_DISABLED
|
||||
PUSHBUTTON STR_EDIT, IDC_MANAGETHEMES_EDIT_BUTTON, 410, 52, 50, 14, WS_DISABLED
|
||||
|
||||
// GROUPBOX STR_BACKUP, IDC_STATIC, 0, 200, 468, 60
|
||||
// LTEXT STR_BACKUPDESCRIPTION, IDC_STATIC, 6, 216, 455, 34
|
||||
// PUSHBUTTON STR_BACKUPE, IDC_MANAGETHEMES_BACKUP_BUTTON, 460 - NUM_BUTTONWIDTH, 240, NUM_BUTTONWIDTH, 14
|
||||
}
|
||||
|
||||
IDD_MANAGESETTINGS_DIALOG DIALOGEX 15, 30, 470, 260
|
||||
STYLE DS_CONTROL | WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS
|
||||
FONT 8, "MS Shell Dlg 2", 0, 0, 0x0
|
||||
{
|
||||
GROUPBOX STR_GENERAL, IDC_STATIC, 0, 0, 468, 118
|
||||
LTEXT STR_LANGUAGESC, IDC_STATIC, 6, 16, 87, 14
|
||||
COMBOBOX IDC_MANAGESETTINGS_LANGUAGE_COMBOBOX, 87, 13, 222, 14, CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_TABSTOP
|
||||
//AUTOCHECKBOX "Run automatically at startup", IDC_MANAGESETTINGS_AUTOSTART_CHECKBOX, 6, 16, 140, 9, WS_DISABLED
|
||||
LTEXT "Editor:", IDC_STATIC, 6, 37, 87, 9
|
||||
EDITTEXT IDC_MANAGESETTINGS_CONFIGEDITOR_TEXT, 87, 34, 222, 14, ES_AUTOHSCROLL | ES_READONLY | WS_BORDER | WS_TABSTOP
|
||||
PUSHBUTTON "...", IDC_MANAGESETTINGS_CONFIGEDITOR_BUTTON, 313, 34, 25, 14, WS_TABSTOP
|
||||
AUTOCHECKBOX STR_CHECKFORUPDATES, IDC_MANAGESETTINGS_CHECKUPDATES_CHECKBOX, 6, 55, 150, 9
|
||||
AUTOCHECKBOX STR_DISABLEDRAGGING, IDC_MANAGESETTINGS_LOCKSKINS_CHECKBOX, 6, 68, 150, 9
|
||||
AUTOCHECKBOX "Show notification area icon", IDC_MANAGESETTINGS_TRAYICON_CHECKBOX, 6, 81, 150, 9
|
||||
PUSHBUTTON STR_RESETSTATISTICS, IDC_MANAGESETTINGS_RESETSTATISTICS_BUTTON, 6, 97, NUM_BUTTONWIDTH + 20, 14, WS_TABSTOP
|
||||
|
||||
GROUPBOX STR_LOGGING, IDC_STATIC, 0, 125, 468, 66
|
||||
AUTOCHECKBOX STR_DEBUGMODE, IDC_MANAGESETTINGS_VERBOSELOGGING_CHECKBOX, 6, 141, 200, 9
|
||||
AUTOCHECKBOX STR_LOGTOFILE, IDC_MANAGESETTINGS_LOGTOFILE_CHECKBOX, 6, 154, 200, 9
|
||||
PUSHBUTTON STR_SHOWLOGFILE, IDC_MANAGESETTINGS_SHOWLOGFILE_BUTTON, 6, 170, NUM_BUTTONWIDTH + 20, 14
|
||||
PUSHBUTTON STR_DELETELOGFILE, IDC_MANAGESETTINGS_DELETELOGFILE_BUTTON, NUM_BUTTONWIDTH + 30, 170, NUM_BUTTONWIDTH + 20, 14
|
||||
}
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// String Table
|
||||
@ -179,94 +26,18 @@ FONT 8, "MS Shell Dlg 2", 0, 0, 0x0
|
||||
|
||||
STRINGTABLE
|
||||
{
|
||||
ID_STR_NUM_BUTTONWIDTH, STR_NUM_BUTTONWIDTH
|
||||
ID_STR_NUM_LABELWIDTH, STR_NUM_LABELWIDTH
|
||||
ID_STR_ISRTL, STR_ISRTL
|
||||
ID_STR_UPDATEAVAILABLE, STR_UPDATEAVAILABLE
|
||||
ID_STR_LOG, STR_LOG
|
||||
ID_STR_MEASURES, STR_MEASURES
|
||||
ID_STR_PLUGINS, STR_PLUGINS
|
||||
ID_STR_VERSION, STR_VERSION
|
||||
ID_STR_TYPE, STR_TYPE
|
||||
ID_STR_TIME, STR_TIME
|
||||
ID_STR_MESSAGE, STR_MESSAGE
|
||||
ID_STR_NAME, STR_NAME
|
||||
ID_STR_RANGE, STR_RANGE
|
||||
ID_STR_VALUE, STR_VALUE
|
||||
ID_STR_AUTHOR, STR_AUTHOR
|
||||
ID_STR_MANAGERAINMETER, STR_MANAGERAINMETER
|
||||
ID_STR_SKINS, STR_SKINS
|
||||
ID_STR_THEMES, STR_THEMES
|
||||
ID_STR_SETTINGS, STR_SETTINGS
|
||||
ID_STR_STAYTOPMOST, STR_STAYTOPMOST
|
||||
ID_STR_TOPMOST, STR_TOPMOST
|
||||
ID_STR_NORMAL, STR_NORMAL
|
||||
ID_STR_BOTTOM, STR_BOTTOM
|
||||
ID_STR_ONDESKTOP, STR_ONDESKTOP
|
||||
ID_STR_DONOTHING, STR_DONOTHING
|
||||
ID_STR_HIDE, STR_HIDE
|
||||
ID_STR_FADEIN, STR_FADEIN
|
||||
ID_STR_FADEOUT, STR_FADEOUT
|
||||
ID_STR_LOAD, STR_LOAD
|
||||
ID_STR_UNLOAD, STR_UNLOAD
|
||||
ID_STR_COLLAPSE, STR_COLLAPSE
|
||||
ID_STR_SETTINGSNOTWRITABLE, STR_SETTINGSNOTWRITABLE
|
||||
ID_STR_SETTINGSMOVEFILE, STR_SETTINGSMOVEFILE
|
||||
ID_STR_SETTINGSREADONLY, STR_SETTINGSREADONLY
|
||||
ID_STR_THEMEALREADYEXISTS, STR_THEMEALREADYEXISTS
|
||||
ID_STR_THEMESAVEFAIL, STR_THEMESAVEFAIL
|
||||
ID_STR_THEMEDELETE, STR_THEMEDELETE
|
||||
ID_STR_VARIABLES, STR_VARIABLES
|
||||
ID_STR_LOGFILECREATEFAIL, STR_LOGFILECREATEFAIL
|
||||
ID_STR_LOGFILEDELETE, STR_LOGFILEDELETE
|
||||
ID_STR_NOAVAILABLESKINS, STR_NOAVAILABLESKINS
|
||||
ID_STR_UNABLETOACTIVATESKIN, STR_UNABLETOACTIVATESKIN
|
||||
ID_STR_UNABLETOREFRESHSKIN, STR_UNABLETOREFRESHSKIN
|
||||
ID_STR_NEWVERSIONREQUIRED, STR_NEWVERSIONREQUIRED
|
||||
ID_STR_NOMETERSINSKIN, STR_NOMETERSINSKIN
|
||||
ID_STR_INCLUDEINFINITELOOP, STR_INCLUDEINFINITELOOP
|
||||
ID_STR_ABOUTRAINMETER, STR_ABOUTRAINMETER
|
||||
ID_STR_WELCOME, STR_WELCOME
|
||||
ID_STR_CLICKTOMANAGE, STR_CLICKTOMANAGE
|
||||
ID_STR_CLICKTODOWNLOAD, STR_CLICKTODOWNLOAD
|
||||
ID_STR_VARIANTS, STR_VARIANTS
|
||||
ID_STR_POSITION, STR_POSITION
|
||||
ID_STR_DISPLAYMONITOR, STR_DISPLAYMONITOR
|
||||
ID_STR_USEDEFAULTMONITOR, STR_USEDEFAULTMONITOR
|
||||
ID_STR_VIRTUALSCREEN, STR_VIRTUALSCREEN
|
||||
ID_STR_AUTOSELECTMONITOR, STR_AUTOSELECTMONITOR
|
||||
ID_STR_FROMRIGHT, STR_FROMRIGHT
|
||||
ID_STR_FROMBOTTOM, STR_FROMBOTTOM
|
||||
ID_STR_XASPERCENTAGE, STR_XASPERCENTAGE
|
||||
ID_STR_YASPERCENTAGE, STR_YASPERCENTAGE
|
||||
ID_STR_TRANSPARENCY, STR_TRANSPARENCY
|
||||
ID_STR_HIDEONMOUSEOVER, STR_HIDEONMOUSEOVER
|
||||
ID_STR_DRAGGABLE, STR_DRAGGABLE
|
||||
ID_STR_SAVEPOSITION, STR_SAVEPOSITION
|
||||
ID_STR_SNAPTOEDGES, STR_SNAPTOEDGES
|
||||
ID_STR_CLICKTHROUGH, STR_CLICKTHROUGH
|
||||
ID_STR_KEEPONSCREEN, STR_KEEPONSCREEN
|
||||
ID_STR_MANAGESKIN, STR_MANAGESKIN
|
||||
ID_STR_EDITSKIN, STR_EDITSKIN
|
||||
ID_STR_REFRESHSKIN, STR_REFRESHSKIN
|
||||
ID_STR_UNLOADSKIN, STR_UNLOADSKIN
|
||||
ID_STR_REFRESH, STR_REFRESH
|
||||
ID_STR_EDIT, STR_EDIT
|
||||
ID_STR_EXPAND, STR_EXPAND
|
||||
ID_STR_OPENFOLDER, STR_OPENFOLDER
|
||||
ID_STR_DISABLEDRAGGING, STR_DISABLEDRAGGING
|
||||
ID_STR_0PERCENT, "0%"
|
||||
ID_STR_10PERCENT, "10%"
|
||||
ID_STR_20PERCENT, "20%"
|
||||
ID_STR_30PERCENT, "30%"
|
||||
ID_STR_40PERCENT, "40%"
|
||||
ID_STR_50PERCENT, "50%"
|
||||
ID_STR_60PERCENT, "60%"
|
||||
ID_STR_70PERCENT, "70%"
|
||||
ID_STR_80PERCENT, "80%"
|
||||
ID_STR_90PERCENT, "90%"
|
||||
ID_STR_MANAGE, STR_MANAGE
|
||||
ID_STR_ABOUT, STR_ABOUT
|
||||
ID_STR_HELP, STR_HELP
|
||||
ID_STR_SKINS, STR_SKINS
|
||||
ID_STR_NOSKINS, STR_NOSKINS
|
||||
ID_STR_OPENFOLDER, STR_OPENFOLDER
|
||||
ID_STR_DISABLEDRAGGING, STR_DISABLEDRAGGING
|
||||
ID_STR_THEMES, STR_THEMES
|
||||
ID_STR_NOTHEMES, STR_NOTHEMES
|
||||
ID_STR_EDITSETTINGS, STR_EDITSETTINGS
|
||||
ID_STR_REFRESHALL, STR_REFRESHALL
|
||||
@ -277,4 +48,123 @@ STRINGTABLE
|
||||
ID_STR_DELETELOGFILE, STR_DELETELOGFILE
|
||||
ID_STR_DEBUGMODE, STR_DEBUGMODE
|
||||
ID_STR_EXIT, STR_EXIT
|
||||
}
|
||||
ID_STR_VARIANTS, STR_VARIANTS
|
||||
ID_STR_SETTINGS, STR_SETTINGS
|
||||
ID_STR_POSITION, STR_POSITION
|
||||
ID_STR_DISPLAYMONITOR, STR_DISPLAYMONITOR
|
||||
ID_STR_USEDEFAULTMONITOR, STR_USEDEFAULTMONITOR
|
||||
ID_STR_VIRTUALSCREEN, STR_VIRTUALSCREEN
|
||||
ID_STR_AUTOSELECTMONITOR, STR_AUTOSELECTMONITOR
|
||||
ID_STR_STAYTOPMOST, STR_STAYTOPMOST
|
||||
ID_STR_TOPMOST, STR_TOPMOST
|
||||
ID_STR_NORMAL, STR_NORMAL
|
||||
ID_STR_BOTTOM, STR_BOTTOM
|
||||
ID_STR_ONDESKTOP, STR_ONDESKTOP
|
||||
ID_STR_FROMRIGHT, STR_FROMRIGHT
|
||||
ID_STR_FROMBOTTOM, STR_FROMBOTTOM
|
||||
ID_STR_XASPERCENTAGE, STR_XASPERCENTAGE
|
||||
ID_STR_YASPERCENTAGE, STR_YASPERCENTAGE
|
||||
ID_STR_TRANSPARENCY, STR_TRANSPARENCY
|
||||
ID_STR_0PERCENT, "0%"
|
||||
ID_STR_10PERCENT, "10%"
|
||||
ID_STR_20PERCENT, "20%"
|
||||
ID_STR_30PERCENT, "30%"
|
||||
ID_STR_40PERCENT, "40%"
|
||||
ID_STR_50PERCENT, "50%"
|
||||
ID_STR_60PERCENT, "60%"
|
||||
ID_STR_70PERCENT, "70%"
|
||||
ID_STR_80PERCENT, "80%"
|
||||
ID_STR_90PERCENT, "90%"
|
||||
ID_STR_FADEIN, STR_FADEIN
|
||||
ID_STR_FADEOUT, STR_FADEOUT
|
||||
ID_STR_HIDEONMOUSEOVER, STR_HIDEONMOUSEOVER
|
||||
ID_STR_DRAGGABLE, STR_DRAGGABLE
|
||||
ID_STR_SAVEPOSITION, STR_SAVEPOSITION
|
||||
ID_STR_SNAPTOEDGES, STR_SNAPTOEDGES
|
||||
ID_STR_CLICKTHROUGH, STR_CLICKTHROUGH
|
||||
ID_STR_KEEPONSCREEN, STR_KEEPONSCREEN
|
||||
ID_STR_MANAGESKIN, STR_MANAGESKIN
|
||||
ID_STR_EDITSKIN, STR_EDITSKIN
|
||||
ID_STR_REFRESHSKIN, STR_REFRESHSKIN
|
||||
ID_STR_UNLOADSKIN, STR_UNLOADSKIN
|
||||
ID_STR_CLOSE, STR_CLOSE
|
||||
ID_STR_ABOUTRAINMETER, STR_ABOUTRAINMETER
|
||||
ID_STR_LOG, STR_LOG
|
||||
ID_STR_MEASURES, STR_MEASURES
|
||||
ID_STR_VARIABLES, STR_VARIABLES
|
||||
ID_STR_PLUGINS, STR_PLUGINS
|
||||
ID_STR_VERSION, STR_VERSION
|
||||
ID_STR_TYPE, STR_TYPE
|
||||
ID_STR_TIME, STR_TIME
|
||||
ID_STR_MESSAGE, STR_MESSAGE
|
||||
ID_STR_NAME, STR_NAME
|
||||
ID_STR_RANGE, STR_RANGE
|
||||
ID_STR_VALUE, STR_VALUE
|
||||
ID_STR_AUTHOR, STR_AUTHOR
|
||||
ID_STR_ERROR, STR_ERROR
|
||||
ID_STR_WARNING, STR_WARNING
|
||||
ID_STR_NOTICE, STR_NOTICE
|
||||
ID_STR_DEBUG, STR_DEBUG
|
||||
ID_STR_GETLATESTVERSION, STR_GETLATESTVERSION
|
||||
ID_STR_COPYRIGHTNOTICE, STR_COPYRIGHTNOTICE
|
||||
ID_STR_COPYTOCLIPBOARD, STR_COPYTOCLIPBOARD
|
||||
ID_STR_MANAGERAINMETER, STR_MANAGERAINMETER
|
||||
ID_STR_ACTIVESKINS, STR_ACTIVESKINS
|
||||
ID_STR_EXPAND, STR_EXPAND
|
||||
ID_STR_COLLAPSE, STR_COLLAPSE
|
||||
ID_STR_OPENLOG, STR_OPENLOG
|
||||
ID_STR_LOAD, STR_LOAD
|
||||
ID_STR_UNLOAD, STR_UNLOAD
|
||||
ID_STR_REFRESH, STR_REFRESH
|
||||
ID_STR_EDIT, STR_EDIT
|
||||
ID_STR_AUTHORSC, STR_AUTHORSC
|
||||
ID_STR_VERSIONSC, STR_VERSIONSC
|
||||
ID_STR_LICENSESC, STR_LICENSESC
|
||||
ID_STR_INFORMATIONSC, STR_INFORMATIONSC
|
||||
ID_STR_ADDMETADATA, STR_ADDMETADATA
|
||||
ID_STR_COORDINATESSC, STR_COORDINATESSC
|
||||
ID_STR_POSITIONSC, STR_POSITIONSC
|
||||
ID_STR_LOADORDERSC, STR_LOADORDERSC
|
||||
ID_STR_TRANSPARENCYSC, STR_TRANSPARENCYSC
|
||||
ID_STR_ONHOVERSC, STR_ONHOVERSC
|
||||
ID_STR_DONOTHING, STR_DONOTHING
|
||||
ID_STR_HIDE, STR_HIDE
|
||||
ID_STR_SAVENEWTHEME, STR_SAVENEWTHEME
|
||||
ID_STR_THEMEDESCRIPTION, STR_THEMEDESCRIPTION
|
||||
ID_STR_SAVEASEMPTYTHEME, STR_SAVEASEMPTYTHEME
|
||||
ID_STR_EXCLUDEUNUSEDSKINS, STR_EXCLUDEUNUSEDSKINS
|
||||
ID_STR_INCLUDEWALLPAPER, STR_INCLUDEWALLPAPER
|
||||
ID_STR_NAMESC, STR_NAMESC
|
||||
ID_STR_SAVE, STR_SAVE
|
||||
ID_STR_SAVEDTHEMES, STR_SAVEDTHEMES
|
||||
ID_STR_DELETE, STR_DELETE
|
||||
// ID_STR_BACKUP, STR_BACKUP
|
||||
// ID_STR_BACKUPDESCRIPTION, STR_BACKUPDESCRIPTION
|
||||
// ID_STR_BACKUPE, STR_BACKUPE
|
||||
ID_STR_LANGUAGESC, STR_LANGUAGESC
|
||||
ID_STR_GENERAL, STR_GENERAL
|
||||
ID_STR_CHECKFORUPDATES, STR_CHECKFORUPDATES
|
||||
ID_STR_RESETSTATISTICS, STR_RESETSTATISTICS
|
||||
ID_STR_LOGTOFILE, STR_LOGTOFILE
|
||||
ID_STR_SETTINGSNOTWRITABLE, STR_SETTINGSNOTWRITABLE
|
||||
ID_STR_SETTINGSMOVEFILE, STR_SETTINGSMOVEFILE
|
||||
ID_STR_SETTINGSREADONLY, STR_SETTINGSREADONLY
|
||||
ID_STR_THEMEALREADYEXISTS, STR_THEMEALREADYEXISTS
|
||||
ID_STR_THEMESAVEFAIL, STR_THEMESAVEFAIL
|
||||
ID_STR_THEMEDELETE, STR_THEMEDELETE
|
||||
ID_STR_LOGFILECREATEFAIL, STR_LOGFILECREATEFAIL
|
||||
ID_STR_LOGFILEDELETE, STR_LOGFILEDELETE
|
||||
ID_STR_NOAVAILABLESKINS, STR_NOAVAILABLESKINS
|
||||
ID_STR_UNABLETOACTIVATESKIN, STR_UNABLETOACTIVATESKIN
|
||||
ID_STR_UNABLETOREFRESHSKIN, STR_UNABLETOREFRESHSKIN
|
||||
ID_STR_NEWVERSIONREQUIRED, STR_NEWVERSIONREQUIRED
|
||||
ID_STR_NOMETERSINSKIN, STR_NOMETERSINSKIN
|
||||
ID_STR_INCLUDEINFINITELOOP, STR_INCLUDEINFINITELOOP
|
||||
ID_STR_WELCOME, STR_WELCOME
|
||||
ID_STR_CLICKTOMANAGE, STR_CLICKTOMANAGE
|
||||
ID_STR_CLICKTODOWNLOAD, STR_CLICKTODOWNLOAD
|
||||
ID_STR_CREATERMSKINPACKAGE, "Create .rmskin package..."
|
||||
ID_STR_EDITORSC, "Editor:"
|
||||
ID_STR_ELLIPSIS, "..."
|
||||
ID_STR_SHOWNOTIFICATIONAREAICON, "Show notification area icon"
|
||||
}
|
||||
|
@ -26,8 +26,6 @@
|
||||
#include "DialogAbout.h"
|
||||
#include "../Version.h"
|
||||
|
||||
#define WM_DELAYED_CLOSE WM_APP + 0
|
||||
|
||||
extern CRainmeter* Rainmeter;
|
||||
|
||||
WINDOWPLACEMENT CDialogAbout::c_WindowPlacement = {0};
|
||||
@ -37,11 +35,7 @@ CDialogAbout* CDialogAbout::c_Dialog = NULL;
|
||||
** Constructor.
|
||||
**
|
||||
*/
|
||||
CDialogAbout::CDialogAbout(HWND wnd) : CDialog(wnd),
|
||||
m_TabLog(wnd),
|
||||
m_TabSkins(wnd),
|
||||
m_TabPlugins(wnd),
|
||||
m_TabVersion(wnd)
|
||||
CDialogAbout::CDialogAbout() : CDialog()
|
||||
{
|
||||
}
|
||||
|
||||
@ -53,6 +47,33 @@ CDialogAbout::~CDialogAbout()
|
||||
{
|
||||
}
|
||||
|
||||
/*
|
||||
** Opens the About dialog.
|
||||
**
|
||||
*/
|
||||
void CDialogAbout::Open(int tab)
|
||||
{
|
||||
if (!c_Dialog)
|
||||
{
|
||||
c_Dialog = new CDialogAbout();
|
||||
}
|
||||
|
||||
c_Dialog->ShowDialogWindow(
|
||||
GetString(ID_STR_ABOUTRAINMETER),
|
||||
0, 0, 400, 210,
|
||||
DS_CENTER | WS_POPUP | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME,
|
||||
WS_EX_APPWINDOW | WS_EX_CONTROLPARENT,
|
||||
Rainmeter->GetWindow());
|
||||
|
||||
// Fake WM_NOTIFY to change tab
|
||||
NMHDR nm;
|
||||
nm.code = TCN_SELCHANGE;
|
||||
nm.idFrom = Id_Tab;
|
||||
nm.hwndFrom = GetDlgItem(c_Dialog->m_Window, Id_Tab);
|
||||
TabCtrl_SetCurSel(nm.hwndFrom, tab);
|
||||
c_Dialog->OnNotify(0, (LPARAM)&nm);
|
||||
}
|
||||
|
||||
/*
|
||||
** Opens the About dialog by tab name.
|
||||
**
|
||||
@ -81,37 +102,6 @@ void CDialogAbout::Open(const WCHAR* name)
|
||||
Open(tab);
|
||||
}
|
||||
|
||||
/*
|
||||
** Opens the About dialog.
|
||||
**
|
||||
*/
|
||||
void CDialogAbout::Open(int tab)
|
||||
{
|
||||
if (!c_Dialog)
|
||||
{
|
||||
HINSTANCE instance = Rainmeter->GetResourceInstance();
|
||||
HWND owner = Rainmeter->GetWindow();
|
||||
if (!CreateDialog(instance, MAKEINTRESOURCE(IDD_ABOUT_DIALOG), owner, DlgProc)) return;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!IsZoomed(c_Dialog->m_Window))
|
||||
{
|
||||
ShowWindow(c_Dialog->m_Window, SW_SHOWNORMAL);
|
||||
}
|
||||
}
|
||||
|
||||
SetForegroundWindow(c_Dialog->m_Window);
|
||||
|
||||
// Fake WM_NOTIFY to change tab
|
||||
NMHDR nm;
|
||||
nm.code = TCN_SELCHANGE;
|
||||
nm.idFrom = IDC_ABOUT_TAB;
|
||||
nm.hwndFrom = GetDlgItem(c_Dialog->m_Window, IDC_ABOUT_TAB);
|
||||
TabCtrl_SetCurSel(nm.hwndFrom, tab);
|
||||
c_Dialog->OnNotify(0, (LPARAM)&nm);
|
||||
}
|
||||
|
||||
/*
|
||||
** Shows log if dialog isn't already open.
|
||||
**
|
||||
@ -150,7 +140,7 @@ void CDialogAbout::UpdateMeasures(CMeterWindow* meterWindow)
|
||||
|
||||
CDialog::CTab& CDialogAbout::GetActiveTab()
|
||||
{
|
||||
int sel = TabCtrl_GetCurSel(GetDlgItem(m_Window, IDC_ABOUT_TAB));
|
||||
int sel = TabCtrl_GetCurSel(GetDlgItem(m_Window, Id_Tab));
|
||||
if (sel == 0)
|
||||
{
|
||||
return m_TabLog;
|
||||
@ -169,84 +159,67 @@ CDialog::CTab& CDialogAbout::GetActiveTab()
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
** Dialog procedure for the About dialog.
|
||||
**
|
||||
*/
|
||||
INT_PTR CALLBACK CDialogAbout::DlgProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
|
||||
INT_PTR CDialogAbout::HandleMessage(UINT uMsg, WPARAM wParam, LPARAM lParam)
|
||||
{
|
||||
if (!c_Dialog)
|
||||
switch (uMsg)
|
||||
{
|
||||
if (uMsg == WM_INITDIALOG)
|
||||
case WM_INITDIALOG:
|
||||
return OnInitDialog(wParam, lParam);
|
||||
|
||||
case WM_ACTIVATE:
|
||||
return OnActivate(wParam, lParam);
|
||||
|
||||
case WM_COMMAND:
|
||||
return OnCommand(wParam, lParam);
|
||||
|
||||
case WM_NOTIFY:
|
||||
return OnNotify(wParam, lParam);
|
||||
|
||||
case WM_GETMINMAXINFO:
|
||||
{
|
||||
c_Dialog = new CDialogAbout(hWnd);
|
||||
return c_Dialog->OnInitDialog(wParam, lParam);
|
||||
MINMAXINFO* mmi = (MINMAXINFO*)lParam;
|
||||
mmi->ptMinTrackSize.x = 550;
|
||||
mmi->ptMinTrackSize.y = 350;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
switch (uMsg)
|
||||
return TRUE;
|
||||
|
||||
case WM_SIZE:
|
||||
{
|
||||
case WM_ACTIVATE:
|
||||
return c_Dialog->OnActivate(wParam, lParam);
|
||||
|
||||
case WM_COMMAND:
|
||||
return c_Dialog->OnCommand(wParam, lParam);
|
||||
|
||||
case WM_NOTIFY:
|
||||
return c_Dialog->OnNotify(wParam, lParam);
|
||||
|
||||
case WM_GETMINMAXINFO:
|
||||
if (wParam != SIZE_MINIMIZED)
|
||||
{
|
||||
MINMAXINFO* mmi = (MINMAXINFO*)lParam;
|
||||
mmi->ptMinTrackSize.x = 550;
|
||||
mmi->ptMinTrackSize.y = 350;
|
||||
int w = LOWORD(lParam);
|
||||
int h = HIWORD(lParam);
|
||||
RECT r;
|
||||
|
||||
HWND item = GetDlgItem(m_Window, Id_Tab);
|
||||
SetWindowPos(item, NULL, 0, 0, w - 18, h - 47, SWP_NOMOVE | SWP_NOZORDER);
|
||||
|
||||
item = GetDlgItem(m_Window, Id_CloseButton);
|
||||
GetClientRect(item, &r);
|
||||
SetWindowPos(item, NULL, w - r.right - 9, h - r.bottom - 8, 0, 0, SWP_NOSIZE | SWP_NOZORDER);
|
||||
|
||||
w -= 48;
|
||||
h -= 100;
|
||||
m_TabLog.Resize(w, h);
|
||||
m_TabSkins.Resize(w, h);
|
||||
m_TabPlugins.Resize(w, h);
|
||||
m_TabVersion.Resize(w, h);
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
return TRUE;
|
||||
|
||||
case WM_SIZE:
|
||||
{
|
||||
if (wParam != SIZE_MINIMIZED)
|
||||
{
|
||||
int w = LOWORD(lParam);
|
||||
int h = HIWORD(lParam);
|
||||
RECT r;
|
||||
|
||||
HWND item = GetDlgItem(hWnd, IDC_ABOUT_TAB);
|
||||
SetWindowPos(item, NULL, 0, 0, w - 18, h - 47, SWP_NOMOVE | SWP_NOZORDER);
|
||||
|
||||
item = GetDlgItem(hWnd, IDCLOSE);
|
||||
GetClientRect(item, &r);
|
||||
SetWindowPos(item, NULL, w - r.right - 9, h - r.bottom - 8, 0, 0, SWP_NOSIZE | SWP_NOZORDER);
|
||||
|
||||
w -= 48;
|
||||
h -= 100;
|
||||
c_Dialog->m_TabLog.Resize(w, h);
|
||||
c_Dialog->m_TabSkins.Resize(w, h);
|
||||
c_Dialog->m_TabPlugins.Resize(w, h);
|
||||
c_Dialog->m_TabVersion.Resize(w, h);
|
||||
}
|
||||
}
|
||||
return TRUE;
|
||||
|
||||
case WM_CLOSE:
|
||||
PostMessage(hWnd, WM_DELAYED_CLOSE, 0, 0);
|
||||
return TRUE;
|
||||
|
||||
case WM_DESTROY:
|
||||
delete c_Dialog;
|
||||
c_Dialog = NULL;
|
||||
return FALSE;
|
||||
|
||||
case WM_DELAYED_CLOSE:
|
||||
GetWindowPlacement(hWnd, &c_WindowPlacement);
|
||||
case WM_CLOSE:
|
||||
{
|
||||
GetWindowPlacement(m_Window, &c_WindowPlacement);
|
||||
if (c_WindowPlacement.showCmd == SW_SHOWMINIMIZED)
|
||||
{
|
||||
c_WindowPlacement.showCmd = SW_SHOWNORMAL;
|
||||
}
|
||||
DestroyWindow(hWnd);
|
||||
return TRUE;
|
||||
|
||||
delete c_Dialog;
|
||||
c_Dialog = NULL;
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
@ -254,13 +227,24 @@ INT_PTR CALLBACK CDialogAbout::DlgProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPAR
|
||||
|
||||
INT_PTR CDialogAbout::OnInitDialog(WPARAM wParam, LPARAM lParam)
|
||||
{
|
||||
HWND item = GetDlgItem(m_Window, IDCLOSE);
|
||||
SendMessage(m_Window, WM_NEXTDLGCTL, (WPARAM)item, TRUE);
|
||||
static const ControlTemplate::Control s_Controls[] =
|
||||
{
|
||||
CT_TAB(Id_Tab, 0,
|
||||
6, 6, 388, 181,
|
||||
WS_VISIBLE | WS_TABSTOP | TCS_FIXEDWIDTH, WS_EX_CONTROLPARENT),
|
||||
CT_BUTTON(Id_CloseButton, ID_STR_CLOSE,
|
||||
344, 191, 50, 14,
|
||||
WS_VISIBLE | WS_TABSTOP | BS_DEFPUSHBUTTON, 0)
|
||||
};
|
||||
|
||||
HICON hIcon = GetIcon(IDI_RAINMETER);
|
||||
SendMessage(m_Window, WM_SETICON, ICON_SMALL, (LPARAM)hIcon);
|
||||
CreateControls(s_Controls, _countof(s_Controls), m_Font, GetString);
|
||||
|
||||
HWND item = GetDlgItem(m_Window, Id_Tab);
|
||||
m_TabLog.Create(item);
|
||||
m_TabSkins.Create(item);
|
||||
m_TabPlugins.Create(item);
|
||||
m_TabVersion.Create(item);
|
||||
|
||||
item = GetDlgItem(m_Window, IDC_ABOUT_TAB);
|
||||
TCITEM tci = {0};
|
||||
tci.mask = TCIF_TEXT;
|
||||
tci.pszText = GetString(ID_STR_LOG);
|
||||
@ -272,14 +256,17 @@ INT_PTR CDialogAbout::OnInitDialog(WPARAM wParam, LPARAM lParam)
|
||||
tci.pszText = GetString(ID_STR_VERSION);
|
||||
TabCtrl_InsertItem(item, 3, &tci);
|
||||
|
||||
HICON hIcon = GetIcon(IDI_RAINMETER);
|
||||
SendMessage(m_Window, WM_SETICON, ICON_SMALL, (LPARAM)hIcon);
|
||||
|
||||
item = GetDlgItem(m_Window, Id_CloseButton);
|
||||
SendMessage(m_Window, WM_NEXTDLGCTL, (WPARAM)item, TRUE);
|
||||
|
||||
if (CSystem::GetOSPlatform() >= OSPLATFORM_VISTA)
|
||||
{
|
||||
// Use UI font (Segoe UI) on Vista+
|
||||
SetDialogFont();
|
||||
|
||||
HWND item = GetDlgItem(m_TabLog.GetWindow(), IDC_ABOUTLOG_ITEMS_LISTVIEW);
|
||||
item = GetDlgItem(m_TabLog.GetWindow(), CTabLog::Id_ItemsListView);
|
||||
SetWindowTheme(item, L"explorer", NULL);
|
||||
item = GetDlgItem(m_TabSkins.GetWindow(), IDC_ABOUTSKINS_ITEMS_LISTVIEW);
|
||||
item = GetDlgItem(m_TabSkins.GetWindow(), CTabSkins::Id_ItemsListView);
|
||||
SetWindowTheme(item, L"explorer", NULL);
|
||||
}
|
||||
|
||||
@ -288,18 +275,17 @@ INT_PTR CDialogAbout::OnInitDialog(WPARAM wParam, LPARAM lParam)
|
||||
c_WindowPlacement.length = sizeof(WINDOWPLACEMENT);
|
||||
GetWindowPlacement(m_Window, &c_WindowPlacement);
|
||||
}
|
||||
|
||||
SetWindowPlacement(m_Window, &c_WindowPlacement);
|
||||
|
||||
return FALSE;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
INT_PTR CDialogAbout::OnCommand(WPARAM wParam, LPARAM lParam)
|
||||
{
|
||||
switch (LOWORD(wParam))
|
||||
{
|
||||
case IDCLOSE:
|
||||
PostMessage(m_Window, WM_DELAYED_CLOSE, 0, 0);
|
||||
case Id_CloseButton:
|
||||
PostMessage(m_Window, WM_CLOSE, 0, 0);
|
||||
break;
|
||||
|
||||
default:
|
||||
@ -314,7 +300,7 @@ INT_PTR CDialogAbout::OnNotify(WPARAM wParam, LPARAM lParam)
|
||||
LPNMHDR nm = (LPNMHDR)lParam;
|
||||
switch (nm->idFrom)
|
||||
{
|
||||
case IDC_ABOUT_TAB:
|
||||
case Id_Tab:
|
||||
if (nm->code == TCN_SELCHANGE)
|
||||
{
|
||||
// Disable all tab windows first
|
||||
@ -344,7 +330,7 @@ INT_PTR CDialogAbout::OnNotify(WPARAM wParam, LPARAM lParam)
|
||||
** Constructor.
|
||||
**
|
||||
*/
|
||||
CDialogAbout::CTabLog::CTabLog(HWND owner) : CTab(Rainmeter->GetResourceInstance(), owner, IDD_ABOUTLOG_DIALOG, DlgProc),
|
||||
CDialogAbout::CTabLog::CTabLog() : CTab(),
|
||||
m_Error(true),
|
||||
m_Warning(true),
|
||||
m_Notice(true),
|
||||
@ -352,6 +338,32 @@ CDialogAbout::CTabLog::CTabLog(HWND owner) : CTab(Rainmeter->GetResourceInstance
|
||||
{
|
||||
}
|
||||
|
||||
void CDialogAbout::CTabLog::Create(HWND owner)
|
||||
{
|
||||
CTab::CreateTabWindow(9, 24, 370, 148, owner);
|
||||
|
||||
static const ControlTemplate::Control s_Controls[] =
|
||||
{
|
||||
CT_LISTVIEW(Id_ItemsListView, 0,
|
||||
0, 0, 368, 135,
|
||||
WS_VISIBLE | WS_TABSTOP | WS_BORDER | LVS_ICON | LVS_REPORT | LVS_SINGLESEL | LVS_NOSORTHEADER, 0),
|
||||
CT_CHECKBOX(Id_ErrorCheckBox, ID_STR_ERROR,
|
||||
0, 139, 70, 9,
|
||||
WS_VISIBLE | WS_TABSTOP, 0),
|
||||
CT_CHECKBOX(Id_WarningCheckBox, ID_STR_WARNING,
|
||||
70, 139, 70, 9,
|
||||
WS_VISIBLE | WS_TABSTOP, 0),
|
||||
CT_CHECKBOX(Id_NoticeCheckBox, ID_STR_NOTICE,
|
||||
140, 139, 70, 9,
|
||||
WS_VISIBLE | WS_TABSTOP, 0),
|
||||
CT_CHECKBOX(Id_DebugCheckBox, ID_STR_DEBUG,
|
||||
210, 139, 70, 9,
|
||||
WS_VISIBLE | WS_TABSTOP, 0)
|
||||
};
|
||||
|
||||
CreateControls(s_Controls, _countof(s_Controls), c_Dialog->m_Font, GetString);
|
||||
}
|
||||
|
||||
/*
|
||||
** Called when tab is displayed.
|
||||
**
|
||||
@ -359,7 +371,7 @@ CDialogAbout::CTabLog::CTabLog(HWND owner) : CTab(Rainmeter->GetResourceInstance
|
||||
void CDialogAbout::CTabLog::Initialize()
|
||||
{
|
||||
// Add columns to the list view
|
||||
HWND item = GetDlgItem(m_Window, IDC_ABOUTLOG_ITEMS_LISTVIEW);
|
||||
HWND item = GetDlgItem(m_Window, Id_ItemsListView);
|
||||
ListView_SetExtendedListViewStyleEx(item, 0, LVS_EX_LABELTIP | LVS_EX_FULLROWSELECT | LVS_EX_DOUBLEBUFFER);
|
||||
|
||||
// Set folder/.ini icons for tree list
|
||||
@ -403,16 +415,16 @@ void CDialogAbout::CTabLog::Initialize()
|
||||
AddItem((*iter).level, (*iter).timestamp.c_str(), (*iter).message.c_str());
|
||||
}
|
||||
|
||||
item = GetDlgItem(m_Window, IDC_ABOUTLOG_ERROR_CHECKBOX);
|
||||
item = GetDlgItem(m_Window, Id_ErrorCheckBox);
|
||||
Button_SetCheck(item, BST_CHECKED);
|
||||
|
||||
item = GetDlgItem(m_Window, IDC_ABOUTLOG_WARNING_CHECKBOX);
|
||||
item = GetDlgItem(m_Window, Id_WarningCheckBox);
|
||||
Button_SetCheck(item, BST_CHECKED);
|
||||
|
||||
item = GetDlgItem(m_Window, IDC_ABOUTLOG_NOTICE_CHECKBOX);
|
||||
item = GetDlgItem(m_Window, Id_NoticeCheckBox);
|
||||
Button_SetCheck(item, BST_CHECKED);
|
||||
|
||||
item = GetDlgItem(m_Window, IDC_ABOUTLOG_DEBUG_CHECKBOX);
|
||||
item = GetDlgItem(m_Window, Id_DebugCheckBox);
|
||||
Button_SetCheck(item, BST_CHECKED);
|
||||
|
||||
m_Initialized = true;
|
||||
@ -427,21 +439,21 @@ void CDialogAbout::CTabLog::Resize(int w, int h)
|
||||
SetWindowPos(m_Window, NULL, 0, 0, w, h, SWP_NOMOVE | SWP_NOZORDER);
|
||||
|
||||
RECT r;
|
||||
HWND item = GetDlgItem(m_Window, IDC_ABOUTLOG_ERROR_CHECKBOX);
|
||||
HWND item = GetDlgItem(m_Window, Id_ErrorCheckBox);
|
||||
GetClientRect(item, &r);
|
||||
|
||||
SetWindowPos(item, NULL, 0, h - r.bottom, 0, 0, SWP_NOSIZE | SWP_NOZORDER);
|
||||
|
||||
item = GetDlgItem(m_Window, IDC_ABOUTLOG_WARNING_CHECKBOX);
|
||||
item = GetDlgItem(m_Window, Id_WarningCheckBox);
|
||||
SetWindowPos(item, NULL, r.right, h - r.bottom, 0, 0, SWP_NOSIZE | SWP_NOZORDER);
|
||||
|
||||
item = GetDlgItem(m_Window, IDC_ABOUTLOG_NOTICE_CHECKBOX);
|
||||
item = GetDlgItem(m_Window, Id_NoticeCheckBox);
|
||||
SetWindowPos(item, NULL, r.right * 2, h - r.bottom, 0, 0, SWP_NOSIZE | SWP_NOZORDER);
|
||||
|
||||
item = GetDlgItem(m_Window, IDC_ABOUTLOG_DEBUG_CHECKBOX);
|
||||
item = GetDlgItem(m_Window, Id_DebugCheckBox);
|
||||
SetWindowPos(item, NULL, r.right * 3, h - r.bottom, 0, 0, SWP_NOSIZE | SWP_NOZORDER);
|
||||
|
||||
item = GetDlgItem(m_Window, IDC_ABOUTLOG_ITEMS_LISTVIEW);
|
||||
item = GetDlgItem(m_Window, Id_ItemsListView);
|
||||
SetWindowPos(item, NULL, 0, 0, w, h - r.bottom - 7, SWP_NOMOVE | SWP_NOZORDER);
|
||||
|
||||
// Adjust third colum
|
||||
@ -469,31 +481,31 @@ void CDialogAbout::CTabLog::AddItem(int level, LPCWSTR time, LPCWSTR message)
|
||||
{
|
||||
case LOG_ERROR:
|
||||
if (!m_Error) return;
|
||||
item = GetDlgItem(m_Window, IDC_ABOUTLOG_ERROR_CHECKBOX);
|
||||
item = GetDlgItem(m_Window, Id_ErrorCheckBox);
|
||||
vitem.iImage = 0;
|
||||
break;
|
||||
|
||||
case LOG_WARNING:
|
||||
if (!m_Warning) return;
|
||||
item = GetDlgItem(m_Window, IDC_ABOUTLOG_WARNING_CHECKBOX);
|
||||
item = GetDlgItem(m_Window, Id_WarningCheckBox);
|
||||
vitem.iImage = 1;
|
||||
break;
|
||||
|
||||
case LOG_NOTICE:
|
||||
if (!m_Notice) return;
|
||||
item = GetDlgItem(m_Window, IDC_ABOUTLOG_NOTICE_CHECKBOX);
|
||||
item = GetDlgItem(m_Window, Id_NoticeCheckBox);
|
||||
vitem.iImage = 2;
|
||||
break;
|
||||
|
||||
case LOG_DEBUG:
|
||||
if (!m_Debug) return;
|
||||
item = GetDlgItem(m_Window, IDC_ABOUTLOG_DEBUG_CHECKBOX);
|
||||
item = GetDlgItem(m_Window, Id_DebugCheckBox);
|
||||
vitem.iImage = I_IMAGENONE;
|
||||
break;
|
||||
}
|
||||
|
||||
GetWindowText(item, buffer, 32);
|
||||
item = GetDlgItem(m_Window, IDC_ABOUTLOG_ITEMS_LISTVIEW);
|
||||
item = GetDlgItem(m_Window, Id_ItemsListView);
|
||||
ListView_InsertItem(item, &vitem);
|
||||
ListView_SetItemText(item, vitem.iItem, 1, (WCHAR*)time);
|
||||
ListView_SetItemText(item, vitem.iItem, 2, (WCHAR*)message);
|
||||
@ -503,16 +515,15 @@ void CDialogAbout::CTabLog::AddItem(int level, LPCWSTR time, LPCWSTR message)
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
** Dialog procedure for the log dialog.
|
||||
**
|
||||
*/
|
||||
INT_PTR CALLBACK CDialogAbout::CTabLog::DlgProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
|
||||
INT_PTR CDialogAbout::CTabLog::HandleMessage(UINT uMsg, WPARAM wParam, LPARAM lParam)
|
||||
{
|
||||
switch (uMsg)
|
||||
{
|
||||
case WM_COMMAND:
|
||||
return c_Dialog->m_TabLog.OnCommand(wParam, lParam);
|
||||
return OnCommand(wParam, lParam);
|
||||
|
||||
case WM_NOTIFY:
|
||||
return OnNotify(wParam, lParam);
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
@ -522,50 +533,34 @@ INT_PTR CDialogAbout::CTabLog::OnCommand(WPARAM wParam, LPARAM lParam)
|
||||
{
|
||||
switch (LOWORD(wParam))
|
||||
{
|
||||
case IDC_ABOUTLOG_ERROR_CHECKBOX:
|
||||
case Id_ErrorCheckBox:
|
||||
if (HIWORD(wParam) == BN_CLICKED)
|
||||
{
|
||||
m_Error = !m_Error;
|
||||
}
|
||||
break;
|
||||
|
||||
case IDC_ABOUTLOG_WARNING_CHECKBOX:
|
||||
case Id_WarningCheckBox:
|
||||
if (HIWORD(wParam) == BN_CLICKED)
|
||||
{
|
||||
m_Warning = !m_Warning;
|
||||
}
|
||||
break;
|
||||
|
||||
case IDC_ABOUTLOG_NOTICE_CHECKBOX:
|
||||
case Id_NoticeCheckBox:
|
||||
if (HIWORD(wParam) == BN_CLICKED)
|
||||
{
|
||||
m_Notice = !m_Notice;
|
||||
}
|
||||
break;
|
||||
|
||||
case IDC_ABOUTLOG_DEBUG_CHECKBOX:
|
||||
case Id_DebugCheckBox:
|
||||
if (HIWORD(wParam) == BN_CLICKED)
|
||||
{
|
||||
m_Debug = !m_Debug;
|
||||
}
|
||||
break;
|
||||
|
||||
case IDM_COPY:
|
||||
{
|
||||
HWND item = GetFocus();
|
||||
if (item == GetDlgItem(m_Window, IDC_ABOUTLOG_ITEMS_LISTVIEW))
|
||||
{
|
||||
int sel = ListView_GetNextItem(item, -1, LVNI_FOCUSED | LVNI_SELECTED);
|
||||
if (sel != -1)
|
||||
{
|
||||
std::wstring tmpSz(512, L'0');
|
||||
ListView_GetItemText(item, sel, 2, &tmpSz[0], 512);
|
||||
CSystem::SetClipboardText(tmpSz);
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
return 1;
|
||||
}
|
||||
@ -573,6 +568,35 @@ INT_PTR CDialogAbout::CTabLog::OnCommand(WPARAM wParam, LPARAM lParam)
|
||||
return 0;
|
||||
}
|
||||
|
||||
INT_PTR CDialogAbout::CTabLog::OnNotify(WPARAM wParam, LPARAM lParam)
|
||||
{
|
||||
LPNMHDR nm = (LPNMHDR)lParam;
|
||||
switch (nm->code)
|
||||
{
|
||||
case LVN_KEYDOWN:
|
||||
{
|
||||
NMLVKEYDOWN* lvkd = (NMLVKEYDOWN*)nm;
|
||||
if (lvkd->wVKey == 0x43 && // C key.
|
||||
IsCtrlKeyDown())
|
||||
{
|
||||
int sel = ListView_GetNextItem(nm->hwndFrom, -1, LVNI_FOCUSED | LVNI_SELECTED);
|
||||
if (sel != -1)
|
||||
{
|
||||
std::wstring tmpSz(512, L'0');
|
||||
ListView_GetItemText(nm->hwndFrom, sel, 2, &tmpSz[0], 512);
|
||||
CSystem::SetClipboardText(tmpSz);
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
// -----------------------------------------------------------------------------------------------
|
||||
//
|
||||
// Measures tab
|
||||
@ -583,19 +607,32 @@ INT_PTR CDialogAbout::CTabLog::OnCommand(WPARAM wParam, LPARAM lParam)
|
||||
** Constructor.
|
||||
**
|
||||
*/
|
||||
CDialogAbout::CTabSkins::CTabSkins(HWND owner) : CTab(Rainmeter->GetResourceInstance(), owner, IDD_ABOUTSKINS_DIALOG, DlgProc),
|
||||
CDialogAbout::CTabSkins::CTabSkins() : CTab(),
|
||||
m_SkinWindow()
|
||||
{
|
||||
}
|
||||
|
||||
/*
|
||||
** Called when tab is displayed.
|
||||
**
|
||||
*/
|
||||
void CDialogAbout::CTabSkins::Create(HWND owner)
|
||||
{
|
||||
CTab::CreateTabWindow(9, 24, 370, 148, owner);
|
||||
|
||||
static const ControlTemplate::Control s_Controls[] =
|
||||
{
|
||||
CT_LISTBOX(Id_SkinsListBox, 0,
|
||||
0, 0, 120, 148,
|
||||
WS_VISIBLE | WS_TABSTOP | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_HSCROLL, WS_EX_CLIENTEDGE),
|
||||
CT_LISTVIEW(Id_ItemsListView, 0,
|
||||
125, 0, 242, 148,
|
||||
WS_VISIBLE | WS_TABSTOP | WS_BORDER | LVS_REPORT | LVS_SINGLESEL | LVS_NOSORTHEADER, 0)
|
||||
};
|
||||
|
||||
CreateControls(s_Controls, _countof(s_Controls), c_Dialog->m_Font, GetString);
|
||||
}
|
||||
|
||||
void CDialogAbout::CTabSkins::Initialize()
|
||||
{
|
||||
// Add columns to the list view
|
||||
HWND item = GetDlgItem(m_Window, IDC_ABOUTSKINS_ITEMS_LISTVIEW);
|
||||
HWND item = GetDlgItem(m_Window, Id_ItemsListView);
|
||||
ListView_SetExtendedListViewStyleEx(item, 0, LVS_EX_LABELTIP | LVS_EX_FULLROWSELECT | LVS_EX_DOUBLEBUFFER);
|
||||
|
||||
LVGROUP lvg;
|
||||
@ -640,11 +677,11 @@ void CDialogAbout::CTabSkins::Resize(int w, int h)
|
||||
{
|
||||
SetWindowPos(m_Window, NULL, 0, 0, w, h, SWP_NOMOVE | SWP_NOZORDER);
|
||||
|
||||
HWND item = GetDlgItem(m_Window, IDC_ABOUTSKINS_ITEMS_LISTBOX);
|
||||
HWND item = GetDlgItem(m_Window, Id_SkinsListBox);
|
||||
int wList = (w < 650) ? (w - 373) : 277;
|
||||
SetWindowPos(item, NULL, 0, 0, wList, h, SWP_NOMOVE | SWP_NOZORDER);
|
||||
|
||||
item = GetDlgItem(m_Window, IDC_ABOUTSKINS_ITEMS_LISTVIEW);
|
||||
item = GetDlgItem(m_Window, Id_ItemsListView);
|
||||
SetWindowPos(item, NULL, (w < 650) ? (w - 365) : 285, 0, w - wList - 10, h, SWP_NOZORDER);
|
||||
|
||||
// Adjust third column
|
||||
@ -661,7 +698,7 @@ void CDialogAbout::CTabSkins::Resize(int w, int h)
|
||||
void CDialogAbout::CTabSkins::UpdateSkinList()
|
||||
{
|
||||
// Delete all entries
|
||||
HWND item = GetDlgItem(m_Window, IDC_ABOUTSKINS_ITEMS_LISTBOX);
|
||||
HWND item = GetDlgItem(m_Window, Id_SkinsListBox);
|
||||
ListBox_ResetContent(item);
|
||||
|
||||
// Add entries for each skin
|
||||
@ -695,7 +732,7 @@ void CDialogAbout::CTabSkins::UpdateSkinList()
|
||||
if (windows.empty())
|
||||
{
|
||||
m_SkinWindow = NULL;
|
||||
item = GetDlgItem(m_Window, IDC_ABOUTSKINS_ITEMS_LISTVIEW);
|
||||
item = GetDlgItem(m_Window, Id_ItemsListView);
|
||||
ListView_DeleteAllItems(item);
|
||||
}
|
||||
else
|
||||
@ -717,7 +754,7 @@ void CDialogAbout::CTabSkins::UpdateMeasureList(CMeterWindow* meterWindow)
|
||||
if (!meterWindow)
|
||||
{
|
||||
// Find selected skin
|
||||
HWND item = GetDlgItem(m_Window, IDC_ABOUTSKINS_ITEMS_LISTBOX);
|
||||
HWND item = GetDlgItem(m_Window, Id_SkinsListBox);
|
||||
int selected = (int)SendMessage(item, LB_GETCURSEL, NULL, NULL);
|
||||
|
||||
const std::map<std::wstring, CMeterWindow*>& windows = Rainmeter->GetAllMeterWindows();
|
||||
@ -736,7 +773,7 @@ void CDialogAbout::CTabSkins::UpdateMeasureList(CMeterWindow* meterWindow)
|
||||
return;
|
||||
}
|
||||
|
||||
HWND item = GetDlgItem(m_Window, IDC_ABOUTSKINS_ITEMS_LISTVIEW);
|
||||
HWND item = GetDlgItem(m_Window, Id_ItemsListView);
|
||||
SendMessage(item, WM_SETREDRAW, FALSE, 0);
|
||||
int count = ListView_GetItemCount(item);
|
||||
|
||||
@ -836,16 +873,15 @@ int CALLBACK CDialogAbout::CTabSkins::ListSortProc(LPARAM lParam1, LPARAM lParam
|
||||
return wcscmp((const WCHAR*)lParam1, (const WCHAR*)lParam2);
|
||||
}
|
||||
|
||||
/*
|
||||
** Dialog procedure for the measures dialog.
|
||||
**
|
||||
*/
|
||||
INT_PTR CALLBACK CDialogAbout::CTabSkins::DlgProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
|
||||
INT_PTR CDialogAbout::CTabSkins::HandleMessage(UINT uMsg, WPARAM wParam, LPARAM lParam)
|
||||
{
|
||||
switch (uMsg)
|
||||
{
|
||||
case WM_COMMAND:
|
||||
return c_Dialog->m_TabSkins.OnCommand(wParam, lParam);
|
||||
return OnCommand(wParam, lParam);
|
||||
|
||||
case WM_NOTIFY:
|
||||
return OnNotify(wParam, lParam);
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
@ -855,7 +891,7 @@ INT_PTR CDialogAbout::CTabSkins::OnCommand(WPARAM wParam, LPARAM lParam)
|
||||
{
|
||||
switch (LOWORD(wParam))
|
||||
{
|
||||
case IDC_ABOUTSKINS_ITEMS_LISTBOX:
|
||||
case Id_SkinsListBox:
|
||||
if (HIWORD(wParam) == LBN_SELCHANGE)
|
||||
{
|
||||
UpdateMeasureList(NULL);
|
||||
@ -865,7 +901,7 @@ INT_PTR CDialogAbout::CTabSkins::OnCommand(WPARAM wParam, LPARAM lParam)
|
||||
case IDM_COPY:
|
||||
{
|
||||
HWND item = GetFocus();
|
||||
if (item == GetDlgItem(m_Window, IDC_ABOUTSKINS_ITEMS_LISTVIEW))
|
||||
if (item == GetDlgItem(m_Window, Id_ItemsListView))
|
||||
{
|
||||
int sel = ListView_GetNextItem(item, -1, LVNI_FOCUSED | LVNI_SELECTED);
|
||||
if (sel != -1)
|
||||
@ -885,28 +921,62 @@ INT_PTR CDialogAbout::CTabSkins::OnCommand(WPARAM wParam, LPARAM lParam)
|
||||
return 0;
|
||||
}
|
||||
|
||||
INT_PTR CDialogAbout::CTabSkins::OnNotify(WPARAM wParam, LPARAM lParam)
|
||||
{
|
||||
LPNMHDR nm = (LPNMHDR)lParam;
|
||||
switch (nm->code)
|
||||
{
|
||||
case LVN_KEYDOWN:
|
||||
{
|
||||
NMLVKEYDOWN* lvkd = (NMLVKEYDOWN*)nm;
|
||||
if (lvkd->wVKey == 0x43 && IsCtrlKeyDown()) // CTRL + C.
|
||||
{
|
||||
int sel = ListView_GetNextItem(nm->hwndFrom, -1, LVNI_FOCUSED | LVNI_SELECTED);
|
||||
if (sel != -1)
|
||||
{
|
||||
std::wstring tmpSz(512, L'0');
|
||||
ListView_GetItemText(nm->hwndFrom, sel, 2, &tmpSz[0], 512);
|
||||
CSystem::SetClipboardText(tmpSz);
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
// -----------------------------------------------------------------------------------------------
|
||||
//
|
||||
// Plugins tab
|
||||
//
|
||||
// -----------------------------------------------------------------------------------------------
|
||||
|
||||
/*
|
||||
** Constructor.
|
||||
**
|
||||
*/
|
||||
CDialogAbout::CTabPlugins::CTabPlugins(HWND owner) : CTab(Rainmeter->GetResourceInstance(), owner, IDD_ABOUTPLUGINS_DIALOG, DlgProc)
|
||||
CDialogAbout::CTabPlugins::CTabPlugins() : CTab()
|
||||
{
|
||||
}
|
||||
|
||||
/*
|
||||
** Called when tab is displayed.
|
||||
**
|
||||
*/
|
||||
void CDialogAbout::CTabPlugins::Create(HWND owner)
|
||||
{
|
||||
CTab::CreateTabWindow(9, 24, 370, 148, owner);
|
||||
|
||||
static const ControlTemplate::Control s_Controls[] =
|
||||
{
|
||||
CT_LISTVIEW(Id_ItemsListView, 0,
|
||||
0, 0, 368, 148,
|
||||
WS_VISIBLE | WS_TABSTOP | WS_BORDER | LVS_REPORT | LVS_SINGLESEL | LVS_NOSORTHEADER, 0)
|
||||
};
|
||||
|
||||
CreateControls(s_Controls, _countof(s_Controls), c_Dialog->m_Font, GetString);
|
||||
}
|
||||
|
||||
void CDialogAbout::CTabPlugins::Initialize()
|
||||
{
|
||||
// Add columns to the list view
|
||||
HWND item = GetDlgItem(m_Window, IDC_ABOUTPLUGINS_ITEMS_LISTVIEW);
|
||||
HWND item = GetDlgItem(m_Window, Id_ItemsListView);
|
||||
|
||||
LVCOLUMN lvc;
|
||||
lvc.mask = LVCF_FMT | LVCF_WIDTH | LVCF_TEXT | LVCF_SUBITEM;
|
||||
@ -1053,7 +1123,7 @@ void CDialogAbout::CTabPlugins::Resize(int w, int h)
|
||||
{
|
||||
SetWindowPos(m_Window, NULL, 0, 0, w, h, SWP_NOMOVE | SWP_NOZORDER);
|
||||
|
||||
HWND item = GetDlgItem(m_Window, IDC_ABOUTPLUGINS_ITEMS_LISTVIEW);
|
||||
HWND item = GetDlgItem(m_Window, Id_ItemsListView);
|
||||
SetWindowPos(item, NULL, 0, 0, w, h, SWP_NOMOVE | SWP_NOZORDER);
|
||||
|
||||
// Adjust third colum
|
||||
@ -1063,15 +1133,6 @@ void CDialogAbout::CTabPlugins::Resize(int w, int h)
|
||||
ListView_SetColumn(item, 2, &lvc);
|
||||
}
|
||||
|
||||
/*
|
||||
** Dialog procedure for the Plugins tab.
|
||||
**
|
||||
*/
|
||||
INT_PTR CALLBACK CDialogAbout::CTabPlugins::DlgProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
// -----------------------------------------------------------------------------------------------
|
||||
//
|
||||
// Version tab
|
||||
@ -1082,34 +1143,68 @@ INT_PTR CALLBACK CDialogAbout::CTabPlugins::DlgProc(HWND hWnd, UINT uMsg, WPARAM
|
||||
** Constructor.
|
||||
**
|
||||
*/
|
||||
CDialogAbout::CTabVersion::CTabVersion(HWND owner) : CTab(Rainmeter->GetResourceInstance(), owner, IDD_ABOUTVERSION_DIALOG, DlgProc)
|
||||
CDialogAbout::CTabVersion::CTabVersion() : CTab()
|
||||
{
|
||||
}
|
||||
|
||||
/*
|
||||
** Called when tab is displayed.
|
||||
**
|
||||
*/
|
||||
void CDialogAbout::CTabVersion::Create(HWND owner)
|
||||
{
|
||||
CTab::CreateTabWindow(9, 24, 370, 148, owner);
|
||||
|
||||
// FIXME: Temporary hack.
|
||||
short buttonWidth = (short)_wtoi(GetString(ID_STR_NUM_BUTTONWIDTH));
|
||||
|
||||
const ControlTemplate::Control s_Controls[] =
|
||||
{
|
||||
CT_ICON(Id_AppIcon, 0,
|
||||
0, 8, 24, 24,
|
||||
WS_VISIBLE, 0),
|
||||
CT_LABEL(Id_VersionLabel, 0,
|
||||
28, 0, 300, 9,
|
||||
WS_VISIBLE, 0),
|
||||
CT_LINKLABEL(Id_HomeLink, ID_STR_GETLATESTVERSION,
|
||||
28, 13, 300, 9,
|
||||
WS_VISIBLE, 0),
|
||||
CT_LINKLABEL(Id_LicenseLink, ID_STR_COPYRIGHTNOTICE,
|
||||
28, 26, 300, 9,
|
||||
WS_VISIBLE, 0),
|
||||
CT_LABEL(Id_PathLabel, 0,
|
||||
0, 43, 360, 9,
|
||||
WS_VISIBLE | SS_ENDELLIPSIS | SS_NOPREFIX, 0),
|
||||
CT_LABEL(Id_IniFileLabel, 0,
|
||||
0, 56, 360, 9,
|
||||
WS_VISIBLE | SS_ENDELLIPSIS | SS_NOPREFIX, 0),
|
||||
CT_LABEL(Id_SkinPathLabel, 0,
|
||||
0, 69, 360, 9,
|
||||
WS_VISIBLE | SS_ENDELLIPSIS | SS_NOPREFIX, 0),
|
||||
CT_BUTTON(Id_CopyButton, ID_STR_COPYTOCLIPBOARD,
|
||||
0, 85, buttonWidth + 25, 14,
|
||||
WS_VISIBLE | WS_TABSTOP, 0)
|
||||
};
|
||||
|
||||
CreateControls(s_Controls, _countof(s_Controls), c_Dialog->m_Font, GetString);
|
||||
}
|
||||
|
||||
void CDialogAbout::CTabVersion::Initialize()
|
||||
{
|
||||
HWND item = GetDlgItem(m_Window, IDC_ABOUTVERSION_RAINMETER_ICON);
|
||||
HWND item = GetDlgItem(m_Window, Id_AppIcon);
|
||||
HICON icon = GetIcon(IDI_RAINMETER, true);
|
||||
Static_SetIcon(item, icon);
|
||||
|
||||
item = GetDlgItem(m_Window, IDC_ABOUTVERSION_VERSION_TEXT);
|
||||
item = GetDlgItem(m_Window, Id_VersionLabel);
|
||||
WCHAR tmpSz[64];
|
||||
_snwprintf_s(tmpSz, _TRUNCATE, L"%s%s r%i %s (%s)", APPVERSION, revision_beta ? L" beta" : L"", revision_number, APPBITS, APPDATE);
|
||||
SetWindowText(item, tmpSz);
|
||||
|
||||
item = GetDlgItem(m_Window, IDC_ABOUTVERSION_PATH_TEXT);
|
||||
item = GetDlgItem(m_Window, Id_PathLabel);
|
||||
std::wstring text = L"Path: " + Rainmeter->GetPath();
|
||||
SetWindowText(item, text.c_str());
|
||||
|
||||
item = GetDlgItem(m_Window, IDC_ABOUTVERSION_INIFILE_TEXT);
|
||||
item = GetDlgItem(m_Window, Id_IniFileLabel);
|
||||
text = L"IniFile: " + Rainmeter->GetIniFile();
|
||||
SetWindowText(item, text.c_str());
|
||||
|
||||
item = GetDlgItem(m_Window, IDC_ABOUTVERSION_SKINPATH_TEXT);
|
||||
item = GetDlgItem(m_Window, Id_SkinPathLabel);
|
||||
text = L"SkinPath: " + Rainmeter->GetSkinPath();
|
||||
SetWindowText(item, text.c_str());
|
||||
|
||||
@ -1125,19 +1220,15 @@ void CDialogAbout::CTabVersion::Resize(int w, int h)
|
||||
SetWindowPos(m_Window, NULL, 0, 0, w, h, SWP_NOMOVE | SWP_NOZORDER);
|
||||
}
|
||||
|
||||
/*
|
||||
** Dialog procedure for the Version tab.
|
||||
**
|
||||
*/
|
||||
INT_PTR CALLBACK CDialogAbout::CTabVersion::DlgProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
|
||||
INT_PTR CDialogAbout::CTabVersion::HandleMessage(UINT uMsg, WPARAM wParam, LPARAM lParam)
|
||||
{
|
||||
switch (uMsg)
|
||||
{
|
||||
case WM_COMMAND:
|
||||
return c_Dialog->m_TabVersion.OnCommand(wParam, lParam);
|
||||
return OnCommand(wParam, lParam);
|
||||
|
||||
case WM_NOTIFY:
|
||||
return c_Dialog->m_TabVersion.OnNotify(wParam, lParam);
|
||||
return OnNotify(wParam, lParam);
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
@ -1147,7 +1238,7 @@ INT_PTR CDialogAbout::CTabVersion::OnCommand(WPARAM wParam, LPARAM lParam)
|
||||
{
|
||||
switch (LOWORD(wParam))
|
||||
{
|
||||
case IDC_ABOUTVERSION_COPY_BUTTON:
|
||||
case Id_CopyButton:
|
||||
{
|
||||
WCHAR tmpSz[64];
|
||||
int len = _snwprintf_s(tmpSz, _TRUNCATE, L"%s%s r%i %s (%s)", APPVERSION, revision_beta ? L" beta" : L"", revision_number, APPBITS, APPDATE);
|
||||
@ -1175,7 +1266,14 @@ INT_PTR CDialogAbout::CTabVersion::OnNotify(WPARAM wParam, LPARAM lParam)
|
||||
switch (nm->code)
|
||||
{
|
||||
case NM_CLICK:
|
||||
RunFile(((PNMLINK)lParam)->item.szUrl);
|
||||
if (nm->idFrom == Id_HomeLink)
|
||||
{
|
||||
RunFile(L"http://rainmeter.net");
|
||||
}
|
||||
else if (nm->idFrom == Id_HomeLink)
|
||||
{
|
||||
RunFile(L"http://gnu.org/licenses");
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
|
@ -19,21 +19,20 @@
|
||||
#ifndef __DIALOGABOUT_H__
|
||||
#define __DIALOGABOUT_H__
|
||||
|
||||
#include "Dialog.h"
|
||||
#include "../Common/Dialog.h"
|
||||
|
||||
class CDialogAbout : public CDialog
|
||||
{
|
||||
public:
|
||||
CDialogAbout(HWND window);
|
||||
CDialogAbout();
|
||||
virtual ~CDialogAbout();
|
||||
|
||||
static INT_PTR CALLBACK DlgProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam);
|
||||
INT_PTR OnInitDialog(WPARAM wParam, LPARAM lParam);
|
||||
INT_PTR OnNotify(WPARAM wParam, LPARAM lParam);
|
||||
INT_PTR OnCommand(WPARAM wParam, LPARAM lParam);
|
||||
|
||||
static void Open(const WCHAR* name);
|
||||
static void Open(int tab = 0);
|
||||
static void Open(const WCHAR* name);
|
||||
static void ShowAboutLog();
|
||||
|
||||
static void AddLogItem(int level, LPCWSTR time, LPCWSTR message);
|
||||
@ -44,23 +43,35 @@ public:
|
||||
static CDialogAbout* c_Dialog;
|
||||
|
||||
protected:
|
||||
virtual HWND GetActiveWindow() { return GetActiveTab().GetWindow(); }
|
||||
virtual INT_PTR HandleMessage(UINT uMsg, WPARAM wParam, LPARAM lParam);
|
||||
|
||||
private:
|
||||
// Log tab
|
||||
class CTabLog : public CTab
|
||||
{
|
||||
public:
|
||||
CTabLog(HWND owner);
|
||||
enum Id
|
||||
{
|
||||
Id_ItemsListView = 100,
|
||||
Id_ErrorCheckBox,
|
||||
Id_WarningCheckBox,
|
||||
Id_NoticeCheckBox,
|
||||
Id_DebugCheckBox
|
||||
};
|
||||
|
||||
CTabLog();
|
||||
|
||||
void Create(HWND owner);
|
||||
virtual void Initialize();
|
||||
virtual void Resize(int w, int h);
|
||||
|
||||
static INT_PTR CALLBACK DlgProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam);
|
||||
INT_PTR OnCommand(WPARAM wParam, LPARAM lParam);
|
||||
|
||||
void AddItem(int level, LPCWSTR time, LPCWSTR message);
|
||||
|
||||
protected:
|
||||
virtual INT_PTR HandleMessage(UINT uMsg, WPARAM wParam, LPARAM lParam);
|
||||
INT_PTR OnCommand(WPARAM wParam, LPARAM lParam);
|
||||
INT_PTR OnNotify(WPARAM wParam, LPARAM lParam);
|
||||
|
||||
private:
|
||||
bool m_Error;
|
||||
bool m_Warning;
|
||||
@ -72,17 +83,26 @@ private:
|
||||
class CTabSkins : public CTab
|
||||
{
|
||||
public:
|
||||
CTabSkins(HWND owner);
|
||||
enum Id
|
||||
{
|
||||
Id_SkinsListBox = 100,
|
||||
Id_ItemsListView
|
||||
};
|
||||
|
||||
CTabSkins();
|
||||
|
||||
void Create(HWND owner);
|
||||
virtual void Initialize();
|
||||
virtual void Resize(int w, int h);
|
||||
|
||||
static INT_PTR CALLBACK DlgProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam);
|
||||
INT_PTR OnCommand(WPARAM wParam, LPARAM lParam);
|
||||
|
||||
void UpdateSkinList();
|
||||
void UpdateMeasureList(CMeterWindow* meterWindow);
|
||||
|
||||
protected:
|
||||
virtual INT_PTR HandleMessage(UINT uMsg, WPARAM wParam, LPARAM lParam);
|
||||
INT_PTR OnCommand(WPARAM wParam, LPARAM lParam);
|
||||
INT_PTR OnNotify(WPARAM wParam, LPARAM lParam);
|
||||
|
||||
private:
|
||||
static int CALLBACK ListSortProc(LPARAM lParam1, LPARAM lParam2, LPARAM lParamSort);
|
||||
|
||||
@ -93,13 +113,17 @@ private:
|
||||
class CTabPlugins : public CTab
|
||||
{
|
||||
public:
|
||||
CTabPlugins(HWND owner);
|
||||
enum Id
|
||||
{
|
||||
Id_ItemsListView = 100
|
||||
};
|
||||
|
||||
CTabPlugins();
|
||||
|
||||
void Create(HWND owner);
|
||||
virtual void Initialize();
|
||||
virtual void Resize(int w, int h);
|
||||
|
||||
static INT_PTR CALLBACK DlgProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam);
|
||||
|
||||
private:
|
||||
typedef LPCTSTR (*GETPLUGINAUTHOR)();
|
||||
typedef UINT (*GETPLUGINVERSION)();
|
||||
@ -109,16 +133,36 @@ private:
|
||||
class CTabVersion : public CTab
|
||||
{
|
||||
public:
|
||||
CTabVersion(HWND owner);
|
||||
enum Id
|
||||
{
|
||||
Id_AppIcon = 100,
|
||||
Id_VersionLabel,
|
||||
Id_HomeLink,
|
||||
Id_LicenseLink,
|
||||
Id_PathLabel,
|
||||
Id_IniFileLabel,
|
||||
Id_SkinPathLabel,
|
||||
Id_CopyButton
|
||||
};
|
||||
|
||||
CTabVersion();
|
||||
|
||||
void Create(HWND owner);
|
||||
virtual void Initialize();
|
||||
virtual void Resize(int w, int h);
|
||||
|
||||
static INT_PTR CALLBACK DlgProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam);
|
||||
protected:
|
||||
virtual INT_PTR HandleMessage(UINT uMsg, WPARAM wParam, LPARAM lParam);
|
||||
INT_PTR OnNotify(WPARAM wParam, LPARAM lParam);
|
||||
INT_PTR OnCommand(WPARAM wParam, LPARAM lParam);
|
||||
};
|
||||
|
||||
enum Id
|
||||
{
|
||||
Id_CloseButton = IDCLOSE,
|
||||
Id_Tab = 100
|
||||
};
|
||||
|
||||
CTab& GetActiveTab();
|
||||
|
||||
CTabLog m_TabLog;
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -19,15 +19,14 @@
|
||||
#ifndef __DIALOGMANAGE_H__
|
||||
#define __DIALOGMANAGE_H__
|
||||
|
||||
#include "Dialog.h"
|
||||
#include "../Common/Dialog.h"
|
||||
|
||||
class CDialogManage : public CDialog
|
||||
{
|
||||
public:
|
||||
CDialogManage(HWND window);
|
||||
CDialogManage();
|
||||
virtual ~CDialogManage();
|
||||
|
||||
static INT_PTR CALLBACK DlgProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam);
|
||||
INT_PTR OnInitDialog(WPARAM wParam, LPARAM lParam);
|
||||
INT_PTR OnNotify(WPARAM wParam, LPARAM lParam);
|
||||
INT_PTR OnCommand(WPARAM wParam, LPARAM lParam);
|
||||
@ -42,25 +41,56 @@ public:
|
||||
static CDialogManage* c_Dialog;
|
||||
|
||||
protected:
|
||||
virtual HWND GetActiveWindow() { return GetActiveTab().GetWindow(); }
|
||||
virtual INT_PTR HandleMessage(UINT uMsg, WPARAM wParam, LPARAM lParam);
|
||||
|
||||
private:
|
||||
// Skins tab
|
||||
class CTabSkins : public CTab
|
||||
{
|
||||
public:
|
||||
CTabSkins(HWND owner);
|
||||
enum Id
|
||||
{
|
||||
Id_ActiveSkinsButton = 100,
|
||||
Id_SkinsTreeView,
|
||||
Id_CreateSkinPackageButton,
|
||||
Id_FileLabel,
|
||||
Id_ConfigLabel,
|
||||
Id_LoadButton,
|
||||
Id_RefreshButton,
|
||||
Id_EditButton,
|
||||
Id_AuthorLabel,
|
||||
Id_VersionLabel,
|
||||
Id_LicenseLabel,
|
||||
Id_DescriptionLabel,
|
||||
Id_AddMetadataLink,
|
||||
Id_XPositionEdit,
|
||||
Id_YPositionEdit,
|
||||
Id_ZPositionDropDownList,
|
||||
Id_LoadOrderEdit,
|
||||
Id_OnHoverDropDownList,
|
||||
Id_TransparencyDropDownList,
|
||||
Id_DisplayMonitorButton,
|
||||
Id_DraggableCheckBox,
|
||||
Id_ClickThroughCheckBox,
|
||||
Id_KeepOnScreenCheckBox,
|
||||
Id_SavePositionCheckBox,
|
||||
Id_SnapToEdgesCheckBox
|
||||
};
|
||||
|
||||
CTabSkins();
|
||||
|
||||
void Create(HWND owner);
|
||||
virtual void Initialize();
|
||||
|
||||
static INT_PTR CALLBACK DlgProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam);
|
||||
INT_PTR OnNotify(WPARAM wParam, LPARAM lParam);
|
||||
INT_PTR OnCommand(WPARAM wParam, LPARAM lParam);
|
||||
|
||||
void Update(CMeterWindow* meterWindow, bool deleted);
|
||||
|
||||
static void SelectTreeItem(HWND tree, HTREEITEM item, LPCWSTR name);
|
||||
|
||||
protected:
|
||||
virtual INT_PTR HandleMessage(UINT uMsg, WPARAM wParam, LPARAM lParam);
|
||||
INT_PTR OnNotify(WPARAM wParam, LPARAM lParam);
|
||||
INT_PTR OnCommand(WPARAM wParam, LPARAM lParam);
|
||||
|
||||
private:
|
||||
void SetControls();
|
||||
void DisableControls(bool clear = false);
|
||||
@ -80,11 +110,26 @@ private:
|
||||
class CTabLayouts : public CTab
|
||||
{
|
||||
public:
|
||||
CTabLayouts(HWND owner);
|
||||
enum Id
|
||||
{
|
||||
Id_List = 100,
|
||||
Id_LoadButton,
|
||||
Id_DeleteButton,
|
||||
Id_EditButton,
|
||||
Id_SaveButton,
|
||||
Id_SaveEmptyThemeCheckBox,
|
||||
Id_ExcludeUnusedSkinsCheckBox,
|
||||
Id_IncludeWallpaperCheckBox,
|
||||
Id_NameLabel
|
||||
};
|
||||
|
||||
CTabLayouts();
|
||||
|
||||
void Create(HWND owner);
|
||||
virtual void Initialize();
|
||||
|
||||
static INT_PTR CALLBACK DlgProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam);
|
||||
protected:
|
||||
virtual INT_PTR HandleMessage(UINT uMsg, WPARAM wParam, LPARAM lParam);
|
||||
INT_PTR OnCommand(WPARAM wParam, LPARAM lParam);
|
||||
};
|
||||
|
||||
@ -92,14 +137,41 @@ private:
|
||||
class CTabSettings : public CTab
|
||||
{
|
||||
public:
|
||||
CTabSettings(HWND owner);
|
||||
enum Id
|
||||
{
|
||||
Id_CheckForUpdatesCheckBox = 100,
|
||||
Id_LockSkinsCheckBox,
|
||||
Id_ResetStatisticsButton,
|
||||
Id_LogToFileCheckBox,
|
||||
Id_VerboseLoggingCheckbox,
|
||||
Id_ShowLogFileButton,
|
||||
Id_DeleteLogFileButton,
|
||||
Id_LanguageDropDownList,
|
||||
Id_EditorEdit,
|
||||
Id_EditorBrowseButton,
|
||||
Id_ShowTrayIconCheckBox
|
||||
};
|
||||
|
||||
CTabSettings();
|
||||
|
||||
void Create(HWND owner);
|
||||
virtual void Initialize();
|
||||
|
||||
static INT_PTR CALLBACK DlgProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam);
|
||||
protected:
|
||||
virtual INT_PTR HandleMessage(UINT uMsg, WPARAM wParam, LPARAM lParam);
|
||||
INT_PTR OnCommand(WPARAM wParam, LPARAM lParam);
|
||||
};
|
||||
|
||||
enum Id
|
||||
{
|
||||
Id_CloseButton = IDCLOSE,
|
||||
Id_Tab = 100,
|
||||
Id_RefreshAllButton,
|
||||
Id_EditSettingsButton,
|
||||
Id_OpenLogButton,
|
||||
Id_HelpButton
|
||||
};
|
||||
|
||||
CTab& GetActiveTab();
|
||||
|
||||
CTabSkins m_TabSkins;
|
||||
@ -108,4 +180,3 @@ private:
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
|
@ -185,13 +185,12 @@
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\Common\ControlTemplate.cpp" />
|
||||
<ClCompile Include="..\Common\Dialog.cpp" />
|
||||
<ClCompile Include="..\Common\MenuTemplate.cpp" />
|
||||
<ClCompile Include="ConfigParser.cpp">
|
||||
<PrecompiledHeader>Use</PrecompiledHeader>
|
||||
</ClCompile>
|
||||
<ClCompile Include="Dialog.cpp">
|
||||
<PrecompiledHeader>Use</PrecompiledHeader>
|
||||
</ClCompile>
|
||||
<ClCompile Include="DialogAbout.cpp">
|
||||
<PrecompiledHeader>Use</PrecompiledHeader>
|
||||
</ClCompile>
|
||||
@ -391,9 +390,10 @@
|
||||
<ResourceCompile Include="Library.rc" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\Common\ControlTemplate.h" />
|
||||
<ClInclude Include="..\Common\Dialog.h" />
|
||||
<ClInclude Include="..\Common\MenuTemplate.h" />
|
||||
<ClInclude Include="ConfigParser.h" />
|
||||
<ClInclude Include="Dialog.h" />
|
||||
<ClInclude Include="DialogAbout.h" />
|
||||
<ClInclude Include="DisableThreadLibraryCalls.h" />
|
||||
<ClInclude Include="Error.h" />
|
||||
|
@ -306,9 +306,6 @@
|
||||
<ClCompile Include="pcre-8.10\pcre_xclass.c">
|
||||
<Filter>pcre</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="Dialog.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="DialogAbout.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
@ -324,6 +321,12 @@
|
||||
<ClCompile Include="Mouse.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\Common\Dialog.cpp">
|
||||
<Filter>Common</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\Common\ControlTemplate.cpp">
|
||||
<Filter>Common</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\Common\MenuTemplate.cpp">
|
||||
<Filter>Common</Filter>
|
||||
</ClCompile>
|
||||
@ -533,9 +536,6 @@
|
||||
<ClInclude Include="pcre-8.10\ucp.h">
|
||||
<Filter>pcre</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="Dialog.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="DialogAbout.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
@ -560,6 +560,12 @@
|
||||
<ClInclude Include="Section.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\Common\Dialog.h">
|
||||
<Filter>Common</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\Common\ControlTemplate.h">
|
||||
<Filter>Common</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\Common\MenuTemplate.h">
|
||||
<Filter>Common</Filter>
|
||||
</ClInclude>
|
||||
|
@ -1107,8 +1107,6 @@ int CRainmeter::MessagePump()
|
||||
MSG msg;
|
||||
BOOL ret;
|
||||
|
||||
HACCEL hAccel = LoadAccelerators(m_Instance, MAKEINTRESOURCE(IDR_DIALOG_ACCELERATORS));
|
||||
|
||||
// Run the standard window message loop
|
||||
while ((ret = GetMessage(&msg, NULL, 0, 0)) != 0)
|
||||
{
|
||||
@ -1116,9 +1114,8 @@ int CRainmeter::MessagePump()
|
||||
{
|
||||
break;
|
||||
}
|
||||
else if (!CDialog::GetActiveDialogWindow() ||
|
||||
!TranslateAccelerator(CDialog::GetActiveTabWindow(), hAccel, &msg) ||
|
||||
!IsDialogMessage(CDialog::GetActiveDialogWindow(), &msg))
|
||||
|
||||
if (!CDialog::HandleMessage(msg))
|
||||
{
|
||||
TranslateMessage(&msg);
|
||||
DispatchMessage(&msg);
|
||||
|
@ -5,192 +5,148 @@
|
||||
#define IDC_STATIC -1
|
||||
#define IDI_RAINMETER 100
|
||||
#define IDI_TRAY 101
|
||||
#define IDD_ABOUT_DIALOG 105
|
||||
#define IDD_ABOUTLOG_DIALOG 106
|
||||
#define IDD_ABOUTSKINS_DIALOG 107
|
||||
#define IDD_ABOUTPLUGINS_DIALOG 108
|
||||
#define IDD_ABOUTVERSION_DIALOG 109
|
||||
#define IDD_MANAGE_DIALOG 110
|
||||
#define IDD_MANAGESKINS_DIALOG 111
|
||||
#define IDD_MANAGETHEMES_DIALOG 112
|
||||
#define IDD_MANAGESETTINGS_DIALOG 113
|
||||
#define IDR_DIALOG_ACCELERATORS 114
|
||||
|
||||
#define IDC_ABOUT_TAB 1000
|
||||
#define IDC_ABOUT_VERSION_TEXT 1001
|
||||
|
||||
#define IDC_ABOUTLOG_ITEMS_LISTVIEW 1000
|
||||
#define IDC_ABOUTLOG_ERROR_CHECKBOX 1001
|
||||
#define IDC_ABOUTLOG_WARNING_CHECKBOX 1002
|
||||
#define IDC_ABOUTLOG_NOTICE_CHECKBOX 1003
|
||||
#define IDC_ABOUTLOG_DEBUG_CHECKBOX 1004
|
||||
|
||||
#define IDC_ABOUTSKINS_ITEMS_LISTBOX 1000
|
||||
#define IDC_ABOUTSKINS_ITEMS_LISTVIEW 1001
|
||||
|
||||
#define IDC_ABOUTPLUGINS_ITEMS_LISTVIEW 1000
|
||||
|
||||
#define IDC_ABOUTVERSION_VERSION_TEXT 1000
|
||||
#define IDC_ABOUTVERSION_PATH_TEXT 1001
|
||||
#define IDC_ABOUTVERSION_INIFILE_TEXT 1002
|
||||
#define IDC_ABOUTVERSION_SKINPATH_TEXT 1003
|
||||
#define IDC_ABOUTVERSION_COPY_BUTTON 1004
|
||||
#define IDC_ABOUTVERSION_RAINMETER_ICON 1005
|
||||
|
||||
#define IDC_MANAGE_TAB 1000
|
||||
#define IDC_MANAGE_REFRESHALL_BUTTON 1001
|
||||
#define IDC_MANAGE_EDITSETTINGS_BUTTON 1002
|
||||
#define IDC_MANAGE_OPENLOG_BUTTON 1003
|
||||
#define IDC_MANAGE_HELP_BUTTON 1004
|
||||
|
||||
#define IDC_MANAGESKINS_ACTIVESKINS_BUTTON 1000
|
||||
#define IDC_MANAGESKINS_SKINS_TREEVIEW 1001
|
||||
#define IDC_MANAGESKINS_CREATEPACKAGE_BUTTON 1002
|
||||
#define IDC_MANAGESKINS_FILE_TEXT 1003
|
||||
#define IDC_MANAGESKINS_CONFIG_TEXT 1004
|
||||
#define IDC_MANAGESKINS_LOAD_BUTTON 4056 // IDM_MANAGESKINSMENU_LOAD
|
||||
#define IDC_MANAGESKINS_REFRESH_BUTTON 4057 // IDM_MANAGESKINSMENU_REFRESH
|
||||
#define IDC_MANAGESKINS_EDIT_BUTTON 4058 // IDM_MANAGESKINSMENU_EDIT
|
||||
#define IDC_MANAGESKINS_AUTHOR_TEXT 1005
|
||||
#define IDC_MANAGESKINS_VERSION_TEXT 1006
|
||||
#define IDC_MANAGESKINS_LICENSE_TEXT 1007
|
||||
#define IDC_MANAGESKINS_DESCRIPTION_TEXT 1008
|
||||
#define IDC_MANAGESKINS_ADDMETADATA_LINK 1009
|
||||
#define IDC_MANAGESKINS_X_TEXT 1010
|
||||
#define IDC_MANAGESKINS_Y_TEXT 1011
|
||||
#define IDC_MANAGESKINS_ZPOSITION_COMBOBOX 1012
|
||||
#define IDC_MANAGESKINS_LOADORDER_TEXT 1013
|
||||
#define IDC_MANAGESKINS_ONHOVER_COMBOBOX 1014
|
||||
#define IDC_MANAGESKINS_TRANSPARENCY_COMBOBOX 1015
|
||||
#define IDC_MANAGESKINS_DISPLAYMONITOR_BUTTON 1016
|
||||
#define IDC_MANAGESKINS_DRAGGABLE_CHECKBOX 1017
|
||||
#define IDC_MANAGESKINS_CLICKTHROUGH_CHECKBOX 1018
|
||||
#define IDC_MANAGESKINS_KEEPONSCREEN_CHECKBOX 1019
|
||||
#define IDC_MANAGESKINS_SAVEPOSITION_CHECKBOX 1020
|
||||
#define IDC_MANAGESKINS_SNAPTOEDGES_CHECKBOX 1021
|
||||
|
||||
#define IDC_MANAGETHEMES_LIST 1000
|
||||
#define IDC_MANAGETHEMES_LOAD_BUTTON 1001
|
||||
#define IDC_MANAGETHEMES_DELETE_BUTTON 1002
|
||||
#define IDC_MANAGETHEMES_EDIT_BUTTON 1003
|
||||
#define IDC_MANAGETHEMES_SAVE_BUTTON 1004
|
||||
#define IDC_MANAGETHEMES_EMPTYTHEME_CHECKBOX 1005
|
||||
#define IDC_MANAGETHEMES_UNUSEDSKINS_CHECKBOX 1006
|
||||
#define IDC_MANAGETHEMES_WALLPAPER_CHECKBOX 1007
|
||||
#define IDC_MANAGETHEMES_NAME_TEXT 1008
|
||||
#define IDC_MANAGETHEMES_BACKUP_BUTTON 1009
|
||||
|
||||
#define IDC_MANAGESETTINGS_CHECKUPDATES_CHECKBOX 1000
|
||||
#define IDC_MANAGESETTINGS_LOCKSKINS_CHECKBOX 1001
|
||||
#define IDC_MANAGESETTINGS_RESETSTATISTICS_BUTTON 1002
|
||||
#define IDC_MANAGESETTINGS_LOGTOFILE_CHECKBOX 1003
|
||||
#define IDC_MANAGESETTINGS_VERBOSELOGGING_CHECKBOX 1004
|
||||
#define IDC_MANAGESETTINGS_SHOWLOGFILE_BUTTON 1005
|
||||
#define IDC_MANAGESETTINGS_DELETELOGFILE_BUTTON 1006
|
||||
#define IDC_MANAGESETTINGS_LANGUAGE_COMBOBOX 1007
|
||||
#define IDC_MANAGESETTINGS_CONFIGEDITOR_TEXT 1008
|
||||
#define IDC_MANAGESETTINGS_CONFIGEDITOR_BUTTON 1009
|
||||
#define IDC_MANAGESETTINGS_TRAYICON_CHECKBOX 1010
|
||||
|
||||
#define ID_STR_NUM_BUTTONWIDTH 1998
|
||||
#define ID_STR_NUM_LABELWIDTH 1999
|
||||
#define ID_STR_ISRTL 2000
|
||||
#define ID_STR_UPDATEAVAILABLE 2001
|
||||
#define ID_STR_LOG 2002
|
||||
#define ID_STR_MEASURES 2003
|
||||
#define ID_STR_PLUGINS 2004
|
||||
#define ID_STR_VERSION 2005
|
||||
#define ID_STR_TYPE 2006
|
||||
#define ID_STR_TIME 2007
|
||||
#define ID_STR_MESSAGE 2008
|
||||
#define ID_STR_NAME 2009
|
||||
#define ID_STR_RANGE 2010
|
||||
#define ID_STR_VALUE 2011
|
||||
#define ID_STR_AUTHOR 2012
|
||||
#define ID_STR_MANAGERAINMETER 2013
|
||||
#define ID_STR_SKINS 2014
|
||||
#define ID_STR_THEMES 2015
|
||||
#define ID_STR_SETTINGS 2016
|
||||
#define ID_STR_ACTIVESKINS 2017
|
||||
#define ID_STR_DISPLAYMONITOR 2018
|
||||
#define ID_STR_STAYTOPMOST 2019
|
||||
#define ID_STR_TOPMOST 2020
|
||||
#define ID_STR_NORMAL 2021
|
||||
#define ID_STR_BOTTOM 2022
|
||||
#define ID_STR_ONDESKTOP 2023
|
||||
#define ID_STR_DONOTHING 2024
|
||||
#define ID_STR_HIDE 2025
|
||||
#define ID_STR_FADEIN 2026
|
||||
#define ID_STR_FADEOUT 2027
|
||||
#define ID_STR_LOAD 2028
|
||||
#define ID_STR_UNLOAD 2029
|
||||
#define ID_STR_COLLAPSE 2030
|
||||
#define ID_STR_SETTINGSNOTWRITABLE 2031
|
||||
#define ID_STR_SETTINGSMOVEFILE 2032
|
||||
#define ID_STR_SETTINGSREADONLY 2033
|
||||
#define ID_STR_THEMEALREADYEXISTS 2034
|
||||
#define ID_STR_THEMESAVEFAIL 2035
|
||||
#define ID_STR_THEMEDELETE 2036
|
||||
#define ID_STR_VARIABLES 2037
|
||||
#define ID_STR_LOGFILECREATEFAIL 2038
|
||||
#define ID_STR_LOGFILEDELETE 2039
|
||||
#define ID_STR_NOAVAILABLESKINS 2040
|
||||
#define ID_STR_UNABLETOACTIVATESKIN 2041
|
||||
#define ID_STR_UNABLETOREFRESHSKIN 2042
|
||||
#define ID_STR_NEWVERSIONREQUIRED 2043
|
||||
#define ID_STR_NOMETERSINSKIN 2044
|
||||
#define ID_STR_INCLUDEINFINITELOOP 2045
|
||||
#define ID_STR_ABOUTRAINMETER 2046
|
||||
#define ID_STR_WELCOME 2047
|
||||
#define ID_STR_CLICKTOMANAGE 2048
|
||||
#define ID_STR_CLICKTODOWNLOAD 2049
|
||||
#define ID_STR_VARIANTS 2050
|
||||
#define ID_STR_POSITION 2051
|
||||
#define ID_STR_USEDEFAULTMONITOR 2052
|
||||
#define ID_STR_VIRTUALSCREEN 2053
|
||||
#define ID_STR_AUTOSELECTMONITOR 2054
|
||||
#define ID_STR_FROMRIGHT 2055
|
||||
#define ID_STR_FROMBOTTOM 2056
|
||||
#define ID_STR_XASPERCENTAGE 2057
|
||||
#define ID_STR_YASPERCENTAGE 2058
|
||||
#define ID_STR_TRANSPARENCY 2059
|
||||
#define ID_STR_HIDEONMOUSEOVER 2060
|
||||
#define ID_STR_DRAGGABLE 2061
|
||||
#define ID_STR_SAVEPOSITION 2062
|
||||
#define ID_STR_SNAPTOEDGES 2063
|
||||
#define ID_STR_CLICKTHROUGH 2064
|
||||
#define ID_STR_KEEPONSCREEN 2065
|
||||
#define ID_STR_MANAGESKIN 2066
|
||||
#define ID_STR_EDITSKIN 2067
|
||||
#define ID_STR_REFRESHSKIN 2068
|
||||
#define ID_STR_UNLOADSKIN 2069
|
||||
#define ID_STR_REFRESH 2070
|
||||
#define ID_STR_EDIT 2071
|
||||
#define ID_STR_EXPAND 2072
|
||||
#define ID_STR_OPENFOLDER 2073
|
||||
#define ID_STR_DISABLEDRAGGING 2074
|
||||
#define ID_STR_0PERCENT 2075
|
||||
#define ID_STR_10PERCENT 2076
|
||||
#define ID_STR_20PERCENT 2077
|
||||
#define ID_STR_30PERCENT 2078
|
||||
#define ID_STR_40PERCENT 2079
|
||||
#define ID_STR_50PERCENT 2080
|
||||
#define ID_STR_60PERCENT 2081
|
||||
#define ID_STR_70PERCENT 2082
|
||||
#define ID_STR_80PERCENT 2083
|
||||
#define ID_STR_90PERCENT 2084
|
||||
#define ID_STR_MANAGE 2085
|
||||
#define ID_STR_ABOUT 2086
|
||||
#define ID_STR_HELP 2087
|
||||
#define ID_STR_NOSKINS 2088
|
||||
#define ID_STR_NOTHEMES 2089
|
||||
#define ID_STR_EDITSETTINGS 2090
|
||||
#define ID_STR_REFRESHALL 2091
|
||||
#define ID_STR_LOGGING 2092
|
||||
#define ID_STR_SHOWLOGFILE 2093
|
||||
#define ID_STR_STARTLOGGING 2094
|
||||
#define ID_STR_STOPLOGGING 2095
|
||||
#define ID_STR_DELETELOGFILE 2096
|
||||
#define ID_STR_DEBUGMODE 2097
|
||||
#define ID_STR_EXIT 2098
|
||||
#define ID_STR_MANAGE 2002
|
||||
#define ID_STR_ABOUT 2003
|
||||
#define ID_STR_HELP 2004
|
||||
#define ID_STR_SKINS 2005
|
||||
#define ID_STR_NOSKINS 2006
|
||||
#define ID_STR_OPENFOLDER 2007
|
||||
#define ID_STR_DISABLEDRAGGING 2008
|
||||
#define ID_STR_THEMES 2009
|
||||
#define ID_STR_NOTHEMES 2010
|
||||
#define ID_STR_EDITSETTINGS 2011
|
||||
#define ID_STR_REFRESHALL 2012
|
||||
#define ID_STR_LOGGING 2013
|
||||
#define ID_STR_SHOWLOGFILE 2014
|
||||
#define ID_STR_STARTLOGGING 2015
|
||||
#define ID_STR_STOPLOGGING 2016
|
||||
#define ID_STR_DELETELOGFILE 2017
|
||||
#define ID_STR_DEBUGMODE 2018
|
||||
#define ID_STR_EXIT 2019
|
||||
#define ID_STR_VARIANTS 2020
|
||||
#define ID_STR_SETTINGS 2021
|
||||
#define ID_STR_POSITION 2022
|
||||
#define ID_STR_DISPLAYMONITOR 2023
|
||||
#define ID_STR_USEDEFAULTMONITOR 2024
|
||||
#define ID_STR_VIRTUALSCREEN 2025
|
||||
#define ID_STR_AUTOSELECTMONITOR 2026
|
||||
#define ID_STR_STAYTOPMOST 2027
|
||||
#define ID_STR_TOPMOST 2028
|
||||
#define ID_STR_NORMAL 2029
|
||||
#define ID_STR_BOTTOM 2030
|
||||
#define ID_STR_ONDESKTOP 2031
|
||||
#define ID_STR_FROMRIGHT 2032
|
||||
#define ID_STR_FROMBOTTOM 2033
|
||||
#define ID_STR_XASPERCENTAGE 2034
|
||||
#define ID_STR_YASPERCENTAGE 2035
|
||||
#define ID_STR_TRANSPARENCY 2036
|
||||
#define ID_STR_0PERCENT 2037
|
||||
#define ID_STR_10PERCENT 2038
|
||||
#define ID_STR_20PERCENT 2039
|
||||
#define ID_STR_30PERCENT 2040
|
||||
#define ID_STR_40PERCENT 2041
|
||||
#define ID_STR_50PERCENT 2042
|
||||
#define ID_STR_60PERCENT 2043
|
||||
#define ID_STR_70PERCENT 2044
|
||||
#define ID_STR_80PERCENT 2045
|
||||
#define ID_STR_90PERCENT 2046
|
||||
#define ID_STR_FADEIN 2047
|
||||
#define ID_STR_FADEOUT 2048
|
||||
#define ID_STR_HIDEONMOUSEOVER 2049
|
||||
#define ID_STR_DRAGGABLE 2050
|
||||
#define ID_STR_SAVEPOSITION 2051
|
||||
#define ID_STR_SNAPTOEDGES 2052
|
||||
#define ID_STR_CLICKTHROUGH 2053
|
||||
#define ID_STR_KEEPONSCREEN 2054
|
||||
#define ID_STR_MANAGESKIN 2055
|
||||
#define ID_STR_EDITSKIN 2056
|
||||
#define ID_STR_REFRESHSKIN 2057
|
||||
#define ID_STR_UNLOADSKIN 2058
|
||||
#define ID_STR_CLOSE 2059
|
||||
#define ID_STR_ABOUTRAINMETER 2060
|
||||
#define ID_STR_LOG 2061
|
||||
#define ID_STR_MEASURES 2062
|
||||
#define ID_STR_VARIABLES 2063
|
||||
#define ID_STR_PLUGINS 2064
|
||||
#define ID_STR_VERSION 2065
|
||||
#define ID_STR_TYPE 2066
|
||||
#define ID_STR_TIME 2067
|
||||
#define ID_STR_MESSAGE 2068
|
||||
#define ID_STR_NAME 2069
|
||||
#define ID_STR_RANGE 2070
|
||||
#define ID_STR_VALUE 2071
|
||||
#define ID_STR_AUTHOR 2072
|
||||
#define ID_STR_ERROR 2073
|
||||
#define ID_STR_WARNING 2074
|
||||
#define ID_STR_NOTICE 2075
|
||||
#define ID_STR_DEBUG 2076
|
||||
#define ID_STR_GETLATESTVERSION 2077
|
||||
#define ID_STR_COPYRIGHTNOTICE 2078
|
||||
#define ID_STR_COPYTOCLIPBOARD 2079
|
||||
#define ID_STR_MANAGERAINMETER 2080
|
||||
#define ID_STR_ACTIVESKINS 2081
|
||||
#define ID_STR_EXPAND 2082
|
||||
#define ID_STR_COLLAPSE 2083
|
||||
#define ID_STR_OPENLOG 2084
|
||||
#define ID_STR_LOAD 2085
|
||||
#define ID_STR_UNLOAD 2086
|
||||
#define ID_STR_REFRESH 2087
|
||||
#define ID_STR_EDIT 2088
|
||||
#define ID_STR_AUTHORSC 2089
|
||||
#define ID_STR_VERSIONSC 2090
|
||||
#define ID_STR_LICENSESC 2091
|
||||
#define ID_STR_INFORMATIONSC 2092
|
||||
#define ID_STR_ADDMETADATA 2093
|
||||
#define ID_STR_COORDINATESSC 2094
|
||||
#define ID_STR_POSITIONSC 2095
|
||||
#define ID_STR_LOADORDERSC 2096
|
||||
#define ID_STR_TRANSPARENCYSC 2097
|
||||
#define ID_STR_ONHOVERSC 2098
|
||||
#define ID_STR_DONOTHING 2099
|
||||
#define ID_STR_HIDE 2100
|
||||
#define ID_STR_SAVENEWTHEME 2101
|
||||
#define ID_STR_THEMEDESCRIPTION 2102
|
||||
#define ID_STR_SAVEASEMPTYTHEME 2103
|
||||
#define ID_STR_EXCLUDEUNUSEDSKINS 2104
|
||||
#define ID_STR_INCLUDEWALLPAPER 2105
|
||||
#define ID_STR_NAMESC 2106
|
||||
#define ID_STR_SAVE 2107
|
||||
#define ID_STR_SAVEDTHEMES 2108
|
||||
#define ID_STR_DELETE 2109
|
||||
#define ID_STR_BACKUP 2110
|
||||
#define ID_STR_BACKUPDESCRIPTION 2111
|
||||
#define ID_STR_BACKUPE 2112
|
||||
#define ID_STR_LANGUAGESC 2113
|
||||
#define ID_STR_GENERAL 2114
|
||||
#define ID_STR_CHECKFORUPDATES 2115
|
||||
#define ID_STR_RESETSTATISTICS 2116
|
||||
#define ID_STR_LOGTOFILE 2117
|
||||
#define ID_STR_SETTINGSNOTWRITABLE 2118
|
||||
#define ID_STR_SETTINGSMOVEFILE 2119
|
||||
#define ID_STR_SETTINGSREADONLY 2120
|
||||
#define ID_STR_THEMEALREADYEXISTS 2121
|
||||
#define ID_STR_THEMESAVEFAIL 2122
|
||||
#define ID_STR_THEMEDELETE 2123
|
||||
#define ID_STR_LOGFILECREATEFAIL 2124
|
||||
#define ID_STR_LOGFILEDELETE 2125
|
||||
#define ID_STR_NOAVAILABLESKINS 2126
|
||||
#define ID_STR_UNABLETOACTIVATESKIN 2127
|
||||
#define ID_STR_UNABLETOREFRESHSKIN 2128
|
||||
#define ID_STR_NEWVERSIONREQUIRED 2129
|
||||
#define ID_STR_NOMETERSINSKIN 2130
|
||||
#define ID_STR_INCLUDEINFINITELOOP 2131
|
||||
#define ID_STR_WELCOME 2132
|
||||
#define ID_STR_CLICKTOMANAGE 2133
|
||||
#define ID_STR_CLICKTODOWNLOAD 2134
|
||||
#define ID_STR_CREATERMSKINPACKAGE 2135
|
||||
#define ID_STR_EDITORSC 2136
|
||||
#define ID_STR_ELLIPSIS 2137
|
||||
#define ID_STR_SHOWNOTIFICATIONAREAICON 2138
|
||||
|
||||
#define IDM_REFRESH 4001
|
||||
#define IDM_QUIT 4002
|
||||
|
Loading…
Reference in New Issue
Block a user