XMLPos explorer_options = g_Globals.get_cfg("general/explorer");
bool mdi = XMLBool(explorer_options, "mdi", true);
+ bool separateFolders = XMLBool(explorer_options, "separate-folders", true);
int id = mdi? IDC_MDI: IDC_SDI;
CheckDlgButton(hwnd, id, BST_CHECKED);
SetFocus(GetDlgItem(hwnd, id));
+
+ CheckDlgButton(hwnd, IDC_SEPARATE_SUBFOLDERS, separateFolders?BST_CHECKED:BST_UNCHECKED);
}
int MdiSdiDlg::Command(int id, int code)
switch(id) {
case IDOK: {
bool mdi = IsDlgButtonChecked(_hwnd, IDC_MDI)==BST_CHECKED;
+ bool separateFolders = IsDlgButtonChecked(_hwnd, IDC_SEPARATE_SUBFOLDERS)==BST_CHECKED;
+
XMLPos explorer_options = g_Globals.get_cfg("general/explorer");
+
XMLBoolRef(explorer_options, "mdi") = mdi;
+ XMLBoolRef(explorer_options, "separate-folders") = separateFolders;
} // fall through
case IDCANCEL:
<explorer-cfg>
<general>
<look-and-feel name="classic"/>
- <explorer mdi="true"/>
+ <explorer mdi="true" separate-folders="true"/>
<language name="EN"/>
</general>
<desktop>
<icon-alignment algorithm="simple" start="left-top" direction="horizontal"/>
</desktop>
-
<desktopbar>
<options show-clock="true"/>
<positions>
PUSHBUTTON "&Zru\9ait",IDCANCEL,151,153,50,14\r
END\r
\r
-IDD_MDI_SDI DIALOGEX 0, 0, 194, 138\r
+IDD_MDI_SDI DIALOGEX 0, 0, 194, 157\r
STYLE WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\r
EXSTYLE WS_EX_APPWINDOW\r
CAPTION "Volba MDI / SDI módu"\r
LTEXT "Prosím zvolte si Vámi upøednostòovaný zpùsob zobrazení oken prùzkumníka:",\r
IDC_STATIC,7,7,160,8\r
CONTROL "&MDI (Mnoho dokumentový interface)",IDC_MDI,"Button",\r
- BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP,7,30,121,10\r
- CONTROL 170,IDC_STATIC,"Static",SS_BITMAP,145,23,15,13\r
+ BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP,7,31,121,10\r
CONTROL "&SDI (Jedno dokumentový interface)",IDC_SDI,"Button",\r
- BS_AUTORADIOBUTTON,7,53,115,10\r
+ BS_AUTORADIOBUTTON,7,62,115,10\r
+ CONTROL 170,IDC_STATIC,"Static",SS_BITMAP,145,23,15,13\r
CONTROL 171,IDC_STATIC,"Static",SS_BITMAP,145,57,15,13\r
+ CONTROL "Open Subfolders in s&eparate windows",\r
+ IDC_SEPARATE_SUBFOLDERS,"Button",BS_AUTOCHECKBOX | \r
+ WS_TABSTOP,7,90,135,10\r
LTEXT "Toto nastavení bude pou\9eito jako implicitní pro v\9aechny okna prùzkumníka.",\r
- IDC_STATIC,7,76,174,22\r
- DEFPUSHBUTTON "&Nastavit",IDOK,29,105,50,14,WS_GROUP\r
- PUSHBUTTON "&Zru\9ait",IDCANCEL,106,105,50,14\r
+ IDC_STATIC,7,111,174,22\r
+ DEFPUSHBUTTON "&Nastavit",IDOK,29,136,50,14,WS_GROUP\r
+ PUSHBUTTON "&Zru\9ait",IDCANCEL,106,136,50,14\r
END\r
\r
\r
PUSHBUTTON "&Cancel",IDCANCEL,151,153,50,14\r
END\r
\r
-IDD_MDI_SDI DIALOGEX 0, 0, 194, 138\r
+IDD_MDI_SDI DIALOGEX 0, 0, 194, 157\r
STYLE WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\r
EXSTYLE WS_EX_APPWINDOW\r
CAPTION "Choose MDI / SDI mode"\r
-FONT 8, "MS Sans Serif", 0, 0, 0x1\r
+FONT 8, "MS Sans Serif"\r
BEGIN\r
LTEXT "Please select your prefered explorer user interface:",\r
IDC_STATIC,7,7,160,8\r
CONTROL "&MDI (multiple document interface)",IDC_MDI,"Button",\r
BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP,7,31,121,10\r
- CONTROL 170,IDC_STATIC,"Static",SS_BITMAP,145,23,15,13\r
CONTROL "&SDI (single document interface)",IDC_SDI,"Button",\r
BS_AUTORADIOBUTTON,7,62,115,10\r
+ CONTROL 170,IDC_STATIC,"Static",SS_BITMAP,145,23,15,13\r
CONTROL 171,IDC_STATIC,"Static",SS_BITMAP,145,57,15,13\r
+ CONTROL "Open Subfolders in s&eparate windows",\r
+ IDC_SEPARATE_SUBFOLDERS,"Button",BS_AUTOCHECKBOX | \r
+ WS_TABSTOP,7,90,135,10\r
LTEXT "This setting will be used as default for all explorer windows in the future.",\r
- IDC_STATIC,7,91,174,22\r
- DEFPUSHBUTTON "&OK",IDOK,29,117,50,14,WS_GROUP\r
- PUSHBUTTON "&Cancel",IDCANCEL,106,117,50,14\r
+ IDC_STATIC,7,111,174,22\r
+ DEFPUSHBUTTON "&OK",IDOK,29,136,50,14,WS_GROUP\r
+ PUSHBUTTON "&Cancel",IDCANCEL,106,136,50,14\r
END\r
\r
\r
PUSHBUTTON "&Cancelar",IDCANCEL,151,153,50,14\r
END\r
\r
-IDD_MDI_SDI DIALOGEX 0, 0, 194, 138\r
+IDD_MDI_SDI DIALOGEX 0, 0, 194, 157\r
STYLE WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\r
EXSTYLE WS_EX_APPWINDOW\r
CAPTION "Elegir modo MDI / SDI"\r
-FONT 8, "MS Sans Serif", 0, 0, 0x1\r
+FONT 8, "MS Sans Serif"\r
BEGIN\r
LTEXT "Por favor, seleccione su interfaz de usuario preferida para el explorador:",\r
IDC_STATIC,7,7,170,18\r
CONTROL "&MDI (Multiple Document Interface)",IDC_MDI,"Button",\r
- BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP,7,30,123,10\r
+ BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP,7,31,123,10\r
CONTROL "&SDI (Single Document Interface)",IDC_SDI,"Button",\r
- BS_AUTORADIOBUTTON,7,53,116,10\r
+ BS_AUTORADIOBUTTON,7,62,116,10\r
+ CONTROL 170,IDC_STATIC,"Static",SS_BITMAP,145,23,15,13\r
+ CONTROL 171,IDC_STATIC,"Static",SS_BITMAP,145,57,15,13\r
+ CONTROL "Open Subfolders in s&eparate windows",\r
+ IDC_SEPARATE_SUBFOLDERS,"Button",BS_AUTOCHECKBOX | \r
+ WS_TABSTOP,7,90,135,10\r
LTEXT "Esta configuración se usará por defecto y apartir de ahora para todas las ventanas del explorador.",\r
- IDC_STATIC,7,76,174,22\r
- DEFPUSHBUTTON "&Aceptar",IDOK,29,105,50,14,WS_GROUP\r
- PUSHBUTTON "&Cancelar",IDCANCEL,106,105,50,14\r
+ IDC_STATIC,7,111,174,22\r
+ DEFPUSHBUTTON "&Aceptar",IDOK,29,136,50,14,WS_GROUP\r
+ PUSHBUTTON "&Cancelar",IDCANCEL,106,136,50,14\r
END\r
\r
\r
PUSHBUTTON "&Ñïðàâêà",254,158,42,47,14\r
END\r
\r
-IDD_MDI_SDI DIALOGEX 0, 0, 194, 138\r
+IDD_MDI_SDI DIALOGEX 0, 0, 194, 157\r
STYLE WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\r
EXSTYLE WS_EX_APPWINDOW\r
CAPTION "Âûáåðèòå ðåæèì MDI / SDI"\r
LTEXT "Âûáåðèòå íàèáîëåå ïðåäïî÷òèòåëüíûé äëÿ âàñ\nâèä ïðîâîäíèêà:",\r
IDC_STATIC,7,7,171,17\r
CONTROL "&MDI (ìíîãîäîêóìåíòíûé íòåðôåéñ)",IDC_MDI,"Button",\r
- BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP,7,30,136,10\r
- CONTROL 170,IDC_STATIC,"Static",SS_BITMAP,145,23,15,13\r
+ BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP,7,31,136,10\r
CONTROL "&SDI (îäíîäîêóìåíòíûé èíòåðôåéñ)",IDC_SDI,"Button",\r
- BS_AUTORADIOBUTTON,7,53,134,10\r
+ BS_AUTORADIOBUTTON,7,62,134,10\r
+ CONTROL 170,IDC_STATIC,"Static",SS_BITMAP,145,23,15,13\r
CONTROL 171,IDC_STATIC,"Static",SS_BITMAP,145,57,15,13\r
+ CONTROL "Open Subfolders in s&eparate windows",\r
+ IDC_SEPARATE_SUBFOLDERS,"Button",BS_AUTOCHECKBOX | \r
+ WS_TABSTOP,7,90,135,10\r
LTEXT "Ýòè íàñòðîéêè áóäóò èñïîëüçîâàííû, êàê çíà÷åíèå ïî óìîë÷àíèþ äëÿ âñåõ îêîí ïðîâîäíèêà â áóäóùåì.",\r
- IDC_STATIC,7,76,174,26\r
- DEFPUSHBUTTON "&OK",IDOK,29,105,50,14,WS_GROUP\r
- PUSHBUTTON "&Cancel",IDCANCEL,106,105,50,14\r
+ IDC_STATIC,7,107,174,26\r
+ DEFPUSHBUTTON "&OK",IDOK,29,136,50,14,WS_GROUP\r
+ PUSHBUTTON "&Cancel",IDCANCEL,106,136,50,14\r
END\r
\r
IDD_NOTIFYAREA DIALOGEX 0, 0, 208, 174\r
PUSHBUTTON "&Avbryt",IDCANCEL,151,153,50,14\r
END\r
\r
-IDD_MDI_SDI DIALOGEX 0, 0, 194, 138\r
+IDD_MDI_SDI DIALOGEX 0, 0, 194, 157\r
STYLE WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\r
EXSTYLE WS_EX_APPWINDOW\r
CAPTION "Välj MDI / SDI Läge"\r
-FONT 8, "MS Sans Serif", 0, 0, 0x1\r
+FONT 8, "MS Sans Serif"\r
BEGIN\r
LTEXT "Välj det gränssnitt du föredrar:",IDC_STATIC,7,7,160,8\r
CONTROL "&MDI (multiple document interface)",IDC_MDI,"Button",\r
- BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP,7,30,121,10\r
- CONTROL 170,IDC_STATIC,"Static",SS_BITMAP,145,23,15,13\r
+ BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP,7,31,121,10\r
CONTROL "&SDI (single document interface)",IDC_SDI,"Button",\r
- BS_AUTORADIOBUTTON,7,53,115,10\r
+ BS_AUTORADIOBUTTON,7,62,115,10\r
+ CONTROL 170,IDC_STATIC,"Static",SS_BITMAP,145,23,15,13\r
CONTROL 171,IDC_STATIC,"Static",SS_BITMAP,145,57,15,13\r
+ CONTROL "Open Subfolders in s&eparate windows",\r
+ IDC_SEPARATE_SUBFOLDERS,"Button",BS_AUTOCHECKBOX | \r
+ WS_TABSTOP,7,90,135,10\r
LTEXT "Den här inställningen kommer att gälla som standard i alla nya explorer-fönster.",\r
- IDC_STATIC,7,76,174,22\r
- DEFPUSHBUTTON "&OK",IDOK,29,105,50,14,WS_GROUP\r
- PUSHBUTTON "&Avbryt",IDCANCEL,106,105,50,14\r
+ IDC_STATIC,7,107,174,22\r
+ DEFPUSHBUTTON "&OK",IDOK,29,136,50,14,WS_GROUP\r
+ PUSHBUTTON "&Avbryt",IDCANCEL,106,136,50,14\r
END\r
\r
\r
#define IDC_WIN_VERSION 1030
#define IDC_MDI 1030
#define IDC_SDI 1031
+#define IDC_SEPARATE_SUBFOLDERS 1034
#define ID_REFRESH 1704
#define ID_ABOUT_WINEFILE 1705
#define IDS_VERSION_STR 5000
#ifndef APSTUDIO_READONLY_SYMBOLS
#define _APS_NEXT_RESOURCE_VALUE 169
#define _APS_NEXT_COMMAND_VALUE 40024
-#define _APS_NEXT_CONTROL_VALUE 1034
+#define _APS_NEXT_CONTROL_VALUE 1035
#define _APS_NEXT_SYMED_VALUE 101
#endif
#endif
if (SUCCEEDED(hr))
if (attribs & SFGAO_FOLDER) {
try {
+ XMLPos explorer_options = g_Globals.get_cfg("general/explorer");
+
+ bool mdi = XMLBool(explorer_options, "mdi", true);
+ bool separateFolders = XMLBool(explorer_options, "separate-folders", true);
+
ShellPath pidl_abs = ShellPath(pidl).create_absolute_pidl(parent_pidl);
- if (hFrameWnd) {
- if (SendMessage(hFrameWnd, PM_OPEN_WINDOW, OWM_PIDL, (LPARAM)(LPCITEMIDLIST)pidl_abs))
+ if (hFrameWnd && (mdi || !separateFolders)) {
+ int flags = OWM_PIDL;
+
+ if (separateFolders)
+ flags |= OWM_SEPARATE;
+
+ if (SendMessage(hFrameWnd, PM_OPEN_WINDOW, flags, (LPARAM)(LPCITEMIDLIST)pidl_abs))
++cnt;
} else {
HWND hwnd;
#ifndef _NO_MDI
- XMLPos explorer_options = g_Globals.get_cfg("general/explorer");
- bool mdi = XMLBool(explorer_options, "mdi", true);
-
if (mdi)
hwnd = MDIMainFrame::Create(pidl_abs, 0);
else
LRESULT MDIMainFrame::WndProc(UINT nmsg, WPARAM wparam, LPARAM lparam)
{
switch(nmsg) {
- case PM_OPEN_WINDOW: {CONTEXT("MDIMainFrame PM_OPEN_WINDOW");
+ case PM_OPEN_WINDOW: {
+ CONTEXT("MDIMainFrame PM_OPEN_WINDOW");
+
TCHAR buffer[MAX_PATH];
LPCTSTR path;
ShellPath shell_path = DesktopFolderPath();
// Shell Namespace as default view
ShellChildWndInfo create_info(_hmdiclient, path, shell_path);
- create_info._pos.showCmd = SW_SHOWMAXIMIZED;
- create_info._pos.rcNormalPosition.left = 0;
- create_info._pos.rcNormalPosition.top = 0;
- create_info._pos.rcNormalPosition.right = 600;
- create_info._pos.rcNormalPosition.bottom = 280;
+ create_info._pos.showCmd = wparam&OWM_SEPARATE? SW_SHOWNORMAL: SW_SHOWMAXIMIZED;
+ create_info._pos.rcNormalPosition.left = CW_USEDEFAULT;
+ create_info._pos.rcNormalPosition.top = CW_USEDEFAULT;
+ create_info._pos.rcNormalPosition.right = CW_USEDEFAULT;
+ create_info._pos.rcNormalPosition.bottom = CW_USEDEFAULT;
create_info._open_mode = (OPEN_WINDOW_MODE)wparam;
}
break;
- case PM_OPEN_WINDOW: {CONTEXT("SDIMainFrame PM_OPEN_WINDOW");
+ case PM_OPEN_WINDOW: {
+ CONTEXT("SDIMainFrame PM_OPEN_WINDOW");
+
TCHAR buffer[MAX_PATH];
LPCTSTR path;
ShellPath shell_path = DesktopFolderPath();
*buffer = '\0';
path = buffer;
+ shell_path = path;
}
- jump_to(shell_path, (OPEN_WINDOW_MODE)wparam);
+ jump_to(shell_path, (OPEN_WINDOW_MODE)wparam); //@todo content of 'path' not used any more
return TRUE;} // success
default: def:
#define PM_OPEN_WINDOW (WM_APP+0x07)
-enum OPEN_WINDOW_MODE {OWM_EXPLORE=1, OWM_DETAILS=2, OWM_PIDL=4};
+enum OPEN_WINDOW_MODE {OWM_EXPLORE=1, OWM_DETAILS=2, OWM_PIDL=4, OWM_SEPARATE=8};
/// Explorer frame window base class