activate printer folder menu
Modified: trunk/reactos/subsys/system/explorer/shell/entries.cpp
Modified: trunk/reactos/subsys/system/explorer/shell/shellbrowser.cpp
Modified: trunk/reactos/subsys/system/explorer/shell/shellfs.cpp
Modified: trunk/reactos/subsys/system/explorer/taskbar/desktopbar.h
Modified: trunk/reactos/subsys/system/explorer/taskbar/startmenu.cpp
_____
Modified: trunk/reactos/subsys/system/explorer/shell/entries.cpp
--- trunk/reactos/subsys/system/explorer/shell/entries.cpp
2005-04-03 13:45:23 UTC (rev 14477)
+++ trunk/reactos/subsys/system/explorer/shell/entries.cpp
2005-04-03 14:32:47 UTC (rev 14478)
@@ -323,7 +323,7 @@
ICON_ID icon_id = ICID_NONE;
- if (get_path(path))
+ if (get_path(path) && _tcsncmp(path,TEXT("::{"),3))
icon_id = g_Globals._icon_cache.extract(path);
if (icon_id == ICID_NONE) {
_____
Modified: trunk/reactos/subsys/system/explorer/shell/shellbrowser.cpp
--- trunk/reactos/subsys/system/explorer/shell/shellbrowser.cpp
2005-04-03 13:45:23 UTC (rev 14477)
+++ trunk/reactos/subsys/system/explorer/shell/shellbrowser.cpp
2005-04-03 14:32:47 UTC (rev 14478)
@@ -485,6 +485,9 @@
_shellpath_info(info) //@@ copies info -> no referenz to
_create_info !
{
/**todo Conversion of shell path into path string -> store into URL
history
+ const String& path =
GetDesktopFolder().get_name(info._shell_path, SHGDN_FORADDRESSBAR);
+ const String& parsingpath =
GetDesktopFolder().get_name(info._shell_path, SHGDN_FORPARSING);
+
// store path into history
if (info._path && *info._path)
_url_history.push(info._path);
_____
Modified: trunk/reactos/subsys/system/explorer/shell/shellfs.cpp
--- trunk/reactos/subsys/system/explorer/shell/shellfs.cpp
2005-04-03 13:45:23 UTC (rev 14477)
+++ trunk/reactos/subsys/system/explorer/shell/shellfs.cpp
2005-04-03 14:32:47 UTC (rev 14478)
@@ -235,7 +235,7 @@
TCHAR buffer[MAX_PATH];
- if ((scan_flags&SCAN_FILESYSTEM) && get_path(buffer)) {
+ if ((scan_flags&SCAN_FILESYSTEM) && get_path(buffer) &&
_tcsncmp(buffer,TEXT("::{"),3)) {
Entry* entry = NULL; // eliminate useless GCC warning
by initializing entry
LPTSTR p = buffer + _tcslen(buffer);
_____
Modified: trunk/reactos/subsys/system/explorer/taskbar/desktopbar.h
--- trunk/reactos/subsys/system/explorer/taskbar/desktopbar.h
2005-04-03 13:45:23 UTC (rev 14477)
+++ trunk/reactos/subsys/system/explorer/taskbar/desktopbar.h
2005-04-03 14:32:47 UTC (rev 14478)
@@ -50,13 +50,14 @@
#define IDC_NETWORK 0x100E
#define IDC_CONNECTIONS 0x100F
#define IDC_DRIVES 0x1010
-#define IDC_SETTINGS_MENU 0x1011
-#define IDC_CONTROL_PANEL 0x1012
+#define IDC_CONTROL_PANEL 0x1011
+#define IDC_SETTINGS_MENU 0x1012
#define IDC_PRINTERS 0x1013
-#define IDC_BROWSE 0x1014
-#define IDC_SEARCH_PROGRAM 0x1015
-#define IDC_SEARCH 0x1016
-#define IDC_TERMINATE 0x1017
+#define IDC_PRINTERS_MENU 0x1014
+#define IDC_BROWSE 0x1015
+#define IDC_SEARCH_PROGRAM 0x1016
+#define IDC_SEARCH 0x1017
+#define IDC_TERMINATE 0x1018
#define IDC_FIRST_MENU 0x3000
_____
Modified: trunk/reactos/subsys/system/explorer/taskbar/startmenu.cpp
--- trunk/reactos/subsys/system/explorer/taskbar/startmenu.cpp
2005-04-03 13:45:23 UTC (rev 14477)
+++ trunk/reactos/subsys/system/explorer/taskbar/startmenu.cpp
2005-04-03 14:32:47 UTC (rev 14478)
@@ -1854,31 +1854,52 @@
ExplorerPropertySheet(g_Globals._hwndDesktopBar);
break;
+ case IDC_CONTROL_PANEL: {
+ CloseStartMenu(id);
+#ifndef _NO_MDI
+ XMLPos explorer_options =
g_Globals.get_cfg("general/explorer");
+ bool mdi = XMLBool(explorer_options, "mdi", true);
+
+ if (mdi)
+
MDIMainFrame::Create(TEXT("::{20D04FE0-3AEA-1069-A2D8-08002B30309D}\\::{
21EC2020-3AEA-1069-A2DD-08002B30309D}"), 0);
+ else
+#endif
+
SDIMainFrame::Create(TEXT("::{20D04FE0-3AEA-1069-A2D8-08002B30309D}\\::{
21EC2020-3AEA-1069-A2DD-08002B30309D}"), 0);
+ break;}
+
case IDC_SETTINGS_MENU:
CreateSubmenu(id, CSIDL_CONTROLS,
ResString(IDS_SETTINGS_MENU));
break;
- case IDC_PRINTERS:
+ case IDC_PRINTERS: {
+ CloseStartMenu(id);
#ifdef _ROS_ // to be removed when printer folder will be implemented
MessageBox(0, TEXT("printer folder not yet implemented
in SHELL32"), ResString(IDS_TITLE), MB_OK);
#else
- CreateSubmenu(id, CSIDL_PRINTERS, CSIDL_PRINTHOOD,
ResString(IDS_PRINTERS));
-#endif
- break;
-
- case IDC_CONTROL_PANEL: {
- CloseStartMenu(id);
#ifndef _NO_MDI
XMLPos explorer_options =
g_Globals.get_cfg("general/explorer");
bool mdi = XMLBool(explorer_options, "mdi", true);
if (mdi)
-
MDIMainFrame::Create(TEXT("::{20D04FE0-3AEA-1069-A2D8-08002B30309D}\\::{
21EC2020-3AEA-1069-A2DD-08002B30309D}"), 0);
+
MDIMainFrame::Create(TEXT("::{20D04FE0-3AEA-1069-A2D8-08002B30309D}\\::{
21EC2020-3AEA-1069-A2DD-08002B30309D}\\::{2227A280-3AEA-1069-A2DE-08002B
30309D}"), 0);
else
#endif
-
SDIMainFrame::Create(TEXT("::{20D04FE0-3AEA-1069-A2D8-08002B30309D}\\::{
21EC2020-3AEA-1069-A2DD-08002B30309D}"), 0);
+
SDIMainFrame::Create(TEXT("::{20D04FE0-3AEA-1069-A2D8-08002B30309D}\\::{
21EC2020-3AEA-1069-A2DD-08002B30309D}\\::{2227A280-3AEA-1069-A2DE-08002B
30309D}"), 0);
+#endif
break;}
+ case IDC_PRINTERS_MENU:
+ CreateSubmenu(id, CSIDL_PRINTERS, CSIDL_PRINTHOOD,
ResString(IDS_PRINTERS));
+/* StartMenuFolders new_folders;
+
+ try {
+
new_folders.push_back(ShellPath(TEXT("::{20D04FE0-3AEA-1069-A2D8-08002B3
0309D}\\::{21EC2020-3AEA-1069-A2DD-08002B30309D}\\::{2227A280-3AEA-1069-
A2DE-08002B30309D}")));
+ } catch(COMException&) {
+ }
+
+ CreateSubmenu(id, new_folders,
ResString(IDS_PRINTERS));*/
+ break;
+
case IDC_ADMIN:
CreateSubmenu(id, CSIDL_COMMON_ADMINTOOLS,
CSIDL_ADMINTOOLS, ResString(IDS_ADMIN));
break;
@@ -2009,16 +2030,11 @@
{
super::AddEntries();
-#ifndef __MINGW32__ // SHRestricted() missing in MinGW (as of
29.10.2003)
- if (!g_Globals._SHRestricted ||
!SHRestricted(REST_NOCONTROLPANEL))
-#endif
- AddButton(ResString(IDS_CONTROL_PANEL), ICID_CONFIG,
false, IDC_CONTROL_PANEL);
-
#ifdef _ROS_ // to be removed when printer/network will be
implemented
- AddButton(ResString(IDS_PRINTERS),
ICID_PRINTER, false, IDC_PRINTERS);
+ AddButton(ResString(IDS_PRINTERS),
ICID_PRINTER, false, IDC_PRINTERS_MENU);
AddButton(ResString(IDS_CONNECTIONS), ICID_NETWORK,
false, IDC_CONNECTIONS);
#else
- AddButton(ResString(IDS_PRINTERS),
ICID_PRINTER, true, IDC_PRINTERS);
+ AddButton(ResString(IDS_PRINTERS),
ICID_PRINTER, true, IDC_PRINTERS_MENU);
AddButton(ResString(IDS_CONNECTIONS), ICID_NETWORK,
true, IDC_CONNECTIONS);
#endif
AddButton(ResString(IDS_ADMIN),
ICID_CONFIG, true, IDC_ADMIN);
@@ -2029,6 +2045,13 @@
AddButton(ResString(IDS_SETTINGS_MENU), ICID_CONFIG,
true, IDC_SETTINGS_MENU);
AddButton(ResString(IDS_DESKTOPBAR_SETTINGS), ICID_CONFIG,
false, ID_DESKTOPBAR_SETTINGS);
+
+ AddButton(ResString(IDS_PRINTERS),
ICID_PRINTER, false, IDC_PRINTERS);
+
+#ifndef __MINGW32__ // SHRestricted() missing in MinGW (as of
29.10.2003)
+ if (!g_Globals._SHRestricted ||
!SHRestricted(REST_NOCONTROLPANEL))
+#endif
+ AddButton(ResString(IDS_CONTROL_PANEL), ICID_CONFIG,
false, IDC_CONTROL_PANEL);
}
void BrowseMenu::AddEntries()