aboutsummaryrefslogtreecommitdiff
path: root/Src/Plugins/General/gen_ml/skinnedfolder.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Src/Plugins/General/gen_ml/skinnedfolder.cpp')
-rw-r--r--Src/Plugins/General/gen_ml/skinnedfolder.cpp61
1 files changed, 61 insertions, 0 deletions
diff --git a/Src/Plugins/General/gen_ml/skinnedfolder.cpp b/Src/Plugins/General/gen_ml/skinnedfolder.cpp
new file mode 100644
index 00000000..cd649e46
--- /dev/null
+++ b/Src/Plugins/General/gen_ml/skinnedfolder.cpp
@@ -0,0 +1,61 @@
+#include "./skinnedfolder.h"
+#include "../winamp/wa_dlg.h"
+#include "./skinning.h"
+
+
+SkinnedFolderBrowser::SkinnedFolderBrowser(void) : SkinnedScrollWnd(FALSE)
+{
+}
+
+SkinnedFolderBrowser::~SkinnedFolderBrowser(void)
+{
+
+}
+
+BOOL SkinnedFolderBrowser::Attach(HWND hwndFB)
+{
+ if(!SkinnedScrollWnd::Attach(hwndFB)) return FALSE;
+
+ SetType(SKINNEDWND_TYPE_FOLDERBROWSER);
+ SetMode(SCROLLMODE_STANDARD);
+ DisableNoScroll(TRUE);
+
+ FOLDERBROWSERINFO fbi;
+ fbi.cbSize = sizeof(FOLDERBROWSERINFO);
+ if (FolderBrowser_GetInfo(hwnd, &fbi))
+ {
+ if (NULL != fbi.hwndActive) SkinWindowEx(fbi.hwndActive, SKINNEDWND_TYPE_LISTBOX, style);
+ if (NULL != fbi.hwndDraw) SkinWindowEx(fbi.hwndDraw, SKINNEDWND_TYPE_LISTBOX, style);
+ }
+
+ SetWindowPos(hwnd, NULL, 0, 0, 0, 0, SWP_NOSIZE | SWP_NOMOVE | SWP_NOZORDER | SWP_NOACTIVATE | SWP_FRAMECHANGED);
+ return TRUE;
+}
+
+
+BOOL SkinnedFolderBrowser::SetStyle(UINT newStyle, BOOL bRedraw)
+{
+ BOOL result = __super::SetStyle(newStyle, bRedraw);
+ if (hwnd)
+ {
+ FOLDERBROWSERINFO fbi;
+ fbi.cbSize = sizeof(FOLDERBROWSERINFO);
+ if (FolderBrowser_GetInfo(hwnd, &fbi))
+ {
+ if (NULL != fbi.hwndActive) MLSkinnedWnd_SetStyle(fbi.hwndActive, style);
+ if (NULL != fbi.hwndDraw) MLSkinnedWnd_SetStyle(fbi.hwndDraw, style);
+ }
+ }
+ return result;
+}
+
+void SkinnedFolderBrowser::OnSkinChanged(BOOL bNotifyChildren, BOOL bRedraw)
+{
+ if (SWS_USESKINCOLORS & style)
+ {
+ FolderBrowser_SetBkColor(hwnd, WADlg_getColor(WADLG_ITEMBG));
+ FolderBrowser_SetTextColor(hwnd, WADlg_getColor(WADLG_ITEMFG));
+ }
+ __super::OnSkinChanged(bNotifyChildren, bRedraw);
+}
+