You can subscribe to this list here.
2006 |
Jan
|
Feb
(24) |
Mar
(9) |
Apr
(4) |
May
(7) |
Jun
(13) |
Jul
(19) |
Aug
(1) |
Sep
(12) |
Oct
(20) |
Nov
(1) |
Dec
(15) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2007 |
Jan
|
Feb
(6) |
Mar
(24) |
Apr
(1) |
May
(10) |
Jun
(30) |
Jul
(46) |
Aug
(20) |
Sep
(12) |
Oct
(27) |
Nov
(51) |
Dec
(58) |
2008 |
Jan
(40) |
Feb
(40) |
Mar
(78) |
Apr
(138) |
May
(4) |
Jun
(1) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2009 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(5) |
Sep
|
Oct
|
Nov
|
Dec
|
2010 |
Jan
|
Feb
|
Mar
|
Apr
(3) |
May
|
Jun
(2) |
Jul
(10) |
Aug
(1) |
Sep
(11) |
Oct
(31) |
Nov
(7) |
Dec
(1) |
2011 |
Jan
(1) |
Feb
|
Mar
(3) |
Apr
|
May
(1) |
Jun
|
Jul
(2) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2012 |
Jan
|
Feb
(1) |
Mar
|
Apr
|
May
|
Jun
|
Jul
(2) |
Aug
(2) |
Sep
|
Oct
|
Nov
(2) |
Dec
(2) |
2013 |
Jan
(3) |
Feb
(5) |
Mar
(1) |
Apr
|
May
|
Jun
(11) |
Jul
(1) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(4) |
2014 |
Jan
(2) |
Feb
(3) |
Mar
|
Apr
|
May
|
Jun
|
Jul
(1) |
Aug
(1) |
Sep
|
Oct
|
Nov
|
Dec
|
2015 |
Jan
|
Feb
(2) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2025 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(4) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: <arn...@us...> - 2008-03-26 14:13:09
|
Revision: 1063 http://dcplusplus.svn.sourceforge.net/dcplusplus/?rev=1063&view=rev Author: arnetheduck Date: 2008-03-26 07:13:06 -0700 (Wed, 26 Mar 2008) Log Message: ----------- cshelp in favorite hubs; don't require the control id for tooltips Modified Paths: -------------- dcplusplus/trunk/help/cshelp.h dcplusplus/trunk/help/cshelp.txt dcplusplus/trunk/help/resource.h dcplusplus/trunk/help/window_favorite_hubs.html dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectHelp.h dcplusplus/trunk/win32/ADLSearchFrame.cpp dcplusplus/trunk/win32/CommandDlg.cpp dcplusplus/trunk/win32/FavHubsFrame.cpp dcplusplus/trunk/win32/MainWindow.cpp dcplusplus/trunk/win32/SettingsDialog.cpp dcplusplus/trunk/win32/SettingsDialog.h dcplusplus/trunk/win32/WinUtil.cpp dcplusplus/trunk/win32/WinUtil.h dcplusplus/trunk/win32/resource.h dcplusplus/trunk/win32/stdafx.h Property Changed: ---------------- dcplusplus/trunk/ Property changes on: dcplusplus/trunk ___________________________________________________________________ Name: bzr:revision-info - timestamp: 2008-03-25 11:06:59.213000059 +0100 committer: Jacek Sieka <arn...@gm...> properties: branch-nick: dcplusplus + timestamp: 2008-03-25 18:52:16.157999992 +0100 committer: zouzou123gen properties: branch-nick: bzr Name: bzr:file-ids - smartwin/include/smartwin/Events.h events.h-20080325100557-k77vniqlbeo19c72-1 smartwin/source/Events.cpp events.cpp-20080325100557-k77vniqlbeo19c72-2 + Name: bzr:revision-id:v3-trunk1 - 1027 arn...@gm...-20080323183926-schknwnkgeo7ivdn 1028 zouzou123gen-20080323220411-r8usuc3qxwuh7zsn 1029 zouzou123gen-20080323221249-0su72zaj13e706mk 1030 arn...@gm...-20080324140623-muba1dl46m000o8c 1031 zouzou123gen-20080324141933-qbgr93ugpe0297m6 1032 arn...@gm...-20080324153706-siidja05n84i00b1 1033 arn...@gm...-20080324153823-lhn3awurnu77riln 1034 arn...@gm...-20080324165650-zapppziji67yf5a2 1035 zouzou123gen-20080324175936-4mqc2kh0lo5wtdu2 1036 zouzou123gen-20080325004602-6wdsoym95mjuhwd3 1037 arn...@gm...-20080325100659-8fqy6q65itmghlep + 1027 arn...@gm...-20080323183926-schknwnkgeo7ivdn 1028 zouzou123gen-20080323220411-r8usuc3qxwuh7zsn 1029 zouzou123gen-20080323221249-0su72zaj13e706mk 1030 arn...@gm...-20080324140623-muba1dl46m000o8c 1031 zouzou123gen-20080324141933-qbgr93ugpe0297m6 1032 arn...@gm...-20080324153706-siidja05n84i00b1 1033 arn...@gm...-20080324153823-lhn3awurnu77riln 1034 arn...@gm...-20080324165650-zapppziji67yf5a2 1035 zouzou123gen-20080324175936-4mqc2kh0lo5wtdu2 1036 zouzou123gen-20080325004602-6wdsoym95mjuhwd3 1037 arn...@gm...-20080325100659-8fqy6q65itmghlep 1038 zouzou123gen-20080325175216-s297sdiucukfvijh Modified: dcplusplus/trunk/help/cshelp.h =================================================================== --- dcplusplus/trunk/help/cshelp.h 2008-03-26 14:11:12 UTC (rev 1062) +++ dcplusplus/trunk/help/cshelp.h 2008-03-26 14:13:06 UTC (rev 1063) @@ -105,5 +105,11 @@ #define IDH_USER_COMMAND_HUB 11099 #define IDH_USER_COMMAND_NICK 11100 #define IDH_USER_COMMAND_ONCE 11101 +#define IDH_FAVORITE_HUBS_CONNECT 11102 +#define IDH_FAVORITE_HUBS_ADD 11103 +#define IDH_FAVORITE_HUBS_PROPERTIES 11104 +#define IDH_FAVORITE_HUBS_MOVE_UP 11105 +#define IDH_FAVORITE_HUBS_MOVE_DOWN 11106 +#define IDH_FAVORITE_HUBS_REMOVE 11107 #endif Modified: dcplusplus/trunk/help/cshelp.txt =================================================================== --- dcplusplus/trunk/help/cshelp.txt 2008-03-26 14:11:12 UTC (rev 1062) +++ dcplusplus/trunk/help/cshelp.txt 2008-03-26 14:13:06 UTC (rev 1063) @@ -202,3 +202,15 @@ Private Message recipient .topic IDH_USER_COMMAND_ONCE Send only once per user from search frame, regardless of how many files you've selected from that user +.topic IDH_FAVORITE_HUBS_CONNECT +Connect to selected hubs. +.topic IDH_FAVORITE_HUBS_ADD +Create a new favorite hub. +.topic IDH_FAVORITE_HUBS_PROPERTIES +Change pre-existing hub properties for the selected hub. +.topic IDH_FAVORITE_HUBS_MOVE_UP +Move up selected hubs in the list. If several hubs have auto connect enabled, the highest hub will be connected to first. +.topic IDH_FAVORITE_HUBS_MOVE_DOWN +Move down selected hubs in the list. If several hubs have auto connect enabled, the lowest hub will be connected to last. +.topic IDH_FAVORITE_HUBS_REMOVE +Removes selected hubs from the favorite hubs list. Modified: dcplusplus/trunk/help/resource.h =================================================================== --- dcplusplus/trunk/help/resource.h 2008-03-26 14:11:12 UTC (rev 1062) +++ dcplusplus/trunk/help/resource.h 2008-03-26 14:13:06 UTC (rev 1063) @@ -5,8 +5,6 @@ #include "cshelp.h" -#define IDH_TOPICS_BEGIN 10000 - #define IDH_STARTPAGE 10000 #define IDH_CHANGELOG 10001 #define IDH_KEYBOARD 10002 @@ -50,6 +48,8 @@ #define IDH_CERTIFICATESPAGE 10313 #define IDH_TABSPAGE 10314 -#define IDH_TOPICS_END 10999 +// reserved for cshelp ids +#define IDH_CSHELP_BEGIN 11000 +#define IDH_CSHELP_END 11999 #endif Modified: dcplusplus/trunk/help/window_favorite_hubs.html =================================================================== --- dcplusplus/trunk/help/window_favorite_hubs.html 2008-03-26 14:11:12 UTC (rev 1062) +++ dcplusplus/trunk/help/window_favorite_hubs.html 2008-03-26 14:13:06 UTC (rev 1063) @@ -25,7 +25,7 @@ <h2>Buttons</h2> <dl style="margin-left: 40px;"> <dt>Connect</dt> - <dd>Connects to selected hubs.<dd> + <dd>Connect to selected hubs.<dd> <dt>New</dt> <dd>Create a new favorite hub.</dd> <dt>Properties</dt> Modified: dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectHelp.h =================================================================== --- dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectHelp.h 2008-03-26 14:11:12 UTC (rev 1062) +++ dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectHelp.h 2008-03-26 14:13:06 UTC (rev 1063) @@ -8,7 +8,7 @@ template<typename WidgetType> class AspectHelp { struct Dispatcher { - typedef std::tr1::function<void (unsigned, HWND, unsigned)> F; + typedef std::tr1::function<void (HWND, unsigned)> F; Dispatcher(const F& f_) : f(f_) { } @@ -16,7 +16,7 @@ LPHELPINFO lphi = reinterpret_cast<LPHELPINFO>(msg.lParam); if(lphi->iContextType != HELPINFO_WINDOW) return false; - f(lphi->iCtrlId, reinterpret_cast<HWND>(lphi->hItemHandle), lphi->dwContextId); + f(reinterpret_cast<HWND>(lphi->hItemHandle), lphi->dwContextId); ret = TRUE; return true; } Modified: dcplusplus/trunk/win32/ADLSearchFrame.cpp =================================================================== --- dcplusplus/trunk/win32/ADLSearchFrame.cpp 2008-03-26 14:11:12 UTC (rev 1062) +++ dcplusplus/trunk/win32/ADLSearchFrame.cpp 2008-03-26 14:13:06 UTC (rev 1063) @@ -92,7 +92,7 @@ cs.caption = T_("&Help"); help = createButton(cs); - help->onClicked(std::tr1::bind(&WinUtil::help, 0, handle(), IDH_ADL_SEARCH)); + help->onClicked(std::tr1::bind(&WinUtil::help, handle(), IDH_ADL_SEARCH)); addWidget(help); } Modified: dcplusplus/trunk/win32/CommandDlg.cpp =================================================================== --- dcplusplus/trunk/win32/CommandDlg.cpp 2008-03-26 14:11:12 UTC (rev 1062) +++ dcplusplus/trunk/win32/CommandDlg.cpp 2008-03-26 14:13:06 UTC (rev 1063) @@ -77,7 +77,7 @@ { onInitDialog(std::tr1::bind(&CommandDlg::handleInitDialog, this)); onFocus(std::tr1::bind(&CommandDlg::handleFocus, this)); - onHelp(std::tr1::bind(&WinUtil::help, _1, _2, _3)); + onHelp(std::tr1::bind(&WinUtil::help, _1, _2)); } CommandDlg::~CommandDlg() { @@ -158,12 +158,12 @@ button = attachButton(IDHELP); button->setText(T_("Help")); - button->onClicked(std::tr1::bind(&WinUtil::help, 0, handle(), IDH_USER_COMMAND)); + button->onClicked(std::tr1::bind(&WinUtil::help, handle(), IDH_USER_COMMAND)); } if(bOpenHelp) { // launch the help file, instead of having the help in the dialog - WinUtil::help(0, handle(), IDH_USER_COMMAND); + WinUtil::help(handle(), IDH_USER_COMMAND); } if(type == UserCommand::TYPE_SEPARATOR) { Modified: dcplusplus/trunk/win32/FavHubsFrame.cpp =================================================================== --- dcplusplus/trunk/win32/FavHubsFrame.cpp 2008-03-26 14:11:12 UTC (rev 1062) +++ dcplusplus/trunk/win32/FavHubsFrame.cpp 2008-03-26 14:13:06 UTC (rev 1063) @@ -71,31 +71,37 @@ cs.caption = T_("&Connect"); connect = createButton(cs); + connect->setHelpId(IDH_FAVORITE_HUBS_CONNECT); connect->onClicked(std::tr1::bind(&FavHubsFrame::openSelected, this)); addWidget(connect); cs.caption = T_("&New..."); add = createButton(cs); + add->setHelpId(IDH_FAVORITE_HUBS_ADD); add->onClicked(std::tr1::bind(&FavHubsFrame::handleAdd, this)); addWidget(add); cs.caption = T_("&Properties"); properties = createButton(cs); + properties->setHelpId(IDH_FAVORITE_HUBS_PROPERTIES); properties->onClicked(std::tr1::bind(&FavHubsFrame::handleProperties, this)); addWidget(properties); cs.caption = T_("Move &Up"); up = createButton(cs); + up->setHelpId(IDH_FAVORITE_HUBS_MOVE_UP); up->onClicked(std::tr1::bind(&FavHubsFrame::handleUp, this)); addWidget(up); cs.caption = T_("Move &Down"); down = createButton(cs); + down->setHelpId(IDH_FAVORITE_HUBS_MOVE_DOWN); down->onClicked(std::tr1::bind(&FavHubsFrame::handleDown, this)); addWidget(down); cs.caption = T_("&Remove"); remove = createButton(cs); + remove->setHelpId(IDH_FAVORITE_HUBS_REMOVE); remove->onClicked(std::tr1::bind(&FavHubsFrame::handleRemove, this)); addWidget(remove); } Modified: dcplusplus/trunk/win32/MainWindow.cpp =================================================================== --- dcplusplus/trunk/win32/MainWindow.cpp 2008-03-26 14:11:12 UTC (rev 1062) +++ dcplusplus/trunk/win32/MainWindow.cpp 2008-03-26 14:13:06 UTC (rev 1063) @@ -87,7 +87,7 @@ onActivate(std::tr1::bind(&MainWindow::handleActivate, this, _1)); onSized(std::tr1::bind(&MainWindow::handleSized, this, _1)); onSpeaker(std::tr1::bind(&MainWindow::handleSpeaker, this, _1, _2)); - onHelp(std::tr1::bind(&WinUtil::help, _1, _2, _3)); + onHelp(std::tr1::bind(&WinUtil::help, _1, _2)); onRaw(std::tr1::bind(&MainWindow::handleTrayIcon, this, _2), SmartWin::Message(WM_APP + 242)); updateStatus(); @@ -130,7 +130,7 @@ speak(PARSE_COMMAND_LINE); if(SETTING(NICK).empty()) { - WinUtil::help(0, handle(), IDH_GENERALPAGE); + WinUtil::help(handle(), IDH_GENERALPAGE); postMessage(WM_COMMAND, IDC_SETTINGS); } @@ -240,9 +240,9 @@ { WidgetMenuPtr help = mainMenu->appendPopup(T_("&Help")); - help->appendItem(IDH_STARTPAGE, T_("Help &Contents\tF1"), std::tr1::bind(&WinUtil::help, 0, handle(), _1)); + help->appendItem(IDH_STARTPAGE, T_("Help &Contents\tF1"), std::tr1::bind(&WinUtil::help, handle(), _1)); help->appendSeparatorItem(); - help->appendItem(IDH_CHANGELOG, T_("Change Log"), std::tr1::bind(&WinUtil::help, 0, handle(), _1)); + help->appendItem(IDH_CHANGELOG, T_("Change Log"), std::tr1::bind(&WinUtil::help, handle(), _1)); help->appendItem(IDC_ABOUT, T_("About DC++..."), std::tr1::bind(&MainWindow::handleAbout, this), SmartWin::BitmapPtr(new SmartWin::Bitmap(IDB_DCPP))); help->appendSeparatorItem(); help->appendItem(IDC_HELP_HOMEPAGE, T_("DC++ Homepage"), std::tr1::bind(&MainWindow::handleLink, this, _1)); Modified: dcplusplus/trunk/win32/SettingsDialog.cpp =================================================================== --- dcplusplus/trunk/win32/SettingsDialog.cpp 2008-03-26 14:11:12 UTC (rev 1062) +++ dcplusplus/trunk/win32/SettingsDialog.cpp 2008-03-26 14:13:06 UTC (rev 1063) @@ -52,7 +52,7 @@ SettingsDialog::SettingsDialog(SmartWin::Widget* parent) : WidgetFactory<SmartWin::WidgetModalDialog>(parent), currentPage(0) { onInitDialog(std::tr1::bind(&SettingsDialog::initDialog, this)); - onHelp(std::tr1::bind(&SettingsDialog::handleHelp, this, _1, _2, _3)); + onHelp(std::tr1::bind(&SettingsDialog::handleHelp, this, _1, _2)); } int SettingsDialog::run() { @@ -84,7 +84,7 @@ button = attachButton(IDHELP); button->setText(T_("Help")); - button->onClicked(std::tr1::bind(&SettingsDialog::handleHelp, this, 0, handle(), IDH_STARTPAGE)); + button->onClicked(std::tr1::bind(&SettingsDialog::handleHelp, this, handle(), IDH_STARTPAGE)); } addPage(T_("Personal information"), new GeneralPage(this)); @@ -106,10 +106,10 @@ return false; } -void SettingsDialog::handleHelp(unsigned ctrlId, HWND hWnd, unsigned helpId) { - if(helpId == IDH_STARTPAGE && currentPage) - helpId = currentPage->getHelpId(); - WinUtil::help(ctrlId, hWnd, helpId); +void SettingsDialog::handleHelp(HWND hWnd, unsigned id) { + if(id == IDH_STARTPAGE && currentPage) + id = currentPage->getHelpId(); + WinUtil::help(hWnd, id); } void SettingsDialog::addPage(const tstring& title, PropPage* page) { Modified: dcplusplus/trunk/win32/SettingsDialog.h =================================================================== --- dcplusplus/trunk/win32/SettingsDialog.h 2008-03-26 14:11:12 UTC (rev 1062) +++ dcplusplus/trunk/win32/SettingsDialog.h 2008-03-26 14:13:06 UTC (rev 1063) @@ -42,7 +42,7 @@ void write(); bool initDialog(); - void handleHelp(unsigned ctrlId, HWND hWnd, unsigned helpId); + void handleHelp(HWND hWnd, unsigned id); void handleOKClicked(); void selectionChanged(); void showPage(PropPage* page); Modified: dcplusplus/trunk/win32/WinUtil.cpp =================================================================== --- dcplusplus/trunk/win32/WinUtil.cpp 2008-03-26 14:11:12 UTC (rev 1062) +++ dcplusplus/trunk/win32/WinUtil.cpp 2008-03-26 14:13:06 UTC (rev 1063) @@ -575,25 +575,33 @@ return true; } -void WinUtil::help(unsigned ctrlId, HWND hWnd, unsigned helpId) { - dcdebug("WinUtil::help; ctrlId: %u; hWnd: %p; helpId: %u\n", ctrlId, hWnd, helpId); +void WinUtil::help(HWND hWnd, unsigned id) { + dcdebug("WinUtil::help; hWnd: %p; id: %u\n", hWnd, id); string path = Util::getDataPath() + "DCPlusPlus.chm"; if(File::getSize(path) == -1) return; tstring helpFile = Text::toT(path); - if(helpId >= IDH_TOPICS_BEGIN && helpId <= IDH_TOPICS_END) - ctrlId = 0; - if(ctrlId && helpId) { - // a control ID has been given; display a toolTip - DWORD ids[3]; - ids[0] = ctrlId; - ids[1] = helpId; - ids[2] = 0; - ::HtmlHelp(hWnd, helpFile.c_str(), HH_TP_HELP_WM_HELP, reinterpret_cast<DWORD_PTR>(ids)); + if(id >= IDH_CSHELP_BEGIN && id <= IDH_CSHELP_END) { + // context-sensitive help; display a tooltip + HH_POPUP popup = { 0 }; + popup.cbStruct = sizeof(HH_POPUP); + popup.idString = id; + + RECT rect; + ::GetWindowRect(hWnd, &rect); + popup.pt.x = (rect.left + rect.right) / 2; + popup.pt.y = rect.top; + + popup.rcMargins.left = 5; + popup.rcMargins.top = 5; + popup.rcMargins.right = 5; + popup.rcMargins.bottom = 5; + + ::HtmlHelp(hWnd, helpFile.c_str(), HH_DISPLAY_TEXT_POPUP, reinterpret_cast<DWORD_PTR>(&popup)); } else - ::HtmlHelp(hWnd, helpFile.c_str(), helpId ? HH_HELP_CONTEXT : HH_DISPLAY_TOC, helpId); + ::HtmlHelp(hWnd, helpFile.c_str(), id ? HH_HELP_CONTEXT : HH_DISPLAY_TOC, id); } bool WinUtil::getVersionInfo(OSVERSIONINFOEX& ver) { Modified: dcplusplus/trunk/win32/WinUtil.h =================================================================== --- dcplusplus/trunk/win32/WinUtil.h 2008-03-26 14:11:12 UTC (rev 1062) +++ dcplusplus/trunk/win32/WinUtil.h 2008-03-26 14:13:06 UTC (rev 1063) @@ -169,7 +169,7 @@ static void parseADChubUrl(const tstring& /*aUrl*/); static void parseMagnetUri(const tstring& /*aUrl*/, bool aOverride = false); - static void help(unsigned ctrlId, HWND hWnd, unsigned helpId); + static void help(HWND hWnd, unsigned id); static bool getVersionInfo(OSVERSIONINFOEX& ver); Modified: dcplusplus/trunk/win32/resource.h =================================================================== --- dcplusplus/trunk/win32/resource.h 2008-03-26 14:11:12 UTC (rev 1062) +++ dcplusplus/trunk/win32/resource.h 2008-03-26 14:13:06 UTC (rev 1063) @@ -457,10 +457,10 @@ #define IDC_DOWNLOAD_WHOLE_TARGET 5000 #define IDC_USER_COMMAND 5200 #define ID_SHELLCONTEXTMENU_MIN 7000 -#define ID_SHELLCONTEXTMENU_MAX 8000 +#define ID_SHELLCONTEXTMENU_MAX 7999 // reserved for help ids #define IDH_BEGIN 10000 -#define IDH_END 12000 +#define IDH_END 11999 #endif Modified: dcplusplus/trunk/win32/stdafx.h =================================================================== --- dcplusplus/trunk/win32/stdafx.h 2008-03-26 14:11:12 UTC (rev 1062) +++ dcplusplus/trunk/win32/stdafx.h 2008-03-26 14:13:06 UTC (rev 1063) @@ -43,7 +43,6 @@ using namespace dcpp; using std::tr1::placeholders::_1; using std::tr1::placeholders::_2; -using std::tr1::placeholders::_3; #define LOCALEDIR dcpp::Util::getLocalePath().c_str() #define PACKAGE "dcpp-win32" This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <arn...@us...> - 2008-03-26 14:11:26
|
Revision: 1062 http://dcplusplus.svn.sourceforge.net/dcplusplus/?rev=1062&view=rev Author: arnetheduck Date: 2008-03-26 07:11:12 -0700 (Wed, 26 Mar 2008) Log Message: ----------- Streamline event handlers, redo common control color setting Modified Paths: -------------- dcplusplus/trunk/smartwin/include/smartwin/Dispatchers.h dcplusplus/trunk/smartwin/include/smartwin/Message.h dcplusplus/trunk/smartwin/include/smartwin/Point.h dcplusplus/trunk/smartwin/include/smartwin/Policies.h dcplusplus/trunk/smartwin/include/smartwin/Widget.h dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectActivate.h dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectBackgroundColor.h dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectBorder.h dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectButton.h dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectClickable.h dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectCollection.h dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectCommand.h dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectContextMenu.h dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectData.h dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectDblClickable.h dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectEnabled.h dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectEraseBackground.h dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectFocus.h dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectFont.h dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectHelp.h dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectKeyboard.h dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectMouse.h dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectPainting.h dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectRaw.h dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectScrollable.h dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectSelection.h dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectSizable.h dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectText.h dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectUpdate.h dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectVisible.h dcplusplus/trunk/smartwin/include/smartwin/widgets/WidgetComboBox.h dcplusplus/trunk/smartwin/include/smartwin/widgets/WidgetStatic.h dcplusplus/trunk/smartwin/include/smartwin/widgets/WidgetTabView.h dcplusplus/trunk/smartwin/include/smartwin/widgets/WidgetTextBox.h dcplusplus/trunk/smartwin/source/Application.cpp dcplusplus/trunk/smartwin/source/Point.cpp dcplusplus/trunk/smartwin/source/Widget.cpp dcplusplus/trunk/smartwin/source/widgets/WidgetTabView.cpp dcplusplus/trunk/win32/Appearance2Page.cpp dcplusplus/trunk/win32/Appearance2Page.h dcplusplus/trunk/win32/AspectSpeaker.h dcplusplus/trunk/win32/MDIChildFrame.h dcplusplus/trunk/win32/MainWindow.cpp dcplusplus/trunk/win32/MainWindow.h dcplusplus/trunk/win32/TransferView.cpp dcplusplus/trunk/win32/TransferView.h Added Paths: ----------- dcplusplus/trunk/smartwin/include/smartwin/Events.h dcplusplus/trunk/smartwin/source/Events.cpp Property Changed: ---------------- dcplusplus/trunk/ Property changes on: dcplusplus/trunk ___________________________________________________________________ Name: bzr:revision-info - timestamp: 2008-03-25 01:46:02.440000057 +0100 committer: zouzou123gen properties: branch-nick: bzr + timestamp: 2008-03-25 11:06:59.213000059 +0100 committer: Jacek Sieka <arn...@gm...> properties: branch-nick: dcplusplus Name: bzr:file-ids - + smartwin/include/smartwin/Events.h events.h-20080325100557-k77vniqlbeo19c72-1 smartwin/source/Events.cpp events.cpp-20080325100557-k77vniqlbeo19c72-2 Name: bzr:revision-id:v3-trunk1 - 1027 arn...@gm...-20080323183926-schknwnkgeo7ivdn 1028 zouzou123gen-20080323220411-r8usuc3qxwuh7zsn 1029 zouzou123gen-20080323221249-0su72zaj13e706mk 1030 arn...@gm...-20080324140623-muba1dl46m000o8c 1031 zouzou123gen-20080324141933-qbgr93ugpe0297m6 1032 arn...@gm...-20080324153706-siidja05n84i00b1 1033 arn...@gm...-20080324153823-lhn3awurnu77riln 1034 arn...@gm...-20080324165650-zapppziji67yf5a2 1035 zouzou123gen-20080324175936-4mqc2kh0lo5wtdu2 1036 zouzou123gen-20080325004602-6wdsoym95mjuhwd3 + 1027 arn...@gm...-20080323183926-schknwnkgeo7ivdn 1028 zouzou123gen-20080323220411-r8usuc3qxwuh7zsn 1029 zouzou123gen-20080323221249-0su72zaj13e706mk 1030 arn...@gm...-20080324140623-muba1dl46m000o8c 1031 zouzou123gen-20080324141933-qbgr93ugpe0297m6 1032 arn...@gm...-20080324153706-siidja05n84i00b1 1033 arn...@gm...-20080324153823-lhn3awurnu77riln 1034 arn...@gm...-20080324165650-zapppziji67yf5a2 1035 zouzou123gen-20080324175936-4mqc2kh0lo5wtdu2 1036 zouzou123gen-20080325004602-6wdsoym95mjuhwd3 1037 arn...@gm...-20080325100659-8fqy6q65itmghlep Modified: dcplusplus/trunk/smartwin/include/smartwin/Dispatchers.h =================================================================== --- dcplusplus/trunk/smartwin/include/smartwin/Dispatchers.h 2008-03-26 14:04:21 UTC (rev 1061) +++ dcplusplus/trunk/smartwin/include/smartwin/Dispatchers.h 2008-03-26 14:11:12 UTC (rev 1062) @@ -5,26 +5,45 @@ #include <functional> -namespace SmartWin -{ +namespace SmartWin { // begin namespace SmartWin namespace Dispatchers { -template<LRESULT value = 0, bool handled = true> -struct VoidVoid -{ - typedef std::tr1::function<void ()> F; +template<typename T> +struct Base { + typedef std::tr1::function<T> F; + + Base(const F& f_) : f(f_) { } + F f; +}; + +template<typename T> +T convert(const MSG& msg) { + return T(msg); +} + +template<typename P, P (*C)(const MSG&) = convert<P>, bool handled = true > +struct ConvertBase : public Base<void(const P&)> { + typedef Base<void(const P&)> BaseType; + ConvertBase(const typename BaseType::F& f_) : BaseType(f_) { } - VoidVoid(const F& f_) : f(f_) { } + bool operator()(const MSG& msg, LRESULT& ret) { + f((*C)(msg)); + return handled; + } +}; +template<LRESULT value = 0, bool handled = true> +struct VoidVoid : public Base<void ()> { + + VoidVoid(const F& f_) : Base<void ()>(f_) { } + bool operator()(const MSG& msg, LRESULT& ret) { f(); ret = value; return handled; } - - F f; }; // end namespace SmartWin Added: dcplusplus/trunk/smartwin/include/smartwin/Events.h =================================================================== --- dcplusplus/trunk/smartwin/include/smartwin/Events.h (rev 0) +++ dcplusplus/trunk/smartwin/include/smartwin/Events.h 2008-03-26 14:11:12 UTC (rev 1062) @@ -0,0 +1,35 @@ +#ifndef EVENTS_H_ +#define EVENTS_H_ + +#include "WindowsHeaders.h" +#include "Point.h" + +namespace SmartWin { + +struct SizedEvent { + SizedEvent(const MSG& msg); + + /// Sise + /** New size of the window + */ + Point size; + + /// is window maximized + /** true if window was being maximized, otherwise false + */ + bool isMaximized; + + /// is window minimized + /** true if window was being minimized, otherwise false + */ + bool isMinimized; + + /// is window restored + /** true if window was being restored, otherwise false + */ + bool isRestored; +}; + +} + +#endif /*EVENTS_H_*/ Modified: dcplusplus/trunk/smartwin/include/smartwin/Message.h =================================================================== --- dcplusplus/trunk/smartwin/include/smartwin/Message.h 2008-03-26 14:04:21 UTC (rev 1061) +++ dcplusplus/trunk/smartwin/include/smartwin/Message.h 2008-03-26 14:11:12 UTC (rev 1062) @@ -50,7 +50,7 @@ * only interesting parameter to figure out what Message to handle is the actual * Message. */ - Message( UINT msg ); + explicit Message( UINT msg ); /// Normally used with e.g. WM_COMMAND or WM_NOTIFY messages /** In such cases WM_COMMAND or WM_NOTIFY should be added as the msg and the @@ -59,7 +59,7 @@ * Use this one if you need to e.g. handle an AspectRaw::onRaw Event and it's a * WM_COMMAND, WM_NOTIFY or similar type of Message */ - Message( UINT msg, LPARAM param ); + explicit Message( UINT msg, LPARAM param ); // Note! // We're asserting this constructor call comes from the mainWndProc... Modified: dcplusplus/trunk/smartwin/include/smartwin/Point.h =================================================================== --- dcplusplus/trunk/smartwin/include/smartwin/Point.h 2008-03-26 14:04:21 UTC (rev 1061) +++ dcplusplus/trunk/smartwin/include/smartwin/Point.h 2008-03-26 14:11:12 UTC (rev 1062) @@ -37,7 +37,7 @@ /// POD structure for defining a point /** Used in e.g. functions that take a mouse position etc... */ -struct Point : ::POINT +struct Point : public ::POINT { /// Constructor initializing the point with the given arguments. /** Constructor initializing the structure with the given arguments. Takes x and @@ -52,8 +52,12 @@ Point(const POINT& pt); - operator POINT() const; + static Point fromMSG(const MSG& msg); + static Point fromLParam(LPARAM lParam); + + LPARAM toLParam() const; + /// Sets this Point to the maximum value for each x y dimension. /** Each x,y dimension is adjusted by the p Point. */ @@ -146,6 +150,25 @@ */ bool operator != ( const Point & lhs, const Point & rhs ); +inline Point::Point( long pX, long pY ) { x = pX; y = pY; } + +inline Point::Point() { x = y = 0; } + +inline Point::Point(const POINT& pt) : POINT(pt) { } + +inline Point Point::fromLParam(LPARAM lParam) { return Point(GET_X_LPARAM( lParam ), GET_Y_LPARAM( lParam )); } + +inline Point Point::fromMSG(const MSG& msg) { return fromLParam(msg.lParam); } + +inline LPARAM Point::toLParam() const { return MAKELPARAM(x, y); } + +inline bool operator == ( const Point & lhs, const Point & rhs ) { + return lhs.x == rhs.x && lhs.y == rhs.y; +} + +inline bool operator != ( const Point & lhs, const Point & rhs ) { return !( lhs == rhs ); } + + // end namespace SmartWin } Modified: dcplusplus/trunk/smartwin/include/smartwin/Policies.h =================================================================== --- dcplusplus/trunk/smartwin/include/smartwin/Policies.h 2008-03-26 14:04:21 UTC (rev 1061) +++ dcplusplus/trunk/smartwin/include/smartwin/Policies.h 2008-03-26 14:11:12 UTC (rev 1062) @@ -83,7 +83,7 @@ } private: - static HWND getHandler(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam) { + static HWND getHandler(HWND hwnd, UINT& uMsg, WPARAM& wParam, LPARAM& lParam) { HWND handler; // Check who should handle the message - parent or child switch(uMsg) { @@ -93,7 +93,8 @@ case WM_CTLCOLORLISTBOX : case WM_CTLCOLORSCROLLBAR : { handler = reinterpret_cast<HWND>(lParam); - + // We change message to avoid handling different messages of read-only vs normal edit controls + uMsg = WM_CTLCOLOR; } break; case WM_NOTIFY : { NMHDR* nmhdr = reinterpret_cast<NMHDR*>(lParam); @@ -233,11 +234,15 @@ virtual HWND create(const Widget::Seed& seed) { HWND hWnd = Widget::create(seed); - oldProc = reinterpret_cast< WNDPROC >( ::SetWindowLongPtr( hWnd, GWL_WNDPROC, ( LONG_PTR ) &MessageMapPolicy<Subclassed>::wndProc ) ); attach(hWnd); return hWnd; } + virtual void attach(HWND hWnd) { + Normal::attach(hWnd); + oldProc = reinterpret_cast< WNDPROC >( ::SetWindowLongPtr( hWnd, GWL_WNDPROC, ( LONG_PTR ) &MessageMapPolicy<Subclassed>::wndProc ) ); + } + using Widget::attach; private: WNDPROC oldProc; }; Modified: dcplusplus/trunk/smartwin/include/smartwin/Widget.h =================================================================== --- dcplusplus/trunk/smartwin/include/smartwin/Widget.h 2008-03-26 14:04:21 UTC (rev 1061) +++ dcplusplus/trunk/smartwin/include/smartwin/Widget.h 2008-03-26 14:11:12 UTC (rev 1062) @@ -160,6 +160,9 @@ /// Adds a new callback - multiple callbacks for the same message will be called in the order they were added void addCallback(const Message& msg, const CallbackType& callback ); + /// Sets the callback for msg - clears any other callbacks registered for the same message + void setCallback(const Message& msg, const CallbackType& callback ); + CallbackCollectionType & getCallbacks(); /// Returns true if fired, else false @@ -176,7 +179,7 @@ */ void attach( unsigned id ); - void attach(HWND wnd); + virtual void attach(HWND wnd); protected: Widget(Widget * parent); Modified: dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectActivate.h =================================================================== --- dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectActivate.h 2008-03-26 14:04:21 UTC (rev 1061) +++ dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectActivate.h 2008-03-26 14:11:12 UTC (rev 1062) @@ -28,8 +28,9 @@ #ifndef AspectActivate_h #define AspectActivate_h -namespace SmartWin -{ +#include "../Dispatchers.h" + +namespace SmartWin { // begin namespace SmartWin /// Aspect class used by Widgets that can be activated. @@ -41,19 +42,14 @@ template< class WidgetType > class AspectActivate { - struct Dispatcher { - typedef std::tr1::function<void (bool)> F; + WidgetType& W() { return *static_cast<WidgetType*>(this); } - Dispatcher(const F& f_) : f(f_) { } - - bool operator()(const MSG& msg, LRESULT& ret) { - f(LOWORD( msg.wParam ) == WA_ACTIVE || LOWORD( msg.wParam ) == WA_CLICKACTIVE); - return true; - } - - F f; - }; - + static bool isActive(const MSG& msg) { + return LOWORD( msg.wParam ) == WA_ACTIVE || LOWORD( msg.wParam ) == WA_CLICKACTIVE; + } + + typedef Dispatchers::ConvertBase<bool, &AspectActivate<WidgetType>::isActive> Dispatcher; + friend class Dispatchers::ConvertBase<bool, &AspectActivate<WidgetType>::isActive>; public: /// Activates the Widget /** Changes the activated property of the Widget. <br> @@ -76,14 +72,12 @@ * Parameter passed is bool */ void onActivate(const typename Dispatcher::F& f) { - static_cast<WidgetType*>(this)->addCallback( - Message(WM_ACTIVATE), Dispatcher(f) - ); + W().addCallback(Message(WM_ACTIVATE), Dispatcher(f)); } protected: - virtual ~AspectActivate() - {} + virtual ~AspectActivate() { } + }; /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// Modified: dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectBackgroundColor.h =================================================================== --- dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectBackgroundColor.h 2008-03-26 14:04:21 UTC (rev 1061) +++ dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectBackgroundColor.h 2008-03-26 14:11:12 UTC (rev 1062) @@ -42,50 +42,33 @@ * realizes the AspectEnabled through inheritance. */ template< class WidgetType > -class AspectBackgroundColor -{ +class AspectCtlColor { + WidgetType& W() { return *static_cast<WidgetType*>(this); } + struct Dispatcher { - typedef std::tr1::function<BrushPtr (Canvas&)> F; - - Dispatcher(const F& f_, WidgetType* widget_) : f(f_), widget(widget_) { } + Dispatcher(const BrushPtr& brush_, COLORREF text_, COLORREF bg_) : brush(brush_), text(text_), bg(bg_) { } bool operator()(const MSG& msg, LRESULT& ret) { - FreeCanvas canvas( widget->handle(), reinterpret_cast< HDC >( msg.wParam ) ); - - BrushPtr retBrush = f(canvas); - ret = retBrush ? reinterpret_cast< HRESULT >( retBrush->handle() ) : 0; + HDC dc = (HDC) msg.wParam; + ::SetTextColor(dc, text); + ::SetBkColor(dc, bg); + ret = brush ? reinterpret_cast< LRESULT >( brush->handle() ) : 0; return true; } - F f; - WidgetType* widget; + BrushPtr brush; + COLORREF text; + COLORREF bg; }; public: - /// \ingroup EventHandlersAspectBackgroundColor - /// Setting the event handler for the "erase background" event - /** The erase background event is raised when the Widget needs to redraw its - * background. <br> - * Since the Brush object needs to live past the function call we use a BrushPtr - * to wrap the Brush object into, you can for instance add a BrushPtr object as - * a member of your Widget class and return that BrushPtr from your event - * handler. <br> - * The parameter passed is Canvas & and return value is BrushPtr <br> - * Note! <br> - * It is imperative that you keep a reference to the BrushPtr yourself somewhere - * e.g. as member of class since otherwise the brush will be released before it - * is returned to the system and cannot be used! - */ - void onBackgroundColor(const typename Dispatcher::F& f) { - WidgetType* This = static_cast<WidgetType*>(this); - This->addCallback( - This->getBackgroundColorMessage(), Dispatcher(f, This ) - ); + /// Set the background, text and text colors + void setColor(const BrushPtr& brush, COLORREF text, COLORREF textBackground) { + W().setCallback(Message(WM_CTLCOLOR), Dispatcher( brush, text, textBackground )); } protected: - virtual ~AspectBackgroundColor() - {} + virtual ~AspectCtlColor() { } }; // end namespace SmartWin Modified: dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectBorder.h =================================================================== --- dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectBorder.h 2008-03-26 14:04:21 UTC (rev 1061) +++ dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectBorder.h 2008-03-26 14:11:12 UTC (rev 1062) @@ -40,6 +40,7 @@ template< class WidgetType > class AspectBorder { + WidgetType& W() { return *static_cast<WidgetType*>(this); } public: /// Set or remove the simple border (solid line) void setBorder( bool value = true ); @@ -60,25 +61,25 @@ template< class WidgetType > void AspectBorder< WidgetType >::setBorder( bool value ) { - static_cast< WidgetType * >( this )->addRemoveStyle( WS_BORDER, value ); + W().addRemoveStyle( WS_BORDER, value ); } template< class WidgetType > void AspectBorder< WidgetType >::setSunkenBorder( bool value ) { - static_cast< WidgetType * >( this )->addRemoveExStyle( WS_EX_CLIENTEDGE, value ); + W().addRemoveExStyle( WS_EX_CLIENTEDGE, value ); } template< class WidgetType > void AspectBorder< WidgetType >::setSmoothSunkenBorder( bool value ) { - static_cast< WidgetType * >( this )->addRemoveExStyle( WS_EX_STATICEDGE, value ); + W().addRemoveExStyle( WS_EX_STATICEDGE, value ); } template< class WidgetType > void AspectBorder< WidgetType >::setRaisedBorder( bool value ) { - static_cast< WidgetType * >( this )->addRemoveStyle( WS_THICKFRAME, value ); + W().addRemoveStyle( WS_THICKFRAME, value ); } // end namespace SmartWin Modified: dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectButton.h =================================================================== --- dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectButton.h 2008-03-26 14:04:21 UTC (rev 1061) +++ dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectButton.h 2008-03-26 14:11:12 UTC (rev 1062) @@ -15,7 +15,7 @@ /** Common stuff for all buttons */ template<typename WidgetType> class AspectButton : - public AspectBackgroundColor<WidgetType>, + public AspectCtlColor<WidgetType>, public AspectBorder< WidgetType >, public AspectClickable<WidgetType>, public AspectControl<WidgetType>, @@ -25,11 +25,9 @@ public AspectPainting< WidgetType >, public AspectText< WidgetType > { + WidgetType& W() { return *static_cast<WidgetType*>(this); } public: - // Contract needed by AspectBackgroundColor Aspect class - static const Message & getBackgroundColorMessage(); - // Contract needed by AspectClickable Aspect class Message getClickMessage(); @@ -46,13 +44,6 @@ }; template<typename WidgetType> -inline const Message & AspectButton<WidgetType>::getBackgroundColorMessage() -{ - static Message retVal = Message( WM_CTLCOLORBTN ); - return retVal; -} - -template<typename WidgetType> Message AspectButton<WidgetType>::getClickMessage() { return Message( WM_COMMAND, MAKEWPARAM(static_cast<WidgetType*>(this)->getControlId(), BN_CLICKED) ); } Modified: dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectClickable.h =================================================================== --- dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectClickable.h 2008-03-26 14:04:21 UTC (rev 1061) +++ dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectClickable.h 2008-03-26 14:11:12 UTC (rev 1062) @@ -43,6 +43,7 @@ template< class WidgetType > class AspectClickable { + WidgetType& W() { return *static_cast<WidgetType*>(this); } typedef Dispatchers::VoidVoid<> Dispatcher; public: @@ -54,14 +55,11 @@ * something else. No parameters are passed. */ void onClicked(const typename Dispatcher::F& f) { - static_cast<WidgetType*>(this)->addCallback( - static_cast<WidgetType*>(this)->getClickMessage(), Dispatcher(f) - ); + W().addCallback(W().getClickMessage(), Dispatcher(f)); } protected: - virtual ~AspectClickable() - {} + virtual ~AspectClickable() { } }; // end namespace SmartWin Modified: dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectCollection.h =================================================================== --- dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectCollection.h 2008-03-26 14:04:21 UTC (rev 1061) +++ dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectCollection.h 2008-03-26 14:11:12 UTC (rev 1062) @@ -4,20 +4,22 @@ /** A control that holds a collection of items, such as a list or tree */ template<typename WidgetType, typename IndexType> class AspectCollection { + WidgetType& W() { return *static_cast<WidgetType*>(this); } + const WidgetType& W() const { return *static_cast<const WidgetType*>(this); } public: /** Erase a particular item */ void erase(IndexType i) { - static_cast<WidgetType*>(this)->eraseImpl(i); + W().eraseImpl(i); } /** Erase all items from collection */ void clear() { - static_cast<WidgetType*>(this)->clearImpl(); + W().clearImpl(); } /** Return number of items in collection */ size_t size() const { - return static_cast<const WidgetType*>(this)->sizeImpl(); + return W().sizeImpl(); } bool empty() const { Modified: dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectCommand.h =================================================================== --- dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectCommand.h 2008-03-26 14:04:21 UTC (rev 1061) +++ dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectCommand.h 2008-03-26 14:11:12 UTC (rev 1062) @@ -7,26 +7,20 @@ template<typename WidgetType> class AspectCommand { + WidgetType& W() { return *static_cast<WidgetType*>(this); } typedef Dispatchers::VoidVoid<> Dispatcher; public: void onCommand(const Dispatcher::F& f, unsigned id) { - static_cast<WidgetType*>(this)->addCallback( - Message(WM_COMMAND, id), Dispatcher(f) - ); + W().addCallback(Message(WM_COMMAND, id), Dispatcher(f)); } void onCommand(const Dispatcher::F& f, unsigned controlId, unsigned code) { - static_cast<WidgetType*>(this)->addCallback( - Message(WM_COMMAND, MAKEWPARAM(controlId, code)), Dispatcher(f) - ); + W().addCallback(Message(WM_COMMAND, MAKEWPARAM(controlId, code)), Dispatcher(f)); } void onSysCommand(const Dispatcher::F& f, unsigned id) { - static_cast<WidgetType*>(this)->addCallback( - Message(WM_SYSCOMMAND, id), Dispatcher(f) - ); + W().addCallback(Message(WM_SYSCOMMAND, id), Dispatcher(f)); } - }; } Modified: dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectContextMenu.h =================================================================== --- dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectContextMenu.h 2008-03-26 14:04:21 UTC (rev 1061) +++ dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectContextMenu.h 2008-03-26 14:11:12 UTC (rev 1062) @@ -2,29 +2,28 @@ #define ASPECTCONTEXTMENU_H_ #include "../Point.h" +#include "../Dispatchers.h" namespace SmartWin { template<typename WidgetType> class AspectContextMenu { - struct Dispatcher { - typedef std::tr1::function<bool (const ScreenCoordinate &)> F; + WidgetType& W() { return *static_cast<WidgetType*>(this); } - Dispatcher(const F& f_) : f(f_) { } + struct Dispatcher : Dispatchers::Base<bool (const ScreenCoordinate&)> { + typedef Dispatchers::Base<bool(const ScreenCoordinate&)> BaseType; + Dispatcher(const F& f_) : BaseType(f_) { } bool operator()(const MSG& msg, LRESULT& ret) { - ret = f(ScreenCoordinate(Point(GET_X_LPARAM(msg.lParam), GET_Y_LPARAM(msg.lParam)))); - return ret; + bool shown = f(ScreenCoordinate(Point::fromLParam(msg.lParam))); + ret = shown; + return shown; } - - F f; }; public: void onContextMenu(const typename Dispatcher::F& f) { - static_cast<WidgetType*>(this)->addCallback( - Message( WM_CONTEXTMENU ), Dispatcher(f) - ); + W().addCallback(Message( WM_CONTEXTMENU ), Dispatcher(f)); } }; Modified: dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectData.h =================================================================== --- dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectData.h 2008-03-26 14:04:21 UTC (rev 1061) +++ dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectData.h 2008-03-26 14:11:12 UTC (rev 1062) @@ -4,21 +4,22 @@ /** A Widget that associates some sort of data with each item */ template<typename WidgetType, typename IndexType> class AspectData { + WidgetType& W() { return *static_cast<WidgetType*>(this); } public: IndexType findData(LPARAM data) { - return static_cast<WidgetType*>(this)->findDataImpl(data); + return W().findDataImpl(data); } IndexType findData(LPARAM data, IndexType start) { - return static_cast<WidgetType*>(this)->findDataImpl(data, start); + return W().findDataImpl(data, start); } LPARAM getData(IndexType i) { - return static_cast<WidgetType*>(this)->getDataImpl(i); + return W().getDataImpl(i); } void setData(IndexType i, LPARAM data) { - return static_cast<WidgetType*>(this)->setDataImpl(i, data); + return W().setDataImpl(i, data); } LPARAM operator[](IndexType i) { Modified: dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectDblClickable.h =================================================================== --- dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectDblClickable.h 2008-03-26 14:04:21 UTC (rev 1061) +++ dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectDblClickable.h 2008-03-26 14:11:12 UTC (rev 1062) @@ -43,6 +43,7 @@ template< class WidgetType > class AspectDblClickable { + WidgetType& W() { return *static_cast<WidgetType*>(this); } typedef Dispatchers::VoidVoid<> Dispatcher; public: /// \ingroup EventHandlersAspectDblClickable @@ -52,14 +53,11 @@ */ void onDblClicked(const Dispatcher::F& f) { - static_cast<WidgetType*>(this)->addCallback( - WidgetType::getDblClickMessage(), Dispatcher(f) - ); + W().addCallback(WidgetType::getDblClickMessage(), Dispatcher(f)); } protected: - virtual ~AspectDblClickable() - {} + virtual ~AspectDblClickable() { } }; // end namespace SmartWin Modified: dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectEnabled.h =================================================================== --- dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectEnabled.h 2008-03-26 14:04:21 UTC (rev 1061) +++ dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectEnabled.h 2008-03-26 14:11:12 UTC (rev 1062) @@ -28,7 +28,7 @@ #ifndef AspectEnabled_h #define AspectEnabled_h -#include <functional> +#include "../Dispatchers.h" namespace SmartWin { @@ -47,21 +47,13 @@ template< class WidgetType > class AspectEnabled { - struct Dispatcher - { - typedef std::tr1::function<void (bool)> F; + WidgetType& W() { return *static_cast<WidgetType*>(this); } - Dispatcher(const F& f_) : f(f_) { } + static bool isEnabled(const MSG& msg) { return msg.wParam > 0; } + + typedef Dispatchers::ConvertBase<bool, &AspectEnabled<WidgetType>::isEnabled> Dispatcher; + friend class Dispatchers::ConvertBase<bool, &AspectEnabled<WidgetType>::isEnabled>; - bool operator()(const MSG& msg, LRESULT& ret) { - f(msg.wParam > 0); - return true; - } - - F f; - }; - - public: /// Sets the enabled property of the Widget /** Changes the enabled property of the Widget. Use this function to change the @@ -84,14 +76,11 @@ * No parameters are passed. */ void onEnabled(const typename Dispatcher::F& f) { - static_cast<WidgetType*>(this)->addCallback( - Message( WM_ENABLE ), Dispatcher(f) - ); + W().addCallback(Message( WM_ENABLE ), Dispatcher(f)); } protected: - virtual ~AspectEnabled() - {} + virtual ~AspectEnabled() { } }; /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// @@ -100,13 +89,13 @@ template< class WidgetType > void AspectEnabled< WidgetType >::setEnabled( bool enabled ) { - ::EnableWindow( static_cast< WidgetType * >( this )->handle(), enabled ? TRUE : FALSE ); + ::EnableWindow( W().handle(), enabled ? TRUE : FALSE ); } template< class WidgetType > bool AspectEnabled< WidgetType >::getEnabled() const { - return ::IsWindowEnabled( static_cast< const WidgetType * >( this )->handle() ) != 0; + return ::IsWindowEnabled( W().handle() ) != 0; } // end namespace SmartWin Modified: dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectEraseBackground.h =================================================================== --- dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectEraseBackground.h 2008-03-26 14:04:21 UTC (rev 1061) +++ dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectEraseBackground.h 2008-03-26 14:11:12 UTC (rev 1062) @@ -46,6 +46,8 @@ template< class WidgetType > class AspectEraseBackground { + WidgetType& W() { return *static_cast<WidgetType*>(this); } + struct Dispatcher { typedef std::tr1::function<void (Canvas&)> F; @@ -70,19 +72,14 @@ * background property of the Widget. */ void onEraseBackground(const typename Dispatcher::F& f) { - static_cast<WidgetType*>(this)->addCallback( - Message( WM_ERASEBKGND ), Dispatcher(f, static_cast<WidgetType*>(this) ) - ); + W().setCallback(Message( WM_ERASEBKGND ), Dispatcher(f, &W() ) ); } void noEraseBackground() { - static_cast<WidgetType*>(this)->addCallback( - Message( WM_ERASEBKGND ), &AspectEraseBackground<WidgetType>::noEraseDispatcher - ); + W().setCallback(Message( WM_ERASEBKGND ), &AspectEraseBackground<WidgetType>::noEraseDispatcher); } protected: - virtual ~AspectEraseBackground() - {} + virtual ~AspectEraseBackground() { } static bool noEraseDispatcher(const MSG& msg, LRESULT& ret) { ret = 1; Modified: dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectFocus.h =================================================================== --- dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectFocus.h 2008-03-26 14:04:21 UTC (rev 1061) +++ dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectFocus.h 2008-03-26 14:11:12 UTC (rev 1062) @@ -45,7 +45,9 @@ template< class WidgetType > class AspectFocus { - + WidgetType& W() { return *static_cast<WidgetType*>(this); } + HWND H() { return W().handle(); } + typedef Dispatchers::VoidVoid<0, false> FocusDispatcher; typedef Dispatchers::VoidVoid<0, true> KillFocusDispatcher; @@ -68,9 +70,7 @@ * parameters are passed. */ void onKillFocus(const typename KillFocusDispatcher::F& f) { - static_cast<WidgetType*>(this)->addCallback( - Message( WM_KILLFOCUS ), KillFocusDispatcher(f) - ); + W().addCallback(Message( WM_KILLFOCUS ), KillFocusDispatcher(f)); } /// \ingroup EventHandlersAspectAspectFocus @@ -79,14 +79,11 @@ * parameters are passed. */ void onFocus(const typename FocusDispatcher::F& f) { - static_cast<WidgetType*>(this)->addCallback( - Message( WM_SETFOCUS ), FocusDispatcher(f) - ); + W().addCallback(Message( WM_SETFOCUS ), FocusDispatcher(f)); } protected: - virtual ~AspectFocus() - {} + virtual ~AspectFocus() { } }; /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// @@ -95,13 +92,13 @@ template< class WidgetType > void AspectFocus< WidgetType >::setFocus() { - ::SetFocus( static_cast< WidgetType * >( this )->handle() ); + ::SetFocus( H() ); } template< class WidgetType > bool AspectFocus< WidgetType >::getFocus() const { - return ::GetFocus() == static_cast< const WidgetType * >( this )->handle(); + return ::GetFocus() == H(); } // end namespace SmartWin Modified: dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectFont.h =================================================================== --- dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectFont.h 2008-03-26 14:04:21 UTC (rev 1061) +++ dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectFont.h 2008-03-26 14:11:12 UTC (rev 1062) @@ -48,6 +48,7 @@ template< class WidgetType > class AspectFont { + WidgetType& W() { return *static_cast<WidgetType*>(this); } public: /// Sets the font used by the Widget /** Changes the font of the Widget to the given font. Use the class Font to @@ -78,14 +79,14 @@ void AspectFont< WidgetType >::setFont( const FontPtr& font_, bool forceUpdate ) { font = font_; - static_cast< WidgetType * >( this )->sendMessage(WM_SETFONT, reinterpret_cast< WPARAM >( font->handle() ), static_cast< LPARAM >( forceUpdate ) ); + W().sendMessage(WM_SETFONT, reinterpret_cast< WPARAM >( font->handle() ), static_cast< LPARAM >( forceUpdate ) ); } template< class WidgetType > const FontPtr& AspectFont< WidgetType >::getFont() { if(!font) { - HFONT f = ( HFONT )static_cast< WidgetType * >( this )->sendMessage(WM_GETFONT); + HFONT f = ( HFONT )W().sendMessage(WM_GETFONT); font = FontPtr( new Font( f, false ) ); } return font; @@ -96,7 +97,7 @@ { font = FontPtr(); HANDLE hFont = static_cast< HFONT >( ::GetStockObject( stockObjectFont ) ); - static_cast< WidgetType * >( this )->sendMessage(WM_SETFONT, reinterpret_cast< WPARAM >( hFont ), static_cast< LPARAM >( forceUpdate ) ); + W().sendMessage(WM_SETFONT, reinterpret_cast< WPARAM >( hFont ), static_cast< LPARAM >( forceUpdate ) ); } // end namespace SmartWin Modified: dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectHelp.h =================================================================== --- dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectHelp.h 2008-03-26 14:04:21 UTC (rev 1061) +++ dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectHelp.h 2008-03-26 14:11:12 UTC (rev 1062) @@ -1,6 +1,8 @@ #ifndef ASPECTHELP_H_ #define ASPECTHELP_H_ +#include <functional> + namespace SmartWin { template<typename WidgetType> Modified: dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectKeyboard.h =================================================================== --- dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectKeyboard.h 2008-03-26 14:04:21 UTC (rev 1061) +++ dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectKeyboard.h 2008-03-26 14:11:12 UTC (rev 1062) @@ -110,6 +110,8 @@ template< class WidgetType > class AspectKeyboard : public AspectKeyboardBase { + WidgetType& W() { return *static_cast<WidgetType*>(this); } + struct Dispatcher { typedef std::tr1::function<bool (int)> F; Modified: dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectMouse.h =================================================================== --- dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectMouse.h 2008-03-26 14:04:21 UTC (rev 1061) +++ dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectMouse.h 2008-03-26 14:11:12 UTC (rev 1062) @@ -29,6 +29,7 @@ #define AspectMouse_h #include "../Point.h" +#include <functional> namespace SmartWin { Modified: dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectPainting.h =================================================================== --- dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectPainting.h 2008-03-26 14:04:21 UTC (rev 1061) +++ dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectPainting.h 2008-03-26 14:11:12 UTC (rev 1062) @@ -43,6 +43,8 @@ template< class WidgetType > class AspectPainting { + WidgetType& W() { return *static_cast<WidgetType*>(this); } + struct Dispatcher { typedef std::tr1::function<void (PaintCanvas&)> F; @@ -66,9 +68,7 @@ * Parameters passed is Canvas & */ void onPainting(const typename Dispatcher::F& f) { - static_cast<WidgetType*>(this)->addCallback( - Message( WM_PAINT ), Dispatcher(f, static_cast<WidgetType*>(this) ) - ); + W().addCallback(Message( WM_PAINT ), Dispatcher(f, &W())); } protected: Modified: dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectRaw.h =================================================================== --- dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectRaw.h 2008-03-26 14:04:21 UTC (rev 1061) +++ dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectRaw.h 2008-03-26 14:11:12 UTC (rev 1062) @@ -47,6 +47,7 @@ template< class WidgetType > class AspectRaw { + WidgetType& W() { return *static_cast<WidgetType*>(this); } struct Dispatcher { typedef std::tr1::function<LRESULT (WPARAM, LPARAM)> F; @@ -80,9 +81,7 @@ /// WARNING, this function uses the natural wparam/lparam order, not the inverted that previous /// smartwin versions did. The two functions above emulate the old behaviour though... void onRaw(const typename Dispatcher::F& f, const Message & msg) { - static_cast<WidgetType*>(this)->addCallback( - msg, Dispatcher(f) - ); + W().addCallback(msg, Dispatcher(f)); } protected: Modified: dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectScrollable.h =================================================================== --- dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectScrollable.h 2008-03-26 14:04:21 UTC (rev 1061) +++ dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectScrollable.h 2008-03-26 14:11:12 UTC (rev 1062) @@ -42,6 +42,8 @@ template< class WidgetType > class AspectScrollable { + WidgetType& W() { return *static_cast<WidgetType*>(this); } + typedef Dispatchers::VoidVoid<> Dispatcher; public: bool scrollIsAtEnd(); @@ -54,9 +56,7 @@ * No parameters are passed. */ void onScrollHorz(const Dispatcher::F& f) { - static_cast<WidgetType*>(this)->addCallback( - Message( WM_HSCROLL ), Dispatcher(f) - ); + W().addCallback(Message( WM_HSCROLL ), Dispatcher(f)); } /// \ingroup EventHandlersAspectScrollable @@ -67,9 +67,7 @@ * No parameters are passed. */ void onScrollVert(const Dispatcher::F& f) { - static_cast<WidgetType*>(this)->addCallback( - Message( WM_VSCROLL ), Dispatcher(f) - ); + W().addCallback(Message( WM_VSCROLL ), Dispatcher(f)); } protected: Modified: dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectSelection.h =================================================================== --- dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectSelection.h 2008-03-26 14:04:21 UTC (rev 1061) +++ dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectSelection.h 2008-03-26 14:11:12 UTC (rev 1062) @@ -41,6 +41,8 @@ template< class WidgetType > class AspectSelection { + WidgetType& W() { return *static_cast<WidgetType*>(this); } + struct Dispatcher { typedef std::tr1::function<void ()> F; @@ -64,9 +66,7 @@ * No parameters are passed. */ void onSelectionChanged(const typename Dispatcher::F& f) { - static_cast<WidgetType*>(this)->addCallback( - static_cast<WidgetType*>(this)->getSelectionChangedMessage(), Dispatcher(f) - ); + W().addCallback(W().getSelectionChangedMessage(), Dispatcher(f)); } /// Sets the selected index of the Widget Modified: dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectSizable.h =================================================================== --- dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectSizable.h 2008-03-26 14:04:21 UTC (rev 1061) +++ dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectSizable.h 2008-03-26 14:11:12 UTC (rev 1062) @@ -31,42 +31,13 @@ #include "../Widget.h" #include "../Place.h" #include "../xCeption.h" +#include "../Dispatchers.h" +#include "../Events.h" namespace SmartWin { // begin namespace SmartWin -/// Widget sized POD structure -/** Several event handlers supply an object of this type as one or more parameters to - * the event handler callback function. <br> - * E.g. the "onSized" event handler - */ -struct WidgetSizedEventResult -{ - WidgetSizedEventResult(WPARAM wParam, LPARAM lParam); - - /// Sise - /** New size of the window - */ - Point newSize; - - /// is window maximized - /** true if window was being maximized, otherwise false - */ - bool isMaximized; - - /// is window minimized - /** true if window was being minimized, otherwise false - */ - bool isMinimized; - - /// is window restored - /** true if window was being restored, otherwise false - */ - bool isRestored; -}; - - /// \ingroup AspectClasses /// \ingroup WidgetLayout /// Aspect class used by Widgets that have the possibility of setting and getting a @@ -88,30 +59,14 @@ template< class WidgetType > class AspectSizable { - struct SizeDispatcher { - typedef std::tr1::function<bool (const WidgetSizedEventResult & )> F; + WidgetType& W() { return *static_cast<WidgetType*>(this); } + const WidgetType& W() const { return *static_cast<const WidgetType*>(this); } - SizeDispatcher(const F& f_) : f(f_) { } + HWND H() const { return W().handle(); } - bool operator()(const MSG& msg, LRESULT& ret) { - return f(WidgetSizedEventResult( msg.wParam, msg.lParam )); - } + typedef Dispatchers::ConvertBase<SizedEvent> SizeDispatcher; + typedef Dispatchers::ConvertBase<Point, &Point::fromMSG> MoveDispatcher; - F f; - }; - - struct MoveDispatcher { - typedef std::tr1::function<void (const Point & )> F; - - MoveDispatcher(const F& f_) : f(f_) { } - - bool operator()(const MSG& msg, LRESULT& ret) { - f(Point( GET_X_LPARAM( msg.lParam ), GET_Y_LPARAM( msg.lParam ) )); - return true; - } - - F f; - }; public: /// Sets the new size and position of the window /** The input parameter Rectangle defines the new size (and position) of the @@ -295,9 +250,7 @@ * information. */ void onSized(const typename SizeDispatcher::F& f) { - static_cast<WidgetType*>(this)->addCallback( - Message( WM_SIZE ), SizeDispatcher(f) - ); + W().addCallback(Message( WM_SIZE ), SizeDispatcher(f)); } /// \ingroup EventHandlersAspectSizable @@ -306,14 +259,11 @@ * passed is Point which is the new position of the Widget */ void onMoved(const typename MoveDispatcher::F& f) { - static_cast<WidgetType*>(this)->addCallback( - Message( WM_MOVE ), MoveDispatcher(f) - ); + W().addCallback(Message( WM_MOVE ), MoveDispatcher(f)); } protected: - virtual ~AspectSizable() - {} + virtual ~AspectSizable() { } }; /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// @@ -322,7 +272,7 @@ template< class WidgetType > void AspectSizable< WidgetType >::setBounds( const Rectangle & rect, bool updateWindow ) { - if ( ::MoveWindow( static_cast< WidgetType * >( this )->handle(), + if ( ::MoveWindow( H(), rect.x(), rect.y(), rect.width(), rect.height(), updateWindow ? TRUE : FALSE ) == 0 ) { xCeption err( _T( "Couldn't reposition windows" ) ); @@ -333,7 +283,7 @@ template< class WidgetType > void AspectSizable< WidgetType >::setBounds( const Point & newPos, const Point & newSize, bool updateWindow ) { - if ( ::MoveWindow( static_cast< WidgetType * >( this )->handle(), newPos.x, newPos.y, newSize.x, newSize.y, updateWindow ? TRUE : FALSE ) == 0 ) + if ( ::MoveWindow( H(), newPos.x, newPos.y, newSize.x, newSize.y, updateWindow ? TRUE : FALSE ) == 0 ) { xCeption err( _T( "Couldn't reposition windows" ) ); throw err; @@ -343,7 +293,7 @@ template< class WidgetType > void AspectSizable< WidgetType >::setBounds( int x, int y, int width, int height, bool updateWindow ) { - if ( ::MoveWindow( static_cast< WidgetType * >( this )->handle(), x, y, width, height, updateWindow ? TRUE : FALSE ) == 0 ) + if ( ::MoveWindow( H(), x, y, width, height, updateWindow ? TRUE : FALSE ) == 0 ) { xCeption err( _T( "Couldn't reposition windows" ) ); throw err; @@ -371,7 +321,7 @@ int yPos = rect.pos.y + border; // Start with current y and first border. yPos += rownum * ( border + ySize ); // Accumulate other rows and borders - ::MoveWindow( static_cast< WidgetType * >( this )->handle(), rect.x(), yPos, + ::MoveWindow( H(), rect.x(), yPos, rect.width(), ySize, updateWindow ? TRUE : FALSE ); } @@ -384,7 +334,7 @@ int xPos = rect.x() + border; // Start with current X and first border xPos += colnum * ( border + xSize ); // Accumulate other columns and borders - ::MoveWindow( static_cast< WidgetType * >( this )->handle(), xPos, rect.y(), xSize, rect.height(), updateWindow ? TRUE : FALSE ); + ::MoveWindow( H(), xPos, rect.y(), xSize, rect.height(), updateWindow ? TRUE : FALSE ); } template< class WidgetType > @@ -436,7 +386,7 @@ int width, height; RECT rc; POINT pt; - HWND hwnd = const_cast < WidgetType * >( static_cast< const WidgetType * >( this ) )->handle(); + HWND hwnd = H(); ::GetWindowRect( hwnd, & rc ); width = rc.right - rc.left; height = rc.bottom - rc.top; @@ -444,7 +394,7 @@ pt.y = rc.top; if( adjustForParent ) { - Widget* parent = static_cast< const WidgetType * >( this )->getParent(); + Widget* parent = W().getParent(); if( parent ) { //if it's a child, adjust coordinates relative to parent @@ -471,7 +421,7 @@ Point AspectSizable< WidgetType >::getScreenPosition() const { RECT rc; - ::GetWindowRect( const_cast < WidgetType * >( static_cast< const WidgetType * >( this ) )->handle(), & rc ); + ::GetWindowRect( H(), & rc ); return Point( rc.left, rc.top ); } @@ -481,7 +431,7 @@ Point AspectSizable< WidgetType >::getClientAreaSize() const { RECT rc; - ::GetClientRect( const_cast < WidgetType * >( static_cast< const WidgetType * >( this ) )->handle(), & rc ); + ::GetClientRect( H(), & rc ); return Point( rc.right, rc.bottom ); } @@ -490,7 +440,7 @@ ::getTextSize( const SmartUtil::tstring & text ) { // Some win32 api code to determine the actual size of the string - HWND hWnd = static_cast< WidgetType * >( this )->handle(); + HWND hWnd = H(); HDC hDC = ::GetDC( hWnd ); HFONT hf = ( HFONT ) ::SendMessage( hWnd, WM_GETFONT, 0, 0 ); if ( 0 != hf ) @@ -498,13 +448,11 @@ SelectFont( hDC, hf ); } - RECT wRect = - { 0, 0, 0, 0 - }; + RECT wRect = { 0, 0, 0, 0 }; DrawText( hDC, text.c_str(), ( int ) text.size(), & wRect, DT_CALCRECT ); ::ReleaseDC( hWnd, hDC ); - return( Point( wRect.right, wRect.bottom ) ); + return(Point( wRect.right, wRect.bottom ) ); } template< class WidgetType > @@ -518,7 +466,7 @@ #else typename WidgetType::MaxiMiniRestorable checker; #endif - ::ShowWindow( static_cast< WidgetType * >( this )->handle(), SW_SHOWMAXIMIZED ); + ::ShowWindow(H(), SW_SHOWMAXIMIZED ); } template< class WidgetType > @@ -532,7 +480,7 @@ #else typename WidgetType::MaxiMiniRestorable checker; #endif - ::ShowWindow( static_cast< WidgetType * >( this )->handle(), SW_MINIMIZE ); + ::ShowWindow(H(), SW_MINIMIZE ); } template< class WidgetType > @@ -546,31 +494,31 @@ #else typename WidgetType::MaxiMiniRestorable checker; #endif - ::ShowWindow( static_cast< WidgetType * >( this )->handle(), SW_RESTORE ); + ::ShowWindow(H(), SW_RESTORE ); } template< class WidgetType > void AspectSizable< WidgetType >::bringToFront() { - ::SetWindowPos( static_cast< WidgetType * >( this )->handle(), HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE ); + ::SetWindowPos(H(), HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE ); } template< class WidgetType > void AspectSizable< WidgetType >::bringToBottom() { - ::SetWindowPos( static_cast< WidgetType * >( this )->handle(), HWND_BOTTOM, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE ); + ::SetWindowPos(H(), HWND_BOTTOM, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE ); } template< class WidgetType > bool AspectSizable< WidgetType >::isIconic() { - return ::IsIconic( static_cast< WidgetType * >( this )->handle()) > 0; + return ::IsIconic(H()) > 0; } template< class WidgetType > bool AspectSizable< WidgetType >::isZoomed() { - return ::IsZoomed( static_cast< WidgetType * >( this )->handle()) > 0; + return ::IsZoomed(H()) > 0; } // end namespace SmartWin Modified: dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectText.h =================================================================== --- dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectText.h 2008-03-26 14:04:21 UTC (rev 1061) +++ dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectText.h 2008-03-26 14:11:12 UTC (rev 1062) @@ -29,6 +29,7 @@ #define AspectText_h #include "../../SmartUtil.h" +#include "../Dispatchers.h" namespace SmartWin { @@ -43,19 +44,15 @@ template< class WidgetType > class AspectText { - struct Dispatcher - { - typedef std::tr1::function<void (const SmartUtil::tstring &)> F; + WidgetType& W() { return *static_cast<WidgetType*>(this); } + const WidgetType& W() const { return *static_cast<const WidgetType*>(this); } - Dispatcher(const F& f_) : f(f_) { } - - bool operator()(const MSG& msg, LRESULT& ret) { - f(SmartUtil::tstring( reinterpret_cast< TCHAR * >( msg.lParam ) )); - return false; - } - - F f; - }; + static SmartUtil::tstring isActive(const MSG& msg) { + return SmartUtil::tstring( reinterpret_cast< TCHAR * >( msg.lParam ) ); + } + + typedef Dispatchers::ConvertBase<SmartUtil::tstring, &AspectText<WidgetType>::isActive, false> Dispatcher; + friend class Dispatchers::ConvertBase<SmartUtil::tstring, &AspectText<WidgetType>::isActive, false>; public: /// Sets the text of the AspectText realizing class /** The txt parameter is the new text to put into the realizing object. @@ -88,9 +85,7 @@ * Widget. */ void onTextChanging(const typename Dispatcher::F& f) { - static_cast<WidgetType*>(this)->addCallback( - Message( WM_SETTEXT ), Dispatcher(f) - ); + W().addCallback(Message( WM_SETTEXT ), Dispatcher(f)); } protected: @@ -104,7 +99,7 @@ template< class WidgetType > void AspectText< WidgetType >::setText( const SmartUtil::tstring & txt ) { - static_cast< WidgetType * >( this )->sendMessage(WM_SETTEXT, 0, reinterpret_cast< LPARAM >(txt.c_str()) ); + W().sendMessage(WM_SETTEXT, 0, reinterpret_cast< LPARAM >(txt.c_str()) ); } @@ -135,7 +130,7 @@ template< class WidgetType > size_t AspectText< WidgetType >::length( ) const { - return static_cast<size_t>(static_cast<const WidgetType*>(this)->sendMessage(WM_GETTEXTLENGTH)); + return W().sendMessage(WM_GETTEXTLENGTH); } template< class WidgetType > @@ -145,7 +140,7 @@ if ( textLength == 0 ) return _T( "" ); SmartUtil::tstring retVal(textLength + 1, 0); - retVal.resize(static_cast<const WidgetType*>(this)->sendMessage(WM_GETTEXT, static_cast<WPARAM>(textLength + 1), reinterpret_cast<LPARAM>(&retVal[0]))); + retVal.resize(W().sendMessage(WM_GETTEXT, static_cast<WPARAM>(textLength + 1), reinterpret_cast<LPARAM>(&retVal[0]))); return retVal; } Modified: dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectUpdate.h =================================================================== --- dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectUpdate.h 2008-03-26 14:04:21 UTC (rev 1061) +++ dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectUpdate.h 2008-03-26 14:11:12 UTC (rev 1062) @@ -45,6 +45,7 @@ template< class WidgetType > class AspectUpdate { + WidgetType& W() { return *static_cast<WidgetType*>(this); } typedef Dispatchers::VoidVoid<> Dispatcher; public: /// \ingroup EventHandlersAspectUpdate @@ -52,14 +53,11 @@ /** When the Widget value/text is being updated this event will be raised. */ void onUpdate(const Dispatcher::F& f) { - static_cast<WidgetType*>(this)->addCallback( - WidgetType::getUpdateMessage(), Dispatcher(f) - ); + W().addCallback(WidgetType::getUpdateMessage(), Dispatcher(f)); } protected: - virtual ~AspectUpdate() - {} + virtual ~AspectUpdate() { } }; // end namespace SmartWin Modified: dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectVisible.h =================================================================== --- dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectVisible.h 2008-03-26 14:04:21 UTC (rev 1061) +++ dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectVisible.h 2008-03-26 14:11:12 UTC (rev 1062) @@ -28,6 +28,8 @@ #ifndef AspectVisible_h #define AspectVisible_h +#include "../Dispatchers.h" + namespace SmartWin { // begin namespace SmartWin @@ -46,19 +48,15 @@ template< class WidgetType > class AspectVisible { - struct Dispatcher - { - typedef std::tr1::function<void (bool)> F; + WidgetType& W() { return *static_cast<WidgetType*>(this); } + const WidgetType& W() const { return *static_cast<const WidgetType*>(this); } + HWND H() const { return W().handle(); } - Dispatcher(const F& f_) : f(f_) { } + static bool isVisible(const MSG& msg) { return msg.wParam > 0; } + + typedef Dispatchers::ConvertBase<bool, &AspectVisible<WidgetType>::isVisible> Dispatcher; + friend class Dispatchers::ConvertBase<bool, &AspectVisible<WidgetType>::isVisible>; - bool operator()(const MSG& msg, LRESULT& ret) { - f(msg.wParam > 0); - return true; - } - - F f; - }; public: /// Sets the visibility property of the Widget /** Changes the visibility property of the Widget. <br> @@ -81,9 +79,7 @@ * invisible. */ void onVisibilityChanged(const typename Dispatcher::F& f) { - static_cast<WidgetType*>(this)->addCallback( - Message( WM_SHOWWINDOW ), Dispatcher(f) - ); + W().addCallback(Message( WM_SHOWWINDOW ), Dispatcher(f)); } protected: @@ -97,13 +93,13 @@ template< class WidgetType > void AspectVisible< WidgetType >::setVisible( bool visible ) { - ::ShowWindow( static_cast< WidgetType * >( this )->handle(), visible ? SW_SHOW : SW_HIDE ); + ::ShowWindow( H(), visible ? SW_SHOW : SW_HIDE ); } template< class WidgetType > bool AspectVisible< WidgetType >::getVisible() const { - return ::IsWindowVisible( static_cast< const WidgetType * >( this )->handle() ) != 0; + return ::IsWindowVisible( H() ) != 0; } // end namespace SmartWin } Modified: dcplusplus/trunk/smartwin/include/smartwin/widgets/WidgetComboBox.h =================================================================== --- dcplusplus/trunk/smartwin/include/smartwin/widgets/WidgetComboBox.h 2008-03-26 14:04:21 UTC (rev 1061) +++ dcplusplus/trunk/smartwin/include/smartwin/widgets/WidgetComboBox.h 2008-03-26 14:11:12 UTC (rev 1062) @@ -58,7 +58,7 @@ */ class WidgetComboBox : // Aspects - public AspectBackgroundColor< WidgetComboBox >, + public AspectCtlColor< WidgetComboBox >, public AspectBorder< WidgetComboBox >, public AspectClickable< WidgetComboBox >, public AspectControl<WidgetComboBox>, Modified: dcplusplus/trunk/smartwin/include/smartwin/widgets/WidgetStatic.h =================================================================== --- dcplusplus/trunk/smartwin/include/smartwin/widgets/WidgetStatic.h 2008-03-26 14:04:21 UTC (rev 1061) +++ dcplusplus/trunk/smartwin/include/smartwin/widgets/WidgetStatic.h 2008-03-26 14:11:12 UTC (rev 1062) @@ -62,7 +62,7 @@ */ class WidgetStatic : // Aspects - public AspectBackgroundColor< WidgetStatic >, + public AspectCtlColor< WidgetStatic >, public AspectBorder< WidgetStatic >, public AspectClickable< WidgetStatic >, public AspectControl<WidgetStatic>, Modified: dcplusplus/trunk/smartwin/include/smartwin/widgets/WidgetTabView.h =================================================================== --- dcplusplus/trunk/smartwin/include/smartwin/widgets/WidgetTabView.h 2008-03-26 14:04:21 UTC (rev 1061) +++ dcplusplus/trunk/smartwin/include/smartwin/widgets/WidgetTabView.h 2008-03-26 14:11:12 UTC (rev 1062) @@ -109,7 +109,7 @@ void setTop(WidgetChildWindow* w); bool handleTextChanging(WidgetChildWindow* w, const SmartUtil::tstring& newText); - bool handleSized(const WidgetSizedEventResult&); + void handleSized(const SizedEvent&); void handleTabSelected(); LRESULT handleToolTip(LPARAM lParam); void handleLeftMouseDown(const MouseEventResult& mouseEventResult); Modified: dcplusplus/trunk/smartwin/include/smartwin/widgets/WidgetTextBox.h =================================================================== --- dcplusplus/trunk/smartwin/include/smartwin/widgets/WidgetTextBox.h 2008-03-26 14:04:21 UTC (rev 1061) +++ dcplusplus/trunk/smartwin/include/smartwin/widgets/WidgetTextBox.h 2008-03-26 14:11:12 UTC (rev 1062) @@ -66,7 +66,7 @@ */ class WidgetTextBoxBase : // Aspect classes - public AspectBackgroundColor< WidgetTextBoxBase >, + public AspectCtlColor< WidgetTextBoxBase >, public AspectBorder< WidgetTextBoxBase >, public AspectControl< WidgetTextBoxBase >, public AspectFocus< WidgetTextBoxBase >, Modified: dcplusplus/trunk/smartwin/source/Application.cpp =================================================================== --- dcplusplus/trunk/smartwin/source/Application.cpp 2008-03-26 14:04:21 UTC (rev 1061) +++ dcplusplus/trunk/smartwin/source/Application.cpp 2008-03-26 14:11:12 UTC (rev 1062) @@ -367,15 +367,7 @@ #endif // not __WINE__ -WidgetSizedEventResult::WidgetSizedEventResult( WPARAM wP, LPARAM lP ) -{ - newSize = Point( GET_X_LPARAM( lP ), GET_Y_LPARAM( lP ) ); - isMaximized = ( wP == SIZE_MAXIMIZED ); - isMinimized = ( wP == SIZE_MINIMIZED ); - isRestored = ( wP == SIZE_RESTORED ); -} - -MouseEventResult::MouseEventResult(HWND hwnd, WPARAM wP, LPARAM lP ) : pos(Point(GET_X_LPARAM( lP ), GET_Y_LPARAM( lP ))) { +MouseEventResult::MouseEventResult(HWND hwnd, WPARAM wP, LPARAM lP ) : pos(Point::fromLParam(lP)) { isShiftPressed = ( ( wP & MK_SHIFT ) == MK_SHIFT ); ::ClientToScreen(hwnd, &pos.getPoint()); Added: dcplusplus/trunk/smartwin/source/Events.cpp =================================================================== --- dcplusplus/trunk/smartwin/source/Events.cpp (rev 0) +++ dcplusplus/trunk/smartwin/source/Events.cpp 2008-03-26 14:11:12 UTC (rev 1062) @@ -0,0 +1,14 @@ +#include "../include/smartwin/Events.h" + +namespace SmartWin { + +SizedEvent::SizedEvent( const MSG& msg ) : + size(Point::fromLParam(msg.lParam)), + isMaximized(msg.wParam == SIZE_MAXIMIZED), + isMinimized(msg.wParam == SIZE_MINIMIZED), + isRestored(msg.wParam == SIZE_RESTORED) +{ +} + +} + Modified: dcplusplus/trunk/smartwin/source/Point.cpp =================================================================== --- dcplusplus/trunk/smartwin/source/Point.cpp 2008-03-26 14:04:21 UTC (rev 1061) +++ dcplusplus/trunk/smartwin/source/Point.cpp 2008-03-26 14:11:12 UTC (rev 1062) @@ -33,73 +33,44 @@ { // begin namespace SmartWin -Point::Point( long pX, long pY ) -{ x = pX; y = pY; } - -Point::Point() -{ x = y = 0; } - -Point::Point(const POINT& pt) : POINT(pt) { } - -Point::operator POINT() const { - POINT pt = { x, y }; - return pt; -} - -void Point::maxOf( const Point & p ) -{ +void Point::maxOf( const Point & p ) { if ( p.x > x ) x = p.x; if ( p.y > y ) y = p.y; } -void Point::minOf( const Point & p ) -{ +void Point::minOf( const Point & p ) { if ( p.x < x ) x = p.x; if ( p.y < y ) y = p.y; } -Point & operator += ( Point & lhs, const Point & rhs ) -{ +Point & operator += ( Point & lhs, const Point & rhs ) { lhs.x += rhs.x; lhs.y += rhs.y; return lhs; } -Point operator +( const Point & lhs, const Point & rhs ) -{ +Point operator +( const Point & lhs, const Point & rhs ) { Point retVal = lhs; retVal += rhs; return retVal; } -Point & operator -= ( Point & lhs, const Point & rhs ) -{ +Point & operator -= ( Point & lhs, const Point & rhs ) { lhs.x -= rhs.x; lhs.y -= rhs.y; return lhs; } -Point operator -( const Point & lhs, const Point & rhs ) -{ +Point operator -( const Point & lhs, const Point & rhs ) { Point retVal = lhs; retVal -= rhs; return retVal; } -bool operator == ( const Point & lhs, const Point & rhs ) -{ - ... [truncated message content] |
From: <arn...@us...> - 2008-03-26 14:04:49
|
Revision: 1061 http://dcplusplus.svn.sourceforge.net/dcplusplus/?rev=1061&view=rev Author: arnetheduck Date: 2008-03-26 07:04:21 -0700 (Wed, 26 Mar 2008) Log Message: ----------- setHelpIds only for dialogs Modified Paths: -------------- dcplusplus/trunk/help/settings_tabs.html dcplusplus/trunk/help/window_favorite_hubs.html dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectDialog.h dcplusplus/trunk/smartwin/include/smartwin/widgets/WidgetDialog.h dcplusplus/trunk/win32/Advanced3Page.cpp dcplusplus/trunk/win32/Appearance2Page.cpp dcplusplus/trunk/win32/AppearancePage.cpp dcplusplus/trunk/win32/CertificatesPage.cpp dcplusplus/trunk/win32/CommandDlg.cpp dcplusplus/trunk/win32/DownloadPage.cpp dcplusplus/trunk/win32/FavoriteDirsPage.cpp dcplusplus/trunk/win32/GeneralPage.cpp dcplusplus/trunk/win32/LogPage.cpp dcplusplus/trunk/win32/NetworkPage.cpp dcplusplus/trunk/win32/QueuePage.cpp dcplusplus/trunk/win32/SettingsDialog.cpp dcplusplus/trunk/win32/UCPage.cpp dcplusplus/trunk/win32/UploadPage.cpp dcplusplus/trunk/win32/WinUtil.cpp dcplusplus/trunk/win32/WinUtil.h Property Changed: ---------------- dcplusplus/trunk/ Property changes on: dcplusplus/trunk ___________________________________________________________________ Name: bzr:revision-info - timestamp: 2008-03-24 18:59:36.282999992 +0100 committer: zouzou123gen properties: branch-nick: bzr + timestamp: 2008-03-25 01:46:02.440000057 +0100 committer: zouzou123gen properties: branch-nick: bzr Name: bzr:revision-id:v3-trunk1 - 1027 arn...@gm...-20080323183926-schknwnkgeo7ivdn 1028 zouzou123gen-20080323220411-r8usuc3qxwuh7zsn 1029 zouzou123gen-20080323221249-0su72zaj13e706mk 1030 arn...@gm...-20080324140623-muba1dl46m000o8c 1031 zouzou123gen-20080324141933-qbgr93ugpe0297m6 1032 arn...@gm...-20080324153706-siidja05n84i00b1 1033 arn...@gm...-20080324153823-lhn3awurnu77riln 1034 arn...@gm...-20080324165650-zapppziji67yf5a2 1035 zouzou123gen-20080324175936-4mqc2kh0lo5wtdu2 + 1027 arn...@gm...-20080323183926-schknwnkgeo7ivdn 1028 zouzou123gen-20080323220411-r8usuc3qxwuh7zsn 1029 zouzou123gen-20080323221249-0su72zaj13e706mk 1030 arn...@gm...-20080324140623-muba1dl46m000o8c 1031 zouzou123gen-20080324141933-qbgr93ugpe0297m6 1032 arn...@gm...-20080324153706-siidja05n84i00b1 1033 arn...@gm...-20080324153823-lhn3awurnu77riln 1034 arn...@gm...-20080324165650-zapppziji67yf5a2 1035 zouzou123gen-20080324175936-4mqc2kh0lo5wtdu2 1036 zouzou123gen-20080325004602-6wdsoym95mjuhwd3 Modified: dcplusplus/trunk/help/settings_tabs.html =================================================================== --- dcplusplus/trunk/help/settings_tabs.html 2008-03-26 13:59:32 UTC (rev 1060) +++ dcplusplus/trunk/help/settings_tabs.html 2008-03-26 14:04:21 UTC (rev 1061) @@ -10,29 +10,27 @@ <dl style="margin-left: 40px;"> <dt>Hub</dt> <dd>When a chat message appears in a hub that's -not focused the tab will become bold if you have this option selected.</dd> +not focused the tab will be highlighted if you have this option selected.</dd> <dt>Private message</dt> <dd>When a private message appears that's -not focused the tab will become bold if you have this option selected.</dd> +not focused the tab will be highlighted if you have this option selected.</dd> <dt>Search</dt> <dd>If more search result appear in an open search window that's -not focused the tab will become bold if you have this option selected.</dd> +not focused the tab will be highlighted if you have this option selected.</dd> <dt>System log</dt> - <dd>If an system log entry is added while the tab is not focused, the tab will become bold if you have this option selected.</dd> + <dd>If an system log entry is added while the tab is not focused, the tab will be highlighted if you have this option selected.</dd> <dt>Download Queue</dt> <dd>This option controls whether or not the Download Queue's tab will highlight itself when a queue item changes state or finishes.</dd> <dt>Finished Downloads</dt> <dd>When a download completes, the Finished -Downloads tab will turn bold if this option is selected.</dd> +Downloads tab will be highlighted if this option is selected.</dd> <dt>Waiting users</dt> <dd>If a user or an item is added or removed while the tab is not -focused, the tab will become bold if you have this option selected.</dd> +focused, the tab will be highlighted if you have this option selected.</dd> <dt>Finished Uploads</dt> <dd>When a upload completes, the Finished -Uploads tab will turn bold if this option is selected.</dd> +Uploads tab will be highlighted if this option is selected.</dd> </dl> </body> </html> - - Modified: dcplusplus/trunk/help/window_favorite_hubs.html =================================================================== --- dcplusplus/trunk/help/window_favorite_hubs.html 2008-03-26 13:59:32 UTC (rev 1060) +++ dcplusplus/trunk/help/window_favorite_hubs.html 2008-03-26 14:04:21 UTC (rev 1061) @@ -24,18 +24,18 @@ </dl> <h2>Buttons</h2> <dl style="margin-left: 40px;"> + <dt>Connect</dt> + <dd>Connects to selected hubs.<dd> <dt>New</dt> <dd>Create a new favorite hub.</dd> <dt>Properties</dt> - <dd>Change pre-existing hub properties.</dd> - <dt>Remove</dt> - <dd>Removes the chosen favorite hub.</dd> + <dd>Change pre-existing hub properties for the selected hub.</dd> <dt>Move up</dt> - <dd>Move up a hub in the list. If several hubs have <a href=#autoconnect>auto connect</a> enabled, the highest hub will be connected to first.</dd> + <dd>Move up selected hubs in the list. If several hubs have <a href=#autoconnect>auto connect</a> enabled, the highest hub will be connected to first.</dd> <dt>Move down</dt> - <dd>Move down a hub in the list. If several hubs have <a href=#autoconnect>auto connect</a> enabled, the lowest hub will be connected to last.</dd> - <dt>Connect</dt> - <dd>Connects to chosen hubs.<dd> + <dd>Move down selected hubs in the list. If several hubs have <a href=#autoconnect>auto connect</a> enabled, the lowest hub will be connected to last.</dd> + <dt>Remove</dt> + <dd>Removes selected hubs from the favorite hubs list.</dd> </dl> </body> </html> Modified: dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectDialog.h =================================================================== --- dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectDialog.h 2008-03-26 13:59:32 UTC (rev 1060) +++ dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectDialog.h 2008-03-26 14:04:21 UTC (rev 1061) @@ -8,10 +8,15 @@ template<typename T> class AspectDialog { public: + HWND getItem(int id) { + return ::GetDlgItem(static_cast<T*>(this)->handle(), id); + } + void setItemText(int id, const SmartUtil::tstring& text) { ::SetDlgItemText(static_cast<T*>(this)->handle(), id, text.c_str()); } - }; + } + #endif /*ASPECTDIALOG_H_*/ Modified: dcplusplus/trunk/smartwin/include/smartwin/widgets/WidgetDialog.h =================================================================== --- dcplusplus/trunk/smartwin/include/smartwin/widgets/WidgetDialog.h 2008-03-26 13:59:32 UTC (rev 1060) +++ dcplusplus/trunk/smartwin/include/smartwin/widgets/WidgetDialog.h 2008-03-26 14:04:21 UTC (rev 1061) @@ -28,6 +28,7 @@ #ifndef WidgetDialog_h #define WidgetDialog_h +#include "../aspects/AspectDialog.h" #include "WidgetWindowBase.h" namespace SmartWin @@ -43,8 +44,9 @@ * Class is a public superclass of WidgetWindowBase and therefor can use all features * of WidgetWindowBase. */ -class WidgetDialog - : public WidgetWindowBase< Policies::Dialog > +class WidgetDialog : + public WidgetWindowBase< Policies::Dialog >, + public AspectDialog<WidgetDialog > { public: typedef WidgetWindowBase< Policies::Dialog > BaseType; Modified: dcplusplus/trunk/win32/Advanced3Page.cpp =================================================================== --- dcplusplus/trunk/win32/Advanced3Page.cpp 2008-03-26 13:59:32 UTC (rev 1060) +++ dcplusplus/trunk/win32/Advanced3Page.cpp 2008-03-26 14:04:21 UTC (rev 1061) @@ -113,7 +113,7 @@ createDialog(IDD_ADVANCED3PAGE); setHelpId(IDH_ADVANCED3PAGE); - WinUtil::setHelpIds(handle(), helpItems); + WinUtil::setHelpIds(this, helpItems); PropPage::translate(handle(), texts); PropPage::read(handle(), items, 0, 0); Modified: dcplusplus/trunk/win32/Appearance2Page.cpp =================================================================== --- dcplusplus/trunk/win32/Appearance2Page.cpp 2008-03-26 13:59:32 UTC (rev 1060) +++ dcplusplus/trunk/win32/Appearance2Page.cpp 2008-03-26 14:04:21 UTC (rev 1061) @@ -66,7 +66,7 @@ createDialog(IDD_APPEARANCE2PAGE); setHelpId(IDH_APPEARANCE2PAGE); - WinUtil::setHelpIds(handle(), helpItems); + WinUtil::setHelpIds(this, helpItems); PropPage::translate(handle(), texts); PropPage::read(handle(), items, 0, 0); Modified: dcplusplus/trunk/win32/AppearancePage.cpp =================================================================== --- dcplusplus/trunk/win32/AppearancePage.cpp 2008-03-26 13:59:32 UTC (rev 1060) +++ dcplusplus/trunk/win32/AppearancePage.cpp 2008-03-26 14:04:21 UTC (rev 1061) @@ -72,7 +72,7 @@ createDialog(IDD_APPEARANCEPAGE); setHelpId(IDH_APPEARANCEPAGE); - WinUtil::setHelpIds(handle(), helpItems); + WinUtil::setHelpIds(this, helpItems); PropPage::translate(handle(), texts); PropPage::read(handle(), items, listItems, ::GetDlgItem(handle(), IDC_APPEARANCE_BOOLEANS)); Modified: dcplusplus/trunk/win32/CertificatesPage.cpp =================================================================== --- dcplusplus/trunk/win32/CertificatesPage.cpp 2008-03-26 13:59:32 UTC (rev 1060) +++ dcplusplus/trunk/win32/CertificatesPage.cpp 2008-03-26 14:04:21 UTC (rev 1061) @@ -65,7 +65,7 @@ createDialog(IDD_CERTIFICATESPAGE); setHelpId(IDH_CERTIFICATESPAGE); - WinUtil::setHelpIds(handle(), helpItems); + WinUtil::setHelpIds(this, helpItems); PropPage::translate(handle(), texts); PropPage::read(handle(), items, listItems, ::GetDlgItem(handle(), IDC_TLS_OPTIONS)); Modified: dcplusplus/trunk/win32/CommandDlg.cpp =================================================================== --- dcplusplus/trunk/win32/CommandDlg.cpp 2008-03-26 13:59:32 UTC (rev 1060) +++ dcplusplus/trunk/win32/CommandDlg.cpp 2008-03-26 14:04:21 UTC (rev 1061) @@ -86,7 +86,7 @@ bool CommandDlg::handleInitDialog() { setHelpId(IDH_USER_COMMAND); - WinUtil::setHelpIds(handle(), helpItems); + WinUtil::setHelpIds(this, helpItems); // Translate setText(T_("Create / Modify User Command")); Modified: dcplusplus/trunk/win32/DownloadPage.cpp =================================================================== --- dcplusplus/trunk/win32/DownloadPage.cpp 2008-03-26 13:59:32 UTC (rev 1060) +++ dcplusplus/trunk/win32/DownloadPage.cpp 2008-03-26 14:04:21 UTC (rev 1061) @@ -76,7 +76,7 @@ createDialog(IDD_DOWNLOADPAGE); setHelpId(IDH_DOWNLOADPAGE); - WinUtil::setHelpIds(handle(), helpItems); + WinUtil::setHelpIds(this, helpItems); PropPage::translate(handle(), texts); PropPage::read(handle(), items); Modified: dcplusplus/trunk/win32/FavoriteDirsPage.cpp =================================================================== --- dcplusplus/trunk/win32/FavoriteDirsPage.cpp 2008-03-26 13:59:32 UTC (rev 1060) +++ dcplusplus/trunk/win32/FavoriteDirsPage.cpp 2008-03-26 14:04:21 UTC (rev 1061) @@ -49,7 +49,7 @@ createDialog(IDD_FAVORITE_DIRSPAGE); setHelpId(IDH_FAVORITE_DIRSPAGE); - WinUtil::setHelpIds(handle(), helpItems); + WinUtil::setHelpIds(this, helpItems); PropPage::translate(handle(), texts); directories = attachList(IDC_FAVORITE_DIRECTORIES); Modified: dcplusplus/trunk/win32/GeneralPage.cpp =================================================================== --- dcplusplus/trunk/win32/GeneralPage.cpp 2008-03-26 13:59:32 UTC (rev 1060) +++ dcplusplus/trunk/win32/GeneralPage.cpp 2008-03-26 14:04:21 UTC (rev 1061) @@ -61,7 +61,7 @@ createDialog(IDD_GENERALPAGE); setHelpId(IDH_GENERALPAGE); - WinUtil::setHelpIds(handle(), helpItems); + WinUtil::setHelpIds(this, helpItems); PropPage::translate(handle(), texts); PropPage::read(handle(), items); Modified: dcplusplus/trunk/win32/LogPage.cpp =================================================================== --- dcplusplus/trunk/win32/LogPage.cpp 2008-03-26 13:59:32 UTC (rev 1060) +++ dcplusplus/trunk/win32/LogPage.cpp 2008-03-26 14:04:21 UTC (rev 1061) @@ -63,7 +63,7 @@ createDialog(IDD_LOGPAGE); setHelpId(IDH_LOGPAGE); - WinUtil::setHelpIds(handle(), helpItems); + WinUtil::setHelpIds(this, helpItems); PropPage::translate(handle(), texts); PropPage::read(handle(), items, listItems, ::GetDlgItem(handle(), IDC_LOG_OPTIONS)); Modified: dcplusplus/trunk/win32/NetworkPage.cpp =================================================================== --- dcplusplus/trunk/win32/NetworkPage.cpp 2008-03-26 13:59:32 UTC (rev 1060) +++ dcplusplus/trunk/win32/NetworkPage.cpp 2008-03-26 14:04:21 UTC (rev 1061) @@ -95,7 +95,7 @@ createDialog(IDD_NETWORKPAGE); setHelpId(IDH_NETWORKPAGE); - WinUtil::setHelpIds(handle(), helpItems); + WinUtil::setHelpIds(this, helpItems); PropPage::translate(handle(), texts); if(!(WinUtil::getOsMajor() >= 5 && WinUtil::getOsMinor() >= 1 //WinXP & WinSvr2003 Modified: dcplusplus/trunk/win32/QueuePage.cpp =================================================================== --- dcplusplus/trunk/win32/QueuePage.cpp 2008-03-26 13:59:32 UTC (rev 1060) +++ dcplusplus/trunk/win32/QueuePage.cpp 2008-03-26 14:04:21 UTC (rev 1061) @@ -118,7 +118,7 @@ createDialog(IDD_QUEUEPAGE); setHelpId(IDH_QUEUEPAGE); - WinUtil::setHelpIds(handle(), helpItems); + WinUtil::setHelpIds(this, helpItems); PropPage::translate(handle(), texts); PropPage::read(handle(), items, 0, 0); PropPage::read(handle(), items, optionItems, ::GetDlgItem(handle(), IDC_OTHER_QUEUE_OPTIONS)); Modified: dcplusplus/trunk/win32/SettingsDialog.cpp =================================================================== --- dcplusplus/trunk/win32/SettingsDialog.cpp 2008-03-26 13:59:32 UTC (rev 1060) +++ dcplusplus/trunk/win32/SettingsDialog.cpp 2008-03-26 14:04:21 UTC (rev 1061) @@ -66,7 +66,7 @@ // set this to IDH_STARTPAGE so that clicking in an empty space of the dialog generates a WM_HELP message with no error; then SettingsDialog::handleHelp will convert IDH_STARTPAGE to the current page's help id setHelpId(IDH_STARTPAGE); - WinUtil::setHelpIds(handle(), helpItems); + WinUtil::setHelpIds(this, helpItems); setText(T_("Settings")); Modified: dcplusplus/trunk/win32/UCPage.cpp =================================================================== --- dcplusplus/trunk/win32/UCPage.cpp 2008-03-26 13:59:32 UTC (rev 1060) +++ dcplusplus/trunk/win32/UCPage.cpp 2008-03-26 14:04:21 UTC (rev 1061) @@ -55,7 +55,7 @@ createDialog(IDD_UCPAGE); setHelpId(IDH_UCPAGE); - WinUtil::setHelpIds(handle(), helpItems); + WinUtil::setHelpIds(this, helpItems); PropPage::translate(handle(), texts); PropPage::read(handle(), items); Modified: dcplusplus/trunk/win32/UploadPage.cpp =================================================================== --- dcplusplus/trunk/win32/UploadPage.cpp 2008-03-26 13:59:32 UTC (rev 1060) +++ dcplusplus/trunk/win32/UploadPage.cpp 2008-03-26 14:04:21 UTC (rev 1061) @@ -74,7 +74,7 @@ createDialog(IDD_UPLOADPAGE); setHelpId(IDH_UPLOADPAGE); - WinUtil::setHelpIds(handle(), helpItems); + WinUtil::setHelpIds(this, helpItems); PropPage::translate(handle(), texts); PropPage::read(handle(), items); Modified: dcplusplus/trunk/win32/WinUtil.cpp =================================================================== --- dcplusplus/trunk/win32/WinUtil.cpp 2008-03-26 13:59:32 UTC (rev 1060) +++ dcplusplus/trunk/win32/WinUtil.cpp 2008-03-26 14:04:21 UTC (rev 1061) @@ -198,12 +198,6 @@ } } -void WinUtil::setHelpIds(HWND hWnd, const HelpItem* items) { - dcassert(hWnd && items); - for(size_t i = 0; items[i].ctrlId != 0; ++i) - ::SetWindowContextHelpId(::GetDlgItem(hWnd, items[i].ctrlId), items[i].helpId); -} - #define LINE2 _T("-- http://dcplusplus.sourceforge.net <DC++ ") _T(VERSIONSTRING) _T(">") const TCHAR *msgs[] = { _T("\r\n-- I'm a happy dc++ user. You could be happy too.\r\n") LINE2, _T("\r\n-- Neo-...what? Nope...never heard of it...\r\n") LINE2, Modified: dcplusplus/trunk/win32/WinUtil.h =================================================================== --- dcplusplus/trunk/win32/WinUtil.h 2008-03-26 13:59:32 UTC (rev 1060) +++ dcplusplus/trunk/win32/WinUtil.h 2008-03-26 14:04:21 UTC (rev 1061) @@ -87,7 +87,12 @@ static tstring encodeFont(LOGFONT const& font); static void decodeFont(const tstring& setting, LOGFONT &dest); - static void setHelpIds(HWND hWnd, const HelpItem* items); + template<typename A> + static void setHelpIds(SmartWin::AspectDialog<A>* dialog, const HelpItem* items) { + dcassert(dialog && items); + for(size_t i = 0; items[i].ctrlId != 0; ++i) + ::SetWindowContextHelpId(dialog->getItem(items[i].ctrlId), items[i].helpId); + } /** * Check if this is a common /-command. This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <arn...@us...> - 2008-03-26 13:59:35
|
Revision: 1060 http://dcplusplus.svn.sourceforge.net/dcplusplus/?rev=1060&view=rev Author: arnetheduck Date: 2008-03-26 06:59:32 -0700 (Wed, 26 Mar 2008) Log Message: ----------- "What's this?" icon in the toolbar, fix toolbar separators Modified Paths: -------------- dcplusplus/trunk/changelog.txt dcplusplus/trunk/res/toolbar20-highlight.bmp dcplusplus/trunk/res/toolbar20.bmp dcplusplus/trunk/smartwin/source/widgets/WidgetToolbar.cpp dcplusplus/trunk/win32/MainWindow.cpp dcplusplus/trunk/win32/MainWindow.h dcplusplus/trunk/win32/WinUtil.cpp dcplusplus/trunk/win32/resource.h Property Changed: ---------------- dcplusplus/trunk/ Property changes on: dcplusplus/trunk ___________________________________________________________________ Name: bzr:revision-info - timestamp: 2008-03-24 17:56:50.601000071 +0100 committer: Jacek Sieka <arn...@gm...> properties: branch-nick: dcplusplus + timestamp: 2008-03-24 18:59:36.282999992 +0100 committer: zouzou123gen properties: branch-nick: bzr Name: bzr:revision-id:v3-trunk1 - 1027 arn...@gm...-20080323183926-schknwnkgeo7ivdn 1028 zouzou123gen-20080323220411-r8usuc3qxwuh7zsn 1029 zouzou123gen-20080323221249-0su72zaj13e706mk 1030 arn...@gm...-20080324140623-muba1dl46m000o8c 1031 zouzou123gen-20080324141933-qbgr93ugpe0297m6 1032 arn...@gm...-20080324153706-siidja05n84i00b1 1033 arn...@gm...-20080324153823-lhn3awurnu77riln 1034 arn...@gm...-20080324165650-zapppziji67yf5a2 + 1027 arn...@gm...-20080323183926-schknwnkgeo7ivdn 1028 zouzou123gen-20080323220411-r8usuc3qxwuh7zsn 1029 zouzou123gen-20080323221249-0su72zaj13e706mk 1030 arn...@gm...-20080324140623-muba1dl46m000o8c 1031 zouzou123gen-20080324141933-qbgr93ugpe0297m6 1032 arn...@gm...-20080324153706-siidja05n84i00b1 1033 arn...@gm...-20080324153823-lhn3awurnu77riln 1034 arn...@gm...-20080324165650-zapppziji67yf5a2 1035 zouzou123gen-20080324175936-4mqc2kh0lo5wtdu2 Modified: dcplusplus/trunk/changelog.txt =================================================================== --- dcplusplus/trunk/changelog.txt 2008-03-26 13:56:28 UTC (rev 1059) +++ dcplusplus/trunk/changelog.txt 2008-03-26 13:59:32 UTC (rev 1060) @@ -5,6 +5,7 @@ * Fixed out of focus window when restoring from icon (poy) * [L#203865] Fixed multiple instances (poy) * Context-sensitive help (poy) +* Fixed toolbar separators (poy) -- 0.705 2008-03-14 -- * Several patches for better *nix compatibility of the core (thanks steven sheehy et al) Modified: dcplusplus/trunk/res/toolbar20-highlight.bmp =================================================================== (Binary files differ) Modified: dcplusplus/trunk/res/toolbar20.bmp =================================================================== (Binary files differ) Modified: dcplusplus/trunk/smartwin/source/widgets/WidgetToolbar.cpp =================================================================== --- dcplusplus/trunk/smartwin/source/widgets/WidgetToolbar.cpp 2008-03-26 13:56:28 UTC (rev 1059) +++ dcplusplus/trunk/smartwin/source/widgets/WidgetToolbar.cpp 2008-03-26 13:59:32 UTC (rev 1060) @@ -20,8 +20,6 @@ void WidgetToolbar::appendSeparator() { TBBUTTON tb = { 0 }; - tb.iBitmap = 1; - tb.fsState = TBSTATE_ENABLED; tb.fsStyle = BTNS_SEP; if ( this->sendMessage(TB_ADDBUTTONS, 1, reinterpret_cast< LPARAM >( &tb ) ) == FALSE ) { Modified: dcplusplus/trunk/win32/MainWindow.cpp =================================================================== --- dcplusplus/trunk/win32/MainWindow.cpp 2008-03-26 13:56:28 UTC (rev 1059) +++ dcplusplus/trunk/win32/MainWindow.cpp 2008-03-26 13:59:32 UTC (rev 1060) @@ -280,6 +280,7 @@ int image = 0; toolbar->appendItem(IDC_PUBLIC_HUBS, image++, T_("Public Hubs")); + toolbar->appendSeparator(); toolbar->appendItem(IDC_RECONNECT, image++, T_("Reconnect")); toolbar->appendItem(IDC_FOLLOW, image++, T_("Follow last redirect")); toolbar->appendSeparator(); @@ -296,8 +297,11 @@ toolbar->appendItem(IDC_SEARCH_SPY, image++, T_("Search Spy")); toolbar->appendSeparator(); toolbar->appendItem(IDC_OPEN_FILE_LIST, image++, T_("Open file list...")); + toolbar->appendSeparator(); toolbar->appendItem(IDC_SETTINGS, image++, T_("Settings")); toolbar->appendItem(IDC_NOTEPAD, image++, T_("Notepad")); + toolbar->appendSeparator(); + toolbar->appendItem(IDC_WHATS_THIS, image++, T_("\"What's this?\" help"), std::tr1::bind(&MainWindow::handleWhatsThis, this)); } void MainWindow::initStatusBar() { @@ -1077,6 +1081,10 @@ } } +void MainWindow::handleWhatsThis() { + sendMessage(WM_SYSCOMMAND, SC_CONTEXTHELP); +} + void MainWindow::on(HttpConnectionListener::Data, HttpConnection* /*conn*/, const uint8_t* buf, size_t len) throw() { versionInfo += string((const char*)buf, len); } Modified: dcplusplus/trunk/win32/MainWindow.h =================================================================== --- dcplusplus/trunk/win32/MainWindow.h 2008-03-26 13:56:28 UTC (rev 1059) +++ dcplusplus/trunk/win32/MainWindow.h 2008-03-26 13:59:32 UTC (rev 1060) @@ -156,6 +156,7 @@ void handleAbout(); void handleHashProgress(); void handleCloseWindows(unsigned id); + void handleWhatsThis(); void handleSize(); void handleActivate(bool active); LRESULT handleEndSession(); Modified: dcplusplus/trunk/win32/WinUtil.cpp =================================================================== --- dcplusplus/trunk/win32/WinUtil.cpp 2008-03-26 13:56:28 UTC (rev 1059) +++ dcplusplus/trunk/win32/WinUtil.cpp 2008-03-26 13:59:32 UTC (rev 1060) @@ -597,7 +597,7 @@ ids[0] = ctrlId; ids[1] = helpId; ids[2] = 0; - ::HtmlHelp(hWnd, helpFile.c_str(), HH_TP_HELP_WM_HELP, (DWORD)ids); + ::HtmlHelp(hWnd, helpFile.c_str(), HH_TP_HELP_WM_HELP, reinterpret_cast<DWORD_PTR>(ids)); } else ::HtmlHelp(hWnd, helpFile.c_str(), helpId ? HH_HELP_CONTEXT : HH_DISPLAY_TOC, helpId); } Modified: dcplusplus/trunk/win32/resource.h =================================================================== --- dcplusplus/trunk/win32/resource.h 2008-03-26 13:56:28 UTC (rev 1059) +++ dcplusplus/trunk/win32/resource.h 2008-03-26 13:59:32 UTC (rev 1060) @@ -138,6 +138,7 @@ #define IDC_CLOSE_WINDOW 1072 #define IDC_TRAY_SHOW 1073 #define IDC_TRAY_QUIT 1074 +#define IDC_WHATS_THIS 1075 #define IDC_ADD 2000 #define IDC_ADD_MENU 2001 This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <arn...@us...> - 2008-03-26 13:56:29
|
Revision: 1059 http://dcplusplus.svn.sourceforge.net/dcplusplus/?rev=1059&view=rev Author: arnetheduck Date: 2008-03-26 06:56:28 -0700 (Wed, 26 Mar 2008) Log Message: ----------- Always send message to all listeners Modified Paths: -------------- dcplusplus/trunk/smartwin/source/Widget.cpp Property Changed: ---------------- dcplusplus/trunk/ Property changes on: dcplusplus/trunk ___________________________________________________________________ Name: bzr:revision-info - timestamp: 2008-03-24 16:38:23.704999924 +0100 committer: Jacek Sieka <arn...@gm...> properties: branch-nick: dcplusplus + timestamp: 2008-03-24 17:56:50.601000071 +0100 committer: Jacek Sieka <arn...@gm...> properties: branch-nick: dcplusplus Name: bzr:file-ids - boost/boost/mpl mpl-20080324153746-8v6556t7wrzz08vp-2 boost/boost/mpl/O1_size.hpp o1_size.hpp-20080324153746-8v6556t7wrzz08vp-3 boost/boost/mpl/O1_size_fwd.hpp o1_size_fwd.hpp-20080324153746-8v6556t7wrzz08vp-4 boost/boost/mpl/accumulate.hpp accumulate.hpp-20080324153746-8v6556t7wrzz08vp-5 boost/boost/mpl/advance.hpp advance.hpp-20080324153746-8v6556t7wrzz08vp-6 boost/boost/mpl/advance_fwd.hpp advance_fwd.hpp-20080324153746-8v6556t7wrzz08vp-7 boost/boost/mpl/alias.hpp alias.hpp-20080324153746-8v6556t7wrzz08vp-8 boost/boost/mpl/always.hpp always.hpp-20080324153746-8v6556t7wrzz08vp-9 boost/boost/mpl/and.hpp and.hpp-20080324153746-8v6556t7wrzz08vp-10 boost/boost/mpl/apply.hpp apply.hpp-20080324153746-8v6556t7wrzz08vp-11 boost/boost/mpl/apply_fwd.hpp apply_fwd.hpp-20080324153746-8v6556t7wrzz08vp-12 boost/boost/mpl/apply_wrap.hpp apply_wrap.hpp-20080324153746-8v6556t7wrzz08vp-13 boost/boost/mpl/arg.hpp arg.hpp-20080324153746-8v6556t7wrzz08vp-14 boost/boost/mpl/arg_fwd.hpp arg_fwd.hpp-20080324153746-8v6556t7wrzz08vp-15 boost/boost/mpl/arithmetic.hpp arithmetic.hpp-20080324153746-8v6556t7wrzz08vp-16 boost/boost/mpl/as_sequence.hpp as_sequence.hpp-20080324153746-8v6556t7wrzz08vp-17 boost/boost/mpl/assert.hpp assert.hpp-20080324153746-8v6556t7wrzz08vp-18 boost/boost/mpl/at.hpp at.hpp-20080324153746-8v6556t7wrzz08vp-19 boost/boost/mpl/at_fwd.hpp at_fwd.hpp-20080324153746-8v6556t7wrzz08vp-20 boost/boost/mpl/aux_ aux_-20080324153746-8v6556t7wrzz08vp-21 boost/boost/mpl/aux_/O1_size_impl.hpp o1_size_impl.hpp-20080324153746-8v6556t7wrzz08vp-257 boost/boost/mpl/aux_/adl_barrier.hpp adl_barrier.hpp-20080324153746-8v6556t7wrzz08vp-258 boost/boost/mpl/aux_/advance_backward.hpp advance_backward.hpp-20080324153746-8v6556t7wrzz08vp-259 boost/boost/mpl/aux_/advance_forward.hpp advance_forward.hpp-20080324153746-8v6556t7wrzz08vp-260 boost/boost/mpl/aux_/apply_1st.hpp apply_1st.hpp-20080324153746-8v6556t7wrzz08vp-261 boost/boost/mpl/aux_/arg_typedef.hpp arg_typedef.hpp-20080324153746-8v6556t7wrzz08vp-262 boost/boost/mpl/aux_/arithmetic_op.hpp arithmetic_op.hpp-20080324153746-8v6556t7wrzz08vp-263 boost/boost/mpl/aux_/arity.hpp arity.hpp-20080324153746-8v6556t7wrzz08vp-264 boost/boost/mpl/aux_/arity_spec.hpp arity_spec.hpp-20080324153746-8v6556t7wrzz08vp-265 boost/boost/mpl/aux_/at_impl.hpp at_impl.hpp-20080324153746-8v6556t7wrzz08vp-266 boost/boost/mpl/aux_/back_impl.hpp back_impl.hpp-20080324153746-8v6556t7wrzz08vp-267 boost/boost/mpl/aux_/basic_bind.hpp basic_bind.hpp-20080324153746-8v6556t7wrzz08vp-268 boost/boost/mpl/aux_/begin_end_impl.hpp begin_end_impl.hpp-20080324153746-8v6556t7wrzz08vp-269 boost/boost/mpl/aux_/clear_impl.hpp clear_impl.hpp-20080324153746-8v6556t7wrzz08vp-270 boost/boost/mpl/aux_/common_name_wknd.hpp common_name_wknd.hpp-20080324153746-8v6556t7wrzz08vp-271 boost/boost/mpl/aux_/comparison_op.hpp comparison_op.hpp-20080324153746-8v6556t7wrzz08vp-272 boost/boost/mpl/aux_/config config-20080324153746-8v6556t7wrzz08vp-273 boost/boost/mpl/aux_/config/adl.hpp adl.hpp-20080324153746-8v6556t7wrzz08vp-556 boost/boost/mpl/aux_/config/arrays.hpp arrays.hpp-20080324153746-8v6556t7wrzz08vp-557 boost/boost/mpl/aux_/config/bind.hpp bind.hpp-20080324153746-8v6556t7wrzz08vp-558 boost/boost/mpl/aux_/config/compiler.hpp compiler.hpp-20080324153746-8v6556t7wrzz08vp-559 boost/boost/mpl/aux_/config/ctps.hpp ctps.hpp-20080324153746-8v6556t7wrzz08vp-560 boost/boost/mpl/aux_/config/dependent_nttp.hpp dependent_nttp.hpp-20080324153746-8v6556t7wrzz08vp-561 boost/boost/mpl/aux_/config/dmc_ambiguous_ctps.hpp dmc_ambiguous_ctps.h-20080324153746-8v6556t7wrzz08vp-562 boost/boost/mpl/aux_/config/dtp.hpp dtp.hpp-20080324153746-8v6556t7wrzz08vp-563 boost/boost/mpl/aux_/config/eti.hpp eti.hpp-20080324153746-8v6556t7wrzz08vp-564 boost/boost/mpl/aux_/config/forwarding.hpp forwarding.hpp-20080324153746-8v6556t7wrzz08vp-565 boost/boost/mpl/aux_/config/gcc.hpp gcc.hpp-20080324153746-8v6556t7wrzz08vp-566 boost/boost/mpl/aux_/config/has_apply.hpp has_apply.hpp-20080324153746-8v6556t7wrzz08vp-567 boost/boost/mpl/aux_/config/has_xxx.hpp has_xxx.hpp-20080324153746-8v6556t7wrzz08vp-568 boost/boost/mpl/aux_/config/integral.hpp integral.hpp-20080324153746-8v6556t7wrzz08vp-569 boost/boost/mpl/aux_/config/intel.hpp intel.hpp-20080324153746-8v6556t7wrzz08vp-570 boost/boost/mpl/aux_/config/lambda.hpp lambda.hpp-20080324153746-8v6556t7wrzz08vp-571 boost/boost/mpl/aux_/config/msvc.hpp msvc.hpp-20080324153746-8v6556t7wrzz08vp-572 boost/boost/mpl/aux_/config/msvc_typename.hpp msvc_typename.hpp-20080324153746-8v6556t7wrzz08vp-573 boost/boost/mpl/aux_/config/nttp.hpp nttp.hpp-20080324153746-8v6556t7wrzz08vp-574 boost/boost/mpl/aux_/config/operators.hpp operators.hpp-20080324153746-8v6556t7wrzz08vp-575 boost/boost/mpl/aux_/config/overload_resolution.hpp overload_resolution.-20080324153746-8v6556t7wrzz08vp-576 boost/boost/mpl/aux_/config/preprocessor.hpp preprocessor.hpp-20080324153746-8v6556t7wrzz08vp-577 boost/boost/mpl/aux_/config/static_constant.hpp static_constant.hpp-20080324153746-8v6556t7wrzz08vp-578 boost/boost/mpl/aux_/config/ttp.hpp ttp.hpp-20080324153746-8v6556t7wrzz08vp-579 boost/boost/mpl/aux_/config/typeof.hpp typeof.hpp-20080324153746-8v6556t7wrzz08vp-580 boost/boost/mpl/aux_/config/use_preprocessed.hpp use_preprocessed.hpp-20080324153746-8v6556t7wrzz08vp-581 boost/boost/mpl/aux_/config/workaround.hpp workaround.hpp-20080324153746-8v6556t7wrzz08vp-582 boost/boost/mpl/aux_/contains_impl.hpp contains_impl.hpp-20080324153746-8v6556t7wrzz08vp-274 boost/boost/mpl/aux_/count_args.hpp count_args.hpp-20080324153746-8v6556t7wrzz08vp-275 boost/boost/mpl/aux_/count_impl.hpp count_impl.hpp-20080324153746-8v6556t7wrzz08vp-276 boost/boost/mpl/aux_/empty_impl.hpp empty_impl.hpp-20080324153746-8v6556t7wrzz08vp-277 boost/boost/mpl/aux_/erase_impl.hpp erase_impl.hpp-20080324153746-8v6556t7wrzz08vp-278 boost/boost/mpl/aux_/erase_key_impl.hpp erase_key_impl.hpp-20080324153746-8v6556t7wrzz08vp-279 boost/boost/mpl/aux_/filter_iter.hpp filter_iter.hpp-20080324153746-8v6556t7wrzz08vp-280 boost/boost/mpl/aux_/find_if_pred.hpp find_if_pred.hpp-20080324153746-8v6556t7wrzz08vp-281 boost/boost/mpl/aux_/fold_impl.hpp fold_impl.hpp-20080324153746-8v6556t7wrzz08vp-282 boost/boost/mpl/aux_/fold_impl_body.hpp fold_impl_body.hpp-20080324153746-8v6556t7wrzz08vp-283 boost/boost/mpl/aux_/fold_op.hpp fold_op.hpp-20080324153746-8v6556t7wrzz08vp-284 boost/boost/mpl/aux_/fold_pred.hpp fold_pred.hpp-20080324153746-8v6556t7wrzz08vp-285 boost/boost/mpl/aux_/front_impl.hpp front_impl.hpp-20080324153746-8v6556t7wrzz08vp-286 boost/boost/mpl/aux_/full_lambda.hpp full_lambda.hpp-20080324153746-8v6556t7wrzz08vp-287 boost/boost/mpl/aux_/has_apply.hpp has_apply.hpp-20080324153746-8v6556t7wrzz08vp-288 boost/boost/mpl/aux_/has_begin.hpp has_begin.hpp-20080324153746-8v6556t7wrzz08vp-289 boost/boost/mpl/aux_/has_key_impl.hpp has_key_impl.hpp-20080324153746-8v6556t7wrzz08vp-290 boost/boost/mpl/aux_/has_rebind.hpp has_rebind.hpp-20080324153746-8v6556t7wrzz08vp-291 boost/boost/mpl/aux_/has_size.hpp has_size.hpp-20080324153746-8v6556t7wrzz08vp-292 boost/boost/mpl/aux_/has_tag.hpp has_tag.hpp-20080324153746-8v6556t7wrzz08vp-293 boost/boost/mpl/aux_/has_type.hpp has_type.hpp-20080324153746-8v6556t7wrzz08vp-294 boost/boost/mpl/aux_/include_preprocessed.hpp include_preprocessed-20080324153746-8v6556t7wrzz08vp-295 boost/boost/mpl/aux_/insert_impl.hpp insert_impl.hpp-20080324153746-8v6556t7wrzz08vp-296 boost/boost/mpl/aux_/insert_range_impl.hpp insert_range_impl.hp-20080324153746-8v6556t7wrzz08vp-297 boost/boost/mpl/aux_/inserter_algorithm.hpp inserter_algorithm.h-20080324153746-8v6556t7wrzz08vp-298 boost/boost/mpl/aux_/integral_wrapper.hpp integral_wrapper.hpp-20080324153746-8v6556t7wrzz08vp-299 boost/boost/mpl/aux_/is_msvc_eti_arg.hpp is_msvc_eti_arg.hpp-20080324153746-8v6556t7wrzz08vp-300 boost/boost/mpl/aux_/iter_apply.hpp iter_apply.hpp-20080324153746-8v6556t7wrzz08vp-301 boost/boost/mpl/aux_/iter_fold_if_impl.hpp iter_fold_if_impl.hp-20080324153746-8v6556t7wrzz08vp-302 boost/boost/mpl/aux_/iter_fold_impl.hpp iter_fold_impl.hpp-20080324153746-8v6556t7wrzz08vp-303 boost/boost/mpl/aux_/iter_push_front.hpp iter_push_front.hpp-20080324153746-8v6556t7wrzz08vp-304 boost/boost/mpl/aux_/joint_iter.hpp joint_iter.hpp-20080324153746-8v6556t7wrzz08vp-305 boost/boost/mpl/aux_/lambda_arity_param.hpp lambda_arity_param.h-20080324153746-8v6556t7wrzz08vp-306 boost/boost/mpl/aux_/lambda_no_ctps.hpp lambda_no_ctps.hpp-20080324153746-8v6556t7wrzz08vp-307 boost/boost/mpl/aux_/lambda_spec.hpp lambda_spec.hpp-20080324153746-8v6556t7wrzz08vp-308 boost/boost/mpl/aux_/lambda_support.hpp lambda_support.hpp-20080324153746-8v6556t7wrzz08vp-309 boost/boost/mpl/aux_/largest_int.hpp largest_int.hpp-20080324153746-8v6556t7wrzz08vp-310 boost/boost/mpl/aux_/logical_op.hpp logical_op.hpp-20080324153746-8v6556t7wrzz08vp-311 boost/boost/mpl/aux_/msvc_dtw.hpp msvc_dtw.hpp-20080324153746-8v6556t7wrzz08vp-312 boost/boost/mpl/aux_/msvc_eti_base.hpp msvc_eti_base.hpp-20080324153746-8v6556t7wrzz08vp-313 boost/boost/mpl/aux_/msvc_is_class.hpp msvc_is_class.hpp-20080324153746-8v6556t7wrzz08vp-314 boost/boost/mpl/aux_/msvc_never_true.hpp msvc_never_true.hpp-20080324153746-8v6556t7wrzz08vp-315 boost/boost/mpl/aux_/msvc_type.hpp msvc_type.hpp-20080324153746-8v6556t7wrzz08vp-316 boost/boost/mpl/aux_/na.hpp na.hpp-20080324153746-8v6556t7wrzz08vp-317 boost/boost/mpl/aux_/na_assert.hpp na_assert.hpp-20080324153746-8v6556t7wrzz08vp-318 boost/boost/mpl/aux_/na_fwd.hpp na_fwd.hpp-20080324153746-8v6556t7wrzz08vp-319 boost/boost/mpl/aux_/na_spec.hpp na_spec.hpp-20080324153746-8v6556t7wrzz08vp-320 boost/boost/mpl/aux_/nested_type_wknd.hpp nested_type_wknd.hpp-20080324153746-8v6556t7wrzz08vp-321 boost/boost/mpl/aux_/nttp_decl.hpp nttp_decl.hpp-20080324153746-8v6556t7wrzz08vp-322 boost/boost/mpl/aux_/numeric_cast_utils.hpp numeric_cast_utils.h-20080324153746-8v6556t7wrzz08vp-323 boost/boost/mpl/aux_/numeric_op.hpp numeric_op.hpp-20080324153746-8v6556t7wrzz08vp-324 boost/boost/mpl/aux_/order_impl.hpp order_impl.hpp-20080324153746-8v6556t7wrzz08vp-325 boost/boost/mpl/aux_/overload_names.hpp overload_names.hpp-20080324153746-8v6556t7wrzz08vp-326 boost/boost/mpl/aux_/partition_op.hpp partition_op.hpp-20080324153746-8v6556t7wrzz08vp-327 boost/boost/mpl/aux_/pop_back_impl.hpp pop_back_impl.hpp-20080324153746-8v6556t7wrzz08vp-328 boost/boost/mpl/aux_/pop_front_impl.hpp pop_front_impl.hpp-20080324153746-8v6556t7wrzz08vp-329 boost/boost/mpl/aux_/preprocessed preprocessed-20080324153746-8v6556t7wrzz08vp-330 boost/boost/mpl/aux_/preprocessed/bcc bcc-20080324153746-8v6556t7wrzz08vp-583 boost/boost/mpl/aux_/preprocessed/bcc/advance_backward.hpp advance_backward.hpp-20080324153746-8v6556t7wrzz08vp-726 boost/boost/mpl/aux_/preprocessed/bcc/advance_forward.hpp advance_forward.hpp-20080324153746-8v6556t7wrzz08vp-727 boost/boost/mpl/aux_/preprocessed/bcc/and.hpp and.hpp-20080324153746-8v6556t7wrzz08vp-728 boost/boost/mpl/aux_/preprocessed/bcc/apply.hpp apply.hpp-20080324153746-8v6556t7wrzz08vp-729 boost/boost/mpl/aux_/preprocessed/bcc/apply_fwd.hpp apply_fwd.hpp-20080324153746-8v6556t7wrzz08vp-730 boost/boost/mpl/aux_/preprocessed/bcc/apply_wrap.hpp apply_wrap.hpp-20080324153746-8v6556t7wrzz08vp-731 boost/boost/mpl/aux_/preprocessed/bcc/arg.hpp arg.hpp-20080324153746-8v6556t7wrzz08vp-732 boost/boost/mpl/aux_/preprocessed/bcc/basic_bind.hpp basic_bind.hpp-20080324153746-8v6556t7wrzz08vp-733 boost/boost/mpl/aux_/preprocessed/bcc/bind.hpp bind.hpp-20080324153746-8v6556t7wrzz08vp-734 boost/boost/mpl/aux_/preprocessed/bcc/bind_fwd.hpp bind_fwd.hpp-20080324153746-8v6556t7wrzz08vp-735 boost/boost/mpl/aux_/preprocessed/bcc/bitand.hpp bitand.hpp-20080324153746-8v6556t7wrzz08vp-736 boost/boost/mpl/aux_/preprocessed/bcc/bitor.hpp bitor.hpp-20080324153746-8v6556t7wrzz08vp-737 boost/boost/mpl/aux_/preprocessed/bcc/bitxor.hpp bitxor.hpp-20080324153746-8v6556t7wrzz08vp-738 boost/boost/mpl/aux_/preprocessed/bcc/deque.hpp deque.hpp-20080324153746-8v6556t7wrzz08vp-739 boost/boost/mpl/aux_/preprocessed/bcc/divides.hpp divides.hpp-20080324153746-8v6556t7wrzz08vp-740 boost/boost/mpl/aux_/preprocessed/bcc/equal_to.hpp equal_to.hpp-20080324153746-8v6556t7wrzz08vp-741 boost/boost/mpl/aux_/preprocessed/bcc/fold_impl.hpp fold_impl.hpp-20080324153746-8v6556t7wrzz08vp-742 boost/boost/mpl/aux_/preprocessed/bcc/full_lambda.hpp full_lambda.hpp-20080324153746-8v6556t7wrzz08vp-743 boost/boost/mpl/aux_/preprocessed/bcc/greater.hpp greater.hpp-20080324153746-8v6556t7wrzz08vp-744 boost/boost/mpl/aux_/preprocessed/bcc/greater_equal.hpp greater_equal.hpp-20080324153746-8v6556t7wrzz08vp-745 boost/boost/mpl/aux_/preprocessed/bcc/inherit.hpp inherit.hpp-20080324153746-8v6556t7wrzz08vp-746 boost/boost/mpl/aux_/preprocessed/bcc/iter_fold_if_impl.hpp iter_fold_if_impl.hp-20080324153746-8v6556t7wrzz08vp-747 boost/boost/mpl/aux_/preprocessed/bcc/iter_fold_impl.hpp iter_fold_impl.hpp-20080324153746-8v6556t7wrzz08vp-748 boost/boost/mpl/aux_/preprocessed/bcc/lambda_no_ctps.hpp lambda_no_ctps.hpp-20080324153746-8v6556t7wrzz08vp-749 boost/boost/mpl/aux_/preprocessed/bcc/less.hpp less.hpp-20080324153746-8v6556t7wrzz08vp-750 boost/boost/mpl/aux_/preprocessed/bcc/less_equal.hpp less_equal.hpp-20080324153746-8v6556t7wrzz08vp-751 boost/boost/mpl/aux_/preprocessed/bcc/list.hpp list.hpp-20080324153746-8v6556t7wrzz08vp-752 boost/boost/mpl/aux_/preprocessed/bcc/list_c.hpp list_c.hpp-20080324153746-8v6556t7wrzz08vp-753 boost/boost/mpl/aux_/preprocessed/bcc/map.hpp map.hpp-20080324153746-8v6556t7wrzz08vp-754 boost/boost/mpl/aux_/preprocessed/bcc/minus.hpp minus.hpp-20080324153746-8v6556t7wrzz08vp-755 boost/boost/mpl/aux_/preprocessed/bcc/modulus.hpp modulus.hpp-20080324153746-8v6556t7wrzz08vp-756 boost/boost/mpl/aux_/preprocessed/bcc/not_equal_to.hpp not_equal_to.hpp-20080324153746-8v6556t7wrzz08vp-757 boost/boost/mpl/aux_/preprocessed/bcc/or.hpp or.hpp-20080324153746-8v6556t7wrzz08vp-758 boost/boost/mpl/aux_/preprocessed/bcc/placeholders.hpp placeholders.hpp-20080324153746-8v6556t7wrzz08vp-759 boost/boost/mpl/aux_/preprocessed/bcc/plus.hpp plus.hpp-20080324153746-8v6556t7wrzz08vp-760 boost/boost/mpl/aux_/preprocessed/bcc/quote.hpp quote.hpp-20080324153746-8v6556t7wrzz08vp-761 boost/boost/mpl/aux_/preprocessed/bcc/reverse_fold_impl.hpp reverse_fold_impl.hp-20080324153746-8v6556t7wrzz08vp-762 boost/boost/mpl/aux_/preprocessed/bcc/reverse_iter_fold_impl.hpp reverse_iter_fold_im-20080324153746-8v6556t7wrzz08vp-763 boost/boost/mpl/aux_/preprocessed/bcc/set.hpp set.hpp-20080324153746-8v6556t7wrzz08vp-764 boost/boost/mpl/aux_/preprocessed/bcc/set_c.hpp set_c.hpp-20080324153746-8v6556t7wrzz08vp-765 boost/boost/mpl/aux_/preprocessed/bcc/shift_left.hpp shift_left.hpp-20080324153746-8v6556t7wrzz08vp-766 boost/boost/mpl/aux_/preprocessed/bcc/shift_right.hpp shift_right.hpp-20080324153746-8v6556t7wrzz08vp-767 boost/boost/mpl/aux_/preprocessed/bcc/template_arity.hpp template_arity.hpp-20080324153746-8v6556t7wrzz08vp-768 boost/boost/mpl/aux_/preprocessed/bcc/times.hpp times.hpp-20080324153746-8v6556t7wrzz08vp-769 boost/boost/mpl/aux_/preprocessed/bcc/unpack_args.hpp unpack_args.hpp-20080324153746-8v6556t7wrzz08vp-770 boost/boost/mpl/aux_/preprocessed/bcc/vector.hpp vector.hpp-20080324153746-8v6556t7wrzz08vp-771 boost/boost/mpl/aux_/preprocessed/bcc/vector_c.hpp vector_c.hpp-20080324153746-8v6556t7wrzz08vp-772 boost/boost/mpl/aux_/preprocessed/bcc551 bcc551-20080324153746-8v6556t7wrzz08vp-584 boost/boost/mpl/aux_/preprocessed/bcc551/advance_backward.hpp advance_backward.hpp-20080324153746-8v6556t7wrzz08vp-773 boost/boost/mpl/aux_/preprocessed/bcc551/advance_forward.hpp advance_forward.hpp-20080324153746-8v6556t7wrzz08vp-774 boost/boost/mpl/aux_/preprocessed/bcc551/and.hpp and.hpp-20080324153746-8v6556t7wrzz08vp-775 boost/boost/mpl/aux_/preprocessed/bcc551/apply.hpp apply.hpp-20080324153746-8v6556t7wrzz08vp-776 boost/boost/mpl/aux_/preprocessed/bcc551/apply_fwd.hpp apply_fwd.hpp-20080324153746-8v6556t7wrzz08vp-777 boost/boost/mpl/aux_/preprocessed/bcc551/apply_wrap.hpp apply_wrap.hpp-20080324153746-8v6556t7wrzz08vp-778 boost/boost/mpl/aux_/preprocessed/bcc551/arg.hpp arg.hpp-20080324153746-8v6556t7wrzz08vp-779 boost/boost/mpl/aux_/preprocessed/bcc551/basic_bind.hpp basic_bind.hpp-20080324153746-8v6556t7wrzz08vp-780 boost/boost/mpl/aux_/preprocessed/bcc551/bind.hpp bind.hpp-20080324153746-8v6556t7wrzz08vp-781 boost/boost/mpl/aux_/preprocessed/bcc551/bind_fwd.hpp bind_fwd.hpp-20080324153746-8v6556t7wrzz08vp-782 boost/boost/mpl/aux_/preprocessed/bcc551/bitand.hpp bitand.hpp-20080324153746-8v6556t7wrzz08vp-783 boost/boost/mpl/aux_/preprocessed/bcc551/bitor.hpp bitor.hpp-20080324153746-8v6556t7wrzz08vp-784 boost/boost/mpl/aux_/preprocessed/bcc551/bitxor.hpp bitxor.hpp-20080324153746-8v6556t7wrzz08vp-785 boost/boost/mpl/aux_/preprocessed/bcc551/deque.hpp deque.hpp-20080324153746-8v6556t7wrzz08vp-786 boost/boost/mpl/aux_/preprocessed/bcc551/divides.hpp divides.hpp-20080324153746-8v6556t7wrzz08vp-787 boost/boost/mpl/aux_/preprocessed/bcc551/equal_to.hpp equal_to.hpp-20080324153746-8v6556t7wrzz08vp-788 boost/boost/mpl/aux_/preprocessed/bcc551/fold_impl.hpp fold_impl.hpp-20080324153746-8v6556t7wrzz08vp-789 boost/boost/mpl/aux_/preprocessed/bcc551/full_lambda.hpp full_lambda.hpp-20080324153746-8v6556t7wrzz08vp-790 boost/boost/mpl/aux_/preprocessed/bcc551/greater.hpp greater.hpp-20080324153746-8v6556t7wrzz08vp-791 boost/boost/mpl/aux_/preprocessed/bcc551/greater_equal.hpp greater_equal.hpp-20080324153746-8v6556t7wrzz08vp-792 boost/boost/mpl/aux_/preprocessed/bcc551/inherit.hpp inherit.hpp-20080324153746-8v6556t7wrzz08vp-793 boost/boost/mpl/aux_/preprocessed/bcc551/iter_fold_if_impl.hpp iter_fold_if_impl.hp-20080324153746-8v6556t7wrzz08vp-794 boost/boost/mpl/aux_/preprocessed/bcc551/iter_fold_impl.hpp iter_fold_impl.hpp-20080324153746-8v6556t7wrzz08vp-795 boost/boost/mpl/aux_/preprocessed/bcc551/lambda_no_ctps.hpp lambda_no_ctps.hpp-20080324153746-8v6556t7wrzz08vp-796 boost/boost/mpl/aux_/preprocessed/bcc551/less.hpp less.hpp-20080324153746-8v6556t7wrzz08vp-797 boost/boost/mpl/aux_/preprocessed/bcc551/less_equal.hpp less_equal.hpp-20080324153746-8v6556t7wrzz08vp-798 boost/boost/mpl/aux_/preprocessed/bcc551/list.hpp list.hpp-20080324153746-8v6556t7wrzz08vp-799 boost/boost/mpl/aux_/preprocessed/bcc551/list_c.hpp list_c.hpp-20080324153746-8v6556t7wrzz08vp-800 boost/boost/mpl/aux_/preprocessed/bcc551/map.hpp map.hpp-20080324153746-8v6556t7wrzz08vp-801 boost/boost/mpl/aux_/preprocessed/bcc551/minus.hpp minus.hpp-20080324153746-8v6556t7wrzz08vp-802 boost/boost/mpl/aux_/preprocessed/bcc551/modulus.hpp modulus.hpp-20080324153746-8v6556t7wrzz08vp-803 boost/boost/mpl/aux_/preprocessed/bcc551/not_equal_to.hpp not_equal_to.hpp-20080324153746-8v6556t7wrzz08vp-804 boost/boost/mpl/aux_/preprocessed/bcc551/or.hpp or.hpp-20080324153746-8v6556t7wrzz08vp-805 boost/boost/mpl/aux_/preprocessed/bcc551/placeholders.hpp placeholders.hpp-20080324153746-8v6556t7wrzz08vp-806 boost/boost/mpl/aux_/preprocessed/bcc551/plus.hpp plus.hpp-20080324153746-8v6556t7wrzz08vp-807 boost/boost/mpl/aux_/preprocessed/bcc551/quote.hpp quote.hpp-20080324153746-8v6556t7wrzz08vp-808 boost/boost/mpl/aux_/preprocessed/bcc551/reverse_fold_impl.hpp reverse_fold_impl.hp-20080324153746-8v6556t7wrzz08vp-809 boost/boost/mpl/aux_/preprocessed/bcc551/reverse_iter_fold_impl.hpp reverse_iter_fold_im-20080324153746-8v6556t7wrzz08vp-810 boost/boost/mpl/aux_/preprocessed/bcc551/set.hpp set.hpp-20080324153746-8v6556t7wrzz08vp-811 boost/boost/mpl/aux_/preprocessed/bcc551/set_c.hpp set_c.hpp-20080324153746-8v6556t7wrzz08vp-812 boost/boost/mpl/aux_/preprocessed/bcc551/shift_left.hpp shift_left.hpp-20080324153746-8v6556t7wrzz08vp-813 boost/boost/mpl/aux_/preprocessed/bcc551/shift_right.hpp shift_right.hpp-20080324153746-8v6556t7wrzz08vp-814 boost/boost/mpl/aux_/preprocessed/bcc551/template_arity.hpp template_arity.hpp-20080324153746-8v6556t7wrzz08vp-815 boost/boost/mpl/aux_/preprocessed/bcc551/times.hpp times.hpp-20080324153746-8v6556t7wrzz08vp-816 boost/boost/mpl/aux_/preprocessed/bcc551/unpack_args.hpp unpack_args.hpp-20080324153746-8v6556t7wrzz08vp-817 boost/boost/mpl/aux_/preprocessed/bcc551/vector.hpp vector.hpp-20080324153746-8v6556t7wrzz08vp-818 boost/boost/mpl/aux_/preprocessed/bcc551/vector_c.hpp vector_c.hpp-20080324153746-8v6556t7wrzz08vp-819 boost/boost/mpl/aux_/preprocessed/dmc dmc-20080324153746-8v6556t7wrzz08vp-585 boost/boost/mpl/aux_/preprocessed/dmc/advance_backward.hpp advance_backward.hpp-20080324153746-8v6556t7wrzz08vp-820 boost/boost/mpl/aux_/preprocessed/dmc/advance_forward.hpp advance_forward.hpp-20080324153746-8v6556t7wrzz08vp-821 boost/boost/mpl/aux_/preprocessed/dmc/and.hpp and.hpp-20080324153746-8v6556t7wrzz08vp-822 boost/boost/mpl/aux_/preprocessed/dmc/apply.hpp apply.hpp-20080324153746-8v6556t7wrzz08vp-823 boost/boost/mpl/aux_/preprocessed/dmc/apply_fwd.hpp apply_fwd.hpp-20080324153746-8v6556t7wrzz08vp-824 boost/boost/mpl/aux_/preprocessed/dmc/apply_wrap.hpp apply_wrap.hpp-20080324153746-8v6556t7wrzz08vp-825 boost/boost/mpl/aux_/preprocessed/dmc/arg.hpp arg.hpp-20080324153746-8v6556t7wrzz08vp-826 boost/boost/mpl/aux_/preprocessed/dmc/basic_bind.hpp basic_bind.hpp-20080324153746-8v6556t7wrzz08vp-827 boost/boost/mpl/aux_/preprocessed/dmc/bind.hpp bind.hpp-20080324153746-8v6556t7wrzz08vp-828 boost/boost/mpl/aux_/preprocessed/dmc/bind_fwd.hpp bind_fwd.hpp-20080324153746-8v6556t7wrzz08vp-829 boost/boost/mpl/aux_/preprocessed/dmc/bitand.hpp bitand.hpp-20080324153746-8v6556t7wrzz08vp-830 boost/boost/mpl/aux_/preprocessed/dmc/bitor.hpp bitor.hpp-20080324153746-8v6556t7wrzz08vp-831 boost/boost/mpl/aux_/preprocessed/dmc/bitxor.hpp bitxor.hpp-20080324153746-8v6556t7wrzz08vp-832 boost/boost/mpl/aux_/preprocessed/dmc/deque.hpp deque.hpp-20080324153746-8v6556t7wrzz08vp-833 boost/boost/mpl/aux_/preprocessed/dmc/divides.hpp divides.hpp-20080324153746-8v6556t7wrzz08vp-834 boost/boost/mpl/aux_/preprocessed/dmc/equal_to.hpp equal_to.hpp-20080324153746-8v6556t7wrzz08vp-835 boost/boost/mpl/aux_/preprocessed/dmc/fold_impl.hpp fold_impl.hpp-20080324153746-8v6556t7wrzz08vp-836 boost/boost/mpl/aux_/preprocessed/dmc/full_lambda.hpp full_lambda.hpp-20080324153746-8v6556t7wrzz08vp-837 boost/boost/mpl/aux_/preprocessed/dmc/greater.hpp greater.hpp-20080324153746-8v6556t7wrzz08vp-838 boost/boost/mpl/aux_/preprocessed/dmc/greater_equal.hpp greater_equal.hpp-20080324153746-8v6556t7wrzz08vp-839 boost/boost/mpl/aux_/preprocessed/dmc/inherit.hpp inherit.hpp-20080324153746-8v6556t7wrzz08vp-840 boost/boost/mpl/aux_/preprocessed/dmc/iter_fold_if_impl.hpp iter_fold_if_impl.hp-20080324153746-8v6556t7wrzz08vp-841 boost/boost/mpl/aux_/preprocessed/dmc/iter_fold_impl.hpp iter_fold_impl.hpp-20080324153746-8v6556t7wrzz08vp-842 boost/boost/mpl/aux_/preprocessed/dmc/lambda_no_ctps.hpp lambda_no_ctps.hpp-20080324153746-8v6556t7wrzz08vp-843 boost/boost/mpl/aux_/preprocessed/dmc/less.hpp less.hpp-20080324153746-8v6556t7wrzz08vp-844 boost/boost/mpl/aux_/preprocessed/dmc/less_equal.hpp less_equal.hpp-20080324153746-8v6556t7wrzz08vp-845 boost/boost/mpl/aux_/preprocessed/dmc/list.hpp list.hpp-20080324153746-8v6556t7wrzz08vp-846 boost/boost/mpl/aux_/preprocessed/dmc/list_c.hpp list_c.hpp-20080324153746-8v6556t7wrzz08vp-847 boost/boost/mpl/aux_/preprocessed/dmc/map.hpp map.hpp-20080324153746-8v6556t7wrzz08vp-848 boost/boost/mpl/aux_/preprocessed/dmc/minus.hpp minus.hpp-20080324153746-8v6556t7wrzz08vp-849 boost/boost/mpl/aux_/preprocessed/dmc/modulus.hpp modulus.hpp-20080324153746-8v6556t7wrzz08vp-850 boost/boost/mpl/aux_/preprocessed/dmc/not_equal_to.hpp not_equal_to.hpp-20080324153746-8v6556t7wrzz08vp-851 boost/boost/mpl/aux_/preprocessed/dmc/or.hpp or.hpp-20080324153746-8v6556t7wrzz08vp-852 boost/boost/mpl/aux_/preprocessed/dmc/placeholders.hpp placeholders.hpp-20080324153746-8v6556t7wrzz08vp-853 boost/boost/mpl/aux_/preprocessed/dmc/plus.hpp plus.hpp-20080324153746-8v6556t7wrzz08vp-854 boost/boost/mpl/aux_/preprocessed/dmc/quote.hpp quote.hpp-20080324153746-8v6556t7wrzz08vp-855 boost/boost/mpl/aux_/preprocessed/dmc/reverse_fold_impl.hpp reverse_fold_impl.hp-20080324153746-8v6556t7wrzz08vp-856 boost/boost/mpl/aux_/preprocessed/dmc/reverse_iter_fold_impl.hpp reverse_iter_fold_im-20080324153746-8v6556t7wrzz08vp-857 boost/boost/mpl/aux_/preprocessed/dmc/set.hpp set.hpp-20080324153746-8v6556t7wrzz08vp-858 boost/boost/mpl/aux_/preprocessed/dmc/set_c.hpp set_c.hpp-20080324153746-8v6556t7wrzz08vp-859 boost/boost/mpl/aux_/preprocessed/dmc/shift_left.hpp shift_left.hpp-20080324153746-8v6556t7wrzz08vp-860 boost/boost/mpl/aux_/preprocessed/dmc/shift_right.hpp shift_right.hpp-20080324153746-8v6556t7wrzz08vp-861 boost/boost/mpl/aux_/preprocessed/dmc/template_arity.hpp template_arity.hpp-20080324153746-8v6556t7wrzz08vp-862 boost/boost/mpl/aux_/preprocessed/dmc/times.hpp times.hpp-20080324153746-8v6556t7wrzz08vp-863 boost/boost/mpl/aux_/preprocessed/dmc/unpack_args.hpp unpack_args.hpp-20080324153746-8v6556t7wrzz08vp-864 boost/boost/mpl/aux_/preprocessed/dmc/vector.hpp vector.hpp-20080324153746-8v6556t7wrzz08vp-865 boost/boost/mpl/aux_/preprocessed/dmc/vector_c.hpp vector_c.hpp-20080324153746-8v6556t7wrzz08vp-866 boost/boost/mpl/aux_/preprocessed/gcc gcc-20080324153746-8v6556t7wrzz08vp-586 boost/boost/mpl/aux_/preprocessed/gcc/advance_backward.hpp advance_backward.hpp-20080324153746-8v6556t7wrzz08vp-867 boost/boost/mpl/aux_/preprocessed/gcc/advance_forward.hpp advance_forward.hpp-20080324153746-8v6556t7wrzz08vp-868 boost/boost/mpl/aux_/preprocessed/gcc/and.hpp and.hpp-20080324153746-8v6556t7wrzz08vp-869 boost/boost/mpl/aux_/preprocessed/gcc/apply.hpp apply.hpp-20080324153746-8v6556t7wrzz08vp-870 boost/boost/mpl/aux_/preprocessed/gcc/apply_fwd.hpp apply_fwd.hpp-20080324153746-8v6556t7wrzz08vp-871 boost/boost/mpl/aux_/preprocessed/gcc/apply_wrap.hpp apply_wrap.hpp-20080324153746-8v6556t7wrzz08vp-872 boost/boost/mpl/aux_/preprocessed/gcc/arg.hpp arg.hpp-20080324153746-8v6556t7wrzz08vp-873 boost/boost/mpl/aux_/preprocessed/gcc/basic_bind.hpp basic_bind.hpp-20080324153746-8v6556t7wrzz08vp-874 boost/boost/mpl/aux_/preprocessed/gcc/bind.hpp bind.hpp-20080324153746-8v6556t7wrzz08vp-875 boost/boost/mpl/aux_/preprocessed/gcc/bind_fwd.hpp bind_fwd.hpp-20080324153746-8v6556t7wrzz08vp-876 boost/boost/mpl/aux_/preprocessed/gcc/bitand.hpp bitand.hpp-20080324153746-8v6556t7wrzz08vp-877 boost/boost/mpl/aux_/preprocessed/gcc/bitor.hpp bitor.hpp-20080324153746-8v6556t7wrzz08vp-878 boost/boost/mpl/aux_/preprocessed/gcc/bitxor.hpp bitxor.hpp-20080324153746-8v6556t7wrzz08vp-879 boost/boost/mpl/aux_/preprocessed/gcc/deque.hpp deque.hpp-20080324153746-8v6556t7wrzz08vp-880 boost/boost/mpl/aux_/preprocessed/gcc/divides.hpp divides.hpp-20080324153746-8v6556t7wrzz08vp-881 boost/boost/mpl/aux_/preprocessed/gcc/equal_to.hpp equal_to.hpp-20080324153746-8v6556t7wrzz08vp-882 boost/boost/mpl/aux_/preprocessed/gcc/fold_impl.hpp fold_impl.hpp-20080324153746-8v6556t7wrzz08vp-883 boost/boost/mpl/aux_/preprocessed/gcc/full_lambda.hpp full_lambda.hpp-20080324153746-8v6556t7wrzz08vp-884 boost/boost/mpl/aux_/preprocessed/gcc/greater.hpp greater.hpp-20080324153746-8v6556t7wrzz08vp-885 boost/boost/mpl/aux_/preprocessed/gcc/greater_equal.hpp greater_equal.hpp-20080324153746-8v6556t7wrzz08vp-886 boost/boost/mpl/aux_/preprocessed/gcc/inherit.hpp inherit.hpp-20080324153746-8v6556t7wrzz08vp-887 boost/boost/mpl/aux_/preprocessed/gcc/iter_fold_if_impl.hpp iter_fold_if_impl.hp-20080324153746-8v6556t7wrzz08vp-888 boost/boost/mpl/aux_/preprocessed/gcc/iter_fold_impl.hpp iter_fold_impl.hpp-20080324153746-8v6556t7wrzz08vp-889 boost/boost/mpl/aux_/preprocessed/gcc/lambda_no_ctps.hpp lambda_no_ctps.hpp-20080324153746-8v6556t7wrzz08vp-890 boost/boost/mpl/aux_/preprocessed/gcc/less.hpp less.hpp-20080324153746-8v6556t7wrzz08vp-891 boost/boost/mpl/aux_/preprocessed/gcc/less_equal.hpp less_equal.hpp-20080324153746-8v6556t7wrzz08vp-892 boost/boost/mpl/aux_/preprocessed/gcc/list.hpp list.hpp-20080324153746-8v6556t7wrzz08vp-893 boost/boost/mpl/aux_/preprocessed/gcc/list_c.hpp list_c.hpp-20080324153746-8v6556t7wrzz08vp-894 boost/boost/mpl/aux_/preprocessed/gcc/map.hpp map.hpp-20080324153746-8v6556t7wrzz08vp-895 boost/boost/mpl/aux_/preprocessed/gcc/minus.hpp minus.hpp-20080324153746-8v6556t7wrzz08vp-896 boost/boost/mpl/aux_/preprocessed/gcc/modulus.hpp modulus.hpp-20080324153746-8v6556t7wrzz08vp-897 boost/boost/mpl/aux_/preprocessed/gcc/not_equal_to.hpp not_equal_to.hpp-20080324153746-8v6556t7wrzz08vp-898 boost/boost/mpl/aux_/preprocessed/gcc/or.hpp or.hpp-20080324153746-8v6556t7wrzz08vp-899 boost/boost/mpl/aux_/preprocessed/gcc/placeholders.hpp placeholders.hpp-20080324153746-8v6556t7wrzz08vp-900 boost/boost/mpl/aux_/preprocessed/gcc/plus.hpp plus.hpp-20080324153746-8v6556t7wrzz08vp-901 boost/boost/mpl/aux_/preprocessed/gcc/quote.hpp quote.hpp-20080324153746-8v6556t7wrzz08vp-902 boost/boost/mpl/aux_/preprocessed/gcc/reverse_fold_impl.hpp reverse_fold_impl.hp-20080324153746-8v6556t7wrzz08vp-903 boost/boost/mpl/aux_/preprocessed/gcc/reverse_iter_fold_impl.hpp reverse_iter_fold_im-20080324153746-8v6556t7wrzz08vp-904 boost/boost/mpl/aux_/preprocessed/gcc/set.hpp set.hpp-20080324153746-8v6556t7wrzz08vp-905 boost/boost/mpl/aux_/preprocessed/gcc/set_c.hpp set_c.hpp-20080324153746-8v6556t7wrzz08vp-906 boost/boost/mpl/aux_/preprocessed/gcc/shift_left.hpp shift_left.hpp-20080324153746-8v6556t7wrzz08vp-907 boost/boost/mpl/aux_/preprocessed/gcc/shift_right.hpp shift_right.hpp-20080324153746-8v6556t7wrzz08vp-908 boost/boost/mpl/aux_/preprocessed/gcc/template_arity.hpp template_arity.hpp-20080324153746-8v6556t7wrzz08vp-909 boost/boost/mpl/aux_/preprocessed/gcc/times.hpp times.hpp-20080324153746-8v6556t7wrzz08vp-910 boost/boost/mpl/aux_/preprocessed/gcc/unpack_args.hpp unpack_args.hpp-20080324153746-8v6556t7wrzz08vp-911 boost/boost/mpl/aux_/preprocessed/gcc/vector.hpp vector.hpp-20080324153746-8v6556t7wrzz08vp-912 boost/boost/mpl/aux_/preprocessed/gcc/vector_c.hpp vector_c.hpp-20080324153746-8v6556t7wrzz08vp-913 boost/boost/mpl/aux_/preprocessed/msvc60 msvc60-20080324153746-8v6556t7wrzz08vp-587 boost/boost/mpl/aux_/preprocessed/msvc60/advance_backward.hpp advance_backward.hpp-20080324153746-8v6556t7wrzz08vp-914 boost/boost/mpl/aux_/preprocessed/msvc60/advance_forward.hpp advance_forward.hpp-20080324153746-8v6556t7wrzz08vp-915 boost/boost/mpl/aux_/preprocessed/msvc60/and.hpp and.hpp-20080324153746-8v6556t7wrzz08vp-916 boost/boost/mpl/aux_/preprocessed/msvc60/apply.hpp apply.hpp-20080324153746-8v6556t7wrzz08vp-917 boost/boost/mpl/aux_/preprocessed/msvc60/apply_fwd.hpp apply_fwd.hpp-20080324153746-8v6556t7wrzz08vp-918 boost/boost/mpl/aux_/preprocessed/msvc60/apply_wrap.hpp apply_wrap.hpp-20080324153746-8v6556t7wrzz08vp-919 boost/boost/mpl/aux_/preprocessed/msvc60/arg.hpp arg.hpp-20080324153746-8v6556t7wrzz08vp-920 boost/boost/mpl/aux_/preprocessed/msvc60/basic_bind.hpp basic_bind.hpp-20080324153746-8v6556t7wrzz08vp-921 boost/boost/mpl/aux_/preprocessed/msvc60/bind.hpp bind.hpp-20080324153746-8v6556t7wrzz08vp-922 boost/boost/mpl/aux_/preprocessed/msvc60/bind_fwd.hpp bind_fwd.hpp-20080324153746-8v6556t7wrzz08vp-923 boost/boost/mpl/aux_/preprocessed/msvc60/bitand.hpp bitand.hpp-20080324153746-8v6556t7wrzz08vp-924 boost/boost/mpl/aux_/preprocessed/msvc60/bitor.hpp bitor.hpp-20080324153746-8v6556t7wrzz08vp-925 boost/boost/mpl/aux_/preprocessed/msvc60/bitxor.hpp bitxor.hpp-20080324153746-8v6556t7wrzz08vp-926 boost/boost/mpl/aux_/preprocessed/msvc60/deque.hpp deque.hpp-20080324153746-8v6556t7wrzz08vp-927 boost/boost/mpl/aux_/preprocessed/msvc60/divides.hpp divides.hpp-20080324153746-8v6556t7wrzz08vp-928 boost/boost/mpl/aux_/preprocessed/msvc60/equal_to.hpp equal_to.hpp-20080324153746-8v6556t7wrzz08vp-929 boost/boost/mpl/aux_/preprocessed/msvc60/fold_impl.hpp fold_impl.hpp-20080324153746-8v6556t7wrzz08vp-930 boost/boost/mpl/aux_/preprocessed/msvc60/full_lambda.hpp full_lambda.hpp-20080324153746-8v6556t7wrzz08vp-931 boost/boost/mpl/aux_/preprocessed/msvc60/greater.hpp greater.hpp-20080324153746-8v6556t7wrzz08vp-932 boost/boost/mpl/aux_/preprocessed/msvc60/greater_equal.hpp greater_equal.hpp-20080324153746-8v6556t7wrzz08vp-933 boost/boost/mpl/aux_/preprocessed/msvc60/inherit.hpp inherit.hpp-20080324153746-8v6556t7wrzz08vp-934 boost/boost/mpl/aux_/preprocessed/msvc60/iter_fold_if_impl.hpp iter_fold_if_impl.hp-20080324153746-8v6556t7wrzz08vp-935 boost/boost/mpl/aux_/preprocessed/msvc60/iter_fold_impl.hpp iter_fold_impl.hpp-20080324153746-8v6556t7wrzz08vp-936 boost/boost/mpl/aux_/preprocessed/msvc60/lambda_no_ctps.hpp lambda_no_ctps.hpp-20080324153746-8v6556t7wrzz08vp-937 boost/boost/mpl/aux_/preprocessed/msvc60/less.hpp less.hpp-20080324153746-8v6556t7wrzz08vp-938 boost/boost/mpl/aux_/preprocessed/msvc60/less_equal.hpp less_equal.hpp-20080324153746-8v6556t7wrzz08vp-939 boost/boost/mpl/aux_/preprocessed/msvc60/list.hpp list.hpp-20080324153746-8v6556t7wrzz08vp-940 boost/boost/mpl/aux_/preprocessed/msvc60/list_c.hpp list_c.hpp-20080324153746-8v6556t7wrzz08vp-941 boost/boost/mpl/aux_/preprocessed/msvc60/map.hpp map.hpp-20080324153746-8v6556t7wrzz08vp-942 boost/boost/mpl/aux_/preprocessed/msvc60/minus.hpp minus.hpp-20080324153746-8v6556t7wrzz08vp-943 boost/boost/mpl/aux_/preprocessed/msvc60/modulus.hpp modulus.hpp-20080324153746-8v6556t7wrzz08vp-944 boost/boost/mpl/aux_/preprocessed/msvc60/not_equal_to.hpp not_equal_to.hpp-20080324153746-8v6556t7wrzz08vp-945 boost/boost/mpl/aux_/preprocessed/msvc60/or.hpp or.hpp-20080324153746-8v6556t7wrzz08vp-946 boost/boost/mpl/aux_/preprocessed/msvc60/placeholders.hpp placeholders.hpp-20080324153746-8v6556t7wrzz08vp-947 boost/boost/mpl/aux_/preprocessed/msvc60/plus.hpp plus.hpp-20080324153746-8v6556t7wrzz08vp-948 boost/boost/mpl/aux_/preprocessed/msvc60/quote.hpp quote.hpp-20080324153746-8v6556t7wrzz08vp-949 boost/boost/mpl/aux_/preprocessed/msvc60/reverse_fold_impl.hpp reverse_fold_impl.hp-20080324153746-8v6556t7wrzz08vp-950 boost/boost/mpl/aux_/preprocessed/msvc60/reverse_iter_fold_impl.hpp reverse_iter_fold_im-20080324153746-8v6556t7wrzz08vp-951 boost/boost/mpl/aux_/preprocessed/msvc60/set.hpp set.hpp-20080324153746-8v6556t7wrzz08vp-952 boost/boost/mpl/aux_/preprocessed/msvc60/set_c.hpp set_c.hpp-20080324153746-8v6556t7wrzz08vp-953 boost/boost/mpl/aux_/preprocessed/msvc60/shift_left.hpp shift_left.hpp-20080324153746-8v6556t7wrzz08vp-954 boost/boost/mpl/aux_/preprocessed/msvc60/shift_right.hpp shift_right.hpp-20080324153746-8v6556t7wrzz08vp-955 boost/boost/mpl/aux_/preprocessed/msvc60/template_arity.hpp template_arity.hpp-20080324153746-8v6556t7wrzz08vp-956 boost/boost/mpl/aux_/preprocessed/msvc60/times.hpp times.hpp-20080324153746-8v6556t7wrzz08vp-957 boost/boost/mpl/aux_/preprocessed/msvc60/unpack_args.hpp unpack_args.hpp-20080324153746-8v6556t7wrzz08vp-958 boost/boost/mpl/aux_/preprocessed/msvc60/vector.hpp vector.hpp-20080324153746-8v6556t7wrzz08vp-959 boost/boost/mpl/aux_/preprocessed/msvc60/vector_c.hpp vector_c.hpp-20080324153746-8v6556t7wrzz08vp-960 boost/boost/mpl/aux_/preprocessed/msvc70 msvc70-20080324153746-8v6556t7wrzz08vp-588 boost/boost/mpl/aux_/preprocessed/msvc70/advance_backward.hpp advance_backward.hpp-20080324153746-8v6556t7wrzz08vp-961 boost/boost/mpl/aux_/preprocessed/msvc70/advance_forward.hpp advance_forward.hpp-20080324153746-8v6556t7wrzz08vp-962 boost/boost/mpl/aux_/preprocessed/msvc70/and.hpp and.hpp-20080324153746-8v6556t7wrzz08vp-963 boost/boost/mpl/aux_/preprocessed/msvc70/apply.hpp apply.hpp-20080324153746-8v6556t7wrzz08vp-964 boost/boost/mpl/aux_/preprocessed/msvc70/apply_fwd.hpp apply_fwd.hpp-20080324153746-8v6556t7wrzz08vp-965 boost/boost/mpl/aux_/preprocessed/msvc70/apply_wrap.hpp apply_wrap.hpp-20080324153746-8v6556t7wrzz08vp-966 boost/boost/mpl/aux_/preprocessed/msvc70/arg.hpp arg.hpp-20080324153746-8v6556t7wrzz08vp-967 boost/boost/mpl/aux_/preprocessed/msvc70/basic_bind.hpp basic_bind.hpp-20080324153746-8v6556t7wrzz08vp-968 boost/boost/mpl/aux_/preprocessed/msvc70/bind.hpp bind.hpp-20080324153746-8v6556t7wrzz08vp-969 boost/boost/mpl/aux_/preprocessed/msvc70/bind_fwd.hpp bind_fwd.hpp-20080324153746-8v6556t7wrzz08vp-970 boost/boost/mpl/aux_/preprocessed/msvc70/bitand.hpp bitand.hpp-20080324153746-8v6556t7wrzz08vp-971 boost/boost/mpl/aux_/preprocessed/msvc70/bitor.hpp bitor.hpp-20080324153746-8v6556t7wrzz08vp-972 boost/boost/mpl/aux_/preprocessed/msvc70/bitxor.hpp bitxor.hpp-20080324153746-8v6556t7wrzz08vp-973 boost/boost/mpl/aux_/preprocessed/msvc70/deque.hpp deque.hpp-20080324153746-8v6556t7wrzz08vp-974 boost/boost/mpl/aux_/preprocessed/msvc70/divides.hpp divides.hpp-20080324153746-8v6556t7wrzz08vp-975 boost/boost/mpl/aux_/preprocessed/msvc70/equal_to.hpp equal_to.hpp-20080324153746-8v6556t7wrzz08vp-976 boost/boost/mpl/aux_/preprocessed/msvc70/fold_impl.hpp fold_impl.hpp-20080324153746-8v6556t7wrzz08vp-977 boost/boost/mpl/aux_/preprocessed/msvc70/full_lambda.hpp full_lambda.hpp-20080324153746-8v6556t7wrzz08vp-978 boost/boost/mpl/aux_/preprocessed/msvc70/greater.hpp greater.hpp-20080324153746-8v6556t7wrzz08vp-979 boost/boost/mpl/aux_/preprocessed/msvc70/greater_equal.hpp greater_equal.hpp-20080324153746-8v6556t7wrzz08vp-980 boost/boost/mpl/aux_/preprocessed/msvc70/inherit.hpp inherit.hpp-20080324153746-8v6556t7wrzz08vp-981 boost/boost/mpl/aux_/preprocessed/msvc70/iter_fold_if_impl.hpp iter_fold_if_impl.hp-20080324153746-8v6556t7wrzz08vp-982 boost/boost/mpl/aux_/preprocessed/msvc70/iter_fold_impl.hpp iter_fold_impl.hpp-20080324153746-8v6556t7wrzz08vp-983 boost/boost/mpl/aux_/preprocessed/msvc70/lambda_no_ctps.hpp lambda_no_ctps.hpp-20080324153746-8v6556t7wrzz08vp-984 boost/boost/mpl/aux_/preprocessed/msvc70/less.hpp less.hpp-20080324153746-8v6556t7wrzz08vp-985 boost/boost/mpl/aux_/preprocessed/msvc70/less_equal.hpp less_equal.hpp-20080324153746-8v6556t7wrzz08vp-986 boost/boost/mpl/aux_/preprocessed/msvc70/list.hpp list.hpp-20080324153746-8v6556t7wrzz08vp-987 boost/boost/mpl/aux_/preprocessed/msvc70/list_c.hpp list_c.hpp-20080324153746-8v6556t7wrzz08vp-988 boost/boost/mpl/aux_/preprocessed/msvc70/map.hpp map.hpp-20080324153746-8v6556t7wrzz08vp-989 boost/boost/mpl/aux_/preprocessed/msvc70/minus.hpp minus.hpp-20080324153746-8v6556t7wrzz08vp-990 boost/boost/mpl/aux_/preprocessed/msvc70/modulus.hpp modulus.hpp-20080324153746-8v6556t7wrzz08vp-991 boost/boost/mpl/aux_/preprocessed/msvc70/not_equal_to.hpp not_equal_to.hpp-20080324153746-8v6556t7wrzz08vp-992 boost/boost/mpl/aux_/preprocessed/msvc70/or.hpp or.hpp-20080324153746-8v6556t7wrzz08vp-993 boost/boost/mpl/aux_/preprocessed/msvc70/placeholders.hpp placeholders.hpp-20080324153746-8v6556t7wrzz08vp-994 boost/boost/mpl/aux_/preprocessed/msvc70/plus.hpp plus.hpp-20080324153746-8v6556t7wrzz08vp-995 boost/boost/mpl/aux_/preprocessed/msvc70/quote.hpp quote.hpp-20080324153746-8v6556t7wrzz08vp-996 boost/boost/mpl/aux_/preprocessed/msvc70/reverse_fold_impl.hpp reverse_fold_impl.hp-20080324153746-8v6556t7wrzz08vp-997 boost/boost/mpl/aux_/preprocessed/msvc70/reverse_iter_fold_impl.hpp reverse_iter_fold_im-20080324153746-8v6556t7wrzz08vp-998 boost/boost/mpl/aux_/preprocessed/msvc70/set.hpp set.hpp-20080324153746-8v6556t7wrzz08vp-999 boost/boost/mpl/aux_/preprocessed/msvc70/set_c.hpp set_c.hpp-20080324153746-8v6556t7wrzz08vp-1000 boost/boost/mpl/aux_/preprocessed/msvc70/shift_left.hpp shift_left.hpp-20080324153746-8v6556t7wrzz08vp-1001 boost/boost/mpl/aux_/preprocessed/msvc70/shift_right.hpp shift_right.hpp-20080324153746-8v6556t7wrzz08vp-1002 boost/boost/mpl/aux_/preprocessed/msvc70/template_arity.hpp template_arity.hpp-20080324153746-8v6556t7wrzz08vp-1003 boost/boost/mpl/aux_/preprocessed/msvc70/times.hpp times.hpp-20080324153746-8v6556t7wrzz08vp-1004 boost/boost/mpl/aux_/preprocessed/msvc70/unpack_args.hpp unpack_args.hpp-20080324153746-8v6556t7wrzz08vp-1005 boost/boost/mpl/aux_/preprocessed/msvc70/vector.hpp vector.hpp-20080324153746-8v6556t7wrzz08vp-1006 boost/boost/mpl/aux_/preprocessed/msvc70/vector_c.hpp vector_c.hpp-20080324153746-8v6556t7wrzz08vp-1007 boost/boost/mpl/aux_/preprocessed/mwcw mwcw-20080324153746-8v6556t7wrzz08vp-589 boost/boost/mpl/aux_/preprocessed/mwcw/advance_backward.hpp advance_backward.hpp-20080324153746-8v6556t7wrzz08vp-1008 boost/boost/mpl/aux_/preprocessed/mwcw/advance_forward.hpp advance_forward.hpp-20080324153746-8v6556t7wrzz08vp-1009 boost/boost/mpl/aux_/preprocessed/mwcw/and.hpp and.hpp-20080324153746-8v6556t7wrzz08vp-1010 boost/boost/mpl/aux_/preprocessed/mwcw/apply.hpp apply.hpp-20080324153746-8v6556t7wrzz08vp-1011 boost/boost/mpl/aux_/preprocessed/mwcw/apply_fwd.hpp apply_fwd.hpp-20080324153746-8v6556t7wrzz08vp-1012 boost/boost/mpl/aux_/preprocessed/mwcw/apply_wrap.hpp apply_wrap.hpp-20080324153746-8v6556t7wrzz08vp-1013 boost/boost/mpl/aux_/preprocessed/mwcw/arg.hpp arg.hpp-20080324153746-8v6556t7wrzz08vp-1014 boost/boost/mpl/aux_/preprocessed/mwcw/basic_bind.hpp basic_bind.hpp-20080324153746-8v6556t7wrzz08vp-1015 boost/boost/mpl/aux_/preprocessed/mwcw/bind.hpp bind.hpp-20080324153746-8v6556t7wrzz08vp-1016 boost/boost/mpl/aux_/preprocessed/mwcw/bind_fwd.hpp bind_fwd.hpp-20080324153746-8v6556t7wrzz08vp-1017 boost/boost/mpl/aux_/preprocessed/mwcw/bitand.hpp bitand.hpp-20080324153746-8v6556t7wrzz08vp-1018 boost/boost/mpl/aux_/preprocessed/mwcw/bitor.hpp bitor.hpp-20080324153746-8v6556t7wrzz08vp-1019 boost/boost/mpl/aux_/preprocessed/mwcw/bitxor.hpp bitxor.hpp-20080324153746-8v6556t7wrzz08vp-1020 boost/boost/mpl/aux_/preprocessed/mwcw/deque.hpp deque.hpp-20080324153746-8v6556t7wrzz08vp-1021 boost/boost/mpl/aux_/preprocessed/mwcw/divides.hpp divides.hpp-20080324153746-8v6556t7wrzz08vp-1022 boost/boost/mpl/aux_/preprocessed/mwcw/equal_to.hpp equal_to.hpp-20080324153746-8v6556t7wrzz08vp-1023 boost/boost/mpl/aux_/preprocessed/mwcw/fold_impl.hpp fold_impl.hpp-20080324153746-8v6556t7wrzz08vp-1024 boost/boost/mpl/aux_/preprocessed/mwcw/full_lambda.hpp full_lambda.hpp-20080324153746-8v6556t7wrzz08vp-1025 boost/boost/mpl/aux_/preprocessed/mwcw/greater.hpp greater.hpp-20080324153746-8v6556t7wrzz08vp-1026 boost/boost/mpl/aux_/preprocessed/mwcw/greater_equal.hpp greater_equal.hpp-20080324153746-8v6556t7wrzz08vp-1027 boost/boost/mpl/aux_/preprocessed/mwcw/inherit.hpp inherit.hpp-20080324153746-8v6556t7wrzz08vp-1028 boost/boost/mpl/aux_/preprocessed/mwcw/iter_fold_if_impl.hpp iter_fold_if_impl.hp-20080324153746-8v6556t7wrzz08vp-1029 boost/boost/mpl/aux_/preprocessed/mwcw/iter_fold_impl.hpp iter_fold_impl.hpp-20080324153746-8v6556t7wrzz08vp-1030 boost/boost/mpl/aux_/preprocessed/mwcw/lambda_no_ctps.hpp lambda_no_ctps.hpp-20080324153746-8v6556t7wrzz08vp-1031 boost/boost/mpl/aux_/preprocessed/mwcw/less.hpp less.hpp-20080324153746-8v6556t7wrzz08vp-1032 boost/boost/mpl/aux_/preprocessed/mwcw/less_equal.hpp less_equal.hpp-20080324153746-8v6556t7wrzz08vp-1033 boost/boost/mpl/aux_/preprocessed/mwcw/list.hpp list.hpp-20080324153746-8v6556t7wrzz08vp-1034 boost/boost/mpl/aux_/preprocessed/mwcw/list_c.hpp list_c.hpp-20080324153746-8v6556t7wrzz08vp-1035 boost/boost/mpl/aux_/preprocessed/mwcw/map.hpp map.hpp-20080324153746-8v6556t7wrzz08vp-1036 boost/boost/mpl/aux_/preprocessed/mwcw/minus.hpp minus.hpp-20080324153746-8v6556t7wrzz08vp-1037 boost/boost/mpl/aux_/preprocessed/mwcw/modulus.hpp modulus.hpp-20080324153746-8v6556t7wrzz08vp-1038 boost/boost/mpl/aux_/preprocessed/mwcw/not_equal_to.hpp not_equal_to.hpp-20080324153746-8v6556t7wrzz08vp-1039 boost/boost/mpl/aux_/preprocessed/mwcw/or.hpp or.hpp-20080324153746-8v6556t7wrzz08vp-1040 boost/boost/mpl/aux_/preprocessed/mwcw/placeholders.hpp placeholders.hpp-20080324153746-8v6556t7wrzz08vp-1041 boost/boost/mpl/aux_/preprocessed/mwcw/plus.hpp plus.hpp-20080324153746-8v6556t7wrzz08vp-1042 boost/boost/mpl/aux_/preprocessed/mwcw/quote.hpp quote.hpp-20080324153746-8v6556t7wrzz08vp-1043 boost/boost/mpl/aux_/preprocessed/mwcw/reverse_fold_impl.hpp reverse_fold_impl.hp-20080324153746-8v6556t7wrzz08vp-1044 boost/boost/mpl/aux_/preprocessed/mwcw/reverse_iter_fold_impl.hpp reverse_iter_fold_im-20080324153746-8v6556t7wrzz08vp-1045 boost/boost/mpl/aux_/preprocessed/mwcw/set.hpp set.hpp-20080324153746-8v6556t7wrzz08vp-1046 boost/boost/mpl/aux_/preprocessed/mwcw/set_c.hpp set_c.hpp-20080324153746-8v6556t7wrzz08vp-1047 boost/boost/mpl/aux_/preprocessed/mwcw/shift_left.hpp shift_left.hpp-20080324153746-8v6556t7wrzz08vp-1048 boost/boost/mpl/aux_/preprocessed/mwcw/shift_right.hpp shift_right.hpp-20080324153746-8v6556t7wrzz08vp-1049 boost/boost/mpl/aux_/preprocessed/mwcw/template_arity.hpp template_arity.hpp-20080324153746-8v6556t7wrzz08vp-1050 boost/boost/mpl/aux_/preprocessed/mwcw/times.hpp times.hpp-20080324153746-8v6556t7wrzz08vp-1051 boost/boost/mpl/aux_/preprocessed/mwcw/unpack_args.hpp unpack_args.hpp-20080324153746-8v6556t7wrzz08vp-1052 boost/boost/mpl/aux_/preprocessed/mwcw/vector.hpp vector.hpp-20080324153746-8v6556t7wrzz08vp-1053 boost/boost/mpl/aux_/preprocessed/mwcw/vector_c.hpp vector_c.hpp-20080324153746-8v6556t7wrzz08vp-1054 boost/boost/mpl/aux_/preprocessed/no_ctps no_ctps-20080324153746-8v6556t7wrzz08vp-590 boost/boost/mpl/aux_/preprocessed/no_ctps/advance_backward.hpp advance_backward.hpp-20080324153746-8v6556t7wrzz08vp-1055 boost/boost/mpl/aux_/preprocessed/no_ctps/advance_forward.hpp advance_forward.hpp-20080324153746-8v6556t7wrzz08vp-1056 boost/boost/mpl/aux_/preprocessed/no_ctps/and.hpp and.hpp-20080324153746-8v6556t7wrzz08vp-1057 boost/boost/mpl/aux_/preprocessed/no_ctps/apply.hpp apply.hpp-20080324153746-8v6556t7wrzz08vp-1058 boost/boost/mpl/aux_/preprocessed/no_ctps/apply_fwd.hpp apply_fwd.hpp-20080324153746-8v6556t7wrzz08vp-1059 boost/boost/mpl/aux_/preprocessed/no_ctps/apply_wrap.hpp apply_wrap.hpp-20080324153746-8v6556t7wrzz08vp-1060 boost/boost/mpl/aux_/preprocessed/no_ctps/arg.hpp arg.hpp-20080324153746-8v6556t7wrzz08vp-1061 boost/boost/mpl/aux_/preprocessed/no_ctps/basic_bind.hpp basic_bind.hpp-20080324153746-8v6556t7wrzz08vp-1062 boost/boost/mpl/aux_/preprocessed/no_ctps/bind.hpp bind.hpp-20080324153746-8v6556t7wrzz08vp-1063 boost/boost/mpl/aux_/preprocessed/no_ctps/bind_fwd.hpp bind_fwd.hpp-20080324153746-8v6556t7wrzz08vp-1064 boost/boost/mpl/aux_/preprocessed/no_ctps/bitand.hpp bitand.hpp-20080324153746-8v6556t7wrzz08vp-1065 boost/boost/mpl/aux_/preprocessed/no_ctps/bitor.hpp bitor.hpp-20080324153746-8v6556t7wrzz08vp-1066 boost/boost/mpl/aux_/preprocessed/no_ctps/bitxor.hpp bitxor.hpp-20080324153746-8v6556t7wrzz08vp-1067 boost/boost/mpl/aux_/preprocessed/no_ctps/deque.hpp deque.hpp-20080324153746-8v6556t7wrzz08vp-1068 boost/boost/mpl/aux_/preprocessed/no_ctps/divides.hpp divides.hpp-20080324153746-8v6556t7wrzz08vp-1069 boost/boost/mpl/aux_/preprocessed/no_ctps/equal_to.hpp equal_to.hpp-20080324153746-8v6556t7wrzz08vp-1070 boost/boost/mpl/aux_/preprocessed/no_ctps/fold_impl.hpp fold_impl.hpp-20080324153746-8v6556t7wrzz08vp-1071 boost/boost/mpl/aux_/preprocessed/no_ctps/full_lambda.hpp full_lambda.hpp-20080324153746-8v6556t7wrzz08vp-1072 boost/boost/mpl/aux_/preprocessed/no_ctps/greater.hpp greater.hpp-20080324153746-8v6556t7wrzz08vp-1073 boost/boost/mpl/aux_/preprocessed/no_ctps/greater_equal.hpp greater_equal.hpp-20080324153746-8v6556t7wrzz08vp-1074 boost/boost/mpl/aux_/preprocessed/no_ctps/inherit.hpp inherit.hpp-20080324153746-8v6556t7wrzz08vp-1075 boost/boost/mpl/aux_/preprocessed/no_ctps/iter_fold_if_impl.hpp iter_fold_if_impl.hp-20080324153746-8v6556t7wrzz08vp-1076 boost/boost/mpl/aux_/preprocessed/no_ctps/iter_fold_impl.hpp iter_fold_impl.hpp-20080324153746-8v6556t7wrzz08vp-1077 boost/boost/mpl/aux_/preprocessed/no_ctps/lambda_no_ctps.hpp lambda_no_ctps.hpp-20080324153746-8v6556t7wrzz08vp-1078 boost/boost/mpl/aux_/preprocessed/no_ctps/less.hpp less.hpp-20080324153746-8v6556t7wrzz08vp-1079 boost/boost/mpl/aux_/preprocessed/no_ctps/less_equal.hpp less_equal.hpp-20080324153746-8v6556t7wrzz08vp-1080 boost/boost/mpl/aux_/preprocessed/no_ctps/list.hpp list.hpp-20080324153746-8v6556t7wrzz08vp-1081 boost/boost/mpl/aux_/preprocessed/no_ctps/list_c.hpp list_c.hpp-20080324153746-8v6556t7wrzz08vp-1082 boost/boost/mpl/aux_/preprocessed/no_ctps/map.hpp map.hpp-20080324153746-8v6556t7wrzz08vp-1083 boost/boost/mpl/aux_/preprocessed/no_ctps/minus.hpp minus.hpp-20080324153746-8v6556t7wrzz08vp-1084 boost/boost/mpl/aux_/preprocessed/no_ctps/modulus.hpp modulus.hpp-20080324153746-8v6556t7wrzz08vp-1085 boost/boost/mpl/aux_/preprocessed/no_ctps/not_equal_to.hpp not_equal_to.hpp-20080324153746-8v6556t7wrzz08vp-1086 boost/boost/mpl/aux_/preprocessed/no_ctps/or.hpp or.hpp-20080324153746-8v6556t7wrzz08vp-1087 boost/boost/mpl/aux_/preprocessed/no_ctps/placeholders.hpp placeholders.hpp-20080324153746-8v6556t7wrzz08vp-1088 boost/boost/mpl/aux_/preprocessed/no_ctps/plus.hpp plus.hpp-20080324153746-8v6556t7wrzz08vp-1089 boost/boost/mpl/aux_/preprocessed/no_ctps/quote.hpp quote.hpp-20080324153746-8v6556t7wrzz08vp-1090 boost/boost/mpl/aux_/preprocessed/no_ctps/reverse_fold_impl.hpp reverse_fold_impl.hp-20080324153746-8v6556t7wrzz08vp-1091 boost/boost/mpl/aux_/preprocessed/no_ctps/reverse_iter_fold_impl.hpp reverse_iter_fold_im-20080324153746-8v6556t7wrzz08vp-1092 boost/boost/mpl/aux_/preprocessed/no_ctps/set.hpp set.hpp-20080324153746-8v6556t7wrzz08vp-1093 boost/boost/mpl/aux_/preprocessed/no_ctps/set_c.hpp set_c.hpp-20080324153746-8v6556t7wrzz08vp-1094 boost/boost/mpl/aux_/preprocessed/no_ctps/shift_left.hpp shift_left.hpp-20080324153746-8v6556t7wrzz08vp-1095 boost/boost/mpl/aux_/preprocessed/no_ctps/shift_right.hpp shift_right.hpp-20080324153746-8v6556t7wrzz08vp-1096 boost/boost/mpl/aux_/preprocessed/no_ctps/template_arity.hpp template_arity.hpp-20080324153746-8v6556t7wrzz08vp-1097 boost/boost/mpl/aux_/preprocessed/no_ctps/times.hpp times.hpp-20080324153746-8v6556t7wrzz08vp-1098 boost/boost/mpl/aux_/preprocessed/no_ctps/unpack_args.hpp unpack_args.hpp-20080324153746-8v6556t7wrzz08vp-1099 boost/boost/mpl/aux_/preprocessed/no_ctps/vector.hpp vector.hpp-20080324153746-8v6556t7wrzz08vp-1100 boost/boost/mpl/aux_/preprocessed/no_ctps/vector_c.hpp vector_c.hpp-20080324153746-8v6556t7wrzz08vp-1101 boost/boost/mpl/aux_/preprocessed/no_ttp no_ttp-20080324153746-8v6556t7wrzz08vp-591 boost/boost/mpl/aux_/preprocessed/no_ttp/advance_backward.hpp advance_backward.hpp-20080324153746-8v6556t7wrzz08vp-1102 boost/boost/mpl/aux_/preprocessed/no_ttp/advance_forward.hpp advance_forward.hpp-20080324153746-8v6556t7wrzz08vp-1103 boost/boost/mpl/aux_/preprocessed/no_ttp/and.hpp and.hpp-20080324153746-8v6556t7wrzz08vp-1104 boost/boost/mpl/aux_/preprocessed/no_ttp/apply.hpp apply.hpp-20080324153746-8v6556t7wrzz08vp-1105 boost/boost/mpl/aux_/preprocessed/no_ttp/apply_fwd.hpp apply_fwd.hpp-20080324153746-8v6556t7wrzz08vp-1106 boost/boost/mpl/aux_/preprocessed/no_ttp/apply_wrap.hpp apply_wrap.hpp-20080324153746-8v6556t7wrzz08vp-1107 boost/boost/mpl/aux_/preprocessed/no_ttp/arg.hpp arg.hpp-20080324153746-8v6556t7wrzz08vp-1108 boost/boost/mpl/aux_/preprocessed/no_ttp/basic_bind.hpp basic_bind.hpp-20080324153746-8v6556t7wrzz08vp-1109 boost/boost/mpl/aux_/preprocessed/no_ttp/bind.hpp bind.hpp-20080324153746-8v6556t7wrzz08vp-1110 boost/boost/mpl/aux_/preprocessed/no_ttp/bind_fwd.hpp bind_fwd.hpp-20080324153746-8v6556t7wrzz08vp-1111 boost/boost/mpl/aux_/preprocessed/no_ttp/bitand.hpp bitand.hpp-20080324153746-8v6556t7wrzz08vp-1112 boost/boost/mpl/aux_/preprocessed/no_ttp/bitor.hpp bitor.hpp-20080324153746-8v6556t7wrzz08vp-1113 boost/boost/mpl/aux_/preprocessed/no_ttp/bitxor.hpp bitxor.hpp-20080324153746-8v6556t7wrzz08vp-1114 boost/boost/mpl/aux_/preprocessed/no_ttp/deque.hpp deque.hpp-20080324153746-8v6556t7wrzz08vp-1115 boost/boost/mpl/aux_/preprocessed/no_ttp/divides.hpp divides.hpp-20080324153746-8v6556t7wrzz08vp-1116 boost/boost/mpl/aux_/preprocessed/no_ttp/equal_to.hpp equal_to.hpp-20080324153746-8v6556t7wrzz08vp-1117 boost/boost/mpl/aux_/preprocessed/no_ttp/fold_impl.hpp fold_impl.hpp-20080324153746-8v6556t7wrzz08vp-1118 boost/boost/mpl/aux_/preprocessed/no_ttp/full_lambda.hpp full_lambda.hpp-20080324153746-8v6556t7wrzz08vp-1119 boost/boost/mpl/aux_/preprocessed/no_ttp/greater.hpp greater.hpp-20080324153746-8v6556t7wrzz08vp-1120 boost/boost/mpl/aux_/preprocessed/no_ttp/greater_equal.hpp greater_equal.hpp-20080324153746-8v6556t7wrzz08vp-1121 boost/boost/mpl/aux_/preprocessed/no_ttp/inherit.hpp inherit.hpp-20080324153746-8v6556t7wrzz08vp-1122 boost/boost/mpl/aux_/preprocessed/no_ttp/iter_fold_if_impl.hpp iter_fold_if_impl.hp-20080324153746-8v6556t7wrzz08vp-1123 boost/boost/mpl/aux_/preprocessed/no_ttp/iter_fold_impl.hpp iter_fold_impl.hpp-20080324153746-8v6556t7wrzz08vp-1124 boost/boost/mpl/aux_/preprocessed/no_ttp/lambda_no_ctps.hpp lambda_no_ctps.hpp-20080324153746-8v6556t7wrzz08vp-1125 boost/boost/mpl/aux_/preprocessed/no_ttp/less.hpp less.hpp-20080324153746-8v6556t7wrzz08vp-1126 boost/boost/mpl/aux_/preprocessed/no_ttp/less_equal.hpp less_equal.hpp-20080324153746-8v6556t7wrzz08vp-1127 boost/boost/mpl/aux_/preprocessed/no_ttp/list.hpp list.hpp-20080324153746-8v6556t7wrzz08vp-1128 boost/boost/mpl/aux_/preprocessed/no_ttp/list_c.hpp list_c.hpp-20080324153746-8v6556t7wrzz08vp-1129 boost/boost/mpl/aux_/preprocessed/no_ttp/map.hpp map.hpp-20080324153746-8v6556t7wrzz08vp-1130 boost/boost/mpl/aux_/preprocessed/no_ttp/minus.hpp minus.hpp-20080324153746-8v6556t7wrzz08vp-1131 boost/boost/mpl/aux_/preprocessed/no_ttp/modulus.hpp modulus.hpp-20080324153746-8v6556t7wrzz08vp-1132 boost/boost/mpl/aux_/preprocessed/no_ttp/not_equal_to.hpp not_equal_to.hpp-20080324153746-8v6556t7wrzz08vp-1133 boost/boost/mpl/aux_/preprocessed/no_ttp/or.hpp or.hpp-20080324153746-8v6556t7wrzz08vp-1134 boost/boost/mpl/aux_/preprocessed/no_ttp/placeholders.hpp placeholders.hpp-20080324153746-8v6556t7wrzz08vp-1135 boost/boost/mpl/aux_/preprocessed/no_ttp/plus.hpp plus.hpp-20080324153746-8v6556t7wrzz08vp-1136 boost/boost/mpl/aux_/preprocessed/no_ttp/quote.hpp quote.hpp-20080324153746-8v6556t7wrzz08vp-1137 boost/boost/mpl/aux_/preprocessed/no_ttp/reverse_fold_impl.hpp reverse_fold_impl.hp-20080324153746-8v6556t7wrzz08vp-1138 boost/boost/mpl/aux_/preprocessed/no_ttp/reverse_iter_fold_impl.hpp reverse_iter_fold_im-20080324153746-8v6556t7wrzz08vp-1139 boost/boost/mpl/aux_/preprocessed/no_ttp/set.hpp set.hpp-20080324153746-8v6556t7wrzz08vp-1140 boost/boost/mpl/aux_/preprocessed/no_ttp/set_c.hpp set_c.hpp-20080324153746-8v6556t7wrzz08vp-1141 boost/boost/mpl/aux_/preprocessed/no_ttp/shift_left.hpp shift_left.hpp-20080324153746-8v6556t7wrzz08vp-1142 boost/boost/mpl/aux_/preprocessed/no_ttp/shift_right.hpp shift_right.hpp-20080324153746-8v6556t7wrzz08vp-1143 boost/boost/mpl/aux_/preprocessed/no_ttp/template_arity.hpp template_arity.hpp-20080324153746-8v6556t7wrzz08vp-1144 boost/boost/mpl/aux_/preprocessed/no_ttp/times.hpp times.hpp-20080324153746-8v6556t7wrzz08vp-1145 boost/boost/mpl/aux_/preprocessed/no_ttp/unpack_args.hpp unpack_args.hpp-20080324153746-8v6556t7wrzz08vp-1146 boost/boost/mpl/aux_/preprocessed/no_ttp/vector.hpp vector.hpp-20080324153746-8v6556t7wrzz08vp-1147 boost/boost/mpl/aux_/preprocessed/no_ttp/vector_c.hpp vector_c.hpp-20080324153746-8v6556t7wrzz08vp-1148 boost/boost/mpl/aux_/preprocessed/plain plain-20080324153746-8v6556t7wrzz08vp-592 boost/boost/mpl/aux_/preprocessed/plain/advance_backward.hpp advance_backward.hpp-20080324153746-8v6556t7wrzz08vp-1149 boost/boost/mpl/aux_/preprocessed/plain/advance_forward.hpp advance_forward.hpp-20080324153746-8v6556t7wrzz08vp-1150 boost/boost/mpl/aux_/preprocessed/plain/and.hpp and.hpp-20080324153746-8v6556t7wrzz08vp-1151 boost/boost/mpl/aux_/preprocessed/plain/apply.hpp apply.hpp-20080324153746-8v6556t7wrzz08vp-1152 boost/boost/mpl/aux_/preprocessed/plain/apply_fwd.hpp apply_fwd.hpp-20080324153746-8v6556t7wrzz08vp-1153 boost/boost/mpl/aux_/preprocessed/plain/apply_wrap.hpp apply_wrap.hpp-20080324153746-8v6556t7wrzz08vp-1154 boost/boost/mpl/aux_/preprocessed/plain/arg.hpp arg.hpp-20080324153746-8v6556t7wrzz08vp-1155 boost/boost/mpl/aux_/preprocessed/plain/basic_bind.hpp basic_bind.hpp-20080324153746-8v6556t7wrzz08vp-1156 boost/boost/mpl/aux_/preprocessed/plain/bind.hpp bind.hpp-20080324153746-8v6556t7wrzz08vp-1157 boost/boost/mpl/aux_/preprocessed/plain/bind_fwd.hpp bind_fwd.hpp-20080324153746-8v6556t7wrzz08vp-1158 boost/boost/mpl/aux_/preprocessed/plain/bitand.hpp bitand.hpp-20080324153746-8v6556t7wrzz08vp-1159 boost/boost/mpl/aux_/preprocessed/plain/bitor.hpp bitor.hpp-20080324153746-8v6556t7wrzz08vp-1160 boost/boost/mpl/aux_/preprocessed/plain/bitxor.hpp bitxor.hpp-20080324153746-8v6556t7wrzz08vp-1161 boost/boost/mpl/aux_/preprocessed/plain/deque.hpp deque.hpp-20080324153746-8v6556t7wrzz08vp-1162 boost/boost/mpl/aux_/preprocessed/plain/divides.hpp divides.hpp-20080324153746-8v6556t7wrzz08vp-1163 boost/boost/mpl/aux_/preprocessed/plain/equal_to.hpp equal_to.hpp-20080324153746-8v6556t7wrzz08vp-1164 boost/boost/mpl/aux_/preprocessed/plain/fold_impl.hpp fold_impl.hpp-20080324153746-8v6556t7wrzz08vp-1165 boost/boost/mpl/aux_/preprocessed/plain/full_lambda.hpp full_lambda.hpp-20080324153746-8v6556t7wrzz08vp-1166 boost/boost/mpl/aux_/preprocessed/plain/greater.hpp greater.hpp-20080324153746-8v6556t7wrzz08vp-1167 boost/boost/mpl/aux_/preprocessed/plain/greater_equal.hpp greater_equal.hpp-20080324153746-8v6556t7wrzz08vp-1168 boost/boost/mpl/aux_/preprocessed/plain/inherit.hpp inherit.hpp-20080324153746-8v6556t7wrzz08vp-1169 boost/boost/mpl/aux_/preprocessed/plain/iter_fold_if_impl.hpp iter_fold_if_impl.hp-20080324153746-8v6556t7wrzz08vp-1170 boost/boost/mpl/aux_/preprocessed/plain/iter_fold_impl.hpp iter_fold_impl.hpp-20080324153746-8v6556t7wrzz08vp-1171 boost/boost/mpl/aux_/preprocessed/plain/lambda_no_ctps.hpp lambda_no_ctps.hpp-20080324153746-8v6556t7wrzz08vp-1172 boost/boost/mpl/aux_/preprocessed/plain/less.hpp less.hpp-20080324153746-8v6556t7wrzz08vp-1173 boost/boost/mpl/aux_/preprocessed/plain/less_equal.hpp less_equal.hpp-20080324153746-8v6556t7wrzz08vp-1174 boost/boost/mpl/aux_/preprocessed/plain/list.hpp list.hpp-20080324153746-8v6556t7wrzz08vp-1175 boost/boost/mpl/aux_/preprocessed/plain/list_c.hpp list_c.hpp-20080324153746-8v6556t7wrzz08vp-1176 boost/boost/mpl/aux_/preprocessed/plain/map.hpp map.hpp-20080324153746-8v6556t7wrzz08vp-1177 boost/boost/mpl/aux_/preprocessed/plain/minus.hpp minus.hpp-20080324153746-8v6556t7wrzz08vp-1178 boost/boost/mpl/aux_/preprocessed/plain/modulus.hpp modulus.hpp-20080324153746-8v6556t7wrzz08vp-1179 boost/boost/mpl/aux_/preprocessed/plain/not_equal_to.hpp not_equal_to.hpp-20080324153746-8v6556t7wrzz08vp-1180 boost/boost/mpl/aux_/preprocessed/plain/or.hpp or.hpp-20080324153746-8v6556t7wrzz08vp-1181 boost/boost/mpl/aux_/preprocessed/plain/placeholders.hpp placeholders.hpp-20080324153746-8v6556t7wrzz08vp-1182 boost/boost/mpl/aux_/preprocessed/plain/plus.hpp plus.hpp-20080324153746-8v6556t7wrzz08vp-1183 boost/boost/mpl/aux_/preprocessed/plain/quote.hpp quote.hpp-20080324153746-8v6556t7wrzz08vp-1184 boost/boost/mpl/aux_/preprocessed/plain/reverse_fold_impl.hpp reverse_fold_impl.hp-20080324153746-8v6556t7wrzz08vp-1185 boost/boost/mpl/aux_/preprocessed/plain/reverse_iter_fold_impl.hpp reverse_iter_fold_im-20080324153746-8v6556t7wrzz08vp-1186 boost/boost/mpl/aux_/preprocessed/plain/set.hpp set.hpp-20080324153746-8v6556t7wrzz08vp-1187 boost/boost/mpl/aux_/preprocessed/plain/set_c.hpp set_c.hpp-20080324153746-8v6556t7wrzz08vp-1188 boost/boost/mpl/aux_/preprocessed/plain/shift_left.hpp shift_left.hpp-20080324153746-8v6556t7wrzz08vp-1189 boost/boost/mpl/aux_/preprocessed/plain/shift_right.hpp shift_right.hpp-20080324153746-8v6556t7wrzz08vp-1190 boost/boost/mpl/aux_/preprocessed/plain/template_arity.hpp template_arity.hpp-20080324153746-8v6556t7wrzz08vp-1191 boost/boost/mpl/aux_/preprocessed/plain/times.hpp times.hpp-20080324153746-8v6556t7wrzz08vp-1192 boost/boost/mpl/aux_/preprocessed/plain/unpack_args.hpp unpack_args.hpp-20080324153746-8v6556t7wrzz08vp-1193 boost/boost/mpl/aux_/preprocessed/plain/vector.hpp vector.hpp-20080324153746-8v6556t7wrzz08vp-1194 boost/boost/mpl/aux_/preprocessed/plain/vector_c.hpp vector_c.hpp-20080324153746-8v6556t7wrzz08vp-1195 boost/boost/mpl/aux_/preprocessor preprocessor-20080324153746-8v6556t7wrzz08vp-331 boost/boost/mpl/aux_/preprocessor/... [truncated message content] |
From: <arn...@us...> - 2008-03-26 13:54:50
|
Revision: 1058 http://dcplusplus.svn.sourceforge.net/dcplusplus/?rev=1058&view=rev Author: arnetheduck Date: 2008-03-26 06:54:44 -0700 (Wed, 26 Mar 2008) Log Message: ----------- readd mpl/preprocessor that were needed after all Added Paths: ----------- dcplusplus/trunk/boost/boost/mpl/ dcplusplus/trunk/boost/boost/mpl/O1_size.hpp dcplusplus/trunk/boost/boost/mpl/O1_size_fwd.hpp dcplusplus/trunk/boost/boost/mpl/accumulate.hpp dcplusplus/trunk/boost/boost/mpl/advance.hpp dcplusplus/trunk/boost/boost/mpl/advance_fwd.hpp dcplusplus/trunk/boost/boost/mpl/alias.hpp dcplusplus/trunk/boost/boost/mpl/always.hpp dcplusplus/trunk/boost/boost/mpl/and.hpp dcplusplus/trunk/boost/boost/mpl/apply.hpp dcplusplus/trunk/boost/boost/mpl/apply_fwd.hpp dcplusplus/trunk/boost/boost/mpl/apply_wrap.hpp dcplusplus/trunk/boost/boost/mpl/arg.hpp dcplusplus/trunk/boost/boost/mpl/arg_fwd.hpp dcplusplus/trunk/boost/boost/mpl/arithmetic.hpp dcplusplus/trunk/boost/boost/mpl/as_sequence.hpp dcplusplus/trunk/boost/boost/mpl/assert.hpp dcplusplus/trunk/boost/boost/mpl/at.hpp dcplusplus/trunk/boost/boost/mpl/at_fwd.hpp dcplusplus/trunk/boost/boost/mpl/aux_/ dcplusplus/trunk/boost/boost/mpl/aux_/O1_size_impl.hpp dcplusplus/trunk/boost/boost/mpl/aux_/adl_barrier.hpp dcplusplus/trunk/boost/boost/mpl/aux_/advance_backward.hpp dcplusplus/trunk/boost/boost/mpl/aux_/advance_forward.hpp dcplusplus/trunk/boost/boost/mpl/aux_/apply_1st.hpp dcplusplus/trunk/boost/boost/mpl/aux_/arg_typedef.hpp dcplusplus/trunk/boost/boost/mpl/aux_/arithmetic_op.hpp dcplusplus/trunk/boost/boost/mpl/aux_/arity.hpp dcplusplus/trunk/boost/boost/mpl/aux_/arity_spec.hpp dcplusplus/trunk/boost/boost/mpl/aux_/at_impl.hpp dcplusplus/trunk/boost/boost/mpl/aux_/back_impl.hpp dcplusplus/trunk/boost/boost/mpl/aux_/basic_bind.hpp dcplusplus/trunk/boost/boost/mpl/aux_/begin_end_impl.hpp dcplusplus/trunk/boost/boost/mpl/aux_/clear_impl.hpp dcplusplus/trunk/boost/boost/mpl/aux_/common_name_wknd.hpp dcplusplus/trunk/boost/boost/mpl/aux_/comparison_op.hpp dcplusplus/trunk/boost/boost/mpl/aux_/config/ dcplusplus/trunk/boost/boost/mpl/aux_/config/adl.hpp dcplusplus/trunk/boost/boost/mpl/aux_/config/arrays.hpp dcplusplus/trunk/boost/boost/mpl/aux_/config/bind.hpp dcplusplus/trunk/boost/boost/mpl/aux_/config/compiler.hpp dcplusplus/trunk/boost/boost/mpl/aux_/config/ctps.hpp dcplusplus/trunk/boost/boost/mpl/aux_/config/dependent_nttp.hpp dcplusplus/trunk/boost/boost/mpl/aux_/config/dmc_ambiguous_ctps.hpp dcplusplus/trunk/boost/boost/mpl/aux_/config/dtp.hpp dcplusplus/trunk/boost/boost/mpl/aux_/config/eti.hpp dcplusplus/trunk/boost/boost/mpl/aux_/config/forwarding.hpp dcplusplus/trunk/boost/boost/mpl/aux_/config/gcc.hpp dcplusplus/trunk/boost/boost/mpl/aux_/config/has_apply.hpp dcplusplus/trunk/boost/boost/mpl/aux_/config/has_xxx.hpp dcplusplus/trunk/boost/boost/mpl/aux_/config/integral.hpp dcplusplus/trunk/boost/boost/mpl/aux_/config/intel.hpp dcplusplus/trunk/boost/boost/mpl/aux_/config/lambda.hpp dcplusplus/trunk/boost/boost/mpl/aux_/config/msvc.hpp dcplusplus/trunk/boost/boost/mpl/aux_/config/msvc_typename.hpp dcplusplus/trunk/boost/boost/mpl/aux_/config/nttp.hpp dcplusplus/trunk/boost/boost/mpl/aux_/config/operators.hpp dcplusplus/trunk/boost/boost/mpl/aux_/config/overload_resolution.hpp dcplusplus/trunk/boost/boost/mpl/aux_/config/preprocessor.hpp dcplusplus/trunk/boost/boost/mpl/aux_/config/static_constant.hpp dcplusplus/trunk/boost/boost/mpl/aux_/config/ttp.hpp dcplusplus/trunk/boost/boost/mpl/aux_/config/typeof.hpp dcplusplus/trunk/boost/boost/mpl/aux_/config/use_preprocessed.hpp dcplusplus/trunk/boost/boost/mpl/aux_/config/workaround.hpp dcplusplus/trunk/boost/boost/mpl/aux_/contains_impl.hpp dcplusplus/trunk/boost/boost/mpl/aux_/count_args.hpp dcplusplus/trunk/boost/boost/mpl/aux_/count_impl.hpp dcplusplus/trunk/boost/boost/mpl/aux_/empty_impl.hpp dcplusplus/trunk/boost/boost/mpl/aux_/erase_impl.hpp dcplusplus/trunk/boost/boost/mpl/aux_/erase_key_impl.hpp dcplusplus/trunk/boost/boost/mpl/aux_/filter_iter.hpp dcplusplus/trunk/boost/boost/mpl/aux_/find_if_pred.hpp dcplusplus/trunk/boost/boost/mpl/aux_/fold_impl.hpp dcplusplus/trunk/boost/boost/mpl/aux_/fold_impl_body.hpp dcplusplus/trunk/boost/boost/mpl/aux_/fold_op.hpp dcplusplus/trunk/boost/boost/mpl/aux_/fold_pred.hpp dcplusplus/trunk/boost/boost/mpl/aux_/front_impl.hpp dcplusplus/trunk/boost/boost/mpl/aux_/full_lambda.hpp dcplusplus/trunk/boost/boost/mpl/aux_/has_apply.hpp dcplusplus/trunk/boost/boost/mpl/aux_/has_begin.hpp dcplusplus/trunk/boost/boost/mpl/aux_/has_key_impl.hpp dcplusplus/trunk/boost/boost/mpl/aux_/has_rebind.hpp dcplusplus/trunk/boost/boost/mpl/aux_/has_size.hpp dcplusplus/trunk/boost/boost/mpl/aux_/has_tag.hpp dcplusplus/trunk/boost/boost/mpl/aux_/has_type.hpp dcplusplus/trunk/boost/boost/mpl/aux_/include_preprocessed.hpp dcplusplus/trunk/boost/boost/mpl/aux_/insert_impl.hpp dcplusplus/trunk/boost/boost/mpl/aux_/insert_range_impl.hpp dcplusplus/trunk/boost/boost/mpl/aux_/inserter_algorithm.hpp dcplusplus/trunk/boost/boost/mpl/aux_/integral_wrapper.hpp dcplusplus/trunk/boost/boost/mpl/aux_/is_msvc_eti_arg.hpp dcplusplus/trunk/boost/boost/mpl/aux_/iter_apply.hpp dcplusplus/trunk/boost/boost/mpl/aux_/iter_fold_if_impl.hpp dcplusplus/trunk/boost/boost/mpl/aux_/iter_fold_impl.hpp dcplusplus/trunk/boost/boost/mpl/aux_/iter_push_front.hpp dcplusplus/trunk/boost/boost/mpl/aux_/joint_iter.hpp dcplusplus/trunk/boost/boost/mpl/aux_/lambda_arity_param.hpp dcplusplus/trunk/boost/boost/mpl/aux_/lambda_no_ctps.hpp dcplusplus/trunk/boost/boost/mpl/aux_/lambda_spec.hpp dcplusplus/trunk/boost/boost/mpl/aux_/lambda_support.hpp dcplusplus/trunk/boost/boost/mpl/aux_/largest_int.hpp dcplusplus/trunk/boost/boost/mpl/aux_/logical_op.hpp dcplusplus/trunk/boost/boost/mpl/aux_/msvc_dtw.hpp dcplusplus/trunk/boost/boost/mpl/aux_/msvc_eti_base.hpp dcplusplus/trunk/boost/boost/mpl/aux_/msvc_is_class.hpp dcplusplus/trunk/boost/boost/mpl/aux_/msvc_never_true.hpp dcplusplus/trunk/boost/boost/mpl/aux_/msvc_type.hpp dcplusplus/trunk/boost/boost/mpl/aux_/na.hpp dcplusplus/trunk/boost/boost/mpl/aux_/na_assert.hpp dcplusplus/trunk/boost/boost/mpl/aux_/na_fwd.hpp dcplusplus/trunk/boost/boost/mpl/aux_/na_spec.hpp dcplusplus/trunk/boost/boost/mpl/aux_/nested_type_wknd.hpp dcplusplus/trunk/boost/boost/mpl/aux_/nttp_decl.hpp dcplusplus/trunk/boost/boost/mpl/aux_/numeric_cast_utils.hpp dcplusplus/trunk/boost/boost/mpl/aux_/numeric_op.hpp dcplusplus/trunk/boost/boost/mpl/aux_/order_impl.hpp dcplusplus/trunk/boost/boost/mpl/aux_/overload_names.hpp dcplusplus/trunk/boost/boost/mpl/aux_/partition_op.hpp dcplusplus/trunk/boost/boost/mpl/aux_/pop_back_impl.hpp dcplusplus/trunk/boost/boost/mpl/aux_/pop_front_impl.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/ dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/bcc/ dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/bcc/advance_backward.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/bcc/advance_forward.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/bcc/and.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/bcc/apply.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/bcc/apply_fwd.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/bcc/apply_wrap.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/bcc/arg.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/bcc/basic_bind.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/bcc/bind.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/bcc/bind_fwd.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/bcc/bitand.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/bcc/bitor.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/bcc/bitxor.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/bcc/deque.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/bcc/divides.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/bcc/equal_to.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/bcc/fold_impl.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/bcc/full_lambda.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/bcc/greater.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/bcc/greater_equal.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/bcc/inherit.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/bcc/iter_fold_if_impl.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/bcc/iter_fold_impl.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/bcc/lambda_no_ctps.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/bcc/less.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/bcc/less_equal.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/bcc/list.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/bcc/list_c.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/bcc/map.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/bcc/minus.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/bcc/modulus.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/bcc/not_equal_to.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/bcc/or.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/bcc/placeholders.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/bcc/plus.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/bcc/quote.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/bcc/reverse_fold_impl.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/bcc/reverse_iter_fold_impl.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/bcc/set.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/bcc/set_c.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/bcc/shift_left.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/bcc/shift_right.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/bcc/template_arity.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/bcc/times.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/bcc/unpack_args.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/bcc/vector.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/bcc/vector_c.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/bcc551/ dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/bcc551/advance_backward.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/bcc551/advance_forward.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/bcc551/and.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/bcc551/apply.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/bcc551/apply_fwd.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/bcc551/apply_wrap.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/bcc551/arg.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/bcc551/basic_bind.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/bcc551/bind.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/bcc551/bind_fwd.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/bcc551/bitand.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/bcc551/bitor.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/bcc551/bitxor.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/bcc551/deque.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/bcc551/divides.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/bcc551/equal_to.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/bcc551/fold_impl.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/bcc551/full_lambda.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/bcc551/greater.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/bcc551/greater_equal.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/bcc551/inherit.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/bcc551/iter_fold_if_impl.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/bcc551/iter_fold_impl.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/bcc551/lambda_no_ctps.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/bcc551/less.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/bcc551/less_equal.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/bcc551/list.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/bcc551/list_c.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/bcc551/map.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/bcc551/minus.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/bcc551/modulus.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/bcc551/not_equal_to.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/bcc551/or.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/bcc551/placeholders.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/bcc551/plus.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/bcc551/quote.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/bcc551/reverse_fold_impl.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/bcc551/reverse_iter_fold_impl.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/bcc551/set.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/bcc551/set_c.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/bcc551/shift_left.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/bcc551/shift_right.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/bcc551/template_arity.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/bcc551/times.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/bcc551/unpack_args.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/bcc551/vector.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/bcc551/vector_c.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/dmc/ dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/dmc/advance_backward.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/dmc/advance_forward.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/dmc/and.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/dmc/apply.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/dmc/apply_fwd.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/dmc/apply_wrap.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/dmc/arg.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/dmc/basic_bind.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/dmc/bind.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/dmc/bind_fwd.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/dmc/bitand.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/dmc/bitor.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/dmc/bitxor.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/dmc/deque.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/dmc/divides.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/dmc/equal_to.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/dmc/fold_impl.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/dmc/full_lambda.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/dmc/greater.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/dmc/greater_equal.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/dmc/inherit.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/dmc/iter_fold_if_impl.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/dmc/iter_fold_impl.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/dmc/lambda_no_ctps.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/dmc/less.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/dmc/less_equal.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/dmc/list.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/dmc/list_c.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/dmc/map.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/dmc/minus.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/dmc/modulus.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/dmc/not_equal_to.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/dmc/or.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/dmc/placeholders.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/dmc/plus.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/dmc/quote.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/dmc/reverse_fold_impl.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/dmc/reverse_iter_fold_impl.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/dmc/set.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/dmc/set_c.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/dmc/shift_left.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/dmc/shift_right.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/dmc/template_arity.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/dmc/times.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/dmc/unpack_args.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/dmc/vector.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/dmc/vector_c.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/gcc/ dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/gcc/advance_backward.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/gcc/advance_forward.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/gcc/and.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/gcc/apply.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/gcc/apply_fwd.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/gcc/apply_wrap.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/gcc/arg.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/gcc/basic_bind.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/gcc/bind.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/gcc/bind_fwd.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/gcc/bitand.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/gcc/bitor.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/gcc/bitxor.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/gcc/deque.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/gcc/divides.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/gcc/equal_to.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/gcc/fold_impl.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/gcc/full_lambda.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/gcc/greater.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/gcc/greater_equal.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/gcc/inherit.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/gcc/iter_fold_if_impl.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/gcc/iter_fold_impl.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/gcc/lambda_no_ctps.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/gcc/less.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/gcc/less_equal.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/gcc/list.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/gcc/list_c.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/gcc/map.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/gcc/minus.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/gcc/modulus.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/gcc/not_equal_to.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/gcc/or.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/gcc/placeholders.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/gcc/plus.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/gcc/quote.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/gcc/reverse_fold_impl.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/gcc/reverse_iter_fold_impl.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/gcc/set.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/gcc/set_c.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/gcc/shift_left.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/gcc/shift_right.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/gcc/template_arity.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/gcc/times.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/gcc/unpack_args.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/gcc/vector.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/gcc/vector_c.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/msvc60/ dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/msvc60/advance_backward.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/msvc60/advance_forward.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/msvc60/and.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/msvc60/apply.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/msvc60/apply_fwd.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/msvc60/apply_wrap.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/msvc60/arg.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/msvc60/basic_bind.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/msvc60/bind.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/msvc60/bind_fwd.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/msvc60/bitand.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/msvc60/bitor.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/msvc60/bitxor.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/msvc60/deque.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/msvc60/divides.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/msvc60/equal_to.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/msvc60/fold_impl.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/msvc60/full_lambda.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/msvc60/greater.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/msvc60/greater_equal.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/msvc60/inherit.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/msvc60/iter_fold_if_impl.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/msvc60/iter_fold_impl.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/msvc60/lambda_no_ctps.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/msvc60/less.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/msvc60/less_equal.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/msvc60/list.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/msvc60/list_c.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/msvc60/map.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/msvc60/minus.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/msvc60/modulus.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/msvc60/not_equal_to.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/msvc60/or.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/msvc60/placeholders.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/msvc60/plus.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/msvc60/quote.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/msvc60/reverse_fold_impl.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/msvc60/reverse_iter_fold_impl.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/msvc60/set.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/msvc60/set_c.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/msvc60/shift_left.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/msvc60/shift_right.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/msvc60/template_arity.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/msvc60/times.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/msvc60/unpack_args.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/msvc60/vector.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/msvc60/vector_c.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/msvc70/ dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/msvc70/advance_backward.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/msvc70/advance_forward.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/msvc70/and.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/msvc70/apply.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/msvc70/apply_fwd.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/msvc70/apply_wrap.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/msvc70/arg.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/msvc70/basic_bind.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/msvc70/bind.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/msvc70/bind_fwd.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/msvc70/bitand.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/msvc70/bitor.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/msvc70/bitxor.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/msvc70/deque.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/msvc70/divides.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/msvc70/equal_to.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/msvc70/fold_impl.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/msvc70/full_lambda.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/msvc70/greater.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/msvc70/greater_equal.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/msvc70/inherit.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/msvc70/iter_fold_if_impl.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/msvc70/iter_fold_impl.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/msvc70/lambda_no_ctps.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/msvc70/less.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/msvc70/less_equal.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/msvc70/list.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/msvc70/list_c.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/msvc70/map.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/msvc70/minus.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/msvc70/modulus.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/msvc70/not_equal_to.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/msvc70/or.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/msvc70/placeholders.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/msvc70/plus.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/msvc70/quote.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/msvc70/reverse_fold_impl.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/msvc70/reverse_iter_fold_impl.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/msvc70/set.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/msvc70/set_c.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/msvc70/shift_left.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/msvc70/shift_right.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/msvc70/template_arity.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/msvc70/times.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/msvc70/unpack_args.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/msvc70/vector.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/msvc70/vector_c.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/mwcw/ dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/mwcw/advance_backward.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/mwcw/advance_forward.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/mwcw/and.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/mwcw/apply.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/mwcw/apply_fwd.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/mwcw/apply_wrap.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/mwcw/arg.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/mwcw/basic_bind.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/mwcw/bind.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/mwcw/bind_fwd.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/mwcw/bitand.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/mwcw/bitor.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/mwcw/bitxor.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/mwcw/deque.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/mwcw/divides.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/mwcw/equal_to.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/mwcw/fold_impl.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/mwcw/full_lambda.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/mwcw/greater.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/mwcw/greater_equal.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/mwcw/inherit.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/mwcw/iter_fold_if_impl.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/mwcw/iter_fold_impl.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/mwcw/lambda_no_ctps.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/mwcw/less.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/mwcw/less_equal.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/mwcw/list.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/mwcw/list_c.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/mwcw/map.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/mwcw/minus.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/mwcw/modulus.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/mwcw/not_equal_to.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/mwcw/or.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/mwcw/placeholders.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/mwcw/plus.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/mwcw/quote.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/mwcw/reverse_fold_impl.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/mwcw/reverse_iter_fold_impl.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/mwcw/set.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/mwcw/set_c.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/mwcw/shift_left.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/mwcw/shift_right.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/mwcw/template_arity.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/mwcw/times.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/mwcw/unpack_args.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/mwcw/vector.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/mwcw/vector_c.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/no_ctps/ dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/no_ctps/advance_backward.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/no_ctps/advance_forward.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/no_ctps/and.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/no_ctps/apply.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/no_ctps/apply_fwd.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/no_ctps/apply_wrap.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/no_ctps/arg.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/no_ctps/basic_bind.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/no_ctps/bind.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/no_ctps/bind_fwd.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/no_ctps/bitand.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/no_ctps/bitor.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/no_ctps/bitxor.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/no_ctps/deque.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/no_ctps/divides.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/no_ctps/equal_to.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/no_ctps/fold_impl.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/no_ctps/full_lambda.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/no_ctps/greater.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/no_ctps/greater_equal.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/no_ctps/inherit.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/no_ctps/iter_fold_if_impl.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/no_ctps/iter_fold_impl.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/no_ctps/lambda_no_ctps.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/no_ctps/less.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/no_ctps/less_equal.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/no_ctps/list.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/no_ctps/list_c.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/no_ctps/map.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/no_ctps/minus.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/no_ctps/modulus.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/no_ctps/not_equal_to.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/no_ctps/or.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/no_ctps/placeholders.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/no_ctps/plus.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/no_ctps/quote.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/no_ctps/reverse_fold_impl.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/no_ctps/reverse_iter_fold_impl.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/no_ctps/set.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/no_ctps/set_c.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/no_ctps/shift_left.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/no_ctps/shift_right.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/no_ctps/template_arity.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/no_ctps/times.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/no_ctps/unpack_args.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/no_ctps/vector.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/no_ctps/vector_c.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/no_ttp/ dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/no_ttp/advance_backward.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/no_ttp/advance_forward.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/no_ttp/and.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/no_ttp/apply.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/no_ttp/apply_fwd.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/no_ttp/apply_wrap.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/no_ttp/arg.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/no_ttp/basic_bind.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/no_ttp/bind.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/no_ttp/bind_fwd.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/no_ttp/bitand.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/no_ttp/bitor.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/no_ttp/bitxor.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/no_ttp/deque.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/no_ttp/divides.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/no_ttp/equal_to.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/no_ttp/fold_impl.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/no_ttp/full_lambda.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/no_ttp/greater.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/no_ttp/greater_equal.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/no_ttp/inherit.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/no_ttp/iter_fold_if_impl.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/no_ttp/iter_fold_impl.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/no_ttp/lambda_no_ctps.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/no_ttp/less.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/no_ttp/less_equal.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/no_ttp/list.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/no_ttp/list_c.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/no_ttp/map.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/no_ttp/minus.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/no_ttp/modulus.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/no_ttp/not_equal_to.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/no_ttp/or.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/no_ttp/placeholders.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/no_ttp/plus.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/no_ttp/quote.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/no_ttp/reverse_fold_impl.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/no_ttp/reverse_iter_fold_impl.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/no_ttp/set.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/no_ttp/set_c.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/no_ttp/shift_left.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/no_ttp/shift_right.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/no_ttp/template_arity.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/no_ttp/times.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/no_ttp/unpack_args.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/no_ttp/vector.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/no_ttp/vector_c.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/plain/ dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/plain/advance_backward.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/plain/advance_forward.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/plain/and.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/plain/apply.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/plain/apply_fwd.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/plain/apply_wrap.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/plain/arg.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/plain/basic_bind.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/plain/bind.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/plain/bind_fwd.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/plain/bitand.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/plain/bitor.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/plain/bitxor.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/plain/deque.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/plain/divides.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/plain/equal_to.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/plain/fold_impl.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/plain/full_lambda.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/plain/greater.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/plain/greater_equal.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/plain/inherit.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/plain/iter_fold_if_impl.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/plain/iter_fold_impl.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/plain/lambda_no_ctps.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/plain/less.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/plain/less_equal.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/plain/list.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/plain/list_c.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/plain/map.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/plain/minus.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/plain/modulus.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/plain/not_equal_to.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/plain/or.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/plain/placeholders.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/plain/plus.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/plain/quote.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/plain/reverse_fold_impl.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/plain/reverse_iter_fold_impl.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/plain/set.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/plain/set_c.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/plain/shift_left.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/plain/shift_right.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/plain/template_arity.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/plain/times.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/plain/unpack_args.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/plain/vector.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessed/plain/vector_c.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessor/ dcplusplus/trunk/boost/boost/mpl/aux_/preprocessor/add.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessor/def_params_tail.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessor/default_params.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessor/enum.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessor/ext_params.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessor/filter_params.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessor/is_seq.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessor/params.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessor/partial_spec_params.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessor/range.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessor/repeat.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessor/sub.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessor/token_equal.hpp dcplusplus/trunk/boost/boost/mpl/aux_/preprocessor/tuple.hpp dcplusplus/trunk/boost/boost/mpl/aux_/ptr_to_ref.hpp dcplusplus/trunk/boost/boost/mpl/aux_/push_back_impl.hpp dcplusplus/trunk/boost/boost/mpl/aux_/push_front_impl.hpp dcplusplus/trunk/boost/boost/mpl/aux_/range_c/ dcplusplus/trunk/boost/boost/mpl/aux_/range_c/O1_size.hpp dcplusplus/trunk/boost/boost/mpl/aux_/range_c/back.hpp dcplusplus/trunk/boost/boost/mpl/aux_/range_c/empty.hpp dcplusplus/trunk/boost/boost/mpl/aux_/range_c/front.hpp dcplusplus/trunk/boost/boost/mpl/aux_/range_c/iterator.hpp dcplusplus/trunk/boost/boost/mpl/aux_/range_c/size.hpp dcplusplus/trunk/boost/boost/mpl/aux_/range_c/tag.hpp dcplusplus/trunk/boost/boost/mpl/aux_/reverse_fold_impl.hpp dcplusplus/trunk/boost/boost/mpl/aux_/reverse_fold_impl_body.hpp dcplusplus/trunk/boost/boost/mpl/aux_/reverse_iter_fold_impl.hpp dcplusplus/trunk/boost/boost/mpl/aux_/sequence_wrapper.hpp dcplusplus/trunk/boost/boost/mpl/aux_/shift_op.hpp dcplusplus/trunk/boost/boost/mpl/aux_/single_element_iter.hpp dcplusplus/trunk/boost/boost/mpl/aux_/size_impl.hpp dcplusplus/trunk/boost/boost/mpl/aux_/sort_impl.hpp dcplusplus/trunk/boost/boost/mpl/aux_/static_cast.hpp dcplusplus/trunk/boost/boost/mpl/aux_/template_arity.hpp dcplusplus/trunk/boost/boost/mpl/aux_/template_arity_fwd.hpp dcplusplus/trunk/boost/boost/mpl/aux_/test/ dcplusplus/trunk/boost/boost/mpl/aux_/test/assert.hpp dcplusplus/trunk/boost/boost/mpl/aux_/test/data.hpp dcplusplus/trunk/boost/boost/mpl/aux_/test/test_case.hpp dcplusplus/trunk/boost/boost/mpl/aux_/test.hpp dcplusplus/trunk/boost/boost/mpl/aux_/traits_lambda_spec.hpp dcplusplus/trunk/boost/boost/mpl/aux_/transform_iter.hpp dcplusplus/trunk/boost/boost/mpl/aux_/type_wrapper.hpp dcplusplus/trunk/boost/boost/mpl/aux_/unwrap.hpp dcplusplus/trunk/boost/boost/mpl/aux_/value_wknd.hpp dcplusplus/trunk/boost/boost/mpl/aux_/yes_no.hpp dcplusplus/trunk/boost/boost/mpl/back.hpp dcplusplus/trunk/boost/boost/mpl/back_fwd.hpp dcplusplus/trunk/boost/boost/mpl/back_inserter.hpp dcplusplus/trunk/boost/boost/mpl/base.hpp dcplusplus/trunk/boost/boost/mpl/begin.hpp dcplusplus/trunk/boost/boost/mpl/begin_end.hpp dcplusplus/trunk/boost/boost/mpl/begin_end_fwd.hpp dcplusplus/trunk/boost/boost/mpl/bind.hpp dcplusplus/trunk/boost/boost/mpl/bind_fwd.hpp dcplusplus/trunk/boost/boost/mpl/bitand.hpp dcplusplus/trunk/boost/boost/mpl/bitor.hpp dcplusplus/trunk/boost/boost/mpl/bitwise.hpp dcplusplus/trunk/boost/boost/mpl/bitxor.hpp dcplusplus/trunk/boost/boost/mpl/bool.hpp dcplusplus/trunk/boost/boost/mpl/bool_fwd.hpp dcplusplus/trunk/boost/boost/mpl/clear.hpp dcplusplus/trunk/boost/boost/mpl/clear_fwd.hpp dcplusplus/trunk/boost/boost/mpl/comparison.hpp dcplusplus/trunk/boost/boost/mpl/contains.hpp dcplusplus/trunk/boost/boost/mpl/contains_fwd.hpp dcplusplus/trunk/boost/boost/mpl/copy.hpp dcplusplus/trunk/boost/boost/mpl/copy_if.hpp dcplusplus/trunk/boost/boost/mpl/count.hpp dcplusplus/trunk/boost/boost/mpl/count_fwd.hpp dcplusplus/trunk/boost/boost/mpl/count_if.hpp dcplusplus/trunk/boost/boost/mpl/deque.hpp dcplusplus/trunk/boost/boost/mpl/deref.hpp dcplusplus/trunk/boost/boost/mpl/distance.hpp dcplusplus/trunk/boost/boost/mpl/distance_fwd.hpp dcplusplus/trunk/boost/boost/mpl/divides.hpp dcplusplus/trunk/boost/boost/mpl/empty.hpp dcplusplus/trunk/boost/boost/mpl/empty_base.hpp dcplusplus/trunk/boost/boost/mpl/empty_fwd.hpp dcplusplus/trunk/boost/boost/mpl/empty_sequence.hpp dcplusplus/trunk/boost/boost/mpl/end.hpp dcplusplus/trunk/boost/boost/mpl/equal.hpp dcplusplus/trunk/boost/boost/mpl/equal_to.hpp dcplusplus/trunk/boost/boost/mpl/erase.hpp dcplusplus/trunk/boost/boost/mpl/erase_fwd.hpp dcplusplus/trunk/boost/boost/mpl/erase_key.hpp dcplusplus/trunk/boost/boost/mpl/erase_key_fwd.hpp dcplusplus/trunk/boost/boost/mpl/eval_if.hpp dcplusplus/trunk/boost/boost/mpl/filter_view.hpp dcplusplus/trunk/boost/boost/mpl/find.hpp dcplusplus/trunk/boost/boost/mpl/find_if.hpp dcplusplus/trunk/boost/boost/mpl/fold.hpp dcplusplus/trunk/boost/boost/mpl/for_each.hpp dcplusplus/trunk/boost/boost/mpl/front.hpp dcplusplus/trunk/boost/boost/mpl/front_fwd.hpp dcplusplus/trunk/boost/boost/mpl/front_inserter.hpp dcplusplus/trunk/boost/boost/mpl/greater.hpp dcplusplus/trunk/boost/boost/mpl/greater_equal.hpp dcplusplus/trunk/boost/boost/mpl/has_key.hpp dcplusplus/trunk/boost/boost/mpl/has_key_fwd.hpp dcplusplus/trunk/boost/boost/mpl/has_xxx.hpp dcplusplus/trunk/boost/boost/mpl/identity.hpp dcplusplus/trunk/boost/boost/mpl/if.hpp dcplusplus/trunk/boost/boost/mpl/index_if.hpp dcplusplus/trunk/boost/boost/mpl/index_of.hpp dcplusplus/trunk/boost/boost/mpl/inherit.hpp dcplusplus/trunk/boost/boost/mpl/inherit_linearly.hpp dcplusplus/trunk/boost/boost/mpl/insert.hpp dcplusplus/trunk/boost/boost/mpl/insert_fwd.hpp dcplusplus/trunk/boost/boost/mpl/insert_range.hpp dcplusplus/trunk/boost/boost/mpl/insert_range_fwd.hpp dcplusplus/trunk/boost/boost/mpl/inserter.hpp dcplusplus/trunk/boost/boost/mpl/int.hpp dcplusplus/trunk/boost/boost/mpl/int_fwd.hpp dcplusplus/trunk/boost/boost/mpl/integral_c.hpp dcplusplus/trunk/boost/boost/mpl/integral_c_fwd.hpp dcplusplus/trunk/boost/boost/mpl/integral_c_tag.hpp dcplusplus/trunk/boost/boost/mpl/is_placeholder.hpp dcplusplus/trunk/boost/boost/mpl/is_sequence.hpp dcplusplus/trunk/boost/boost/mpl/iter_fold.hpp dcplusplus/trunk/boost/boost/mpl/iter_fold_if.hpp dcplusplus/trunk/boost/boost/mpl/iterator_category.hpp dcplusplus/trunk/boost/boost/mpl/iterator_range.hpp dcplusplus/trunk/boost/boost/mpl/iterator_tags.hpp dcplusplus/trunk/boost/boost/mpl/joint_view.hpp dcplusplus/trunk/boost/boost/mpl/key_type.hpp dcplusplus/trunk/boost/boost/mpl/key_type_fwd.hpp dcplusplus/trunk/boost/boost/mpl/lambda.hpp dcplusplus/trunk/boost/boost/mpl/lambda_fwd.hpp dcplusplus/trunk/boost/boost/mpl/less.hpp dcplusplus/trunk/boost/boost/mpl/less_equal.hpp dcplusplus/trunk/boost/boost/mpl/limits/ dcplusplus/trunk/boost/boost/mpl/limits/arity.hpp dcplusplus/trunk/boost/boost/mpl/limits/list.hpp dcplusplus/trunk/boost/boost/mpl/limits/map.hpp dcplusplus/trunk/boost/boost/mpl/limits/set.hpp dcplusplus/trunk/boost/boost/mpl/limits/unrolling.hpp dcplusplus/trunk/boost/boost/mpl/limits/vector.hpp dcplusplus/trunk/boost/boost/mpl/list/ dcplusplus/trunk/boost/boost/mpl/list/aux_/ dcplusplus/trunk/boost/boost/mpl/list/aux_/O1_size.hpp dcplusplus/trunk/boost/boost/mpl/list/aux_/begin_end.hpp dcplusplus/trunk/boost/boost/mpl/list/aux_/clear.hpp dcplusplus/trunk/boost/boost/mpl/list/aux_/empty.hpp dcplusplus/trunk/boost/boost/mpl/list/aux_/front.hpp dcplusplus/trunk/boost/boost/mpl/list/aux_/include_preprocessed.hpp dcplusplus/trunk/boost/boost/mpl/list/aux_/item.hpp dcplusplus/trunk/boost/boost/mpl/list/aux_/iterator.hpp dcplusplus/trunk/boost/boost/mpl/list/aux_/numbered.hpp dcplusplus/trunk/boost/boost/mpl/list/aux_/numbered_c.hpp dcplusplus/trunk/boost/boost/mpl/list/aux_/pop_front.hpp dcplusplus/trunk/boost/boost/mpl/list/aux_/preprocessed/ dcplusplus/trunk/boost/boost/mpl/list/aux_/preprocessed/plain/ dcplusplus/trunk/boost/boost/mpl/list/aux_/preprocessed/plain/list10.hpp dcplusplus/trunk/boost/boost/mpl/list/aux_/preprocessed/plain/list10_c.hpp dcplusplus/trunk/boost/boost/mpl/list/aux_/preprocessed/plain/list20.hpp dcplusplus/trunk/boost/boost/mpl/list/aux_/preprocessed/plain/list20_c.hpp dcplusplus/trunk/boost/boost/mpl/list/aux_/preprocessed/plain/list30.hpp dcplusplus/trunk/boost/boost/mpl/list/aux_/preprocessed/plain/list30_c.hpp dcplusplus/trunk/boost/boost/mpl/list/aux_/preprocessed/plain/list40.hpp dcplusplus/trunk/boost/boost/mpl/list/aux_/preprocessed/plain/list40_c.hpp dcplusplus/trunk/boost/boost/mpl/list/aux_/preprocessed/plain/list50.hpp dcplusplus/trunk/boost/boost/mpl/list/aux_/preprocessed/plain/list50_c.hpp dcplusplus/trunk/boost/boost/mpl/list/aux_/push_back.hpp dcplusplus/trunk/boost/boost/mpl/list/aux_/push_front.hpp dcplusplus/trunk/boost/boost/mpl/list/aux_/size.hpp dcplusplus/trunk/boost/boost/mpl/list/aux_/tag.hpp dcplusplus/trunk/boost/boost/mpl/list/list0.hpp dcplusplus/trunk/boost/boost/mpl/list/list0_c.hpp dcplusplus/trunk/boost/boost/mpl/list/list10.hpp dcplusplus/trunk/boost/boost/mpl/list/list10_c.hpp dcplusplus/trunk/boost/boost/mpl/list/list20.hpp dcplusplus/trunk/boost/boost/mpl/list/list20_c.hpp dcplusplus/trunk/boost/boost/mpl/list/list30.hpp dcplusplus/trunk/boost/boost/mpl/list/list30_c.hpp dcplusplus/trunk/boost/boost/mpl/list/list40.hpp dcplusplus/trunk/boost/boost/mpl/list/list40_c.hpp dcplusplus/trunk/boost/boost/mpl/list/list50.hpp dcplusplus/trunk/boost/boost/mpl/list/list50_c.hpp dcplusplus/trunk/boost/boost/mpl/list.hpp dcplusplus/trunk/boost/boost/mpl/list_c.hpp dcplusplus/trunk/boost/boost/mpl/logical.hpp dcplusplus/trunk/boost/boost/mpl/long.hpp dcplusplus/trunk/boost/boost/mpl/long_fwd.hpp dcplusplus/trunk/boost/boost/mpl/lower_bound.hpp dcplusplus/trunk/boost/boost/mpl/map/ dcplusplus/trunk/boost/boost/mpl/map/aux_/ dcplusplus/trunk/boost/boost/mpl/map/aux_/at_impl.hpp dcplusplus/trunk/boost/boost/mpl/map/aux_/begin_end_impl.hpp dcplusplus/trunk/boost/boost/mpl/map/aux_/clear_impl.hpp dcplusplus/trunk/boost/boost/mpl/map/aux_/contains_impl.hpp dcplusplus/trunk/boost/boost/mpl/map/aux_/empty_impl.hpp dcplusplus/trunk/boost/boost/mpl/map/aux_/erase_impl.hpp dcplusplus/trunk/boost/boost/mpl/map/aux_/erase_key_impl.hpp dcplusplus/trunk/boost/boost/mpl/map/aux_/has_key_impl.hpp dcplusplus/trunk/boost/boost/mpl/map/aux_/include_preprocessed.hpp dcplusplus/trunk/boost/boost/mpl/map/aux_/insert_impl.hpp dcplusplus/trunk/boost/boost/mpl/map/aux_/item.hpp dcplusplus/trunk/boost/boost/mpl/map/aux_/iterator.hpp dcplusplus/trunk/boost/boost/mpl/map/aux_/key_type_impl.hpp dcplusplus/trunk/boost/boost/mpl/map/aux_/map0.hpp dcplusplus/trunk/boost/boost/mpl/map/aux_/numbered.hpp dcplusplus/trunk/boost/boost/mpl/map/aux_/preprocessed/ dcplusplus/trunk/boost/boost/mpl/map/aux_/preprocessed/no_ctps/ dcplusplus/trunk/boost/boost/mpl/map/aux_/preprocessed/no_ctps/map10.hpp dcplusplus/trunk/boost/boost/mpl/map/aux_/preprocessed/no_ctps/map20.hpp dcplusplus/trunk/boost/boost/mpl/map/aux_/preprocessed/no_ctps/map30.hpp dcplusplus/trunk/boost/boost/mpl/map/aux_/preprocessed/no_ctps/map40.hpp dcplusplus/trunk/boost/boost/mpl/map/aux_/preprocessed/no_ctps/map50.hpp dcplusplus/trunk/boost/boost/mpl/map/aux_/preprocessed/plain/ dcplusplus/trunk/boost/boost/mpl/map/aux_/preprocessed/plain/map10.hpp dcplusplus/trunk/boost/boost/mpl/map/aux_/preprocessed/plain/map20.hpp dcplusplus/trunk/boost/boost/mpl/map/aux_/preprocessed/plain/map30.hpp dcplusplus/trunk/boost/boost/mpl/map/aux_/preprocessed/plain/map40.hpp dcplusplus/trunk/boost/boost/mpl/map/aux_/preprocessed/plain/map50.hpp dcplusplus/trunk/boost/boost/mpl/map/aux_/preprocessed/typeof_based/ dcplusplus/trunk/boost/boost/mpl/map/aux_/preprocessed/typeof_based/map10.hpp dcplusplus/trunk/boost/boost/mpl/map/aux_/preprocessed/typeof_based/map20.hpp dcplusplus/trunk/boost/boost/mpl/map/aux_/preprocessed/typeof_based/map30.hpp dcplusplus/trunk/boost/boost/mpl/map/aux_/preprocessed/typeof_based/map40.hpp dcplusplus/trunk/boost/boost/mpl/map/aux_/preprocessed/typeof_based/map50.hpp dcplusplus/trunk/boost/boost/mpl/map/aux_/size_impl.hpp dcplusplus/trunk/boost/boost/mpl/map/aux_/tag.hpp dcplusplus/trunk/boost/boost/mpl/map/aux_/value_type_impl.hpp dcplusplus/trunk/boost/boost/mpl/map/map0.hpp dcplusplus/trunk/boost/boost/mpl/map/map10.hpp dcplusplus/trunk/boost/boost/mpl/map/map20.hpp dcplusplus/trunk/boost/boost/mpl/map/map30.hpp dcplusplus/trunk/boost/boost/mpl/map/map40.hpp dcplusplus/trunk/boost/boost/mpl/map/map50.hpp dcplusplus/trunk/boost/boost/mpl/map.hpp dcplusplus/trunk/boost/boost/mpl/math/ dcplusplus/trunk/boost/boost/mpl/math/fixed_c.hpp dcplusplus/trunk/boost/boost/mpl/math/is_even.hpp dcplusplus/trunk/boost/boost/mpl/math/rational_c.hpp dcplusplus/trunk/boost/boost/mpl/max.hpp dcplusplus/trunk/boost/boost/mpl/max_element.hpp dcplusplus/trunk/boost/boost/mpl/min.hpp dcplusplus/trunk/boost/boost/mpl/min_element.hpp dcplusplus/trunk/boost/boost/mpl/min_max.hpp dcplusplus/trunk/boost/boost/mpl/minus.hpp dcplusplus/trunk/boost/boost/mpl/modulus.hpp dcplusplus/trunk/boost/boost/mpl/multiplies.hpp dcplusplus/trunk/boost/boost/mpl/multiset/ dcplusplus/trunk/boost/boost/mpl/multiset/aux_/ dcplusplus/trunk/boost/boost/mpl/multiset/aux_/count_impl.hpp dcplusplus/trunk/boost/boost/mpl/multiset/aux_/insert_impl.hpp dcplusplus/trunk/boost/boost/mpl/multiset/aux_/item.hpp dcplusplus/trunk/boost/boost/mpl/multiset/aux_/multiset0.hpp dcplusplus/trunk/boost/boost/mpl/multiset/aux_/tag.hpp dcplusplus/trunk/boost/boost/mpl/multiset/multiset0.hpp dcplusplus/trunk/boost/boost/mpl/negate.hpp dcplusplus/trunk/boost/boost/mpl/next.hpp dcplusplus/trunk/boost/boost/mpl/next_prior.hpp dcplusplus/trunk/boost/boost/mpl/not.hpp dcplusplus/trunk/boost/boost/mpl/not_equal_to.hpp dcplusplus/trunk/boost/boost/mpl/numeric_cast.hpp dcplusplus/trunk/boost/boost/mpl/or.hpp dcplusplus/trunk/boost/boost/mpl/order.hpp dcplusplus/trunk/boost/boost/mpl/order_fwd.hpp dcplusplus/trunk/boost/boost/mpl/pair.hpp dcplusplus/trunk/boost/boost/mpl/pair_view.hpp dcplusplus/trunk/boost/boost/mpl/partition.hpp dcplusplus/trunk/boost/boost/mpl/placeholders.hpp dcplusplus/trunk/boost/boost/mpl/plus.hpp dcplusplus/trunk/boost/boost/mpl/pop_back.hpp dcplusplus/trunk/boost/boost/mpl/pop_back_fwd.hpp dcplusplus/trunk/boost/boost/mpl/pop_front.hpp dcplusplus/trunk/boost/boost/mpl/pop_front_fwd.hpp dcplusplus/trunk/boost/boost/mpl/print.hpp dcplusplus/trunk/boost/boost/mpl/prior.hpp dcplusplus/trunk/boost/boost/mpl/protect.hpp dcplusplus/trunk/boost/boost/mpl/push_back.hpp dcplusplus/trunk/boost/boost/mpl/push_back_fwd.hpp dcplusplus/trunk/boost/boost/mpl/push_front.hpp dcplusplus/trunk/boost/boost/mpl/push_front_fwd.hpp dcplusplus/trunk/boost/boost/mpl/quote.hpp dcplusplus/trunk/boost/boost/mpl/range_c.hpp dcplusplus/trunk/boost/boost/mpl/remove.hpp dcplusplus/trunk/boost/boost/mpl/remove_if.hpp dcplusplus/trunk/boost/boost/mpl/replace.hpp dcplusplus/trunk/boost/boost/mpl/replace_if.hpp dcplusplus/trunk/boost/boost/mpl/reverse.hpp dcplusplus/trunk/boost/boost/mpl/reverse_fold.hpp dcplusplus/trunk/boost/boost/mpl/reverse_iter_fold.hpp dcplusplus/trunk/boost/boost/mpl/same_as.hpp dcplusplus/trunk/boost/boost/mpl/sequence_tag.hpp dcplusplus/trunk/boost/boost/mpl/sequence_tag_fwd.hpp dcplusplus/trunk/boost/boost/mpl/set/ dcplusplus/trunk/boost/boost/mpl/set/aux_/ dcplusplus/trunk/boost/boost/mpl/set/aux_/at_impl.hpp dcplusplus/trunk/boost/boost/mpl/set/aux_/begin_end_impl.hpp dcplusplus/trunk/boost/boost/mpl/set/aux_/clear_impl.hpp dcplusplus/trunk/boost/boost/mpl/set/aux_/empty_impl.hpp dcplusplus/trunk/boost/boost/mpl/set/aux_/erase_impl.hpp dcplusplus/trunk/boost/boost/mpl/set/aux_/erase_key_impl.hpp dcplusplus/trunk/boost/boost/mpl/set/aux_/has_key_impl.hpp dcplusplus/trunk/boost/boost/mpl/set/aux_/include_preprocessed.hpp dcplusplus/trunk/boost/boost/mpl/set/aux_/insert_impl.hpp dcplusplus/trunk/boost/boost/mpl/set/aux_/item.hpp dcplusplus/trunk/boost/boost/mpl/set/aux_/iterator.hpp dcplusplus/trunk/boost/boost/mpl/set/aux_/key_type_impl.hpp dcplusplus/trunk/boost/boost/mpl/set/aux_/numbered.hpp dcplusplus/trunk/boost/boost/mpl/set/aux_/numbered_c.hpp dcplusplus/trunk/boost/boost/mpl/set/aux_/preprocessed/ dcplusplus/trunk/boost/boost/mpl/set/aux_/preprocessed/plain/ dcplusplus/trunk/boost/boost/mpl/set/aux_/preprocessed/plain/set10.hpp dcplusplus/trunk/boost/boost/mpl/set/aux_/preprocessed/plain/set10_c.hpp dcplusplus/trunk/boost/boost/mpl/set/aux_/preprocessed/plain/set20.hpp dcplusplus/trunk/boost/boost/mpl/set/aux_/preprocessed/plain/set20_c.hpp dcplusplus/trunk/boost/boost/mpl/set/aux_/preprocessed/plain/set30.hpp dcplusplus/trunk/boost/boost/mpl/set/aux_/prepro... [truncated message content] |
From: <arn...@us...> - 2008-03-26 13:42:20
|
Revision: 1057 http://dcplusplus.svn.sourceforge.net/dcplusplus/?rev=1057&view=rev Author: arnetheduck Date: 2008-03-26 06:42:18 -0700 (Wed, 26 Mar 2008) Log Message: ----------- upgrade bzip2 Modified Paths: -------------- dcplusplus/trunk/bzip2/LICENSE dcplusplus/trunk/bzip2/blocksort.c dcplusplus/trunk/bzip2/bzlib.c dcplusplus/trunk/bzip2/bzlib.h dcplusplus/trunk/bzip2/bzlib_private.h dcplusplus/trunk/bzip2/compress.c dcplusplus/trunk/bzip2/crctable.c dcplusplus/trunk/bzip2/decompress.c dcplusplus/trunk/bzip2/huffman.c dcplusplus/trunk/bzip2/randtable.c Removed Paths: ------------- dcplusplus/trunk/bzip2/bzip2.c Property Changed: ---------------- dcplusplus/trunk/ Property changes on: dcplusplus/trunk ___________________________________________________________________ Name: bzr:revision-info - timestamp: 2008-03-24 15:19:33.282999992 +0100 committer: zouzou123gen properties: branch-nick: bzr + timestamp: 2008-03-24 16:37:06.799999952 +0100 committer: Jacek Sieka <arn...@gm...> properties: branch-nick: dcplusplus Name: bzr:revision-id:v3-trunk1 - 1027 arn...@gm...-20080323183926-schknwnkgeo7ivdn 1028 zouzou123gen-20080323220411-r8usuc3qxwuh7zsn 1029 zouzou123gen-20080323221249-0su72zaj13e706mk 1030 arn...@gm...-20080324140623-muba1dl46m000o8c 1031 zouzou123gen-20080324141933-qbgr93ugpe0297m6 + 1027 arn...@gm...-20080323183926-schknwnkgeo7ivdn 1028 zouzou123gen-20080323220411-r8usuc3qxwuh7zsn 1029 zouzou123gen-20080323221249-0su72zaj13e706mk 1030 arn...@gm...-20080324140623-muba1dl46m000o8c 1031 zouzou123gen-20080324141933-qbgr93ugpe0297m6 1032 arn...@gm...-20080324153706-siidja05n84i00b1 Modified: dcplusplus/trunk/bzip2/LICENSE =================================================================== --- dcplusplus/trunk/bzip2/LICENSE 2008-03-26 13:41:27 UTC (rev 1056) +++ dcplusplus/trunk/bzip2/LICENSE 2008-03-26 13:42:18 UTC (rev 1057) @@ -2,7 +2,7 @@ -------------------------------------------------------------------------- This program, "bzip2", the associated library "libbzip2", and all -documentation, are copyright (C) 1996-2006 Julian R Seward. All +documentation, are copyright (C) 1996-2007 Julian R Seward. All rights reserved. Redistribution and use in source and binary forms, with or without @@ -36,8 +36,7 @@ NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -Julian Seward, Cambridge, UK. -js...@bz... -bzip2/libbzip2 version 1.0.4 of 20 December 2006 +Julian Seward, js...@bz... +bzip2/libbzip2 version 1.0.5 of 10 December 2007 -------------------------------------------------------------------------- Modified: dcplusplus/trunk/bzip2/blocksort.c =================================================================== --- dcplusplus/trunk/bzip2/blocksort.c 2008-03-26 13:41:27 UTC (rev 1056) +++ dcplusplus/trunk/bzip2/blocksort.c 2008-03-26 13:42:18 UTC (rev 1057) @@ -8,8 +8,8 @@ This file is part of bzip2/libbzip2, a program and library for lossless, block-sorting data compression. - bzip2/libbzip2 version 1.0.4 of 20 December 2006 - Copyright (C) 1996-2006 Julian Seward <js...@bz...> + bzip2/libbzip2 version 1.0.5 of 10 December 2007 + Copyright (C) 1996-2007 Julian Seward <js...@bz...> Please read the WARNING, DISCLAIMER and PATENTS sections in the README file. Deleted: dcplusplus/trunk/bzip2/bzip2.c =================================================================== --- dcplusplus/trunk/bzip2/bzip2.c 2008-03-26 13:41:27 UTC (rev 1056) +++ dcplusplus/trunk/bzip2/bzip2.c 2008-03-26 13:42:18 UTC (rev 1057) @@ -1,2035 +0,0 @@ -#if 0 -/*-----------------------------------------------------------*/ -/*--- A block-sorting, lossless compressor bzip2.c ---*/ -/*-----------------------------------------------------------*/ - -/* ------------------------------------------------------------------ - This file is part of bzip2/libbzip2, a program and library for - lossless, block-sorting data compression. - - bzip2/libbzip2 version 1.0.4 of 20 December 2006 - Copyright (C) 1996-2006 Julian Seward <js...@bz...> - - Please read the WARNING, DISCLAIMER and PATENTS sections in the - README file. - - This program is released under the terms of the license contained - in the file LICENSE. - ------------------------------------------------------------------ */ - - -/* Place a 1 beside your platform, and 0 elsewhere. - Generic 32-bit Unix. - Also works on 64-bit Unix boxes. - This is the default. -*/ -#define BZ_UNIX 1 - -/*-- - Win32, as seen by Jacob Navia's excellent - port of (Chris Fraser & David Hanson)'s excellent - lcc compiler. Or with MS Visual C. - This is selected automatically if compiled by a compiler which - defines _WIN32, not including the Cygwin GCC. ---*/ -#define BZ_LCCWIN32 0 - -#if defined(_WIN32) && !defined(__CYGWIN__) -#undef BZ_LCCWIN32 -#define BZ_LCCWIN32 1 -#undef BZ_UNIX -#define BZ_UNIX 0 -#endif - - -/*---------------------------------------------*/ -/*-- - Some stuff for all platforms. ---*/ - -#include <stdio.h> -#include <stdlib.h> -#include <string.h> -#include <signal.h> -#include <math.h> -#include <errno.h> -#include <ctype.h> -#include "bzlib.h" - -#define ERROR_IF_EOF(i) { if ((i) == EOF) ioError(); } -#define ERROR_IF_NOT_ZERO(i) { if ((i) != 0) ioError(); } -#define ERROR_IF_MINUS_ONE(i) { if ((i) == (-1)) ioError(); } - - -/*---------------------------------------------*/ -/*-- - Platform-specific stuff. ---*/ - -#if BZ_UNIX -# include <fcntl.h> -# include <sys/types.h> -# include <utime.h> -# include <unistd.h> -# include <sys/stat.h> -# include <sys/times.h> - -# define PATH_SEP '/' -# define MY_LSTAT lstat -# define MY_STAT stat -# define MY_S_ISREG S_ISREG -# define MY_S_ISDIR S_ISDIR - -# define APPEND_FILESPEC(root, name) \ - root=snocString((root), (name)) - -# define APPEND_FLAG(root, name) \ - root=snocString((root), (name)) - -# define SET_BINARY_MODE(fd) /**/ - -# ifdef __GNUC__ -# define NORETURN __attribute__ ((noreturn)) -# else -# define NORETURN /**/ -# endif - -# ifdef __DJGPP__ -# include <io.h> -# include <fcntl.h> -# undef MY_LSTAT -# undef MY_STAT -# define MY_LSTAT stat -# define MY_STAT stat -# undef SET_BINARY_MODE -# define SET_BINARY_MODE(fd) \ - do { \ - int retVal = setmode ( fileno ( fd ), \ - O_BINARY ); \ - ERROR_IF_MINUS_ONE ( retVal ); \ - } while ( 0 ) -# endif - -# ifdef __CYGWIN__ -# include <io.h> -# include <fcntl.h> -# undef SET_BINARY_MODE -# define SET_BINARY_MODE(fd) \ - do { \ - int retVal = setmode ( fileno ( fd ), \ - O_BINARY ); \ - ERROR_IF_MINUS_ONE ( retVal ); \ - } while ( 0 ) -# endif -#endif /* BZ_UNIX */ - - - -#if BZ_LCCWIN32 -# include <io.h> -# include <fcntl.h> -# include <sys\stat.h> - -# define NORETURN /**/ -# define PATH_SEP '\\' -# define MY_LSTAT _stat -# define MY_STAT _stat -# define MY_S_ISREG(x) ((x) & _S_IFREG) -# define MY_S_ISDIR(x) ((x) & _S_IFDIR) - -# define APPEND_FLAG(root, name) \ - root=snocString((root), (name)) - -# define APPEND_FILESPEC(root, name) \ - root = snocString ((root), (name)) - -# define SET_BINARY_MODE(fd) \ - do { \ - int retVal = setmode ( fileno ( fd ), \ - O_BINARY ); \ - ERROR_IF_MINUS_ONE ( retVal ); \ - } while ( 0 ) - -#endif /* BZ_LCCWIN32 */ - - -/*---------------------------------------------*/ -/*-- - Some more stuff for all platforms :-) ---*/ - -typedef char Char; -typedef unsigned char Bool; -typedef unsigned char UChar; -typedef int Int32; -typedef unsigned int UInt32; -typedef short Int16; -typedef unsigned short UInt16; - -#define True ((Bool)1) -#define False ((Bool)0) - -/*-- - IntNative is your platform's `native' int size. - Only here to avoid probs with 64-bit platforms. ---*/ -typedef int IntNative; - - -/*---------------------------------------------------*/ -/*--- Misc (file handling) data decls ---*/ -/*---------------------------------------------------*/ - -Int32 verbosity; -Bool keepInputFiles, smallMode, deleteOutputOnInterrupt; -Bool forceOverwrite, testFailsExist, unzFailsExist, noisy; -Int32 numFileNames, numFilesProcessed, blockSize100k; -Int32 exitValue; - -/*-- source modes; F==file, I==stdin, O==stdout --*/ -#define SM_I2O 1 -#define SM_F2O 2 -#define SM_F2F 3 - -/*-- operation modes --*/ -#define OM_Z 1 -#define OM_UNZ 2 -#define OM_TEST 3 - -Int32 opMode; -Int32 srcMode; - -#define FILE_NAME_LEN 1034 - -Int32 longestFileName; -Char inName [FILE_NAME_LEN]; -Char outName[FILE_NAME_LEN]; -Char tmpName[FILE_NAME_LEN]; -Char *progName; -Char progNameReally[FILE_NAME_LEN]; -FILE *outputHandleJustInCase; -Int32 workFactor; - -static void panic ( const Char* ) NORETURN; -static void ioError ( void ) NORETURN; -static void outOfMemory ( void ) NORETURN; -static void configError ( void ) NORETURN; -static void crcError ( void ) NORETURN; -static void cleanUpAndFail ( Int32 ) NORETURN; -static void compressedStreamEOF ( void ) NORETURN; - -static void copyFileName ( Char*, Char* ); -static void* myMalloc ( Int32 ); -static void applySavedFileAttrToOutputFile ( IntNative fd ); - - - -/*---------------------------------------------------*/ -/*--- An implementation of 64-bit ints. Sigh. ---*/ -/*--- Roll on widespread deployment of ANSI C9X ! ---*/ -/*---------------------------------------------------*/ - -typedef - struct { UChar b[8]; } - UInt64; - - -static -void uInt64_from_UInt32s ( UInt64* n, UInt32 lo32, UInt32 hi32 ) -{ - n->b[7] = (UChar)((hi32 >> 24) & 0xFF); - n->b[6] = (UChar)((hi32 >> 16) & 0xFF); - n->b[5] = (UChar)((hi32 >> 8) & 0xFF); - n->b[4] = (UChar) (hi32 & 0xFF); - n->b[3] = (UChar)((lo32 >> 24) & 0xFF); - n->b[2] = (UChar)((lo32 >> 16) & 0xFF); - n->b[1] = (UChar)((lo32 >> 8) & 0xFF); - n->b[0] = (UChar) (lo32 & 0xFF); -} - - -static -double uInt64_to_double ( UInt64* n ) -{ - Int32 i; - double base = 1.0; - double sum = 0.0; - for (i = 0; i < 8; i++) { - sum += base * (double)(n->b[i]); - base *= 256.0; - } - return sum; -} - - -static -Bool uInt64_isZero ( UInt64* n ) -{ - Int32 i; - for (i = 0; i < 8; i++) - if (n->b[i] != 0) return 0; - return 1; -} - - -/* Divide *n by 10, and return the remainder. */ -static -Int32 uInt64_qrm10 ( UInt64* n ) -{ - UInt32 rem, tmp; - Int32 i; - rem = 0; - for (i = 7; i >= 0; i--) { - tmp = rem * 256 + n->b[i]; - n->b[i] = tmp / 10; - rem = tmp % 10; - } - return rem; -} - - -/* ... and the Whole Entire Point of all this UInt64 stuff is - so that we can supply the following function. -*/ -static -void uInt64_toAscii ( char* outbuf, UInt64* n ) -{ - Int32 i, q; - UChar buf[32]; - Int32 nBuf = 0; - UInt64 n_copy = *n; - do { - q = uInt64_qrm10 ( &n_copy ); - buf[nBuf] = q + '0'; - nBuf++; - } while (!uInt64_isZero(&n_copy)); - outbuf[nBuf] = 0; - for (i = 0; i < nBuf; i++) - outbuf[i] = buf[nBuf-i-1]; -} - - -/*---------------------------------------------------*/ -/*--- Processing of complete files and streams ---*/ -/*---------------------------------------------------*/ - -/*---------------------------------------------*/ -static -Bool myfeof ( FILE* f ) -{ - Int32 c = fgetc ( f ); - if (c == EOF) return True; - ungetc ( c, f ); - return False; -} - - -/*---------------------------------------------*/ -static -void compressStream ( FILE *stream, FILE *zStream ) -{ - BZFILE* bzf = NULL; - UChar ibuf[5000]; - Int32 nIbuf; - UInt32 nbytes_in_lo32, nbytes_in_hi32; - UInt32 nbytes_out_lo32, nbytes_out_hi32; - Int32 bzerr, bzerr_dummy, ret; - - SET_BINARY_MODE(stream); - SET_BINARY_MODE(zStream); - - if (ferror(stream)) goto errhandler_io; - if (ferror(zStream)) goto errhandler_io; - - bzf = BZ2_bzWriteOpen ( &bzerr, zStream, - blockSize100k, verbosity, workFactor ); - if (bzerr != BZ_OK) goto errhandler; - - if (verbosity >= 2) fprintf ( stderr, "\n" ); - - while (True) { - - if (myfeof(stream)) break; - nIbuf = fread ( ibuf, sizeof(UChar), 5000, stream ); - if (ferror(stream)) goto errhandler_io; - if (nIbuf > 0) BZ2_bzWrite ( &bzerr, bzf, (void*)ibuf, nIbuf ); - if (bzerr != BZ_OK) goto errhandler; - - } - - BZ2_bzWriteClose64 ( &bzerr, bzf, 0, - &nbytes_in_lo32, &nbytes_in_hi32, - &nbytes_out_lo32, &nbytes_out_hi32 ); - if (bzerr != BZ_OK) goto errhandler; - - if (ferror(zStream)) goto errhandler_io; - ret = fflush ( zStream ); - if (ret == EOF) goto errhandler_io; - if (zStream != stdout) { - Int32 fd = fileno ( zStream ); - if (fd < 0) goto errhandler_io; - applySavedFileAttrToOutputFile ( fd ); - ret = fclose ( zStream ); - outputHandleJustInCase = NULL; - if (ret == EOF) goto errhandler_io; - } - outputHandleJustInCase = NULL; - if (ferror(stream)) goto errhandler_io; - ret = fclose ( stream ); - if (ret == EOF) goto errhandler_io; - - if (verbosity >= 1) { - if (nbytes_in_lo32 == 0 && nbytes_in_hi32 == 0) { - fprintf ( stderr, " no data compressed.\n"); - } else { - Char buf_nin[32], buf_nout[32]; - UInt64 nbytes_in, nbytes_out; - double nbytes_in_d, nbytes_out_d; - uInt64_from_UInt32s ( &nbytes_in, - nbytes_in_lo32, nbytes_in_hi32 ); - uInt64_from_UInt32s ( &nbytes_out, - nbytes_out_lo32, nbytes_out_hi32 ); - nbytes_in_d = uInt64_to_double ( &nbytes_in ); - nbytes_out_d = uInt64_to_double ( &nbytes_out ); - uInt64_toAscii ( buf_nin, &nbytes_in ); - uInt64_toAscii ( buf_nout, &nbytes_out ); - fprintf ( stderr, "%6.3f:1, %6.3f bits/byte, " - "%5.2f%% saved, %s in, %s out.\n", - nbytes_in_d / nbytes_out_d, - (8.0 * nbytes_out_d) / nbytes_in_d, - 100.0 * (1.0 - nbytes_out_d / nbytes_in_d), - buf_nin, - buf_nout - ); - } - } - - return; - - errhandler: - BZ2_bzWriteClose64 ( &bzerr_dummy, bzf, 1, - &nbytes_in_lo32, &nbytes_in_hi32, - &nbytes_out_lo32, &nbytes_out_hi32 ); - switch (bzerr) { - case BZ_CONFIG_ERROR: - configError(); break; - case BZ_MEM_ERROR: - outOfMemory (); break; - case BZ_IO_ERROR: - errhandler_io: - ioError(); break; - default: - panic ( "compress:unexpected error" ); - } - - panic ( "compress:end" ); - /*notreached*/ -} - - - -/*---------------------------------------------*/ -static -Bool uncompressStream ( FILE *zStream, FILE *stream ) -{ - BZFILE* bzf = NULL; - Int32 bzerr, bzerr_dummy, ret, nread, streamNo, i; - UChar obuf[5000]; - UChar unused[BZ_MAX_UNUSED]; - Int32 nUnused; - void* unusedTmpV; - UChar* unusedTmp; - - nUnused = 0; - streamNo = 0; - - SET_BINARY_MODE(stream); - SET_BINARY_MODE(zStream); - - if (ferror(stream)) goto errhandler_io; - if (ferror(zStream)) goto errhandler_io; - - while (True) { - - bzf = BZ2_bzReadOpen ( - &bzerr, zStream, verbosity, - (int)smallMode, unused, nUnused - ); - if (bzf == NULL || bzerr != BZ_OK) goto errhandler; - streamNo++; - - while (bzerr == BZ_OK) { - nread = BZ2_bzRead ( &bzerr, bzf, obuf, 5000 ); - if (bzerr == BZ_DATA_ERROR_MAGIC) goto trycat; - if ((bzerr == BZ_OK || bzerr == BZ_STREAM_END) && nread > 0) - fwrite ( obuf, sizeof(UChar), nread, stream ); - if (ferror(stream)) goto errhandler_io; - } - if (bzerr != BZ_STREAM_END) goto errhandler; - - BZ2_bzReadGetUnused ( &bzerr, bzf, &unusedTmpV, &nUnused ); - if (bzerr != BZ_OK) panic ( "decompress:bzReadGetUnused" ); - - unusedTmp = (UChar*)unusedTmpV; - for (i = 0; i < nUnused; i++) unused[i] = unusedTmp[i]; - - BZ2_bzReadClose ( &bzerr, bzf ); - if (bzerr != BZ_OK) panic ( "decompress:bzReadGetUnused" ); - - if (nUnused == 0 && myfeof(zStream)) break; - } - - closeok: - if (ferror(zStream)) goto errhandler_io; - if (stream != stdout) { - Int32 fd = fileno ( stream ); - if (fd < 0) goto errhandler_io; - applySavedFileAttrToOutputFile ( fd ); - } - ret = fclose ( zStream ); - if (ret == EOF) goto errhandler_io; - - if (ferror(stream)) goto errhandler_io; - ret = fflush ( stream ); - if (ret != 0) goto errhandler_io; - if (stream != stdout) { - ret = fclose ( stream ); - outputHandleJustInCase = NULL; - if (ret == EOF) goto errhandler_io; - } - outputHandleJustInCase = NULL; - if (verbosity >= 2) fprintf ( stderr, "\n " ); - return True; - - trycat: - if (forceOverwrite) { - rewind(zStream); - while (True) { - if (myfeof(zStream)) break; - nread = fread ( obuf, sizeof(UChar), 5000, zStream ); - if (ferror(zStream)) goto errhandler_io; - if (nread > 0) fwrite ( obuf, sizeof(UChar), nread, stream ); - if (ferror(stream)) goto errhandler_io; - } - goto closeok; - } - - errhandler: - BZ2_bzReadClose ( &bzerr_dummy, bzf ); - switch (bzerr) { - case BZ_CONFIG_ERROR: - configError(); break; - case BZ_IO_ERROR: - errhandler_io: - ioError(); break; - case BZ_DATA_ERROR: - crcError(); - case BZ_MEM_ERROR: - outOfMemory(); - case BZ_UNEXPECTED_EOF: - compressedStreamEOF(); - case BZ_DATA_ERROR_MAGIC: - if (zStream != stdin) fclose(zStream); - if (stream != stdout) fclose(stream); - if (streamNo == 1) { - return False; - } else { - if (noisy) - fprintf ( stderr, - "\n%s: %s: trailing garbage after EOF ignored\n", - progName, inName ); - return True; - } - default: - panic ( "decompress:unexpected error" ); - } - - panic ( "decompress:end" ); - return True; /*notreached*/ -} - - -/*---------------------------------------------*/ -static -Bool testStream ( FILE *zStream ) -{ - BZFILE* bzf = NULL; - Int32 bzerr, bzerr_dummy, ret, nread, streamNo, i; - UChar obuf[5000]; - UChar unused[BZ_MAX_UNUSED]; - Int32 nUnused; - void* unusedTmpV; - UChar* unusedTmp; - - nUnused = 0; - streamNo = 0; - - SET_BINARY_MODE(zStream); - if (ferror(zStream)) goto errhandler_io; - - while (True) { - - bzf = BZ2_bzReadOpen ( - &bzerr, zStream, verbosity, - (int)smallMode, unused, nUnused - ); - if (bzf == NULL || bzerr != BZ_OK) goto errhandler; - streamNo++; - - while (bzerr == BZ_OK) { - nread = BZ2_bzRead ( &bzerr, bzf, obuf, 5000 ); - if (bzerr == BZ_DATA_ERROR_MAGIC) goto errhandler; - } - if (bzerr != BZ_STREAM_END) goto errhandler; - - BZ2_bzReadGetUnused ( &bzerr, bzf, &unusedTmpV, &nUnused ); - if (bzerr != BZ_OK) panic ( "test:bzReadGetUnused" ); - - unusedTmp = (UChar*)unusedTmpV; - for (i = 0; i < nUnused; i++) unused[i] = unusedTmp[i]; - - BZ2_bzReadClose ( &bzerr, bzf ); - if (bzerr != BZ_OK) panic ( "test:bzReadGetUnused" ); - if (nUnused == 0 && myfeof(zStream)) break; - - } - - if (ferror(zStream)) goto errhandler_io; - ret = fclose ( zStream ); - if (ret == EOF) goto errhandler_io; - - if (verbosity >= 2) fprintf ( stderr, "\n " ); - return True; - - errhandler: - BZ2_bzReadClose ( &bzerr_dummy, bzf ); - if (verbosity == 0) - fprintf ( stderr, "%s: %s: ", progName, inName ); - switch (bzerr) { - case BZ_CONFIG_ERROR: - configError(); break; - case BZ_IO_ERROR: - errhandler_io: - ioError(); break; - case BZ_DATA_ERROR: - fprintf ( stderr, - "data integrity (CRC) error in data\n" ); - return False; - case BZ_MEM_ERROR: - outOfMemory(); - case BZ_UNEXPECTED_EOF: - fprintf ( stderr, - "file ends unexpectedly\n" ); - return False; - case BZ_DATA_ERROR_MAGIC: - if (zStream != stdin) fclose(zStream); - if (streamNo == 1) { - fprintf ( stderr, - "bad magic number (file not created by bzip2)\n" ); - return False; - } else { - if (noisy) - fprintf ( stderr, - "trailing garbage after EOF ignored\n" ); - return True; - } - default: - panic ( "test:unexpected error" ); - } - - panic ( "test:end" ); - return True; /*notreached*/ -} - - -/*---------------------------------------------------*/ -/*--- Error [non-] handling grunge ---*/ -/*---------------------------------------------------*/ - -/*---------------------------------------------*/ -static -void setExit ( Int32 v ) -{ - if (v > exitValue) exitValue = v; -} - - -/*---------------------------------------------*/ -static -void cadvise ( void ) -{ - if (noisy) - fprintf ( - stderr, - "\nIt is possible that the compressed file(s) have become corrupted.\n" - "You can use the -tvv option to test integrity of such files.\n\n" - "You can use the `bzip2recover' program to attempt to recover\n" - "data from undamaged sections of corrupted files.\n\n" - ); -} - - -/*---------------------------------------------*/ -static -void showFileNames ( void ) -{ - if (noisy) - fprintf ( - stderr, - "\tInput file = %s, output file = %s\n", - inName, outName - ); -} - - -/*---------------------------------------------*/ -static -void cleanUpAndFail ( Int32 ec ) -{ - IntNative retVal; - struct MY_STAT statBuf; - - if ( srcMode == SM_F2F - && opMode != OM_TEST - && deleteOutputOnInterrupt ) { - - /* Check whether input file still exists. Delete output file - only if input exists to avoid loss of data. Joerg Prante, 5 - January 2002. (JRS 06-Jan-2002: other changes in 1.0.2 mean - this is less likely to happen. But to be ultra-paranoid, we - do the check anyway.) */ - retVal = MY_STAT ( inName, &statBuf ); - if (retVal == 0) { - if (noisy) - fprintf ( stderr, - "%s: Deleting output file %s, if it exists.\n", - progName, outName ); - if (outputHandleJustInCase != NULL) - fclose ( outputHandleJustInCase ); - retVal = remove ( outName ); - if (retVal != 0) - fprintf ( stderr, - "%s: WARNING: deletion of output file " - "(apparently) failed.\n", - progName ); - } else { - fprintf ( stderr, - "%s: WARNING: deletion of output file suppressed\n", - progName ); - fprintf ( stderr, - "%s: since input file no longer exists. Output file\n", - progName ); - fprintf ( stderr, - "%s: `%s' may be incomplete.\n", - progName, outName ); - fprintf ( stderr, - "%s: I suggest doing an integrity test (bzip2 -tv)" - " of it.\n", - progName ); - } - } - - if (noisy && numFileNames > 0 && numFilesProcessed < numFileNames) { - fprintf ( stderr, - "%s: WARNING: some files have not been processed:\n" - "%s: %d specified on command line, %d not processed yet.\n\n", - progName, progName, - numFileNames, numFileNames - numFilesProcessed ); - } - setExit(ec); - exit(exitValue); -} - - -/*---------------------------------------------*/ -static -void panic ( const Char* s ) -{ - fprintf ( stderr, - "\n%s: PANIC -- internal consistency error:\n" - "\t%s\n" - "\tThis is a BUG. Please report it to me at:\n" - "\tjs...@bz...\n", - progName, s ); - showFileNames(); - cleanUpAndFail( 3 ); -} - - -/*---------------------------------------------*/ -static -void crcError ( void ) -{ - fprintf ( stderr, - "\n%s: Data integrity error when decompressing.\n", - progName ); - showFileNames(); - cadvise(); - cleanUpAndFail( 2 ); -} - - -/*---------------------------------------------*/ -static -void compressedStreamEOF ( void ) -{ - if (noisy) { - fprintf ( stderr, - "\n%s: Compressed file ends unexpectedly;\n\t" - "perhaps it is corrupted? *Possible* reason follows.\n", - progName ); - perror ( progName ); - showFileNames(); - cadvise(); - } - cleanUpAndFail( 2 ); -} - - -/*---------------------------------------------*/ -static -void ioError ( void ) -{ - fprintf ( stderr, - "\n%s: I/O or other error, bailing out. " - "Possible reason follows.\n", - progName ); - perror ( progName ); - showFileNames(); - cleanUpAndFail( 1 ); -} - - -/*---------------------------------------------*/ -static -void mySignalCatcher ( IntNative n ) -{ - fprintf ( stderr, - "\n%s: Control-C or similar caught, quitting.\n", - progName ); - cleanUpAndFail(1); -} - - -/*---------------------------------------------*/ -static -void mySIGSEGVorSIGBUScatcher ( IntNative n ) -{ - if (opMode == OM_Z) - fprintf ( - stderr, - "\n%s: Caught a SIGSEGV or SIGBUS whilst compressing.\n" - "\n" - " Possible causes are (most likely first):\n" - " (1) This computer has unreliable memory or cache hardware\n" - " (a surprisingly common problem; try a different machine.)\n" - " (2) A bug in the compiler used to create this executable\n" - " (unlikely, if you didn't compile bzip2 yourself.)\n" - " (3) A real bug in bzip2 -- I hope this should never be the case.\n" - " The user's manual, Section 4.3, has more info on (1) and (2).\n" - " \n" - " If you suspect this is a bug in bzip2, or are unsure about (1)\n" - " or (2), feel free to report it to me at: js...@bz....\n" - " Section 4.3 of the user's manual describes the info a useful\n" - " bug report should have. If the manual is available on your\n" - " system, please try and read it before mailing me. If you don't\n" - " have the manual or can't be bothered to read it, mail me anyway.\n" - "\n", - progName ); - else - fprintf ( - stderr, - "\n%s: Caught a SIGSEGV or SIGBUS whilst decompressing.\n" - "\n" - " Possible causes are (most likely first):\n" - " (1) The compressed data is corrupted, and bzip2's usual checks\n" - " failed to detect this. Try bzip2 -tvv my_file.bz2.\n" - " (2) This computer has unreliable memory or cache hardware\n" - " (a surprisingly common problem; try a different machine.)\n" - " (3) A bug in the compiler used to create this executable\n" - " (unlikely, if you didn't compile bzip2 yourself.)\n" - " (4) A real bug in bzip2 -- I hope this should never be the case.\n" - " The user's manual, Section 4.3, has more info on (2) and (3).\n" - " \n" - " If you suspect this is a bug in bzip2, or are unsure about (2)\n" - " or (3), feel free to report it to me at: js...@bz....\n" - " Section 4.3 of the user's manual describes the info a useful\n" - " bug report should have. If the manual is available on your\n" - " system, please try and read it before mailing me. If you don't\n" - " have the manual or can't be bothered to read it, mail me anyway.\n" - "\n", - progName ); - - showFileNames(); - if (opMode == OM_Z) - cleanUpAndFail( 3 ); else - { cadvise(); cleanUpAndFail( 2 ); } -} - - -/*---------------------------------------------*/ -static -void outOfMemory ( void ) -{ - fprintf ( stderr, - "\n%s: couldn't allocate enough memory\n", - progName ); - showFileNames(); - cleanUpAndFail(1); -} - - -/*---------------------------------------------*/ -static -void configError ( void ) -{ - fprintf ( stderr, - "bzip2: I'm not configured correctly for this platform!\n" - "\tI require Int32, Int16 and Char to have sizes\n" - "\tof 4, 2 and 1 bytes to run properly, and they don't.\n" - "\tProbably you can fix this by defining them correctly,\n" - "\tand recompiling. Bye!\n" ); - setExit(3); - exit(exitValue); -} - - -/*---------------------------------------------------*/ -/*--- The main driver machinery ---*/ -/*---------------------------------------------------*/ - -/* All rather crufty. The main problem is that input files - are stat()d multiple times before use. This should be - cleaned up. -*/ - -/*---------------------------------------------*/ -static -void pad ( Char *s ) -{ - Int32 i; - if ( (Int32)strlen(s) >= longestFileName ) return; - for (i = 1; i <= longestFileName - (Int32)strlen(s); i++) - fprintf ( stderr, " " ); -} - - -/*---------------------------------------------*/ -static -void copyFileName ( Char* to, Char* from ) -{ - if ( strlen(from) > FILE_NAME_LEN-10 ) { - fprintf ( - stderr, - "bzip2: file name\n`%s'\n" - "is suspiciously (more than %d chars) long.\n" - "Try using a reasonable file name instead. Sorry! :-)\n", - from, FILE_NAME_LEN-10 - ); - setExit(1); - exit(exitValue); - } - - strncpy(to,from,FILE_NAME_LEN-10); - to[FILE_NAME_LEN-10]='\0'; -} - - -/*---------------------------------------------*/ -static -Bool fileExists ( Char* name ) -{ - FILE *tmp = fopen ( name, "rb" ); - Bool exists = (tmp != NULL); - if (tmp != NULL) fclose ( tmp ); - return exists; -} - - -/*---------------------------------------------*/ -/* Open an output file safely with O_EXCL and good permissions. - This avoids a race condition in versions < 1.0.2, in which - the file was first opened and then had its interim permissions - set safely. We instead use open() to create the file with - the interim permissions required. (--- --- rw-). - - For non-Unix platforms, if we are not worrying about - security issues, simple this simply behaves like fopen. -*/ -static -FILE* fopen_output_safely ( Char* name, const char* mode ) -{ -# if BZ_UNIX - FILE* fp; - IntNative fh; - fh = open(name, O_WRONLY|O_CREAT|O_EXCL, S_IWUSR|S_IRUSR); - if (fh == -1) return NULL; - fp = fdopen(fh, mode); - if (fp == NULL) close(fh); - return fp; -# else - return fopen(name, mode); -# endif -} - - -/*---------------------------------------------*/ -/*-- - if in doubt, return True ---*/ -static -Bool notAStandardFile ( Char* name ) -{ - IntNative i; - struct MY_STAT statBuf; - - i = MY_LSTAT ( name, &statBuf ); - if (i != 0) return True; - if (MY_S_ISREG(statBuf.st_mode)) return False; - return True; -} - - -/*---------------------------------------------*/ -/*-- - rac 11/21/98 see if file has hard links to it ---*/ -static -Int32 countHardLinks ( Char* name ) -{ - IntNative i; - struct MY_STAT statBuf; - - i = MY_LSTAT ( name, &statBuf ); - if (i != 0) return 0; - return (statBuf.st_nlink - 1); -} - - -/*---------------------------------------------*/ -/* Copy modification date, access date, permissions and owner from the - source to destination file. We have to copy this meta-info off - into fileMetaInfo before starting to compress / decompress it, - because doing it afterwards means we get the wrong access time. - - To complicate matters, in compress() and decompress() below, the - sequence of tests preceding the call to saveInputFileMetaInfo() - involves calling fileExists(), which in turn establishes its result - by attempting to fopen() the file, and if successful, immediately - fclose()ing it again. So we have to assume that the fopen() call - does not cause the access time field to be updated. - - Reading of the man page for stat() (man 2 stat) on RedHat 7.2 seems - to imply that merely doing open() will not affect the access time. - Therefore we merely need to hope that the C library only does - open() as a result of fopen(), and not any kind of read()-ahead - cleverness. - - It sounds pretty fragile to me. Whether this carries across - robustly to arbitrary Unix-like platforms (or even works robustly - on this one, RedHat 7.2) is unknown to me. Nevertheless ... -*/ -#if BZ_UNIX -static -struct MY_STAT fileMetaInfo; -#endif - -static -void saveInputFileMetaInfo ( Char *srcName ) -{ -# if BZ_UNIX - IntNative retVal; - /* Note use of stat here, not lstat. */ - retVal = MY_STAT( srcName, &fileMetaInfo ); - ERROR_IF_NOT_ZERO ( retVal ); -# endif -} - - -static -void applySavedTimeInfoToOutputFile ( Char *dstName ) -{ -# if BZ_UNIX - IntNative retVal; - struct utimbuf uTimBuf; - - uTimBuf.actime = fileMetaInfo.st_atime; - uTimBuf.modtime = fileMetaInfo.st_mtime; - - retVal = utime ( dstName, &uTimBuf ); - ERROR_IF_NOT_ZERO ( retVal ); -# endif -} - -static -void applySavedFileAttrToOutputFile ( IntNative fd ) -{ -# if BZ_UNIX - IntNative retVal; - - retVal = fchmod ( fd, fileMetaInfo.st_mode ); - ERROR_IF_NOT_ZERO ( retVal ); - - (void) fchown ( fd, fileMetaInfo.st_uid, fileMetaInfo.st_gid ); - /* chown() will in many cases return with EPERM, which can - be safely ignored. - */ -# endif -} - - -/*---------------------------------------------*/ -static -Bool containsDubiousChars ( Char* name ) -{ -# if BZ_UNIX - /* On unix, files can contain any characters and the file expansion - * is performed by the shell. - */ - return False; -# else /* ! BZ_UNIX */ - /* On non-unix (Win* platforms), wildcard characters are not allowed in - * filenames. - */ - for (; *name != '\0'; name++) - if (*name == '?' || *name == '*') return True; - return False; -# endif /* BZ_UNIX */ -} - - -/*---------------------------------------------*/ -#define BZ_N_SUFFIX_PAIRS 4 - -const Char* zSuffix[BZ_N_SUFFIX_PAIRS] - = { ".bz2", ".bz", ".tbz2", ".tbz" }; -const Char* unzSuffix[BZ_N_SUFFIX_PAIRS] - = { "", "", ".tar", ".tar" }; - -static -Bool hasSuffix ( Char* s, const Char* suffix ) -{ - Int32 ns = strlen(s); - Int32 nx = strlen(suffix); - if (ns < nx) return False; - if (strcmp(s + ns - nx, suffix) == 0) return True; - return False; -} - -static -Bool mapSuffix ( Char* name, - const Char* oldSuffix, - const Char* newSuffix ) -{ - if (!hasSuffix(name,oldSuffix)) return False; - name[strlen(name)-strlen(oldSuffix)] = 0; - strcat ( name, newSuffix ); - return True; -} - - -/*---------------------------------------------*/ -static -void compress ( Char *name ) -{ - FILE *inStr; - FILE *outStr; - Int32 n, i; - struct MY_STAT statBuf; - - deleteOutputOnInterrupt = False; - - if (name == NULL && srcMode != SM_I2O) - panic ( "compress: bad modes\n" ); - - switch (srcMode) { - case SM_I2O: - copyFileName ( inName, (Char*)"(stdin)" ); - copyFileName ( outName, (Char*)"(stdout)" ); - break; - case SM_F2F: - copyFileName ( inName, name ); - copyFileName ( outName, name ); - strcat ( outName, ".bz2" ); - break; - case SM_F2O: - copyFileName ( inName, name ); - copyFileName ( outName, (Char*)"(stdout)" ); - break; - } - - if ( srcMode != SM_I2O && containsDubiousChars ( inName ) ) { - if (noisy) - fprintf ( stderr, "%s: There are no files matching `%s'.\n", - progName, inName ); - setExit(1); - return; - } - if ( srcMode != SM_I2O && !fileExists ( inName ) ) { - fprintf ( stderr, "%s: Can't open input file %s: %s.\n", - progName, inName, strerror(errno) ); - setExit(1); - return; - } - for (i = 0; i < BZ_N_SUFFIX_PAIRS; i++) { - if (hasSuffix(inName, zSuffix[i])) { - if (noisy) - fprintf ( stderr, - "%s: Input file %s already has %s suffix.\n", - progName, inName, zSuffix[i] ); - setExit(1); - return; - } - } - if ( srcMode == SM_F2F || srcMode == SM_F2O ) { - MY_STAT(inName, &statBuf); - if ( MY_S_ISDIR(statBuf.st_mode) ) { - fprintf( stderr, - "%s: Input file %s is a directory.\n", - progName,inName); - setExit(1); - return; - } - } - if ( srcMode == SM_F2F && !forceOverwrite && notAStandardFile ( inName )) { - if (noisy) - fprintf ( stderr, "%s: Input file %s is not a normal file.\n", - progName, inName ); - setExit(1); - return; - } - if ( srcMode == SM_F2F && fileExists ( outName ) ) { - if (forceOverwrite) { - remove(outName); - } else { - fprintf ( stderr, "%s: Output file %s already exists.\n", - progName, outName ); - setExit(1); - return; - } - } - if ( srcMode == SM_F2F && !forceOverwrite && - (n=countHardLinks ( inName )) > 0) { - fprintf ( stderr, "%s: Input file %s has %d other link%s.\n", - progName, inName, n, n > 1 ? "s" : "" ); - setExit(1); - return; - } - - if ( srcMode == SM_F2F ) { - /* Save the file's meta-info before we open it. Doing it later - means we mess up the access times. */ - saveInputFileMetaInfo ( inName ); - } - - switch ( srcMode ) { - - case SM_I2O: - inStr = stdin; - outStr = stdout; - if ( isatty ( fileno ( stdout ) ) ) { - fprintf ( stderr, - "%s: I won't write compressed data to a terminal.\n", - progName ); - fprintf ( stderr, "%s: For help, type: `%s --help'.\n", - progName, progName ); - setExit(1); - return; - }; - break; - - case SM_F2O: - inStr = fopen ( inName, "rb" ); - outStr = stdout; - if ( isatty ( fileno ( stdout ) ) ) { - fprintf ( stderr, - "%s: I won't write compressed data to a terminal.\n", - progName ); - fprintf ( stderr, "%s: For help, type: `%s --help'.\n", - progName, progName ); - if ( inStr != NULL ) fclose ( inStr ); - setExit(1); - return; - }; - if ( inStr == NULL ) { - fprintf ( stderr, "%s: Can't open input file %s: %s.\n", - progName, inName, strerror(errno) ); - setExit(1); - return; - }; - break; - - case SM_F2F: - inStr = fopen ( inName, "rb" ); - outStr = fopen_output_safely ( outName, "wb" ); - if ( outStr == NULL) { - fprintf ( stderr, "%s: Can't create output file %s: %s.\n", - progName, outName, strerror(errno) ); - if ( inStr != NULL ) fclose ( inStr ); - setExit(1); - return; - } - if ( inStr == NULL ) { - fprintf ( stderr, "%s: Can't open input file %s: %s.\n", - progName, inName, strerror(errno) ); - if ( outStr != NULL ) fclose ( outStr ); - setExit(1); - return; - }; - break; - - default: - panic ( "compress: bad srcMode" ); - break; - } - - if (verbosity >= 1) { - fprintf ( stderr, " %s: ", inName ); - pad ( inName ); - fflush ( stderr ); - } - - /*--- Now the input and output handles are sane. Do the Biz. ---*/ - outputHandleJustInCase = outStr; - deleteOutputOnInterrupt = True; - compressStream ( inStr, outStr ); - outputHandleJustInCase = NULL; - - /*--- If there was an I/O error, we won't get here. ---*/ - if ( srcMode == SM_F2F ) { - applySavedTimeInfoToOutputFile ( outName ); - deleteOutputOnInterrupt = False; - if ( !keepInputFiles ) { - IntNative retVal = remove ( inName ); - ERROR_IF_NOT_ZERO ( retVal ); - } - } - - deleteOutputOnInterrupt = False; -} - - -/*---------------------------------------------*/ -static -void uncompress ( Char *name ) -{ - FILE *inStr; - FILE *outStr; - Int32 n, i; - Bool magicNumberOK; - Bool cantGuess; - struct MY_STAT statBuf; - - deleteOutputOnInterrupt = False; - - if (name == NULL && srcMode != SM_I2O) - panic ( "uncompress: bad modes\n" ); - - cantGuess = False; - switch (srcMode) { - case SM_I2O: - copyFileName ( inName, (Char*)"(stdin)" ); - copyFileName ( outName, (Char*)"(stdout)" ); - break; - case SM_F2F: - copyFileName ( inName, name ); - copyFileName ( outName, name ); - for (i = 0; i < BZ_N_SUFFIX_PAIRS; i++) - if (mapSuffix(outName,zSuffix[i],unzSuffix[i])) - goto zzz; - cantGuess = True; - strcat ( outName, ".out" ); - break; - case SM_F2O: - copyFileName ( inName, name ); - copyFileName ( outName, (Char*)"(stdout)" ); - break; - } - - zzz: - if ( srcMode != SM_I2O && containsDubiousChars ( inName ) ) { - if (noisy) - fprintf ( stderr, "%s: There are no files matching `%s'.\n", - progName, inName ); - setExit(1); - return; - } - if ( srcMode != SM_I2O && !fileExists ( inName ) ) { - fprintf ( stderr, "%s: Can't open input file %s: %s.\n", - progName, inName, strerror(errno) ); - setExit(1); - return; - } - if ( srcMode == SM_F2F || srcMode == SM_F2O ) { - MY_STAT(inName, &statBuf); - if ( MY_S_ISDIR(statBuf.st_mode) ) { - fprintf( stderr, - "%s: Input file %s is a directory.\n", - progName,inName); - setExit(1); - return; - } - } - if ( srcMode == SM_F2F && !forceOverwrite && notAStandardFile ( inName )) { - if (noisy) - fprintf ( stderr, "%s: Input file %s is not a normal file.\n", - progName, inName ); - setExit(1); - return; - } - if ( /* srcMode == SM_F2F implied && */ cantGuess ) { - if (noisy) - fprintf ( stderr, - "%s: Can't guess original name for %s -- using %s\n", - progName, inName, outName ); - /* just a warning, no return */ - } - if ( srcMode == SM_F2F && fileExists ( outName ) ) { - if (forceOverwrite) { - remove(outName); - } else { - fprintf ( stderr, "%s: Output file %s already exists.\n", - progName, outName ); - setExit(1); - return; - } - } - if ( srcMode == SM_F2F && !forceOverwrite && - (n=countHardLinks ( inName ) ) > 0) { - fprintf ( stderr, "%s: Input file %s has %d other link%s.\n", - progName, inName, n, n > 1 ? "s" : "" ); - setExit(1); - return; - } - - if ( srcMode == SM_F2F ) { - /* Save the file's meta-info before we open it. Doing it later - means we mess up the access times. */ - saveInputFileMetaInfo ( inName ); - } - - switch ( srcMode ) { - - case SM_I2O: - inStr = stdin; - outStr = stdout; - if ( isatty ( fileno ( stdin ) ) ) { - fprintf ( stderr, - "%s: I won't read compressed data from a terminal.\n", - progName ); - fprintf ( stderr, "%s: For help, type: `%s --help'.\n", - progName, progName ); - setExit(1); - return; - }; - break; - - case SM_F2O: - inStr = fopen ( inName, "rb" ); - outStr = stdout; - if ( inStr == NULL ) { - fprintf ( stderr, "%s: Can't open input file %s:%s.\n", - progName, inName, strerror(errno) ); - if ( inStr != NULL ) fclose ( inStr ); - setExit(1); - return; - }; - break; - - case SM_F2F: - inStr = fopen ( inName, "rb" ); - outStr = fopen_output_safely ( outName, "wb" ); - if ( outStr == NULL) { - fprintf ( stderr, "%s: Can't create output file %s: %s.\n", - progName, outName, strerror(errno) ); - if ( inStr != NULL ) fclose ( inStr ); - setExit(1); - return; - } - if ( inStr == NULL ) { - fprintf ( stderr, "%s: Can't open input file %s: %s.\n", - progName, inName, strerror(errno) ); - if ( outStr != NULL ) fclose ( outStr ); - setExit(1); - return; - }; - break; - - default: - panic ( "uncompress: bad srcMode" ); - break; - } - - if (verbosity >= 1) { - fprintf ( stderr, " %s: ", inName ); - pad ( inName ); - fflush ( stderr ); - } - - /*--- Now the input and output handles are sane. Do the Biz. ---*/ - outputHandleJustInCase = outStr; - deleteOutputOnInterrupt = True; - magicNumberOK = uncompressStream ( inStr, outStr ); - outputHandleJustInCase = NULL; - - /*--- If there was an I/O error, we won't get here. ---*/ - if ( magicNumberOK ) { - if ( srcMode == SM_F2F ) { - applySavedTimeInfoToOutputFile ( outName ); - deleteOutputOnInterrupt = False; - if ( !keepInputFiles ) { - IntNative retVal = remove ( inName ); - ERROR_IF_NOT_ZERO ( retVal ); - } - } - } else { - unzFailsExist = True; - deleteOutputOnInterrupt = False; - if ( srcMode == SM_F2F ) { - IntNative retVal = remove ( outName ); - ERROR_IF_NOT_ZERO ( retVal ); - } - } - deleteOutputOnInterrupt = False; - - if ( magicNumberOK ) { - if (verbosity >= 1) - fprintf ( stderr, "done\n" ); - } else { - setExit(2); - if (verbosity >= 1) - fprintf ( stderr, "not a bzip2 file.\n" ); else - fprintf ( stderr, - "%s: %s is not a bzip2 file.\n", - progName, inName ); - } - -} - - -/*---------------------------------------------*/ -static -void testf ( Char *name ) -{ - FILE *inStr; - Bool allOK; - struct MY_STAT statBuf; - - deleteOutputOnInterrupt = False; - - if (name == NULL && srcMode != SM_I2O) - panic ( "testf: bad modes\n" ); - - copyFileName ( outName, (Char*)"(none)" ); - switch (srcMode) { - case SM_I2O: copyFileName ( inName, (Char*)"(stdin)" ); break; - case SM_F2F: copyFileName ( inName, name ); break; - case SM_F2O: copyFileName ( inName, name ); break; - } - - if ( srcMode != SM_I2O && containsDubiousChars ( inName ) ) { - if (noisy) - fprintf ( stderr, "%s: There are no files matching `%s'.\n", - progName, inName ); - setExit(1); - return; - } - if ( srcMode != SM_I2O && !fileExists ( inName ) ) { - fprintf ( stderr, "%s: Can't open input %s: %s.\n", - progName, inName, strerror(errno) ); - setExit(1); - return; - } - if ( srcMode != SM_I2O ) { - MY_STAT(inName, &statBuf); - if ( MY_S_ISDIR(statBuf.st_mode) ) { - fprintf( stderr, - "%s: Input file %s is a directory.\n", - progName,inName); - setExit(1); - return; - } - } - - switch ( srcMode ) { - - case SM_I2O: - if ( isatty ( fileno ( stdin ) ) ) { - fprintf ( stderr, - "%s: I won't read compressed data from a terminal.\n", - progName ); - fprintf ( stderr, "%s: For help, type: `%s --help'.\n", - progName, progName ); - setExit(1); - return; - }; - inStr = stdin; - break; - - case SM_F2O: case SM_F2F: - inStr = fopen ( inName, "rb" ); - if ( inStr == NULL ) { - fprintf ( stderr, "%s: Can't open input file %s:%s.\n", - progName, inName, strerror(errno) ); - setExit(1); - return; - }; - break; - - default: - panic ( "testf: bad srcMode" ); - break; - } - - if (verbosity >= 1) { - fprintf ( stderr, " %s: ", inName ); - pad ( inName ); - fflush ( stderr ); - } - - /*--- Now the input handle is sane. Do the Biz. ---*/ - outputHandleJustInCase = NULL; - allOK = testStream ( inStr ); - - if (allOK && verbosity >= 1) fprintf ( stderr, "ok\n" ); - if (!allOK) testFailsExist = True; -} - - -/*---------------------------------------------*/ -static -void license ( void ) -{ - fprintf ( stderr, - - "bzip2, a block-sorting file compressor. " - "Version %s.\n" - " \n" - " Copyright (C) 1996-2006 by Julian Seward.\n" - " \n" - " This program is free software; you can redistribute it and/or modify\n" - " it under the terms set out in the LICENSE file, which is included\n" - " in the bzip2-1.0.4 source distribution.\n" - " \n" - " This program is distributed in the hope that it will be useful,\n" - " but WITHOUT ANY WARRANTY; without even the implied warranty of\n" - " MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n" - " LICENSE file for more details.\n" - " \n", - BZ2_bzlibVersion() - ); -} - - -/*---------------------------------------------*/ -static -void usage ( Char *fullProgName ) -{ - fprintf ( - stderr, - "bzip2, a block-sorting file compressor. " - "Version %s.\n" - "\n usage: %s [flags and input files in any order]\n" - "\n" - " -h --help print this message\n" - " -d --decompress force decompression\n" - " -z --compress force compression\n" - " -k --keep keep (don't delete) input files\n" - " -f --force overwrite existing output files\n" - " -t --test test compressed file integrity\n" - " -c --stdout output to standard out\n" - " -q --quiet suppress noncritical error messages\n" - " -v --verbose be verbose (a 2nd -v gives more)\n" - " -L --license display software version & license\n" - " -V --version display software version & license\n" - " -s --small use less memory (at most 2500k)\n" - " -1 .. -9 set block size to 100k .. 900k\n" - " --fast alias for -1\n" - " --best alias for -9\n" - "\n" - " If invoked as `bzip2', default action is to compress.\n" - " as `bunzip2', default action is to decompress.\n" - " as `bzcat', default action is to decompress to stdout.\n" - "\n" - " If no file names are given, bzip2 compresses or decompresses\n" - " from standard input to standard output. You can combine\n" - " short flags, so `-v -4' means the same as -v4 or -4v, &c.\n" -# if BZ_UNIX - "\n" -# endif - , - - BZ2_bzlibVersion(), - fullProgName - ); -} - - -/*---------------------------------------------*/ -static -void redundant ( Char* flag ) -{ - fprintf ( - stderr, - "%s: %s is redundant in versions 0.9.5 and above\n", - progName, flag ); -} - - -/*---------------------------------------------*/ -/*-- - All the garbage from here to main() is purely to - implement a linked list of command-line arguments, - into which main() copies argv[1 .. argc-1]. - - The purpose of this exercise is to facilitate - the expansion of wildcard characters * and ? in - filenames for OSs which don't know how to do it - themselves, like MSDOS, Windows 95 and NT. - - The actual Dirty Work is done by the platform- - specific macro APPEND_FILESPEC. ---*/ - -typedef - struct zzzz { - Char *name; - struct zzzz *link; - } - Cell; - - -/*---------------------------------------------*/ -static -void *myMalloc ( Int32 n ) -{ - void* p; - - p = malloc ( (size_t)n ); - if (p == NULL) outOfMemory (); - return p; -} - - -/*---------------------------------------------*/ -static -Cell *mkCell ( void ) -{ - Cell *c; - - c = (Cell*) myMalloc ( sizeof ( Cell ) ); - c->name = NULL; - c->link = NULL; - return c; -} - - -/*---------------------------------------------*/ -static -Cell *snocString ( Cell *root, Char *name ) -{ - if (root == NULL) { - Cell *tmp = mkCell(); - tmp->name = (Char*) myMalloc ( 5 + strlen(name) ); - strcpy ( tmp->name, name ); - return tmp; - } else { - Cell *tmp = root; - while (tmp->link != NULL) tmp = tmp->link; - tmp->link = snocString ( tmp->link, name ); - return root; - } -} - - -/*---------------------------------------------*/ -static -void addFlagsFromEnvVar ( Cell** argList, Char* varName ) -{ - Int32 i, j, k; - Char *envbase, *p; - - envbase = getenv(varName); - if (envbase != NULL) { - p = envbase; - i = 0; - while (True) { - if (p[i] == 0) break; - p += i; - i = 0; - while (isspace((Int32)(p[0]))) p++; - while (p[i] != 0 && !isspace((Int32)(p[i]))) i++; - if (i > 0) { - k = i; if (k > FILE_NAME_LEN-10) k = FILE_NAME_LEN-10; - for (j = 0; j < k; j++) tmpName[j] = p[j]; - tmpName[k] = 0; - APPEND_FLAG(*argList, tmpName); - } - } - } -} - - -/*---------------------------------------------*/ -#define ISFLAG(s) (strcmp(aa->name, (s))==0) - -IntNative main ( IntNative argc, Char *argv[] ) -{ - Int32 i, j; - Char *tmp; - Cell *argList; - Cell *aa; - Bool decode; - - /*-- Be really really really paranoid :-) --*/ - if (sizeof(Int32) != 4 || sizeof(UInt32) != 4 || - sizeof(Int16) != 2 || sizeof(UInt16) != 2 || - sizeof(Char) != 1 || sizeof(UChar) != 1) - configError(); - - /*-- Initialise --*/ - outputHandleJustInCase = NULL; - smallMode = False; - keepInputFiles = False; - forceOverwrite = False; - noisy = True; - verbosity = 0; - blockSize100k = 9; - testFailsExist = False; - unzFailsExist = False; - numFileNames = 0; - numFilesProcessed = 0; - workFactor = 30; - deleteOutputOnInterrupt = False; - exitValue = 0; - i = j = 0; /* avoid bogus warning from egcs-1.1.X */ - - /*-- Set up signal handlers for mem access errors --*/ - signal (SIGSEGV, mySIGSEGVorSIGBUScatcher); -# if BZ_UNIX -# ifndef __DJGPP__ - signal (SIGBUS, mySIGSEGVorSIGBUScatcher); -# endif -# endif - - copyFileName ( inName, (Char*)"(none)" ); - copyFileName ( outName, (Char*)"(none)" ); - - copyFileName ( progNameReally, argv[0] ); - progName = &progNameReally[0]; - for (tmp = &progNameReally[0]; *tmp != '\0'; tmp++) - if (*tmp == PATH_SEP) progName = tmp + 1; - - - /*-- Copy flags from env var BZIP2, and - expand filename wildcards in arg list. - --*/ - argList = NULL; - addFlagsFromEnvVar ( &argList, (Char*)"BZIP2" ); - addFlagsFromEnvVar ( &argList, (Char*)"BZIP" ); - for (i = 1; i <= argc-1; i++) - APPEND_FILESPEC(argList, argv[i]); - - - /*-- Find the length of the longest filename --*/ - longestFileName = 7; - numFileNames = 0; - decode = True; - for (aa = argList; aa != NULL; aa = aa->link) { - if (ISFLAG("--")) { decode = False; continue; } - if (aa->name[0] == '-' && decode) continue; - numFileNames++; - if (longestFileName < (Int32)strlen(aa->name) ) - longestFileName = (Int32)strlen(aa->name); - } - - - /*-- Determine source modes; flag handling may change this too. --*/ - if (numFileNames == 0) - srcMode = SM_I2O; else srcMode = SM_F2F; - - - /*-- Determine what to do (compress/uncompress/test/cat). --*/ - /*-- Note that subsequent flag handling may change this. --*/ - opMode = OM_Z; - - if ( (strstr ( progName, "unzip" ) != 0) || - (strstr ( progName, "UNZIP" ) != 0) ) - opMode = OM_UNZ; - - if ( (strstr ( progName, "z2cat" ) != 0) || - (strstr ( progName, "Z2CAT" ) != 0) || - (strstr ( progName, "zcat" ) != 0) || - (strstr ( progName, "ZCAT" ) != 0) ) { - opMode = OM_UNZ; - srcMode = (numFileNames == 0) ? SM_I2O : SM_F2O; - } - - - /*-- Look at the flags. --*/ - for (aa = argList; aa != NULL; aa = aa->link) { - if (ISFLAG("--")) break; - if (aa->name[0] == '-' && aa->name[1] != '-') { - for (j = 1; aa->name[j] != '\0'; j++) { - switch (aa->name[j]) { - case 'c': srcMode = SM_F2O; break; - case 'd': opMode = OM_UNZ; break; - case 'z': opMode = OM_Z; break; - case 'f': forceOverwrite = True; break; - case 't': opMode = OM_TEST; break; - case 'k': keepInputFiles = True; break; - case 's': smallMode = True; break; - case 'q': noisy = False; break; - case '1': blockSize100k = 1; break; - case '2': blockSize100k = 2; break; - case '3': blockSize100k = 3; break; - case '4': blockSize100k = 4; break; - case '5': blockSize100k = 5; break; - case '6': blockSize100k = 6; break; - case '7': blockSize100k = 7; break; - case '8': blockSize100k = 8; break; - case '9': blockSize100k = 9; break; - case 'V': - case 'L': license(); break; - case 'v': verbosity++; break; - case 'h': usage ( progName ); - exit ( 0 ); - break; - default: fprintf ( stderr, "%s: Bad flag `%s'\n", - progName, aa->name ); - usage ( progName ); - exit ( 1 ); - break; - } - } - } - } - - /*-- And again ... --*/ - for (aa = argList; aa != NULL; aa = aa->link) { - if (ISFLAG("--")) break; - if (ISFLAG("--stdout")) srcMode = SM_F2O; else - if (ISFLAG("--decompress")) opMode = OM_UNZ; else - if (ISFLAG("--compress")) opMode = OM_Z; else - if (ISFLAG("--force")) forceOverwrite = True; else - if (ISFLAG("--test")) opMode = OM_TEST; else - if (ISFLAG("--keep")) keepInputFiles = True; else - if (ISFLAG("--small")) smallMode = True; else - if (ISFLAG("--quiet")) noisy = False; else - i... [truncated message content] |
From: <arn...@us...> - 2008-03-26 13:41:31
|
Revision: 1056 http://dcplusplus.svn.sourceforge.net/dcplusplus/?rev=1056&view=rev Author: arnetheduck Date: 2008-03-26 06:41:27 -0700 (Wed, 26 Mar 2008) Log Message: ----------- cshelp in the user command dialog, moved setHelpIds in WinUtil Modified Paths: -------------- dcplusplus/trunk/help/cshelp.h dcplusplus/trunk/help/cshelp.txt dcplusplus/trunk/help/dialog_user_command.html dcplusplus/trunk/win32/Advanced3Page.cpp dcplusplus/trunk/win32/Advanced3Page.h dcplusplus/trunk/win32/Appearance2Page.cpp dcplusplus/trunk/win32/Appearance2Page.h dcplusplus/trunk/win32/AppearancePage.cpp dcplusplus/trunk/win32/AppearancePage.h dcplusplus/trunk/win32/CertificatesPage.cpp dcplusplus/trunk/win32/CertificatesPage.h dcplusplus/trunk/win32/CommandDlg.cpp dcplusplus/trunk/win32/DCPlusPlus.rc dcplusplus/trunk/win32/DownloadPage.cpp dcplusplus/trunk/win32/DownloadPage.h dcplusplus/trunk/win32/FavoriteDirsPage.cpp dcplusplus/trunk/win32/FavoriteDirsPage.h dcplusplus/trunk/win32/GeneralPage.cpp dcplusplus/trunk/win32/GeneralPage.h dcplusplus/trunk/win32/LogPage.cpp dcplusplus/trunk/win32/LogPage.h dcplusplus/trunk/win32/NetworkPage.cpp dcplusplus/trunk/win32/NetworkPage.h dcplusplus/trunk/win32/PropPage.cpp dcplusplus/trunk/win32/PropPage.h dcplusplus/trunk/win32/QueuePage.cpp dcplusplus/trunk/win32/QueuePage.h dcplusplus/trunk/win32/SettingsDialog.cpp dcplusplus/trunk/win32/UCPage.cpp dcplusplus/trunk/win32/UCPage.h dcplusplus/trunk/win32/UploadPage.cpp dcplusplus/trunk/win32/UploadPage.h dcplusplus/trunk/win32/WinUtil.cpp dcplusplus/trunk/win32/WinUtil.h Property Changed: ---------------- dcplusplus/trunk/ Property changes on: dcplusplus/trunk ___________________________________________________________________ Name: bzr:revision-info - timestamp: 2008-03-24 15:06:23.664999962 +0100 committer: Jacek Sieka <arn...@gm...> properties: branch-nick: dcplusplus + timestamp: 2008-03-24 15:19:33.282999992 +0100 committer: zouzou123gen properties: branch-nick: bzr Name: bzr:revision-id:v3-trunk1 - 1027 arn...@gm...-20080323183926-schknwnkgeo7ivdn 1028 zouzou123gen-20080323220411-r8usuc3qxwuh7zsn 1029 zouzou123gen-20080323221249-0su72zaj13e706mk 1030 arn...@gm...-20080324140623-muba1dl46m000o8c + 1027 arn...@gm...-20080323183926-schknwnkgeo7ivdn 1028 zouzou123gen-20080323220411-r8usuc3qxwuh7zsn 1029 zouzou123gen-20080323221249-0su72zaj13e706mk 1030 arn...@gm...-20080324140623-muba1dl46m000o8c 1031 zouzou123gen-20080324141933-qbgr93ugpe0297m6 Modified: dcplusplus/trunk/help/cshelp.h =================================================================== --- dcplusplus/trunk/help/cshelp.h 2008-03-26 13:39:40 UTC (rev 1055) +++ dcplusplus/trunk/help/cshelp.h 2008-03-26 13:41:27 UTC (rev 1056) @@ -3,10 +3,10 @@ #ifndef DCPLUSPLUS_HELP_CSHELP_H #define DCPLUSPLUS_HELP_CSHELP_H -#define IDH_SETTINGS_TREE 11000 -#define IDH_SETTINGS_OK 11001 -#define IDH_SETTINGS_CANCEL 11002 -#define IDH_SETTINGS_HELP 11003 +#define IDH_DCPP_OK 11000 +#define IDH_DCPP_CANCEL 11001 +#define IDH_DCPP_HELP 11002 +#define IDH_SETTINGS_TREE 11003 #define IDH_SETTINGS_GENERAL_PERSONAL_INFORMATION 11004 #define IDH_SETTINGS_GENERAL_NICK 11005 #define IDH_SETTINGS_GENERAL_EMAIL 11006 @@ -91,5 +91,19 @@ #define IDH_SETTINGS_CERTIFICATES_PRIVATE_KEY_FILE 11085 #define IDH_SETTINGS_CERTIFICATES_CERTIFICATE_FILE 11086 #define IDH_SETTINGS_CERTIFICATES_TRUSTED_CERTIFICATES_PATH 11087 +#define IDH_USER_COMMAND_SEPARATOR 11088 +#define IDH_USER_COMMAND_RAW 11089 +#define IDH_USER_COMMAND_CHAT 11090 +#define IDH_USER_COMMAND_PM 11091 +#define IDH_USER_COMMAND_CONTEXT 11092 +#define IDH_USER_COMMAND_HUB_MENU 11093 +#define IDH_USER_COMMAND_USER_MENU 11094 +#define IDH_USER_COMMAND_SEARCH_MENU 11095 +#define IDH_USER_COMMAND_FILELIST_MENU 11096 +#define IDH_USER_COMMAND_NAME 11097 +#define IDH_USER_COMMAND_COMMAND 11098 +#define IDH_USER_COMMAND_HUB 11099 +#define IDH_USER_COMMAND_NICK 11100 +#define IDH_USER_COMMAND_ONCE 11101 #endif Modified: dcplusplus/trunk/help/cshelp.txt =================================================================== --- dcplusplus/trunk/help/cshelp.txt 2008-03-26 13:39:40 UTC (rev 1055) +++ dcplusplus/trunk/help/cshelp.txt 2008-03-26 13:41:27 UTC (rev 1056) @@ -1,11 +1,11 @@ -.topic IDH_SETTINGS_TREE -Choose a settings category here. -.topic IDH_SETTINGS_OK +.topic IDH_DCPP_OK Press this button to save your changes and close this dialog. -.topic IDH_SETTINGS_CANCEL +.topic IDH_DCPP_CANCEL Press this button to close this dialog without saving your changes. -.topic IDH_SETTINGS_HELP +.topic IDH_DCPP_HELP Press this button to launch the help file. +.topic IDH_SETTINGS_TREE +Choose a settings category here. .topic IDH_SETTINGS_GENERAL_PERSONAL_INFORMATION This is general information about yourself. The nick is required, though it's suggested that you pick the correct connection type as well. .topic IDH_SETTINGS_GENERAL_NICK @@ -174,3 +174,31 @@ This file is the certificate file you should give to other users and hubs that you want to consider "trusted". .topic IDH_SETTINGS_CERTIFICATES_TRUSTED_CERTIFICATES_PATH Where trusted certificates from users or hubs will be stored. (default: the "Certificates\" subdirectory of where you've installed the application.) +.topic IDH_USER_COMMAND_SEPARATOR +Adds a separator to the menu +.topic IDH_USER_COMMAND_RAW +Sends raw command to the hub (experts only, end it with '|' in NMDC hubs and '\n' in ADC hubs!) +.topic IDH_USER_COMMAND_CHAT +Sends command as if you were typing it in the chat +.topic IDH_USER_COMMAND_PM +Sends command as if you sent it by PM +.topic IDH_USER_COMMAND_CONTEXT +Contexts determine where the command is shown. +.topic IDH_USER_COMMAND_HUB_MENU +Hub tab (at the bottom of the screen) right-click menu +.topic IDH_USER_COMMAND_USER_MENU +User right-click menu in chat and PM tab menu +.topic IDH_USER_COMMAND_SEARCH_MENU +Search right-click menu +.topic IDH_USER_COMMAND_FILELIST_MENU +File list right-click menu +.topic IDH_USER_COMMAND_NAME +Name (use '\' to create submenus) +.topic IDH_USER_COMMAND_COMMAND +Command text (may contain any of the variables listed below). Use Ctrl + Enter to create a new line. +.topic IDH_USER_COMMAND_HUB +Hub ip as typed when connecting (empty = all NMDC hubs, "op" = NMDC hubs where you're an operator, "adc://" = all ADC hubs, "adc://op" = ADC hubs where you're an operator, "adcs://" = all TLS enabled hubs) +.topic IDH_USER_COMMAND_NICK +Private Message recipient +.topic IDH_USER_COMMAND_ONCE +Send only once per user from search frame, regardless of how many files you've selected from that user Modified: dcplusplus/trunk/help/dialog_user_command.html =================================================================== --- dcplusplus/trunk/help/dialog_user_command.html 2008-03-26 13:39:40 UTC (rev 1055) +++ dcplusplus/trunk/help/dialog_user_command.html 2008-03-26 13:41:27 UTC (rev 1056) @@ -16,7 +16,7 @@ <dt>Chat</dt> <dd>Sends command as if you were typing it in the chat</dd> <dt>PM</dt> - <dd>Sends command as if you sent it by pm</dd> + <dd>Sends command as if you sent it by PM</dd> </dl> <h2>Context</h2> Contexts determine where the command is shown.<br> Modified: dcplusplus/trunk/win32/Advanced3Page.cpp =================================================================== --- dcplusplus/trunk/win32/Advanced3Page.cpp 2008-03-26 13:39:40 UTC (rev 1055) +++ dcplusplus/trunk/win32/Advanced3Page.cpp 2008-03-26 13:41:27 UTC (rev 1056) @@ -23,8 +23,9 @@ #include "Advanced3Page.h" #include <dcpp/SettingsManager.h> +#include "WinUtil.h" -PropPage::HelpItem Advanced3Page::helpItems[] = { +static const WinUtil::HelpItem helpItems[] = { { IDC_SETTINGS_ROLLBACK, IDH_SETTINGS_ADVANCED3_ROLLBACK }, { IDC_ROLLBACK, IDH_SETTINGS_ADVANCED3_ROLLBACK }, { IDC_SETTINGS_B, IDH_SETTINGS_ADVANCED3_ROLLBACK }, @@ -112,7 +113,7 @@ createDialog(IDD_ADVANCED3PAGE); setHelpId(IDH_ADVANCED3PAGE); - PropPage::setHelpIds(handle(), helpItems); + WinUtil::setHelpIds(handle(), helpItems); PropPage::translate(handle(), texts); PropPage::read(handle(), items, 0, 0); Modified: dcplusplus/trunk/win32/Advanced3Page.h =================================================================== --- dcplusplus/trunk/win32/Advanced3Page.h 2008-03-26 13:39:40 UTC (rev 1055) +++ dcplusplus/trunk/win32/Advanced3Page.h 2008-03-26 13:41:27 UTC (rev 1056) @@ -30,7 +30,6 @@ virtual void write(); private: - static HelpItem helpItems[]; static Item items[]; static TextItem texts[]; }; Modified: dcplusplus/trunk/win32/Appearance2Page.cpp =================================================================== --- dcplusplus/trunk/win32/Appearance2Page.cpp 2008-03-26 13:39:40 UTC (rev 1055) +++ dcplusplus/trunk/win32/Appearance2Page.cpp 2008-03-26 13:41:27 UTC (rev 1056) @@ -25,7 +25,7 @@ #include <dcpp/SettingsManager.h> #include "WinUtil.h" -PropPage::HelpItem Appearance2Page::helpItems[] = { +static const WinUtil::HelpItem helpItems[] = { { IDC_SETTINGS_COLORS, IDH_SETTINGS_APPEARANCE2_COLORS }, { IDC_SELWINCOLOR, IDH_SETTINGS_APPEARANCE2_SELWINCOLOR }, { IDC_SELTEXT, IDH_SETTINGS_APPEARANCE2_SELTEXT }, @@ -66,7 +66,7 @@ createDialog(IDD_APPEARANCE2PAGE); setHelpId(IDH_APPEARANCE2PAGE); - PropPage::setHelpIds(handle(), helpItems); + WinUtil::setHelpIds(handle(), helpItems); PropPage::translate(handle(), texts); PropPage::read(handle(), items, 0, 0); Modified: dcplusplus/trunk/win32/Appearance2Page.h =================================================================== --- dcplusplus/trunk/win32/Appearance2Page.h 2008-03-26 13:39:40 UTC (rev 1055) +++ dcplusplus/trunk/win32/Appearance2Page.h 2008-03-26 13:41:27 UTC (rev 1056) @@ -30,7 +30,6 @@ virtual void write(); private: - static HelpItem helpItems[]; static Item items[]; static TextItem texts[]; Modified: dcplusplus/trunk/win32/AppearancePage.cpp =================================================================== --- dcplusplus/trunk/win32/AppearancePage.cpp 2008-03-26 13:39:40 UTC (rev 1055) +++ dcplusplus/trunk/win32/AppearancePage.cpp 2008-03-26 13:41:27 UTC (rev 1056) @@ -27,7 +27,7 @@ #include "WinUtil.h" -PropPage::HelpItem AppearancePage::helpItems[] = { +static const WinUtil::HelpItem helpItems[] = { { IDC_SETTINGS_DEFAULT_AWAY_MSG, IDH_SETTINGS_APPEARANCE_DEFAULT_AWAY_MESSAGE }, { IDC_DEFAULT_AWAY_MESSAGE, IDH_SETTINGS_APPEARANCE_DEFAULT_AWAY_MESSAGE }, { IDC_SETTINGS_TIME_STAMPS_FORMAT, IDH_SETTINGS_APPEARANCE_TIME_STAMPS_FORMAT }, @@ -72,7 +72,7 @@ createDialog(IDD_APPEARANCEPAGE); setHelpId(IDH_APPEARANCEPAGE); - PropPage::setHelpIds(handle(), helpItems); + WinUtil::setHelpIds(handle(), helpItems); PropPage::translate(handle(), texts); PropPage::read(handle(), items, listItems, ::GetDlgItem(handle(), IDC_APPEARANCE_BOOLEANS)); Modified: dcplusplus/trunk/win32/AppearancePage.h =================================================================== --- dcplusplus/trunk/win32/AppearancePage.h 2008-03-26 13:39:40 UTC (rev 1055) +++ dcplusplus/trunk/win32/AppearancePage.h 2008-03-26 13:41:27 UTC (rev 1056) @@ -30,7 +30,6 @@ virtual void write(); private: - static HelpItem helpItems[]; static Item items[]; static TextItem texts[]; static ListItem listItems[]; Modified: dcplusplus/trunk/win32/CertificatesPage.cpp =================================================================== --- dcplusplus/trunk/win32/CertificatesPage.cpp 2008-03-26 13:39:40 UTC (rev 1055) +++ dcplusplus/trunk/win32/CertificatesPage.cpp 2008-03-26 13:41:27 UTC (rev 1056) @@ -26,7 +26,7 @@ #include <dcpp/CryptoManager.h> #include "WinUtil.h" -PropPage::HelpItem CertificatesPage::helpItems[] = { +static const WinUtil::HelpItem helpItems[] = { { IDC_SETTINGS_PRIVATE_KEY_FILE, IDH_SETTINGS_CERTIFICATES_PRIVATE_KEY_FILE }, { IDC_TLS_PRIVATE_KEY_FILE, IDH_SETTINGS_CERTIFICATES_PRIVATE_KEY_FILE }, { IDC_BROWSE_PRIVATE_KEY, IDH_SETTINGS_CERTIFICATES_PRIVATE_KEY_FILE }, @@ -65,7 +65,7 @@ createDialog(IDD_CERTIFICATESPAGE); setHelpId(IDH_CERTIFICATESPAGE); - PropPage::setHelpIds(handle(), helpItems); + WinUtil::setHelpIds(handle(), helpItems); PropPage::translate(handle(), texts); PropPage::read(handle(), items, listItems, ::GetDlgItem(handle(), IDC_TLS_OPTIONS)); Modified: dcplusplus/trunk/win32/CertificatesPage.h =================================================================== --- dcplusplus/trunk/win32/CertificatesPage.h 2008-03-26 13:39:40 UTC (rev 1055) +++ dcplusplus/trunk/win32/CertificatesPage.h 2008-03-26 13:41:27 UTC (rev 1056) @@ -30,7 +30,6 @@ virtual void write(); private: - static HelpItem helpItems[]; static Item items[]; static TextItem texts[]; static ListItem listItems[]; Modified: dcplusplus/trunk/win32/CommandDlg.cpp =================================================================== --- dcplusplus/trunk/win32/CommandDlg.cpp 2008-03-26 13:39:40 UTC (rev 1055) +++ dcplusplus/trunk/win32/CommandDlg.cpp 2008-03-26 13:41:27 UTC (rev 1056) @@ -27,6 +27,31 @@ #include <dcpp/version.h> #include "WinUtil.h" +static const WinUtil::HelpItem helpItems[] = { + { IDC_SETTINGS_SEPARATOR, IDH_USER_COMMAND_SEPARATOR }, + { IDC_SETTINGS_RAW, IDH_USER_COMMAND_RAW }, + { IDC_SETTINGS_CHAT, IDH_USER_COMMAND_CHAT }, + { IDC_SETTINGS_PM, IDH_USER_COMMAND_PM }, + { IDC_SETTINGS_CONTEXT, IDH_USER_COMMAND_CONTEXT }, + { IDC_SETTINGS_HUB_MENU, IDH_USER_COMMAND_HUB_MENU }, + { IDC_SETTINGS_USER_MENU, IDH_USER_COMMAND_USER_MENU }, + { IDC_SETTINGS_SEARCH_MENU, IDH_USER_COMMAND_SEARCH_MENU }, + { IDC_SETTINGS_FILELIST_MENU, IDH_USER_COMMAND_FILELIST_MENU }, + { IDC_SETTINGS_NAME, IDH_USER_COMMAND_NAME }, + { IDC_NAME, IDH_USER_COMMAND_NAME }, + { IDC_SETTINGS_COMMAND, IDH_USER_COMMAND_COMMAND }, + { IDC_COMMAND, IDH_USER_COMMAND_COMMAND }, + { IDC_SETTINGS_HUB, IDH_USER_COMMAND_HUB }, + { IDC_HUB, IDH_USER_COMMAND_HUB }, + { IDC_SETTINGS_TO, IDH_USER_COMMAND_NICK }, + { IDC_NICK, IDH_USER_COMMAND_NICK }, + { IDC_SETTINGS_ONCE, IDH_USER_COMMAND_ONCE }, + { IDOK, IDH_DCPP_OK }, + { IDCANCEL, IDH_DCPP_CANCEL }, + { IDHELP, IDH_DCPP_HELP }, + { 0, 0 } +}; + CommandDlg::CommandDlg(SmartWin::Widget* parent, int type_, int ctx_, const tstring& name_, const tstring& command_, const tstring& hub_) : WidgetFactory<SmartWin::WidgetModalDialog>(parent), separator(0), @@ -61,8 +86,10 @@ bool CommandDlg::handleInitDialog() { setHelpId(IDH_USER_COMMAND); + WinUtil::setHelpIds(handle(), helpItems); + // Translate - setText(T_("Create / Modify Command")); + setText(T_("Create / Modify User Command")); ::SetDlgItemText(handle(), IDC_SETTINGS_TYPE, CT_("Command Type")); ::SetDlgItemText(handle(), IDC_SETTINGS_CONTEXT, CT_("Context")); ::SetDlgItemText(handle(), IDC_SETTINGS_PARAMETERS, CT_("Parameters")); Modified: dcplusplus/trunk/win32/DCPlusPlus.rc =================================================================== --- dcplusplus/trunk/win32/DCPlusPlus.rc 2008-03-26 13:39:40 UTC (rev 1055) +++ dcplusplus/trunk/win32/DCPlusPlus.rc 2008-03-26 13:41:27 UTC (rev 1056) @@ -253,7 +253,7 @@ IDD_USER_COMMAND DIALOGEX 0, 0, 195, 295 STYLE DS_SETFONT | DS_MODALFRAME | DS_3DLOOK | DS_FIXEDSYS | DS_CONTEXTHELP | WS_POPUP | WS_CAPTION | WS_SYSMENU -CAPTION "Create / Modify Command" +CAPTION "Create / Modify User Command" FONT 8, "MS Shell Dlg", 400, 0, 0x1 BEGIN GROUPBOX "Command Type",IDC_SETTINGS_TYPE,7,7,181,37 Modified: dcplusplus/trunk/win32/DownloadPage.cpp =================================================================== --- dcplusplus/trunk/win32/DownloadPage.cpp 2008-03-26 13:39:40 UTC (rev 1055) +++ dcplusplus/trunk/win32/DownloadPage.cpp 2008-03-26 13:41:27 UTC (rev 1056) @@ -26,7 +26,7 @@ #include "WinUtil.h" #include "HubListsDlg.h" -PropPage::HelpItem DownloadPage::helpItems[] = { +static const WinUtil::HelpItem helpItems[] = { { IDC_SETTINGS_DOWNLOAD_DIRECTORY, IDH_SETTINGS_DOWNLOAD_DOWNLOADDIR }, { IDC_DOWNLOADDIR, IDH_SETTINGS_DOWNLOAD_DOWNLOADDIR }, { IDC_BROWSEDIR, IDH_SETTINGS_DOWNLOAD_DOWNLOADDIR }, @@ -76,7 +76,7 @@ createDialog(IDD_DOWNLOADPAGE); setHelpId(IDH_DOWNLOADPAGE); - PropPage::setHelpIds(handle(), helpItems); + WinUtil::setHelpIds(handle(), helpItems); PropPage::translate(handle(), texts); PropPage::read(handle(), items); Modified: dcplusplus/trunk/win32/DownloadPage.h =================================================================== --- dcplusplus/trunk/win32/DownloadPage.h 2008-03-26 13:39:40 UTC (rev 1055) +++ dcplusplus/trunk/win32/DownloadPage.h 2008-03-26 13:41:27 UTC (rev 1056) @@ -30,7 +30,6 @@ virtual void write(); private: - static HelpItem helpItems[]; static Item items[]; static TextItem texts[]; Modified: dcplusplus/trunk/win32/FavoriteDirsPage.cpp =================================================================== --- dcplusplus/trunk/win32/FavoriteDirsPage.cpp 2008-03-26 13:39:40 UTC (rev 1055) +++ dcplusplus/trunk/win32/FavoriteDirsPage.cpp 2008-03-26 13:41:27 UTC (rev 1056) @@ -28,7 +28,7 @@ #include "WinUtil.h" #include "LineDlg.h" -PropPage::HelpItem FavoriteDirsPage::helpItems[] = { +static const WinUtil::HelpItem helpItems[] = { { IDC_SETTINGS_FAVORITE_DIRECTORIES, IDH_SETTINGS_FAVORITE_DIRS_FAVORITE_DIRECTORIES }, { IDC_FAVORITE_DIRECTORIES, IDH_SETTINGS_FAVORITE_DIRS_FAVORITE_DIRECTORIES }, { IDC_RENAME, IDH_SETTINGS_FAVORITE_DIRS_RENAME }, @@ -49,7 +49,7 @@ createDialog(IDD_FAVORITE_DIRSPAGE); setHelpId(IDH_FAVORITE_DIRSPAGE); - PropPage::setHelpIds(handle(), helpItems); + WinUtil::setHelpIds(handle(), helpItems); PropPage::translate(handle(), texts); directories = attachList(IDC_FAVORITE_DIRECTORIES); Modified: dcplusplus/trunk/win32/FavoriteDirsPage.h =================================================================== --- dcplusplus/trunk/win32/FavoriteDirsPage.h 2008-03-26 13:39:40 UTC (rev 1055) +++ dcplusplus/trunk/win32/FavoriteDirsPage.h 2008-03-26 13:41:27 UTC (rev 1056) @@ -30,7 +30,6 @@ virtual void write(); private: - static HelpItem helpItems[]; static TextItem texts[]; WidgetListViewPtr directories; Modified: dcplusplus/trunk/win32/GeneralPage.cpp =================================================================== --- dcplusplus/trunk/win32/GeneralPage.cpp 2008-03-26 13:39:40 UTC (rev 1055) +++ dcplusplus/trunk/win32/GeneralPage.cpp 2008-03-26 13:41:27 UTC (rev 1056) @@ -23,8 +23,9 @@ #include "GeneralPage.h" #include <dcpp/SettingsManager.h> +#include "WinUtil.h" -PropPage::HelpItem GeneralPage::helpItems[] = { +static const WinUtil::HelpItem helpItems[] = { { IDC_SETTINGS_PERSONAL_INFORMATION, IDH_SETTINGS_GENERAL_PERSONAL_INFORMATION }, { IDC_SETTINGS_NICK, IDH_SETTINGS_GENERAL_NICK }, { IDC_NICK, IDH_SETTINGS_GENERAL_NICK }, @@ -60,7 +61,7 @@ createDialog(IDD_GENERALPAGE); setHelpId(IDH_GENERALPAGE); - PropPage::setHelpIds(handle(), helpItems); + WinUtil::setHelpIds(handle(), helpItems); PropPage::translate(handle(), texts); PropPage::read(handle(), items); Modified: dcplusplus/trunk/win32/GeneralPage.h =================================================================== --- dcplusplus/trunk/win32/GeneralPage.h 2008-03-26 13:39:40 UTC (rev 1055) +++ dcplusplus/trunk/win32/GeneralPage.h 2008-03-26 13:41:27 UTC (rev 1056) @@ -30,7 +30,6 @@ virtual void write(); private: - static HelpItem helpItems[]; static Item items[]; static TextItem texts[]; Modified: dcplusplus/trunk/win32/LogPage.cpp =================================================================== --- dcplusplus/trunk/win32/LogPage.cpp 2008-03-26 13:39:40 UTC (rev 1055) +++ dcplusplus/trunk/win32/LogPage.cpp 2008-03-26 13:41:27 UTC (rev 1056) @@ -27,7 +27,7 @@ #include <dcpp/LogManager.h> #include "WinUtil.h" -PropPage::HelpItem LogPage::helpItems[] = { +static const WinUtil::HelpItem helpItems[] = { { IDC_SETTINGS_LOG_DIR, IDH_SETTINGS_LOG_DIRECTORY }, { IDC_LOG_DIRECTORY, IDH_SETTINGS_LOG_DIRECTORY }, { IDC_BROWSE_LOG, IDH_SETTINGS_LOG_DIRECTORY }, @@ -63,7 +63,7 @@ createDialog(IDD_LOGPAGE); setHelpId(IDH_LOGPAGE); - PropPage::setHelpIds(handle(), helpItems); + WinUtil::setHelpIds(handle(), helpItems); PropPage::translate(handle(), texts); PropPage::read(handle(), items, listItems, ::GetDlgItem(handle(), IDC_LOG_OPTIONS)); Modified: dcplusplus/trunk/win32/LogPage.h =================================================================== --- dcplusplus/trunk/win32/LogPage.h 2008-03-26 13:39:40 UTC (rev 1055) +++ dcplusplus/trunk/win32/LogPage.h 2008-03-26 13:41:27 UTC (rev 1056) @@ -31,7 +31,6 @@ virtual void write(); private: - static HelpItem helpItems[]; static Item items[]; static TextItem texts[]; static ListItem listItems[]; Modified: dcplusplus/trunk/win32/NetworkPage.cpp =================================================================== --- dcplusplus/trunk/win32/NetworkPage.cpp 2008-03-26 13:39:40 UTC (rev 1055) +++ dcplusplus/trunk/win32/NetworkPage.cpp 2008-03-26 13:41:27 UTC (rev 1056) @@ -26,7 +26,7 @@ #include <dcpp/Socket.h> #include "WinUtil.h" -PropPage::HelpItem NetworkPage::helpItems[] = { +static const WinUtil::HelpItem helpItems[] = { { IDC_DIRECT, IDH_SETTINGS_NETWORK_DIRECT }, { IDC_FIREWALL_UPNP, IDH_SETTINGS_NETWORK_FIREWALL_UPNP }, { IDC_FIREWALL_NAT, IDH_SETTINGS_NETWORK_FIREWALL_NAT }, @@ -95,7 +95,7 @@ createDialog(IDD_NETWORKPAGE); setHelpId(IDH_NETWORKPAGE); - PropPage::setHelpIds(handle(), helpItems); + WinUtil::setHelpIds(handle(), helpItems); PropPage::translate(handle(), texts); if(!(WinUtil::getOsMajor() >= 5 && WinUtil::getOsMinor() >= 1 //WinXP & WinSvr2003 Modified: dcplusplus/trunk/win32/NetworkPage.h =================================================================== --- dcplusplus/trunk/win32/NetworkPage.h 2008-03-26 13:39:40 UTC (rev 1055) +++ dcplusplus/trunk/win32/NetworkPage.h 2008-03-26 13:41:27 UTC (rev 1056) @@ -31,7 +31,6 @@ virtual void write(); private: - static HelpItem helpItems[]; static Item items[]; static TextItem texts[]; Modified: dcplusplus/trunk/win32/PropPage.cpp =================================================================== --- dcplusplus/trunk/win32/PropPage.cpp 2008-03-26 13:39:40 UTC (rev 1055) +++ dcplusplus/trunk/win32/PropPage.cpp 2008-03-26 13:41:27 UTC (rev 1056) @@ -31,12 +31,6 @@ PropPage::~PropPage() { } -void PropPage::setHelpIds(HWND page, HelpItem* items) { - if(items) - for(size_t i = 0; items[i].ctrlId != 0; ++i) - ::SetWindowContextHelpId(::GetDlgItem(page, items[i].ctrlId), items[i].helpId); -} - void PropPage::read(HWND page, Item const* items, ListItem* listItems /* = NULL */, HWND list /* = 0 */) { dcassert(page != NULL); @@ -127,12 +121,9 @@ } } - if(listItems) { - int i; - for(i = 0; listItems[i].setting != 0; i++) { + if(listItems) + for(size_t i = 0; listItems[i].setting != 0; ++i) settings->set(SettingsManager::IntSetting(listItems[i].setting), ListView_GetCheckState(list, i) > 0); - } - } } void PropPage::translate(HWND page, TextItem* items) { Modified: dcplusplus/trunk/win32/PropPage.h =================================================================== --- dcplusplus/trunk/win32/PropPage.h 2008-03-26 13:39:40 UTC (rev 1055) +++ dcplusplus/trunk/win32/PropPage.h 2008-03-26 13:41:27 UTC (rev 1056) @@ -33,11 +33,6 @@ enum Type { T_STR, T_INT, T_BOOL, T_CUSTOM, T_END }; - struct HelpItem { - unsigned ctrlId; - unsigned helpId; - }; - struct Item { WORD itemID; int setting; @@ -55,7 +50,6 @@ }; protected: - void setHelpIds(HWND page, HelpItem* items); void read(HWND page, Item const* items, ListItem* listItems = NULL, HWND list = NULL); void write(HWND page, Item const* items, ListItem* listItems = NULL, HWND list = NULL); void translate(HWND page, TextItem* items); Modified: dcplusplus/trunk/win32/QueuePage.cpp =================================================================== --- dcplusplus/trunk/win32/QueuePage.cpp 2008-03-26 13:39:40 UTC (rev 1055) +++ dcplusplus/trunk/win32/QueuePage.cpp 2008-03-26 13:41:27 UTC (rev 1056) @@ -23,8 +23,9 @@ #include "QueuePage.h" #include <dcpp/SettingsManager.h> +#include "WinUtil.h" -PropPage::HelpItem QueuePage::helpItems[] = { +static const WinUtil::HelpItem helpItems[] = { { IDC_SETTINGS_AUTOPRIO, IDH_SETTINGS_QUEUE_AUTOPRIO }, { IDC_SETTINGS_PRIO_HIGHEST, IDH_SETTINGS_QUEUE_PRIO_HIGHEST }, { IDC_PRIO_HIGHEST_SIZE, IDH_SETTINGS_QUEUE_PRIO_HIGHEST }, @@ -117,7 +118,7 @@ createDialog(IDD_QUEUEPAGE); setHelpId(IDH_QUEUEPAGE); - PropPage::setHelpIds(handle(), helpItems); + WinUtil::setHelpIds(handle(), helpItems); PropPage::translate(handle(), texts); PropPage::read(handle(), items, 0, 0); PropPage::read(handle(), items, optionItems, ::GetDlgItem(handle(), IDC_OTHER_QUEUE_OPTIONS)); Modified: dcplusplus/trunk/win32/QueuePage.h =================================================================== --- dcplusplus/trunk/win32/QueuePage.h 2008-03-26 13:39:40 UTC (rev 1055) +++ dcplusplus/trunk/win32/QueuePage.h 2008-03-26 13:41:27 UTC (rev 1056) @@ -31,7 +31,6 @@ virtual void write(); private: - static HelpItem helpItems[]; static Item items[]; static TextItem texts[]; static ListItem optionItems[]; Modified: dcplusplus/trunk/win32/SettingsDialog.cpp =================================================================== --- dcplusplus/trunk/win32/SettingsDialog.cpp 2008-03-26 13:39:40 UTC (rev 1055) +++ dcplusplus/trunk/win32/SettingsDialog.cpp 2008-03-26 13:41:27 UTC (rev 1056) @@ -39,6 +39,14 @@ #include "UCPage.h" #include "CertificatesPage.h" +static const WinUtil::HelpItem helpItems[] = { + { IDC_SETTINGS_PAGES, IDH_SETTINGS_TREE }, + { IDOK, IDH_DCPP_OK }, + { IDCANCEL, IDH_DCPP_CANCEL }, + { IDHELP, IDH_DCPP_HELP }, + { 0, 0 } +}; + static const TCHAR SEPARATOR = _T('\\'); static const size_t MAX_NAME_LENGTH = 256; @@ -55,27 +63,28 @@ } bool SettingsDialog::initDialog() { + // set this to IDH_STARTPAGE so that clicking in an empty space of the dialog generates a WM_HELP message with no error; then SettingsDialog::handleHelp will convert IDH_STARTPAGE to the current page's help id + setHelpId(IDH_STARTPAGE); + + WinUtil::setHelpIds(handle(), helpItems); + setText(T_("Settings")); pageTree = attachTreeView(IDC_SETTINGS_PAGES); - pageTree->setHelpId(IDH_SETTINGS_TREE); pageTree->onSelectionChanged(std::tr1::bind(&SettingsDialog::selectionChanged, this)); { WidgetButtonPtr button = attachButton(IDOK); - button->setHelpId(IDH_SETTINGS_OK); button->setText(T_("OK")); button->onClicked(std::tr1::bind(&SettingsDialog::handleOKClicked, this)); button = attachButton(IDCANCEL); - button->setHelpId(IDH_SETTINGS_CANCEL); button->setText(T_("Cancel")); button->onClicked(std::tr1::bind(&SettingsDialog::endDialog, this, IDCANCEL)); button = attachButton(IDHELP); - button->setHelpId(IDH_SETTINGS_HELP); button->setText(T_("Help")); - button->onClicked(std::tr1::bind(&SettingsDialog::handleHelp, this, 0, handle(), 0)); + button->onClicked(std::tr1::bind(&SettingsDialog::handleHelp, this, 0, handle(), IDH_STARTPAGE)); } addPage(T_("Personal information"), new GeneralPage(this)); @@ -98,7 +107,7 @@ } void SettingsDialog::handleHelp(unsigned ctrlId, HWND hWnd, unsigned helpId) { - if(helpId == 0 && currentPage) + if(helpId == IDH_STARTPAGE && currentPage) helpId = currentPage->getHelpId(); WinUtil::help(ctrlId, hWnd, helpId); } Modified: dcplusplus/trunk/win32/UCPage.cpp =================================================================== --- dcplusplus/trunk/win32/UCPage.cpp 2008-03-26 13:39:40 UTC (rev 1055) +++ dcplusplus/trunk/win32/UCPage.cpp 2008-03-26 13:41:27 UTC (rev 1056) @@ -26,8 +26,9 @@ #include <dcpp/FavoriteManager.h> #include "CommandDlg.h" #include "HoldRedraw.h" +#include "WinUtil.h" -PropPage::HelpItem UCPage::helpItems[] = { +static const WinUtil::HelpItem helpItems[] = { { IDC_MENU_ITEMS, IDH_SETTINGS_UC_LIST }, { IDC_ADD_MENU, IDH_SETTINGS_UC_ADD }, { IDC_CHANGE_MENU, IDH_SETTINGS_UC_CHANGE }, @@ -54,7 +55,7 @@ createDialog(IDD_UCPAGE); setHelpId(IDH_UCPAGE); - PropPage::setHelpIds(handle(), helpItems); + WinUtil::setHelpIds(handle(), helpItems); PropPage::translate(handle(), texts); PropPage::read(handle(), items); Modified: dcplusplus/trunk/win32/UCPage.h =================================================================== --- dcplusplus/trunk/win32/UCPage.h 2008-03-26 13:39:40 UTC (rev 1055) +++ dcplusplus/trunk/win32/UCPage.h 2008-03-26 13:41:27 UTC (rev 1056) @@ -32,7 +32,6 @@ virtual void write(); private: - static HelpItem helpItems[]; static Item items[]; static TextItem texts[]; Modified: dcplusplus/trunk/win32/UploadPage.cpp =================================================================== --- dcplusplus/trunk/win32/UploadPage.cpp 2008-03-26 13:39:40 UTC (rev 1055) +++ dcplusplus/trunk/win32/UploadPage.cpp 2008-03-26 13:41:27 UTC (rev 1056) @@ -29,7 +29,7 @@ #include "LineDlg.h" #include "HashProgressDlg.h" -PropPage::HelpItem UploadPage::helpItems[] = { +static const WinUtil::HelpItem helpItems[] = { { IDC_SETTINGS_SHARED_DIRECTORIES, IDH_SETTINGS_UPLOAD_DIRECTORIES }, { IDC_DIRECTORIES, IDH_SETTINGS_UPLOAD_DIRECTORIES }, { IDC_SETTINGS_ONLY_HASHED, IDH_SETTINGS_UPLOAD_DIRECTORIES }, @@ -74,7 +74,7 @@ createDialog(IDD_UPLOADPAGE); setHelpId(IDH_UPLOADPAGE); - PropPage::setHelpIds(handle(), helpItems); + WinUtil::setHelpIds(handle(), helpItems); PropPage::translate(handle(), texts); PropPage::read(handle(), items); Modified: dcplusplus/trunk/win32/UploadPage.h =================================================================== --- dcplusplus/trunk/win32/UploadPage.h 2008-03-26 13:39:40 UTC (rev 1055) +++ dcplusplus/trunk/win32/UploadPage.h 2008-03-26 13:41:27 UTC (rev 1056) @@ -32,7 +32,6 @@ virtual int getHelpId() { return IDD_UPLOADPAGE; } private: - static HelpItem helpItems[]; static Item items[]; static TextItem texts[]; Modified: dcplusplus/trunk/win32/WinUtil.cpp =================================================================== --- dcplusplus/trunk/win32/WinUtil.cpp 2008-03-26 13:39:40 UTC (rev 1055) +++ dcplusplus/trunk/win32/WinUtil.cpp 2008-03-26 13:41:27 UTC (rev 1056) @@ -198,6 +198,12 @@ } } +void WinUtil::setHelpIds(HWND hWnd, const HelpItem* items) { + dcassert(hWnd && items); + for(size_t i = 0; items[i].ctrlId != 0; ++i) + ::SetWindowContextHelpId(::GetDlgItem(hWnd, items[i].ctrlId), items[i].helpId); +} + #define LINE2 _T("-- http://dcplusplus.sourceforge.net <DC++ ") _T(VERSIONSTRING) _T(">") const TCHAR *msgs[] = { _T("\r\n-- I'm a happy dc++ user. You could be happy too.\r\n") LINE2, _T("\r\n-- Neo-...what? Nope...never heard of it...\r\n") LINE2, @@ -577,9 +583,14 @@ void WinUtil::help(unsigned ctrlId, HWND hWnd, unsigned helpId) { dcdebug("WinUtil::help; ctrlId: %u; hWnd: %p; helpId: %u\n", ctrlId, hWnd, helpId); + + string path = Util::getDataPath() + "DCPlusPlus.chm"; + if(File::getSize(path) == -1) + return; + tstring helpFile = Text::toT(path); + if(helpId >= IDH_TOPICS_BEGIN && helpId <= IDH_TOPICS_END) ctrlId = 0; - tstring helpFile = Text::toT(Util::getDataPath() + "DCPlusPlus.chm"); if(ctrlId && helpId) { // a control ID has been given; display a toolTip DWORD ids[3]; Modified: dcplusplus/trunk/win32/WinUtil.h =================================================================== --- dcplusplus/trunk/win32/WinUtil.h 2008-03-26 13:39:40 UTC (rev 1055) +++ dcplusplus/trunk/win32/WinUtil.h 2008-03-26 13:41:27 UTC (rev 1056) @@ -75,13 +75,20 @@ static const SmartWin::WidgetTextBox::Seed textBox; static const SmartWin::WidgetTreeView::Seed treeView; }; - + + struct HelpItem { + unsigned ctrlId; + unsigned helpId; + }; + static void init(); static void uninit(); static tstring encodeFont(LOGFONT const& font); static void decodeFont(const tstring& setting, LOGFONT &dest); + static void setHelpIds(HWND hWnd, const HelpItem* items); + /** * Check if this is a common /-command. * @param cmd The whole text string, will be updated to contain only the command. This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <arn...@us...> - 2008-03-26 13:39:44
|
Revision: 1055 http://dcplusplus.svn.sourceforge.net/dcplusplus/?rev=1055&view=rev Author: arnetheduck Date: 2008-03-26 06:39:40 -0700 (Wed, 26 Mar 2008) Log Message: ----------- Remove some boost stuff that's no longer needed Modified Paths: -------------- dcplusplus/trunk/.bzrignore dcplusplus/trunk/SConstruct dcplusplus/trunk/smartwin/SmartUtil/DateTime.cpp dcplusplus/trunk/smartwin/SmartUtil/DateTime.h dcplusplus/trunk/smartwin/include/smartwin/Application.h dcplusplus/trunk/smartwin/include/smartwin/widgets/WidgetMenu.h dcplusplus/trunk/smartwin/source/Application.cpp dcplusplus/trunk/win32/AspectUserCommand.h dcplusplus/trunk/win32/SConscript Removed Paths: ------------- dcplusplus/trunk/boost/SConscript dcplusplus/trunk/boost/boost/graph/ dcplusplus/trunk/boost/boost/mpl/ dcplusplus/trunk/boost/boost/numeric/ dcplusplus/trunk/boost/boost/preprocessor/ dcplusplus/trunk/boost/boost/spirit/ dcplusplus/trunk/boost/boost/test/ dcplusplus/trunk/boost/boost/xpressive/ dcplusplus/trunk/boost/libs/ Property Changed: ---------------- dcplusplus/trunk/ Property changes on: dcplusplus/trunk ___________________________________________________________________ Name: bzr:revision-info - timestamp: 2008-03-23 23:12:49.148000002 +0100 committer: zouzou123gen properties: branch-nick: bzr + timestamp: 2008-03-24 15:06:23.664999962 +0100 committer: Jacek Sieka <arn...@gm...> properties: branch-nick: dcplusplus Name: bzr:revision-id:v3-trunk1 - 1027 arn...@gm...-20080323183926-schknwnkgeo7ivdn 1028 zouzou123gen-20080323220411-r8usuc3qxwuh7zsn 1029 zouzou123gen-20080323221249-0su72zaj13e706mk + 1027 arn...@gm...-20080323183926-schknwnkgeo7ivdn 1028 zouzou123gen-20080323220411-r8usuc3qxwuh7zsn 1029 zouzou123gen-20080323221249-0su72zaj13e706mk 1030 arn...@gm...-20080324140623-muba1dl46m000o8c Modified: dcplusplus/trunk/.bzrignore =================================================================== --- dcplusplus/trunk/.bzrignore 2008-03-26 13:25:32 UTC (rev 1054) +++ dcplusplus/trunk/.bzrignore 2008-03-26 13:39:40 UTC (rev 1055) @@ -9,3 +9,4 @@ ./htmlhelp/lib/htmlhelp.lib natupnp.h ./help/changelog.html +./.pydevproject Modified: dcplusplus/trunk/SConstruct =================================================================== --- dcplusplus/trunk/SConstruct 2008-03-26 13:25:32 UTC (rev 1054) +++ dcplusplus/trunk/SConstruct 2008-03-26 13:39:40 UTC (rev 1055) @@ -169,7 +169,6 @@ dev.zlib = dev.build('zlib/') dev.bzip2 = dev.build('bzip2/') dev.intl = dev.build('intl/') -dev.boost = dev.build('boost/') dev.client = dev.build('dcpp/') dev.smartwin = dev.build('smartwin/') dev.win32 = dev.build('win32/') Deleted: dcplusplus/trunk/boost/SConscript =================================================================== --- dcplusplus/trunk/boost/SConscript 2008-03-26 13:25:32 UTC (rev 1054) +++ dcplusplus/trunk/boost/SConscript 2008-03-26 13:39:40 UTC (rev 1055) @@ -1,8 +0,0 @@ -# vim: set filetype=py - -Import('dev source_path') - -ret = dev.build('libs/signals/src/') - -Return('ret') - Modified: dcplusplus/trunk/smartwin/SmartUtil/DateTime.cpp =================================================================== --- dcplusplus/trunk/smartwin/SmartUtil/DateTime.cpp 2008-03-26 13:25:32 UTC (rev 1054) +++ dcplusplus/trunk/smartwin/SmartUtil/DateTime.cpp 2008-03-26 13:39:40 UTC (rev 1055) @@ -28,7 +28,6 @@ */ #include "UtilSystemHeaders.h" #include "DateTime.h" -#include <boost/lexical_cast.hpp> namespace SmartUtil { @@ -48,49 +47,6 @@ : itsSysTime( sysTime ) {} -DateTime::DateTime( const tstring & date, const tstring & format ) -{ - itsSysTime.wYear = 1601; - itsSysTime.wMonth = 1; - itsSysTime.wDayOfWeek = 0; - itsSysTime.wDay = 1; - itsSysTime.wHour = 0; - itsSysTime.wMinute = 0; - itsSysTime.wSecond = 0; - itsSysTime.wMilliseconds = 0; - - size_t yearsStart = format.find( _T( "yyyy" ) ); - size_t monthsStart = format.find( _T( "MM" ) ); - size_t daysStart = format.find( _T( "dd" ) ); - size_t hoursStart = format.find( _T( "HH" ) ); - size_t minutesStart = format.find( _T( "mm" ) ); - size_t secondsStart = format.find( _T( "ss" ) ); - if ( yearsStart != tstring::npos ) - { - itsSysTime.wYear = boost::lexical_cast< WORD >( date.substr( yearsStart, 4 ) ); - } - if ( monthsStart != tstring::npos ) - { - itsSysTime.wMonth = boost::lexical_cast< WORD >( date.substr( monthsStart, 2 ) ); - } - if ( daysStart != tstring::npos ) - { - itsSysTime.wDay = boost::lexical_cast< WORD >( date.substr( daysStart, 2 ) ); - } - if ( hoursStart != tstring::npos ) - { - itsSysTime.wHour = boost::lexical_cast< WORD >( date.substr( hoursStart, 2 ) ); - } - if ( minutesStart != tstring::npos ) - { - itsSysTime.wMinute = boost::lexical_cast< WORD >( date.substr( minutesStart, 2 ) ); - } - if ( secondsStart != tstring::npos ) - { - itsSysTime.wSecond = boost::lexical_cast< WORD >( date.substr( secondsStart, 2 ) ); - } -} - DateTime::DateTime( unsigned year, unsigned month, unsigned day, unsigned hour, unsigned minute, unsigned seconds, unsigned milliseconds ) { itsSysTime.wDayOfWeek = 0; Modified: dcplusplus/trunk/smartwin/SmartUtil/DateTime.h =================================================================== --- dcplusplus/trunk/smartwin/SmartUtil/DateTime.h 2008-03-26 13:25:32 UTC (rev 1054) +++ dcplusplus/trunk/smartwin/SmartUtil/DateTime.h 2008-03-26 13:39:40 UTC (rev 1055) @@ -59,11 +59,6 @@ /// Construct a new DateTime from the given SYSTEMTIME explicit DateTime( const SYSTEMTIME & sysTime ); - /// Construct a DateTime object from the given "date" which is being expected to be in the given "format" - /** format could be e.g. "yyyy.MM.dd" while date could be e.g. "2006.11.29" - */ - DateTime( const tstring & date, const tstring & format ); - /// Constructs a date according to the values given DateTime( unsigned year, unsigned month, unsigned day, unsigned hour = 0, unsigned minute = 0, unsigned seconds = 0, unsigned milliseconds = 0 ); Modified: dcplusplus/trunk/smartwin/include/smartwin/Application.h =================================================================== --- dcplusplus/trunk/smartwin/include/smartwin/Application.h 2008-03-26 13:25:32 UTC (rev 1054) +++ dcplusplus/trunk/smartwin/include/smartwin/Application.h 2008-03-26 13:39:40 UTC (rev 1055) @@ -34,10 +34,9 @@ #include "ApplicationPlatform.h" #include "xCeption.h" #include <vector> -#include <memory> -#include <boost/noncopyable.hpp> -#include <boost/signal.hpp> +#include <list> #include <map> +#include <boost/noncopyable.hpp> #include "Message.h" #ifdef _MSC_VER @@ -172,9 +171,8 @@ */ bool isAppAlreadyRunning(); - /// Since boost::signal is noncopyable we use smart pointers of signals - typedef std::tr1::shared_ptr < boost::signal < void () > > SignalPtr; - + typedef std::tr1::function<void()> Callback; + /// Adds a waitable event HANDLE and the according signal /** You can feed in here HANDLEs of thread handles, console inputs, mutexes, * processes, semaphores etc. (see Win32-API on MsgWaitForMultipleObjects) you @@ -183,7 +181,7 @@ * Windows signals the HANDLE. (Since boost::signal is noncopyable we actually * need here a smart pointer to the signal.) */ - bool addWaitEvent( HANDLE hEvent, SignalPtr ); + bool addWaitEvent( HANDLE hEvent, const Callback& ); /// Removes the waitable event HANDLE and the according signal /** Remove the event HANDLE in case we are not longer interested in being @@ -211,7 +209,7 @@ std::vector< HANDLE > itsVHEvents; // The according signals we must raise, go in this vector. - std::vector< SignalPtr > itsVSignals; + std::vector< Callback > itsVSignals; FilterList filters; Modified: dcplusplus/trunk/smartwin/include/smartwin/widgets/WidgetMenu.h =================================================================== --- dcplusplus/trunk/smartwin/include/smartwin/widgets/WidgetMenu.h 2008-03-26 13:25:32 UTC (rev 1054) +++ dcplusplus/trunk/smartwin/include/smartwin/widgets/WidgetMenu.h 2008-03-26 13:39:40 UTC (rev 1055) @@ -125,7 +125,7 @@ * WidgetWindow. <br> * Note for Desktop version only! <br> */ -class WidgetMenu : public boost::enable_shared_from_this< WidgetMenu >, boost::noncopyable +class WidgetMenu : public boost::noncopyable { // friends friend class WidgetCreator< WidgetMenu >; Modified: dcplusplus/trunk/smartwin/source/Application.cpp =================================================================== --- dcplusplus/trunk/smartwin/source/Application.cpp 2008-03-26 13:25:32 UTC (rev 1054) +++ dcplusplus/trunk/smartwin/source/Application.cpp 2008-03-26 13:39:40 UTC (rev 1055) @@ -32,8 +32,6 @@ #include "../include/smartwin/aspects/AspectMouse.h" #include "../include/smartwin/aspects/AspectSizable.h" -#include <boost/lexical_cast.hpp> - using namespace SmartWin; // link to Common Controls to relieve user of explicitly doing so @@ -195,7 +193,7 @@ } } -bool Application::addWaitEvent( HANDLE hWaitEvent, Application::SignalPtr pSignal ) +bool Application::addWaitEvent( HANDLE hWaitEvent, const Application::Callback& pSignal ) { // in case the maximum number of objects is already achieved return false if ( itsVHEvents.size() >= MAXIMUM_WAIT_OBJECTS - 1 ) @@ -213,7 +211,7 @@ { if ( hWaitEvent != INVALID_HANDLE_VALUE ) { - std::vector< Application::SignalPtr >::iterator pSig; + std::vector< Callback >::iterator pSig; std::vector< HANDLE >::iterator pH; for ( pSig = itsVSignals.begin(), pH = itsVHEvents.begin(); pSig != itsVSignals.end(); pSig++, pH++ ) @@ -314,7 +312,7 @@ { // the wait event was signalled by Windows // signal its handlers - ( * itsVSignals[dwWaitResult - WAIT_OBJECT_0] )(); + itsVSignals[dwWaitResult - WAIT_OBJECT_0](); } else if ( dwWaitResult == WAIT_OBJECT_0 + itsVHEvents.size() ) { @@ -345,12 +343,7 @@ } else if ( dwWaitResult < WAIT_ABANDONED_0 + itsVHEvents.size() ) { - SmartUtil::tstring strX = - _T( "Application::run : Encountered an abandoned wait mutex object (index " ); - strX += boost::lexical_cast< SmartUtil::tstring >( dwWaitResult - WAIT_ABANDONED_0 ); - strX += _T( " )." ); - - throw xCeption( strX ); + throw xCeption( _T( "Application::run : Encountered an abandoned wait mutex object ") ); } else if ( dwWaitResult != WAIT_TIMEOUT ) { Modified: dcplusplus/trunk/win32/AspectUserCommand.h =================================================================== --- dcplusplus/trunk/win32/AspectUserCommand.h 2008-03-26 13:25:32 UTC (rev 1054) +++ dcplusplus/trunk/win32/AspectUserCommand.h 2008-03-26 13:39:40 UTC (rev 1055) @@ -59,7 +59,7 @@ StringTokenizer<tstring> t(Text::toT(uc->getName()), _T('\\')); for(TStringIter i = t.getTokens().begin(); i != t.getTokens().end(); ++i) { if(i+1 == t.getTokens().end()) { - cur->appendItem(IDC_USER_COMMAND + n, *i, std::tr1::bind(&T::runUserCommand, static_cast<T*>(this), boost::cref(*uc))); + cur->appendItem(IDC_USER_COMMAND + n, *i, std::tr1::bind(&T::runUserCommand, static_cast<T*>(this), std::tr1::cref(*uc))); } else { bool found = false; // Let's see if we find an existing item... Modified: dcplusplus/trunk/win32/SConscript =================================================================== --- dcplusplus/trunk/win32/SConscript 2008-03-26 13:25:32 UTC (rev 1054) +++ dcplusplus/trunk/win32/SConscript 2008-03-26 13:39:40 UTC (rev 1055) @@ -17,5 +17,5 @@ headers=dev.get_sources(source_path, "*.h") dev.i18n(source_path, env, [sources,headers], 'dcpp-win32') -ret = env.Program(target, [sources, res, dev.client, dev.zlib, dev.bzip2, dev.smartwin, dev.boost, dev.intl]) +ret = env.Program(target, [sources, res, dev.client, dev.zlib, dev.bzip2, dev.smartwin, dev.intl]) Return('ret') This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <arn...@us...> - 2008-03-26 13:25:36
|
Revision: 1054 http://dcplusplus.svn.sourceforge.net/dcplusplus/?rev=1054&view=rev Author: arnetheduck Date: 2008-03-26 06:25:32 -0700 (Wed, 26 Mar 2008) Log Message: ----------- ignore changelog.html Modified Paths: -------------- dcplusplus/trunk/.bzrignore Property Changed: ---------------- dcplusplus/trunk/ Property changes on: dcplusplus/trunk ___________________________________________________________________ Name: bzr:revision-info - timestamp: 2008-03-23 23:04:11.335000038 +0100 committer: zouzou123gen properties: branch-nick: bzr + timestamp: 2008-03-23 23:12:49.148000002 +0100 committer: zouzou123gen properties: branch-nick: bzr Name: bzr:file-ids - help/cshelp.h cshelp.h-20080323211545-fxj0529zte7sgs2e-1 help/cshelp.txt cshelp.txt-20080323211550-4lqhpnxmjuu3efy2-1 help/dialog_user_command.html 377@f586c4b0-9d0d-0410-bc51-f1fe239209fc:dcplusplus%2Ftrunk:help%2Fsettings_usercommands.html help/settings_user_commands.html settings_user_comman-20080323211611-j86066ug4dxbfwgl-1 + Name: bzr:revision-id:v3-trunk1 - 1027 arn...@gm...-20080323183926-schknwnkgeo7ivdn 1028 zouzou123gen-20080323220411-r8usuc3qxwuh7zsn + 1027 arn...@gm...-20080323183926-schknwnkgeo7ivdn 1028 zouzou123gen-20080323220411-r8usuc3qxwuh7zsn 1029 zouzou123gen-20080323221249-0su72zaj13e706mk Modified: dcplusplus/trunk/.bzrignore =================================================================== --- dcplusplus/trunk/.bzrignore 2008-03-26 13:24:55 UTC (rev 1053) +++ dcplusplus/trunk/.bzrignore 2008-03-26 13:25:32 UTC (rev 1054) @@ -8,3 +8,4 @@ ./htmlhelp/include/htmlhelp.h ./htmlhelp/lib/htmlhelp.lib natupnp.h +./help/changelog.html This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <arn...@us...> - 2008-03-26 13:24:57
|
Revision: 1053 http://dcplusplus.svn.sourceforge.net/dcplusplus/?rev=1053&view=rev Author: arnetheduck Date: 2008-03-26 06:24:55 -0700 (Wed, 26 Mar 2008) Log Message: ----------- Context-sensitive help Modified Paths: -------------- dcplusplus/trunk/changelog.txt dcplusplus/trunk/help/DCPlusPlus.hhp dcplusplus/trunk/help/compile.cmd dcplusplus/trunk/help/index.html dcplusplus/trunk/help/resource.h dcplusplus/trunk/help/settings_advanced.html dcplusplus/trunk/help/settings_appearance.html dcplusplus/trunk/help/settings_certs.html dcplusplus/trunk/help/settings_colors_and_sounds.html dcplusplus/trunk/help/settings_connection.html dcplusplus/trunk/help/settings_expert.html dcplusplus/trunk/help/settings_favoritedirs.html dcplusplus/trunk/help/settings_logs.html dcplusplus/trunk/help/settings_queue.html dcplusplus/trunk/help/settings_sharing.html dcplusplus/trunk/help/settings_tabs.html dcplusplus/trunk/help/settings_windows.html dcplusplus/trunk/help/toc.hhc dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectControl.h dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectHelp.h dcplusplus/trunk/win32/ADLSearchFrame.cpp dcplusplus/trunk/win32/Advanced3Page.cpp dcplusplus/trunk/win32/Advanced3Page.h dcplusplus/trunk/win32/Appearance2Page.cpp dcplusplus/trunk/win32/Appearance2Page.h dcplusplus/trunk/win32/AppearancePage.cpp dcplusplus/trunk/win32/AppearancePage.h dcplusplus/trunk/win32/CertificatesPage.cpp dcplusplus/trunk/win32/CertificatesPage.h dcplusplus/trunk/win32/CommandDlg.cpp dcplusplus/trunk/win32/DCPlusPlus.rc dcplusplus/trunk/win32/DownloadPage.cpp dcplusplus/trunk/win32/DownloadPage.h dcplusplus/trunk/win32/FavoriteDirsPage.cpp dcplusplus/trunk/win32/FavoriteDirsPage.h dcplusplus/trunk/win32/GeneralPage.cpp dcplusplus/trunk/win32/GeneralPage.h dcplusplus/trunk/win32/LogPage.cpp dcplusplus/trunk/win32/LogPage.h dcplusplus/trunk/win32/MainWindow.cpp dcplusplus/trunk/win32/NetworkPage.cpp dcplusplus/trunk/win32/NetworkPage.h dcplusplus/trunk/win32/PropPage.cpp dcplusplus/trunk/win32/PropPage.h dcplusplus/trunk/win32/QueuePage.cpp dcplusplus/trunk/win32/QueuePage.h dcplusplus/trunk/win32/SettingsDialog.cpp dcplusplus/trunk/win32/SettingsDialog.h dcplusplus/trunk/win32/UCPage.cpp dcplusplus/trunk/win32/UCPage.h dcplusplus/trunk/win32/UploadPage.cpp dcplusplus/trunk/win32/UploadPage.h dcplusplus/trunk/win32/WinUtil.cpp dcplusplus/trunk/win32/WinUtil.h dcplusplus/trunk/win32/resource.h dcplusplus/trunk/win32/stdafx.h Added Paths: ----------- dcplusplus/trunk/help/cshelp.h dcplusplus/trunk/help/cshelp.txt dcplusplus/trunk/help/dialog_user_command.html dcplusplus/trunk/help/settings_user_commands.html Removed Paths: ------------- dcplusplus/trunk/help/settings_usercommands.html Property Changed: ---------------- dcplusplus/trunk/ Property changes on: dcplusplus/trunk ___________________________________________________________________ Name: bzr:revision-info - timestamp: 2008-03-23 19:39:26.720000029 +0100 committer: Jacek Sieka <arn...@gm...> properties: branch-nick: dcplusplus + timestamp: 2008-03-23 23:04:11.335000038 +0100 committer: zouzou123gen properties: branch-nick: bzr Name: bzr:file-ids - update-languages.sh updatelanguages.sh-20080323172209-blm3rymztdyit6k9-1 .bzrignore bzrignore-20080323172312-t83zl06ak2a2csed-1 + help/cshelp.h cshelp.h-20080323211545-fxj0529zte7sgs2e-1 help/cshelp.txt cshelp.txt-20080323211550-4lqhpnxmjuu3efy2-1 help/dialog_user_command.html 377@f586c4b0-9d0d-0410-bc51-f1fe239209fc:dcplusplus%2Ftrunk:help%2Fsettings_usercommands.html help/settings_user_commands.html settings_user_comman-20080323211611-j86066ug4dxbfwgl-1 Name: bzr:revision-id:v3-trunk1 - 1027 arn...@gm...-20080323183926-schknwnkgeo7ivdn + 1027 arn...@gm...-20080323183926-schknwnkgeo7ivdn 1028 zouzou123gen-20080323220411-r8usuc3qxwuh7zsn Modified: dcplusplus/trunk/changelog.txt =================================================================== --- dcplusplus/trunk/changelog.txt 2008-03-23 18:41:22 UTC (rev 1052) +++ dcplusplus/trunk/changelog.txt 2008-03-26 13:24:55 UTC (rev 1053) @@ -4,6 +4,7 @@ * Use setenv on unix (thanks yakov suraev) * Fixed out of focus window when restoring from icon (poy) * [L#203865] Fixed multiple instances (poy) +* Context-sensitive help (poy) -- 0.705 2008-03-14 -- * Several patches for better *nix compatibility of the core (thanks steven sheehy et al) Modified: dcplusplus/trunk/help/DCPlusPlus.hhp =================================================================== --- dcplusplus/trunk/help/DCPlusPlus.hhp 2008-03-23 18:41:22 UTC (rev 1052) +++ dcplusplus/trunk/help/DCPlusPlus.hhp 2008-03-26 13:24:55 UTC (rev 1053) @@ -8,11 +8,13 @@ Enhanced decompilation=Yes Full-text search=Yes Index file=index.hhk -Language=0x409 English (United States) +Language=0x409 Anglais (\xC9tats-Unis) Title=Help for DC++ [FILES] +cshelp.h +cshelp.txt office11.css index.html changelog.html @@ -22,7 +24,7 @@ settings_general.html settings_logs.html settings_sharing.html -settings_usercommands.html +settings_user_commands.html settings_colors_and_sounds.html settings_expert.html settings_connection.html @@ -53,6 +55,7 @@ window_system_log.html window_network_stats.html dialog_indexing_progress.html +dialog_user_command.html fdl.html faq_keyboard_commands.html faq_upnp.html @@ -69,7 +72,9 @@ links.html [ALIAS] +IDH_STARTPAGE=index.html IDH_CHANGELOG=changelog.html +IDH_KEYBOARD=faq_keyboard_commands.html IDH_HUB=window_hub.html IDH_PM=window_pm.html IDH_DIRECTORY_LISTING=window_directory_listing.html @@ -87,6 +92,7 @@ IDH_SYSTEM_LOG=window_system_log.html IDH_NET_STATS=window_network_stats.html IDH_HASH_PROGRESS=dialog_indexing_progress.html +IDH_USER_COMMAND=dialog_user_command.html IDH_ADVANCED3PAGE=settings_expert.html IDH_ADVANCEDPAGE=settings_advanced.html IDH_APPEARANCE2PAGE=settings_colors_and_sounds.html @@ -94,12 +100,10 @@ IDH_DOWNLOADPAGE=settings_downloads.html IDH_FAVORITE_DIRSPAGE=settings_favoritedirs.html IDH_GENERALPAGE=settings_general.html -IDH_KEYBOARD=faq_keyboard_commands.html IDH_LOGPAGE=settings_logs.html IDH_NETWORKPAGE=settings_connection.html IDH_QUEUEPAGE=settings_queue.html -IDH_STARTPAGE=index.html -IDH_UCPAGE=settings_usercommands.html +IDH_UCPAGE=settings_user_commands.html IDH_UPLOADPAGE=settings_sharing.html IDH_WINDOWSPAGE=settings_windows.html IDH_CERTIFICATESPAGE=settings_certs.html @@ -108,6 +112,9 @@ [MAP] #include resource.h +[TEXT POPUPS] +cshelp.h +cshelp.txt [INFOTYPES] Modified: dcplusplus/trunk/help/compile.cmd =================================================================== --- dcplusplus/trunk/help/compile.cmd 2008-03-23 18:41:22 UTC (rev 1052) +++ dcplusplus/trunk/help/compile.cmd 2008-03-26 13:24:55 UTC (rev 1053) @@ -7,3 +7,5 @@ hhc.exe DCPlusPlus.hhp del users.bmp + +pause Added: dcplusplus/trunk/help/cshelp.h =================================================================== --- dcplusplus/trunk/help/cshelp.h (rev 0) +++ dcplusplus/trunk/help/cshelp.h 2008-03-26 13:24:55 UTC (rev 1053) @@ -0,0 +1,95 @@ +// this file contains help ids for field-level help tooltips + +#ifndef DCPLUSPLUS_HELP_CSHELP_H +#define DCPLUSPLUS_HELP_CSHELP_H + +#define IDH_SETTINGS_TREE 11000 +#define IDH_SETTINGS_OK 11001 +#define IDH_SETTINGS_CANCEL 11002 +#define IDH_SETTINGS_HELP 11003 +#define IDH_SETTINGS_GENERAL_PERSONAL_INFORMATION 11004 +#define IDH_SETTINGS_GENERAL_NICK 11005 +#define IDH_SETTINGS_GENERAL_EMAIL 11006 +#define IDH_SETTINGS_GENERAL_DESCRIPTION 11007 +#define IDH_SETTINGS_GENERAL_CONNECTION 11008 +#define IDH_SETTINGS_NETWORK_DIRECT 11009 +#define IDH_SETTINGS_NETWORK_FIREWALL_UPNP 11010 +#define IDH_SETTINGS_NETWORK_FIREWALL_NAT 11011 +#define IDH_SETTINGS_NETWORK_FIREWALL_PASSIVE 11012 +#define IDH_SETTINGS_NETWORK_PORT_TCP 11013 +#define IDH_SETTINGS_NETWORK_PORT_UDP 11014 +#define IDH_SETTINGS_NETWORK_PORT_TLS 11015 +#define IDH_SETTINGS_NETWORK_EXTERNAL_IP 11016 +#define IDH_SETTINGS_NETWORK_OVERRIDE 11017 +#define IDH_SETTINGS_NETWORK_DIRECT_OUT 11018 +#define IDH_SETTINGS_NETWORK_SOCKS5 11019 +#define IDH_SETTINGS_NETWORK_SOCKS_SERVER 11020 +#define IDH_SETTINGS_NETWORK_SOCKS_PORT 11021 +#define IDH_SETTINGS_NETWORK_SOCKS_USER 11022 +#define IDH_SETTINGS_NETWORK_SOCKS_PASSWORD 11023 +#define IDH_SETTINGS_NETWORK_SOCKS_RESOLVE 11024 +#define IDH_SETTINGS_DOWNLOAD_DOWNLOADDIR 11025 +#define IDH_SETTINGS_DOWNLOAD_TEMP_DOWNLOAD_DIRECTORY 11026 +#define IDH_SETTINGS_DOWNLOAD_LIMITS 11027 +#define IDH_SETTINGS_DOWNLOAD_DOWNLOADS 11028 +#define IDH_SETTINGS_DOWNLOAD_MAXSPEED 11029 +#define IDH_SETTINGS_DOWNLOAD_PROXY 11030 +#define IDH_SETTINGS_FAVORITE_DIRS_FAVORITE_DIRECTORIES 11031 +#define IDH_SETTINGS_FAVORITE_DIRS_RENAME 11032 +#define IDH_SETTINGS_FAVORITE_DIRS_REMOVE 11033 +#define IDH_SETTINGS_FAVORITE_DIRS_ADD 11034 +#define IDH_SETTINGS_QUEUE_AUTOPRIO 11035 +#define IDH_SETTINGS_QUEUE_PRIO_HIGHEST 11036 +#define IDH_SETTINGS_QUEUE_PRIO_NORMAL 11037 +#define IDH_SETTINGS_QUEUE_PRIO_HIGH 11038 +#define IDH_SETTINGS_QUEUE_PRIO_LOW 11039 +#define IDH_SETTINGS_QUEUE_AUTODROP 11040 +#define IDH_SETTINGS_QUEUE_AUTODROP_SPEED 11041 +#define IDH_SETTINGS_QUEUE_AUTODROP_ELAPSED 11042 +#define IDH_SETTINGS_QUEUE_AUTODROP_MINSOURCES 11043 +#define IDH_SETTINGS_QUEUE_AUTODROP_INTERVAL 11044 +#define IDH_SETTINGS_QUEUE_AUTODROP_INACTIVITY 11045 +#define IDH_SETTINGS_QUEUE_AUTODROP_FILESIZE 11046 +#define IDH_SETTINGS_UPLOAD_DIRECTORIES 11047 +#define IDH_SETTINGS_UPLOAD_SHAREHIDDEN 11048 +#define IDH_SETTINGS_UPLOAD_RENAME 11049 +#define IDH_SETTINGS_UPLOAD_REMOVE 11050 +#define IDH_SETTINGS_UPLOAD_ADD 11051 +#define IDH_SETTINGS_UPLOAD_MIN_UPLOAD_SPEED 11052 +#define IDH_SETTINGS_UPLOAD_SLOTS 11053 +#define IDH_SETTINGS_APPEARANCE_DEFAULT_AWAY_MESSAGE 11054 +#define IDH_SETTINGS_APPEARANCE_TIME_STAMPS_FORMAT 11055 +#define IDH_SETTINGS_APPEARANCE_LANGUAGE 11056 +#define IDH_SETTINGS_APPEARANCE_REQUIRES_RESTART 11057 +#define IDH_SETTINGS_APPEARANCE2_COLORS 11058 +#define IDH_SETTINGS_APPEARANCE2_SELWINCOLOR 11059 +#define IDH_SETTINGS_APPEARANCE2_SELTEXT 11060 +#define IDH_SETTINGS_APPEARANCE2_UPLOAD_BAR_COLOR 11061 +#define IDH_SETTINGS_APPEARANCE2_DOWNLOAD_BAR_COLOR 11062 +#define IDH_SETTINGS_APPEARANCE2_BEEPFILE 11063 +#define IDH_SETTINGS_LOG_DIRECTORY 11064 +#define IDH_SETTINGS_ADVANCED3_ROLLBACK 11065 +#define IDH_SETTINGS_ADVANCED3_MAX_HASH_SPEED 11066 +#define IDH_SETTINGS_ADVANCED3_PM_HISTORY 11067 +#define IDH_SETTINGS_ADVANCED3_MINISLOT_SIZE 11068 +#define IDH_SETTINGS_ADVANCED3_MAX_FILELIST_SIZE 11069 +#define IDH_SETTINGS_ADVANCED3_PRIVATE_ID 11070 +#define IDH_SETTINGS_ADVANCED3_AUTO_REFRESH_TIME 11071 +#define IDH_SETTINGS_ADVANCED3_BUFFERSIZE 11072 +#define IDH_SETTINGS_ADVANCED3_AUTO_SEARCH_LIMIT 11073 +#define IDH_SETTINGS_ADVANCED3_SEARCH_HISTORY 11074 +#define IDH_SETTINGS_ADVANCED3_BIND_ADDRESS 11075 +#define IDH_SETTINGS_ADVANCED3_SOCKET_IN_BUFFER 11076 +#define IDH_SETTINGS_ADVANCED3_SOCKET_OUT_BUFFER 11077 +#define IDH_SETTINGS_ADVANCED3_MIN_SEGMENT_SIZE 11078 +#define IDH_SETTINGS_UC_LIST 11079 +#define IDH_SETTINGS_UC_ADD 11080 +#define IDH_SETTINGS_UC_CHANGE 11081 +#define IDH_SETTINGS_UC_MOVE_UP 11082 +#define IDH_SETTINGS_UC_MOVE_DOWN 11083 +#define IDH_SETTINGS_UC_REMOVE 11084 +#define IDH_SETTINGS_CERTIFICATES_PRIVATE_KEY_FILE 11085 +#define IDH_SETTINGS_CERTIFICATES_CERTIFICATE_FILE 11086 +#define IDH_SETTINGS_CERTIFICATES_TRUSTED_CERTIFICATES_PATH 11087 + +#endif Added: dcplusplus/trunk/help/cshelp.txt =================================================================== --- dcplusplus/trunk/help/cshelp.txt (rev 0) +++ dcplusplus/trunk/help/cshelp.txt 2008-03-26 13:24:55 UTC (rev 1053) @@ -0,0 +1,176 @@ +.topic IDH_SETTINGS_TREE +Choose a settings category here. +.topic IDH_SETTINGS_OK +Press this button to save your changes and close this dialog. +.topic IDH_SETTINGS_CANCEL +Press this button to close this dialog without saving your changes. +.topic IDH_SETTINGS_HELP +Press this button to launch the help file. +.topic IDH_SETTINGS_GENERAL_PERSONAL_INFORMATION +This is general information about yourself. The nick is required, though it's suggested that you pick the correct connection type as well. +.topic IDH_SETTINGS_GENERAL_NICK +This nickname, or handle, will identify you when you join a hub. It can be overridden on a per-hub basis in the Favorite Hub Properties. +.topic IDH_SETTINGS_GENERAL_EMAIL +This field is for sharing your email address, if you wish it. +.topic IDH_SETTINGS_GENERAL_DESCRIPTION +This description will show in the user list. It can be overridden on a per-hub basis in the Favorite Hub Properties. +.topic IDH_SETTINGS_GENERAL_CONNECTION +This drop-down contains a number of common upload speeds (in MiB/s), please choose the one closest to your own. Do not put in your download speed; this setting is a measure of how fast a source you are likely to be for other users. +.topic IDH_SETTINGS_NETWORK_DIRECT +Select this mode if your computer is hooked directly to the internet. Do not select this mode if you have a router (firewall) or a software firewall. +.topic IDH_SETTINGS_NETWORK_FIREWALL_UPNP +Select this mode if you are behind a firewall that supports the UPnP standard for program auto-configuration. DC++ will automatically open the ports it needs and obtain your external IP address. This mode is not available on operating systems before Windows XP, as it was the first version to have UPnP support. +.topic IDH_SETTINGS_NETWORK_FIREWALL_NAT +Select this mode if you are behind a firewall (router), and will set up the TCP and UDP port forwarding on your own. You will need to specify the external IP address of your router using the setting below if you want downloads to work properly. +.topic IDH_SETTINGS_NETWORK_FIREWALL_PASSIVE +Select this mode if none of the previous options apply. In this mode, DC++ will not try to make inbound connections, only outbound ones. This mode carries some limitations: - only 5 results per user will be returned in response to searches; - you will not be able to download from other passive users. +.topic IDH_SETTINGS_NETWORK_PORT_TCP +This is the port that DC++ listens on for incoming client connections. If this setting is blank, DC++ will use a random port between 1025 and 32000. +.topic IDH_SETTINGS_NETWORK_PORT_UDP +This is the port that DC++ listens on for incoming search results. If this setting is blank, DC++ will use a random port between 1025 and 32000. +.topic IDH_SETTINGS_NETWORK_PORT_TLS +This is the port that DC++ listens on for TLS connections. If this setting is blank, DC++ will use a random port between 1025 and 32000. +.topic IDH_SETTINGS_NETWORK_EXTERNAL_IP +If you're directly connected to the internet, DC++ will tell remote users to connect to your local IP. Fill in this box only if you need to override the auto-detection. Ordinarily, only users behind a home router (NAT device) will need to fill in this box. If you put a DNS name here, DC++ will try to resolve it into an IP address before use. +.topic IDH_SETTINGS_NETWORK_OVERRIDE +Enable this to always use the IP address in "External / WAN IP", and not let either UPnP or connected hubs change it. +.topic IDH_SETTINGS_NETWORK_DIRECT_OUT +Select this mode if you can make unrestricted outbound connections. This includes connecting to any IP address on any port. +.topic IDH_SETTINGS_NETWORK_SOCKS5 +Select this mode if you want to make outbound connections through a SOCKS proxy. The caveats for Firewall (passive) mode also apply here. SOCKS5 proxies are not the same as HTTP proxies. DC++'s SOCKS5 support does not include GSSAPI. +.topic IDH_SETTINGS_NETWORK_SOCKS_SERVER +This is the IP, not host name, of your SOCKS5 server. +.topic IDH_SETTINGS_NETWORK_SOCKS_PORT +The port that your SOCKS5 server runs on. The default is 1080. +.topic IDH_SETTINGS_NETWORK_SOCKS_USER +Login name for the SOCKS5 proxy; may be required. +.topic IDH_SETTINGS_NETWORK_SOCKS_PASSWORD +Password for the SOCKS5 proxy; may be required. +.topic IDH_SETTINGS_NETWORK_SOCKS_RESOLVE +Enable this to use the SOCKS5 proxy, instead of the local name server, to resolve host names into IP addresses. +.topic IDH_SETTINGS_DOWNLOAD_DOWNLOADDIR +After a download is complete, DC++ tries to move your just finished file to this directory. It defaults to the "Downloads\" subdirectory under where the DC++ executable is located. +.topic IDH_SETTINGS_DOWNLOAD_TEMP_DOWNLOAD_DIRECTORY +All incomplete downloads will be stored in this directory. If empty, temporary downloads will be stored in the "Incomplete\" subdirectory under where the DC++ executable is located. You can use %[targetdrive] for optional unfinished directory for target drive. If the file has been downloaded with a TTH, the incomplete file will bear the name <filename>.<ext>.<TTH>.dctmp. If the file has no TTH, it will be named<filename>.<ext>.dctmp. If "Use AntiFragmentation Method for Downloads" is enabled the files will have ".antifrag" added to the end of it's name. As in <filename>.<ext>.<TTH>.dctmp.antifrag. +.topic IDH_SETTINGS_DOWNLOAD_LIMITS +For both values listed below, certain conditions can result in the limits not being obeyed. Specifically, up to 3 files that are set to the 'highest' priority can be transferred while other downloads are going. File lists and small files (64 kibibytes or smaller) are queued with 'highest' as their priority. When either of the limits are hit, DC++ shows "All download slots taken" next to each source in the Transfer View. +.topic IDH_SETTINGS_DOWNLOAD_DOWNLOADS +This limits the number of simultaneous downloads. The default value of this option is 3, and a value of 0 means no limit. +.topic IDH_SETTINGS_DOWNLOAD_MAXSPEED +This is another method of limiting simultaneous downloads, designed to prevent new downloads if your existing downloads exceed a specific threshold. It's measured in kibibytes per second, and a value of zero will disable this limit. +.topic IDH_SETTINGS_DOWNLOAD_PROXY +This HTTP proxy will only be used to request the Public Hub List specified above. It's not used for uploads, downloads, or connecting to a hub. +.topic IDH_SETTINGS_FAVORITE_DIRS_FAVORITE_DIRECTORIES +To add directories to your "Download to" menu (right click on a file in the search frame), you can use the Add and Remove buttons, or drag and drop folders from a Windows Explorer window. +.topic IDH_SETTINGS_FAVORITE_DIRS_RENAME +Rename the selected folder(s). +.topic IDH_SETTINGS_FAVORITE_DIRS_REMOVE +Remove the selected folder(s). +.topic IDH_SETTINGS_FAVORITE_DIRS_ADD +Browse for a new folder to add to your share. After selecting the directory to add, you will be able to pick the Virtual Name name for it that will be shown in the menu. +.topic IDH_SETTINGS_QUEUE_AUTOPRIO +Autoprio allows setting the queue item priority automatically when adding it to the download queue. A user can then change the priority of a file manually. Priority conditions are checked from the Highest to the Lowest priority, when assigning a priority to a new queue item. A zero means that the given priority level won't be used - except Normal priority, which is the default priority. Lowest possible value for the Highest priority is 16 KiB. +.topic IDH_SETTINGS_QUEUE_PRIO_HIGHEST +Files with the same or under the entered size will be set to Highest as priority. (default: 64 KiB) +.topic IDH_SETTINGS_QUEUE_PRIO_NORMAL +Files with the same or under the entered size, but above Highest and High prio max size, will be set to Normal as priority. (default: 0 KiB) +.topic IDH_SETTINGS_QUEUE_PRIO_HIGH +Files with the same or under the entered size, but above Highest prio max size, will be set to High as priority. (default: 0 KiB) +.topic IDH_SETTINGS_QUEUE_PRIO_LOW +Files with the same or under the entered size, but above Highest, High and Normal prio max size, will be set to Low as priority. (default: 0 KiB) +.topic IDH_SETTINGS_QUEUE_AUTODROP +Autodrop allows automatical removal (or disconnecting) of slow download sources. By default, slow sources are removed. All of these autodrop options are necessary to estimate and disconnect/drop sources properly. +.topic IDH_SETTINGS_QUEUE_AUTODROP_SPEED +If the download speed of a file is below the entered value, the source will be dropped. (default: 1024 B/s) +.topic IDH_SETTINGS_QUEUE_AUTODROP_ELAPSED +Amount of time (in seconds) that has to pass since the download started before a source can be dropped. (default: 15 s) +.topic IDH_SETTINGS_QUEUE_AUTODROP_MINSOURCES +Minimum amount of sources before any sources will be dropped. (default: 1) +.topic IDH_SETTINGS_QUEUE_AUTODROP_INTERVAL +Check every x second(s) if the source is slow. (default: 10 s) +.topic IDH_SETTINGS_QUEUE_AUTODROP_INACTIVITY +This is the maximal time since the last chunk of data for the file was recieved. It is meant to improve speed measurement accuracy and to prevent dropping sources that are going to be disconnected only because of their current inactivity. (default: 10 s) +.topic IDH_SETTINGS_QUEUE_AUTODROP_FILESIZE +Minimum filesize before sources will be dropped (in KiB). (default: 0 KiB) +.topic IDH_SETTINGS_UPLOAD_DIRECTORIES +To add directories to your share, you can use the Add and Remove buttons, or drag and drop folders from a Windows Explorer window. Beginning with version 0.4032, files will be shared only once they have been hashed. If you enter the Sharing tab and press OK; the client may appear to freeze, this is due to a refresh of the file list. +.topic IDH_SETTINGS_UPLOAD_SHAREHIDDEN +Share files with the Hidden attribute set and files inside directory with the Hidden attribute set. With this option off, files starting with a . (full stop) will not be shared. Note: this option requires a refresh of the file list, and may cause the client to appear to freeze. +.topic IDH_SETTINGS_UPLOAD_RENAME +Change the virtual name on a shared folder. Note: the client will appear to freeze when you exit settings, this is due to a refresh of the file list. +.topic IDH_SETTINGS_UPLOAD_REMOVE +Remove the selected folder(s). +.topic IDH_SETTINGS_UPLOAD_ADD +Browse for a new folder to add to your share. If another existing file shares that name, the new name will be made unique by adding another letter to its name. After selecting the directory to add, you will be able to pick the Virtual Name that it will be shown under when other users see your files. If the newly added files have not been hashed, the Hash Progress Dialog will display. You can choose to let it display, or let hashing continue in the background. +.topic IDH_SETTINGS_UPLOAD_MIN_UPLOAD_SPEED +If the average upload speed drops below the given number, an additional upload slot will be granted. These slots are granted once every 30 seconds at maximum. If the speed of the original uploads increases, the granted slot will not be closed. +.topic IDH_SETTINGS_UPLOAD_SLOTS +Configure the number of slots that other users can occupy to download files from you. A remote user can use only one slot for each hub that they're on with you. DC++ supports uploading file lists and files below 64 KiB to other DC++ users without requiring a slot. There's a max of 3 connections in addition to normal slots, these are called mini slots. Note: If a user leaves the hub, DC++ will close his slots; if the user is back within 10 minutes, DC++ will grant him a slot. (This will only happen if "Automatically Disconnect Users Who Leave the Hub" is enabled.) This can cause your upload slots going over maximum set in settings. +.topic IDH_SETTINGS_APPEARANCE_DEFAULT_AWAY_MESSAGE +This is the default away message that will appear when someone PMs you for the first time while you are in the away mode. You can activate away mode by using the /away <message> and /back chat commands or "Auto-away on Minimize" option. All time formatting variables are available. Use Ctrl + Enter to create a new line. (default: "I'm away. State your business and I might answer later if you're lucky.") +.topic IDH_SETTINGS_APPEARANCE_TIME_STAMPS_FORMAT +This lets you select the format of the time stamps that can appear in the chat and private message windows. All time formatting variables are available. (default: %H:%M) +.topic IDH_SETTINGS_APPEARANCE_LANGUAGE +This drop-down list allows you to choose which language DC++ should use for its user interface and messages. "Default" means "use the same language as my operating system". +.topic IDH_SETTINGS_APPEARANCE_REQUIRES_RESTART +Note: Most of these options require that you restart DC++. (Fonts, colors and icons are loaded at startup only. Window settings are loaded when opening a new window.) +.topic IDH_SETTINGS_APPEARANCE2_COLORS +You can preview the background color and text style before applying them +.topic IDH_SETTINGS_APPEARANCE2_SELWINCOLOR +This setting determines the background color of the windows in DC++. +.topic IDH_SETTINGS_APPEARANCE2_SELTEXT +This setting determines the color and font used in many DC++ windows. +.topic IDH_SETTINGS_APPEARANCE2_UPLOAD_BAR_COLOR +This will set the coloring for the upload progress bars, if you have them enabled in "Advanced". (default: RGB(205, 60, 55)) +.topic IDH_SETTINGS_APPEARANCE2_DOWNLOAD_BAR_COLOR +This will set the coloring for the download progress bars, if you have them enabled in "Advanced". (default: RGB(55, 170, 85)) +.topic IDH_SETTINGS_APPEARANCE2_BEEPFILE +Instead of the system's computer beep, you can select a different beep or tune for above options. +.topic IDH_SETTINGS_LOG_DIRECTORY +All logs generated by DC++ will be put in this subdirectory. Default: The "Logs" subdirectory under where you've installed the application. +.topic IDH_SETTINGS_ADVANCED3_ROLLBACK +This option is not used currently. +.topic IDH_SETTINGS_ADVANCED3_MAX_HASH_SPEED +This is the speed at which DC++ will hash your files, in MiB/s. It is limited by the speed of your disk subsystem, but it can be used to make hashing slower and less noticable. A "normal" hash speed may be anywhere from 20 to 30 MiB/s. (no default) +.topic IDH_SETTINGS_ADVANCED3_PM_HISTORY +The number of lines that will be read from the private message log and displayed when a new PM is received. (no default) +.topic IDH_SETTINGS_ADVANCED3_MINISLOT_SIZE +This defines the size of the mini slot. The minimum value for this setting is 64 KiB. (default: 64 KiB) +.topic IDH_SETTINGS_ADVANCED3_MAX_FILELIST_SIZE +This setting controls the size of the maximum file list that DC++ will open, in mebibytes. This setting helps protect against malformed file lists that require large amounts of memory to decode. You may need to reduce or increase the value of this setting based on personal experience. (default: 512 MiB) +.topic IDH_SETTINGS_ADVANCED3_PRIVATE_ID +This is your unique private ID (PID). This will later with an algorithm be used to identify you on ADC hubs. Do not share this with other users. +.topic IDH_SETTINGS_ADVANCED3_AUTO_REFRESH_TIME +This controls the interval at which your shared directories are rescanned for new and changed content. This is measured in minutes. (default: 60 minutes) +.topic IDH_SETTINGS_ADVANCED3_BUFFERSIZE +This controls the size of the chunks that DC++ writes to disk for downloads. Measured in kibibytes. (default: 16 KiB) +.topic IDH_SETTINGS_ADVANCED3_AUTO_SEARCH_LIMIT +This will limit the amount of sources a file can have before it will no longer be auto searched for. For example, if this option is set to 2, if a file has more than or exactly 2 sources, the file will be excluded from the auto-search list. +.topic IDH_SETTINGS_ADVANCED3_SEARCH_HISTORY +Number of old search lines that will be shown in the Search Window. (default: 10) +.topic IDH_SETTINGS_ADVANCED3_BIND_ADDRESS +This setting allows you to bind DC++ to a particular IP address on your machine. Most users do not need to change the default value, 0.0.0.0. However, if you have more than one network interface connected to the internet, you can force DC++ to use a particular connection by entering its IP here. If binding fails, it will do so silently and INADDR_ANY will be used instead. If you experience connection problems make sure that this is set to default. (default: 0.0.0.0) This feature requires a restart to be fully effective. +.topic IDH_SETTINGS_ADVANCED3_SOCKET_IN_BUFFER +The size of the buffer DC++ use to read sockets. Measured in bytes. (default: 8192 bytes) +.topic IDH_SETTINGS_ADVANCED3_SOCKET_OUT_BUFFER +The size of the buffer DC++ use to write to sockets. Measured in bytes. (default: 8192 bytes) +.topic IDH_SETTINGS_ADVANCED3_MIN_SEGMENT_SIZE +DC++ now uses segment downloading. i.e. it downloads each file in many little parts. This setting lets you specifiy the mimium size of these parts. (default: 1MiB) +.topic IDH_SETTINGS_UC_LIST +List of your current user commands. +.topic IDH_SETTINGS_UC_ADD +Open the User Command dialog to create a new user command and add it to the list. +.topic IDH_SETTINGS_UC_CHANGE +Open the currently selected user command in the User Command dialog in order to change it. +.topic IDH_SETTINGS_UC_MOVE_UP +Move the currently selected user command upwards in the list. +.topic IDH_SETTINGS_UC_MOVE_DOWN +Move the currently selected user command downwards in the list. +.topic IDH_SETTINGS_UC_REMOVE +Remove the currently selected user command. +.topic IDH_SETTINGS_CERTIFICATES_PRIVATE_KEY_FILE +This file is your personal and private certificate file. Do not share this with other users or hubs. If you do, you risk allowing others to use your certificate and in essence pose as you. +.topic IDH_SETTINGS_CERTIFICATES_CERTIFICATE_FILE +This file is the certificate file you should give to other users and hubs that you want to consider "trusted". +.topic IDH_SETTINGS_CERTIFICATES_TRUSTED_CERTIFICATES_PATH +Where trusted certificates from users or hubs will be stored. (default: the "Certificates\" subdirectory of where you've installed the application.) Copied: dcplusplus/trunk/help/dialog_user_command.html (from rev 1052, dcplusplus/trunk/help/settings_usercommands.html) =================================================================== --- dcplusplus/trunk/help/dialog_user_command.html (rev 0) +++ dcplusplus/trunk/help/dialog_user_command.html 2008-03-26 13:24:55 UTC (rev 1053) @@ -0,0 +1,98 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html> +<head> + <meta content="text/html; charset=us-ascii" http-equiv="content-type"> + <link href="office11.css" rel="stylesheet" type="text/css"> + <title>User Command</title> +</head> +<body> +<h1>User Command</h1> +<h2>Command Types:</h2> +<dl style="margin-left: 40px;"> + <dt>Separator</dt> + <dd>Adds a separator to the menu</dd> + <dt>Raw</dt> + <dd>Sends raw command to the hub (experts only, end it with '|' in NMDC hubs and '\n' in ADC hubs!)</dd> + <dt>Chat</dt> + <dd>Sends command as if you were typing it in the chat</dd> + <dt>PM</dt> + <dd>Sends command as if you sent it by pm</dd> +</dl> +<h2>Context</h2> +Contexts determine where the command is shown.<br> +<dl style="margin-left: 40px;"> + <dt>Hub Menu</dt> + <dd>Hub tab (at the bottom of the screen) right-click menu</dd> + <dt>Chat Menu </dt> + <dd>User right-click menu in chat and PM tab menu</dd> + <dt>Search Menu</dt> + <dd>Search right-click menu </dd> + <dt>File list Menu</dt> + <dd>File list right-click menu</dd> +</dl> +<h2>Parameters</h2> +<dl style="margin-left: 40px;"> + <dt>Name</dt> + <dd>Name (use '\' to create submenus)</dd> + <dt>Command</dt> + <dd>Command text (may contain any of the variables listed below). Use Ctrl + Enter to create a new line.</dd> + <dt>Hub </dt> + <dd>Hub ip as typed when connecting (empty = all NMDC hubs, "op" = NMDC hubs +where you're an operator, "adc://" = all ADC hubs, "adc://op" = ADC hubs where you're an operator, +"adcs://" = all <a href="settings_certs.html">TLS</a> enabled hubs)</dd> + <dt>To</dt> + <dd>Private Message recipient</dd> + <dt>Send Once Per Nick</dt> + <dd>Send only once per user from search frame, regardless of how many +files you've selected from that user</dd> +</dl> +<h2>Variables</h2> +In the parameters, you can use %[<span style="font-weight: bold;">xxx</span>] +variables and <a href="settings_logs.html#timeformat">date/time +specifiers</a> (%Y, %m, ...). The following variables are also +available:<br> +<ul style="margin-left: 40px;"> + <li>%[fileFN]: Filename (search, file list, and transfer view contexts only)</li> + <li>%[fileSIsize]: File size (search, file list contexts only)</li> + <li>%[fileSIshort]: File size, short version including units +(search, file list contexts only)</li> + <li>%[fileTR]: TTH for the file, or "NONE" (search, file list contexts only)</li> + <li>%[type]: "File" or "Directory" (directory context only)</li> + <li>%[line:<span style="font-style: italic;">reason</span>]: Opens up a window asking for "<span style="font-style: italic;">reason</span>"</li> +</ul> +In addition to these variables, all of the ADC INF flags are available, with the following prefixes: <span style="font-weight: bold;">my</span>, <span style="font-weight: bold;">user</span>, and <span style="font-weight: bold;">hub</span>. Some may <span style="text-decoration: underline;">not</span> be available on NMDC hubs. Many useful ones are enumerated below:<br> +<div style="margin-left: 40px;"> +<ul> + <li>%[myNI]: Your nick</li> + <li>%[myCID]: Your ADC CID</li> + <li>%[userNI]: The user's nick</li> + <li>%[userCID]: The user's ADC CID</li> + <li>%[userI4]: The user's IP (if supported by hub)</li> + <li>%[userTAG]: The user's tag</li> + <li>%[userDE]: The user's description</li> + <li>%[userEM]: The user's email</li> + <li>%[userSS]: The user's shared bytes (exact)</li> + <li>%[userSSshort]: The user's shared bytes (formatted with units)</li> +</ul> +</div> +<h2 style="margin-left: 40px;">Compatibilty Variables</h2> +<ul style="margin-left: 40px;"> + <ul> + <li>%[mynick] = %[myNI]</li> + <li>%[nick] = %[userNI]</li> + <li>%[file] = %[fileFN]</li> + <li>%[filesize] = %[fileSI]</li> + <li>%[filesizeshort] = %[fileSIshort]</li> + <li>%[tth] = %[fileTR]</li> + <li>%[mycid] = %[myCID] </li> + <li>%[cid] = %[userCID]</li> + <li>%[ip] = %[userI4]</li> + <li>%[tag] = %[userTAG]</li> + <li>%[description] = %[userDE]</li> + <li>%[email] = %[userEM]</li> + <li>%[share] = %[userSS]</li> + <li>%[shareshort] = %[userSSshort]</li> + </ul> +</ul> +</body> +</html> Modified: dcplusplus/trunk/help/index.html =================================================================== --- dcplusplus/trunk/help/index.html 2008-03-23 18:41:22 UTC (rev 1052) +++ dcplusplus/trunk/help/index.html 2008-03-26 13:24:55 UTC (rev 1053) @@ -55,6 +55,7 @@ <h2>Dialogs</h2> <div style="margin-left: 40px;"> <a href="dialog_indexing_progress.html">Indexing progress</a><br> +<a href="dialog_user_command.html">User Command</a><br> </div> <h2>Frequently Asked Questions</h2> <div style="margin-left: 40px;"> <a href="faq_activemode.html">How to @@ -86,7 +87,7 @@ <a href="settings_advanced.html">Advanced</a> <div style="margin-left: 40px;"> <a href="settings_logs.html">Logs</a><br> <a href="settings_expert.html">Experts only</a><br> -<a href="settings_usercommands.html">User Commands</a><br> +<a href="settings_user_commands.html">User Commands</a><br> <a href="settings_certs.html">Security Certificates</a> </div> </div> Modified: dcplusplus/trunk/help/resource.h =================================================================== --- dcplusplus/trunk/help/resource.h 2008-03-23 18:41:22 UTC (rev 1052) +++ dcplusplus/trunk/help/resource.h 2008-03-26 13:24:55 UTC (rev 1053) @@ -1,40 +1,55 @@ +// this file contains help ids for topic aliases used to open the help file + #ifndef DCPLUSPLUS_HELP_RESOURCE_H #define DCPLUSPLUS_HELP_RESOURCE_H -#define IDH_CHANGELOG 500 -#define IDH_HUB 501 -#define IDH_PM 502 -#define IDH_DIRECTORY_LISTING 503 -#define IDH_PUBLIC_HUBS 504 -#define IDH_FAVORITE_HUBS 505 -#define IDH_FAVUSERS 506 -#define IDH_QUEUE 507 -#define IDH_FINISHED_DL 508 -#define IDH_WAITING_USERS 509 -#define IDH_FINISHED_UL 510 -#define IDH_SEARCH 511 -#define IDH_ADL_SEARCH 512 -#define IDH_SEARCH_SPY 513 -#define IDH_NOTEPAD 514 -#define IDH_SYSTEM_LOG 515 -#define IDH_NET_STATS 516 -#define IDH_HASH_PROGRESS 517 -#define IDH_ADVANCED3PAGE 518 -#define IDH_ADVANCEDPAGE 519 -#define IDH_APPEARANCE2PAGE 520 -#define IDH_APPEARANCEPAGE 521 -#define IDH_DOWNLOADPAGE 522 -#define IDH_UPLOADPAGE 523 -#define IDH_FAVORITE_DIRSPAGE 524 -#define IDH_GENERALPAGE 525 -#define IDH_KEYBOARD 526 -#define IDH_LOGPAGE 527 -#define IDH_NETWORKPAGE 528 -#define IDH_QUEUEPAGE 529 -#define IDH_STARTPAGE 530 -#define IDH_UCPAGE 531 -#define IDH_WINDOWSPAGE 532 -#define IDH_CERTIFICATESPAGE 533 -#define IDH_TABSPAGE 534 +#include "cshelp.h" +#define IDH_TOPICS_BEGIN 10000 + +#define IDH_STARTPAGE 10000 +#define IDH_CHANGELOG 10001 +#define IDH_KEYBOARD 10002 + +// windows +#define IDH_HUB 10100 +#define IDH_PM 10101 +#define IDH_DIRECTORY_LISTING 10102 +#define IDH_PUBLIC_HUBS 10103 +#define IDH_FAVORITE_HUBS 10104 +#define IDH_FAVUSERS 10105 +#define IDH_QUEUE 10106 +#define IDH_FINISHED_DL 10107 +#define IDH_WAITING_USERS 10108 +#define IDH_FINISHED_UL 10109 +#define IDH_SEARCH 10110 +#define IDH_ADL_SEARCH 10111 +#define IDH_SEARCH_SPY 10112 +#define IDH_NOTEPAD 10113 +#define IDH_SYSTEM_LOG 10114 +#define IDH_NET_STATS 10115 + +// dialogs +#define IDH_HASH_PROGRESS 10200 +#define IDH_USER_COMMAND 10201 + +// settings pages +#define IDH_ADVANCED3PAGE 10300 +#define IDH_ADVANCEDPAGE 10301 +#define IDH_APPEARANCE2PAGE 10302 +#define IDH_APPEARANCEPAGE 10303 +#define IDH_DOWNLOADPAGE 10304 +#define IDH_UPLOADPAGE 10305 +#define IDH_FAVORITE_DIRSPAGE 10306 +#define IDH_GENERALPAGE 10307 +#define IDH_LOGPAGE 10308 +#define IDH_NETWORKPAGE 10309 +#define IDH_QUEUEPAGE 10310 +#define IDH_UCPAGE 10311 +#define IDH_WINDOWSPAGE 10312 +#define IDH_CERTIFICATESPAGE 10313 +#define IDH_TABSPAGE 10314 + +#define IDH_TOPICS_END 10999 + #endif Modified: dcplusplus/trunk/help/settings_advanced.html =================================================================== --- dcplusplus/trunk/help/settings_advanced.html 2008-03-23 18:41:22 UTC (rev 1052) +++ dcplusplus/trunk/help/settings_advanced.html 2008-03-26 13:24:55 UTC (rev 1053) @@ -117,6 +117,10 @@ <dd>With this option enabled, and <a href="window_settings_advanced.html#disconnect">Automatically disconnect users who leave the hub</a>, users who are in your <a href="favorite_users.html">Favorite users</a> page are not disconnected.</dd> <dt>Show shell menu where possible</dt> <dd>This allow DC++ to display Explorer's shell menu for files, whenever possible.</dd> + <dt>Use extended menus with icons and titles</dt> + <dd>Have DC++ draw its own menus, which allows icons and titles to be added. Disable to revert to classic Windows menus.</dd> + <dt>Use Coral network when downloading hub lists (improves reliability)</dt> + <dd>With this option enabled, DC++ uses <a href="http://www.coralcdn.org">The Coral Content Distribution Network</a> when establishing HTTP connections.</dd> </dl> </body> </html> Modified: dcplusplus/trunk/help/settings_appearance.html =================================================================== --- dcplusplus/trunk/help/settings_appearance.html 2008-03-23 18:41:22 UTC (rev 1052) +++ dcplusplus/trunk/help/settings_appearance.html 2008-03-26 13:24:55 UTC (rev 1053) @@ -7,6 +7,9 @@ </head> <body> <h1>Appearance</h1> +<span style="font-style: italic;">Note: Most of these options require +that you restart DC++. (Fonts, colors and icons are loaded at startup +only. Window settings are loaded when opening a new window.)</span> <h2>Options</h2> <dl style="margin-left: 40px;"> <dt>Sort all downloads first</a> @@ -69,11 +72,8 @@ appear in the chat and private message windows. For the available formatting variables, please see <a href="settings_logs.html#timeformat">Logs</a>. <br>(default: %H:%M)</dd> - <dt>Language File</dt> - <dd>DC++ will read this XML translation file and load the strings in -it, allowing you to use DC++ in whatever language the translators have -made available. Link to many translations can be found on the -<a href="Links.html#languagefiles">Links page</a>.</dd> + <dt>Language</dt> + <dd>This drop-down list allows you to choose which language DC++ should use for its user interface and messages. "Default" means "use the same language as my operating system".</dd> </dl> </body> </html> Modified: dcplusplus/trunk/help/settings_certs.html =================================================================== --- dcplusplus/trunk/help/settings_certs.html 2008-03-23 18:41:22 UTC (rev 1052) +++ dcplusplus/trunk/help/settings_certs.html 2008-03-26 13:24:55 UTC (rev 1053) @@ -14,7 +14,7 @@ <dt>Own certificate file</dt> <dd>This file is the certificate file you should give to other users and hubs that you want to consider "trusted". </dd> <dt>Trusted certificates path</dt> - <dd>Where trusted certificates from users or hubs will be stored. (default: the Certs\ subdirectory of where you've installed the application.) </dd> + <dd>Where trusted certificates from users or hubs will be stored. (default: the "Certificates\" subdirectory of where you've installed the application.) </dd> </dl> <h2>Options</h2> <dl style="margin-left: 40px;"> @@ -31,4 +31,4 @@ <br> SSL support is an experimental feature and doesn't imply that DC++ is secure in any way. </body> -</html> \ No newline at end of file +</html> Modified: dcplusplus/trunk/help/settings_colors_and_sounds.html =================================================================== --- dcplusplus/trunk/help/settings_colors_and_sounds.html 2008-03-23 18:41:22 UTC (rev 1052) +++ dcplusplus/trunk/help/settings_colors_and_sounds.html 2008-03-26 13:24:55 UTC (rev 1053) @@ -11,6 +11,7 @@ that you restart DC++. (Fonts, colors and icons are loaded at startup only. Window settings are loaded when opening a new window.)</span> <h2>Colors</h2> +You can preview the background color and text style before applying them. <dl style="margin-left: 40px;"> <dt>Set Window Color</dt> <dd>This setting determines the background color of the windows in @@ -39,4 +40,4 @@ <dd>Instead of the system's computer beep, you can select a different beep or tune for above options.</a> </dl> </body> -</html> \ No newline at end of file +</html> Modified: dcplusplus/trunk/help/settings_connection.html =================================================================== --- dcplusplus/trunk/help/settings_connection.html 2008-03-23 18:41:22 UTC (rev 1052) +++ dcplusplus/trunk/help/settings_connection.html 2008-03-26 13:24:55 UTC (rev 1053) @@ -62,7 +62,7 @@ Ordinarily, only users behind a home router (NAT device) will need to fill in this box. If you put a DNS name here, DC++ will try to resolve it into an IP address before use.</dd> <dt>Don't allow hub/UPnP to override</dt> - <dd>Enable this to always use the IP address in "External / WAN IP," + <dd>Enable this to always use the IP address in "External / WAN IP", and not let either UPnP or connected hubs change it.</dd> </dl> <h2>Outgoing connection settings</h2> Modified: dcplusplus/trunk/help/settings_expert.html =================================================================== --- dcplusplus/trunk/help/settings_expert.html 2008-03-23 18:41:22 UTC (rev 1052) +++ dcplusplus/trunk/help/settings_expert.html 2008-03-26 13:24:55 UTC (rev 1053) @@ -8,6 +8,8 @@ <body> <h1>Experts only</h1> <dl style="margin-left: 40px;"> + <dt>Rollback</dt> + <dd>This option is not used currently.</dd> <dt>Max Hash Speed</dt> <dd>This is the speed at which DC++ will hash your files, in MiB/s. @@ -21,7 +23,6 @@ <dt><a name="minislotsize"></a>Mini slot size</dt> <dd>This defines the size of the <a href="settings_sharing.html#slots">mini slot</a>. The minimum value for this setting is 64 KiB. (default: 64 KiB)</dd> - <dt>Max filelist size</dt> <dd>This setting controls the size of the maximum file list that DC++ @@ -33,11 +34,13 @@ <dd>This is your unique private ID (PID). This will later with an algorithm be used to identify you on ADC hubs. <span style="font-weight: bold;">Do not share this with other users.</span></dd> <dt>Auto refresh time</dt> <dd>This controls the interval at which your shared directories -are rescanned for new and changed content. This is measured -in minutes (default: 60 minutes)</dd> +are rescanned for new and changed content. This is measured +in minutes. (default: 60 minutes)</dd> <dt>Write Buffer Size</dt> <dd>This controls the size of the chunks that DC++ writes to disk for downloads. Measured in kibibytes. (default: 16 KiB)</dd> + <dt>Auto-search limit</dt> + <dd>This will limit the amount of sources a file can have before it will no longer be auto searched for. For example, if this option is set to 2, if a file has more than or exactly 2 sources, the file will be excluded from the auto-search list.</dd> <dt><a name="searchhistory"></a>Search history</dt> <dd>Number of old search lines that will be shown in the Search @@ -60,8 +63,8 @@ <dt>Socket write buffer</dt> <dd>The size of the buffer DC++ use to write to sockets. Measured in bytes. (default: 8192 bytes)</dd> - <dt>Auto-search limit</dt> - <dd>This will limit the amount of sources a file can have before it will no longer be auto searched for. For example, if this option is set to 2, if a file has more than or exactly 2 sources, the file will be excluded from the auto-search list.</dd> + <dt>Min segment size</dt> + <dd>DC++ now uses segment downloading. i.e. it downloads each file in many little parts. This setting lets you specifiy the mimium size of these parts. (default: 1MiB)</dd> </dl> </body> </html> Modified: dcplusplus/trunk/help/settings_favoritedirs.html =================================================================== --- dcplusplus/trunk/help/settings_favoritedirs.html 2008-03-23 18:41:22 UTC (rev 1052) +++ dcplusplus/trunk/help/settings_favoritedirs.html 2008-03-26 13:24:55 UTC (rev 1053) @@ -7,7 +7,7 @@ </head> <body> <h1>Favorite download to directories</h1> -To add directories to your download to menu (right click on a +To add directories to your "Download to" menu (right click on a file in the search frame), you can use the Add and Remove buttons, or drag and drop folders from a Windows Explorer Modified: dcplusplus/trunk/help/settings_logs.html =================================================================== --- dcplusplus/trunk/help/settings_logs.html 2008-03-23 18:41:22 UTC (rev 1052) +++ dcplusplus/trunk/help/settings_logs.html 2008-03-26 13:24:55 UTC (rev 1053) @@ -25,12 +25,12 @@ <dd><span style="font-weight: bold;">Default format:</span> [%Y-%m-%d %H:%M] %[message] </dd> <dt>Log Downloads</dt> <dd>Enables logging of completed downloads. File list downloads may not be logged if you've -<a href="#filelist">disabled them</a>. File list downloads do not appear in the <a href="window_finished_downloads.html">Finished downloads</a> window if this option is disabled. +<a href="#filelist">disabled them</a>. </dd> <dt>Log Uploads</dt> <dd>Enables logging of completed uploads. File list uploads may not be logged if you've -<a href="#filelist">disabled them</a>. File list downloads do not appear in the <a href="window_finished_downloads.html">Finished uploads</a> window if this option is disabled.</dd> +<a href="#filelist">disabled them</a>.</dd> <dt>Download and Upload Log Format </dt> <dd>%[userNI] - User's nickname<br> %[userI4] - User's IP address<br> @@ -55,7 +55,7 @@ </dd> <dt><a name="filelist"></a>Log Filelist transfers</dt> <dd>Add successful file list transfers to your upload and -download logs. Otherwise only transferred files are logged. <em>Disabled +download logs. Otherwise only transferred files are logged. File list transfers do not appear in the <a href="window_finished_downloads.html">Finished downloads</a> and <a href="window_finished_downloads.html">Finished uploads</a> windows if this option is disabled. <em>Disabled by default.</em></dd> <dt><a name="system"></a>Log System Messages</dt> <dd>Enables logging of system-level messages. Examples of Modified: dcplusplus/trunk/help/settings_queue.html =================================================================== --- dcplusplus/trunk/help/settings_queue.html 2008-03-23 18:41:22 UTC (rev 1052) +++ dcplusplus/trunk/help/settings_queue.html 2008-03-26 13:24:55 UTC (rev 1053) @@ -36,7 +36,9 @@ </div> <h2>Autodrop settings</h2> Autodrop allows automatical removal (or disconnecting) of slow download -sources. By default, slow sources are removed. +sources. By default, slow sources are removed.<br> +All of these autodrop options are necessary to estimate and +disconnect/drop sources properly. <div style="margin-left: 40px;"> <dl> <dt>Drop sources below x B/s</dt> @@ -60,8 +62,6 @@ (default: 0 KiB)</dd> </dl> </div> -All of the above autodrop options are necessary to estimate and -disconnect/drop sources properly. <h2>Other queue options</h2> To enable autodrop, turn on either "Autodrop slow sources for all queue items" or "Remove slow file lists" (or both of them). Modified: dcplusplus/trunk/help/settings_sharing.html =================================================================== --- dcplusplus/trunk/help/settings_sharing.html 2008-03-23 18:41:22 UTC (rev 1052) +++ dcplusplus/trunk/help/settings_sharing.html 2008-03-26 13:24:55 UTC (rev 1053) @@ -8,8 +8,8 @@ <body> <h1>Sharing</h1> <h2>Shared Directories</h2> -To add directories to your share, you can use the Add and Remove -buttons, or drag and drop folders from a Windows Explorer window. +To add directories to your share, you can use the Add and Remove +buttons, or drag and drop folders from a Windows Explorer window. <em style="font-weight: bold;">Beginning with version 0.4032, files will be shared only once they have been hashed.</em> <br> @@ -19,9 +19,7 @@ <dt>Share Hidden Files</dt> <dd>Share files with the Hidden attribute set and files inside directory with the Hidden attribute set. With this option off, files -starting with a . (full stop) will not be shared. Files that have a $ -(dollar sign) in the filename will not be shared due to a protocol -limitation. Note: this option requires a +starting with a . (full stop) will not be shared. Note: this option requires a refresh of the file list, and may cause the client to appear to freeze.<br> </dd> <dt>Rename</dt> @@ -57,14 +55,15 @@ file lists and files below <a href="settings_expert.html#minislotsize">64 KiB</a> to other DC++ users without requiring a slot. There's a max of 3 connections in addition to normal slots, -these are called mini slots. </dd> -</dl> -Note: If a user leaves the hub DC++ will close his slots, if the user +these are called mini slots.<br> +Note: If a user leaves the hub, DC++ will close his slots; if the user is back -within 10 minutes DC++ will grant him a slot. (This will only +within 10 minutes, DC++ will grant him a slot. (This will only happen if <a href="settings_advanced.html#disconnect">Automatically Disconnect Users Who -Leave the Hub</a> is enabled) This can cause your +Leave the Hub</a> is enabled.) This can cause your upload slots going over maximum set in settings.<br> +</dd> +</dl> </body> </html> Modified: dcplusplus/trunk/help/settings_tabs.html =================================================================== --- dcplusplus/trunk/help/settings_tabs.html 2008-03-23 18:41:22 UTC (rev 1052) +++ dcplusplus/trunk/help/settings_tabs.html 2008-03-26 13:24:55 UTC (rev 1053) @@ -6,17 +6,8 @@ <link href="office11.css" rel="stylesheet" type="text/css"> </head> <body> -<h1>Tab bolding on contents change</h1> +<h1>Tab highlight on content change</h1> <dl style="margin-left: 40px;"> - <dt>Finished Downloads</dt> - <dd>When a download completes, the Finished -Downloads tab will turn bold if this option is selected.</dd> - <dt>Finished Uploads</dt> - <dd>When a upload completes, the Finished -Uploads tab will turn bold if this option is selected.</dd> - <dt>Download Queue</dt> - <dd>This option controls whether or not the Download Queue's tab will -highlight itself when a queue item changes state or finishes.</dd> <dt>Hub</dt> <dd>When a chat message appears in a hub that's not focused the tab will become bold if you have this option selected.</dd> @@ -26,18 +17,21 @@ <dt>Search</dt> <dd>If more search result appear in an open search window that's not focused the tab will become bold if you have this option selected.</dd> +<dt>System log</dt> + <dd>If an system log entry is added while the tab is not focused, the tab will become bold if you have this option selected.</dd> +<dt>Download Queue</dt> + <dd>This option controls whether or not the Download Queue's tab will +highlight itself when a queue item changes state or finishes.</dd> +<dt>Finished Downloads</dt> + <dd>When a download completes, the Finished +Downloads tab will turn bold if this option is selected.</dd> <dt>Waiting users</dt> <dd>If a user or an item is added or removed while the tab is not focused, the tab will become bold if you have this option selected.</dd> -<dt>System log</dt> - <dd>If an system log entry is added while the tab is not focused, the tab will become bold if you have this option selected.</dd> +<dt>Finished Uploads</dt> + <dd>When a upload completes, the Finished +Uploads tab will turn bold if this option is selected.</dd> </dl> -<h2>Options</h2> -<dl style="margin-left: 40px;"> - <dt>Max Tab Rows</dt> - <dd>The maximum number of rows of tabs that DC++ will make. Any -tabs that do not fit will be accessible through the chevron at the -right of the tab control. (default: 2)</dd> </body> </html> Added: dcplusplus/trunk/help/settings_user_commands.html =================================================================== --- dcplusplus/trunk/help/settings_user_commands.html (rev 0) +++ dcplusplus/trunk/help/settings_user_commands.html 2008-03-26 13:24:55 UTC (rev 1053) @@ -0,0 +1,24 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html> +<head> + <title>User Commands</title> + <meta content="text/html; charset=us-ascii" http-equiv="content-type"> + <link href="office11.css" rel="stylesheet" type="text/css"> +</head> +<body> +<h1>User Commands</h1> +List of your current user commands. +<dl style="margin-left: 40px;"> +<dt>Add</dt> +<dd>Open the User Command dialog to create a new user command and add it to the list.</dd> +<dt>Change</dt> +<dd>Open the currently selected user command in the User Command dialog in order to change it.</dd> +<dt>Move Up</dt> +<dd>Move the currently selected user command upwards in the list.</dd> +<dt>Move Down</dt> +<dd>Move the currently selected user command downwards in the list.</dd> +<dt>Remove</dt> +<dd>Remove the currently selected user command.</dd> +</dl> +</body> +</html> Deleted: dcplusplus/trunk/help/settings_usercommands.html =================================================================== --- dcplusplus/trunk/help/settings_usercommands.html 2008-03-23 18:41:22 UTC (rev 1052) +++ dcplusplus/trunk/help/settings_usercommands.html 2008-03-26 13:24:55 UTC (rev 1053) @@ -1,98 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -<html> -<head> - <meta content="text/html; charset=us-ascii" http-equiv="content-type"> - <link href="office11.css" rel="stylesheet" type="text/css"> - <title>User Commands</title> -</head> -<body> -<h1>User Commands</h1> -<h2>Command Types:</h2> -<dl style="margin-left: 40px;"> - <dt>Separator</dt> - <dd>Adds a separator to the menu</dd> - <dt>Raw</dt> - <dd>Sends raw command to the hub (experts only, end it with '|' in NMDC hubs and '\n' in ADC hubs!)</dd> - <dt>Chat</dt> - <dd>Sends command as if you were typing it in the chat</dd> - <dt>PM</dt> - <dd>Sends command as if you sent it by pm</dd> -</dl> -<h2>Context</h2> -Contexts determine where the command is shown.<br> -<dl style="margin-left: 40px;"> - <dt>Hub Menu</dt> - <dd>Hub tab (at the bottom of the screen) right-click menu</dd> - <dt>Chat Menu </dt> - <dd>User right-click menu in chat and PM tab menu</dd> - <dt>Search Menu</dt> - <dd>Search right-click menu </dd> - <dt>File list Menu</dt> - <dd>File list right-click menu</dd> -</dl> -<h2>Parameters</h2> -<dl style="margin-left: 40px;"> - <dt>Name</dt> - <dd>Name (use '\' to create submenus)</dd> - <dt>Command</dt> - <dd>Command text (may contain any of the variables listed below). Use Ctrl + Enter to create a new line.</dd> - <dt>Hub </dt> - <dd>Hub ip as typed when connecting (empty = all NMDC hubs, "op" = NMDC hubs -where you're an operator, "adc://" = all ADC hubs, "adc://op" = ADC hubs where you're an operator, -"adcs://" = all <a href="settings_certs.html">TLS</a> enabled hubs)</dd> - <dt>To</dt> - <dd>Private Message recipient</dd> - <dt>Send Once Per Nick</dt> - <dd>Send only once per user from search frame, regardless of how many -files you've selected from that user</dd> -</dl> -<h2>Variables</h2> -In the parameters, you can use %[<span style="font-weight: bold;">xxx</span>] -variables and <a href="settings_logs.html#timeformat">date/time -specifiers</a> (%Y, %m, ...). The following variables are also -available:<br> -<ul style="margin-left: 40px;"> - <li>%[fileFN]: Filename (search, file list, and transfer view contexts only)</li> - <li>%[fileSIsize]: File size (search, file list contexts only)</li> - <li>%[fileSIshort]: File size, short version including units -(search, file list contexts only)</li> - <li>%[fileTR]: TTH for the file, or "NONE" (search, file list contexts only)</li> - <li>%[type]: "File" or "Directory" (directory context only)</li> - <li>%[line:<span style="font-style: italic;">reason</span>]: Opens up a window asking for "<span style="font-style: italic;">reason</span>"</li> -</ul> -In addition to these variables, all of the ADC INF flags are available, with the following prefixes: <span style="font-weight: bold;">my</span>, <span style="font-weight: bold;">user</span>, and <span style="font-weight: bold;">hub</span>. Some may <span style="text-decoration: underline;">not</span> be available on NMDC hubs. Many useful ones are enumerated below:<br> -<div style="margin-left: 40px;"> -<ul> - <li>%[myNI]: Your nick</li> - <li>%[myCID]: Your ADC CID</li> - <li>%[userNI]: The user's nick</li> - <li>%[userCID]: The user's ADC CID</li> - <li>%[userI4]: The user's IP (if supported by hub)</li> - <li>%[userTAG]: The user's tag</li> - <li>%[userDE]: The user's description</li> - <li>%[userEM]: The user's email</li> - <li>%[userSS]: The user's shared bytes (exact)</li> - <li>%[userSSshort]: The user's shared bytes (formatted with units)</li> -</ul> -</div> -<h2 style="margin-left: 40px;">Compatibilty Variables</h2> -<ul style="margin-left: 40px;"> - <ul> - <li>%[mynick] = %[myNI]</li> - <li>%[nick] = %[userNI]</li> - <li>%[file] = %[fileFN]</li> - <li>%[filesize] = %[fileSI]</li> - <li>%[filesizeshort] = %[fileSIshort]</li> - <li>%[tth] = %[fileTR]</li> - <li>%[mycid] = %[myCID] </li> - <li>%[cid] = %[userCID]</li> - <li>%[ip] = %[userI4]</li> - <li>%[tag] = %[userTAG]</li> - <li>%[description] = %[userDE]</li> - <li>%[email] = %[userEM]</li> - <li>%[share] = %[userSS]</li> - <li>%[shareshort] = %[userSSshort]</li> - </ul> -</ul> -</body> -</html> Modified: dcplusplus/trunk/help/settings_windows.html =================================================================== --- dcplusplus/trunk/help/settings_windows.html 2008-03-23 18:41:22 UTC (rev 1052) +++ dcplusplus/trunk/help/settings_windows.html 2008-03-26 13:24:55 UTC (rev 1053) @@ -9,12 +9,8 @@ <h1>Windows</h1> <h2>Auto-open at startup</h2> <dl style="margin-left: 40px;"> - <dt>Public Hubs</dt> - <dd>Opens the Public Hub window at startup, and automatically -downloads the <a href="settin... [truncated message content] |
From: <no...@la...> - 2008-03-24 15:40:27
|
------------------------------------------------------------ revno: 1032 committer: Jacek Sieka <arn...@gm...> branch nick: dcplusplus timestamp: Mon 2008-03-24 16:37:06 +0100 message: upgrade bzip2 removed: bzip2/bzip2.c modified: bzip2/LICENSE bzip2/blocksort.c bzip2/bzlib.c bzip2/bzlib.h bzip2/bzlib_private.h bzip2/compress.c bzip2/crctable.c bzip2/decompress.c bzip2/huffman.c bzip2/randtable.c === modified file 'bzip2/LICENSE' --- a/bzip2/LICENSE 2008-01-25 21:08:22 +0000 +++ b/bzip2/LICENSE 2008-03-24 15:37:06 +0000 @@ -2,7 +2,7 @@ -------------------------------------------------------------------------- This program, "bzip2", the associated library "libbzip2", and all -documentation, are copyright (C) 1996-2006 Julian R Seward. All +documentation, are copyright (C) 1996-2007 Julian R Seward. All rights reserved. Redistribution and use in source and binary forms, with or without @@ -36,8 +36,7 @@ NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -Julian Seward, Cambridge, UK. -js...@bz... -bzip2/libbzip2 version 1.0.4 of 20 December 2006 +Julian Seward, js...@bz... +bzip2/libbzip2 version 1.0.5 of 10 December 2007 -------------------------------------------------------------------------- === modified file 'bzip2/blocksort.c' --- a/bzip2/blocksort.c 2008-01-25 21:08:22 +0000 +++ b/bzip2/blocksort.c 2008-03-24 15:37:06 +0000 @@ -8,8 +8,8 @@ This file is part of bzip2/libbzip2, a program and library for lossless, block-sorting data compression. - bzip2/libbzip2 version 1.0.4 of 20 December 2006 - Copyright (C) 1996-2006 Julian Seward <js...@bz...> + bzip2/libbzip2 version 1.0.5 of 10 December 2007 + Copyright (C) 1996-2007 Julian Seward <js...@bz...> Please read the WARNING, DISCLAIMER and PATENTS sections in the README file. === removed file 'bzip2/bzip2.c' --- a/bzip2/bzip2.c 2008-01-25 21:08:22 +0000 +++ b/bzip2/bzip2.c 1970-01-01 00:00:00 +0000 @@ -1,2035 +0,0 @@ -#if 0 -/*-----------------------------------------------------------*/ -/*--- A block-sorting, lossless compressor bzip2.c ---*/ -/*-----------------------------------------------------------*/ - -/* ------------------------------------------------------------------ - This file is part of bzip2/libbzip2, a program and library for - lossless, block-sorting data compression. - - bzip2/libbzip2 version 1.0.4 of 20 December 2006 - Copyright (C) 1996-2006 Julian Seward <js...@bz...> - - Please read the WARNING, DISCLAIMER and PATENTS sections in the - README file. - - This program is released under the terms of the license contained - in the file LICENSE. - ------------------------------------------------------------------ */ - - -/* Place a 1 beside your platform, and 0 elsewhere. - Generic 32-bit Unix. - Also works on 64-bit Unix boxes. - This is the default. -*/ -#define BZ_UNIX 1 - -/*-- - Win32, as seen by Jacob Navia's excellent - port of (Chris Fraser & David Hanson)'s excellent - lcc compiler. Or with MS Visual C. - This is selected automatically if compiled by a compiler which - defines _WIN32, not including the Cygwin GCC. ---*/ -#define BZ_LCCWIN32 0 - -#if defined(_WIN32) && !defined(__CYGWIN__) -#undef BZ_LCCWIN32 -#define BZ_LCCWIN32 1 -#undef BZ_UNIX -#define BZ_UNIX 0 -#endif - - -/*---------------------------------------------*/ -/*-- - Some stuff for all platforms. ---*/ - -#include <stdio.h> -#include <stdlib.h> -#include <string.h> -#include <signal.h> -#include <math.h> -#include <errno.h> -#include <ctype.h> -#include "bzlib.h" - -#define ERROR_IF_EOF(i) { if ((i) == EOF) ioError(); } -#define ERROR_IF_NOT_ZERO(i) { if ((i) != 0) ioError(); } -#define ERROR_IF_MINUS_ONE(i) { if ((i) == (-1)) ioError(); } - - -/*---------------------------------------------*/ -/*-- - Platform-specific stuff. ---*/ - -#if BZ_UNIX -# include <fcntl.h> -# include <sys/types.h> -# include <utime.h> -# include <unistd.h> -# include <sys/stat.h> -# include <sys/times.h> - -# define PATH_SEP '/' -# define MY_LSTAT lstat -# define MY_STAT stat -# define MY_S_ISREG S_ISREG -# define MY_S_ISDIR S_ISDIR - -# define APPEND_FILESPEC(root, name) \ - root=snocString((root), (name)) - -# define APPEND_FLAG(root, name) \ - root=snocString((root), (name)) - -# define SET_BINARY_MODE(fd) /**/ - -# ifdef __GNUC__ -# define NORETURN __attribute__ ((noreturn)) -# else -# define NORETURN /**/ -# endif - -# ifdef __DJGPP__ -# include <io.h> -# include <fcntl.h> -# undef MY_LSTAT -# undef MY_STAT -# define MY_LSTAT stat -# define MY_STAT stat -# undef SET_BINARY_MODE -# define SET_BINARY_MODE(fd) \ - do { \ - int retVal = setmode ( fileno ( fd ), \ - O_BINARY ); \ - ERROR_IF_MINUS_ONE ( retVal ); \ - } while ( 0 ) -# endif - -# ifdef __CYGWIN__ -# include <io.h> -# include <fcntl.h> -# undef SET_BINARY_MODE -# define SET_BINARY_MODE(fd) \ - do { \ - int retVal = setmode ( fileno ( fd ), \ - O_BINARY ); \ - ERROR_IF_MINUS_ONE ( retVal ); \ - } while ( 0 ) -# endif -#endif /* BZ_UNIX */ - - - -#if BZ_LCCWIN32 -# include <io.h> -# include <fcntl.h> -# include <sys\stat.h> - -# define NORETURN /**/ -# define PATH_SEP '\\' -# define MY_LSTAT _stat -# define MY_STAT _stat -# define MY_S_ISREG(x) ((x) & _S_IFREG) -# define MY_S_ISDIR(x) ((x) & _S_IFDIR) - -# define APPEND_FLAG(root, name) \ - root=snocString((root), (name)) - -# define APPEND_FILESPEC(root, name) \ - root = snocString ((root), (name)) - -# define SET_BINARY_MODE(fd) \ - do { \ - int retVal = setmode ( fileno ( fd ), \ - O_BINARY ); \ - ERROR_IF_MINUS_ONE ( retVal ); \ - } while ( 0 ) - -#endif /* BZ_LCCWIN32 */ - - -/*---------------------------------------------*/ -/*-- - Some more stuff for all platforms :-) ---*/ - -typedef char Char; -typedef unsigned char Bool; -typedef unsigned char UChar; -typedef int Int32; -typedef unsigned int UInt32; -typedef short Int16; -typedef unsigned short UInt16; - -#define True ((Bool)1) -#define False ((Bool)0) - -/*-- - IntNative is your platform's `native' int size. - Only here to avoid probs with 64-bit platforms. ---*/ -typedef int IntNative; - - -/*---------------------------------------------------*/ -/*--- Misc (file handling) data decls ---*/ -/*---------------------------------------------------*/ - -Int32 verbosity; -Bool keepInputFiles, smallMode, deleteOutputOnInterrupt; -Bool forceOverwrite, testFailsExist, unzFailsExist, noisy; -Int32 numFileNames, numFilesProcessed, blockSize100k; -Int32 exitValue; - -/*-- source modes; F==file, I==stdin, O==stdout --*/ -#define SM_I2O 1 -#define SM_F2O 2 -#define SM_F2F 3 - -/*-- operation modes --*/ -#define OM_Z 1 -#define OM_UNZ 2 -#define OM_TEST 3 - -Int32 opMode; -Int32 srcMode; - -#define FILE_NAME_LEN 1034 - -Int32 longestFileName; -Char inName [FILE_NAME_LEN]; -Char outName[FILE_NAME_LEN]; -Char tmpName[FILE_NAME_LEN]; -Char *progName; -Char progNameReally[FILE_NAME_LEN]; -FILE *outputHandleJustInCase; -Int32 workFactor; - -static void panic ( const Char* ) NORETURN; -static void ioError ( void ) NORETURN; -static void outOfMemory ( void ) NORETURN; -static void configError ( void ) NORETURN; -static void crcError ( void ) NORETURN; -static void cleanUpAndFail ( Int32 ) NORETURN; -static void compressedStreamEOF ( void ) NORETURN; - -static void copyFileName ( Char*, Char* ); -static void* myMalloc ( Int32 ); -static void applySavedFileAttrToOutputFile ( IntNative fd ); - - - -/*---------------------------------------------------*/ -/*--- An implementation of 64-bit ints. Sigh. ---*/ -/*--- Roll on widespread deployment of ANSI C9X ! ---*/ -/*---------------------------------------------------*/ - -typedef - struct { UChar b[8]; } - UInt64; - - -static -void uInt64_from_UInt32s ( UInt64* n, UInt32 lo32, UInt32 hi32 ) -{ - n->b[7] = (UChar)((hi32 >> 24) & 0xFF); - n->b[6] = (UChar)((hi32 >> 16) & 0xFF); - n->b[5] = (UChar)((hi32 >> 8) & 0xFF); - n->b[4] = (UChar) (hi32 & 0xFF); - n->b[3] = (UChar)((lo32 >> 24) & 0xFF); - n->b[2] = (UChar)((lo32 >> 16) & 0xFF); - n->b[1] = (UChar)((lo32 >> 8) & 0xFF); - n->b[0] = (UChar) (lo32 & 0xFF); -} - - -static -double uInt64_to_double ( UInt64* n ) -{ - Int32 i; - double base = 1.0; - double sum = 0.0; - for (i = 0; i < 8; i++) { - sum += base * (double)(n->b[i]); - base *= 256.0; - } - return sum; -} - - -static -Bool uInt64_isZero ( UInt64* n ) -{ - Int32 i; - for (i = 0; i < 8; i++) - if (n->b[i] != 0) return 0; - return 1; -} - - -/* Divide *n by 10, and return the remainder. */ -static -Int32 uInt64_qrm10 ( UInt64* n ) -{ - UInt32 rem, tmp; - Int32 i; - rem = 0; - for (i = 7; i >= 0; i--) { - tmp = rem * 256 + n->b[i]; - n->b[i] = tmp / 10; - rem = tmp % 10; - } - return rem; -} - - -/* ... and the Whole Entire Point of all this UInt64 stuff is - so that we can supply the following function. -*/ -static -void uInt64_toAscii ( char* outbuf, UInt64* n ) -{ - Int32 i, q; - UChar buf[32]; - Int32 nBuf = 0; - UInt64 n_copy = *n; - do { - q = uInt64_qrm10 ( &n_copy ); - buf[nBuf] = q + '0'; - nBuf++; - } while (!uInt64_isZero(&n_copy)); - outbuf[nBuf] = 0; - for (i = 0; i < nBuf; i++) - outbuf[i] = buf[nBuf-i-1]; -} - - -/*---------------------------------------------------*/ -/*--- Processing of complete files and streams ---*/ -/*---------------------------------------------------*/ - -/*---------------------------------------------*/ -static -Bool myfeof ( FILE* f ) -{ - Int32 c = fgetc ( f ); - if (c == EOF) return True; - ungetc ( c, f ); - return False; -} - - -/*---------------------------------------------*/ -static -void compressStream ( FILE *stream, FILE *zStream ) -{ - BZFILE* bzf = NULL; - UChar ibuf[5000]; - Int32 nIbuf; - UInt32 nbytes_in_lo32, nbytes_in_hi32; - UInt32 nbytes_out_lo32, nbytes_out_hi32; - Int32 bzerr, bzerr_dummy, ret; - - SET_BINARY_MODE(stream); - SET_BINARY_MODE(zStream); - - if (ferror(stream)) goto errhandler_io; - if (ferror(zStream)) goto errhandler_io; - - bzf = BZ2_bzWriteOpen ( &bzerr, zStream, - blockSize100k, verbosity, workFactor ); - if (bzerr != BZ_OK) goto errhandler; - - if (verbosity >= 2) fprintf ( stderr, "\n" ); - - while (True) { - - if (myfeof(stream)) break; - nIbuf = fread ( ibuf, sizeof(UChar), 5000, stream ); - if (ferror(stream)) goto errhandler_io; - if (nIbuf > 0) BZ2_bzWrite ( &bzerr, bzf, (void*)ibuf, nIbuf ); - if (bzerr != BZ_OK) goto errhandler; - - } - - BZ2_bzWriteClose64 ( &bzerr, bzf, 0, - &nbytes_in_lo32, &nbytes_in_hi32, - &nbytes_out_lo32, &nbytes_out_hi32 ); - if (bzerr != BZ_OK) goto errhandler; - - if (ferror(zStream)) goto errhandler_io; - ret = fflush ( zStream ); - if (ret == EOF) goto errhandler_io; - if (zStream != stdout) { - Int32 fd = fileno ( zStream ); - if (fd < 0) goto errhandler_io; - applySavedFileAttrToOutputFile ( fd ); - ret = fclose ( zStream ); - outputHandleJustInCase = NULL; - if (ret == EOF) goto errhandler_io; - } - outputHandleJustInCase = NULL; - if (ferror(stream)) goto errhandler_io; - ret = fclose ( stream ); - if (ret == EOF) goto errhandler_io; - - if (verbosity >= 1) { - if (nbytes_in_lo32 == 0 && nbytes_in_hi32 == 0) { - fprintf ( stderr, " no data compressed.\n"); - } else { - Char buf_nin[32], buf_nout[32]; - UInt64 nbytes_in, nbytes_out; - double nbytes_in_d, nbytes_out_d; - uInt64_from_UInt32s ( &nbytes_in, - nbytes_in_lo32, nbytes_in_hi32 ); - uInt64_from_UInt32s ( &nbytes_out, - nbytes_out_lo32, nbytes_out_hi32 ); - nbytes_in_d = uInt64_to_double ( &nbytes_in ); - nbytes_out_d = uInt64_to_double ( &nbytes_out ); - uInt64_toAscii ( buf_nin, &nbytes_in ); - uInt64_toAscii ( buf_nout, &nbytes_out ); - fprintf ( stderr, "%6.3f:1, %6.3f bits/byte, " - "%5.2f%% saved, %s in, %s out.\n", - nbytes_in_d / nbytes_out_d, - (8.0 * nbytes_out_d) / nbytes_in_d, - 100.0 * (1.0 - nbytes_out_d / nbytes_in_d), - buf_nin, - buf_nout - ); - } - } - - return; - - errhandler: - BZ2_bzWriteClose64 ( &bzerr_dummy, bzf, 1, - &nbytes_in_lo32, &nbytes_in_hi32, - &nbytes_out_lo32, &nbytes_out_hi32 ); - switch (bzerr) { - case BZ_CONFIG_ERROR: - configError(); break; - case BZ_MEM_ERROR: - outOfMemory (); break; - case BZ_IO_ERROR: - errhandler_io: - ioError(); break; - default: - panic ( "compress:unexpected error" ); - } - - panic ( "compress:end" ); - /*notreached*/ -} - - - -/*---------------------------------------------*/ -static -Bool uncompressStream ( FILE *zStream, FILE *stream ) -{ - BZFILE* bzf = NULL; - Int32 bzerr, bzerr_dummy, ret, nread, streamNo, i; - UChar obuf[5000]; - UChar unused[BZ_MAX_UNUSED]; - Int32 nUnused; - void* unusedTmpV; - UChar* unusedTmp; - - nUnused = 0; - streamNo = 0; - - SET_BINARY_MODE(stream); - SET_BINARY_MODE(zStream); - - if (ferror(stream)) goto errhandler_io; - if (ferror(zStream)) goto errhandler_io; - - while (True) { - - bzf = BZ2_bzReadOpen ( - &bzerr, zStream, verbosity, - (int)smallMode, unused, nUnused - ); - if (bzf == NULL || bzerr != BZ_OK) goto errhandler; - streamNo++; - - while (bzerr == BZ_OK) { - nread = BZ2_bzRead ( &bzerr, bzf, obuf, 5000 ); - if (bzerr == BZ_DATA_ERROR_MAGIC) goto trycat; - if ((bzerr == BZ_OK || bzerr == BZ_STREAM_END) && nread > 0) - fwrite ( obuf, sizeof(UChar), nread, stream ); - if (ferror(stream)) goto errhandler_io; - } - if (bzerr != BZ_STREAM_END) goto errhandler; - - BZ2_bzReadGetUnused ( &bzerr, bzf, &unusedTmpV, &nUnused ); - if (bzerr != BZ_OK) panic ( "decompress:bzReadGetUnused" ); - - unusedTmp = (UChar*)unusedTmpV; - for (i = 0; i < nUnused; i++) unused[i] = unusedTmp[i]; - - BZ2_bzReadClose ( &bzerr, bzf ); - if (bzerr != BZ_OK) panic ( "decompress:bzReadGetUnused" ); - - if (nUnused == 0 && myfeof(zStream)) break; - } - - closeok: - if (ferror(zStream)) goto errhandler_io; - if (stream != stdout) { - Int32 fd = fileno ( stream ); - if (fd < 0) goto errhandler_io; - applySavedFileAttrToOutputFile ( fd ); - } - ret = fclose ( zStream ); - if (ret == EOF) goto errhandler_io; - - if (ferror(stream)) goto errhandler_io; - ret = fflush ( stream ); - if (ret != 0) goto errhandler_io; - if (stream != stdout) { - ret = fclose ( stream ); - outputHandleJustInCase = NULL; - if (ret == EOF) goto errhandler_io; - } - outputHandleJustInCase = NULL; - if (verbosity >= 2) fprintf ( stderr, "\n " ); - return True; - - trycat: - if (forceOverwrite) { - rewind(zStream); - while (True) { - if (myfeof(zStream)) break; - nread = fread ( obuf, sizeof(UChar), 5000, zStream ); - if (ferror(zStream)) goto errhandler_io; - if (nread > 0) fwrite ( obuf, sizeof(UChar), nread, stream ); - if (ferror(stream)) goto errhandler_io; - } - goto closeok; - } - - errhandler: - BZ2_bzReadClose ( &bzerr_dummy, bzf ); - switch (bzerr) { - case BZ_CONFIG_ERROR: - configError(); break; - case BZ_IO_ERROR: - errhandler_io: - ioError(); break; - case BZ_DATA_ERROR: - crcError(); - case BZ_MEM_ERROR: - outOfMemory(); - case BZ_UNEXPECTED_EOF: - compressedStreamEOF(); - case BZ_DATA_ERROR_MAGIC: - if (zStream != stdin) fclose(zStream); - if (stream != stdout) fclose(stream); - if (streamNo == 1) { - return False; - } else { - if (noisy) - fprintf ( stderr, - "\n%s: %s: trailing garbage after EOF ignored\n", - progName, inName ); - return True; - } - default: - panic ( "decompress:unexpected error" ); - } - - panic ( "decompress:end" ); - return True; /*notreached*/ -} - - -/*---------------------------------------------*/ -static -Bool testStream ( FILE *zStream ) -{ - BZFILE* bzf = NULL; - Int32 bzerr, bzerr_dummy, ret, nread, streamNo, i; - UChar obuf[5000]; - UChar unused[BZ_MAX_UNUSED]; - Int32 nUnused; - void* unusedTmpV; - UChar* unusedTmp; - - nUnused = 0; - streamNo = 0; - - SET_BINARY_MODE(zStream); - if (ferror(zStream)) goto errhandler_io; - - while (True) { - - bzf = BZ2_bzReadOpen ( - &bzerr, zStream, verbosity, - (int)smallMode, unused, nUnused - ); - if (bzf == NULL || bzerr != BZ_OK) goto errhandler; - streamNo++; - - while (bzerr == BZ_OK) { - nread = BZ2_bzRead ( &bzerr, bzf, obuf, 5000 ); - if (bzerr == BZ_DATA_ERROR_MAGIC) goto errhandler; - } - if (bzerr != BZ_STREAM_END) goto errhandler; - - BZ2_bzReadGetUnused ( &bzerr, bzf, &unusedTmpV, &nUnused ); - if (bzerr != BZ_OK) panic ( "test:bzReadGetUnused" ); - - unusedTmp = (UChar*)unusedTmpV; - for (i = 0; i < nUnused; i++) unused[i] = unusedTmp[i]; - - BZ2_bzReadClose ( &bzerr, bzf ); - if (bzerr != BZ_OK) panic ( "test:bzReadGetUnused" ); - if (nUnused == 0 && myfeof(zStream)) break; - - } - - if (ferror(zStream)) goto errhandler_io; - ret = fclose ( zStream ); - if (ret == EOF) goto errhandler_io; - - if (verbosity >= 2) fprintf ( stderr, "\n " ); - return True; - - errhandler: - BZ2_bzReadClose ( &bzerr_dummy, bzf ); - if (verbosity == 0) - fprintf ( stderr, "%s: %s: ", progName, inName ); - switch (bzerr) { - case BZ_CONFIG_ERROR: - configError(); break; - case BZ_IO_ERROR: - errhandler_io: - ioError(); break; - case BZ_DATA_ERROR: - fprintf ( stderr, - "data integrity (CRC) error in data\n" ); - return False; - case BZ_MEM_ERROR: - outOfMemory(); - case BZ_UNEXPECTED_EOF: - fprintf ( stderr, - "file ends unexpectedly\n" ); - return False; - case BZ_DATA_ERROR_MAGIC: - if (zStream != stdin) fclose(zStream); - if (streamNo == 1) { - fprintf ( stderr, - "bad magic number (file not created by bzip2)\n" ); - return False; - } else { - if (noisy) - fprintf ( stderr, - "trailing garbage after EOF ignored\n" ); - return True; - } - default: - panic ( "test:unexpected error" ); - } - - panic ( "test:end" ); - return True; /*notreached*/ -} - - -/*---------------------------------------------------*/ -/*--- Error [non-] handling grunge ---*/ -/*---------------------------------------------------*/ - -/*---------------------------------------------*/ -static -void setExit ( Int32 v ) -{ - if (v > exitValue) exitValue = v; -} - - -/*---------------------------------------------*/ -static -void cadvise ( void ) -{ - if (noisy) - fprintf ( - stderr, - "\nIt is possible that the compressed file(s) have become corrupted.\n" - "You can use the -tvv option to test integrity of such files.\n\n" - "You can use the `bzip2recover' program to attempt to recover\n" - "data from undamaged sections of corrupted files.\n\n" - ); -} - - -/*---------------------------------------------*/ -static -void showFileNames ( void ) -{ - if (noisy) - fprintf ( - stderr, - "\tInput file = %s, output file = %s\n", - inName, outName - ); -} - - -/*---------------------------------------------*/ -static -void cleanUpAndFail ( Int32 ec ) -{ - IntNative retVal; - struct MY_STAT statBuf; - - if ( srcMode == SM_F2F - && opMode != OM_TEST - && deleteOutputOnInterrupt ) { - - /* Check whether input file still exists. Delete output file - only if input exists to avoid loss of data. Joerg Prante, 5 - January 2002. (JRS 06-Jan-2002: other changes in 1.0.2 mean - this is less likely to happen. But to be ultra-paranoid, we - do the check anyway.) */ - retVal = MY_STAT ( inName, &statBuf ); - if (retVal == 0) { - if (noisy) - fprintf ( stderr, - "%s: Deleting output file %s, if it exists.\n", - progName, outName ); - if (outputHandleJustInCase != NULL) - fclose ( outputHandleJustInCase ); - retVal = remove ( outName ); - if (retVal != 0) - fprintf ( stderr, - "%s: WARNING: deletion of output file " - "(apparently) failed.\n", - progName ); - } else { - fprintf ( stderr, - "%s: WARNING: deletion of output file suppressed\n", - progName ); - fprintf ( stderr, - "%s: since input file no longer exists. Output file\n", - progName ); - fprintf ( stderr, - "%s: `%s' may be incomplete.\n", - progName, outName ); - fprintf ( stderr, - "%s: I suggest doing an integrity test (bzip2 -tv)" - " of it.\n", - progName ); - } - } - - if (noisy && numFileNames > 0 && numFilesProcessed < numFileNames) { - fprintf ( stderr, - "%s: WARNING: some files have not been processed:\n" - "%s: %d specified on command line, %d not processed yet.\n\n", - progName, progName, - numFileNames, numFileNames - numFilesProcessed ); - } - setExit(ec); - exit(exitValue); -} - - -/*---------------------------------------------*/ -static -void panic ( const Char* s ) -{ - fprintf ( stderr, - "\n%s: PANIC -- internal consistency error:\n" - "\t%s\n" - "\tThis is a BUG. Please report it to me at:\n" - "\tjs...@bz...\n", - progName, s ); - showFileNames(); - cleanUpAndFail( 3 ); -} - - -/*---------------------------------------------*/ -static -void crcError ( void ) -{ - fprintf ( stderr, - "\n%s: Data integrity error when decompressing.\n", - progName ); - showFileNames(); - cadvise(); - cleanUpAndFail( 2 ); -} - - -/*---------------------------------------------*/ -static -void compressedStreamEOF ( void ) -{ - if (noisy) { - fprintf ( stderr, - "\n%s: Compressed file ends unexpectedly;\n\t" - "perhaps it is corrupted? *Possible* reason follows.\n", - progName ); - perror ( progName ); - showFileNames(); - cadvise(); - } - cleanUpAndFail( 2 ); -} - - -/*---------------------------------------------*/ -static -void ioError ( void ) -{ - fprintf ( stderr, - "\n%s: I/O or other error, bailing out. " - "Possible reason follows.\n", - progName ); - perror ( progName ); - showFileNames(); - cleanUpAndFail( 1 ); -} - - -/*---------------------------------------------*/ -static -void mySignalCatcher ( IntNative n ) -{ - fprintf ( stderr, - "\n%s: Control-C or similar caught, quitting.\n", - progName ); - cleanUpAndFail(1); -} - - -/*---------------------------------------------*/ -static -void mySIGSEGVorSIGBUScatcher ( IntNative n ) -{ - if (opMode == OM_Z) - fprintf ( - stderr, - "\n%s: Caught a SIGSEGV or SIGBUS whilst compressing.\n" - "\n" - " Possible causes are (most likely first):\n" - " (1) This computer has unreliable memory or cache hardware\n" - " (a surprisingly common problem; try a different machine.)\n" - " (2) A bug in the compiler used to create this executable\n" - " (unlikely, if you didn't compile bzip2 yourself.)\n" - " (3) A real bug in bzip2 -- I hope this should never be the case.\n" - " The user's manual, Section 4.3, has more info on (1) and (2).\n" - " \n" - " If you suspect this is a bug in bzip2, or are unsure about (1)\n" - " or (2), feel free to report it to me at: js...@bz....\n" - " Section 4.3 of the user's manual describes the info a useful\n" - " bug report should have. If the manual is available on your\n" - " system, please try and read it before mailing me. If you don't\n" - " have the manual or can't be bothered to read it, mail me anyway.\n" - "\n", - progName ); - else - fprintf ( - stderr, - "\n%s: Caught a SIGSEGV or SIGBUS whilst decompressing.\n" - "\n" - " Possible causes are (most likely first):\n" - " (1) The compressed data is corrupted, and bzip2's usual checks\n" - " failed to detect this. Try bzip2 -tvv my_file.bz2.\n" - " (2) This computer has unreliable memory or cache hardware\n" - " (a surprisingly common problem; try a different machine.)\n" - " (3) A bug in the compiler used to create this executable\n" - " (unlikely, if you didn't compile bzip2 yourself.)\n" - " (4) A real bug in bzip2 -- I hope this should never be the case.\n" - " The user's manual, Section 4.3, has more info on (2) and (3).\n" - " \n" - " If you suspect this is a bug in bzip2, or are unsure about (2)\n" - " or (3), feel free to report it to me at: js...@bz....\n" - " Section 4.3 of the user's manual describes the info a useful\n" - " bug report should have. If the manual is available on your\n" - " system, please try and read it before mailing me. If you don't\n" - " have the manual or can't be bothered to read it, mail me anyway.\n" - "\n", - progName ); - - showFileNames(); - if (opMode == OM_Z) - cleanUpAndFail( 3 ); else - { cadvise(); cleanUpAndFail( 2 ); } -} - - -/*---------------------------------------------*/ -static -void outOfMemory ( void ) -{ - fprintf ( stderr, - "\n%s: couldn't allocate enough memory\n", - progName ); - showFileNames(); - cleanUpAndFail(1); -} - - -/*---------------------------------------------*/ -static -void configError ( void ) -{ - fprintf ( stderr, - "bzip2: I'm not configured correctly for this platform!\n" - "\tI require Int32, Int16 and Char to have sizes\n" - "\tof 4, 2 and 1 bytes to run properly, and they don't.\n" - "\tProbably you can fix this by defining them correctly,\n" - "\tand recompiling. Bye!\n" ); - setExit(3); - exit(exitValue); -} - - -/*---------------------------------------------------*/ -/*--- The main driver machinery ---*/ -/*---------------------------------------------------*/ - -/* All rather crufty. The main problem is that input files - are stat()d multiple times before use. This should be - cleaned up. -*/ - -/*---------------------------------------------*/ -static -void pad ( Char *s ) -{ - Int32 i; - if ( (Int32)strlen(s) >= longestFileName ) return; - for (i = 1; i <= longestFileName - (Int32)strlen(s); i++) - fprintf ( stderr, " " ); -} - - -/*---------------------------------------------*/ -static -void copyFileName ( Char* to, Char* from ) -{ - if ( strlen(from) > FILE_NAME_LEN-10 ) { - fprintf ( - stderr, - "bzip2: file name\n`%s'\n" - "is suspiciously (more than %d chars) long.\n" - "Try using a reasonable file name instead. Sorry! :-)\n", - from, FILE_NAME_LEN-10 - ); - setExit(1); - exit(exitValue); - } - - strncpy(to,from,FILE_NAME_LEN-10); - to[FILE_NAME_LEN-10]='\0'; -} - - -/*---------------------------------------------*/ -static -Bool fileExists ( Char* name ) -{ - FILE *tmp = fopen ( name, "rb" ); - Bool exists = (tmp != NULL); - if (tmp != NULL) fclose ( tmp ); - return exists; -} - - -/*---------------------------------------------*/ -/* Open an output file safely with O_EXCL and good permissions. - This avoids a race condition in versions < 1.0.2, in which - the file was first opened and then had its interim permissions - set safely. We instead use open() to create the file with - the interim permissions required. (--- --- rw-). - - For non-Unix platforms, if we are not worrying about - security issues, simple this simply behaves like fopen. -*/ -static -FILE* fopen_output_safely ( Char* name, const char* mode ) -{ -# if BZ_UNIX - FILE* fp; - IntNative fh; - fh = open(name, O_WRONLY|O_CREAT|O_EXCL, S_IWUSR|S_IRUSR); - if (fh == -1) return NULL; - fp = fdopen(fh, mode); - if (fp == NULL) close(fh); - return fp; -# else - return fopen(name, mode); -# endif -} - - -/*---------------------------------------------*/ -/*-- - if in doubt, return True ---*/ -static -Bool notAStandardFile ( Char* name ) -{ - IntNative i; - struct MY_STAT statBuf; - - i = MY_LSTAT ( name, &statBuf ); - if (i != 0) return True; - if (MY_S_ISREG(statBuf.st_mode)) return False; - return True; -} - - -/*---------------------------------------------*/ -/*-- - rac 11/21/98 see if file has hard links to it ---*/ -static -Int32 countHardLinks ( Char* name ) -{ - IntNative i; - struct MY_STAT statBuf; - - i = MY_LSTAT ( name, &statBuf ); - if (i != 0) return 0; - return (statBuf.st_nlink - 1); -} - - -/*---------------------------------------------*/ -/* Copy modification date, access date, permissions and owner from the - source to destination file. We have to copy this meta-info off - into fileMetaInfo before starting to compress / decompress it, - because doing it afterwards means we get the wrong access time. - - To complicate matters, in compress() and decompress() below, the - sequence of tests preceding the call to saveInputFileMetaInfo() - involves calling fileExists(), which in turn establishes its result - by attempting to fopen() the file, and if successful, immediately - fclose()ing it again. So we have to assume that the fopen() call - does not cause the access time field to be updated. - - Reading of the man page for stat() (man 2 stat) on RedHat 7.2 seems - to imply that merely doing open() will not affect the access time. - Therefore we merely need to hope that the C library only does - open() as a result of fopen(), and not any kind of read()-ahead - cleverness. - - It sounds pretty fragile to me. Whether this carries across - robustly to arbitrary Unix-like platforms (or even works robustly - on this one, RedHat 7.2) is unknown to me. Nevertheless ... -*/ -#if BZ_UNIX -static -struct MY_STAT fileMetaInfo; -#endif - -static -void saveInputFileMetaInfo ( Char *srcName ) -{ -# if BZ_UNIX - IntNative retVal; - /* Note use of stat here, not lstat. */ - retVal = MY_STAT( srcName, &fileMetaInfo ); - ERROR_IF_NOT_ZERO ( retVal ); -# endif -} - - -static -void applySavedTimeInfoToOutputFile ( Char *dstName ) -{ -# if BZ_UNIX - IntNative retVal; - struct utimbuf uTimBuf; - - uTimBuf.actime = fileMetaInfo.st_atime; - uTimBuf.modtime = fileMetaInfo.st_mtime; - - retVal = utime ( dstName, &uTimBuf ); - ERROR_IF_NOT_ZERO ( retVal ); -# endif -} - -static -void applySavedFileAttrToOutputFile ( IntNative fd ) -{ -# if BZ_UNIX - IntNative retVal; - - retVal = fchmod ( fd, fileMetaInfo.st_mode ); - ERROR_IF_NOT_ZERO ( retVal ); - - (void) fchown ( fd, fileMetaInfo.st_uid, fileMetaInfo.st_gid ); - /* chown() will in many cases return with EPERM, which can - be safely ignored. - */ -# endif -} - - -/*---------------------------------------------*/ -static -Bool containsDubiousChars ( Char* name ) -{ -# if BZ_UNIX - /* On unix, files can contain any characters and the file expansion - * is performed by the shell. - */ - return False; -# else /* ! BZ_UNIX */ - /* On non-unix (Win* platforms), wildcard characters are not allowed in - * filenames. - */ - for (; *name != '\0'; name++) - if (*name == '?' || *name == '*') return True; - return False; -# endif /* BZ_UNIX */ -} - - -/*---------------------------------------------*/ -#define BZ_N_SUFFIX_PAIRS 4 - -const Char* zSuffix[BZ_N_SUFFIX_PAIRS] - = { ".bz2", ".bz", ".tbz2", ".tbz" }; -const Char* unzSuffix[BZ_N_SUFFIX_PAIRS] - = { "", "", ".tar", ".tar" }; - -static -Bool hasSuffix ( Char* s, const Char* suffix ) -{ - Int32 ns = strlen(s); - Int32 nx = strlen(suffix); - if (ns < nx) return False; - if (strcmp(s + ns - nx, suffix) == 0) return True; - return False; -} - -static -Bool mapSuffix ( Char* name, - const Char* oldSuffix, - const Char* newSuffix ) -{ - if (!hasSuffix(name,oldSuffix)) return False; - name[strlen(name)-strlen(oldSuffix)] = 0; - strcat ( name, newSuffix ); - return True; -} - - -/*---------------------------------------------*/ -static -void compress ( Char *name ) -{ - FILE *inStr; - FILE *outStr; - Int32 n, i; - struct MY_STAT statBuf; - - deleteOutputOnInterrupt = False; - - if (name == NULL && srcMode != SM_I2O) - panic ( "compress: bad modes\n" ); - - switch (srcMode) { - case SM_I2O: - copyFileName ( inName, (Char*)"(stdin)" ); - copyFileName ( outName, (Char*)"(stdout)" ); - break; - case SM_F2F: - copyFileName ( inName, name ); - copyFileName ( outName, name ); - strcat ( outName, ".bz2" ); - break; - case SM_F2O: - copyFileName ( inName, name ); - copyFileName ( outName, (Char*)"(stdout)" ); - break; - } - - if ( srcMode != SM_I2O && containsDubiousChars ( inName ) ) { - if (noisy) - fprintf ( stderr, "%s: There are no files matching `%s'.\n", - progName, inName ); - setExit(1); - return; - } - if ( srcMode != SM_I2O && !fileExists ( inName ) ) { - fprintf ( stderr, "%s: Can't open input file %s: %s.\n", - progName, inName, strerror(errno) ); - setExit(1); - return; - } - for (i = 0; i < BZ_N_SUFFIX_PAIRS; i++) { - if (hasSuffix(inName, zSuffix[i])) { - if (noisy) - fprintf ( stderr, - "%s: Input file %s already has %s suffix.\n", - progName, inName, zSuffix[i] ); - setExit(1); - return; - } - } - if ( srcMode == SM_F2F || srcMode == SM_F2O ) { - MY_STAT(inName, &statBuf); - if ( MY_S_ISDIR(statBuf.st_mode) ) { - fprintf( stderr, - "%s: Input file %s is a directory.\n", - progName,inName); - setExit(1); - return; - } - } - if ( srcMode == SM_F2F && !forceOverwrite && notAStandardFile ( inName )) { - if (noisy) - fprintf ( stderr, "%s: Input file %s is not a normal file.\n", - progName, inName ); - setExit(1); - return; - } - if ( srcMode == SM_F2F && fileExists ( outName ) ) { - if (forceOverwrite) { - remove(outName); - } else { - fprintf ( stderr, "%s: Output file %s already exists.\n", - progName, outName ); - setExit(1); - return; - } - } - if ( srcMode == SM_F2F && !forceOverwrite && - (n=countHardLinks ( inName )) > 0) { - fprintf ( stderr, "%s: Input file %s has %d other link%s.\n", - progName, inName, n, n > 1 ? "s" : "" ); - setExit(1); - return; - } - - if ( srcMode == SM_F2F ) { - /* Save the file's meta-info before we open it. Doing it later - means we mess up the access times. */ - saveInputFileMetaInfo ( inName ); - } - - switch ( srcMode ) { - - case SM_I2O: - inStr = stdin; - outStr = stdout; - if ( isatty ( fileno ( stdout ) ) ) { - fprintf ( stderr, - "%s: I won't write compressed data to a terminal.\n", - progName ); - fprintf ( stderr, "%s: For help, type: `%s --help'.\n", - progName, progName ); - setExit(1); - return; - }; - break; - - case SM_F2O: - inStr = fopen ( inName, "rb" ); - outStr = stdout; - if ( isatty ( fileno ( stdout ) ) ) { - fprintf ( stderr, - "%s: I won't write compressed data to a terminal.\n", - progName ); - fprintf ( stderr, "%s: For help, type: `%s --help'.\n", - progName, progName ); - if ( inStr != NULL ) fclose ( inStr ); - setExit(1); - return; - }; - if ( inStr == NULL ) { - fprintf ( stderr, "%s: Can't open input file %s: %s.\n", - progName, inName, strerror(errno) ); - setExit(1); - return; - }; - break; - - case SM_F2F: - inStr = fopen ( inName, "rb" ); - outStr = fopen_output_safely ( outName, "wb" ); - if ( outStr == NULL) { - fprintf ( stderr, "%s: Can't create output file %s: %s.\n", - progName, outName, strerror(errno) ); - if ( inStr != NULL ) fclose ( inStr ); - setExit(1); - return; - } - if ( inStr == NULL ) { - fprintf ( stderr, "%s: Can't open input file %s: %s.\n", - progName, inName, strerror(errno) ); - if ( outStr != NULL ) fclose ( outStr ); - setExit(1); - return; - }; - break; - - default: - panic ( "compress: bad srcMode" ); - break; - } - - if (verbosity >= 1) { - fprintf ( stderr, " %s: ", inName ); - pad ( inName ); - fflush ( stderr ); - } - - /*--- Now the input and output handles are sane. Do the Biz. ---*/ - outputHandleJustInCase = outStr; - deleteOutputOnInterrupt = True; - compressStream ( inStr, outStr ); - outputHandleJustInCase = NULL; - - /*--- If there was an I/O error, we won't get here. ---*/ - if ( srcMode == SM_F2F ) { - applySavedTimeInfoToOutputFile ( outName ); - deleteOutputOnInterrupt = False; - if ( !keepInputFiles ) { - IntNative retVal = remove ( inName ); - ERROR_IF_NOT_ZERO ( retVal ); - } - } - - deleteOutputOnInterrupt = False; -} - - -/*---------------------------------------------*/ -static -void uncompress ( Char *name ) -{ - FILE *inStr; - FILE *outStr; - Int32 n, i; - Bool magicNumberOK; - Bool cantGuess; - struct MY_STAT statBuf; - - deleteOutputOnInterrupt = False; - - if (name == NULL && srcMode != SM_I2O) - panic ( "uncompress: bad modes\n" ); - - cantGuess = False; - switch (srcMode) { - case SM_I2O: - copyFileName ( inName, (Char*)"(stdin)" ); - copyFileName ( outName, (Char*)"(stdout)" ); - break; - case SM_F2F: - copyFileName ( inName, name ); - copyFileName ( outName, name ); - for (i = 0; i < BZ_N_SUFFIX_PAIRS; i++) - if (mapSuffix(outName,zSuffix[i],unzSuffix[i])) - goto zzz; - cantGuess = True; - strcat ( outName, ".out" ); - break; - case SM_F2O: - copyFileName ( inName, name ); - copyFileName ( outName, (Char*)"(stdout)" ); - break; - } - - zzz: - if ( srcMode != SM_I2O && containsDubiousChars ( inName ) ) { - if (noisy) - fprintf ( stderr, "%s: There are no files matching `%s'.\n", - progName, inName ); - setExit(1); - return; - } - if ( srcMode != SM_I2O && !fileExists ( inName ) ) { - fprintf ( stderr, "%s: Can't open input file %s: %s.\n", - progName, inName, strerror(errno) ); - setExit(1); - return; - } - if ( srcMode == SM_F2F || srcMode == SM_F2O ) { - MY_STAT(inName, &statBuf); - if ( MY_S_ISDIR(statBuf.st_mode) ) { - fprintf( stderr, - "%s: Input file %s is a directory.\n", - progName,inName); - setExit(1); - return; - } - } - if ( srcMode == SM_F2F && !forceOverwrite && notAStandardFile ( inName )) { - if (noisy) - fprintf ( stderr, "%s: Input file %s is not a normal file.\n", - progName, inName ); - setExit(1); - return; - } - if ( /* srcMode == SM_F2F implied && */ cantGuess ) { - if (noisy) - fprintf ( stderr, - "%s: Can't guess original name for %s -- using %s\n", - progName, inName, outName ); - /* just a warning, no return */ - } - if ( srcMode == SM_F2F && fileExists ( outName ) ) { - if (forceOverwrite) { - remove(outName); - } else { - fprintf ( stderr, "%s: Output file %s already exists.\n", - progName, outName ); - setExit(1); - return; - } - } - if ( srcMode == SM_F2F && !forceOverwrite && - (n=countHardLinks ( inName ) ) > 0) { - fprintf ( stderr, "%s: Input file %s has %d other link%s.\n", - progName, inName, n, n > 1 ? "s" : "" ); - setExit(1); - return; - } - - if ( srcMode == SM_F2F ) { - /* Save the file's meta-info before we open it. Doing it later - means we mess up the access times. */ - saveInputFileMetaInfo ( inName ); - } - - switch ( srcMode ) { - - case SM_I2O: - inStr = stdin; - outStr = stdout; - if ( isatty ( fileno ( stdin ) ) ) { - fprintf ( stderr, - "%s: I won't read compressed data from a terminal.\n", - progName ); - fprintf ( stderr, "%s: For help, type: `%s --help'.\n", - progName, progName ); - setExit(1); - return; - }; - break; - - case SM_F2O: - inStr = fopen ( inName, "rb" ); - outStr = stdout; - if ( inStr == NULL ) { - fprintf ( stderr, "%s: Can't open input file %s:%s.\n", - progName, inName, strerror(errno) ); - if ( inStr != NULL ) fclose ( inStr ); - setExit(1); - return; - }; - break; - - case SM_F2F: - inStr = fopen ( inName, "rb" ); - outStr = fopen_output_safely ( outName, "wb" ); - if ( outStr == NULL) { - fprintf ( stderr, "%s: Can't create output file %s: %s.\n", - progName, outName, strerror(errno) ); - if ( inStr != NULL ) fclose ( inStr ); - setExit(1); - return; - } - if ( inStr == NULL ) { - fprintf ( stderr, "%s: Can't open input file %s: %s.\n", - progName, inName, strerror(errno) ); - if ( outStr != NULL ) fclose ( outStr ); - setExit(1); - return; - }; - break; - - default: - panic ( "uncompress: bad srcMode" ); - break; - } - - if (verbosity >= 1) { - fprintf ( stderr, " %s: ", inName ); - pad ( inName ); - fflush ( stderr ); - } - - /*--- Now the input and output handles are sane. Do the Biz. ---*/ - outputHandleJustInCase = outStr; - deleteOutputOnInterrupt = True; - magicNumberOK = uncompressStream ( inStr, outStr ); - outputHandleJustInCase = NULL; - - /*--- If there was an I/O error, we won't get here. ---*/ - if ( magicNumberOK ) { - if ( srcMode == SM_F2F ) { - applySavedTimeInfoToOutputFile ( outName ); - deleteOutputOnInterrupt = False; - if ( !keepInputFiles ) { - IntNative retVal = remove ( inName ); - ERROR_IF_NOT_ZERO ( retVal ); - } - } - } else { - unzFailsExist = True; - deleteOutputOnInterrupt = False; - if ( srcMode == SM_F2F ) { - IntNative retVal = remove ( outName ); - ERROR_IF_NOT_ZERO ( retVal ); - } - } - deleteOutputOnInterrupt = False; - - if ( magicNumberOK ) { - if (verbosity >= 1) - fprintf ( stderr, "done\n" ); - } else { - setExit(2); - if (verbosity >= 1) - fprintf ( stderr, "not a bzip2 file.\n" ); else - fprintf ( stderr, - "%s: %s is not a bzip2 file.\n", - progName, inName ); - } - -} - - -/*---------------------------------------------*/ -static -void testf ( Char *name ) -{ - FILE *inStr; - Bool allOK; - struct MY_STAT statBuf; - - deleteOutputOnInterrupt = False; - - if (name == NULL && srcMode != SM_I2O) - panic ( "testf: bad modes\n" ); - - copyFileName ( outName, (Char*)"(none)" ); - switch (srcMode) { - case SM_I2O: copyFileName ( inName, (Char*)"(stdin)" ); break; - case SM_F2F: copyFileName ( inName, name ); break; - case SM_F2O: copyFileName ( inName, name ); break; - } - - if ( srcMode != SM_I2O && containsDubiousChars ( inName ) ) { - if (noisy) - fprintf ( stderr, "%s: There are no files matching `%s'.\n", - progName, inName ); - setExit(1); - return; - } - if ( srcMode != SM_I2O && !fileExists ( inName ) ) { - fprintf ( stderr, "%s: Can't open input %s: %s.\n", - progName, inName, strerror(errno) ); - setExit(1); - return; - } - if ( srcMode != SM_I2O ) { - MY_STAT(inName, &statBuf); - if ( MY_S_ISDIR(statBuf.st_mode) ) { - fprintf( stderr, - "%s: Input file %s is a directory.\n", - progName,inName); - setExit(1); - return; - } - } - - switch ( srcMode ) { - - case SM_I2O: - if ( isatty ( fileno ( stdin ) ) ) { - fprintf ( stderr, - "%s: I won't read compressed data from a terminal.\n", - progName ); - fprintf ( stderr, "%s: For help, type: `%s --help'.\n", - progName, progName ); - setExit(1); - return; - }; - inStr = stdin; - break; - - case SM_F2O: case SM_F2F: - inStr = fopen ( inName, "rb" ); - if ( inStr == NULL ) { - fprintf ( stderr, "%s: Can't open input file %s:%s.\n", - progName, inName, strerror(errno) ); - setExit(1); - return; - }; - break; - - default: - panic ( "testf: bad srcMode" ); - break; - } - - if (verbosity >= 1) { - fprintf ( stderr, " %s: ", inName ); - pad ( inName ); - fflush ( stderr ); - } - - /*--- Now the input handle is sane. Do the Biz. ---*/ - outputHandleJustInCase = NULL; - allOK = testStream ( inStr ); - - if (allOK && verbosity >= 1) fprintf ( stderr, "ok\n" ); - if (!allOK) testFailsExist = True; -} - - -/*---------------------------------------------*/ -static -void license ( void ) -{ - fprintf ( stderr, - - "bzip2, a block-sorting file compressor. " - "Version %s.\n" - " \n" - " Copyright (C) 1996-2006 by Julian Seward.\n" - " \n" - " This program is free software; you can redistribute it and/or modify\n" - " it under the terms set out in the LICENSE file, which is included\n" - " in the bzip2-1.0.4 source distribution.\n" - " \n" - " This program is distributed in the hope that it will be useful,\n" - " but WITHOUT ANY WARRANTY; without even the implied warranty of\n" - " MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n" - " LICENSE file for more details.\n" - " \n", - BZ2_bzlibVersion() - ); -} - - -/*---------------------------------------------*/ -static -void usage ( Char *fullProgName ) -{ - fprintf ( - stderr, - "bzip2, a block-sorting file compressor. " - "Version %s.\n" - "\n usage: %s [flags and input files in any order]\n" - "\n" - " -h --help print this message\n" - " -d --decompress force decompression\n" - " -z --compress force compression\n" - " -k --keep keep (don't delete) input files\n" - " -f --force overwrite existing output files\n" - " -t --test test compressed file integrity\n" - " -c --stdout output to standard out\n" - " -q --quiet suppress noncritical error messages\n" - " -v --verbose be verbose (a 2nd -v gives more)\n" - " -L --license display software version & license\n" - " -V --version display software version & license\n" - " -s --small use less memory (at most 2500k)\n" - " -1 .. -9 set block size to 100k .. 900k\n" - " --fast alias for -1\n" - " --best alias for -9\n" - "\n" - " If invoked as `bzip2', default action is to compress.\n" - " as `bunzip2', default action is to decompress.\n" - " as `bzcat', default action is to decompress to stdout.\n" - "\n" - " If no file names are given, bzip2 compresses or decompresses\n" - " from standard input to standard output. You can combine\n" - " short flags, so `-v -4' means the same as -v4 or -4v, &c.\n" -# if BZ_UNIX - "\n" -# endif - , - - BZ2_bzlibVersion(), - fullProgName - ); -} - - -/*---------------------------------------------*/ -static -void redundant ( Char* flag ) -{ - fprintf ( - stderr, - "%s: %s is redundant in versions 0.9.5 and above\n", - progName, flag ); -} - - -/*---------------------------------------------*/ -/*-- - All the garbage from here to main() is purely to - implement a linked list of command-line arguments, - into which main() copies argv[1 .. argc-1]. - - The purpose of this exercise is to facilitate - the expansion of wildcard characters * and ? in - filenames for OSs which don't know how to do it - themselves, like MSDOS, Windows 95 and NT. - - The actual Dirty Work is done by the platform- - specific macro APPEND_FILESPEC. ---*/ - -typedef - struct zzzz { - Char *name; - struct zzzz *link; - } - Cell; - - -/*---------------------------------------------*/ -static -void *myMalloc ( Int32 n ) -{ - void* p; - - p = malloc ( (size_t)n ); - if (p == NULL) outOfMemory (); - return p; -} - - -/*---------------------------------------------*/ -static -Cell *mkCell ( void ) -{ - Cell *c; - - c = (Cell*) myMalloc ( sizeof ( Cell ) ); - c->name = NULL; - c->link = NULL; - return c; -} - - -/*---------------------------------------------*/ -static -Cell *snocString ( Cell *root, Char *name ) -{ - if (root == NULL) { - Cell *tmp = mkCell(); - tmp->name = (Char*) myMalloc ( 5 + strlen(name) ); - strcpy ( tmp->name, name ); - return tmp; - } else { - Cell *tmp = root; - while (tmp->link != NULL) tmp = tmp->link; - tmp->link = snocString ( tmp->link, name ); - return root; - } -} - - -/*---------------------------------------------*/ -static -void addFlagsFromEnvVar ( Cell** argList, Char* varName ) -{ - Int32 i, j, k; - Char *envbase, *p; - - envbase = getenv(varName); - if (envbase != NULL) { - p = envbase; - i = 0; - while (True) { - if (p[i] == 0) break; - p += i; - i = 0; - while (isspace((Int32)(p[0]))) p++; - while (p[i] != 0 && !isspace((Int32)(p[i]))) i++; - if (i > 0) { - k = i; if (k > FILE_NAME_LEN-10) k = FILE_NAME_LEN-10; - for (j = 0; j < k; j++) tmpName[j] = p[j]; - tmpName[k] = 0; - APPEND_FLAG(*argList, tmpName); - } - } - } -} - - -/*---------------------------------------------*/ -#define ISFLAG(s) (strcmp(aa->name, (s))==0) - -IntNative main ( IntNative argc, Char *argv[] ) -{ - Int32 i, j; - Char *tmp; - Cell *argList; - Cell *aa; - Bool decode; - - /*-- Be really really really paranoid :-) --*/ - if (sizeof(Int32) != 4 || sizeof(UInt32) != 4 || - sizeof(Int16) != 2 || sizeof(UInt16) != 2 || - sizeof(Char) != 1 || sizeof(UChar) != 1) - configError(); - - /*-- Initialise --*/ - outputHandleJustInCase = NULL; - smallMode = False; - keepInputFiles = False; - forceOverwrite = False; - noisy = True; - verbosity = 0; - blockSize100k = 9; - testFailsExist = False; - unzFailsExist = False; - numFileNames = 0; - numFilesProcessed = 0; - workFactor = 30; - deleteOutputOnInterrupt = False; - exitValue = 0; - i = j = 0; /* avoid bogus warning from egcs-1.1.X */ - - /*-- Set up signal handlers for mem access errors --*/ - signal (SIGSEGV, mySIGSEGVorSIGBUScatcher); -# if BZ_UNIX -# ifndef __DJGPP__ - signal (SIGBUS, mySIGSEGVorSIGBUScatcher); -# endif -# endif - - copyFileName ( inName, (Char*)"(none)" ); - copyFileName ( outName, (Char*)"(none)" ); - - copyFileName ( progNameReally, argv[0] ); - progName = &progNameReally[0]; - for (tmp = &progNameReally[0]; *tmp != '\0'; tmp++) - if (*tmp == PATH_SEP) progName = tmp + 1; - - - /*-- Copy flags from env var BZIP2, and - expand filename wildcards in arg list. - --*/ - argList = NULL; - addFlagsFromEnvVar ( &argList, (Char*)"BZIP2" ); - addFlagsFromEnvVar ( &argList, (Char*)"BZIP" ); - for (i = 1; i <= argc-1; i++) - APPEND_FILESPEC(argList, argv[i]); - - - /*-- Find the length of the longest filename --*/ - longestFileName = 7; - numFileNames = 0; - decode = True; - for (aa = argList; aa != NULL; aa = aa->link) { - if (ISFLAG("--")) { decode = False; continue; } - if (aa->name[0] == '-' && decode) continue; - numFileNames++; - if (longestFileName < (Int32)strlen(aa->name) ) - longestFileName = (Int32)strlen(aa->name); - } - - - /*-- Determine source modes; flag handling may change this too. --*/ - if (numFileNames == 0) - srcMode = SM_I2O; else srcMode = SM_F2F; - - - /*-- Determine what to do (compress/uncompress/test/cat). --*/ - /*-- Note that subsequent flag handling may change this. --*/ - opMode = OM_Z; - - if ( (strstr ( progName, "unzip" ) != 0) || - (strstr ( progName, "UNZIP" ) != 0) ) - opMode = OM_UNZ; - - if ( (strstr ( progName, "z2cat" ) != 0) || - (strstr ( progName, "Z2CAT" ) != 0) || - (strstr ( progName, "zcat" ) != 0) || - (strstr ( progName, "ZCAT" ) != 0) ) { - opMode = OM_UNZ; - srcMode = (numFileNames == 0) ? SM_I2O : SM_F2O; - } - - - /*-- Look at the flags. --*/ - for (aa = argList; aa != NULL; aa = aa->link) { - if (ISFLAG("--")) break; - if (aa->name[0] == '-' && aa->name[1] != '-') { - for (j = 1; aa->name[j] != '\0'; j++) { - switch (aa->name[j]) { - case 'c': srcMode = SM_F2O; break; - case 'd': opMode = OM_UNZ; break; - case 'z': opMode = OM_Z; break; - case 'f': forceOverwrite = True; break; - case 't': opMode = OM_TEST; break; - case 'k': keepInputFiles = True; break; - case 's': smallMode = True; break; - case 'q': noisy = False; break; - case '1': blockSize100k = 1; break; - case '2': blockSize100k = 2; break; - case '3': blockSize100k = 3; break; - case '4': blockSize100k = 4; break; - case '5': blockSize100k = 5; break; - case '6': blockSize100k = 6; break; - case '7': blockSize100k = 7; break; - case '8': blockSize100k = 8; break; - case '9': blockSize100k = 9; break; - case 'V': - case 'L': license(); break; - case 'v': verbosity++; break; - case 'h': usage ( progName ); - exit ( 0 ); - break; - default: fprintf ( stderr, "%s: Bad flag `%s'\n", - progName, aa->name ); - usage ( progName ); - exit ( 1 ); - break; - } - } - } - } - - /*-- And again ... --*/ - for (aa = argList; aa != NULL; aa = aa->link) { - if (ISFLAG("--")) break; - if (ISFLAG("--stdout")) srcMode = SM_F2O; else - if (ISFLAG("--decompress")) opMode = OM_UNZ; else - if (ISFLAG("--compress")) opMode = OM_Z; else - if (ISFLAG("--force")) forceOverwrite = True; else - if (ISFLAG("--test")) opMode = OM_TEST; else - if (ISFLAG("--keep")) keepInputFiles = True; else - if (ISFLAG("--small")) smallMode = True; else - if (ISFLAG("--quiet")) noisy = False; else - if (ISFLAG("--version")) license(); else - if (ISFLAG("--license")) license(); else - if (ISFLAG("--exponential")) workFactor = 1; else - if (ISFLAG("--repetitive-best")) redundant(aa->name); else - if (ISFLAG("--repetitive-fast")) redundant(aa->name); else - if (ISFLAG("--fast")) blockSize100k = 1; else - if (ISFLAG("--best")) blockSize100k = 9; else - if (ISFLAG("--verbose")) verbosity++; else - if (ISFLAG("--help")) { usage ( progName ); exit ( 0 ); } - else - if (strncmp ( aa->name, "--", 2) == 0) { - fprintf ( stderr, "%s: Bad flag `%s'\n", progName, aa->name ); - usage ( progName ); - exit ( 1 ); - } - } - - if (verbosity > 4) verbosity = 4; - if (opMode == OM_Z && smallMode && blockSize100k > 2) - blockSize100k = 2; - - if (opMode == OM_TEST && srcMode == SM_F2O) { - fprintf ( stderr, "%s: -c and -t cannot be used together.\n", - progName ); - exit ( 1 ); - } - - if (srcMode == SM_F2O && numFileNames == 0) - srcMode = SM_I2O; - - if (opMode != OM_Z) blockSize100k = 0; - - if (srcMode == SM_F2F) { - signal (SIGINT, mySignalCatcher); - signal (SIGTERM, mySignalCatcher); -# if BZ_UNIX - signal (SIGHUP, mySignalCatcher); -# endif - } - - if (opMode == OM_Z) { - if (srcMode == SM_I2O) { - compress ( NULL ); - } else { - decode = True; - for (aa = argList; aa != NULL; aa = aa->link) { - ... [truncated message content] |
From: <no...@la...> - 2008-03-24 14:30:35
|
------------------------------------------------------------ revno: 1031 committer: zouzou123gen branch nick: bzr timestamp: Mon 2008-03-24 15:19:33 +0100 message: cshelp in the user command dialog, moved setHelpIds in WinUtil modified: help/cshelp.h help/cshelp.txt help/dialog_user_command.html win32/Advanced3Page.cpp win32/Advanced3Page.h win32/Appearance2Page.cpp win32/Appearance2Page.h win32/AppearancePage.cpp win32/AppearancePage.h win32/CertificatesPage.cpp win32/CertificatesPage.h win32/CommandDlg.cpp win32/DCPlusPlus.rc win32/DownloadPage.cpp win32/DownloadPage.h win32/FavoriteDirsPage.cpp win32/FavoriteDirsPage.h win32/GeneralPage.cpp win32/GeneralPage.h win32/LogPage.cpp win32/LogPage.h win32/NetworkPage.cpp win32/NetworkPage.h win32/PropPage.cpp win32/PropPage.h win32/QueuePage.cpp win32/QueuePage.h win32/SettingsDialog.cpp win32/UCPage.cpp win32/UCPage.h win32/UploadPage.cpp win32/UploadPage.h win32/WinUtil.cpp win32/WinUtil.h === modified file 'help/cshelp.h' --- a/help/cshelp.h 2008-03-23 22:04:11 +0000 +++ b/help/cshelp.h 2008-03-24 14:19:33 +0000 @@ -3,10 +3,10 @@ #ifndef DCPLUSPLUS_HELP_CSHELP_H #define DCPLUSPLUS_HELP_CSHELP_H -#define IDH_SETTINGS_TREE 11000 -#define IDH_SETTINGS_OK 11001 -#define IDH_SETTINGS_CANCEL 11002 -#define IDH_SETTINGS_HELP 11003 +#define IDH_DCPP_OK 11000 +#define IDH_DCPP_CANCEL 11001 +#define IDH_DCPP_HELP 11002 +#define IDH_SETTINGS_TREE 11003 #define IDH_SETTINGS_GENERAL_PERSONAL_INFORMATION 11004 #define IDH_SETTINGS_GENERAL_NICK 11005 #define IDH_SETTINGS_GENERAL_EMAIL 11006 @@ -91,5 +91,19 @@ #define IDH_SETTINGS_CERTIFICATES_PRIVATE_KEY_FILE 11085 #define IDH_SETTINGS_CERTIFICATES_CERTIFICATE_FILE 11086 #define IDH_SETTINGS_CERTIFICATES_TRUSTED_CERTIFICATES_PATH 11087 +#define IDH_USER_COMMAND_SEPARATOR 11088 +#define IDH_USER_COMMAND_RAW 11089 +#define IDH_USER_COMMAND_CHAT 11090 +#define IDH_USER_COMMAND_PM 11091 +#define IDH_USER_COMMAND_CONTEXT 11092 +#define IDH_USER_COMMAND_HUB_MENU 11093 +#define IDH_USER_COMMAND_USER_MENU 11094 +#define IDH_USER_COMMAND_SEARCH_MENU 11095 +#define IDH_USER_COMMAND_FILELIST_MENU 11096 +#define IDH_USER_COMMAND_NAME 11097 +#define IDH_USER_COMMAND_COMMAND 11098 +#define IDH_USER_COMMAND_HUB 11099 +#define IDH_USER_COMMAND_NICK 11100 +#define IDH_USER_COMMAND_ONCE 11101 #endif === modified file 'help/cshelp.txt' --- a/help/cshelp.txt 2008-03-23 22:04:11 +0000 +++ b/help/cshelp.txt 2008-03-24 14:19:33 +0000 @@ -1,11 +1,11 @@ -.topic IDH_SETTINGS_TREE -Choose a settings category here. -.topic IDH_SETTINGS_OK +.topic IDH_DCPP_OK Press this button to save your changes and close this dialog. -.topic IDH_SETTINGS_CANCEL +.topic IDH_DCPP_CANCEL Press this button to close this dialog without saving your changes. -.topic IDH_SETTINGS_HELP +.topic IDH_DCPP_HELP Press this button to launch the help file. +.topic IDH_SETTINGS_TREE +Choose a settings category here. .topic IDH_SETTINGS_GENERAL_PERSONAL_INFORMATION This is general information about yourself. The nick is required, though it's suggested that you pick the correct connection type as well. .topic IDH_SETTINGS_GENERAL_NICK @@ -174,3 +174,31 @@ This file is the certificate file you should give to other users and hubs that you want to consider "trusted". .topic IDH_SETTINGS_CERTIFICATES_TRUSTED_CERTIFICATES_PATH Where trusted certificates from users or hubs will be stored. (default: the "Certificates\" subdirectory of where you've installed the application.) +.topic IDH_USER_COMMAND_SEPARATOR +Adds a separator to the menu +.topic IDH_USER_COMMAND_RAW +Sends raw command to the hub (experts only, end it with '|' in NMDC hubs and '\n' in ADC hubs!) +.topic IDH_USER_COMMAND_CHAT +Sends command as if you were typing it in the chat +.topic IDH_USER_COMMAND_PM +Sends command as if you sent it by PM +.topic IDH_USER_COMMAND_CONTEXT +Contexts determine where the command is shown. +.topic IDH_USER_COMMAND_HUB_MENU +Hub tab (at the bottom of the screen) right-click menu +.topic IDH_USER_COMMAND_USER_MENU +User right-click menu in chat and PM tab menu +.topic IDH_USER_COMMAND_SEARCH_MENU +Search right-click menu +.topic IDH_USER_COMMAND_FILELIST_MENU +File list right-click menu +.topic IDH_USER_COMMAND_NAME +Name (use '\' to create submenus) +.topic IDH_USER_COMMAND_COMMAND +Command text (may contain any of the variables listed below). Use Ctrl + Enter to create a new line. +.topic IDH_USER_COMMAND_HUB +Hub ip as typed when connecting (empty = all NMDC hubs, "op" = NMDC hubs where you're an operator, "adc://" = all ADC hubs, "adc://op" = ADC hubs where you're an operator, "adcs://" = all TLS enabled hubs) +.topic IDH_USER_COMMAND_NICK +Private Message recipient +.topic IDH_USER_COMMAND_ONCE +Send only once per user from search frame, regardless of how many files you've selected from that user === modified file 'help/dialog_user_command.html' --- a/help/dialog_user_command.html 2008-03-23 22:04:11 +0000 +++ b/help/dialog_user_command.html 2008-03-24 14:19:33 +0000 @@ -16,7 +16,7 @@ <dt>Chat</dt> <dd>Sends command as if you were typing it in the chat</dd> <dt>PM</dt> - <dd>Sends command as if you sent it by pm</dd> + <dd>Sends command as if you sent it by PM</dd> </dl> <h2>Context</h2> Contexts determine where the command is shown.<br> === modified file 'win32/Advanced3Page.cpp' --- a/win32/Advanced3Page.cpp 2008-03-23 22:04:11 +0000 +++ b/win32/Advanced3Page.cpp 2008-03-24 14:19:33 +0000 @@ -23,8 +23,9 @@ #include "Advanced3Page.h" #include <dcpp/SettingsManager.h> +#include "WinUtil.h" -PropPage::HelpItem Advanced3Page::helpItems[] = { +static const WinUtil::HelpItem helpItems[] = { { IDC_SETTINGS_ROLLBACK, IDH_SETTINGS_ADVANCED3_ROLLBACK }, { IDC_ROLLBACK, IDH_SETTINGS_ADVANCED3_ROLLBACK }, { IDC_SETTINGS_B, IDH_SETTINGS_ADVANCED3_ROLLBACK }, @@ -112,7 +113,7 @@ createDialog(IDD_ADVANCED3PAGE); setHelpId(IDH_ADVANCED3PAGE); - PropPage::setHelpIds(handle(), helpItems); + WinUtil::setHelpIds(handle(), helpItems); PropPage::translate(handle(), texts); PropPage::read(handle(), items, 0, 0); === modified file 'win32/Advanced3Page.h' --- a/win32/Advanced3Page.h 2008-03-23 22:04:11 +0000 +++ b/win32/Advanced3Page.h 2008-03-24 14:19:33 +0000 @@ -30,7 +30,6 @@ virtual void write(); private: - static HelpItem helpItems[]; static Item items[]; static TextItem texts[]; }; === modified file 'win32/Appearance2Page.cpp' --- a/win32/Appearance2Page.cpp 2008-03-23 22:04:11 +0000 +++ b/win32/Appearance2Page.cpp 2008-03-24 14:19:33 +0000 @@ -25,7 +25,7 @@ #include <dcpp/SettingsManager.h> #include "WinUtil.h" -PropPage::HelpItem Appearance2Page::helpItems[] = { +static const WinUtil::HelpItem helpItems[] = { { IDC_SETTINGS_COLORS, IDH_SETTINGS_APPEARANCE2_COLORS }, { IDC_SELWINCOLOR, IDH_SETTINGS_APPEARANCE2_SELWINCOLOR }, { IDC_SELTEXT, IDH_SETTINGS_APPEARANCE2_SELTEXT }, @@ -66,7 +66,7 @@ createDialog(IDD_APPEARANCE2PAGE); setHelpId(IDH_APPEARANCE2PAGE); - PropPage::setHelpIds(handle(), helpItems); + WinUtil::setHelpIds(handle(), helpItems); PropPage::translate(handle(), texts); PropPage::read(handle(), items, 0, 0); === modified file 'win32/Appearance2Page.h' --- a/win32/Appearance2Page.h 2008-03-23 22:04:11 +0000 +++ b/win32/Appearance2Page.h 2008-03-24 14:19:33 +0000 @@ -30,7 +30,6 @@ virtual void write(); private: - static HelpItem helpItems[]; static Item items[]; static TextItem texts[]; === modified file 'win32/AppearancePage.cpp' --- a/win32/AppearancePage.cpp 2008-03-23 22:04:11 +0000 +++ b/win32/AppearancePage.cpp 2008-03-24 14:19:33 +0000 @@ -27,7 +27,7 @@ #include "WinUtil.h" -PropPage::HelpItem AppearancePage::helpItems[] = { +static const WinUtil::HelpItem helpItems[] = { { IDC_SETTINGS_DEFAULT_AWAY_MSG, IDH_SETTINGS_APPEARANCE_DEFAULT_AWAY_MESSAGE }, { IDC_DEFAULT_AWAY_MESSAGE, IDH_SETTINGS_APPEARANCE_DEFAULT_AWAY_MESSAGE }, { IDC_SETTINGS_TIME_STAMPS_FORMAT, IDH_SETTINGS_APPEARANCE_TIME_STAMPS_FORMAT }, @@ -72,7 +72,7 @@ createDialog(IDD_APPEARANCEPAGE); setHelpId(IDH_APPEARANCEPAGE); - PropPage::setHelpIds(handle(), helpItems); + WinUtil::setHelpIds(handle(), helpItems); PropPage::translate(handle(), texts); PropPage::read(handle(), items, listItems, ::GetDlgItem(handle(), IDC_APPEARANCE_BOOLEANS)); === modified file 'win32/AppearancePage.h' --- a/win32/AppearancePage.h 2008-03-23 22:04:11 +0000 +++ b/win32/AppearancePage.h 2008-03-24 14:19:33 +0000 @@ -30,7 +30,6 @@ virtual void write(); private: - static HelpItem helpItems[]; static Item items[]; static TextItem texts[]; static ListItem listItems[]; === modified file 'win32/CertificatesPage.cpp' --- a/win32/CertificatesPage.cpp 2008-03-23 22:04:11 +0000 +++ b/win32/CertificatesPage.cpp 2008-03-24 14:19:33 +0000 @@ -26,7 +26,7 @@ #include <dcpp/CryptoManager.h> #include "WinUtil.h" -PropPage::HelpItem CertificatesPage::helpItems[] = { +static const WinUtil::HelpItem helpItems[] = { { IDC_SETTINGS_PRIVATE_KEY_FILE, IDH_SETTINGS_CERTIFICATES_PRIVATE_KEY_FILE }, { IDC_TLS_PRIVATE_KEY_FILE, IDH_SETTINGS_CERTIFICATES_PRIVATE_KEY_FILE }, { IDC_BROWSE_PRIVATE_KEY, IDH_SETTINGS_CERTIFICATES_PRIVATE_KEY_FILE }, @@ -65,7 +65,7 @@ createDialog(IDD_CERTIFICATESPAGE); setHelpId(IDH_CERTIFICATESPAGE); - PropPage::setHelpIds(handle(), helpItems); + WinUtil::setHelpIds(handle(), helpItems); PropPage::translate(handle(), texts); PropPage::read(handle(), items, listItems, ::GetDlgItem(handle(), IDC_TLS_OPTIONS)); === modified file 'win32/CertificatesPage.h' --- a/win32/CertificatesPage.h 2008-03-23 22:04:11 +0000 +++ b/win32/CertificatesPage.h 2008-03-24 14:19:33 +0000 @@ -30,7 +30,6 @@ virtual void write(); private: - static HelpItem helpItems[]; static Item items[]; static TextItem texts[]; static ListItem listItems[]; === modified file 'win32/CommandDlg.cpp' --- a/win32/CommandDlg.cpp 2008-03-23 22:04:11 +0000 +++ b/win32/CommandDlg.cpp 2008-03-24 14:19:33 +0000 @@ -27,6 +27,31 @@ #include <dcpp/version.h> #include "WinUtil.h" +static const WinUtil::HelpItem helpItems[] = { + { IDC_SETTINGS_SEPARATOR, IDH_USER_COMMAND_SEPARATOR }, + { IDC_SETTINGS_RAW, IDH_USER_COMMAND_RAW }, + { IDC_SETTINGS_CHAT, IDH_USER_COMMAND_CHAT }, + { IDC_SETTINGS_PM, IDH_USER_COMMAND_PM }, + { IDC_SETTINGS_CONTEXT, IDH_USER_COMMAND_CONTEXT }, + { IDC_SETTINGS_HUB_MENU, IDH_USER_COMMAND_HUB_MENU }, + { IDC_SETTINGS_USER_MENU, IDH_USER_COMMAND_USER_MENU }, + { IDC_SETTINGS_SEARCH_MENU, IDH_USER_COMMAND_SEARCH_MENU }, + { IDC_SETTINGS_FILELIST_MENU, IDH_USER_COMMAND_FILELIST_MENU }, + { IDC_SETTINGS_NAME, IDH_USER_COMMAND_NAME }, + { IDC_NAME, IDH_USER_COMMAND_NAME }, + { IDC_SETTINGS_COMMAND, IDH_USER_COMMAND_COMMAND }, + { IDC_COMMAND, IDH_USER_COMMAND_COMMAND }, + { IDC_SETTINGS_HUB, IDH_USER_COMMAND_HUB }, + { IDC_HUB, IDH_USER_COMMAND_HUB }, + { IDC_SETTINGS_TO, IDH_USER_COMMAND_NICK }, + { IDC_NICK, IDH_USER_COMMAND_NICK }, + { IDC_SETTINGS_ONCE, IDH_USER_COMMAND_ONCE }, + { IDOK, IDH_DCPP_OK }, + { IDCANCEL, IDH_DCPP_CANCEL }, + { IDHELP, IDH_DCPP_HELP }, + { 0, 0 } +}; + CommandDlg::CommandDlg(SmartWin::Widget* parent, int type_, int ctx_, const tstring& name_, const tstring& command_, const tstring& hub_) : WidgetFactory<SmartWin::WidgetModalDialog>(parent), separator(0), @@ -61,8 +86,10 @@ bool CommandDlg::handleInitDialog() { setHelpId(IDH_USER_COMMAND); + WinUtil::setHelpIds(handle(), helpItems); + // Translate - setText(T_("Create / Modify Command")); + setText(T_("Create / Modify User Command")); ::SetDlgItemText(handle(), IDC_SETTINGS_TYPE, CT_("Command Type")); ::SetDlgItemText(handle(), IDC_SETTINGS_CONTEXT, CT_("Context")); ::SetDlgItemText(handle(), IDC_SETTINGS_PARAMETERS, CT_("Parameters")); === modified file 'win32/DCPlusPlus.rc' --- a/win32/DCPlusPlus.rc 2008-03-23 22:04:11 +0000 +++ b/win32/DCPlusPlus.rc 2008-03-24 14:19:33 +0000 @@ -253,7 +253,7 @@ IDD_USER_COMMAND DIALOGEX 0, 0, 195, 295 STYLE DS_SETFONT | DS_MODALFRAME | DS_3DLOOK | DS_FIXEDSYS | DS_CONTEXTHELP | WS_POPUP | WS_CAPTION | WS_SYSMENU -CAPTION "Create / Modify Command" +CAPTION "Create / Modify User Command" FONT 8, "MS Shell Dlg", 400, 0, 0x1 BEGIN GROUPBOX "Command Type",IDC_SETTINGS_TYPE,7,7,181,37 === modified file 'win32/DownloadPage.cpp' --- a/win32/DownloadPage.cpp 2008-03-23 22:04:11 +0000 +++ b/win32/DownloadPage.cpp 2008-03-24 14:19:33 +0000 @@ -26,7 +26,7 @@ #include "WinUtil.h" #include "HubListsDlg.h" -PropPage::HelpItem DownloadPage::helpItems[] = { +static const WinUtil::HelpItem helpItems[] = { { IDC_SETTINGS_DOWNLOAD_DIRECTORY, IDH_SETTINGS_DOWNLOAD_DOWNLOADDIR }, { IDC_DOWNLOADDIR, IDH_SETTINGS_DOWNLOAD_DOWNLOADDIR }, { IDC_BROWSEDIR, IDH_SETTINGS_DOWNLOAD_DOWNLOADDIR }, @@ -76,7 +76,7 @@ createDialog(IDD_DOWNLOADPAGE); setHelpId(IDH_DOWNLOADPAGE); - PropPage::setHelpIds(handle(), helpItems); + WinUtil::setHelpIds(handle(), helpItems); PropPage::translate(handle(), texts); PropPage::read(handle(), items); === modified file 'win32/DownloadPage.h' --- a/win32/DownloadPage.h 2008-03-23 22:04:11 +0000 +++ b/win32/DownloadPage.h 2008-03-24 14:19:33 +0000 @@ -30,7 +30,6 @@ virtual void write(); private: - static HelpItem helpItems[]; static Item items[]; static TextItem texts[]; === modified file 'win32/FavoriteDirsPage.cpp' --- a/win32/FavoriteDirsPage.cpp 2008-03-23 22:04:11 +0000 +++ b/win32/FavoriteDirsPage.cpp 2008-03-24 14:19:33 +0000 @@ -28,7 +28,7 @@ #include "WinUtil.h" #include "LineDlg.h" -PropPage::HelpItem FavoriteDirsPage::helpItems[] = { +static const WinUtil::HelpItem helpItems[] = { { IDC_SETTINGS_FAVORITE_DIRECTORIES, IDH_SETTINGS_FAVORITE_DIRS_FAVORITE_DIRECTORIES }, { IDC_FAVORITE_DIRECTORIES, IDH_SETTINGS_FAVORITE_DIRS_FAVORITE_DIRECTORIES }, { IDC_RENAME, IDH_SETTINGS_FAVORITE_DIRS_RENAME }, @@ -49,7 +49,7 @@ createDialog(IDD_FAVORITE_DIRSPAGE); setHelpId(IDH_FAVORITE_DIRSPAGE); - PropPage::setHelpIds(handle(), helpItems); + WinUtil::setHelpIds(handle(), helpItems); PropPage::translate(handle(), texts); directories = attachList(IDC_FAVORITE_DIRECTORIES); === modified file 'win32/FavoriteDirsPage.h' --- a/win32/FavoriteDirsPage.h 2008-03-23 22:04:11 +0000 +++ b/win32/FavoriteDirsPage.h 2008-03-24 14:19:33 +0000 @@ -30,7 +30,6 @@ virtual void write(); private: - static HelpItem helpItems[]; static TextItem texts[]; WidgetListViewPtr directories; === modified file 'win32/GeneralPage.cpp' --- a/win32/GeneralPage.cpp 2008-03-23 22:04:11 +0000 +++ b/win32/GeneralPage.cpp 2008-03-24 14:19:33 +0000 @@ -23,8 +23,9 @@ #include "GeneralPage.h" #include <dcpp/SettingsManager.h> +#include "WinUtil.h" -PropPage::HelpItem GeneralPage::helpItems[] = { +static const WinUtil::HelpItem helpItems[] = { { IDC_SETTINGS_PERSONAL_INFORMATION, IDH_SETTINGS_GENERAL_PERSONAL_INFORMATION }, { IDC_SETTINGS_NICK, IDH_SETTINGS_GENERAL_NICK }, { IDC_NICK, IDH_SETTINGS_GENERAL_NICK }, @@ -60,7 +61,7 @@ createDialog(IDD_GENERALPAGE); setHelpId(IDH_GENERALPAGE); - PropPage::setHelpIds(handle(), helpItems); + WinUtil::setHelpIds(handle(), helpItems); PropPage::translate(handle(), texts); PropPage::read(handle(), items); === modified file 'win32/GeneralPage.h' --- a/win32/GeneralPage.h 2008-03-23 22:04:11 +0000 +++ b/win32/GeneralPage.h 2008-03-24 14:19:33 +0000 @@ -30,7 +30,6 @@ virtual void write(); private: - static HelpItem helpItems[]; static Item items[]; static TextItem texts[]; === modified file 'win32/LogPage.cpp' --- a/win32/LogPage.cpp 2008-03-23 22:04:11 +0000 +++ b/win32/LogPage.cpp 2008-03-24 14:19:33 +0000 @@ -27,7 +27,7 @@ #include <dcpp/LogManager.h> #include "WinUtil.h" -PropPage::HelpItem LogPage::helpItems[] = { +static const WinUtil::HelpItem helpItems[] = { { IDC_SETTINGS_LOG_DIR, IDH_SETTINGS_LOG_DIRECTORY }, { IDC_LOG_DIRECTORY, IDH_SETTINGS_LOG_DIRECTORY }, { IDC_BROWSE_LOG, IDH_SETTINGS_LOG_DIRECTORY }, @@ -63,7 +63,7 @@ createDialog(IDD_LOGPAGE); setHelpId(IDH_LOGPAGE); - PropPage::setHelpIds(handle(), helpItems); + WinUtil::setHelpIds(handle(), helpItems); PropPage::translate(handle(), texts); PropPage::read(handle(), items, listItems, ::GetDlgItem(handle(), IDC_LOG_OPTIONS)); === modified file 'win32/LogPage.h' --- a/win32/LogPage.h 2008-03-23 22:04:11 +0000 +++ b/win32/LogPage.h 2008-03-24 14:19:33 +0000 @@ -31,7 +31,6 @@ virtual void write(); private: - static HelpItem helpItems[]; static Item items[]; static TextItem texts[]; static ListItem listItems[]; === modified file 'win32/NetworkPage.cpp' --- a/win32/NetworkPage.cpp 2008-03-23 22:04:11 +0000 +++ b/win32/NetworkPage.cpp 2008-03-24 14:19:33 +0000 @@ -26,7 +26,7 @@ #include <dcpp/Socket.h> #include "WinUtil.h" -PropPage::HelpItem NetworkPage::helpItems[] = { +static const WinUtil::HelpItem helpItems[] = { { IDC_DIRECT, IDH_SETTINGS_NETWORK_DIRECT }, { IDC_FIREWALL_UPNP, IDH_SETTINGS_NETWORK_FIREWALL_UPNP }, { IDC_FIREWALL_NAT, IDH_SETTINGS_NETWORK_FIREWALL_NAT }, @@ -95,7 +95,7 @@ createDialog(IDD_NETWORKPAGE); setHelpId(IDH_NETWORKPAGE); - PropPage::setHelpIds(handle(), helpItems); + WinUtil::setHelpIds(handle(), helpItems); PropPage::translate(handle(), texts); if(!(WinUtil::getOsMajor() >= 5 && WinUtil::getOsMinor() >= 1 //WinXP & WinSvr2003 === modified file 'win32/NetworkPage.h' --- a/win32/NetworkPage.h 2008-03-23 22:04:11 +0000 +++ b/win32/NetworkPage.h 2008-03-24 14:19:33 +0000 @@ -31,7 +31,6 @@ virtual void write(); private: - static HelpItem helpItems[]; static Item items[]; static TextItem texts[]; === modified file 'win32/PropPage.cpp' --- a/win32/PropPage.cpp 2008-03-23 22:04:11 +0000 +++ b/win32/PropPage.cpp 2008-03-24 14:19:33 +0000 @@ -31,12 +31,6 @@ PropPage::~PropPage() { } -void PropPage::setHelpIds(HWND page, HelpItem* items) { - if(items) - for(size_t i = 0; items[i].ctrlId != 0; ++i) - ::SetWindowContextHelpId(::GetDlgItem(page, items[i].ctrlId), items[i].helpId); -} - void PropPage::read(HWND page, Item const* items, ListItem* listItems /* = NULL */, HWND list /* = 0 */) { dcassert(page != NULL); @@ -127,12 +121,9 @@ } } - if(listItems) { - int i; - for(i = 0; listItems[i].setting != 0; i++) { + if(listItems) + for(size_t i = 0; listItems[i].setting != 0; ++i) settings->set(SettingsManager::IntSetting(listItems[i].setting), ListView_GetCheckState(list, i) > 0); - } - } } void PropPage::translate(HWND page, TextItem* items) { === modified file 'win32/PropPage.h' --- a/win32/PropPage.h 2008-03-23 22:04:11 +0000 +++ b/win32/PropPage.h 2008-03-24 14:19:33 +0000 @@ -33,11 +33,6 @@ enum Type { T_STR, T_INT, T_BOOL, T_CUSTOM, T_END }; - struct HelpItem { - unsigned ctrlId; - unsigned helpId; - }; - struct Item { WORD itemID; int setting; @@ -55,7 +50,6 @@ }; protected: - void setHelpIds(HWND page, HelpItem* items); void read(HWND page, Item const* items, ListItem* listItems = NULL, HWND list = NULL); void write(HWND page, Item const* items, ListItem* listItems = NULL, HWND list = NULL); void translate(HWND page, TextItem* items); === modified file 'win32/QueuePage.cpp' --- a/win32/QueuePage.cpp 2008-03-23 22:04:11 +0000 +++ b/win32/QueuePage.cpp 2008-03-24 14:19:33 +0000 @@ -23,8 +23,9 @@ #include "QueuePage.h" #include <dcpp/SettingsManager.h> +#include "WinUtil.h" -PropPage::HelpItem QueuePage::helpItems[] = { +static const WinUtil::HelpItem helpItems[] = { { IDC_SETTINGS_AUTOPRIO, IDH_SETTINGS_QUEUE_AUTOPRIO }, { IDC_SETTINGS_PRIO_HIGHEST, IDH_SETTINGS_QUEUE_PRIO_HIGHEST }, { IDC_PRIO_HIGHEST_SIZE, IDH_SETTINGS_QUEUE_PRIO_HIGHEST }, @@ -117,7 +118,7 @@ createDialog(IDD_QUEUEPAGE); setHelpId(IDH_QUEUEPAGE); - PropPage::setHelpIds(handle(), helpItems); + WinUtil::setHelpIds(handle(), helpItems); PropPage::translate(handle(), texts); PropPage::read(handle(), items, 0, 0); PropPage::read(handle(), items, optionItems, ::GetDlgItem(handle(), IDC_OTHER_QUEUE_OPTIONS)); === modified file 'win32/QueuePage.h' --- a/win32/QueuePage.h 2008-03-23 22:04:11 +0000 +++ b/win32/QueuePage.h 2008-03-24 14:19:33 +0000 @@ -31,7 +31,6 @@ virtual void write(); private: - static HelpItem helpItems[]; static Item items[]; static TextItem texts[]; static ListItem optionItems[]; === modified file 'win32/SettingsDialog.cpp' --- a/win32/SettingsDialog.cpp 2008-03-23 22:04:11 +0000 +++ b/win32/SettingsDialog.cpp 2008-03-24 14:19:33 +0000 @@ -39,6 +39,14 @@ #include "UCPage.h" #include "CertificatesPage.h" +static const WinUtil::HelpItem helpItems[] = { + { IDC_SETTINGS_PAGES, IDH_SETTINGS_TREE }, + { IDOK, IDH_DCPP_OK }, + { IDCANCEL, IDH_DCPP_CANCEL }, + { IDHELP, IDH_DCPP_HELP }, + { 0, 0 } +}; + static const TCHAR SEPARATOR = _T('\\'); static const size_t MAX_NAME_LENGTH = 256; @@ -55,27 +63,28 @@ } bool SettingsDialog::initDialog() { + // set this to IDH_STARTPAGE so that clicking in an empty space of the dialog generates a WM_HELP message with no error; then SettingsDialog::handleHelp will convert IDH_STARTPAGE to the current page's help id + setHelpId(IDH_STARTPAGE); + + WinUtil::setHelpIds(handle(), helpItems); + setText(T_("Settings")); pageTree = attachTreeView(IDC_SETTINGS_PAGES); - pageTree->setHelpId(IDH_SETTINGS_TREE); pageTree->onSelectionChanged(std::tr1::bind(&SettingsDialog::selectionChanged, this)); { WidgetButtonPtr button = attachButton(IDOK); - button->setHelpId(IDH_SETTINGS_OK); button->setText(T_("OK")); button->onClicked(std::tr1::bind(&SettingsDialog::handleOKClicked, this)); button = attachButton(IDCANCEL); - button->setHelpId(IDH_SETTINGS_CANCEL); button->setText(T_("Cancel")); button->onClicked(std::tr1::bind(&SettingsDialog::endDialog, this, IDCANCEL)); button = attachButton(IDHELP); - button->setHelpId(IDH_SETTINGS_HELP); button->setText(T_("Help")); - button->onClicked(std::tr1::bind(&SettingsDialog::handleHelp, this, 0, handle(), 0)); + button->onClicked(std::tr1::bind(&SettingsDialog::handleHelp, this, 0, handle(), IDH_STARTPAGE)); } addPage(T_("Personal information"), new GeneralPage(this)); @@ -98,7 +107,7 @@ } void SettingsDialog::handleHelp(unsigned ctrlId, HWND hWnd, unsigned helpId) { - if(helpId == 0 && currentPage) + if(helpId == IDH_STARTPAGE && currentPage) helpId = currentPage->getHelpId(); WinUtil::help(ctrlId, hWnd, helpId); } === modified file 'win32/UCPage.cpp' --- a/win32/UCPage.cpp 2008-03-23 22:04:11 +0000 +++ b/win32/UCPage.cpp 2008-03-24 14:19:33 +0000 @@ -26,8 +26,9 @@ #include <dcpp/FavoriteManager.h> #include "CommandDlg.h" #include "HoldRedraw.h" +#include "WinUtil.h" -PropPage::HelpItem UCPage::helpItems[] = { +static const WinUtil::HelpItem helpItems[] = { { IDC_MENU_ITEMS, IDH_SETTINGS_UC_LIST }, { IDC_ADD_MENU, IDH_SETTINGS_UC_ADD }, { IDC_CHANGE_MENU, IDH_SETTINGS_UC_CHANGE }, @@ -54,7 +55,7 @@ createDialog(IDD_UCPAGE); setHelpId(IDH_UCPAGE); - PropPage::setHelpIds(handle(), helpItems); + WinUtil::setHelpIds(handle(), helpItems); PropPage::translate(handle(), texts); PropPage::read(handle(), items); === modified file 'win32/UCPage.h' --- a/win32/UCPage.h 2008-03-23 22:04:11 +0000 +++ b/win32/UCPage.h 2008-03-24 14:19:33 +0000 @@ -32,7 +32,6 @@ virtual void write(); private: - static HelpItem helpItems[]; static Item items[]; static TextItem texts[]; === modified file 'win32/UploadPage.cpp' --- a/win32/UploadPage.cpp 2008-03-23 22:04:11 +0000 +++ b/win32/UploadPage.cpp 2008-03-24 14:19:33 +0000 @@ -29,7 +29,7 @@ #include "LineDlg.h" #include "HashProgressDlg.h" -PropPage::HelpItem UploadPage::helpItems[] = { +static const WinUtil::HelpItem helpItems[] = { { IDC_SETTINGS_SHARED_DIRECTORIES, IDH_SETTINGS_UPLOAD_DIRECTORIES }, { IDC_DIRECTORIES, IDH_SETTINGS_UPLOAD_DIRECTORIES }, { IDC_SETTINGS_ONLY_HASHED, IDH_SETTINGS_UPLOAD_DIRECTORIES }, @@ -74,7 +74,7 @@ createDialog(IDD_UPLOADPAGE); setHelpId(IDH_UPLOADPAGE); - PropPage::setHelpIds(handle(), helpItems); + WinUtil::setHelpIds(handle(), helpItems); PropPage::translate(handle(), texts); PropPage::read(handle(), items); === modified file 'win32/UploadPage.h' --- a/win32/UploadPage.h 2008-03-23 22:04:11 +0000 +++ b/win32/UploadPage.h 2008-03-24 14:19:33 +0000 @@ -32,7 +32,6 @@ virtual int getHelpId() { return IDD_UPLOADPAGE; } private: - static HelpItem helpItems[]; static Item items[]; static TextItem texts[]; === modified file 'win32/WinUtil.cpp' --- a/win32/WinUtil.cpp 2008-03-23 22:04:11 +0000 +++ b/win32/WinUtil.cpp 2008-03-24 14:19:33 +0000 @@ -198,6 +198,12 @@ } } +void WinUtil::setHelpIds(HWND hWnd, const HelpItem* items) { + dcassert(hWnd && items); + for(size_t i = 0; items[i].ctrlId != 0; ++i) + ::SetWindowContextHelpId(::GetDlgItem(hWnd, items[i].ctrlId), items[i].helpId); +} + #define LINE2 _T("-- http://dcplusplus.sourceforge.net <DC++ ") _T(VERSIONSTRING) _T(">") const TCHAR *msgs[] = { _T("\r\n-- I'm a happy dc++ user. You could be happy too.\r\n") LINE2, _T("\r\n-- Neo-...what? Nope...never heard of it...\r\n") LINE2, @@ -577,9 +583,14 @@ void WinUtil::help(unsigned ctrlId, HWND hWnd, unsigned helpId) { dcdebug("WinUtil::help; ctrlId: %u; hWnd: %p; helpId: %u\n", ctrlId, hWnd, helpId); + + string path = Util::getDataPath() + "DCPlusPlus.chm"; + if(File::getSize(path) == -1) + return; + tstring helpFile = Text::toT(path); + if(helpId >= IDH_TOPICS_BEGIN && helpId <= IDH_TOPICS_END) ctrlId = 0; - tstring helpFile = Text::toT(Util::getDataPath() + "DCPlusPlus.chm"); if(ctrlId && helpId) { // a control ID has been given; display a toolTip DWORD ids[3]; === modified file 'win32/WinUtil.h' --- a/win32/WinUtil.h 2008-03-23 22:04:11 +0000 +++ b/win32/WinUtil.h 2008-03-24 14:19:33 +0000 @@ -75,13 +75,20 @@ static const SmartWin::WidgetTextBox::Seed textBox; static const SmartWin::WidgetTreeView::Seed treeView; }; - + + struct HelpItem { + unsigned ctrlId; + unsigned helpId; + }; + static void init(); static void uninit(); static tstring encodeFont(LOGFONT const& font); static void decodeFont(const tstring& setting, LOGFONT &dest); + static void setHelpIds(HWND hWnd, const HelpItem* items); + /** * Check if this is a common /-command. * @param cmd The whole text string, will be updated to contain only the command. -- Main development branch https://code.launchpad.net/~dcplusplus-team/dcplusplus/trunk You are receiving this branch notification because you are subscribed to it. To unsubscribe from this branch go to https://code.launchpad.net/~dcplusplus-team/dcplusplus/trunk/+edit-subscription. |
From: <arn...@us...> - 2008-03-23 18:41:25
|
Revision: 1052 http://dcplusplus.svn.sourceforge.net/dcplusplus/?rev=1052&view=rev Author: arnetheduck Date: 2008-03-23 11:41:22 -0700 (Sun, 23 Mar 2008) Log Message: ----------- Add language script and ignore some stuff Added Paths: ----------- dcplusplus/trunk/.bzrignore dcplusplus/trunk/update-languages.sh Property Changed: ---------------- dcplusplus/trunk/ Property changes on: dcplusplus/trunk ___________________________________________________________________ Name: bzr:revision-info + timestamp: 2008-03-23 19:39:26.720000029 +0100 committer: Jacek Sieka <arn...@gm...> properties: branch-nick: dcplusplus Name: bzr:file-ids + update-languages.sh updatelanguages.sh-20080323172209-blm3rymztdyit6k9-1 .bzrignore bzrignore-20080323172312-t83zl06ak2a2csed-1 Name: bzr:revision-id:v3-trunk1 + 1027 arn...@gm...-20080323183926-schknwnkgeo7ivdn Added: dcplusplus/trunk/.bzrignore =================================================================== --- dcplusplus/trunk/.bzrignore (rev 0) +++ dcplusplus/trunk/.bzrignore 2008-03-23 18:41:22 UTC (rev 1052) @@ -0,0 +1,10 @@ +./build +./.project +./.cproject +./.sconsign.dblite +./.settings +custom.py +*.h.gch +./htmlhelp/include/htmlhelp.h +./htmlhelp/lib/htmlhelp.lib +natupnp.h Added: dcplusplus/trunk/update-languages.sh =================================================================== --- dcplusplus/trunk/update-languages.sh (rev 0) +++ dcplusplus/trunk/update-languages.sh 2008-03-23 18:41:22 UTC (rev 1052) @@ -0,0 +1,39 @@ +#!/bin/bash + +SOURCE=$1 +if [[ ! -d $SOURCE ]] ; then + echo $SOURCE is not a directory && exit 1 +fi + +shopt -s nullglob + +process() { + +PREFIX=$1 +DIR=$2 + +mv $SOURCE/$PREFIX/*.po $SOURCE + +cd $DIR/po + +for a in $SOURCE/${PREFIX}-*.po ; do + FILE=${a#$SOURCE/${PREFIX}-} + echo $FILE + + if [ -f $FILE ] ; then + msgmerge -U -C $FILE $a $PREFIX.pot + else + msgmerge -U $a $PREFIX.pot + fi + mv $a $FILE +done + +cd ../.. + +} + +scons i18n=true + +process libdcpp dcpp +process dcpp-win32 win32 + Property changes on: dcplusplus/trunk/update-languages.sh ___________________________________________________________________ Name: svn:executable + * This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <zou...@us...> - 2008-03-22 16:09:57
|
Revision: 1051 http://dcplusplus.svn.sourceforge.net/dcplusplus/?rev=1051&view=rev Author: zouzou123gen Date: 2008-03-22 09:09:51 -0700 (Sat, 22 Mar 2008) Log Message: ----------- help stuff, towards context-sensitive help Modified Paths: -------------- dcplusplus/trunk/help/DCPlusPlus.hhp dcplusplus/trunk/help/index.html dcplusplus/trunk/help/toc.hhc dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectHelp.h dcplusplus/trunk/win32/ADLSearchFrame.cpp dcplusplus/trunk/win32/ADLSearchFrame.h dcplusplus/trunk/win32/Advanced3Page.cpp dcplusplus/trunk/win32/Advanced3Page.h dcplusplus/trunk/win32/AdvancedPage.cpp dcplusplus/trunk/win32/AdvancedPage.h dcplusplus/trunk/win32/Appearance2Page.cpp dcplusplus/trunk/win32/Appearance2Page.h dcplusplus/trunk/win32/AppearancePage.cpp dcplusplus/trunk/win32/AppearancePage.h dcplusplus/trunk/win32/CertificatesPage.cpp dcplusplus/trunk/win32/CertificatesPage.h dcplusplus/trunk/win32/CommandDlg.cpp dcplusplus/trunk/win32/CommandDlg.h dcplusplus/trunk/win32/DCPlusPlus.rc dcplusplus/trunk/win32/DirectoryListingFrame.cpp dcplusplus/trunk/win32/DownloadPage.cpp dcplusplus/trunk/win32/DownloadPage.h dcplusplus/trunk/win32/FavHubsFrame.cpp dcplusplus/trunk/win32/FavoriteDirsPage.cpp dcplusplus/trunk/win32/FavoriteDirsPage.h dcplusplus/trunk/win32/FinishedDLFrame.cpp dcplusplus/trunk/win32/FinishedFrameBase.h dcplusplus/trunk/win32/FinishedULFrame.cpp dcplusplus/trunk/win32/GeneralPage.cpp dcplusplus/trunk/win32/GeneralPage.h dcplusplus/trunk/win32/HashProgressDlg.cpp dcplusplus/trunk/win32/HubFrame.cpp dcplusplus/trunk/win32/LogPage.cpp dcplusplus/trunk/win32/LogPage.h dcplusplus/trunk/win32/MDIChildFrame.h dcplusplus/trunk/win32/MainWindow.cpp dcplusplus/trunk/win32/MainWindow.h dcplusplus/trunk/win32/NetworkPage.cpp dcplusplus/trunk/win32/NetworkPage.h dcplusplus/trunk/win32/NotepadFrame.cpp dcplusplus/trunk/win32/PrivateFrame.cpp dcplusplus/trunk/win32/PropPage.h dcplusplus/trunk/win32/PublicHubsFrame.cpp dcplusplus/trunk/win32/QueueFrame.cpp dcplusplus/trunk/win32/QueuePage.cpp dcplusplus/trunk/win32/QueuePage.h dcplusplus/trunk/win32/SearchFrame.cpp dcplusplus/trunk/win32/SettingsDialog.cpp dcplusplus/trunk/win32/SettingsDialog.h dcplusplus/trunk/win32/SpyFrame.cpp dcplusplus/trunk/win32/StaticFrame.h dcplusplus/trunk/win32/StatsFrame.cpp dcplusplus/trunk/win32/SystemFrame.cpp dcplusplus/trunk/win32/TabsPage.cpp dcplusplus/trunk/win32/TabsPage.h dcplusplus/trunk/win32/UCPage.cpp dcplusplus/trunk/win32/UCPage.h dcplusplus/trunk/win32/UploadPage.cpp dcplusplus/trunk/win32/UsersFrame.cpp dcplusplus/trunk/win32/WaitingUsersFrame.cpp dcplusplus/trunk/win32/WinUtil.cpp dcplusplus/trunk/win32/WinUtil.h dcplusplus/trunk/win32/WindowsPage.cpp dcplusplus/trunk/win32/WindowsPage.h dcplusplus/trunk/win32/resource.h Added Paths: ----------- dcplusplus/trunk/help/dialog_indexing_progress.html dcplusplus/trunk/help/resource.h dcplusplus/trunk/help/window_directory_listing.html dcplusplus/trunk/help/window_hub.html dcplusplus/trunk/help/window_pm.html dcplusplus/trunk/help/window_search.html Removed Paths: ------------- dcplusplus/trunk/help/help.vcproj dcplusplus/trunk/help/window_indexing_progress.html dcplusplus/trunk/help/window_search_frame.html Modified: dcplusplus/trunk/help/DCPlusPlus.hhp =================================================================== --- dcplusplus/trunk/help/DCPlusPlus.hhp 2008-03-22 14:41:09 UTC (rev 1050) +++ dcplusplus/trunk/help/DCPlusPlus.hhp 2008-03-22 16:09:51 UTC (rev 1051) @@ -36,19 +36,23 @@ plusplus_tag.html netiquette.html credits.html -window_adlsearch.html +window_hub.html +window_pm.html +window_directory_listing.html window_public_hubs.html window_favorite_hubs.html window_favorite_users.html window_download_queue.html +window_finished_downloads.html +window_waiting_users.html +window_finished_uploads.html +window_search.html +window_adlsearch.html window_search_spy.html -window_search_frame.html +window_notepad.html window_system_log.html -window_notepad.html window_network_stats.html -window_finished_downloads.html -window_finished_uploads.html -window_waiting_users.html +dialog_indexing_progress.html fdl.html faq_keyboard_commands.html faq_upnp.html @@ -65,29 +69,44 @@ links.html [ALIAS] -IDC_HELP_CHANGELOG=changelog.html -IDD_ADVANCED3PAGE=settings_expert.html -IDD_ADVANCEDPAGE=settings_advanced.html -IDD_APPEARANCE2PAGE=settings_colors_and_sounds.html -IDD_APPEARANCEPAGE=settings_appearance.html -IDD_DOWNLOADPAGE=settings_downloads.html -IDD_DOWNLOADPAGE=settings_sharing.html -IDD_FAVORITE_DIRSPAGE=settings_favoritedirs.html -IDD_GENERALPAGE=settings_general.html -IDD_KEYBOARD=faq_keyboard_commands.html -IDD_LOGPAGE=settings_logs.html -IDD_NETWORKPAGE=settings_connection.html -IDD_QUEUEPAGE=settings_queue.html -IDD_STARTPAGE=index.html -IDD_UCPAGE=settings_usercommands.html -IDD_UPLOADPAGE=settings_sharing.html -IDD_WINDOWSPAGE=settings_windows.html -IDR_ADLSEARCH=window_adlsearch.html -IDD_CERTSPAGE=settings_certs.html -IDD_TABSPAGE=settings_tabs.html +IDH_CHANGELOG=changelog.html +IDH_HUB=window_hub.html +IDH_PM=window_pm.html +IDH_DIRECTORY_LISTING=window_directory_listing.html +IDH_PUBLIC_HUBS=window_public_hubs.html +IDH_FAVORITE_HUBS=window_favorite_hubs.html +IDH_FAVUSERS=window_favorite_users.html +IDH_QUEUE=window_download_queue.html +IDH_FINISHED_DL=window_finished_downloads.html +IDH_WAITING_USERS=window_waiting_users.html +IDH_FINISHED_UL=window_finished_uploads.html +IDH_SEARCH=window_search.html +IDH_ADL_SEARCH=window_adlsearch.html +IDH_SEARCH_SPY=window_search_spy.html +IDH_NOTEPAD=window_notepad.html +IDH_SYSTEM_LOG=window_system_log.html +IDH_NET_STATS=window_network_stats.html +IDH_HASH_PROGRESS=dialog_indexing_progress.html +IDH_ADVANCED3PAGE=settings_expert.html +IDH_ADVANCEDPAGE=settings_advanced.html +IDH_APPEARANCE2PAGE=settings_colors_and_sounds.html +IDH_APPEARANCEPAGE=settings_appearance.html +IDH_DOWNLOADPAGE=settings_downloads.html +IDH_FAVORITE_DIRSPAGE=settings_favoritedirs.html +IDH_GENERALPAGE=settings_general.html +IDH_KEYBOARD=faq_keyboard_commands.html +IDH_LOGPAGE=settings_logs.html +IDH_NETWORKPAGE=settings_connection.html +IDH_QUEUEPAGE=settings_queue.html +IDH_STARTPAGE=index.html +IDH_UCPAGE=settings_usercommands.html +IDH_UPLOADPAGE=settings_sharing.html +IDH_WINDOWSPAGE=settings_windows.html +IDH_CERTIFICATESPAGE=settings_certs.html +IDH_TABSPAGE=settings_tabs.html [MAP] -#include ..\win32\resource.h +#include resource.h [INFOTYPES] Copied: dcplusplus/trunk/help/dialog_indexing_progress.html (from rev 1049, dcplusplus/trunk/help/window_indexing_progress.html) =================================================================== --- dcplusplus/trunk/help/dialog_indexing_progress.html (rev 0) +++ dcplusplus/trunk/help/dialog_indexing_progress.html 2008-03-22 16:09:51 UTC (rev 1051) @@ -0,0 +1,18 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html> +<head> + <meta content="text/html; charset=us-ascii" http-equiv="content-type"> + <link type="text/css" rel="stylesheet" href="office11.css"> + <title>Indexing progress</title> +</head> +<body> +<h1>Indexing progress</h1> +This window will display what file is currently being indexed (hashed) by DC++, at what rate and approximately how long time there is left. +<br> +<br> +With this window open, DC++ will index at the priority level of "normal". If DC++ index in the background, the priority level is "lowest" (below "normal"). The priority level affect how much access time DC++ should get for indexing files. A higher priority mean that DC++ will index more frequent, but will also put on more strain on the computer and it will possibly perform slower. +<br> +<br> +Note that files will not be shared until they are indexed. +</body> +</html> Deleted: dcplusplus/trunk/help/help.vcproj =================================================================== --- dcplusplus/trunk/help/help.vcproj 2008-03-22 14:41:09 UTC (rev 1050) +++ dcplusplus/trunk/help/help.vcproj 2008-03-22 16:09:51 UTC (rev 1051) @@ -1,296 +0,0 @@ -<?xml version="1.0" encoding="Windows-1252"?> -<VisualStudioProject - ProjectType="Visual C++" - Version="8.00" - Name="help" - ProjectGUID="{9011F311-1280-4C2D-888C-B3202DC2A6ED}" - RootNamespace="help" - > - <Platforms> - <Platform - Name="Win32" - /> - </Platforms> - <ToolFiles> - </ToolFiles> - <Configurations> - <Configuration - Name="Release|Win32" - OutputDirectory="$(SolutionDir)app" - IntermediateDirectory="$(SolutionDir)vc7\$(ConfigurationName)\$(ProjectName)" - ConfigurationType="10" - InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - </Configuration> - </Configurations> - <References> - </References> - <Files> - <Filter - Name="Project File" - Filter="hpp" - UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}" - > - <File - RelativePath=".\DCPlusPlus.hhp" - DeploymentContent="true" - > - <FileConfiguration - Name="Release|Win32" - > - <Tool - Name="VCCustomBuildTool" - Description="Compiling Help File" - CommandLine="compile.cmd
" - AdditionalDependencies="$(ProjectDir)changelog.html;$(ProjectDir)index.hhk;$(ProjectDir)toc.hhc;..\windows\resource.h" - Outputs="$(SolutionDir)app\DCPlusPlus.chm" - /> - </FileConfiguration> - </File> - <File - RelativePath=".\index.hhk" - > - </File> - <File - RelativePath=".\toc.hhc" - > - </File> - </Filter> - <Filter - Name="HTML Files" - Filter="cpp" - UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}" - > - <File - RelativePath=".\changelog.html" - > - </File> - <File - RelativePath=".\chat_commands.html" - > - </File> - <File - RelativePath=".\credits.html" - > - </File> - <File - RelativePath=".\dev_applypatch.html" - > - </File> - <File - RelativePath=".\dev_createpatch.html" - > - </File> - <File - RelativePath=".\faq.html" - > - </File> - <File - RelativePath=".\faq_activemode.html" - > - </File> - <File - RelativePath=".\faq_different_icons.html" - > - </File> - <File - RelativePath=".\faq_install.html" - > - </File> - <File - RelativePath=".\faq_keyboard_commands.html" - > - </File> - <File - RelativePath=".\faq_nosearch.html" - > - </File> - <File - RelativePath=".\faq_secret.html" - > - </File> - <File - RelativePath=".\faq_slowdownload.html" - > - </File> - <File - RelativePath=".\faq_units.html" - > - </File> - <File - RelativePath=".\faq_university.html" - > - </File> - <File - RelativePath=".\faq_upnp.html" - > - </File> - <File - RelativePath=".\fdl.html" - > - </File> - <File - RelativePath=".\index.html" - > - </File> - <File - RelativePath=".\keyboard_commands.html" - > - </File> - <File - RelativePath=".\Links.html" - > - </File> - <File - RelativePath=".\menu_help.html" - > - </File> - <File - RelativePath=".\netiquette.html" - > - </File> - <File - RelativePath=".\non-routable.html" - > - </File> - <File - RelativePath=".\plusplus_tag.html" - > - </File> - <File - RelativePath=".\settings_advanced.html" - > - </File> - <File - RelativePath=".\settings_appearance.html" - > - </File> - <File - RelativePath=".\settings_certs.html" - > - </File> - <File - RelativePath=".\settings_colors_and_sounds.html" - > - </File> - <File - RelativePath=".\settings_connection.html" - > - </File> - <File - RelativePath=".\settings_downloads.html" - > - </File> - <File - RelativePath=".\settings_expert.html" - > - </File> - <File - RelativePath=".\settings_favoritedirs.html" - > - </File> - <File - RelativePath=".\settings_general.html" - > - </File> - <File - RelativePath=".\settings_logs.html" - > - </File> - <File - RelativePath=".\settings_queue.html" - > - </File> - <File - RelativePath=".\settings_sharing.html" - > - </File> - <File - RelativePath=".\settings_tabs.html" - > - </File> - <File - RelativePath=".\settings_usercommands.html" - > - </File> - <File - RelativePath=".\settings_windows.html" - > - </File> - <File - RelativePath=".\template.html" - > - </File> - <File - RelativePath=".\window_adlsearch.html" - > - </File> - <File - RelativePath=".\window_download_queue.html" - > - </File> - <File - RelativePath=".\window_favorite_hubs.html" - > - </File> - <File - RelativePath=".\window_favorite_users.html" - > - </File> - <File - RelativePath=".\window_finished_downloads.html" - > - </File> - <File - RelativePath=".\window_finished_uploads.html" - > - </File> - <File - RelativePath=".\window_indexing_progress.html" - > - </File> - <File - RelativePath=".\window_network_stats.html" - > - </File> - <File - RelativePath=".\window_notepad.html" - > - </File> - <File - RelativePath=".\window_public_hubs.html" - > - </File> - <File - RelativePath=".\window_search_frame.html" - > - </File> - <File - RelativePath=".\window_search_spy.html" - > - </File> - <File - RelativePath=".\window_system_log.html" - > - </File> - <File - RelativePath=".\window_waiting_users.html" - > - </File> - </Filter> - </Files> - <Globals> - </Globals> -</VisualStudioProject> Modified: dcplusplus/trunk/help/index.html =================================================================== --- dcplusplus/trunk/help/index.html 2008-03-22 14:41:09 UTC (rev 1050) +++ dcplusplus/trunk/help/index.html 2008-03-22 16:09:51 UTC (rev 1051) @@ -34,20 +34,28 @@ View the credits and license of this help file. <br> <h2>Windows</h2> -<div style="margin-left: 40px;"><a href="window_public_hubs.html">Public hubs</a><br> +<div style="margin-left: 40px;"> +<a href="window_hub.html">Hub</a><br> +<a href="window_pm.html">Private Message</a><br> +<a href="window_directory_listing.html">File List</a><br> +<a href="window_public_hubs.html">Public hubs</a><br> +<a href="window_favorite_hubs.html">Favorite Hubs</a><br> +<a href="window_favorite_users.html">Favorite Users</a><br> <a href="window_download_queue.html">Download queue</a><br> +<a href="window_finished_downloads.html">Finished downloads</a><br> <a href="window_waiting_users.html">Waiting users</a><br> -<a href="window_finished_downloads.html">Finished downloads</a><br> <a href="window_finished_uploads.html">Finished uploads</a><br> -<a href="window_favorite_hubs.html">Favorite Hubs</a><br> -<a href="window_favorite_users.html">Favorite Users</a> -<a href="window_search_frame.html">Search</a><br> +<a href="window_search.html">Search</a><br> <a href="window_adlsearch.html">ADLSearch</a><br> <a href="window_search_spy.html">Search spy</a><br> -<a href="window_network_stats.html">Network stattistics</a><br> <a href="window_notepad.html">Notepad</a><br> -<a href="window_indexing_progress.html">Indexing progress</a><br> -<a href="window_system_log.html">System log</a><br></div> +<a href="window_system_log.html">System log</a><br> +<a href="window_network_stats.html">Network statistics</a><br> +</div> +<h2>Dialogs</h2> +<div style="margin-left: 40px;"> +<a href="dialog_indexing_progress.html">Indexing progress</a><br> +</div> <h2>Frequently Asked Questions</h2> <div style="margin-left: 40px;"> <a href="faq_activemode.html">How to set up active mode?</a><br> Added: dcplusplus/trunk/help/resource.h =================================================================== --- dcplusplus/trunk/help/resource.h (rev 0) +++ dcplusplus/trunk/help/resource.h 2008-03-22 16:09:51 UTC (rev 1051) @@ -0,0 +1,40 @@ +#ifndef DCPLUSPLUS_HELP_RESOURCE_H +#define DCPLUSPLUS_HELP_RESOURCE_H + +#define IDH_CHANGELOG 500 +#define IDH_HUB 501 +#define IDH_PM 502 +#define IDH_DIRECTORY_LISTING 503 +#define IDH_PUBLIC_HUBS 504 +#define IDH_FAVORITE_HUBS 505 +#define IDH_FAVUSERS 506 +#define IDH_QUEUE 507 +#define IDH_FINISHED_DL 508 +#define IDH_WAITING_USERS 509 +#define IDH_FINISHED_UL 510 +#define IDH_SEARCH 511 +#define IDH_ADL_SEARCH 512 +#define IDH_SEARCH_SPY 513 +#define IDH_NOTEPAD 514 +#define IDH_SYSTEM_LOG 515 +#define IDH_NET_STATS 516 +#define IDH_HASH_PROGRESS 517 +#define IDH_ADVANCED3PAGE 518 +#define IDH_ADVANCEDPAGE 519 +#define IDH_APPEARANCE2PAGE 520 +#define IDH_APPEARANCEPAGE 521 +#define IDH_DOWNLOADPAGE 522 +#define IDH_UPLOADPAGE 523 +#define IDH_FAVORITE_DIRSPAGE 524 +#define IDH_GENERALPAGE 525 +#define IDH_KEYBOARD 526 +#define IDH_LOGPAGE 527 +#define IDH_NETWORKPAGE 528 +#define IDH_QUEUEPAGE 529 +#define IDH_STARTPAGE 530 +#define IDH_UCPAGE 531 +#define IDH_WINDOWSPAGE 532 +#define IDH_CERTIFICATESPAGE 533 +#define IDH_TABSPAGE 534 + +#endif Modified: dcplusplus/trunk/help/toc.hhc =================================================================== --- dcplusplus/trunk/help/toc.hhc 2008-03-22 14:41:09 UTC (rev 1050) +++ dcplusplus/trunk/help/toc.hhc 2008-03-22 16:09:51 UTC (rev 1051) @@ -25,36 +25,48 @@ </OBJECT> <UL> <LI> <OBJECT type="text/sitemap"> + <param name="Name" value="Hub"> + <param name="Local" value="window_hub.html"> + </OBJECT> + <LI> <OBJECT type="text/sitemap"> + <param name="Name" value="Private Message"> + <param name="Local" value="window_pm.html"> + </OBJECT> + <LI> <OBJECT type="text/sitemap"> + <param name="Name" value="File List"> + <param name="Local" value="window_directory_listing.html"> + </OBJECT> + <LI> <OBJECT type="text/sitemap"> <param name="Name" value="Public Hubs"> <param name="Local" value="window_public_hubs.html"> </OBJECT> <LI> <OBJECT type="text/sitemap"> + <param name="Name" value="Favorite Hubs"> + <param name="Local" value="window_favorite_hubs.html"> + </OBJECT> + <LI> <OBJECT type="text/sitemap"> + <param name="Name" value="Favorite Users"> + <param name="Local" value="window_favorite_users.html"> + </OBJECT> + <LI> <OBJECT type="text/sitemap"> <param name="Name" value="Download queue"> <param name="Local" value="window_download_queue.html"> </OBJECT> <LI> <OBJECT type="text/sitemap"> + <param name="Name" value="Finished downloads"> + <param name="Local" value="window_finished_downloads.html"> + </OBJECT> + <LI> <OBJECT type="text/sitemap"> <param name="Name" value="Waiting users"> <param name="Local" value="window_waiting_users.html"> </OBJECT> <LI> <OBJECT type="text/sitemap"> - <param name="Name" value="Finished downloads"> - <param name="Local" value="window_finished_downloads.html"> - </OBJECT> - <LI> <OBJECT type="text/sitemap"> <param name="Name" value="Finished uploads"> <param name="Local" value="window_finished_uploads.html"> </OBJECT> <LI> <OBJECT type="text/sitemap"> - <param name="Name" value="Favorite Hubs"> - <param name="Local" value="window_favorite_hubs.html"> - </OBJECT> - <LI> <OBJECT type="text/sitemap"> - <param name="Name" value="Favorite Users"> - <param name="Local" value="window_favorite_users.html"> - </OBJECT> - <LI> <OBJECT type="text/sitemap"> <param name="Name" value="Search"> - <param name="Local" value="window_search_frame.html"> + <param name="Local" value="window_search.html"> </OBJECT> <LI> <OBJECT type="text/sitemap"> <param name="Name" value="ADLSearch"> @@ -65,23 +77,28 @@ <param name="Local" value="window_search_spy.html"> </OBJECT> <LI> <OBJECT type="text/sitemap"> - <param name="Name" value="Network statistics"> - <param name="Local" value="window_network_stats.html"> - </OBJECT> - <LI> <OBJECT type="text/sitemap"> <param name="Name" value="Notepad"> <param name="Local" value="window_notepad.html"> </OBJECT> <LI> <OBJECT type="text/sitemap"> - <param name="Name" value="Indexing progress"> - <param name="Local" value="window_indexing_progress.html"> - </OBJECT> - <LI> <OBJECT type="text/sitemap"> <param name="Name" value="System log"> <param name="Local" value="window_system_log.html"> </OBJECT> + <LI> <OBJECT type="text/sitemap"> + <param name="Name" value="Network statistics"> + <param name="Local" value="window_network_stats.html"> + </OBJECT> </UL> <LI> <OBJECT type="text/sitemap"> + <param name="Name" value="Dialogs"> + </OBJECT> + <UL> + <LI> <OBJECT type="text/sitemap"> + <param name="Name" value="Indexing progress"> + <param name="Local" value="dialog_indexing_progress.html"> + </OBJECT> + </UL> + <LI> <OBJECT type="text/sitemap"> <param name="Name" value="Frequently Asked Questions"> </OBJECT> <UL> Added: dcplusplus/trunk/help/window_directory_listing.html =================================================================== --- dcplusplus/trunk/help/window_directory_listing.html (rev 0) +++ dcplusplus/trunk/help/window_directory_listing.html 2008-03-22 16:09:51 UTC (rev 1051) @@ -0,0 +1,12 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html> +<head> + <meta content="text/html; charset=us-ascii" http-equiv="content-type"> + <link type="text/css" rel="stylesheet" href="office11.css"> + <title>File List</title> +</head> +<body> +<h1>File List</h1> +This help file is a stub; please complete it. +</body> +</html> Added: dcplusplus/trunk/help/window_hub.html =================================================================== --- dcplusplus/trunk/help/window_hub.html (rev 0) +++ dcplusplus/trunk/help/window_hub.html 2008-03-22 16:09:51 UTC (rev 1051) @@ -0,0 +1,12 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html> +<head> + <meta content="text/html; charset=us-ascii" http-equiv="content-type"> + <link type="text/css" rel="stylesheet" href="office11.css"> + <title>Hub</title> +</head> +<body> +<h1>Hub</h1> +This help file is a stub; please complete it. +</body> +</html> Deleted: dcplusplus/trunk/help/window_indexing_progress.html =================================================================== --- dcplusplus/trunk/help/window_indexing_progress.html 2008-03-22 14:41:09 UTC (rev 1050) +++ dcplusplus/trunk/help/window_indexing_progress.html 2008-03-22 16:09:51 UTC (rev 1051) @@ -1,18 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -<html> -<head> - <meta content="text/html; charset=us-ascii" http-equiv="content-type"> - <link type="text/css" rel="stylesheet" href="office11.css"> - <title>Indexing progress</title> -</head> -<body> -<h1>Indexing progress</h1> -This window will display what file is currently being indexed (hashed) by DC++, at what rate and approximately how long time there is left. -<br> -<br> -With this window open, DC++ will index at the priority level of "normal". If DC++ index in the background, the priority level is "lowest" (below "normal"). The priority level affect how much access time DC++ should get for indexing files. A higher priority mean that DC++ will index more frequent, but will also put on more strain on the computer and it will possibly perform slower. -<br> -<br> -Note that files will not be shared until they are indexed. -</body> -</html> Added: dcplusplus/trunk/help/window_pm.html =================================================================== --- dcplusplus/trunk/help/window_pm.html (rev 0) +++ dcplusplus/trunk/help/window_pm.html 2008-03-22 16:09:51 UTC (rev 1051) @@ -0,0 +1,12 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html> +<head> + <meta content="text/html; charset=us-ascii" http-equiv="content-type"> + <link type="text/css" rel="stylesheet" href="office11.css"> + <title>Private Message</title> +</head> +<body> +<h1>Private Message</h1> +This help file is a stub; please complete it. +</body> +</html> Copied: dcplusplus/trunk/help/window_search.html (from rev 1049, dcplusplus/trunk/help/window_search_frame.html) =================================================================== --- dcplusplus/trunk/help/window_search.html (rev 0) +++ dcplusplus/trunk/help/window_search.html 2008-03-22 16:09:51 UTC (rev 1051) @@ -0,0 +1,62 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html> +<head> + <meta content="text/html; charset=us-ascii" http-equiv="content-type"> + <link type="text/css" rel="stylesheet" href="office11.css"> + <title>Search</title> +</head> +<body> +<h1>Search</h1> +<h2>Search Options</h2> +<dl style="margin-left: 40px;"> + <dt>Search for</dt> + <dd>This is the set of search strings to search for. Words beginning with "-" will be filtered away.</dd> + <dt>Purge</dt> + <dd>Will remove <a href="settings_experts_only#searchhistory">search history</a>.</dd> + <dt>Size</dt> + <dd>Filter away files depending on their file size.</dd> + <dt>File type</dt> + <dd>Filter away files depending on their file type (extension).</dd> + <dt>Only users with free slots</dt> + <dd>Filter away files depending on the users free slots</dd> + <dt>Hubs</dt> + <dd>Search only selected hubs.</dd> +</dl> +<h2>Columns</h2> +<dl style="margin-left: 80px;"> + <dt>File</dt> + <dd>The file name.</dd> + <dt>User</dt> + <dd>The user's nick name.</dd> + <dt>Type</dt> + <dd>The file's extension (file type).</dd> + <dt>Size</dt> + <dd>The file's size.</dd> + <dt>Slots</dt> + <dd>x/y: x slots available of a total y.</dd> + <dt>Path</dt> + <dd>The path in the user's file list where the file is stored.</dd> + <dt>Connection</dt> + <dd>The user's possible <a href="settings_general#linespeed">line speed in upload</a>.</dd> + <dt>Hub</dt> + <dd>In which hub the user is in.</dd> + <dt>Exact size</dt> + <dd>The exact size of the file.</dd> + <dt>IP</dt> + <dd>The user's IP.</dd> + <dt>TTH root</dt> + <dd>The TTH root for the file.</dd> + <dt>CID</dt> + <dd>The unique ID that DC++ use to identify other users.</dd> +</dl> +<h2>Status bar</h2> +<dl style="margin-left: 40px;"> + <dt>Unnamed checkbox</dt> + <dd>Toggle the displayment of the search options.</dd> + <dt># items</dt> + <dd>The amount of items that are displayed in the window.</dd> + <dt># filtered</dt> + <dd>The amount of files that have been filtered away from the view.</dd> +</dl> +</body> +</html> Deleted: dcplusplus/trunk/help/window_search_frame.html =================================================================== --- dcplusplus/trunk/help/window_search_frame.html 2008-03-22 14:41:09 UTC (rev 1050) +++ dcplusplus/trunk/help/window_search_frame.html 2008-03-22 16:09:51 UTC (rev 1051) @@ -1,62 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -<html> -<head> - <meta content="text/html; charset=us-ascii" http-equiv="content-type"> - <link type="text/css" rel="stylesheet" href="office11.css"> - <title>Search</title> -</head> -<body> -<h1>Search</h1> -<h2>Search Options</h2> -<dl style="margin-left: 40px;"> - <dt>Search for</dt> - <dd>This is the set of search strings to search for. Words beginning with "-" will be filtered away.</dd> - <dt>Purge</dt> - <dd>Will remove <a href="settings_experts_only#searchhistory">search history</a>.</dd> - <dt>Size</dt> - <dd>Filter away files depending on their file size.</dd> - <dt>File type</dt> - <dd>Filter away files depending on their file type (extension).</dd> - <dt>Only users with free slots</dt> - <dd>Filter away files depending on the users free slots</dd> - <dt>Hubs</dt> - <dd>Search only selected hubs.</dd> -</dl> -<h2>Columns</h2> -<dl style="margin-left: 80px;"> - <dt>File</dt> - <dd>The file name.</dd> - <dt>User</dt> - <dd>The user's nick name.</dd> - <dt>Type</dt> - <dd>The file's extension (file type).</dd> - <dt>Size</dt> - <dd>The file's size.</dd> - <dt>Slots</dt> - <dd>x/y: x slots available of a total y.</dd> - <dt>Path</dt> - <dd>The path in the user's file list where the file is stored.</dd> - <dt>Connection</dt> - <dd>The user's possible <a href="settings_general#linespeed">line speed in upload</a>.</dd> - <dt>Hub</dt> - <dd>In which hub the user is in.</dd> - <dt>Exact size</dt> - <dd>The exact size of the file.</dd> - <dt>IP</dt> - <dd>The user's IP.</dd> - <dt>TTH root</dt> - <dd>The TTH root for the file.</dd> - <dt>CID</dt> - <dd>The unique ID that DC++ use to identify other users.</dd> -</dl> -<h2>Status bar</h2> -<dl style="margin-left: 40px;"> - <dt>Unnamed checkbox</dt> - <dd>Toggle the displayment of the search options.</dd> - <dt># items</dt> - <dd>The amount of items that are displayed in the window.</dd> - <dt># filtered</dt> - <dd>The amount of files that have been filtered away from the view.</dd> -</dl> -</body> -</html> Modified: dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectHelp.h =================================================================== --- dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectHelp.h 2008-03-22 14:41:09 UTC (rev 1050) +++ dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectHelp.h 2008-03-22 16:09:51 UTC (rev 1051) @@ -5,9 +5,32 @@ template<typename WidgetType> class AspectHelp { - typedef Dispatchers::VoidVoid<TRUE> Dispatcher; + struct Dispatcher { + typedef std::tr1::function<void (HWND, unsigned)> F; + Dispatcher(const F& f_) : f(f_) { } + + bool operator()(const MSG& msg, LRESULT& ret) { + LPHELPINFO lphi = reinterpret_cast<LPHELPINFO>(msg.lParam); + if(lphi->iContextType != HELPINFO_WINDOW) + return false; + f(reinterpret_cast<HWND>(lphi->hItemHandle), lphi->dwContextId); + ret = TRUE; + return true; + } + + F f; + }; + public: + unsigned getHelpId() { + return ::GetWindowContextHelpId(static_cast<WidgetType*>(this)->handle()); + } + + void setHelpId(unsigned id) { + ::SetWindowContextHelpId(static_cast<WidgetType*>(this)->handle(), id); + } + void onHelp(const typename Dispatcher::F& f) { static_cast<WidgetType*>(this)->addCallback( Message( WM_HELP ), Dispatcher(f) Modified: dcplusplus/trunk/win32/ADLSearchFrame.cpp =================================================================== --- dcplusplus/trunk/win32/ADLSearchFrame.cpp 2008-03-22 14:41:09 UTC (rev 1050) +++ dcplusplus/trunk/win32/ADLSearchFrame.cpp 2008-03-22 16:09:51 UTC (rev 1051) @@ -37,7 +37,7 @@ }; ADLSearchFrame::ADLSearchFrame(SmartWin::WidgetTabView* mdiParent) : - BaseType(mdiParent, T_("Automatic Directory Listing Search"), IDR_ADLSEARCH), + BaseType(mdiParent, T_("Automatic Directory Listing Search"), IDH_ADL_SEARCH, IDR_ADLSEARCH), add(0), properties(0), up(0), @@ -92,7 +92,7 @@ cs.caption = T_("&Help"); help = createButton(cs); - help->onClicked(std::tr1::bind(&ADLSearchFrame::handleHelp, this)); + help->onClicked(std::tr1::bind(&WinUtil::help, handle(), IDH_ADL_SEARCH)); addWidget(help); } @@ -235,10 +235,6 @@ } } -void ADLSearchFrame::handleHelp() { - HtmlHelp(handle(), WinUtil::getHelpFile().c_str(), HH_HELP_CONTEXT, IDR_ADLSEARCH); -} - void ADLSearchFrame::handleDoubleClick() { if(items->hasSelection()) { handleProperties(); Modified: dcplusplus/trunk/win32/ADLSearchFrame.h =================================================================== --- dcplusplus/trunk/win32/ADLSearchFrame.h 2008-03-22 14:41:09 UTC (rev 1050) +++ dcplusplus/trunk/win32/ADLSearchFrame.h 2008-03-22 16:09:51 UTC (rev 1051) @@ -69,7 +69,6 @@ void handleUp(); void handleDown(); void handleRemove(); - void handleHelp(); void handleDoubleClick(); bool handleKeyDown(int c); LRESULT handleItemChanged(WPARAM /*wParam*/, LPARAM lParam); Modified: dcplusplus/trunk/win32/Advanced3Page.cpp =================================================================== --- dcplusplus/trunk/win32/Advanced3Page.cpp 2008-03-22 14:41:09 UTC (rev 1050) +++ dcplusplus/trunk/win32/Advanced3Page.cpp 2008-03-22 16:09:51 UTC (rev 1051) @@ -69,6 +69,7 @@ Advanced3Page::Advanced3Page(SmartWin::Widget* parent) : PropPage(parent) { createDialog(IDD_ADVANCED3PAGE); + setHelpId(IDH_ADVANCED3PAGE); PropPage::translate(handle(), texts); PropPage::read(handle(), items, 0, 0); Modified: dcplusplus/trunk/win32/Advanced3Page.h =================================================================== --- dcplusplus/trunk/win32/Advanced3Page.h 2008-03-22 14:41:09 UTC (rev 1050) +++ dcplusplus/trunk/win32/Advanced3Page.h 2008-03-22 16:09:51 UTC (rev 1051) @@ -28,7 +28,7 @@ virtual ~Advanced3Page(); virtual void write(); - virtual int getHelpId() { return IDD_ADVANCED3PAGE; } + private: static Item items[]; static TextItem texts[]; Modified: dcplusplus/trunk/win32/AdvancedPage.cpp =================================================================== --- dcplusplus/trunk/win32/AdvancedPage.cpp 2008-03-22 14:41:09 UTC (rev 1050) +++ dcplusplus/trunk/win32/AdvancedPage.cpp 2008-03-22 16:09:51 UTC (rev 1051) @@ -53,6 +53,7 @@ AdvancedPage::AdvancedPage(SmartWin::Widget* parent) : PropPage(parent) { createDialog(IDD_ADVANCEDPAGE); + setHelpId(IDH_ADVANCEDPAGE); PropPage::read(handle(), items, listItems, ::GetDlgItem(handle(), IDC_ADVANCED_BOOLEANS)); } Modified: dcplusplus/trunk/win32/AdvancedPage.h =================================================================== --- dcplusplus/trunk/win32/AdvancedPage.h 2008-03-22 14:41:09 UTC (rev 1050) +++ dcplusplus/trunk/win32/AdvancedPage.h 2008-03-22 16:09:51 UTC (rev 1051) @@ -28,7 +28,6 @@ virtual ~AdvancedPage(); virtual void write(); - virtual int getHelpId() { return IDD_ADVANCEDPAGE; } private: static Item items[]; Modified: dcplusplus/trunk/win32/Appearance2Page.cpp =================================================================== --- dcplusplus/trunk/win32/Appearance2Page.cpp 2008-03-22 14:41:09 UTC (rev 1050) +++ dcplusplus/trunk/win32/Appearance2Page.cpp 2008-03-22 16:09:51 UTC (rev 1051) @@ -50,6 +50,7 @@ Appearance2Page::Appearance2Page(SmartWin::Widget* parent) : PropPage(parent) { createDialog(IDD_APPEARANCE2PAGE); + setHelpId(IDH_APPEARANCE2PAGE); PropPage::translate(handle(), texts); PropPage::read(handle(), items, 0, 0); Modified: dcplusplus/trunk/win32/Appearance2Page.h =================================================================== --- dcplusplus/trunk/win32/Appearance2Page.h 2008-03-22 14:41:09 UTC (rev 1050) +++ dcplusplus/trunk/win32/Appearance2Page.h 2008-03-22 16:09:51 UTC (rev 1051) @@ -28,7 +28,6 @@ virtual ~Appearance2Page(); virtual void write(); - virtual int getHelpId() { return IDD_APPEARANCE2PAGE; } private: static Item items[]; Modified: dcplusplus/trunk/win32/AppearancePage.cpp =================================================================== --- dcplusplus/trunk/win32/AppearancePage.cpp 2008-03-22 14:41:09 UTC (rev 1050) +++ dcplusplus/trunk/win32/AppearancePage.cpp 2008-03-22 16:09:51 UTC (rev 1051) @@ -59,6 +59,7 @@ AppearancePage::AppearancePage(SmartWin::Widget* parent) : PropPage(parent), languages(0) { createDialog(IDD_APPEARANCEPAGE); + setHelpId(IDH_APPEARANCEPAGE); PropPage::translate(handle(), texts); PropPage::read(handle(), items, listItems, ::GetDlgItem(handle(), IDC_APPEARANCE_BOOLEANS)); Modified: dcplusplus/trunk/win32/AppearancePage.h =================================================================== --- dcplusplus/trunk/win32/AppearancePage.h 2008-03-22 14:41:09 UTC (rev 1050) +++ dcplusplus/trunk/win32/AppearancePage.h 2008-03-22 16:09:51 UTC (rev 1051) @@ -28,7 +28,6 @@ virtual ~AppearancePage(); virtual void write(); - virtual int getHelpId() { return IDD_APPEARANCEPAGE; } private: static Item items[]; Modified: dcplusplus/trunk/win32/CertificatesPage.cpp =================================================================== --- dcplusplus/trunk/win32/CertificatesPage.cpp 2008-03-22 14:41:09 UTC (rev 1050) +++ dcplusplus/trunk/win32/CertificatesPage.cpp 2008-03-22 16:09:51 UTC (rev 1051) @@ -46,6 +46,7 @@ CertificatesPage::CertificatesPage(SmartWin::Widget* parent) : PropPage(parent) { createDialog(IDD_CERTIFICATESPAGE); + setHelpId(IDH_CERTIFICATESPAGE); PropPage::translate(handle(), texts); PropPage::read(handle(), items, listItems, ::GetDlgItem(handle(), IDC_TLS_OPTIONS)); Modified: dcplusplus/trunk/win32/CertificatesPage.h =================================================================== --- dcplusplus/trunk/win32/CertificatesPage.h 2008-03-22 14:41:09 UTC (rev 1050) +++ dcplusplus/trunk/win32/CertificatesPage.h 2008-03-22 16:09:51 UTC (rev 1051) @@ -28,7 +28,6 @@ virtual ~CertificatesPage(); virtual void write(); - virtual int getHelpId() { return IDD_CERTIFICATESPAGE; } private: static Item items[]; Modified: dcplusplus/trunk/win32/CommandDlg.cpp =================================================================== --- dcplusplus/trunk/win32/CommandDlg.cpp 2008-03-22 14:41:09 UTC (rev 1050) +++ dcplusplus/trunk/win32/CommandDlg.cpp 2008-03-22 16:09:51 UTC (rev 1051) @@ -52,7 +52,7 @@ { onInitDialog(std::tr1::bind(&CommandDlg::handleInitDialog, this)); onFocus(std::tr1::bind(&CommandDlg::handleFocus, this)); - onHelp(std::tr1::bind(&CommandDlg::handleHelp, this)); + onHelp(std::tr1::bind(&WinUtil::help, _1, _2)); } CommandDlg::~CommandDlg() { @@ -129,12 +129,12 @@ button = attachButton(IDHELP); button->setText(T_("Help")); - button->onClicked(std::tr1::bind(&CommandDlg::handleHelp, this)); + button->onClicked(std::tr1::bind(&WinUtil::help, handle(), IDH_UCPAGE)); } if(bOpenHelp) { // launch the help file, instead of having the help in the dialog - handleHelp(); + postMessage(WM_COMMAND, IDHELP); } if(type == UserCommand::TYPE_SEPARATOR) { @@ -199,10 +199,6 @@ nameBox->setFocus(); } -void CommandDlg::handleHelp() { - ::HtmlHelp(handle(), WinUtil::getHelpFile().c_str(), HH_HELP_CONTEXT, IDD_UCPAGE); -} - void CommandDlg::handleTypeChanged() { updateType(); updateCommand(); Modified: dcplusplus/trunk/win32/CommandDlg.h =================================================================== --- dcplusplus/trunk/win32/CommandDlg.h 2008-03-22 14:41:09 UTC (rev 1050) +++ dcplusplus/trunk/win32/CommandDlg.h 2008-03-22 16:09:51 UTC (rev 1051) @@ -61,7 +61,6 @@ bool handleInitDialog(); void handleFocus(); - void handleHelp(); void handleTypeChanged(); void handleOKClicked(); Modified: dcplusplus/trunk/win32/DCPlusPlus.rc =================================================================== --- dcplusplus/trunk/win32/DCPlusPlus.rc 2008-03-22 14:41:09 UTC (rev 1050) +++ dcplusplus/trunk/win32/DCPlusPlus.rc 2008-03-22 16:09:51 UTC (rev 1051) @@ -578,7 +578,7 @@ END IDD_SETTINGS DIALOGEX 0, 0, 375, 275 -STYLE DS_SETFONT | DS_FIXEDSYS | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE +STYLE DS_SETFONT | DS_FIXEDSYS | DS_MODALFRAME | DS_CONTEXTHELP | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE CAPTION "Settings" FONT 8, "MS Shell Dlg", 0, 0, 0x0 BEGIN Modified: dcplusplus/trunk/win32/DirectoryListingFrame.cpp =================================================================== --- dcplusplus/trunk/win32/DirectoryListingFrame.cpp 2008-03-22 14:41:09 UTC (rev 1050) +++ dcplusplus/trunk/win32/DirectoryListingFrame.cpp 2008-03-22 16:09:51 UTC (rev 1051) @@ -106,7 +106,7 @@ } DirectoryListingFrame::DirectoryListingFrame(SmartWin::WidgetTabView* mdiParent, const UserPtr& aUser, int64_t aSpeed) : - BaseType(mdiParent, _T(""), SmartWin::IconPtr(new SmartWin::Icon(IDR_DIRECTORY)), !BOOLSETTING(POPUNDER_FILELIST)), + BaseType(mdiParent, _T(""), IDH_DIRECTORY_LISTING, SmartWin::IconPtr(new SmartWin::Icon(IDR_DIRECTORY)), !BOOLSETTING(POPUNDER_FILELIST)), dirs(0), files(0), paned(0), Modified: dcplusplus/trunk/win32/DownloadPage.cpp =================================================================== --- dcplusplus/trunk/win32/DownloadPage.cpp 2008-03-22 14:41:09 UTC (rev 1050) +++ dcplusplus/trunk/win32/DownloadPage.cpp 2008-03-22 16:09:51 UTC (rev 1051) @@ -54,6 +54,7 @@ DownloadPage::DownloadPage(SmartWin::Widget* parent) : PropPage(parent) { createDialog(IDD_DOWNLOADPAGE); + setHelpId(IDH_DOWNLOADPAGE); PropPage::translate(handle(), texts); PropPage::read(handle(), items); Modified: dcplusplus/trunk/win32/DownloadPage.h =================================================================== --- dcplusplus/trunk/win32/DownloadPage.h 2008-03-22 14:41:09 UTC (rev 1050) +++ dcplusplus/trunk/win32/DownloadPage.h 2008-03-22 16:09:51 UTC (rev 1051) @@ -28,7 +28,6 @@ virtual ~DownloadPage(); virtual void write(); - virtual int getHelpId() { return IDD_DOWNLOADPAGE; } private: static Item items[]; Modified: dcplusplus/trunk/win32/FavHubsFrame.cpp =================================================================== --- dcplusplus/trunk/win32/FavHubsFrame.cpp 2008-03-22 14:41:09 UTC (rev 1050) +++ dcplusplus/trunk/win32/FavHubsFrame.cpp 2008-03-22 16:09:51 UTC (rev 1051) @@ -38,7 +38,7 @@ }; FavHubsFrame::FavHubsFrame(SmartWin::WidgetTabView* mdiParent) : - BaseType(mdiParent, T_("Favorite Hubs"), IDR_FAVORITES), + BaseType(mdiParent, T_("Favorite Hubs"), IDH_FAVORITE_HUBS, IDR_FAVORITES), hubs(0), connect(0), add(0), Modified: dcplusplus/trunk/win32/FavoriteDirsPage.cpp =================================================================== --- dcplusplus/trunk/win32/FavoriteDirsPage.cpp 2008-03-22 14:41:09 UTC (rev 1050) +++ dcplusplus/trunk/win32/FavoriteDirsPage.cpp 2008-03-22 16:09:51 UTC (rev 1051) @@ -38,6 +38,7 @@ FavoriteDirsPage::FavoriteDirsPage(SmartWin::Widget* parent) : PropPage(parent) { createDialog(IDD_FAVORITE_DIRSPAGE); + setHelpId(IDH_FAVORITE_DIRSPAGE); PropPage::translate(handle(), texts); Modified: dcplusplus/trunk/win32/FavoriteDirsPage.h =================================================================== --- dcplusplus/trunk/win32/FavoriteDirsPage.h 2008-03-22 14:41:09 UTC (rev 1050) +++ dcplusplus/trunk/win32/FavoriteDirsPage.h 2008-03-22 16:09:51 UTC (rev 1051) @@ -28,7 +28,6 @@ virtual ~FavoriteDirsPage(); virtual void write(); - virtual int getHelpId() { return IDD_FAVORITE_DIRSPAGE; } private: static TextItem texts[]; Modified: dcplusplus/trunk/win32/FinishedDLFrame.cpp =================================================================== --- dcplusplus/trunk/win32/FinishedDLFrame.cpp 2008-03-22 14:41:09 UTC (rev 1050) +++ dcplusplus/trunk/win32/FinishedDLFrame.cpp 2008-03-22 16:09:51 UTC (rev 1051) @@ -22,6 +22,6 @@ #include "FinishedDLFrame.h" FinishedDLFrame::FinishedDLFrame(SmartWin::WidgetTabView* mdiParent) : - BaseType(mdiParent, T_("Finished Downloads"), IDR_FINISHED_DL) + BaseType(mdiParent, T_("Finished Downloads"), IDH_FINISHED_DL, IDR_FINISHED_DL) { } Modified: dcplusplus/trunk/win32/FinishedFrameBase.h =================================================================== --- dcplusplus/trunk/win32/FinishedFrameBase.h 2008-03-22 14:41:09 UTC (rev 1050) +++ dcplusplus/trunk/win32/FinishedFrameBase.h 2008-03-22 16:09:51 UTC (rev 1051) @@ -47,8 +47,8 @@ friend class MDIChildFrame<T>; typedef FinishedFrameBase<T, in_UL> ThisType; - FinishedFrameBase(SmartWin::WidgetTabView* mdiParent, const tstring& title, int icon) : - BaseType(mdiParent, title, icon), + FinishedFrameBase(SmartWin::WidgetTabView* mdiParent, const tstring& title, unsigned helpId, int icon) : + BaseType(mdiParent, title, helpId, icon), items(0), totalBytes(0), totalTime(0) Modified: dcplusplus/trunk/win32/FinishedULFrame.cpp =================================================================== --- dcplusplus/trunk/win32/FinishedULFrame.cpp 2008-03-22 14:41:09 UTC (rev 1050) +++ dcplusplus/trunk/win32/FinishedULFrame.cpp 2008-03-22 16:09:51 UTC (rev 1051) @@ -22,6 +22,6 @@ #include "FinishedULFrame.h" FinishedULFrame::FinishedULFrame(SmartWin::WidgetTabView* mdiParent) : - BaseType(mdiParent, T_("Finished Uploads"), IDR_FINISHED_UL) + BaseType(mdiParent, T_("Finished Uploads"), IDH_FINISHED_UL, IDR_FINISHED_UL) { } Modified: dcplusplus/trunk/win32/GeneralPage.cpp =================================================================== --- dcplusplus/trunk/win32/GeneralPage.cpp 2008-03-22 14:41:09 UTC (rev 1050) +++ dcplusplus/trunk/win32/GeneralPage.cpp 2008-03-22 16:09:51 UTC (rev 1051) @@ -44,6 +44,7 @@ GeneralPage::GeneralPage(SmartWin::Widget* parent) : PropPage(parent), nick(0) { createDialog(IDD_GENERALPAGE); + setHelpId(IDH_GENERALPAGE); PropPage::translate(handle(), texts); PropPage::read(handle(), items); Modified: dcplusplus/trunk/win32/GeneralPage.h =================================================================== --- dcplusplus/trunk/win32/GeneralPage.h 2008-03-22 14:41:09 UTC (rev 1050) +++ dcplusplus/trunk/win32/GeneralPage.h 2008-03-22 16:09:51 UTC (rev 1051) @@ -28,7 +28,6 @@ virtual ~GeneralPage(); virtual void write(); - virtual int getHelpId() { return IDD_GENERALPAGE; } private: static Item items[]; Modified: dcplusplus/trunk/win32/HashProgressDlg.cpp =================================================================== --- dcplusplus/trunk/win32/HashProgressDlg.cpp 2008-03-22 14:41:09 UTC (rev 1050) +++ dcplusplus/trunk/win32/HashProgressDlg.cpp 2008-03-22 16:09:51 UTC (rev 1051) @@ -37,6 +37,8 @@ } bool HashProgressDlg::handleInitDialog() { + setHelpId(IDH_HASH_PROGRESS); + setText(T_("Creating file index...")); ::SetDlgItemText(handle(), IDC_HASH_INDEXING, CT_("Please wait while DC++ indexes your files (they won't be shared until they've been indexed)...")); ::SetDlgItemText(handle(), IDC_STATISTICS, CT_("Statistics")); Modified: dcplusplus/trunk/win32/HubFrame.cpp =================================================================== --- dcplusplus/trunk/win32/HubFrame.cpp 2008-03-22 14:41:09 UTC (rev 1050) +++ dcplusplus/trunk/win32/HubFrame.cpp 2008-03-22 16:09:51 UTC (rev 1051) @@ -68,7 +68,7 @@ } HubFrame::HubFrame(SmartWin::WidgetTabView* mdiParent, const string& url_) : - BaseType(mdiParent, Text::toT(url_), SmartWin::IconPtr(new SmartWin::Icon(IDR_HUB))), + BaseType(mdiParent, Text::toT(url_), IDH_HUB, SmartWin::IconPtr(new SmartWin::Icon(IDR_HUB))), chat(0), message(0), filter(0), Modified: dcplusplus/trunk/win32/LogPage.cpp =================================================================== --- dcplusplus/trunk/win32/LogPage.cpp 2008-03-22 14:41:09 UTC (rev 1050) +++ dcplusplus/trunk/win32/LogPage.cpp 2008-03-22 16:09:51 UTC (rev 1051) @@ -54,6 +54,7 @@ LogPage::LogPage(SmartWin::Widget* parent) : PropPage(parent) { createDialog(IDD_LOGPAGE); + setHelpId(IDH_LOGPAGE); PropPage::translate(handle(), texts); PropPage::read(handle(), items, listItems, ::GetDlgItem(handle(), IDC_LOG_OPTIONS)); Modified: dcplusplus/trunk/win32/LogPage.h =================================================================== --- dcplusplus/trunk/win32/LogPage.h 2008-03-22 14:41:09 UTC (rev 1050) +++ dcplusplus/trunk/win32/LogPage.h 2008-03-22 16:09:51 UTC (rev 1051) @@ -29,7 +29,6 @@ virtual ~LogPage(); virtual void write(); - virtual int getHelpId() { return IDD_LOGPAGE; } private: static Item items[]; Modified: dcplusplus/trunk/win32/MDIChildFrame.h =================================================================== --- dcplusplus/trunk/win32/MDIChildFrame.h 2008-03-22 14:41:09 UTC (rev 1050) +++ dcplusplus/trunk/win32/MDIChildFrame.h 2008-03-22 16:09:51 UTC (rev 1051) @@ -38,7 +38,7 @@ typedef WidgetFactory< SmartWin::WidgetChildWindow > BaseType; protected: - MDIChildFrame(SmartWin::WidgetTabView* tabView, const tstring& title, SmartWin::IconPtr icon = SmartWin::IconPtr(), bool activate = true) : + MDIChildFrame(SmartWin::WidgetTabView* tabView, const tstring& title, unsigned helpId = 0, SmartWin::IconPtr icon = SmartWin::IconPtr(), bool activate = true) : BaseType(tabView->getTab()), lastFocus(NULL), alwaysSameFocus(false), @@ -57,6 +57,9 @@ cs.location = tabView->getClientSize(); this->createWindow(cs); + if(helpId) + setHelpId(helpId); + tabView->add(this, icon); this->onTabContextMenu(std::tr1::bind(&ThisType::handleContextMenu, this, _1)); Modified: dcplusplus/trunk/win32/MainWindow.cpp =================================================================== --- dcplusplus/trunk/win32/MainWindow.cpp 2008-03-22 14:41:09 UTC (rev 1050) +++ dcplusplus/trunk/win32/MainWindow.cpp 2008-03-22 16:09:51 UTC (rev 1051) @@ -87,7 +87,7 @@ onActivate(std::tr1::bind(&MainWindow::handleActivate, this, _1)); onSized(std::tr1::bind(&MainWindow::handleSized, this, _1)); onSpeaker(std::tr1::bind(&MainWindow::handleSpeaker, this, _1, _2)); - onHelp(std::tr1::bind(&MainWindow::handleHelp, this, IDC_HELP_CONTENTS)); + onHelp(std::tr1::bind(&WinUtil::help, _1, _2)); onRaw(std::tr1::bind(&MainWindow::handleTrayIcon, this, _2), SmartWin::Message(WM_APP + 242)); updateStatus(); @@ -130,7 +130,7 @@ speak(PARSE_COMMAND_LINE); if(SETTING(NICK).empty()) { - handleHelp(IDD_GENERALPAGE); + WinUtil::help(handle(), IDH_GENERALPAGE); postMessage(WM_COMMAND, IDC_SETTINGS); } @@ -240,9 +240,9 @@ { WidgetMenuPtr help = mainMenu->appendPopup(T_("&Help")); - help->appendItem(IDC_HELP_CONTENTS, T_("Help &Contents\tF1"), std::tr1::bind(&MainWindow::handleHelp, this, _1)); + help->appendItem(IDH_STARTPAGE, T_("Help &Contents\tF1"), std::tr1::bind(&WinUtil::help, handle(), _1)); help->appendSeparatorItem(); - help->appendItem(IDC_HELP_CHANGELOG, T_("Change Log"), std::tr1::bind(&MainWindow::handleHelp, this, _1)); + help->appendItem(IDH_CHANGELOG, T_("Change Log"), std::tr1::bind(&WinUtil::help, handle(), _1)); help->appendItem(IDC_ABOUT, T_("About DC++..."), std::tr1::bind(&MainWindow::handleAbout, this), SmartWin::BitmapPtr(new SmartWin::Bitmap(IDB_DCPP))); help->appendSeparatorItem(); help->appendItem(IDC_HELP_HOMEPAGE, T_("DC++ Homepage"), std::tr1::bind(&MainWindow::handleLink, this, _1)); @@ -909,11 +909,6 @@ } } -void MainWindow::handleHelp(unsigned id) { - UINT action = (id == IDC_HELP_CONTENTS) ? HH_DISPLAY_TOC : HH_HELP_CONTEXT; - ::HtmlHelp(handle(), WinUtil::getHelpFile().c_str(), action, id); -} - LRESULT MainWindow::handleEndSession() { if (c != NULL) { c->removeListener(this); Modified: dcplusplus/trunk/win32/MainWindow.h =================================================================== --- dcplusplus/trunk/win32/MainWindow.h 2008-03-22 14:41:09 UTC (rev 1050) +++ dcplusplus/trunk/win32/MainWindow.h 2008-03-22 16:09:51 UTC (rev 1051) @@ -154,7 +154,6 @@ void handleOpenDownloadsDir(); void handleLink(unsigned id); void handleAbout(); - void handleHelp(unsigned id); void handleHashProgress(); void handleCloseWindows(unsigned id); void handleSize(); Modified: dcplusplus/trunk/win32/NetworkPage.cpp =================================================================== --- dcplusplus/trunk/win32/NetworkPage.cpp 2008-03-22 14:41:09 UTC (rev 1050) +++ dcplusplus/trunk/win32/NetworkPage.cpp 2008-03-22 16:09:51 UTC (rev 1051) @@ -65,6 +65,7 @@ NetworkPage::NetworkPage(SmartWin::Widget* parent) : PropPage(parent) { createDialog(IDD_NETWORKPAGE); + setHelpId(IDH_NETWORKPAGE); PropPage::translate(handle(), texts); Modified: dcplusplus/trunk/win32/NetworkPage.h =================================================================== --- dcplusplus/trunk/win32/NetworkPage.h 2008-03-22 14:41:09 UTC (rev 1050) +++ dcplusplus/trunk/win32/NetworkPage.h 2008-03-22 16:09:51 UTC (rev 1051) @@ -29,7 +29,6 @@ virtual ~NetworkPage(); virtual void write(); - virtual int getHelpId() { return IDD_NETWORKPAGE; } private: static Item items[]; Modified: dcplusplus/trunk/win32/NotepadFrame.cpp =================================================================== --- dcplusplus/trunk/win32/NotepadFrame.cpp 2008-03-22 14:41:09 UTC (rev 1050) +++ dcplusplus/trunk/win32/NotepadFrame.cpp 2008-03-22 16:09:51 UTC (rev 1051) @@ -24,7 +24,7 @@ #include <dcpp/Text.h> NotepadFrame::NotepadFrame(SmartWin::WidgetTabView* mdiParent) : - BaseType(mdiParent, T_("Notepad"), IDR_NOTEPAD), + BaseType(mdiParent, T_("Notepad"), IDH_NOTEPAD, IDR_NOTEPAD), pad(0) { { Modified: dcplusplus/trunk/win32/PrivateFrame.cpp =================================================================== --- dcplusplus/trunk/win32/PrivateFrame.cpp 2008-03-22 14:41:09 UTC (rev 1050) +++ dcplusplus/trunk/win32/PrivateFrame.cpp 2008-03-22 16:09:51 UTC (rev 1051) @@ -92,7 +92,7 @@ } PrivateFrame::PrivateFrame(SmartWin::WidgetTabView* mdiParent, const UserPtr& replyTo_, bool activate) : - BaseType(mdiParent, _T(""), SmartWin::IconPtr(new SmartWin::Icon(IDR_PRIVATE)), activate), + BaseType(mdiParent, _T(""), IDH_PM, SmartWin::IconPtr(new SmartWin::Icon(IDR_PRIVATE)), activate), chat(0), message(0), replyTo(replyTo_) Modified: dcplusplus/trunk/win32/PropPage.h =================================================================== --- dcplusplus/trunk/win32/PropPage.h 2008-03-22 14:41:09 UTC (rev 1050) +++ dcplusplus/trunk/win32/PropPage.h 2008-03-22 16:09:51 UTC (rev 1051) @@ -30,7 +30,6 @@ virtual ~PropPage(); virtual void write() = 0; - virtual int getHelpId() = 0; enum Type { T_STR, T_INT, T_BOOL, T_CUSTOM, T_END }; Modified: dcplusplus/trunk/win32/PublicHubsFrame.cpp =================================================================== --- dcplusplus/trunk/win32/PublicHubsFrame.cpp 2008-03-22 14:41:09 UTC (rev 1050) +++ dcplusplus/trunk/win32/PublicHubsFrame.cpp 2008-03-22 16:09:51 UTC (rev 1051) @@ -90,7 +90,7 @@ } PublicHubsFrame::PublicHubsFrame(SmartWin::WidgetTabView* mdiParent) : - BaseType(mdiParent, T_("Public Hubs"), IDR_PUBLICHUBS), + BaseType(mdiParent, T_("Public Hubs"), IDH_PUBLIC_HUBS, IDR_PUBLICHUBS), hubs(0), configure(0), refresh(0), Modified: dcplusplus/trunk/win32/QueueFrame.cpp =================================================================== --- dcplusplus/trunk/win32/QueueFrame.cpp 2008-03-22 14:41:09 UTC (rev 1050) +++ dcplusplus/trunk/win32/QueueFrame.cpp 2008-03-22 16:09:51 UTC (rev 1051) @@ -54,7 +54,7 @@ } QueueFrame::QueueFrame(SmartWin::WidgetTabView* mdiParent) : - BaseType(mdiParent, T_("Download Queue"), IDR_QUEUE), + BaseType(mdiParent, T_("Download Queue"), IDH_QUEUE, IDR_QUEUE), dirs(0), files(0), paned(0), Modified: dcplusplus/trunk/win32/QueuePage.cpp =================================================================== --- dcplusplus/trunk/win32/QueuePage.cpp 2008-03-22 14:41:09 UTC (rev 1050) +++ dcplusplus/trunk/win32/QueuePage.cpp 2008-03-22 16:09:51 UTC (rev 1051) @@ -80,6 +80,7 @@ QueuePage::QueuePage(SmartWin::Widget* parent) : PropPage(parent) { createDialog(IDD_QUEUEPAGE); + setHelpId(IDH_QUEUEPAGE); PropPage::translate(handle(), texts); PropPage::read(handle(), items, 0, 0); Modified: dcplusplus/trunk/win32/QueuePage.h =================================================================== --- dcplusplus/trunk/win32/QueuePage.h 2008-03-22 14:41:09 UTC (rev 1050) +++ dcplusplus/trunk/win32/QueuePage.h 2008-03-22 16:09:51 UTC (rev 1051) @@ -29,7 +29,6 @@ virtual ~QueuePage(); virtual void write(); - virtual int getHelpId() { return IDD_QUEUEPAGE; } private: static Item items[]; Modified: dcplusplus/trunk/win32/SearchFrame.cpp =================================================================== --- dcplusplus/trunk/win32/SearchFrame.cpp 2008-03-22 14:41:09 UTC (rev 1050) +++ dcplusplus/trunk/win32/SearchFrame.cpp 2008-03-22 16:09:51 UTC (rev 1051) @@ -82,7 +82,7 @@ } SearchFrame::SearchFrame(SmartWin::WidgetTabView* mdiParent, const tstring& initialString_, LONGLONG initialSize_, SearchManager::SizeModes initialMode_, SearchManager::TypeModes initialType_) : - BaseType(mdiParent, T_("Search"), SmartWin::IconPtr(new SmartWin::Icon(IDR_SEARCH))), + BaseType(mdiParent, T_("Search"), IDH_SEARCH, SmartWin::IconPtr(new SmartWin::Icon(IDR_SEARCH))), searchLabel(0), searchBox(0), purge(0), Modified: dcplusplus/trunk/win32/SettingsDialog.cpp =================================================================== --- dcplusplus/trunk/win32/SettingsDialog.cpp 2008-03-22 14:41:09 UTC (rev 1050) +++ dcplusplus/trunk/win32/SettingsDialog.cpp 2008-03-22 16:09:51 UTC (rev 1051) @@ -44,7 +44,7 @@ SettingsDialog::SettingsDialog(SmartWin::Widget* parent) : WidgetFactory<SmartWin::WidgetModalDialog>(parent), currentPage(0) { onInitDialog(std::tr1::bind(&SettingsDialog::initDialog, this)); - onHelp(std::tr1::bind(&SettingsDialog::handleHelp, this)); + onHelp(std::tr1::bind(&SettingsDialog::handleHelp, this, _1, _2)); } int SettingsDialog::run() { @@ -71,7 +71,7 @@ button = attachButton(IDHELP); button->setText(T_("Help")); - button->onClicked(std::tr1::bind(&SettingsDialog::handleHelp, this)); + button->onClicked(std::tr1::bind(&SettingsDialog::handleHelp, this, handle(), 0)); } addPage(T_("Personal information"), new GeneralPage(this)); @@ -93,17 +93,10 @@ return false; } -void SettingsDialog::handleHelp() { - UINT action; - DWORD id; - if(currentPage) { - action = HH_HELP_CONTEXT; +void SettingsDialog::handleHelp(HWND hWnd, unsigned id) { + if(id == 0 && currentPage) id = currentPage->getHelpId(); - } else { - action = HH_DISPLAY_TOC; - id = 0; - } - ::HtmlHelp(handle(), WinUtil::getHelpFile().c_str(), action, id); + WinUtil::help(hWnd, id); } void SettingsDialog::addPage(const tstring& title, PropPage* page) { Modified: dcplusplus/trunk/win32/SettingsDialog.h =================================================================== --- dcplusplus/trunk/win32/SettingsDialog.h 2008-03-22 14:41:09 UTC (rev 1050) +++ dcplusplus/trunk/win32/SettingsDialog.h 2008-03-22 16:09:51 UTC (rev 1051) @@ -42,7 +42,7 @@ void write(); bool initDialog(); - void handleHelp(); + void handleHelp(HWND hWnd, unsigned id); void handleOKClicked(); void selectionChanged(); void showPage(PropPage* page); Modified: dcplusplus/trunk/win32/SpyFrame.cpp =================================================================== --- dcplusplus/trunk/win32/SpyFrame.cpp 2008-03-22 14:41:09 UTC (rev 1050) +++ dcplusplus/trunk/win32/SpyFrame.cpp 2008-03-22 16:09:51 UTC (rev 1051) @@ -37,7 +37,7 @@ }; SpyFrame::SpyFrame(SmartWin::WidgetTabView* mdiParent) : - BaseType(mdiParent, T_("Search Spy"), IDR_SPY), + BaseType(mdiParent, T_("Search Spy"), IDH_SEARCH_SPY, IDR_SPY), searches(0), ignoreTTH(0), bIgnoreTTH(BOOLSETTING(SPY_FRAME_IGNORE_TTH_SEARCHES)), Modified: dcplusplus/trunk/win32/StaticFrame.h =================================================================== --- dcplusplus/trunk/win32/StaticFrame.h 2008-03-22 14:41:09 UTC (rev 1050) +++ dcplusplus/trunk/win32/StaticFrame.h 2008-03-22 16:09:51 UTC (rev 1051) @@ -27,8 +27,8 @@ class StaticFrame : public MDIChildFrame<T> { public: - StaticFrame(SmartWin::WidgetTabView* mdiClient, const tstring& title, int icon) : - MDIChildFrame<T>(mdiClient, title, SmartWin::IconPtr(new SmartWin::Icon(icon))) + StaticFrame(SmartWin::WidgetTabView* mdiClient, const tstring& title, unsigned helpId, int icon) : + MDIChildFrame<T>(mdiClient, title, helpId, SmartWin::IconPtr(new SmartWin::Icon(icon))) { } Modified: dcplusplus/trunk/win32/StatsFrame.cpp =================================================================== --- dcplusplus/trunk/win32/StatsFrame.cpp 2008-03-22 14:41:09 UTC (rev 1050) +++ dcplusplus/trunk/win32/StatsFrame.cpp 2008-03-22 16:09:51 UTC (rev 1051) @@ -24,7 +24,7 @@ #include <dcpp/TimerManager.h> StatsFrame::StatsFrame(SmartWin::WidgetTabView* mdiParent) : - BaseType(mdiParent, T_("Network Statistics"), IDR_NET_STATS), + BaseType(mdiParent, T_("Network Statistics"), IDH_NET_STATS, IDR_NET_STATS), pen(new SmartWin::Pen(WinUtil::textColor)), upPen(new SmartWin::Pen(SETTING(UPLOAD_BAR_COLOR))), downPen(new SmartWin::Pen(SETTING(DOWNLOAD_BAR_COLOR))), Modified: dcplusplus/trunk/win32/SystemFrame.cpp =================================================================== --- dcplusplus/trunk/win32/SystemFrame.cpp 2008-03-22 14:41:09 UTC (rev 1050) +++ dcplusplus/trunk/win32/SystemFrame.cpp 2008-03-22 16:09:51 UTC (rev 1051) @@ -23,7 +23,7 @@ #... [truncated message content] |
From: <arn...@us...> - 2008-03-22 14:41:14
|
Revision: 1050 http://dcplusplus.svn.sourceforge.net/dcplusplus/?rev=1050&view=rev Author: arnetheduck Date: 2008-03-22 07:41:09 -0700 (Sat, 22 Mar 2008) Log Message: ----------- Fix messages for subclassed windows Modified Paths: -------------- dcplusplus/trunk/smartwin/include/smartwin/Policies.h dcplusplus/trunk/smartwin/include/smartwin/Widget.h dcplusplus/trunk/win32/HubFrame.cpp dcplusplus/trunk/win32/MDIChildFrame.h Modified: dcplusplus/trunk/smartwin/include/smartwin/Policies.h =================================================================== --- dcplusplus/trunk/smartwin/include/smartwin/Policies.h 2008-03-21 20:03:18 UTC (rev 1049) +++ dcplusplus/trunk/smartwin/include/smartwin/Policies.h 2008-03-22 14:41:09 UTC (rev 1050) @@ -232,15 +232,12 @@ } virtual HWND create(const Widget::Seed& seed) { - attach(Widget::create(seed)); + HWND hWnd = Widget::create(seed); + oldProc = reinterpret_cast< WNDPROC >( ::SetWindowLongPtr( hWnd, GWL_WNDPROC, ( LONG_PTR ) &MessageMapPolicy<Subclassed>::wndProc ) ); + attach(hWnd); + return hWnd; } - virtual void attach(HWND hwnd) { - Normal::attach(hwnd); - oldProc = reinterpret_cast< WNDPROC >( ::SetWindowLongPtr( handle(), GWL_WNDPROC, ( LONG_PTR ) &MessageMapPolicy<Subclassed>::wndProc ) ); - } - using Normal::attach; - private: WNDPROC oldProc; }; Modified: dcplusplus/trunk/smartwin/include/smartwin/Widget.h =================================================================== --- dcplusplus/trunk/smartwin/include/smartwin/Widget.h 2008-03-21 20:03:18 UTC (rev 1049) +++ dcplusplus/trunk/smartwin/include/smartwin/Widget.h 2008-03-22 14:41:09 UTC (rev 1050) @@ -168,6 +168,16 @@ /** This will be called when it's time to delete the widget */ virtual void kill(); + /// Subclasses the dialog item with the given dialog item id + /** Subclasses a dialog item, the id is the dialog item id from the resource + * editor. <br> + * Should normally not be called directly but rather called from e.g. one of the + * creational functions found in the WidgetFactory class. + */ + void attach( unsigned id ); + + void attach(HWND wnd); + protected: Widget(Widget * parent); @@ -177,16 +187,6 @@ // derived class (with no parameters) virtual HWND create( const Seed & cs ); - virtual void attach(HWND wnd); - - /// Subclasses the dialog item with the given dialog item id - /** Subclasses a dialog item, the id is the dialog item id from the resource - * editor. <br> - * Should normally not be called directly but rather called from e.g. one of the - * creational functions found in the WidgetFactory class. - */ - void attach( unsigned id ); - private: friend class Application; template<typename T> friend T hwnd_cast(HWND hwnd); Modified: dcplusplus/trunk/win32/HubFrame.cpp =================================================================== --- dcplusplus/trunk/win32/HubFrame.cpp 2008-03-21 20:03:18 UTC (rev 1049) +++ dcplusplus/trunk/win32/HubFrame.cpp 2008-03-22 14:41:09 UTC (rev 1050) @@ -95,7 +95,7 @@ WidgetTextBox::Seed cs = WinUtil::Seeds::textBox; cs.style = WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_VSCROLL | ES_AUTOHSCROLL | ES_AUTOVSCROLL | ES_MULTILINE; message = createTextBox(cs); - addWidget(message, true); + addWidget(message, true, false); message->onRaw(std::tr1::bind(&HubFrame::handleMessageGetDlgCode, this), SmartWin::Message(WM_GETDLGCODE)); message->onKeyDown(std::tr1::bind(&HubFrame::handleMessageKeyDown, this, _1)); message->onChar(std::tr1::bind(&HubFrame::handleMessageChar, this, _1)); Modified: dcplusplus/trunk/win32/MDIChildFrame.h =================================================================== --- dcplusplus/trunk/win32/MDIChildFrame.h 2008-03-21 20:03:18 UTC (rev 1049) +++ dcplusplus/trunk/win32/MDIChildFrame.h 2008-03-22 14:41:09 UTC (rev 1050) @@ -89,9 +89,11 @@ void postClosing() { } template<typename W> - void addWidget(W* widget, bool alwaysFocus = false) { - addDlgCodeMessage(widget); - + void addWidget(W* widget, bool alwaysFocus = false, bool autoTab = true) { + if(autoTab) { + addDlgCodeMessage(widget); + } + addColor(widget); if(alwaysFocus || (lastFocus == NULL)) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <arn...@us...> - 2008-03-21 20:03:27
|
Revision: 1049 http://dcplusplus.svn.sourceforge.net/dcplusplus/?rev=1049&view=rev Author: arnetheduck Date: 2008-03-21 13:03:18 -0700 (Fri, 21 Mar 2008) Log Message: ----------- Change callback implementation Modified Paths: -------------- dcplusplus/trunk/smartwin/include/smartwin/Message.h dcplusplus/trunk/smartwin/include/smartwin/Policies.h dcplusplus/trunk/smartwin/include/smartwin/Widget.h dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectActivate.h dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectBackgroundColor.h dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectClickable.h dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectCommand.h dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectContextMenu.h dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectControl.h dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectDblClickable.h dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectDragDrop.h dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectEnabled.h dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectEraseBackground.h dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectFocus.h dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectHelp.h dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectKeyboard.h dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectMouse.h dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectPainting.h dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectRaw.h dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectScrollable.h dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectSelection.h dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectSizable.h dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectText.h dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectUpdate.h dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectVisible.h dcplusplus/trunk/smartwin/include/smartwin/widgets/WidgetDateTimePicker.h dcplusplus/trunk/smartwin/include/smartwin/widgets/WidgetListView.h dcplusplus/trunk/smartwin/include/smartwin/widgets/WidgetListViewEditBox.h dcplusplus/trunk/smartwin/include/smartwin/widgets/WidgetModalDialog.h dcplusplus/trunk/smartwin/include/smartwin/widgets/WidgetTabSheet.h dcplusplus/trunk/smartwin/include/smartwin/widgets/WidgetTextBox.h dcplusplus/trunk/smartwin/include/smartwin/widgets/WidgetTreeView.h dcplusplus/trunk/smartwin/include/smartwin/widgets/WidgetWindow.h dcplusplus/trunk/smartwin/include/smartwin/widgets/WidgetWindowBase.h dcplusplus/trunk/smartwin/source/Message.cpp dcplusplus/trunk/smartwin/source/Widget.cpp dcplusplus/trunk/smartwin/source/widgets/WidgetDialog.cpp dcplusplus/trunk/smartwin/source/widgets/WidgetMDIChild.cpp dcplusplus/trunk/smartwin/source/widgets/WidgetMDIParent.cpp dcplusplus/trunk/smartwin/source/widgets/WidgetMenu.cpp dcplusplus/trunk/smartwin/source/widgets/WidgetToolTip.cpp dcplusplus/trunk/smartwin/source/widgets/WidgetToolbar.cpp dcplusplus/trunk/win32/TypedListView.h dcplusplus/trunk/win32/TypedTreeView.h Modified: dcplusplus/trunk/smartwin/include/smartwin/Message.h =================================================================== --- dcplusplus/trunk/smartwin/include/smartwin/Message.h 2008-03-19 11:07:22 UTC (rev 1048) +++ dcplusplus/trunk/smartwin/include/smartwin/Message.h 2008-03-21 20:03:18 UTC (rev 1049) @@ -30,6 +30,8 @@ #include "WindowsHeaders.h" +#include <functional> + namespace SmartWin { // begin namespace SmartWin @@ -43,8 +45,6 @@ struct Message { public: - // Note! - // We're asserting this constructor comes from a setter for an event callback /// Constructor taking a System Message /** Use this one if you need to e.g. handle an AspectRaw::onRaw Event and the * only interesting parameter to figure out what Message to handle is the actual @@ -70,12 +70,12 @@ // forceValues will if false "manipulate" the values for easy comparison Message( const MSG& msg ); - ~Message() - {} + ~Message() { } bool operator<(const Message& rhs) const; bool operator==(const Message& rhs) const; private: + friend class std::tr1::hash<Message>; /// Contains the actual Message UINT msg; @@ -83,7 +83,20 @@ LPARAM param; }; +inline bool Message::operator==( const Message & right ) const { + return msg == right.msg && param == right.param; +} + // end namespace SmartWin } +namespace std { namespace tr1 { +template<> +struct hash<SmartWin::Message> { + size_t operator()(const SmartWin::Message& message) const { return message.msg * 31 + message.param; } +}; + +} } + + #endif Modified: dcplusplus/trunk/smartwin/include/smartwin/Policies.h =================================================================== --- dcplusplus/trunk/smartwin/include/smartwin/Policies.h 2008-03-19 11:07:22 UTC (rev 1048) +++ dcplusplus/trunk/smartwin/include/smartwin/Policies.h 2008-03-21 20:03:18 UTC (rev 1049) @@ -52,30 +52,21 @@ // Try to get the this pointer Widget* w = hwnd_cast<Widget*>(handler); - if(!w) { - if(handler != hwnd) { - Policy* p = hwnd_cast<Policy*>(hwnd); - if(p) { - return p->returnUnhandled(hwnd, uMsg, wParam, lParam); - } - } - return Policy::returnUnknown(hwnd, uMsg, wParam, lParam); - } + if(w) { #ifdef WINCE - if(uMsg == WM_DESTROY) { + if(uMsg == WM_DESTROY) { #else - if(uMsg == WM_NCDESTROY) { + if(uMsg == WM_NCDESTROY) { #endif - - w->kill(); - return Policy::returnDestroyed(hwnd, uMsg, wParam, lParam); - } - - LRESULT res = 0; - if(w->tryFire(msg, res)) { - return Policy::returnHandled(res, hwnd, uMsg, wParam, lParam); - } + w->kill(); + return Policy::returnDestroyed(hwnd, uMsg, wParam, lParam); + } + LRESULT res = 0; + if(w->tryFire(msg, res)) { + return Policy::returnHandled(res, hwnd, uMsg, wParam, lParam); + } + } Policy* p; if(handler != hwnd) { @@ -104,21 +95,10 @@ handler = reinterpret_cast<HWND>(lParam); } break; - case WM_DRAWITEM : { - /// @todo Not sure who should handle these.... - handler = hwnd; - } break; case WM_NOTIFY : { NMHDR* nmhdr = reinterpret_cast<NMHDR*>(lParam); handler = nmhdr->hwndFrom; } break; - /// @todo Not sure who should handle these.... - case WM_HSCROLL : - case WM_VSCROLL : - case WM_MEASUREITEM : - case WM_INITMENUPOPUP : { - handler = hwnd; - } break; case WM_COMMAND: { if(lParam != 0) { handler = reinterpret_cast<HWND>(lParam); @@ -144,7 +124,6 @@ : public Widget { public: - // Note; SmartWin::Widget won't actually be initialized here because of the virtual inheritance Dialog(Widget* parent) : Widget(parent) { } static LRESULT returnDestroyed(HWND hWnd, UINT msg, WPARAM wPar, LPARAM lPar) { @@ -180,9 +159,8 @@ if ( uMsg == WM_INITDIALOG ) { // extracting the this pointer and stuffing it into the Window with SetProp - Widget* This = static_cast<Widget*>(reinterpret_cast< Widget * >( lParam )); - This->setHandle( hwnd ); - This->setProp(); + Dialog* This = reinterpret_cast<Dialog*>(lParam); + This->attach( hwnd ); } } }; @@ -236,9 +214,8 @@ if ( uMsg == WM_NCCREATE ) { // extracting the this pointer and stuffing it into the Window with SetProp CREATESTRUCT * cs = reinterpret_cast< CREATESTRUCT * >( lParam ); - Widget* This = static_cast<Widget*>(reinterpret_cast< Widget * >( cs->lpCreateParams )); - This->setHandle( hWnd ); - This->setProp(); + Normal* This = reinterpret_cast<Normal*>( cs->lpCreateParams ); + This->attach( hWnd ); } } }; @@ -254,29 +231,15 @@ return Normal::returnUnhandled(hWnd, msg, wPar, lPar); } - virtual void attach( unsigned id ) { - Normal::attach(id); - createMessageMap(); + virtual HWND create(const Widget::Seed& seed) { + attach(Widget::create(seed)); } - - void create( const Widget::Seed & cs) { - Normal::create(cs); - createMessageMap(); - } virtual void attach(HWND hwnd) { Normal::attach(hwnd); - createMessageMap(); + oldProc = reinterpret_cast< WNDPROC >( ::SetWindowLongPtr( handle(), GWL_WNDPROC, ( LONG_PTR ) &MessageMapPolicy<Subclassed>::wndProc ) ); } - - /// Call this function from your overridden create() if you add a new Widget to - /// make the Windows Message Procedure dispatching map right. - void createMessageMap() { - if(!oldProc) { - setProp(); - oldProc = reinterpret_cast< WNDPROC >( ::SetWindowLongPtr( handle(), GWL_WNDPROC, ( LONG_PTR ) &MessageMapPolicy<Subclassed>::wndProc ) ); - } - } + using Normal::attach; private: WNDPROC oldProc; @@ -330,9 +293,8 @@ CREATESTRUCT * cs = reinterpret_cast< CREATESTRUCT * >( lParam ); MDICREATESTRUCT * mcs = reinterpret_cast< MDICREATESTRUCT*>(cs->lpCreateParams); - Widget* This = static_cast<Widget*>(reinterpret_cast< Widget * >( mcs->lParam )); - This->setHandle( hWnd ); - This->setProp(); + MDIChild* This = reinterpret_cast<MDIChild*>(mcs->lParam); + This->attach(hWnd); } } }; @@ -356,8 +318,9 @@ WidgetType* This = static_cast<WidgetType*>(this); if(!handled && msg.message == WM_COMMAND && This->getMDIParent()) { Widget* active = hwnd_cast<Widget*>(This->getMDIParent()->getActive()); - if(active) + if(active) { handled = active->tryFire(msg, retVal); + } } return handled; } Modified: dcplusplus/trunk/smartwin/include/smartwin/Widget.h =================================================================== --- dcplusplus/trunk/smartwin/include/smartwin/Widget.h 2008-03-19 11:07:22 UTC (rev 1048) +++ dcplusplus/trunk/smartwin/include/smartwin/Widget.h 2008-03-21 20:03:18 UTC (rev 1049) @@ -35,8 +35,9 @@ #include <boost/noncopyable.hpp> #include <memory> +#include <list> #include <functional> -#include <map> +#include <tr1/unordered_map> namespace SmartWin { @@ -108,27 +109,23 @@ * If you need to do directly manipulation of the window use this function to * retrieve the HWND of the Widget. */ - HWND handle() const { return itsHandle; } + HWND handle() const; /// Send a message to the Widget /** If you need to be able to send a message to a Widget then use this function * as it will unroll into <br> * a ::SendMessage from the Windows API */ - LRESULT sendMessage( UINT msg, WPARAM wParam = 0, LPARAM lParam = 0 ) const { - return ::SendMessage(handle(), msg, wParam, lParam); - } + LRESULT sendMessage( UINT msg, WPARAM wParam = 0, LPARAM lParam = 0) const; - bool postMessage(UINT msg, WPARAM wParam = 0, LPARAM lParam = 0) const { - return ::PostMessage(handle(), msg, wParam, lParam); - } + bool postMessage(UINT msg, WPARAM wParam = 0, LPARAM lParam = 0) const; /// Returns the parent Widget of the Widget /** Most Widgets have got a parent, this function will retrieve a pointer to the * Widgets parent, if the Widget doesn't have a parent it will return a null * pointer. */ - Widget * getParent() const { return itsParent; } + Widget* getParent() const; /// Repaints the whole window /** Invalidate the window and repaints it. @@ -155,20 +152,15 @@ * style (if true add style, else remove) */ void addRemoveExStyle( DWORD addStyle, bool add ); - - void setProp() { ::SetProp(handle(), propAtom, reinterpret_cast<HANDLE>(this) ); } typedef std::tr1::function<bool(const MSG& msg, LRESULT& ret)> CallbackType; + typedef std::list<CallbackType> CallbackList; + typedef std::tr1::unordered_map<Message, CallbackList> CallbackCollectionType; - // We only support one Callback per message, so a map is appropriate - typedef std::map<Message, CallbackType> CallbackCollectionType; - - /// Adds a new Callback into the Callback collection or replaces the existing one - void setCallback(const Message& msg, const CallbackType& callback ); + /// Adds a new callback - multiple callbacks for the same message will be called in the order they were added + void addCallback(const Message& msg, const CallbackType& callback ); - CallbackCollectionType & getCallbacks() { - return itsCallbacks; - } + CallbackCollectionType & getCallbacks(); /// Returns true if fired, else false virtual bool tryFire( const MSG & msg, LRESULT & retVal ); @@ -176,16 +168,14 @@ /** This will be called when it's time to delete the widget */ virtual void kill(); - void setHandle(HWND hWnd) { itsHandle = hWnd; } - protected: - Widget( Widget * parent, HWND hWnd = NULL ); + Widget(Widget * parent); virtual ~Widget(); // Creates the Widget, should NOT be called directly but overridden in the // derived class (with no parameters) - void create( const Seed & cs ); + virtual HWND create( const Seed & cs ); virtual void attach(HWND wnd); @@ -195,26 +185,50 @@ * Should normally not be called directly but rather called from e.g. one of the * creational functions found in the WidgetFactory class. */ - virtual void attach( unsigned id ); + void attach( unsigned id ); private: friend class Application; template<typename T> friend T hwnd_cast(HWND hwnd); - HWND itsHandle; - Widget * itsParent; - // Contains the list of signals we're (this window) processing CallbackCollectionType itsCallbacks; - /// The ATOM with which the pointer to the MessageMapBase is registered on the HWND + Widget * itsParent; + HWND itsHandle; + + /// The atom with which the pointer to the MessageMapBase is registered on the HWND static GlobalAtom propAtom; }; +inline Widget::Widget( Widget * parent ) : itsParent(parent), itsHandle(NULL) { + +} + +inline LRESULT Widget::sendMessage( UINT msg, WPARAM wParam, LPARAM lParam) const { + return ::SendMessage(handle(), msg, wParam, lParam); +} + +inline bool Widget::postMessage(UINT msg, WPARAM wParam, LPARAM lParam) const { + return ::PostMessage(handle(), msg, wParam, lParam); +} + +inline HWND Widget::handle() const { + return itsHandle; +} + +inline Widget* Widget::getParent() const { + return itsParent; +} + inline bool Widget::hasStyle(DWORD style) { return (::GetWindowLong(this->handle(), GWL_STYLE) & style) == style; } +inline Widget::CallbackCollectionType& Widget::getCallbacks() { + return itsCallbacks; +} + template<typename T> T hwnd_cast(HWND hwnd) { Widget* w = reinterpret_cast<Widget*>(::GetProp(hwnd, Widget::propAtom)); Modified: dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectActivate.h =================================================================== --- dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectActivate.h 2008-03-19 11:07:22 UTC (rev 1048) +++ dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectActivate.h 2008-03-21 20:03:18 UTC (rev 1049) @@ -76,7 +76,7 @@ * Parameter passed is bool */ void onActivate(const typename Dispatcher::F& f) { - static_cast<WidgetType*>(this)->setCallback( + static_cast<WidgetType*>(this)->addCallback( Message(WM_ACTIVATE), Dispatcher(f) ); } Modified: dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectBackgroundColor.h =================================================================== --- dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectBackgroundColor.h 2008-03-19 11:07:22 UTC (rev 1048) +++ dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectBackgroundColor.h 2008-03-21 20:03:18 UTC (rev 1049) @@ -78,7 +78,7 @@ */ void onBackgroundColor(const typename Dispatcher::F& f) { WidgetType* This = static_cast<WidgetType*>(this); - This->setCallback( + This->addCallback( This->getBackgroundColorMessage(), Dispatcher(f, This ) ); } Modified: dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectClickable.h =================================================================== --- dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectClickable.h 2008-03-19 11:07:22 UTC (rev 1048) +++ dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectClickable.h 2008-03-21 20:03:18 UTC (rev 1049) @@ -54,7 +54,7 @@ * something else. No parameters are passed. */ void onClicked(const typename Dispatcher::F& f) { - static_cast<WidgetType*>(this)->setCallback( + static_cast<WidgetType*>(this)->addCallback( static_cast<WidgetType*>(this)->getClickMessage(), Dispatcher(f) ); } Modified: dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectCommand.h =================================================================== --- dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectCommand.h 2008-03-19 11:07:22 UTC (rev 1048) +++ dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectCommand.h 2008-03-21 20:03:18 UTC (rev 1049) @@ -10,19 +10,19 @@ typedef Dispatchers::VoidVoid<> Dispatcher; public: void onCommand(const Dispatcher::F& f, unsigned id) { - static_cast<WidgetType*>(this)->setCallback( + static_cast<WidgetType*>(this)->addCallback( Message(WM_COMMAND, id), Dispatcher(f) ); } void onCommand(const Dispatcher::F& f, unsigned controlId, unsigned code) { - static_cast<WidgetType*>(this)->setCallback( + static_cast<WidgetType*>(this)->addCallback( Message(WM_COMMAND, MAKEWPARAM(controlId, code)), Dispatcher(f) ); } void onSysCommand(const Dispatcher::F& f, unsigned id) { - static_cast<WidgetType*>(this)->setCallback( + static_cast<WidgetType*>(this)->addCallback( Message(WM_SYSCOMMAND, id), Dispatcher(f) ); } Modified: dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectContextMenu.h =================================================================== --- dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectContextMenu.h 2008-03-19 11:07:22 UTC (rev 1048) +++ dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectContextMenu.h 2008-03-21 20:03:18 UTC (rev 1049) @@ -22,7 +22,7 @@ public: void onContextMenu(const typename Dispatcher::F& f) { - static_cast<WidgetType*>(this)->setCallback( + static_cast<WidgetType*>(this)->addCallback( Message( WM_CONTEXTMENU ), Dispatcher(f) ); } Modified: dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectControl.h =================================================================== --- dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectControl.h 2008-03-19 11:07:22 UTC (rev 1048) +++ dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectControl.h 2008-03-21 20:03:18 UTC (rev 1049) @@ -39,7 +39,7 @@ unsigned int getControlId(); - void create(const Seed& cs); + virtual HWND create(const Seed& cs); protected: typedef AspectControl<WidgetType> ControlType; @@ -52,9 +52,9 @@ } template<typename WidgetType> -void AspectControl<WidgetType>::create(const Seed& cs) { +HWND AspectControl<WidgetType>::create(const Seed& cs) { xAssert((cs.style & WS_CHILD) == WS_CHILD, _T("Common controls must have WS_CHILD style")); - PolicyType::create(cs); + return PolicyType::create(cs); } template<typename WidgetType> Modified: dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectDblClickable.h =================================================================== --- dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectDblClickable.h 2008-03-19 11:07:22 UTC (rev 1048) +++ dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectDblClickable.h 2008-03-21 20:03:18 UTC (rev 1049) @@ -52,7 +52,7 @@ */ void onDblClicked(const Dispatcher::F& f) { - static_cast<WidgetType*>(this)->setCallback( + static_cast<WidgetType*>(this)->addCallback( WidgetType::getDblClickMessage(), Dispatcher(f) ); } Modified: dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectDragDrop.h =================================================================== --- dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectDragDrop.h 2008-03-19 11:07:22 UTC (rev 1048) +++ dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectDragDrop.h 2008-03-21 20:03:18 UTC (rev 1049) @@ -90,7 +90,7 @@ * } */ void onDragDrop(const typename Dispatcher::F& f) { - static_cast<WidgetType*>(this)->setCallback( + static_cast<WidgetType*>(this)->addCallback( Message( WM_DROPFILES ), Dispatcher(f) ); } Modified: dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectEnabled.h =================================================================== --- dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectEnabled.h 2008-03-19 11:07:22 UTC (rev 1048) +++ dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectEnabled.h 2008-03-21 20:03:18 UTC (rev 1049) @@ -84,7 +84,7 @@ * No parameters are passed. */ void onEnabled(const typename Dispatcher::F& f) { - static_cast<WidgetType*>(this)->setCallback( + static_cast<WidgetType*>(this)->addCallback( Message( WM_ENABLE ), Dispatcher(f) ); } Modified: dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectEraseBackground.h =================================================================== --- dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectEraseBackground.h 2008-03-19 11:07:22 UTC (rev 1048) +++ dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectEraseBackground.h 2008-03-21 20:03:18 UTC (rev 1049) @@ -70,13 +70,13 @@ * background property of the Widget. */ void onEraseBackground(const typename Dispatcher::F& f) { - static_cast<WidgetType*>(this)->setCallback( + static_cast<WidgetType*>(this)->addCallback( Message( WM_ERASEBKGND ), Dispatcher(f, static_cast<WidgetType*>(this) ) ); } void noEraseBackground() { - static_cast<WidgetType*>(this)->setCallback( + static_cast<WidgetType*>(this)->addCallback( Message( WM_ERASEBKGND ), &AspectEraseBackground<WidgetType>::noEraseDispatcher ); } Modified: dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectFocus.h =================================================================== --- dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectFocus.h 2008-03-19 11:07:22 UTC (rev 1048) +++ dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectFocus.h 2008-03-21 20:03:18 UTC (rev 1049) @@ -68,7 +68,7 @@ * parameters are passed. */ void onKillFocus(const typename KillFocusDispatcher::F& f) { - static_cast<WidgetType*>(this)->setCallback( + static_cast<WidgetType*>(this)->addCallback( Message( WM_KILLFOCUS ), KillFocusDispatcher(f) ); } @@ -79,7 +79,7 @@ * parameters are passed. */ void onFocus(const typename FocusDispatcher::F& f) { - static_cast<WidgetType*>(this)->setCallback( + static_cast<WidgetType*>(this)->addCallback( Message( WM_SETFOCUS ), FocusDispatcher(f) ); } Modified: dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectHelp.h =================================================================== --- dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectHelp.h 2008-03-19 11:07:22 UTC (rev 1048) +++ dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectHelp.h 2008-03-21 20:03:18 UTC (rev 1049) @@ -9,7 +9,7 @@ public: void onHelp(const typename Dispatcher::F& f) { - static_cast<WidgetType*>(this)->setCallback( + static_cast<WidgetType*>(this)->addCallback( Message( WM_HELP ), Dispatcher(f) ); } Modified: dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectKeyboard.h =================================================================== --- dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectKeyboard.h 2008-03-19 11:07:22 UTC (rev 1048) +++ dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectKeyboard.h 2008-03-21 20:03:18 UTC (rev 1049) @@ -157,7 +157,7 @@ {} void onKey(UINT msg, const typename Dispatcher::F& f) { - static_cast<WidgetType*>(this)->setCallback( + static_cast<WidgetType*>(this)->addCallback( Message( msg ), Dispatcher(f) ); } Modified: dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectMouse.h =================================================================== --- dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectMouse.h 2008-03-19 11:07:22 UTC (rev 1048) +++ dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectMouse.h 2008-03-21 20:03:18 UTC (rev 1049) @@ -196,7 +196,7 @@ protected: void onMouse(UINT msg, const typename Dispatcher::F& f) { - static_cast<WidgetType*>(this)->setCallback( + static_cast<WidgetType*>(this)->addCallback( Message( msg ), Dispatcher(f) ); } Modified: dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectPainting.h =================================================================== --- dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectPainting.h 2008-03-19 11:07:22 UTC (rev 1048) +++ dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectPainting.h 2008-03-21 20:03:18 UTC (rev 1049) @@ -66,7 +66,7 @@ * Parameters passed is Canvas & */ void onPainting(const typename Dispatcher::F& f) { - static_cast<WidgetType*>(this)->setCallback( + static_cast<WidgetType*>(this)->addCallback( Message( WM_PAINT ), Dispatcher(f, static_cast<WidgetType*>(this) ) ); } Modified: dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectRaw.h =================================================================== --- dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectRaw.h 2008-03-19 11:07:22 UTC (rev 1048) +++ dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectRaw.h 2008-03-21 20:03:18 UTC (rev 1049) @@ -80,7 +80,7 @@ /// WARNING, this function uses the natural wparam/lparam order, not the inverted that previous /// smartwin versions did. The two functions above emulate the old behaviour though... void onRaw(const typename Dispatcher::F& f, const Message & msg) { - static_cast<WidgetType*>(this)->setCallback( + static_cast<WidgetType*>(this)->addCallback( msg, Dispatcher(f) ); } Modified: dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectScrollable.h =================================================================== --- dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectScrollable.h 2008-03-19 11:07:22 UTC (rev 1048) +++ dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectScrollable.h 2008-03-21 20:03:18 UTC (rev 1049) @@ -54,7 +54,7 @@ * No parameters are passed. */ void onScrollHorz(const Dispatcher::F& f) { - static_cast<WidgetType*>(this)->setCallback( + static_cast<WidgetType*>(this)->addCallback( Message( WM_HSCROLL ), Dispatcher(f) ); } @@ -67,7 +67,7 @@ * No parameters are passed. */ void onScrollVert(const Dispatcher::F& f) { - static_cast<WidgetType*>(this)->setCallback( + static_cast<WidgetType*>(this)->addCallback( Message( WM_VSCROLL ), Dispatcher(f) ); } Modified: dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectSelection.h =================================================================== --- dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectSelection.h 2008-03-19 11:07:22 UTC (rev 1048) +++ dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectSelection.h 2008-03-21 20:03:18 UTC (rev 1049) @@ -64,7 +64,7 @@ * No parameters are passed. */ void onSelectionChanged(const typename Dispatcher::F& f) { - static_cast<WidgetType*>(this)->setCallback( + static_cast<WidgetType*>(this)->addCallback( static_cast<WidgetType*>(this)->getSelectionChangedMessage(), Dispatcher(f) ); } Modified: dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectSizable.h =================================================================== --- dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectSizable.h 2008-03-19 11:07:22 UTC (rev 1048) +++ dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectSizable.h 2008-03-21 20:03:18 UTC (rev 1049) @@ -295,7 +295,7 @@ * information. */ void onSized(const typename SizeDispatcher::F& f) { - static_cast<WidgetType*>(this)->setCallback( + static_cast<WidgetType*>(this)->addCallback( Message( WM_SIZE ), SizeDispatcher(f) ); } @@ -306,7 +306,7 @@ * passed is Point which is the new position of the Widget */ void onMoved(const typename MoveDispatcher::F& f) { - static_cast<WidgetType*>(this)->setCallback( + static_cast<WidgetType*>(this)->addCallback( Message( WM_MOVE ), MoveDispatcher(f) ); } Modified: dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectText.h =================================================================== --- dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectText.h 2008-03-19 11:07:22 UTC (rev 1048) +++ dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectText.h 2008-03-21 20:03:18 UTC (rev 1049) @@ -88,7 +88,7 @@ * Widget. */ void onTextChanging(const typename Dispatcher::F& f) { - static_cast<WidgetType*>(this)->setCallback( + static_cast<WidgetType*>(this)->addCallback( Message( WM_SETTEXT ), Dispatcher(f) ); } Modified: dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectUpdate.h =================================================================== --- dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectUpdate.h 2008-03-19 11:07:22 UTC (rev 1048) +++ dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectUpdate.h 2008-03-21 20:03:18 UTC (rev 1049) @@ -52,7 +52,7 @@ /** When the Widget value/text is being updated this event will be raised. */ void onUpdate(const Dispatcher::F& f) { - static_cast<WidgetType*>(this)->setCallback( + static_cast<WidgetType*>(this)->addCallback( WidgetType::getUpdateMessage(), Dispatcher(f) ); } Modified: dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectVisible.h =================================================================== --- dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectVisible.h 2008-03-19 11:07:22 UTC (rev 1048) +++ dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectVisible.h 2008-03-21 20:03:18 UTC (rev 1049) @@ -81,7 +81,7 @@ * invisible. */ void onVisibilityChanged(const typename Dispatcher::F& f) { - static_cast<WidgetType*>(this)->setCallback( + static_cast<WidgetType*>(this)->addCallback( Message( WM_SHOWWINDOW ), Dispatcher(f) ); } Modified: dcplusplus/trunk/smartwin/include/smartwin/widgets/WidgetDateTimePicker.h =================================================================== --- dcplusplus/trunk/smartwin/include/smartwin/widgets/WidgetDateTimePicker.h 2008-03-19 11:07:22 UTC (rev 1048) +++ dcplusplus/trunk/smartwin/include/smartwin/widgets/WidgetDateTimePicker.h 2008-03-21 20:03:18 UTC (rev 1049) @@ -116,7 +116,7 @@ * when the WidgetDateTimePicker date value is changed. */ void onDateTimeChanged(const Dispatcher::F& f) { - setCallback( + addCallback( Message( WM_NOTIFY, DTN_DATETIMECHANGE ), Dispatcher(f) ); } Modified: dcplusplus/trunk/smartwin/include/smartwin/widgets/WidgetListView.h =================================================================== --- dcplusplus/trunk/smartwin/include/smartwin/widgets/WidgetListView.h 2008-03-19 11:07:22 UTC (rev 1048) +++ dcplusplus/trunk/smartwin/include/smartwin/widgets/WidgetListView.h 2008-03-21 20:03:18 UTC (rev 1049) @@ -591,7 +591,7 @@ if ( this->getReadOnly() ) this->setReadOnly( false ); MessageMapType * ptrThis = boost::polymorphic_cast< MessageMapType * >( this ); - ptrThis->setCallback( + ptrThis->addCallback( typename MessageMapType::SignalTupleType( private_::SignalContent( Message( WM_NOTIFY, LVN_ENDLABELEDIT ), @@ -610,7 +610,7 @@ if ( this->getReadOnly() ) this->setReadOnly( false ); MessageMapType * ptrThis = boost::polymorphic_cast< MessageMapType * >( this ); - ptrThis->setCallback( + ptrThis->addCallback( typename MessageMapType::SignalTupleType( private_::SignalContent( Message( WM_NOTIFY, LVN_ENDLABELEDIT ), @@ -628,7 +628,7 @@ void WidgetListView::onCustomPainting( typename MessageMapControl< EventHandlerClass, WidgetListView >::itsVoidUnsignedUnsignedBoolCanvasRectangle eventHandler ) { MessageMapType * ptrThis = boost::polymorphic_cast< MessageMapType * >( this ); - ptrThis->setCallback( + ptrThis->addCallback( typename MessageMapType::SignalTupleType( private_::SignalContent( Message( WM_NOTIFY, NM_CUSTOMDRAW ), @@ -646,7 +646,7 @@ void WidgetListView::onCustomPainting( typename MessageMapControl< EventHandlerClass, WidgetListView >::voidUnsignedUnsignedBoolCanvasRectangle eventHandler ) { MessageMapType * ptrThis = boost::polymorphic_cast< MessageMapType * >( this ); - ptrThis->setCallback( + ptrThis->addCallback( typename MessageMapType::SignalTupleType( private_::SignalContent( Message( WM_NOTIFY, NM_CUSTOMDRAW ), @@ -662,7 +662,7 @@ #endif inline void WidgetListView::onColumnClick( const HeaderDispatcher::F& f ) { - this->setCallback( + this->addCallback( Message( WM_NOTIFY, LVN_COLUMNCLICK ), HeaderDispatcher(f) ); } Modified: dcplusplus/trunk/smartwin/include/smartwin/widgets/WidgetListViewEditBox.h =================================================================== --- dcplusplus/trunk/smartwin/include/smartwin/widgets/WidgetListViewEditBox.h 2008-03-19 11:07:22 UTC (rev 1048) +++ dcplusplus/trunk/smartwin/include/smartwin/widgets/WidgetListViewEditBox.h 2008-03-21 20:03:18 UTC (rev 1049) @@ -49,8 +49,6 @@ // Object type typedef ThisType * ObjectType; - void createSubclass( HWND hWnd ); - explicit ListViewEditBox( SmartWin::Widget * parent ); virtual ~ListViewEditBox() @@ -69,11 +67,6 @@ xAssert( parent, _T( "Cant have a TextBox without a parent..." ) ); } -inline void ListViewEditBox::createSubclass( HWND hWnd ) -{ - setHandle(hWnd); - this->createMessageMap(); -} #ifdef PORT_ME template< class EventHandlerClass > LRESULT ListViewEditBox< EventHandlerClass >::sendWidgetMessage( HWND hWnd, UINT msg, WPARAM & wPar, LPARAM & lPar ) Modified: dcplusplus/trunk/smartwin/include/smartwin/widgets/WidgetModalDialog.h =================================================================== --- dcplusplus/trunk/smartwin/include/smartwin/widgets/WidgetModalDialog.h 2008-03-19 11:07:22 UTC (rev 1048) +++ dcplusplus/trunk/smartwin/include/smartwin/widgets/WidgetModalDialog.h 2008-03-21 20:03:18 UTC (rev 1049) @@ -134,7 +134,7 @@ * controls! */ void onInitDialog(const Dispatcher::F& f) { - setCallback( + addCallback( Message( WM_INITDIALOG ), Dispatcher(f) ); } Modified: dcplusplus/trunk/smartwin/include/smartwin/widgets/WidgetTabSheet.h =================================================================== --- dcplusplus/trunk/smartwin/include/smartwin/widgets/WidgetTabSheet.h 2008-03-19 11:07:22 UTC (rev 1048) +++ dcplusplus/trunk/smartwin/include/smartwin/widgets/WidgetTabSheet.h 2008-03-21 20:03:18 UTC (rev 1049) @@ -142,13 +142,13 @@ * validation of fields etc...) */ void onSelectionChanging(const ChangingDispatcher::F& f) { - setCallback( + addCallback( Message( WM_NOTIFY, TCN_SELCHANGING ), ChangingDispatcher(f, this ) ); } void onSelectionChanged(const ChangedDispatcher::F& f) { - setCallback( + addCallback( Message( WM_NOTIFY, TCN_SELCHANGE ), ChangedDispatcher(f, this ) ); } Modified: dcplusplus/trunk/smartwin/include/smartwin/widgets/WidgetTextBox.h =================================================================== --- dcplusplus/trunk/smartwin/include/smartwin/widgets/WidgetTextBox.h 2008-03-19 11:07:22 UTC (rev 1048) +++ dcplusplus/trunk/smartwin/include/smartwin/widgets/WidgetTextBox.h 2008-03-21 20:03:18 UTC (rev 1049) @@ -368,7 +368,7 @@ } inline void WidgetTextBoxBase::onTextChanged( const Dispatcher::F& f ) { - this->setCallback( + this->addCallback( Message( WM_COMMAND, MAKEWPARAM(this->getControlId(), EN_CHANGE) ), Dispatcher(f) ); } Modified: dcplusplus/trunk/smartwin/include/smartwin/widgets/WidgetTreeView.h =================================================================== --- dcplusplus/trunk/smartwin/include/smartwin/widgets/WidgetTreeView.h 2008-03-19 11:07:22 UTC (rev 1048) +++ dcplusplus/trunk/smartwin/include/smartwin/widgets/WidgetTreeView.h 2008-03-21 20:03:18 UTC (rev 1049) @@ -256,7 +256,7 @@ * updated or false if you want to disallow the item to actually become updated! */ void onValidateEditLabels(const Dispatcher::F& f) { - setCallback( + addCallback( Message( WM_NOTIFY, TVN_ENDLABELEDIT ), Dispatcher(f) ); } Modified: dcplusplus/trunk/smartwin/include/smartwin/widgets/WidgetWindow.h =================================================================== --- dcplusplus/trunk/smartwin/include/smartwin/widgets/WidgetWindow.h 2008-03-19 11:07:22 UTC (rev 1048) +++ dcplusplus/trunk/smartwin/include/smartwin/widgets/WidgetWindow.h 2008-03-21 20:03:18 UTC (rev 1049) @@ -144,7 +144,7 @@ * can add/remove styles and add remove EX styles etc. */ void onCreate(const CreateDispatcher::F& f) { - setCallback( + addCallback( Message( WM_CREATE ), CreateDispatcher(f) ); } Modified: dcplusplus/trunk/smartwin/include/smartwin/widgets/WidgetWindowBase.h =================================================================== --- dcplusplus/trunk/smartwin/include/smartwin/widgets/WidgetWindowBase.h 2008-03-19 11:07:22 UTC (rev 1048) +++ dcplusplus/trunk/smartwin/include/smartwin/widgets/WidgetWindowBase.h 2008-03-21 20:03:18 UTC (rev 1049) @@ -167,7 +167,7 @@ * the window is NOT allowed to actually close!! */ void onClosing(const typename CloseDispatcher::F& f) { - this->setCallback( + this->addCallback( Message( WM_CLOSE ), CloseDispatcher(f, this) ); } @@ -269,7 +269,7 @@ { ::SetTimer( this->handle(), id, static_cast< UINT >( milliSecond ), NULL); - setCallback( + addCallback( Message( WM_TIMER, id ), TimerDispatcher(f) ); } Modified: dcplusplus/trunk/smartwin/source/Message.cpp =================================================================== --- dcplusplus/trunk/smartwin/source/Message.cpp 2008-03-19 11:07:22 UTC (rev 1048) +++ dcplusplus/trunk/smartwin/source/Message.cpp 2008-03-21 20:03:18 UTC (rev 1049) @@ -54,27 +54,22 @@ } } -Message::Message(const MSG& msg_ ) - : msg(msg_.message), +Message::Message(const MSG& msg_ ) : + msg(msg_.message), param( 0 ) { - switch ( msg ) - { - case WM_NOTIFY : - { + switch ( msg ) { + case WM_NOTIFY: { NMHDR * ptrOriginal = reinterpret_cast< NMHDR * >( msg_.lParam ); param = ptrOriginal->code; } break; - case WM_SYSCOMMAND : { - param = msg_.wParam & 0xfff0; - break; - } - case WM_TIMER: - { + case WM_SYSCOMMAND: { + param = msg_.wParam & 0xfff0; + } break; + case WM_TIMER: { param = msg_.wParam; } break; - case WM_COMMAND : - { + case WM_COMMAND: { if(msg_.lParam == 0) { param = LOWORD( msg_.wParam ); } else { @@ -84,10 +79,10 @@ } } -bool Message::operator <( const Message & right ) const -{ - if ( msg < right.msg ) +bool Message::operator <( const Message & right ) const { + if ( msg < right.msg ) { return true; + } if(msg == right.msg && param < right.param) { return true; @@ -95,9 +90,5 @@ return false; } -bool Message::operator == ( const Message & right ) const { - return msg == right.msg && param == right.param; -} - // end namespace SmartWin } Modified: dcplusplus/trunk/smartwin/source/Widget.cpp =================================================================== --- dcplusplus/trunk/smartwin/source/Widget.cpp 2008-03-19 11:07:22 UTC (rev 1048) +++ dcplusplus/trunk/smartwin/source/Widget.cpp 2008-03-21 20:03:18 UTC (rev 1049) @@ -47,25 +47,18 @@ { // begin namespace SmartWin -Widget::Widget( Widget * parent, HWND hWnd ) : - itsHandle( hWnd ), - itsParent( parent ) -{ +Widget::~Widget() { + } -Widget::~Widget() -{ -} - // Subclasses a dialog item inside a dialog, usually used in combination with Dialog resources. -void Widget::attach( unsigned id ) -{ +void Widget::attach( unsigned id ) { if ( !itsParent ) throw xCeption( _T( "Can't attach a Widget without a parent..." ) ); - itsHandle = ::GetDlgItem( itsParent->handle(), id ); - if ( !itsHandle ) + HWND hWnd = ::GetDlgItem( itsParent->handle(), id ); + if ( !hWnd ) throw xCeption( _T( "GetDlgItem failed." ) ); - + attach(hWnd); } void Widget::updateWidget() @@ -74,19 +67,16 @@ ::UpdateWindow( itsHandle ); } -void Widget::invalidateWidget() -{ +void Widget::invalidateWidget() { ::InvalidateRect( itsHandle, 0, TRUE ); } -void Widget::kill() -{ +void Widget::kill() { delete this; } -void Widget::create( const Seed & cs ) -{ - itsHandle = ::CreateWindowEx( cs.exStyle, +HWND Widget::create( const Seed & cs ) { + HWND hWnd = ::CreateWindowEx( cs.exStyle, cs.className, cs.caption.c_str(), cs.style, @@ -96,15 +86,19 @@ Application::instance().getAppHandle(), reinterpret_cast< LPVOID >( this ) ); - if ( !itsHandle ) - { + if (!hWnd) { // The most common error is to forget WS_CHILD in the styles throw xCeption( _T( "CreateWindowEx in Widget::create fizzled ..." ) ); } + return hWnd; } void Widget::attach(HWND hwnd) { + if(itsHandle) { + throw xCeption(_T("You may not attach to a widget that's already attached")); + } itsHandle = hwnd; + ::SetProp(hwnd, propAtom, reinterpret_cast<HANDLE>(this) ); } void Widget::addRemoveStyle( DWORD addStyle, bool add ) @@ -157,14 +151,8 @@ GlobalAtom Widget::propAtom(_T("SmartWin::Widget*")); -void Widget::setCallback( const Message& msg, const CallbackType& callback ) -{ - CallbackCollectionType::iterator i = itsCallbacks.find(msg); - if(i == itsCallbacks.end()) { - itsCallbacks.insert(std::make_pair(msg, callback)); - } else { - i->second = callback; - } +void Widget::addCallback( const Message& msg, const CallbackType& callback ) { + itsCallbacks[msg].push_back(callback); } bool Widget::tryFire( const MSG & msg, LRESULT & retVal ) { @@ -172,7 +160,12 @@ Message msgComparer( msg ); CallbackCollectionType::iterator i = itsCallbacks.find(msgComparer); if(i != itsCallbacks.end()) { - return i->second( msg, retVal ); + CallbackList& list = i->second; + for(CallbackList::iterator j = list.begin(); j != list.end(); ++j) { + if((*j)(msg, retVal)) { + return true; + } + } } return false; } Modified: dcplusplus/trunk/smartwin/source/widgets/WidgetDialog.cpp =================================================================== --- dcplusplus/trunk/smartwin/source/widgets/WidgetDialog.cpp 2008-03-19 11:07:22 UTC (rev 1048) +++ dcplusplus/trunk/smartwin/source/widgets/WidgetDialog.cpp 2008-03-21 20:03:18 UTC (rev 1049) @@ -11,10 +11,8 @@ reinterpret_cast< LPARAM >( static_cast< Widget * >( this ) ) ); if ( !wnd ) { - xCeption x( _T( "CreateDialogParam failed." ) ); - throw x; + throw xCeption( _T( "CreateDialogParam failed." ) ); } - setHandle(wnd); } } Modified: dcplusplus/trunk/smartwin/source/widgets/WidgetMDIChild.cpp =================================================================== --- dcplusplus/trunk/smartwin/source/widgets/WidgetMDIChild.cpp 2008-03-19 11:07:22 UTC (rev 1048) +++ dcplusplus/trunk/smartwin/source/widgets/WidgetMDIChild.cpp 2008-03-21 20:03:18 UTC (rev 1049) @@ -34,7 +34,6 @@ xCeption x( _T( "CreateWindowEx in WidgetMDIChild::createMDIChild fizzled..." ) ); throw x; } - setHandle(wnd); } bool WidgetMDIChild::tryFire(const MSG& msg, LRESULT& retVal) { Modified: dcplusplus/trunk/smartwin/source/widgets/WidgetMDIParent.cpp =================================================================== --- dcplusplus/trunk/smartwin/source/widgets/WidgetMDIParent.cpp 2008-03-19 11:07:22 UTC (rev 1048) +++ dcplusplus/trunk/smartwin/source/widgets/WidgetMDIParent.cpp 2008-03-21 20:03:18 UTC (rev 1049) @@ -28,12 +28,8 @@ if ( !wnd ) { // The most common error is to forget WS_CHILD in the styles - xCeption x( _T( "CreateWindowEx in Widget::create fizzled ..." ) ); - throw x; + throw xCeption( _T( "CreateWindowEx in Widget::create fizzled ..." ) ); } - setHandle(wnd); - - ThisType::createMessageMap(); } } Modified: dcplusplus/trunk/smartwin/source/widgets/WidgetMenu.cpp =================================================================== --- dcplusplus/trunk/smartwin/source/widgets/WidgetMenu.cpp 2008-03-19 11:07:22 UTC (rev 1048) +++ dcplusplus/trunk/smartwin/source/widgets/WidgetMenu.cpp 2008-03-21 20:03:18 UTC (rev 1049) @@ -66,8 +66,8 @@ } // set default drawing - itsParent->setCallback(Message(WM_DRAWITEM), DrawItemDispatcher(std::tr1::bind(&WidgetMenu::handleDrawItem, this, _1, _2))); - itsParent->setCallback(Message(WM_MEASUREITEM), MeasureItemDispatcher(std::tr1::bind(&WidgetMenu::handleMeasureItem, this, _1))); + itsParent->addCallback(Message(WM_DRAWITEM), DrawItemDispatcher(std::tr1::bind(&WidgetMenu::handleDrawItem, this, _1, _2))); + itsParent->addCallback(Message(WM_MEASUREITEM), MeasureItemDispatcher(std::tr1::bind(&WidgetMenu::handleMeasureItem, this, _1))); } } @@ -194,7 +194,7 @@ void WidgetMenu::addCommands() { for(CallbackMap::iterator i = callbacks.begin(); i != callbacks.end(); ++i) { - itsParent->setCallback(Message(WM_COMMAND, i->first), i->second); + itsParent->addCallback(Message(WM_COMMAND, i->first), i->second); } for(std::vector< ObjectType >::iterator i = itsChildren.begin(); i != itsChildren.end(); ++i) { (*i)->addCommands(); Modified: dcplusplus/trunk/smartwin/source/widgets/WidgetToolTip.cpp =================================================================== --- dcplusplus/trunk/smartwin/source/widgets/WidgetToolTip.cpp 2008-03-19 11:07:22 UTC (rev 1048) +++ dcplusplus/trunk/smartwin/source/widgets/WidgetToolTip.cpp 2008-03-21 20:03:18 UTC (rev 1049) @@ -20,7 +20,7 @@ } void WidgetToolTip::setTool(Widget* widget, const Dispatcher::F& f) { - setCallback( + addCallback( Message(WM_NOTIFY, TTN_GETDISPINFO), Dispatcher(f) ); Modified: dcplusplus/trunk/smartwin/source/widgets/WidgetToolbar.cpp =================================================================== --- dcplusplus/trunk/smartwin/source/widgets/WidgetToolbar.cpp 2008-03-19 11:07:22 UTC (rev 1048) +++ dcplusplus/trunk/smartwin/source/widgets/WidgetToolbar.cpp 2008-03-21 20:03:18 UTC (rev 1049) @@ -46,7 +46,7 @@ } if(f) - setCallback(Message(WM_COMMAND, id), Dispatcher(f)); + addCallback(Message(WM_COMMAND, id), Dispatcher(f)); } bool WidgetToolbar::tryFire( const MSG & msg, LRESULT & retVal ) Modified: dcplusplus/trunk/win32/TypedListView.h =================================================================== --- dcplusplus/trunk/win32/TypedListView.h 2008-03-19 11:07:22 UTC (rev 1048) +++ dcplusplus/trunk/win32/TypedListView.h 2008-03-21 20:03:18 UTC (rev 1049) @@ -43,7 +43,7 @@ void create( const typename BaseType::Seed & cs = BaseType::Seed() ) { BaseType::create(cs); - this->setCallback( + this->addCallback( SmartWin::Message( WM_NOTIFY, LVN_GETDISPINFO ), &ThisType::TypedListViewDispatcher ); this->onColumnClick(std::tr1::bind(&ThisType::handleColumnClick, this, _1)); Modified: dcplusplus/trunk/win32/TypedTreeView.h =================================================================== --- dcplusplus/trunk/win32/TypedTreeView.h 2008-03-19 11:07:22 UTC (rev 1048) +++ dcplusplus/trunk/win32/TypedTreeView.h 2008-03-21 20:03:18 UTC (rev 1049) @@ -34,7 +34,7 @@ void create( const typename BaseType::Seed & cs = BaseType::Seed() ) { BaseType::create(cs); - this->setCallback( + this->addCallback( SmartWin::Message( WM_NOTIFY, TVN_GETDISPINFO ), &TypedTreeViewDispatcher ); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <zou...@us...> - 2008-03-19 11:07:57
|
Revision: 1048 http://dcplusplus.svn.sourceforge.net/dcplusplus/?rev=1048&view=rev Author: zouzou123gen Date: 2008-03-19 04:07:22 -0700 (Wed, 19 Mar 2008) Log Message: ----------- SingleInstance was being destroyed too soon Modified Paths: -------------- dcplusplus/trunk/changelog.txt dcplusplus/trunk/win32/MainWindow.cpp dcplusplus/trunk/win32/MainWindow.h dcplusplus/trunk/win32/main.cpp Modified: dcplusplus/trunk/changelog.txt =================================================================== --- dcplusplus/trunk/changelog.txt 2008-03-18 22:12:38 UTC (rev 1047) +++ dcplusplus/trunk/changelog.txt 2008-03-19 11:07:22 UTC (rev 1048) @@ -3,6 +3,7 @@ * Fixed help links (thanks poy) * Use setenv on unix (thanks yakov suraev) * Fixed out of focus window when restoring from icon (poy) +* [L#203865] Fixed multiple instances (poy) -- 0.705 2008-03-14 -- * Several patches for better *nix compatibility of the core (thanks steven sheehy et al) Modified: dcplusplus/trunk/win32/MainWindow.cpp =================================================================== --- dcplusplus/trunk/win32/MainWindow.cpp 2008-03-18 22:12:38 UTC (rev 1047) +++ dcplusplus/trunk/win32/MainWindow.cpp 2008-03-19 11:07:22 UTC (rev 1048) @@ -88,7 +88,7 @@ onSized(std::tr1::bind(&MainWindow::handleSized, this, _1)); onSpeaker(std::tr1::bind(&MainWindow::handleSpeaker, this, _1, _2)); onHelp(std::tr1::bind(&MainWindow::handleHelp, this, IDC_HELP_CONTENTS)); - onRaw(std::tr1::bind(&MainWindow::handleTrayIcon, this, _1, _2), SmartWin::Message(WM_APP + 242)); + onRaw(std::tr1::bind(&MainWindow::handleTrayIcon, this, _2), SmartWin::Message(WM_APP + 242)); updateStatus(); layout(); @@ -99,8 +99,9 @@ onClosing(std::tr1::bind(&MainWindow::closing, this)); onRaw(std::tr1::bind(&MainWindow::handleTrayMessage, this), SmartWin::Message(RegisterWindowMessage(_T("TaskbarCreated")))); - onRaw(std::tr1::bind(&MainWindow::handleEndSession, this, _1, _2), SmartWin::Message(WM_ENDSESSION)); - onRaw(std::tr1::bind(&MainWindow::handleWhereAreYou, this, _1, _2), SmartWin::Message(SingleInstance::WMU_WHERE_ARE_YOU)); + onRaw(std::tr1::bind(&MainWindow::handleEndSession, this), SmartWin::Message(WM_ENDSESSION)); + onRaw(std::tr1::bind(&MainWindow::handleCopyData, this, _2), SmartWin::Message(WM_COPYDATA)); + onRaw(std::tr1::bind(&MainWindow::handleWhereAreYou, this), SmartWin::Message(SingleInstance::WMU_WHERE_ARE_YOU)); TimerManager::getInstance()->start(); @@ -537,7 +538,7 @@ paned->setRect(r); } -LRESULT MainWindow::handleWhereAreYou(WPARAM, LPARAM) { +LRESULT MainWindow::handleWhereAreYou() { return SingleInstance::WMU_WHERE_ARE_YOU; } @@ -817,10 +818,9 @@ } } -LRESULT MainWindow::handleCopyData(WPARAM /*wParam*/, LPARAM lParam) { - tstring cmdLine = (LPCTSTR) (((COPYDATASTRUCT *)lParam)->lpData); - parseCommandLine(Text::toT(WinUtil::getAppName() + " ") + cmdLine); - return true; +LRESULT MainWindow::handleCopyData(LPARAM lParam) { + parseCommandLine(Text::toT(WinUtil::getAppName() + " ") + reinterpret_cast<LPCTSTR>(reinterpret_cast<COPYDATASTRUCT*>(lParam)->lpData)); + return TRUE; } void MainWindow::handleHashProgress() { @@ -914,7 +914,7 @@ ::HtmlHelp(handle(), WinUtil::getHelpFile().c_str(), action, id); } -LRESULT MainWindow::handleEndSession(WPARAM wParam, LPARAM lParam) { +LRESULT MainWindow::handleEndSession() { if (c != NULL) { c->removeListener(this); delete c; @@ -988,7 +988,7 @@ return handled; } -LRESULT MainWindow::handleTrayIcon(WPARAM /*wParam*/, LPARAM lParam) +LRESULT MainWindow::handleTrayIcon(LPARAM lParam) { if (lParam == WM_LBUTTONUP) { handleRestore(); Modified: dcplusplus/trunk/win32/MainWindow.h =================================================================== --- dcplusplus/trunk/win32/MainWindow.h 2008-03-18 22:12:38 UTC (rev 1047) +++ dcplusplus/trunk/win32/MainWindow.h 2008-03-19 11:07:22 UTC (rev 1048) @@ -159,16 +159,16 @@ void handleCloseWindows(unsigned id); void handleSize(); void handleActivate(bool active); - LRESULT handleEndSession(WPARAM wParam, LPARAM lParam); - LRESULT handleTrayIcon(WPARAM wParam, LPARAM lParam); + LRESULT handleEndSession(); + LRESULT handleTrayIcon(LPARAM lParam); // Other events bool handleSized(const SmartWin::WidgetSizedEventResult& sz); LRESULT handleSpeaker(WPARAM wParam, LPARAM lParam); LRESULT handleTrayMessage(); - LRESULT handleCopyData(WPARAM wParam, LPARAM lParam); - LRESULT handleWhereAreYou(WPARAM wParam, LPARAM lParam); + LRESULT handleCopyData(LPARAM lParam); + LRESULT handleWhereAreYou(); void handleTabsTitleChanged(const SmartUtil::tstring& title); Modified: dcplusplus/trunk/win32/main.cpp =================================================================== --- dcplusplus/trunk/win32/main.cpp 2008-03-18 22:12:38 UTC (rev 1047) +++ dcplusplus/trunk/win32/main.cpp 2008-03-19 11:07:22 UTC (rev 1048) @@ -32,23 +32,18 @@ const UINT SingleInstance::WMU_WHERE_ARE_YOU = ::RegisterWindowMessage(WMU_WHERE_ARE_YOU_MSG); -static void sendCmdLine(HWND hOther, const tstring& cmdLine) -{ - LRESULT result; - +static void sendCmdLine(HWND hOther, const tstring& cmdLine) { COPYDATASTRUCT cpd; cpd.dwData = 0; cpd.cbData = sizeof(TCHAR)*(cmdLine.length() + 1); cpd.lpData = (void *)cmdLine.c_str(); - result = SendMessage(hOther, WM_COPYDATA, NULL, (LPARAM)&cpd); + ::SendMessage(hOther, WM_COPYDATA, 0, reinterpret_cast<LPARAM>(&cpd)); } BOOL CALLBACK searchOtherInstance(HWND hWnd, LPARAM lParam) { DWORD result; - LRESULT ok = ::SendMessageTimeout(hWnd, SingleInstance::WMU_WHERE_ARE_YOU, 0, 0, - SMTO_BLOCK | SMTO_ABORTIFHUNG, 5000, &result); - - if(ok && result == SingleInstance::WMU_WHERE_ARE_YOU) { + if(::SendMessageTimeout(hWnd, SingleInstance::WMU_WHERE_ARE_YOU, 0, 0, SMTO_BLOCK | SMTO_ABORTIFHUNG, 5000, &result) && + result == SingleInstance::WMU_WHERE_ARE_YOU) { // found it HWND *target = (HWND *)lParam; *target = hWnd; @@ -57,14 +52,31 @@ return TRUE; } -bool checkOtherInstances(const tstring& cmdLine) { +void callBack(void* ptr, const string& a) { + SplashWindow& splash = *((SplashWindow*)ptr); + splash(a); +} + +#ifdef _DEBUG +void (*old_handler)(); + +// Dummy function to have something to break at +void term_handler() { + old_handler(); +} +#endif + +int SmartWinMain(SmartWin::Application& app) { + dcdebug("StartWinMain\n"); + #ifndef _DEBUG SingleInstance dcapp(_T("{DCPLUSPLUS-AEE8350A-B49A-4753-AB4B-E55479A48351}")); #else SingleInstance dcapp(_T("{DCPLUSPLUS-AEE8350A-B49A-4753-AB4B-E55479A48350}")); #endif - if(dcapp.isRunning()) { + tstring cmdLine = app.getCommandLine().getParamsRaw(); + HWND hOther = NULL; ::EnumWindows(&searchOtherInstance, (LPARAM)&hOther); @@ -81,34 +93,11 @@ ::ShowWindow(hOther, SW_RESTORE); } sendCmdLine(hOther, cmdLine); - return false; + return 1; } } - return true; -} -void callBack(void* ptr, const string& a) { - SplashWindow& splash = *((SplashWindow*)ptr); - splash(a); -} - #ifdef _DEBUG -void (*old_handler)(); - -// Dummy function to have something to break at -void term_handler() { - old_handler(); -} -#endif - -int SmartWinMain(SmartWin::Application& app) { - dcdebug("StartWinMain\n"); - - if(!checkOtherInstances(app.getCommandLine().getParamsRaw())) { - return 1; - } - -#ifdef _DEBUG old_handler = set_terminate(&term_handler); #endif This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <arn...@us...> - 2008-03-18 22:12:43
|
Revision: 1047 http://dcplusplus.svn.sourceforge.net/dcplusplus/?rev=1047&view=rev Author: arnetheduck Date: 2008-03-18 15:12:38 -0700 (Tue, 18 Mar 2008) Log Message: ----------- rename point, update translations Modified Paths: -------------- dcplusplus/trunk/dcpp/po/ar.po dcplusplus/trunk/dcpp/po/bg.po dcplusplus/trunk/dcpp/po/bs.po dcplusplus/trunk/dcpp/po/ca.po dcplusplus/trunk/dcpp/po/cs.po dcplusplus/trunk/dcpp/po/da.po dcplusplus/trunk/dcpp/po/de.po dcplusplus/trunk/dcpp/po/el.po dcplusplus/trunk/dcpp/po/en_GB.po dcplusplus/trunk/dcpp/po/es.po dcplusplus/trunk/dcpp/po/fi.po dcplusplus/trunk/dcpp/po/fr.po dcplusplus/trunk/dcpp/po/gl.po dcplusplus/trunk/dcpp/po/he.po dcplusplus/trunk/dcpp/po/hr.po dcplusplus/trunk/dcpp/po/hu.po dcplusplus/trunk/dcpp/po/id.po dcplusplus/trunk/dcpp/po/is.po dcplusplus/trunk/dcpp/po/it.po dcplusplus/trunk/dcpp/po/ja.po dcplusplus/trunk/dcpp/po/km.po dcplusplus/trunk/dcpp/po/ko.po dcplusplus/trunk/dcpp/po/lt.po dcplusplus/trunk/dcpp/po/lv.po dcplusplus/trunk/dcpp/po/mk.po dcplusplus/trunk/dcpp/po/ms.po dcplusplus/trunk/dcpp/po/nb.po dcplusplus/trunk/dcpp/po/nl.po dcplusplus/trunk/dcpp/po/pl.po dcplusplus/trunk/dcpp/po/pt.po dcplusplus/trunk/dcpp/po/pt_BR.po dcplusplus/trunk/dcpp/po/ro.po dcplusplus/trunk/dcpp/po/ru.po dcplusplus/trunk/dcpp/po/sl.po dcplusplus/trunk/dcpp/po/sq.po dcplusplus/trunk/dcpp/po/sv.po dcplusplus/trunk/dcpp/po/tr.po dcplusplus/trunk/dcpp/po/uk.po dcplusplus/trunk/dcpp/po/zh_CN.po dcplusplus/trunk/dcpp/po/zh_TW.po dcplusplus/trunk/smartwin/include/smartwin/Application.h dcplusplus/trunk/smartwin/include/smartwin/CanvasClasses.h dcplusplus/trunk/smartwin/include/smartwin/ClipBoard.h dcplusplus/trunk/smartwin/include/smartwin/Dispatchers.h dcplusplus/trunk/smartwin/include/smartwin/FreeCommonDialog.h dcplusplus/trunk/smartwin/include/smartwin/LibraryLoader.h dcplusplus/trunk/smartwin/include/smartwin/Place.h dcplusplus/trunk/smartwin/include/smartwin/Rectangle.h dcplusplus/trunk/smartwin/include/smartwin/SmartWin.h dcplusplus/trunk/smartwin/include/smartwin/WindowClass.h dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectContextMenu.h dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectFileFilter.h dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectMouse.h dcplusplus/trunk/smartwin/include/smartwin/resources/ImageList.h dcplusplus/trunk/smartwin/include/smartwin/widgets/WidgetCoolbar.h dcplusplus/trunk/smartwin/include/smartwin/widgets/WidgetListView.h dcplusplus/trunk/smartwin/include/smartwin/widgets/WidgetMDIChild.h dcplusplus/trunk/smartwin/include/smartwin/widgets/WidgetMDIFrame.h dcplusplus/trunk/smartwin/include/smartwin/widgets/WidgetMDIParent.h dcplusplus/trunk/smartwin/include/smartwin/widgets/WidgetMenu.h dcplusplus/trunk/smartwin/include/smartwin/widgets/WidgetTabSheet.h dcplusplus/trunk/smartwin/include/smartwin/widgets/WidgetToolbar.h dcplusplus/trunk/smartwin/include/smartwin/widgets/WidgetTreeView.h dcplusplus/trunk/smartwin/include/smartwin/widgets/WidgetWindow.h dcplusplus/trunk/smartwin/include/smartwin/widgets/WidgetWindowBase.h dcplusplus/trunk/smartwin/include/smartwin/xCeption.h dcplusplus/trunk/smartwin/source/Application.cpp dcplusplus/trunk/smartwin/source/Bitmap.cpp dcplusplus/trunk/smartwin/source/Widget.cpp dcplusplus/trunk/smartwin/source/WindowClass.cpp dcplusplus/trunk/win32/SearchFrame.cpp dcplusplus/trunk/win32/po/ar.po dcplusplus/trunk/win32/po/bg.po dcplusplus/trunk/win32/po/bs.po dcplusplus/trunk/win32/po/ca.po dcplusplus/trunk/win32/po/cs.po dcplusplus/trunk/win32/po/da.po dcplusplus/trunk/win32/po/de.po dcplusplus/trunk/win32/po/el.po dcplusplus/trunk/win32/po/en_GB.po dcplusplus/trunk/win32/po/es.po dcplusplus/trunk/win32/po/fi.po dcplusplus/trunk/win32/po/fr.po dcplusplus/trunk/win32/po/gl.po dcplusplus/trunk/win32/po/he.po dcplusplus/trunk/win32/po/hr.po dcplusplus/trunk/win32/po/hu.po dcplusplus/trunk/win32/po/id.po dcplusplus/trunk/win32/po/is.po dcplusplus/trunk/win32/po/it.po dcplusplus/trunk/win32/po/ja.po dcplusplus/trunk/win32/po/km.po dcplusplus/trunk/win32/po/ko.po dcplusplus/trunk/win32/po/lt.po dcplusplus/trunk/win32/po/lv.po dcplusplus/trunk/win32/po/mk.po dcplusplus/trunk/win32/po/nb.po dcplusplus/trunk/win32/po/nl.po dcplusplus/trunk/win32/po/pl.po dcplusplus/trunk/win32/po/pt.po dcplusplus/trunk/win32/po/pt_BR.po dcplusplus/trunk/win32/po/ro.po dcplusplus/trunk/win32/po/ru.po dcplusplus/trunk/win32/po/sl.po dcplusplus/trunk/win32/po/sq.po dcplusplus/trunk/win32/po/sv.po dcplusplus/trunk/win32/po/tr.po dcplusplus/trunk/win32/po/uk.po dcplusplus/trunk/win32/po/zh_CN.po dcplusplus/trunk/win32/po/zh_TW.po Added Paths: ----------- dcplusplus/trunk/smartwin/include/smartwin/Point.h dcplusplus/trunk/smartwin/source/Point.cpp Removed Paths: ------------- dcplusplus/trunk/smartwin/include/smartwin/BasicTypes.h dcplusplus/trunk/smartwin/source/BasicTypes.cpp Modified: dcplusplus/trunk/dcpp/po/ar.po =================================================================== --- dcplusplus/trunk/dcpp/po/ar.po 2008-03-18 21:34:44 UTC (rev 1046) +++ dcplusplus/trunk/dcpp/po/ar.po 2008-03-18 22:12:38 UTC (rev 1047) @@ -7,14 +7,14 @@ msgstr "" "Project-Id-Version: dcpp\n" "Report-Msgid-Bugs-To: dcp...@li...\n" -"POT-Creation-Date: 2008-03-12 21:38+0100\n" -"PO-Revision-Date: 2008-03-05 00:18+0000\n" -"Last-Translator: Jmarhoon <Unknown>\n" +"POT-Creation-Date: 2008-03-18 22:52+0100\n" +"PO-Revision-Date: 2008-03-13 22:56+0000\n" +"Last-Translator: Jacek Sieka <Unknown>\n" "Language-Team: LANGUAGE <LL...@li...>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2008-03-13 15:20+0000\n" +"X-Launchpad-Export-Date: 2008-03-18 21:20+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: dcpp/Util.cpp:381 @@ -145,6 +145,10 @@ msgid "Directory already shared" msgstr "المجلد مستخدم حاليا" +#: dcpp/ADLSearch.h:281 +msgid "Discard" +msgstr "" + #: dcpp/BufferedSocket.cpp:404 msgid "Disconnected" msgstr "انفصل" @@ -154,7 +158,7 @@ msgid "Disconnected user leaving the hub: %1%" msgstr "" -#: dcpp/DCPlusPlus.cpp:103 +#: dcpp/DCPlusPlus.cpp:107 msgid "Download Queue" msgstr "طابور التحميل" @@ -257,7 +261,7 @@ msgid "Generated new TLS certificate" msgstr "" -#: dcpp/DCPlusPlus.cpp:97 +#: dcpp/DCPlusPlus.cpp:101 msgid "Hash database" msgstr "تحديث قاعدة البيانات" @@ -330,12 +334,16 @@ msgid "Remove all subdirectories before adding this one" msgstr "حذف كل المجلدات الثانوية قبل إضافة هذا" +#: dcpp/BitInputStream.h:40 +msgid "Request to seek beyond the end of data" +msgstr "" + #: dcpp/DownloadManager.cpp:225 #, fuzzy msgid "Response does not match request" msgstr "السلسلة المحملة لا تتوافق مع \"تي تي إتش\" الرئيسي" -#: dcpp/DCPlusPlus.cpp:100 +#: dcpp/DCPlusPlus.cpp:104 msgid "Shared Files" msgstr "الملفات المساهم فيها" @@ -352,6 +360,10 @@ msgid "TLS disabled, no certificate file set" msgstr "" +#: dcpp/MerkleCheckOutputStream.h:53 dcpp/MerkleCheckOutputStream.h:113 +msgid "TTH inconsistency" +msgstr "" + #: dcpp/QueueManager.cpp:510 dcpp/QueueManager.cpp:519 msgid "Target filename too long" msgstr "الملف المقصود كبير جدا" Modified: dcplusplus/trunk/dcpp/po/bg.po =================================================================== --- dcplusplus/trunk/dcpp/po/bg.po 2008-03-18 21:34:44 UTC (rev 1046) +++ dcplusplus/trunk/dcpp/po/bg.po 2008-03-18 22:12:38 UTC (rev 1047) @@ -7,14 +7,14 @@ msgstr "" "Project-Id-Version: dcpp\n" "Report-Msgid-Bugs-To: dcp...@li...\n" -"POT-Creation-Date: 2008-03-12 21:38+0100\n" -"PO-Revision-Date: 2008-03-05 00:08+0000\n" -"Last-Translator: Greatgenius <Unknown>\n" +"POT-Creation-Date: 2008-03-18 22:52+0100\n" +"PO-Revision-Date: 2008-03-13 22:56+0000\n" +"Last-Translator: Jacek Sieka <Unknown>\n" "Language-Team: LANGUAGE <LL...@li...>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2008-03-13 15:20+0000\n" +"X-Launchpad-Export-Date: 2008-03-18 21:20+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: dcpp/Util.cpp:381 @@ -146,6 +146,10 @@ msgid "Directory already shared" msgstr "Папката вече е споделена!" +#: dcpp/ADLSearch.h:281 +msgid "Discard" +msgstr "" + #: dcpp/BufferedSocket.cpp:404 msgid "Disconnected" msgstr "Изключен/Прекъснат" @@ -155,7 +159,7 @@ msgid "Disconnected user leaving the hub: %1%" msgstr "" -#: dcpp/DCPlusPlus.cpp:103 +#: dcpp/DCPlusPlus.cpp:107 msgid "Download Queue" msgstr "Опашка за сваляните файлове" @@ -262,7 +266,7 @@ msgid "Generated new TLS certificate" msgstr "" -#: dcpp/DCPlusPlus.cpp:97 +#: dcpp/DCPlusPlus.cpp:101 msgid "Hash database" msgstr "База-Данни от хешове" @@ -337,12 +341,16 @@ msgid "Remove all subdirectories before adding this one" msgstr "Премахни всички подпапки преди да добавиш тази" +#: dcpp/BitInputStream.h:40 +msgid "Request to seek beyond the end of data" +msgstr "" + #: dcpp/DownloadManager.cpp:225 #, fuzzy msgid "Response does not match request" msgstr "Файловото дърво не съвпада с този TTH псевдоним" -#: dcpp/DCPlusPlus.cpp:100 +#: dcpp/DCPlusPlus.cpp:104 msgid "Shared Files" msgstr "Споделени файлове" @@ -359,6 +367,10 @@ msgid "TLS disabled, no certificate file set" msgstr "" +#: dcpp/MerkleCheckOutputStream.h:53 dcpp/MerkleCheckOutputStream.h:113 +msgid "TTH inconsistency" +msgstr "" + #: dcpp/QueueManager.cpp:510 dcpp/QueueManager.cpp:519 msgid "Target filename too long" msgstr "Прекалено дълго име на файла-цел" Modified: dcplusplus/trunk/dcpp/po/bs.po =================================================================== --- dcplusplus/trunk/dcpp/po/bs.po 2008-03-18 21:34:44 UTC (rev 1046) +++ dcplusplus/trunk/dcpp/po/bs.po 2008-03-18 22:12:38 UTC (rev 1047) @@ -7,14 +7,14 @@ msgstr "" "Project-Id-Version: dcpp\n" "Report-Msgid-Bugs-To: dcp...@li...\n" -"POT-Creation-Date: 2008-03-12 21:38+0100\n" -"PO-Revision-Date: 2008-03-05 00:12+0000\n" -"Last-Translator: Mikula <Unknown>\n" +"POT-Creation-Date: 2008-03-18 22:52+0100\n" +"PO-Revision-Date: 2008-03-13 23:00+0000\n" +"Last-Translator: Jacek Sieka <Unknown>\n" "Language-Team: LANGUAGE <LL...@li...>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2008-03-13 15:20+0000\n" +"X-Launchpad-Export-Date: 2008-03-18 21:20+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: dcpp/Util.cpp:381 @@ -145,6 +145,10 @@ msgid "Directory already shared" msgstr "Sadrzaj se vec dijeli" +#: dcpp/ADLSearch.h:281 +msgid "Discard" +msgstr "" + #: dcpp/BufferedSocket.cpp:404 msgid "Disconnected" msgstr "Iskljucen" @@ -154,7 +158,7 @@ msgid "Disconnected user leaving the hub: %1%" msgstr "" -#: dcpp/DCPlusPlus.cpp:103 +#: dcpp/DCPlusPlus.cpp:107 msgid "Download Queue" msgstr "Lista za Download" @@ -258,7 +262,7 @@ msgid "Generated new TLS certificate" msgstr "" -#: dcpp/DCPlusPlus.cpp:97 +#: dcpp/DCPlusPlus.cpp:101 msgid "Hash database" msgstr "Indeks fajova" @@ -333,12 +337,16 @@ msgid "Remove all subdirectories before adding this one" msgstr "Skloniti sve poddirektorijume prije dodavanja ovog" +#: dcpp/BitInputStream.h:40 +msgid "Request to seek beyond the end of data" +msgstr "" + #: dcpp/DownloadManager.cpp:225 #, fuzzy msgid "Response does not match request" msgstr "Ucitano se ne slaze s TTH kodom" -#: dcpp/DCPlusPlus.cpp:100 +#: dcpp/DCPlusPlus.cpp:104 msgid "Shared Files" msgstr "Dijeljeni fajlovi" @@ -356,6 +364,10 @@ msgid "TLS disabled, no certificate file set" msgstr "" +#: dcpp/MerkleCheckOutputStream.h:53 dcpp/MerkleCheckOutputStream.h:113 +msgid "TTH inconsistency" +msgstr "" + #: dcpp/QueueManager.cpp:510 dcpp/QueueManager.cpp:519 msgid "Target filename too long" msgstr "Trazeno ime je predugo" Modified: dcplusplus/trunk/dcpp/po/ca.po =================================================================== --- dcplusplus/trunk/dcpp/po/ca.po 2008-03-18 21:34:44 UTC (rev 1046) +++ dcplusplus/trunk/dcpp/po/ca.po 2008-03-18 22:12:38 UTC (rev 1047) @@ -7,14 +7,14 @@ msgstr "" "Project-Id-Version: dcpp\n" "Report-Msgid-Bugs-To: dcp...@li...\n" -"POT-Creation-Date: 2008-03-12 21:38+0100\n" -"PO-Revision-Date: 2008-03-05 00:46+0000\n" -"Last-Translator: Sunbit <Unknown>\n" +"POT-Creation-Date: 2008-03-18 22:52+0100\n" +"PO-Revision-Date: 2008-03-13 23:00+0000\n" +"Last-Translator: Jacek Sieka <Unknown>\n" "Language-Team: LANGUAGE <LL...@li...>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2008-03-13 15:20+0000\n" +"X-Launchpad-Export-Date: 2008-03-18 21:20+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: dcpp/Util.cpp:381 @@ -146,6 +146,10 @@ msgid "Directory already shared" msgstr "Aquest directori ja està compartit" +#: dcpp/ADLSearch.h:281 +msgid "Discard" +msgstr "" + #: dcpp/BufferedSocket.cpp:404 msgid "Disconnected" msgstr "Desconectat" @@ -155,7 +159,7 @@ msgid "Disconnected user leaving the hub: %1%" msgstr "" -#: dcpp/DCPlusPlus.cpp:103 +#: dcpp/DCPlusPlus.cpp:107 msgid "Download Queue" msgstr "Cua de descàrrega" @@ -260,7 +264,7 @@ msgid "Generated new TLS certificate" msgstr "" -#: dcpp/DCPlusPlus.cpp:97 +#: dcpp/DCPlusPlus.cpp:101 msgid "Hash database" msgstr "Hashejar bas de dades" @@ -335,12 +339,16 @@ msgid "Remove all subdirectories before adding this one" msgstr "Eliminar tots els subdirectoris avans d'agregar aquest" +#: dcpp/BitInputStream.h:40 +msgid "Request to seek beyond the end of data" +msgstr "" + #: dcpp/DownloadManager.cpp:225 #, fuzzy msgid "Response does not match request" msgstr "L'arbre descarregat no coincideix amb l'arrel TTH" -#: dcpp/DCPlusPlus.cpp:100 +#: dcpp/DCPlusPlus.cpp:104 msgid "Shared Files" msgstr "fitxers compartits" @@ -358,6 +366,10 @@ msgid "TLS disabled, no certificate file set" msgstr "" +#: dcpp/MerkleCheckOutputStream.h:53 dcpp/MerkleCheckOutputStream.h:113 +msgid "TTH inconsistency" +msgstr "" + #: dcpp/QueueManager.cpp:510 dcpp/QueueManager.cpp:519 msgid "Target filename too long" msgstr "El nom del fitxer de destí es massa llarg" Modified: dcplusplus/trunk/dcpp/po/cs.po =================================================================== --- dcplusplus/trunk/dcpp/po/cs.po 2008-03-18 21:34:44 UTC (rev 1046) +++ dcplusplus/trunk/dcpp/po/cs.po 2008-03-18 22:12:38 UTC (rev 1047) @@ -7,14 +7,14 @@ msgstr "" "Project-Id-Version: dcplusplus\n" "Report-Msgid-Bugs-To: dcp...@li...\n" -"POT-Creation-Date: 2008-03-12 21:38+0100\n" -"PO-Revision-Date: 2008-03-05 00:25+0000\n" +"POT-Creation-Date: 2008-03-18 22:52+0100\n" +"PO-Revision-Date: 2008-03-13 23:00+0000\n" "Last-Translator: marek.tomass <mar...@gm...>\n" "Language-Team: Czech <cs...@li...>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2008-03-13 15:20+0000\n" +"X-Launchpad-Export-Date: 2008-03-18 21:20+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: dcpp/Util.cpp:381 @@ -148,6 +148,10 @@ msgid "Directory already shared" msgstr "Slozka je uz sdilena" +#: dcpp/ADLSearch.h:281 +msgid "Discard" +msgstr "" + #: dcpp/BufferedSocket.cpp:404 msgid "Disconnected" msgstr "Odpojeny" @@ -157,7 +161,7 @@ msgid "Disconnected user leaving the hub: %1%" msgstr "" -#: dcpp/DCPlusPlus.cpp:103 +#: dcpp/DCPlusPlus.cpp:107 msgid "Download Queue" msgstr "Fronta souboru k stahnuti" @@ -262,7 +266,7 @@ msgid "Generated new TLS certificate" msgstr "" -#: dcpp/DCPlusPlus.cpp:97 +#: dcpp/DCPlusPlus.cpp:101 msgid "Hash database" msgstr "Hash databaze" @@ -337,11 +341,15 @@ msgid "Remove all subdirectories before adding this one" msgstr "Odeberte vsecky podslozky, nez pridate tuto" +#: dcpp/BitInputStream.h:40 +msgid "Request to seek beyond the end of data" +msgstr "" + #: dcpp/DownloadManager.cpp:225 msgid "Response does not match request" msgstr "" -#: dcpp/DCPlusPlus.cpp:100 +#: dcpp/DCPlusPlus.cpp:104 msgid "Shared Files" msgstr "Sdilene soubory" @@ -358,6 +366,10 @@ msgid "TLS disabled, no certificate file set" msgstr "" +#: dcpp/MerkleCheckOutputStream.h:53 dcpp/MerkleCheckOutputStream.h:113 +msgid "TTH inconsistency" +msgstr "" + #: dcpp/QueueManager.cpp:510 dcpp/QueueManager.cpp:519 msgid "Target filename too long" msgstr "Cilove jmeno souboru je prilis dlouhe" Modified: dcplusplus/trunk/dcpp/po/da.po =================================================================== --- dcplusplus/trunk/dcpp/po/da.po 2008-03-18 21:34:44 UTC (rev 1046) +++ dcplusplus/trunk/dcpp/po/da.po 2008-03-18 22:12:38 UTC (rev 1047) @@ -7,14 +7,14 @@ msgstr "" "Project-Id-Version: dcplusplus\n" "Report-Msgid-Bugs-To: dcp...@li...\n" -"POT-Creation-Date: 2008-03-12 21:38+0100\n" -"PO-Revision-Date: 2008-03-10 10:27+0000\n" -"Last-Translator: Kryppy <Unknown>\n" +"POT-Creation-Date: 2008-03-18 22:52+0100\n" +"PO-Revision-Date: 2008-03-13 23:00+0000\n" +"Last-Translator: Jacek Sieka <Unknown>\n" "Language-Team: Danish <da...@li...>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2008-03-13 15:20+0000\n" +"X-Launchpad-Export-Date: 2008-03-18 21:20+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: dcpp/Util.cpp:381 @@ -147,6 +147,10 @@ msgid "Directory already shared" msgstr "Katalog deles allerede" +#: dcpp/ADLSearch.h:281 +msgid "Discard" +msgstr "" + #: dcpp/BufferedSocket.cpp:404 msgid "Disconnected" msgstr "Afbrudt" @@ -156,7 +160,7 @@ msgid "Disconnected user leaving the hub: %1%" msgstr "" -#: dcpp/DCPlusPlus.cpp:103 +#: dcpp/DCPlusPlus.cpp:107 msgid "Download Queue" msgstr "Doenload kø" @@ -262,7 +266,7 @@ msgid "Generated new TLS certificate" msgstr "Skab TLS certifikat" -#: dcpp/DCPlusPlus.cpp:97 +#: dcpp/DCPlusPlus.cpp:101 msgid "Hash database" msgstr "Hash databasen" @@ -337,11 +341,15 @@ msgid "Remove all subdirectories before adding this one" msgstr "Fjern alle undermapper før denne mappe tilføjes" +#: dcpp/BitInputStream.h:40 +msgid "Request to seek beyond the end of data" +msgstr "" + #: dcpp/DownloadManager.cpp:225 msgid "Response does not match request" msgstr "" -#: dcpp/DCPlusPlus.cpp:100 +#: dcpp/DCPlusPlus.cpp:104 msgid "Shared Files" msgstr "Delte filer" @@ -359,6 +367,10 @@ msgid "TLS disabled, no certificate file set" msgstr "TLS deaktivert, ingen certifikatfil angivet" +#: dcpp/MerkleCheckOutputStream.h:53 dcpp/MerkleCheckOutputStream.h:113 +msgid "TTH inconsistency" +msgstr "" + #: dcpp/QueueManager.cpp:510 dcpp/QueueManager.cpp:519 msgid "Target filename too long" msgstr "Filnavnet er for langt...!" Modified: dcplusplus/trunk/dcpp/po/de.po =================================================================== --- dcplusplus/trunk/dcpp/po/de.po 2008-03-18 21:34:44 UTC (rev 1046) +++ dcplusplus/trunk/dcpp/po/de.po 2008-03-18 22:12:38 UTC (rev 1047) @@ -7,14 +7,14 @@ msgstr "" "Project-Id-Version: dcplusplus\n" "Report-Msgid-Bugs-To: dcp...@li...\n" -"POT-Creation-Date: 2008-03-12 21:38+0100\n" -"PO-Revision-Date: 2008-03-06 16:59+0000\n" +"POT-Creation-Date: 2008-03-18 22:52+0100\n" +"PO-Revision-Date: 2008-03-17 19:03+0000\n" "Last-Translator: soccer <soc...@gm...>\n" "Language-Team: German <de...@li...>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2008-03-13 15:20+0000\n" +"X-Launchpad-Export-Date: 2008-03-18 21:20+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: dcpp/Util.cpp:381 @@ -131,9 +131,8 @@ msgstr "Zertifikat nicht vertrauenswürdig, Verbindung nicht möglich" #: dcpp/BufferedSocket.cpp:148 -#, fuzzy msgid "Connection closed" -msgstr "Zeitüberschreitung der Verbindung" +msgstr "Verbindung getrennt" #: dcpp/Socket.cpp:154 dcpp/ConnectionManager.cpp:182 #: dcpp/BufferedSocket.cpp:131 @@ -149,6 +148,10 @@ msgid "Directory already shared" msgstr "Verzeichnis ist bereits freigegeben" +#: dcpp/ADLSearch.h:281 +msgid "Discard" +msgstr "Verwerfen" + #: dcpp/BufferedSocket.cpp:404 msgid "Disconnected" msgstr "Getrennt" @@ -158,7 +161,7 @@ msgid "Disconnected user leaving the hub: %1%" msgstr "Getrennter User verlässt Hub: %1%" -#: dcpp/DCPlusPlus.cpp:103 +#: dcpp/DCPlusPlus.cpp:107 msgid "Download Queue" msgstr "Download Warteschlange" @@ -267,7 +270,7 @@ msgid "Generated new TLS certificate" msgstr "Neues TLS Zertifikat erstellt" -#: dcpp/DCPlusPlus.cpp:97 +#: dcpp/DCPlusPlus.cpp:101 msgid "Hash database" msgstr "Hash-Datenbank" @@ -344,11 +347,15 @@ msgid "Remove all subdirectories before adding this one" msgstr "Alle Unterverzeichnisse entfernen bevor dieses hinzugefügt wird" +#: dcpp/BitInputStream.h:40 +msgid "Request to seek beyond the end of data" +msgstr "" + #: dcpp/DownloadManager.cpp:225 msgid "Response does not match request" msgstr "Antwort stimmt nicht mit Anfrage überein" -#: dcpp/DCPlusPlus.cpp:100 +#: dcpp/DCPlusPlus.cpp:104 msgid "Shared Files" msgstr "Freigegebene Dateien" @@ -366,6 +373,10 @@ msgid "TLS disabled, no certificate file set" msgstr "TLS deaktiviert, kein Zertifikat eingestellt" +#: dcpp/MerkleCheckOutputStream.h:53 dcpp/MerkleCheckOutputStream.h:113 +msgid "TTH inconsistency" +msgstr "TTH Inkonsistenz" + #: dcpp/QueueManager.cpp:510 dcpp/QueueManager.cpp:519 msgid "Target filename too long" msgstr "Zieldateiname zu lang" Modified: dcplusplus/trunk/dcpp/po/el.po =================================================================== --- dcplusplus/trunk/dcpp/po/el.po 2008-03-18 21:34:44 UTC (rev 1046) +++ dcplusplus/trunk/dcpp/po/el.po 2008-03-18 22:12:38 UTC (rev 1047) @@ -7,14 +7,14 @@ msgstr "" "Project-Id-Version: dcpp\n" "Report-Msgid-Bugs-To: dcp...@li...\n" -"POT-Creation-Date: 2008-03-12 21:38+0100\n" -"PO-Revision-Date: 2008-03-05 00:45+0000\n" -"Last-Translator: Johnkok <Unknown>\n" +"POT-Creation-Date: 2008-03-18 22:52+0100\n" +"PO-Revision-Date: 2008-03-13 23:01+0000\n" +"Last-Translator: Jacek Sieka <Unknown>\n" "Language-Team: LANGUAGE <LL...@li...>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2008-03-13 15:20+0000\n" +"X-Launchpad-Export-Date: 2008-03-18 21:20+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: dcpp/Util.cpp:381 @@ -146,6 +146,10 @@ msgid "Directory already shared" msgstr "Ο φάκελος είναι ήδη κοινόχρηστος" +#: dcpp/ADLSearch.h:281 +msgid "Discard" +msgstr "" + #: dcpp/BufferedSocket.cpp:404 msgid "Disconnected" msgstr "Αποσυνδέθηκε" @@ -155,7 +159,7 @@ msgid "Disconnected user leaving the hub: %1%" msgstr "" -#: dcpp/DCPlusPlus.cpp:103 +#: dcpp/DCPlusPlus.cpp:107 msgid "Download Queue" msgstr "Αρχεία προς Λήψη" @@ -262,7 +266,7 @@ msgid "Generated new TLS certificate" msgstr "" -#: dcpp/DCPlusPlus.cpp:97 +#: dcpp/DCPlusPlus.cpp:101 msgid "Hash database" msgstr "Βάση Δεδομένων Hash" @@ -337,12 +341,16 @@ msgid "Remove all subdirectories before adding this one" msgstr "Αφαιρέστε όλους τους υποφακέλους πριν την προσθήκη αυτού" +#: dcpp/BitInputStream.h:40 +msgid "Request to seek beyond the end of data" +msgstr "" + #: dcpp/DownloadManager.cpp:225 #, fuzzy msgid "Response does not match request" msgstr "Το δέντρο αρχείων δεν ταιριάζει στο TTH" -#: dcpp/DCPlusPlus.cpp:100 +#: dcpp/DCPlusPlus.cpp:104 msgid "Shared Files" msgstr "Διαθέσιμα Αρχεία" @@ -360,6 +368,10 @@ msgid "TLS disabled, no certificate file set" msgstr "TLS ανενεργό, δεν έχει τεθεί αρχείο πιστοποιητικού" +#: dcpp/MerkleCheckOutputStream.h:53 dcpp/MerkleCheckOutputStream.h:113 +msgid "TTH inconsistency" +msgstr "" + #: dcpp/QueueManager.cpp:510 dcpp/QueueManager.cpp:519 msgid "Target filename too long" msgstr "Το όνομα στο αρχείο προορισμού είναι υπερβολικά μεγάλο" Modified: dcplusplus/trunk/dcpp/po/en_GB.po =================================================================== --- dcplusplus/trunk/dcpp/po/en_GB.po 2008-03-18 21:34:44 UTC (rev 1046) +++ dcplusplus/trunk/dcpp/po/en_GB.po 2008-03-18 22:12:38 UTC (rev 1047) @@ -7,14 +7,14 @@ msgstr "" "Project-Id-Version: dcplusplus\n" "Report-Msgid-Bugs-To: dcp...@li...\n" -"POT-Creation-Date: 2008-03-12 21:38+0100\n" -"PO-Revision-Date: 2008-03-06 11:07+0000\n" -"Last-Translator: MikeJJ <Unknown>\n" +"POT-Creation-Date: 2008-03-18 22:52+0100\n" +"PO-Revision-Date: 2008-03-17 06:30+0000\n" +"Last-Translator: Adrian Moș <Unknown>\n" "Language-Team: English (United Kingdom) <en...@li...>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2008-03-13 15:20+0000\n" +"X-Launchpad-Export-Date: 2008-03-18 21:20+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: dcpp/Util.cpp:381 @@ -128,9 +128,8 @@ msgstr "Certificate not trusted, unable to connect" #: dcpp/BufferedSocket.cpp:148 -#, fuzzy msgid "Connection closed" -msgstr "Connection timeout" +msgstr "Connection closed" #: dcpp/Socket.cpp:154 dcpp/ConnectionManager.cpp:182 #: dcpp/BufferedSocket.cpp:131 @@ -146,6 +145,10 @@ msgid "Directory already shared" msgstr "Directory already shared" +#: dcpp/ADLSearch.h:281 +msgid "Discard" +msgstr "Discard" + #: dcpp/BufferedSocket.cpp:404 msgid "Disconnected" msgstr "Disconnected" @@ -155,7 +158,7 @@ msgid "Disconnected user leaving the hub: %1%" msgstr "Disconnected user leaving the hub: %1%" -#: dcpp/DCPlusPlus.cpp:103 +#: dcpp/DCPlusPlus.cpp:107 msgid "Download Queue" msgstr "Download Queue" @@ -264,7 +267,7 @@ msgid "Generated new TLS certificate" msgstr "Generated new TLS certificate" -#: dcpp/DCPlusPlus.cpp:97 +#: dcpp/DCPlusPlus.cpp:101 msgid "Hash database" msgstr "Hash database" @@ -341,11 +344,15 @@ msgid "Remove all subdirectories before adding this one" msgstr "Remove all subdirectories before adding this one" +#: dcpp/BitInputStream.h:40 +msgid "Request to seek beyond the end of data" +msgstr "Request to seek beyond the end of data" + #: dcpp/DownloadManager.cpp:225 msgid "Response does not match request" msgstr "Response does not match request" -#: dcpp/DCPlusPlus.cpp:100 +#: dcpp/DCPlusPlus.cpp:104 msgid "Shared Files" msgstr "Shared Files" @@ -362,6 +369,10 @@ msgid "TLS disabled, no certificate file set" msgstr "TLS disabled, no certificate file set" +#: dcpp/MerkleCheckOutputStream.h:53 dcpp/MerkleCheckOutputStream.h:113 +msgid "TTH inconsistency" +msgstr "TTH inconsistency" + #: dcpp/QueueManager.cpp:510 dcpp/QueueManager.cpp:519 msgid "Target filename too long" msgstr "Target filename too long" Modified: dcplusplus/trunk/dcpp/po/es.po =================================================================== --- dcplusplus/trunk/dcpp/po/es.po 2008-03-18 21:34:44 UTC (rev 1046) +++ dcplusplus/trunk/dcpp/po/es.po 2008-03-18 22:12:38 UTC (rev 1047) @@ -7,14 +7,14 @@ msgstr "" "Project-Id-Version: dcpp\n" "Report-Msgid-Bugs-To: dcp...@li...\n" -"POT-Creation-Date: 2008-03-12 21:38+0100\n" -"PO-Revision-Date: 2008-03-07 12:20+0000\n" +"POT-Creation-Date: 2008-03-18 22:52+0100\n" +"PO-Revision-Date: 2008-03-17 15:22+0000\n" "Last-Translator: Kryppy <Unknown>\n" "Language-Team: LANGUAGE <LL...@li...>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2008-03-13 15:20+0000\n" +"X-Launchpad-Export-Date: 2008-03-18 21:20+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: dcpp/Util.cpp:381 @@ -73,7 +73,7 @@ #: dcpp/AdcHub.cpp:281 #, boost-format msgid "%1% was kicked by %2%: %3%" -msgstr "%1% ha sido expulsado de% 2%:% 3%" +msgstr "%1% ha sido expulsado de %2%: %3%" #: dcpp/AdcHub.cpp:284 #, boost-format @@ -130,9 +130,8 @@ msgstr "Certificado no confiable, imposible conectar" #: dcpp/BufferedSocket.cpp:148 -#, fuzzy msgid "Connection closed" -msgstr "Conexión fuera de tiempo" +msgstr "Conexión cerrada" #: dcpp/Socket.cpp:154 dcpp/ConnectionManager.cpp:182 #: dcpp/BufferedSocket.cpp:131 @@ -148,6 +147,10 @@ msgid "Directory already shared" msgstr "Carpeta ya Compartida" +#: dcpp/ADLSearch.h:281 +msgid "Discard" +msgstr "Descartar" + #: dcpp/BufferedSocket.cpp:404 msgid "Disconnected" msgstr "Desconectado" @@ -157,7 +160,7 @@ msgid "Disconnected user leaving the hub: %1%" msgstr "Usuario desconectado porque se desconectó del hub:%1%" -#: dcpp/DCPlusPlus.cpp:103 +#: dcpp/DCPlusPlus.cpp:107 msgid "Download Queue" msgstr "Cola de Descargas" @@ -266,7 +269,7 @@ msgid "Generated new TLS certificate" msgstr "Generado nuevos certificado TLS" -#: dcpp/DCPlusPlus.cpp:97 +#: dcpp/DCPlusPlus.cpp:101 msgid "Hash database" msgstr "Indexación de la Base de Datos" @@ -343,11 +346,15 @@ msgid "Remove all subdirectories before adding this one" msgstr "Eliminar todas los subcarpetas antes de agregar este" +#: dcpp/BitInputStream.h:40 +msgid "Request to seek beyond the end of data" +msgstr "Solicitar a buscar más allá del final de los datos" + #: dcpp/DownloadManager.cpp:225 msgid "Response does not match request" msgstr "La estructura del árbol TTH no es correcta" -#: dcpp/DCPlusPlus.cpp:100 +#: dcpp/DCPlusPlus.cpp:104 msgid "Shared Files" msgstr "Archivos compartidos" @@ -366,6 +373,10 @@ msgid "TLS disabled, no certificate file set" msgstr "TLS desactivado, no hay definido un certificado" +#: dcpp/MerkleCheckOutputStream.h:53 dcpp/MerkleCheckOutputStream.h:113 +msgid "TTH inconsistency" +msgstr "TTH incoherencia" + #: dcpp/QueueManager.cpp:510 dcpp/QueueManager.cpp:519 msgid "Target filename too long" msgstr "Nombre del Archivo Destino demasiado largo" Modified: dcplusplus/trunk/dcpp/po/fi.po =================================================================== --- dcplusplus/trunk/dcpp/po/fi.po 2008-03-18 21:34:44 UTC (rev 1046) +++ dcplusplus/trunk/dcpp/po/fi.po 2008-03-18 22:12:38 UTC (rev 1047) @@ -7,14 +7,14 @@ msgstr "" "Project-Id-Version: dcpp\n" "Report-Msgid-Bugs-To: dcp...@li...\n" -"POT-Creation-Date: 2008-03-12 21:38+0100\n" -"PO-Revision-Date: 2008-03-09 09:09+0000\n" +"POT-Creation-Date: 2008-03-18 22:52+0100\n" +"PO-Revision-Date: 2008-03-13 23:01+0000\n" "Last-Translator: maksis <ma...@ad...>\n" "Language-Team: LANGUAGE <LL...@li...>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2008-03-13 15:20+0000\n" +"X-Launchpad-Export-Date: 2008-03-18 21:20+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: dcpp/Util.cpp:381 @@ -149,6 +149,10 @@ msgid "Directory already shared" msgstr "Kansio on jo jaettu" +#: dcpp/ADLSearch.h:281 +msgid "Discard" +msgstr "" + #: dcpp/BufferedSocket.cpp:404 msgid "Disconnected" msgstr "Yhteys katkaistu" @@ -158,7 +162,7 @@ msgid "Disconnected user leaving the hub: %1%" msgstr "Katkaistiin yhteys hubista lähtevään käyttäjään: %1%" -#: dcpp/DCPlusPlus.cpp:103 +#: dcpp/DCPlusPlus.cpp:107 msgid "Download Queue" msgstr "Latausjono" @@ -266,7 +270,7 @@ msgid "Generated new TLS certificate" msgstr "Uusi TLS-serfifikaatti luotu" -#: dcpp/DCPlusPlus.cpp:97 +#: dcpp/DCPlusPlus.cpp:101 msgid "Hash database" msgstr "Tarkistussummatietokanta" @@ -342,11 +346,15 @@ msgid "Remove all subdirectories before adding this one" msgstr "Poista kaikki alihakemistot ennen tämän lisäämistä" +#: dcpp/BitInputStream.h:40 +msgid "Request to seek beyond the end of data" +msgstr "" + #: dcpp/DownloadManager.cpp:225 msgid "Response does not match request" msgstr "Vastaus ei täsmää pyyntöön" -#: dcpp/DCPlusPlus.cpp:100 +#: dcpp/DCPlusPlus.cpp:104 msgid "Shared Files" msgstr "Jaetut tiedostot" @@ -365,6 +373,10 @@ msgid "TLS disabled, no certificate file set" msgstr "TLS ei käytössä, sertifikaattitiedostoja ei ole asetettu" +#: dcpp/MerkleCheckOutputStream.h:53 dcpp/MerkleCheckOutputStream.h:113 +msgid "TTH inconsistency" +msgstr "" + #: dcpp/QueueManager.cpp:510 dcpp/QueueManager.cpp:519 msgid "Target filename too long" msgstr "Kohdetiedoston nimi on liian pitkä" Modified: dcplusplus/trunk/dcpp/po/fr.po =================================================================== --- dcplusplus/trunk/dcpp/po/fr.po 2008-03-18 21:34:44 UTC (rev 1046) +++ dcplusplus/trunk/dcpp/po/fr.po 2008-03-18 22:12:38 UTC (rev 1047) @@ -7,14 +7,14 @@ msgstr "" "Project-Id-Version: dcpp\n" "Report-Msgid-Bugs-To: dcp...@li...\n" -"POT-Creation-Date: 2008-03-12 21:38+0100\n" -"PO-Revision-Date: 2008-03-05 09:45+0000\n" +"POT-Creation-Date: 2008-03-18 22:52+0100\n" +"PO-Revision-Date: 2008-03-17 14:40+0000\n" "Last-Translator: Kryppy <Unknown>\n" "Language-Team: LANGUAGE <LL...@li...>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2008-03-13 15:20+0000\n" +"X-Launchpad-Export-Date: 2008-03-18 21:20+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: dcpp/Util.cpp:381 @@ -132,9 +132,8 @@ msgstr "Le certificat n'est pas De Confiance, ne parvient pas à se connecter" #: dcpp/BufferedSocket.cpp:148 -#, fuzzy msgid "Connection closed" -msgstr "Temps d'attente dépassé" +msgstr "Connexion fermée" #: dcpp/Socket.cpp:154 dcpp/ConnectionManager.cpp:182 #: dcpp/BufferedSocket.cpp:131 @@ -150,6 +149,10 @@ msgid "Directory already shared" msgstr "Répertoire déjà partagé" +#: dcpp/ADLSearch.h:281 +msgid "Discard" +msgstr "Abandonner" + #: dcpp/BufferedSocket.cpp:404 msgid "Disconnected" msgstr "Déconnecté" @@ -159,7 +162,7 @@ msgid "Disconnected user leaving the hub: %1%" msgstr "Utilisateur déconnecté en sortant de l'hub: %1%" -#: dcpp/DCPlusPlus.cpp:103 +#: dcpp/DCPlusPlus.cpp:107 msgid "Download Queue" msgstr "File d'attente Téléchargements" @@ -268,7 +271,7 @@ msgid "Generated new TLS certificate" msgstr "Nouveau certificat TLS créé" -#: dcpp/DCPlusPlus.cpp:97 +#: dcpp/DCPlusPlus.cpp:101 msgid "Hash database" msgstr "Hachage de la base de données" @@ -345,11 +348,15 @@ msgid "Remove all subdirectories before adding this one" msgstr "Retirer tous les sous-répertoires avant d'ajouter celui-çi" +#: dcpp/BitInputStream.h:40 +msgid "Request to seek beyond the end of data" +msgstr "Demande de chercher au-delà de la fin des données" + #: dcpp/DownloadManager.cpp:225 msgid "Response does not match request" msgstr "Le résultat ne correspond pas a la demande" -#: dcpp/DCPlusPlus.cpp:100 +#: dcpp/DCPlusPlus.cpp:104 msgid "Shared Files" msgstr "Fichiers partagés" @@ -367,6 +374,10 @@ msgid "TLS disabled, no certificate file set" msgstr "TLS désactivé, pas de fichier certificat" +#: dcpp/MerkleCheckOutputStream.h:53 dcpp/MerkleCheckOutputStream.h:113 +msgid "TTH inconsistency" +msgstr "Inconsistance TTH" + #: dcpp/QueueManager.cpp:510 dcpp/QueueManager.cpp:519 msgid "Target filename too long" msgstr "Nom du fichier cible trop long" Modified: dcplusplus/trunk/dcpp/po/gl.po =================================================================== --- dcplusplus/trunk/dcpp/po/gl.po 2008-03-18 21:34:44 UTC (rev 1046) +++ dcplusplus/trunk/dcpp/po/gl.po 2008-03-18 22:12:38 UTC (rev 1047) @@ -7,14 +7,14 @@ msgstr "" "Project-Id-Version: dcpp\n" "Report-Msgid-Bugs-To: dcp...@li...\n" -"POT-Creation-Date: 2008-03-12 21:38+0100\n" -"PO-Revision-Date: 2008-03-04 23:52+0000\n" -"Last-Translator: Anio-pke-users <Unknown>\n" +"POT-Creation-Date: 2008-03-18 22:52+0100\n" +"PO-Revision-Date: 2008-03-13 23:02+0000\n" +"Last-Translator: Jacek Sieka <Unknown>\n" "Language-Team: LANGUAGE <LL...@li...>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2008-03-13 15:20+0000\n" +"X-Launchpad-Export-Date: 2008-03-18 21:20+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: dcpp/Util.cpp:381 @@ -147,6 +147,10 @@ msgid "Directory already shared" msgstr "Directorio xa compartido" +#: dcpp/ADLSearch.h:281 +msgid "Discard" +msgstr "" + #: dcpp/BufferedSocket.cpp:404 msgid "Disconnected" msgstr "Desconectado" @@ -156,7 +160,7 @@ msgid "Disconnected user leaving the hub: %1%" msgstr "" -#: dcpp/DCPlusPlus.cpp:103 +#: dcpp/DCPlusPlus.cpp:107 msgid "Download Queue" msgstr "Cola de Descargas" @@ -261,7 +265,7 @@ msgid "Generated new TLS certificate" msgstr "" -#: dcpp/DCPlusPlus.cpp:97 +#: dcpp/DCPlusPlus.cpp:101 msgid "Hash database" msgstr "Base de datos TTH" @@ -336,11 +340,15 @@ msgid "Remove all subdirectories before adding this one" msgstr "Eliminar tódolos subdirectorios antes de engadir este" +#: dcpp/BitInputStream.h:40 +msgid "Request to seek beyond the end of data" +msgstr "" + #: dcpp/DownloadManager.cpp:225 msgid "Response does not match request" msgstr "" -#: dcpp/DCPlusPlus.cpp:100 +#: dcpp/DCPlusPlus.cpp:104 msgid "Shared Files" msgstr "Ficheros compartidos" @@ -358,6 +366,10 @@ msgid "TLS disabled, no certificate file set" msgstr "" +#: dcpp/MerkleCheckOutputStream.h:53 dcpp/MerkleCheckOutputStream.h:113 +msgid "TTH inconsistency" +msgstr "" + #: dcpp/QueueManager.cpp:510 dcpp/QueueManager.cpp:519 msgid "Target filename too long" msgstr "Nome de ficheiro destino demasiado longo" Modified: dcplusplus/trunk/dcpp/po/he.po =================================================================== --- dcplusplus/trunk/dcpp/po/he.po 2008-03-18 21:34:44 UTC (rev 1046) +++ dcplusplus/trunk/dcpp/po/he.po 2008-03-18 22:12:38 UTC (rev 1047) @@ -7,14 +7,14 @@ msgstr "" "Project-Id-Version: dcpp\n" "Report-Msgid-Bugs-To: dcp...@li...\n" -"POT-Creation-Date: 2008-03-12 21:38+0100\n" -"PO-Revision-Date: 2008-03-04 23:52+0000\n" -"Last-Translator: Kokonsh <Unknown>\n" +"POT-Creation-Date: 2008-03-18 22:52+0100\n" +"PO-Revision-Date: 2008-03-13 23:09+0000\n" +"Last-Translator: Jacek Sieka <Unknown>\n" "Language-Team: LANGUAGE <LL...@li...>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2008-03-13 15:20+0000\n" +"X-Launchpad-Export-Date: 2008-03-18 21:20+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: dcpp/Util.cpp:381 @@ -145,6 +145,10 @@ msgid "Directory already shared" msgstr "התיקיה כבר משותפת" +#: dcpp/ADLSearch.h:281 +msgid "Discard" +msgstr "" + #: dcpp/BufferedSocket.cpp:404 msgid "Disconnected" msgstr "מנותק" @@ -154,7 +158,7 @@ msgid "Disconnected user leaving the hub: %1%" msgstr "" -#: dcpp/DCPlusPlus.cpp:103 +#: dcpp/DCPlusPlus.cpp:107 msgid "Download Queue" msgstr "תור הורדה" @@ -259,7 +263,7 @@ msgid "Generated new TLS certificate" msgstr "" -#: dcpp/DCPlusPlus.cpp:97 +#: dcpp/DCPlusPlus.cpp:101 msgid "Hash database" msgstr "Hash database" @@ -334,12 +338,16 @@ msgid "Remove all subdirectories before adding this one" msgstr "Remove all subdirectories before adding this one" +#: dcpp/BitInputStream.h:40 +msgid "Request to seek beyond the end of data" +msgstr "" + #: dcpp/DownloadManager.cpp:225 #, fuzzy msgid "Response does not match request" msgstr "Downloaded tree does not match TTH root" -#: dcpp/DCPlusPlus.cpp:100 +#: dcpp/DCPlusPlus.cpp:104 msgid "Shared Files" msgstr "קבצים משותפים" @@ -356,6 +364,10 @@ msgid "TLS disabled, no certificate file set" msgstr "" +#: dcpp/MerkleCheckOutputStream.h:53 dcpp/MerkleCheckOutputStream.h:113 +msgid "TTH inconsistency" +msgstr "" + #: dcpp/QueueManager.cpp:510 dcpp/QueueManager.cpp:519 msgid "Target filename too long" msgstr "Target filename too long" Modified: dcplusplus/trunk/dcpp/po/hr.po =================================================================== --- dcplusplus/trunk/dcpp/po/hr.po 2008-03-18 21:34:44 UTC (rev 1046) +++ dcplusplus/trunk/dcpp/po/hr.po 2008-03-18 22:12:38 UTC (rev 1047) @@ -7,14 +7,14 @@ msgstr "" "Project-Id-Version: dcpp\n" "Report-Msgid-Bugs-To: dcp...@li...\n" -"POT-Creation-Date: 2008-03-12 21:38+0100\n" -"PO-Revision-Date: 2008-03-04 23:56+0000\n" -"Last-Translator: Zormu <Unknown>\n" +"POT-Creation-Date: 2008-03-18 22:52+0100\n" +"PO-Revision-Date: 2008-03-13 23:09+0000\n" +"Last-Translator: Jacek Sieka <Unknown>\n" "Language-Team: LANGUAGE <LL...@li...>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2008-03-13 15:20+0000\n" +"X-Launchpad-Export-Date: 2008-03-18 21:20+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: dcpp/Util.cpp:381 @@ -145,6 +145,10 @@ msgid "Directory already shared" msgstr "Direktorij se već dijeli" +#: dcpp/ADLSearch.h:281 +msgid "Discard" +msgstr "" + #: dcpp/BufferedSocket.cpp:404 msgid "Disconnected" msgstr "Prekinuto" @@ -154,7 +158,7 @@ msgid "Disconnected user leaving the hub: %1%" msgstr "" -#: dcpp/DCPlusPlus.cpp:103 +#: dcpp/DCPlusPlus.cpp:107 msgid "Download Queue" msgstr "Datoteke za skidanje" @@ -259,7 +263,7 @@ msgid "Generated new TLS certificate" msgstr "" -#: dcpp/DCPlusPlus.cpp:97 +#: dcpp/DCPlusPlus.cpp:101 msgid "Hash database" msgstr "Hash baze podataka" @@ -334,12 +338,16 @@ msgid "Remove all subdirectories before adding this one" msgstr "Ukloni sve poddirektorije prije dodavanja ovoga" +#: dcpp/BitInputStream.h:40 +msgid "Request to seek beyond the end of data" +msgstr "" + #: dcpp/DownloadManager.cpp:225 #, fuzzy msgid "Response does not match request" msgstr "Skinuto stablo ne odgovara TTH korijenu" -#: dcpp/DCPlusPlus.cpp:100 +#: dcpp/DCPlusPlus.cpp:104 msgid "Shared Files" msgstr "Dijeljene Datoteke" @@ -356,6 +364,10 @@ msgid "TLS disabled, no certificate file set" msgstr "" +#: dcpp/MerkleCheckOutputStream.h:53 dcpp/MerkleCheckOutputStream.h:113 +msgid "TTH inconsistency" +msgstr "" + #: dcpp/QueueManager.cpp:510 dcpp/QueueManager.cpp:519 msgid "Target filename too long" msgstr "Ime odredišne datoteke je predugačko" Modified: dcplusplus/trunk/dcpp/po/hu.po =================================================================== --- dcplusplus/trunk/dcpp/po/hu.po 2008-03-18 21:34:44 UTC (rev 1046) +++ dcplusplus/trunk/dcpp/po/hu.po 2008-03-18 22:12:38 UTC (rev 1047) @@ -7,14 +7,14 @@ msgstr "" "Project-Id-Version: dcplusplus\n" "Report-Msgid-Bugs-To: dcp...@li...\n" -"POT-Creation-Date: 2008-03-12 21:38+0100\n" -"PO-Revision-Date: 2008-03-11 15:41+0000\n" -"Last-Translator: Szabolcs Molnár <Unknown>\n" +"POT-Creation-Date: 2008-03-18 22:52+0100\n" +"PO-Revision-Date: 2008-03-16 22:54+0000\n" +"Last-Translator: eMTee <Unknown>\n" "Language-Team: Hungarian <hu...@li...>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2008-03-13 15:20+0000\n" +"X-Launchpad-Export-Date: 2008-03-18 21:20+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: dcpp/Util.cpp:381 @@ -128,9 +128,8 @@ msgstr "A tanúsítvány nem megbízható, a kapcsolódás nem lehetséges" #: dcpp/BufferedSocket.cpp:148 -#, fuzzy msgid "Connection closed" -msgstr "Időtúllépés" +msgstr "Kapcsolat lezárva" #: dcpp/Socket.cpp:154 dcpp/ConnectionManager.cpp:182 #: dcpp/BufferedSocket.cpp:131 @@ -146,6 +145,10 @@ msgid "Directory already shared" msgstr "A könyvtár már meg van osztva" +#: dcpp/ADLSearch.h:281 +msgid "Discard" +msgstr "Eldob" + #: dcpp/BufferedSocket.cpp:404 msgid "Disconnected" msgstr "Szétkapcsolva" @@ -155,7 +158,7 @@ msgid "Disconnected user leaving the hub: %1%" msgstr "A hubról kilépő felhasználó szétkapcsolva: %1%" -#: dcpp/DCPlusPlus.cpp:103 +#: dcpp/DCPlusPlus.cpp:107 msgid "Download Queue" msgstr "Letöltési Sor" @@ -264,7 +267,7 @@ msgid "Generated new TLS certificate" msgstr "Új TLS tanúsítvány generálva" -#: dcpp/DCPlusPlus.cpp:97 +#: dcpp/DCPlusPlus.cpp:101 msgid "Hash database" msgstr "Hash adatbázis" @@ -341,11 +344,15 @@ msgid "Remove all subdirectories before adding this one" msgstr "Távolíts el minden alkönyvtárat, mielőtt ezt felveszed" +#: dcpp/BitInputStream.h:40 +msgid "Request to seek beyond the end of data" +msgstr "Kérés az adatsor vége utáni pozícionálásra" + #: dcpp/DownloadManager.cpp:225 msgid "Response does not match request" msgstr "A válasz nem felel meg a kérésnek" -#: dcpp/DCPlusPlus.cpp:100 +#: dcpp/DCPlusPlus.cpp:104 msgid "Shared Files" msgstr "Megosztott fájlok" @@ -364,6 +371,10 @@ msgid "TLS disabled, no certificate file set" msgstr "TLS letiltva, nincs tanúsítvány fájl beállítva" +#: dcpp/MerkleCheckOutputStream.h:53 dcpp/MerkleCheckOutputStream.h:113 +msgid "TTH inconsistency" +msgstr "TTH inkonzisztencia" + #: dcpp/QueueManager.cpp:510 dcpp/QueueManager.cpp:519 msgid "Target filename too long" msgstr "A cél fájlneve túl hosszú" Modified: dcplusplus/trunk/dcpp/po/id.po =================================================================== --- dcplusplus/trunk/dcpp/po/id.po 2008-03-18 21:34:44 UTC (rev 1046) +++ dcplusplus/trunk/dcpp/po/id.po 2008-03-18 22:12:38 UTC (rev 1047) @@ -7,14 +7,14 @@ msgstr "" "Project-Id-Version: dcpp\n" "Report-Msgid-Bugs-To: dcp...@li...\n" -"POT-Creation-Date: 2008-03-12 21:38+0100\n" -"PO-Revision-Date: 2008-03-05 00:18+0000\n" +"POT-Creation-Date: 2008-03-18 22:52+0100\n" +"PO-Revision-Date: 2008-03-13 23:09+0000\n" "Last-Translator: Jacek Sieka <Unknown>\n" "Language-Team: LANGUAGE <LL...@li...>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2008-03-13 15:20+0000\n" +"X-Launchpad-Export-Date: 2008-03-18 21:20+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: dcpp/Util.cpp:381 @@ -146,6 +146,10 @@ msgid "Directory already shared" msgstr "Direktori telah dishare" +#: dcpp/ADLSearch.h:281 +msgid "Discard" +msgstr "" + #: dcpp/BufferedSocket.cpp:404 msgid "Disconnected" msgstr "Terputus" @@ -155,7 +159,7 @@ msgid "Disconnected user leaving the hub: %1%" msgstr "" -#: dcpp/DCPlusPlus.cpp:103 +#: dcpp/DCPlusPlus.cpp:107 msgid "Download Queue" msgstr "Antrian Unduh" @@ -258,7 +262,7 @@ msgid "Generated new TLS certificate" msgstr "" -#: dcpp/DCPlusPlus.cpp:97 +#: dcpp/DCPlusPlus.cpp:101 msgid "Hash database" msgstr "Hash-kan basis data" @@ -331,12 +335,16 @@ msgid "Remove all subdirectories before adding this one" msgstr "Hapus semua subdirektori sebelum menambah ini" +#: dcpp/BitInputStream.h:40 +msgid "Request to seek beyond the end of data" +msgstr "" + #: dcpp/DownloadManager.cpp:225 #, fuzzy msgid "Response does not match request" msgstr "Pohon yang diunduh tidak cocok dengan TTH root" -#: dcpp/DCPlusPlus.cpp:100 +#: dcpp/DCPlusPlus.cpp:104 msgid "Shared Files" msgstr "Arsip Ter-Share" @@ -353,6 +361,10 @@ msgid "TLS disabled, no certificate file set" msgstr "" +#: dcpp/MerkleCheckOutputStream.h:53 dcpp/MerkleCheckOutputStream.h:113 +msgid "TTH inconsistency" +msgstr "" + #: dcpp/QueueManager.cpp:510 dcpp/QueueManager.cpp:519 msgid "Target filename too long" msgstr "Nama arsip tujuan terlalu panjang" Modified: dcplusplus/trunk/dcpp/po/is.po =================================================================== --- dcplusplus/trunk/dcpp/po/is.po 2008-03-18 21:34:44 UTC (rev 1046) +++ dcplusplus/trunk/dcpp/po/is.po 2008-03-18 22:12:38 UTC (rev 1047) @@ -7,14 +7,14 @@ msgstr "" "Project-Id-Version: dcpp\n" "Report-Msgid-Bugs-To: dcp...@li...\n" -"POT-Creation-Date: 2008-03-12 21:38+0100\n" -"PO-Revision-Date: 2008-03-05 00:25+0000\n" -"Last-Translator: Dd-hyper <Unknown>\n" +"POT-Creation-Date: 2008-03-18 22:52+0100\n" +"PO-Revision-Date: 2008-03-13 23:09+0000\n" +"Last-Translator: Jacek Sieka <Unknown>\n" "Language-Team: LANGUAGE <LL...@li...>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2008-03-13 15:20+0000\n" +"X-Launchpad-Export-Date: 2008-03-18 21:20+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: dcpp/Util.cpp:381 @@ -149,6 +149,10 @@ msgid "Directory already shared" msgstr "Mappa þegar deild" +#: dcpp/ADLSearch.h:281 +msgid "Discard" +msgstr "" + #: dcpp/BufferedSocket.cpp:404 msgid "Disconnected" msgstr "Aftengd/ur" @@ -158,7 +162,7 @@ msgid "Disconnected user leaving the hub: %1%" msgstr "" -#: dcpp/DCPlusPlus.cpp:103 +#: dcpp/DCPlusPlus.cpp:107 msgid "Download Queue" msgstr "Bið niðurhleðslu" @@ -263,7 +267,7 @@ msgid "Generated new TLS certificate" msgstr "" -#: dcpp/DCPlusPlus.cpp:97 +#: dcpp/DCPlusPlus.cpp:101 msgid "Hash database" msgstr "Geri TTH auðkenni fyrir skrár í deilingu..." @@ -338,12 +342,16 @@ msgid "Remove all subdirectories before adding this one" msgstr "Fjarlægðu allar möppur staðsettar undir þessari á undan" +#: dcpp/BitInputStream.h:40 +msgid "Request to seek beyond the end of data" +msgstr "" + #: dcpp/DownloadManager.cpp:225 #, fuzzy msgid "Response does not match request" msgstr "Sótt auðkenni passar ekki við TTH auðkenningu" -#: dcpp/DCPlusPlus.cpp:100 +#: dcpp/DCPlusPlus.cpp:104 msgid "Shared Files" msgstr "Deildar skrár" @@ -360,6 +368,10 @@ msgid "TLS disabled, no certificate file set" msgstr "" +#: dcpp/MerkleCheckOutputStream.h:53 dcpp/MerkleCheckOutputStream.h:113 +msgid "TTH inconsistency" +msgstr "" + #: dcpp/QueueManager.cpp:510 dcpp/QueueManager.cpp:519 msgid "Target filename too long" msgstr "Nafn á viðfangsefni of langt" Modified: dcplusplus/trunk/dcpp/po/it.po =================================================================== --- dcplusplus/trunk/dcpp/po/it.po 2008-03-18 21:34:44 UTC (rev 1046) +++ dcplusplus/trunk/dcpp/po/it.po 2008-03-18 22:12:38 UTC (rev 1047) @@ -7,14 +7,14 @@ msgstr "" "Project-Id-Version: dcpp\n" "Report-Msgid-Bugs-To: dcp...@li...\n" -"POT-Creation-Date: 2008-03-12 21:38+0100\n" -"PO-Revision-Date: 2008-03-05 09:34+0000\n" +"POT-Creation-Date: 2008-03-18 22:52+0100\n" +"PO-Revision-Date: 2008-03-18 10:53+0000\n" "Last-Translator: Kryppy <Unknown>\n" "Language-Team: LANGUAGE <LL...@li...>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2008-03-13 15:20+0000\n" +"X-Launchpad-Export-Date: 2008-03-18 21:20+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: dcpp/Util.cpp:381 @@ -55,7 +55,7 @@ #: dcpp/NmdcHub.cpp:281 #, boost-format msgid "%1% (Nick unknown)" -msgstr "%1% (Nick usconosciuto)" +msgstr "%1% (Nick sconosciuto)" #: dcpp/HashManager.cpp:767 #, boost-format @@ -131,9 +131,8 @@ msgstr "Certificato non valido, impossibile connettersi" #: dcpp/BufferedSocket.cpp:148 -#, fuzzy msgid "Connection closed" -msgstr "Connessione in timeout" +msgstr "Connessione chiusa" #: dcpp/Socket.cpp:154 dcpp/ConnectionManager.cpp:182 #: dcpp/BufferedSocket.cpp:131 @@ -149,6 +148,10 @@ msgid "Directory already shared" msgstr "Cartella già condivisa" +#: dcpp/ADLSearch.h:281 +msgid "Discard" +msgstr "Abbandona" + #: dcpp/BufferedSocket.cpp:404 msgid "Disconnected" msgstr "Disconnesso" @@ -158,7 +161,7 @@ msgid "Disconnected user leaving the hub: %1%" msgstr "Utente disconnesso lasciando l' hub: %1%" -#: dcpp/DCPlusPlus.cpp:103 +#: dcpp/DCPlusPlus.cpp:107 msgid "Download Queue" msgstr "Download in Coda" @@ -221,8 +224,8 @@ "Failed to set up the socks server for UDP relay (check socks address and " "port)" msgstr "" -"Impossibile impostare il server sockr per il relay UDP (verificare l " -"indirizzo del sock e la porta)" +"Impossibile impostare il server socks per il relay UDP (verificare l " +"indirizzo del sock e la porta)" #: dcpp/ShareManager.cpp:776 #, boost-format @@ -267,7 +270,7 @@ msgid "Generated new TLS certificate" msgstr "Creato nuovo certificato TLS" -#: dcpp/DCPlusPlus.cpp:97 +#: dcpp/DCPlusPlus.cpp:101 msgid "Hash database" msgstr "Archivio hash" @@ -285,7 +288,7 @@ "Hub probably uses an old version of ADC, please encourage the owner to " "upgrade" msgstr "" -"Probabilmente l' Hub utilizza una vechhia versione di ADC , si prega di " +"Probabilmente l' Hub utilizza una vecchia versione di ADC , si prega di " "incoraggiare il proprietario ad aggiornarlo" #: dcpp/DownloadManager.cpp:220 @@ -344,11 +347,15 @@ msgid "Remove all subdirectories before adding this one" msgstr "Elimina tutte le sottocartelle prima di aggiungere questa" +#: dcpp/BitInputStream.h:40 +msgid "Request to seek beyond the end of data" +msgstr "Richiesta di ricercare oltre la fine dei dati" + #: dcpp/DownloadManager.cpp:225 msgid "Response does not match request" msgstr "Risultato non corrisponde con la richiesta" -#: dcpp/DCPlusPlus.cpp:100 +#: dcpp/DCPlusPlus.cpp:104 msgid "Shared Files" msgstr "File Condivisi" @@ -366,6 +373,10 @@ msgid "TLS disabled, no certificate file set" msgstr "TLS disattivato, file certificato non impostato" +#: dcpp/MerkleCheckOutputStream.h:53 dcpp/MerkleCheckOutputStream.h:113 +msgid "TTH inconsistency" +msgstr "incoerenza TTH" + #: dcpp/QueueManager.cpp:510 dcpp/QueueManager.cpp:519 msgid "Target filename too long" msgstr "Nome file di destinazione troppo lungo" Modified: dcplusplus/trunk/dcpp/po/ja.po =================================================================== --- dcplusplus/trunk/dcpp/po/ja.po 2008-03-18 21:34:44 UTC (rev 1046) +++ dcplusplus/trunk/dcpp/po/ja.po 2008-03-18 22:12:38 UTC (rev 1047) @@ -7,14 +7,14 @@ msgstr "" "Project-Id-Version: dcpp\n" "Report-Msgid-Bugs-To: dcp...@li...\n" -"POT-Creation-Date: 2008-03-12 21:38+0100\n" -"PO-Revision-Date: 2008-03-05 00:25+0000\n" -"Last-Translator: Keblo <Unknown>\n" +"POT-Creation-Date: 2008-03-18 22:52+0100\n" +"PO-Revision-Date: 2008-03-13 23:09+0000\n" +"Last-Translator: Jacek Sieka <Unknown>\n" "Language-Team: LANGUAGE <LL...@li...>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2008-03-13 15:20+0000\n" +"X-Launchpad-Export-Date: 2008-03-18 21:20+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: dcpp/Util.cpp:381 @@ -146,6 +146,10 @@ msgid "Directory already shared" msgstr "このディレクトリはすでに共有されています。" +#: dcpp/ADLSearch.h:281 +msgid "Discard" +msgstr "" + #: dcpp/BufferedSocket.cpp:404 msgid "Disconnected" msgstr "切断" @@ -155,7 +159,7 @@ msgid "Disconnected user leaving the hub: %1%" msgstr "" -#: dcpp/DCPlusPlus.cpp:103 +#: dcpp/DCPlusPlus.cpp:107 msgid "Download Queue" msgstr "ダウンロードキュー" @@ -259,7 +263,7 @@ msgid "Generated new TLS certificate" msgstr "" -#: dcpp/DCPlusPlus.cpp:97 +#: dcpp/DCPlusPlus.cpp:101 msgid "Hash database" msgstr "ハッシュデータベース" @@ -334,12 +338,16 @@ msgid "Remove all subdirectories before adding this one" msgstr "追加する前にすべてのサブディレクトリを除外" +#: dcpp/BitInputStream.h:40 +msgid "Request to seek beyond the end of data" +msgstr "" + #: dcpp/DownloadManager.cpp:225 #, fuzzy msgid "Response does not match request" msgstr "ダウンロードしたツリーが TTH の Root と合致しません。" -#: dcpp/DCPlusPlus.cpp:100 +#: dcpp/DCPlusPlus.cpp:104 msgid "Shared Files" msgstr "共有ファイル" @@ -356,6 +364,10 @@ msgid "TLS disabled, no certificate file set" msgstr "" +#: dcpp/MerkleCheckOutputStream.h:53 dcpp/MerkleCheckOutputStream.h:113 +msgid "TTH inconsistency" +msgstr "" + #: dcpp/QueueManager.cpp:510 dcpp/QueueManager.cpp:519 msgid "Target filename too long" msgstr "対象ファイルの名前が長すぎます。" Modified: dcplusplus/trunk/dcpp/po/km.po =================================================================== --- dcplusplus/trunk/dcpp/po/km.po 2008-03-18 21:34:44 UTC (rev 1046) +++ dcplusplus/trunk/dcpp/po/km.po 2008-03-18 22:12:38 UTC (rev 1047) @@ -7,14 +7,14 @@ msgstr "" "Project-Id-Version: dcpp\n" "Report-Msgid-Bugs-To: dcp...@li...\n" -"POT-Creation-Date: 2008-03-12 21:38+0100\n" -"PO-Revision-Date: 2008-03-05 00:26+0000\n" +"POT-Creation-Date: 2008-03-18 22:52+0100\n" +"PO-Revision-Date: 2008-03-13 23:10+0000\n" "Last-Translator: Jacek Sieka <Unknown>\n" "Language-Team: LANGUAGE <LL...@li...>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2008-03-13 15:20+0000\n" +"X-Launchpad-Export-Date: 2008-03-18 21:20+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: dcpp/Util.cpp:381 @@ -145,6 +145,10 @@ msgid "Directory already shared" msgstr "ថតក្រូណូបានចែករំលែករួចហើយ" +#: dcpp/ADLSearch.h:281 +msgid "Discard" +msgstr "" + #: dcpp/BufferedSocket.cpp:404 msgid "Disconnected" msgstr "បានផ្តាច់" @@ -154,7 +158,7 @@ msgid "Disconnected user leaving the hub: %1%" msgstr "" -#: dcpp/DCPlusPlus.cpp:103 +#: dcpp/DCPlusPlus.cpp:107 msgid "Download Queue" msgstr "ទាញយកដាក់ជាជួរ" @@ -257,7 +261,7 @@ msgid "Generated new TLS certificate" msgstr "" -#: dcpp/DCPlusPlus.cpp:97 +#: dcpp/DCPlusPlus.cpp:101 msgid "Hash database" msgstr "មូលដ្ឋានទិន្នន័យច្របូកច្របល់" @@ -330,12 +334,16 @@ msgid "Remove all subdirectories before adding this one" msgstr "យកថតក្រូណូរងចេញទាំងអស់ មុននឹងបន្ថែមមួយនេះ" +#: dcpp/BitInputStream.h:40 +msgid "Request to seek beyond the end of data" +msgstr "" + #: dcpp/DownloadManager.cpp:225 #, fuzzy msgid "Response does not match request" msgstr "មែកធាងពេញលេញ មិនអាចផ្គុផ្គងនឹងឫស TTH" -#: dcpp/DCPlusPlus.cpp:100 +#: dcpp/DCPlusPlus.cpp:104 msgid "Shared Files" msgstr "បានចែករំលែកឯកសារ" @@ -353,6 +361,10 @@ msgid "TLS disabled, no certificate file set" msgstr "" +#: dcpp/MerkleCheckOutputStream.h:53 dcpp/MerkleCheckOutputStream.h:113 +msgid "TTH inconsistency" +msgstr "" + #: dcpp/QueueManager.cpp:510 dcpp/QueueManager.cpp:519 msgid "Target filename too long" msgstr "ឈ្មោះឯកសារគោលដៅវែងណាស់" Modified: dcplusplus/trunk/dcpp/po/ko.po =================================================================== --- dcplusplus/trunk/dcpp/po/ko.po 2008-03-18 21:34:44 UTC (rev 1046) +++ dcplusplus/trunk/dcpp/po/ko.po 2008-03-18 22:12:38 UTC (rev 1047) @@ -7,14 +7,14 @@ msgstr "" "Project-Id-Version: dcpp\n" "Report-Msgid-Bugs-To: dcp...@li...\n" -"POT-Creation-Date: 2008-03-12 21:38+0100\n" -"PO-Revision-Date: 2008-03-05 00:25+0000\n" +"POT-Creation-Date: 2008-03-18 22:52+0100\n" +"PO-Revision-Date: 2008-03-13 23:10+0000\n" "Last-Translator: Jacek Sieka <Unknown>\n" "Language-Team: LANGUAGE <LL...@li...>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2008-03-13 15:20+0000\n" +"X-Launchpad-Export-Date: 2008-03-18 21:20+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: dcpp/Util.cpp:381 @@ -146,6 +146,10 @@ msgid "Directory already shared" msgstr "디렉토리가 이미 공유됨" +#: dcpp/ADLSearch.h:281 +msgid "Discard" +msgstr "" + #: dcpp/BufferedSocket.cpp:404 msgid "Disconnected" msgstr "끊어짐" @@ -155,7 +159,7 @@ msgid "Disconnected user leaving the hub: %1%" msgstr "" -#: dcpp/DCPlusPlus.cpp:103 +#: dcpp/DCPlusPlus.cpp:107 msgid "Download Queue" msgstr "다운로드 대기열" @@ -261,7 +265,7 @@ msgid "Generated new TLS certificate" msgstr "" -#: dcpp/DCPlusPlus.cpp:97 +#: dcpp/DCPlusPlus.cpp:101 msgid "Hash database" msgstr "Hash 데이터베이스" @@ -334,12 +338,16 @@ msgid "Remove all subdirectories before adding this one" msgstr "추가하기 전에 이미 공유된 모든 서브-디렉토리를 공유에서 삭제하세요" +#: dcpp/BitInputStream.h:40 +msgid "Request to seek beyond the end of data" +msgstr "" + #: dcpp/DownloadManager.cpp:225 #, fuzzy msgid "Response does not match request" msgstr "받은 파일-목록의 TTH(Tigertree Hash) Root 값이 일치하지 않음" -#: dcpp/DCPlusPlus.cpp:100 +#: dcpp/DCPlusPlus.cpp:104 msgid "Shared Files" msgstr "파일 공유!" @@ -356,6 +364,10 @@ msgid "TLS disabled, no certificate file set" msgstr "TLS를 사용할 수 없음, 인증 파일 셋이 없음" +#: dcpp/MerkleCheckOutputStream.h:53 dcpp/MerkleChe... [truncated message content] |
From: <zou...@us...> - 2008-03-18 21:35:32
|
Revision: 1046 http://dcplusplus.svn.sourceforge.net/dcplusplus/?rev=1046&view=rev Author: zouzou123gen Date: 2008-03-18 14:34:44 -0700 (Tue, 18 Mar 2008) Log Message: ----------- fix menu rectangles + focus problem with the tray icon Modified Paths: -------------- dcplusplus/trunk/changelog.txt dcplusplus/trunk/smartwin/source/widgets/WidgetMenu.cpp dcplusplus/trunk/win32/MainWindow.cpp Modified: dcplusplus/trunk/changelog.txt =================================================================== --- dcplusplus/trunk/changelog.txt 2008-03-18 20:03:39 UTC (rev 1045) +++ dcplusplus/trunk/changelog.txt 2008-03-18 21:34:44 UTC (rev 1046) @@ -2,6 +2,7 @@ * [L#202563] Fixed some missing translations * Fixed help links (thanks poy) * Use setenv on unix (thanks yakov suraev) +* Fixed out of focus window when restoring from icon (poy) -- 0.705 2008-03-14 -- * Several patches for better *nix compatibility of the core (thanks steven sheehy et al) Modified: dcplusplus/trunk/smartwin/source/widgets/WidgetMenu.cpp =================================================================== --- dcplusplus/trunk/smartwin/source/widgets/WidgetMenu.cpp 2008-03-18 20:03:39 UTC (rev 1045) +++ dcplusplus/trunk/smartwin/source/widgets/WidgetMenu.cpp 2008-03-18 21:34:44 UTC (rev 1046) @@ -585,14 +585,14 @@ // center in the item rectangle rectangle.pos.x += stripWidth + textIconGap; - rectangle.pos.y += rectangle.width() / 2 - 1; + rectangle.pos.y += rectangle.height() / 2 - 1; // select color Canvas::Selector select(canvas, *PenPtr(new Pen(::GetSysColor( COLOR_GRAYTEXT )))); // draw separator canvas.moveTo( rectangle.left(), rectangle.top() ); - canvas.lineTo( rectangle.right(), rectangle.bottom() ); + canvas.lineTo( rectangle.width(), rectangle.top() ); } // end if else // not a seperator, then draw item text and icon { @@ -665,7 +665,7 @@ // adjust icon rectangle imageRectangle.pos.x += ( stripWidth - imageSize.x ) / 2; - imageRectangle.pos.y += ( itemRectangle.width() - imageSize.y ) / 2; + imageRectangle.pos.y += ( itemRectangle.height() - imageSize.y ) / 2; if ( image == NULL ) // drawing item without icon { @@ -687,7 +687,7 @@ const int adjustment = 2; // adjustment for mark to be in the center // bit - blast into out canvas - ::BitBlt( canvas.handle(), imageRectangle.x() + adjustment, imageRectangle.y(), imageSize.x, imageSize.y, memoryDC, 0, 0, SRCAND ); + ::BitBlt( canvas.handle(), imageRectangle.left() + adjustment, imageRectangle.top(), imageSize.x, imageSize.y, memoryDC, 0, 0, SRCAND ); // delete memory dc ::DeleteObject( ::SelectObject( memoryDC, old ) ); Modified: dcplusplus/trunk/win32/MainWindow.cpp =================================================================== --- dcplusplus/trunk/win32/MainWindow.cpp 2008-03-18 20:03:39 UTC (rev 1045) +++ dcplusplus/trunk/win32/MainWindow.cpp 2008-03-18 21:34:44 UTC (rev 1046) @@ -972,6 +972,7 @@ } void MainWindow::handleRestore() { + setVisible(true); if(maximized) { maximize(); } else { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <arn...@us...> - 2008-03-18 20:03:47
|
Revision: 1045 http://dcplusplus.svn.sourceforge.net/dcplusplus/?rev=1045&view=rev Author: arnetheduck Date: 2008-03-18 13:03:39 -0700 (Tue, 18 Mar 2008) Log Message: ----------- patch + split out rectangle Modified Paths: -------------- dcplusplus/trunk/changelog.txt dcplusplus/trunk/dcpp/DCPlusPlus.cpp dcplusplus/trunk/smartwin/include/smartwin/BasicTypes.h dcplusplus/trunk/smartwin/include/smartwin/CanvasClasses.h dcplusplus/trunk/smartwin/include/smartwin/Place.h dcplusplus/trunk/smartwin/include/smartwin/Widget.h dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectSizable.h dcplusplus/trunk/smartwin/include/smartwin/widgets/WidgetCoolbar.h dcplusplus/trunk/smartwin/include/smartwin/widgets/WidgetListViewEditBox.h dcplusplus/trunk/smartwin/include/smartwin/widgets/WidgetStatusBar.h dcplusplus/trunk/smartwin/include/smartwin/widgets/WidgetWindowBase.h dcplusplus/trunk/smartwin/source/BasicTypes.cpp dcplusplus/trunk/smartwin/source/CanvasClasses.cpp dcplusplus/trunk/smartwin/source/Widget.cpp dcplusplus/trunk/smartwin/source/widgets/WidgetMDIChild.cpp dcplusplus/trunk/smartwin/source/widgets/WidgetMDIParent.cpp dcplusplus/trunk/smartwin/source/widgets/WidgetMenu.cpp dcplusplus/trunk/smartwin/source/widgets/WidgetTabSheet.cpp dcplusplus/trunk/smartwin/source/widgets/WidgetTabView.cpp dcplusplus/trunk/win32/CommandDlg.cpp dcplusplus/trunk/win32/CommandDlg.h dcplusplus/trunk/win32/DCPlusPlus.rc dcplusplus/trunk/win32/HubFrame.cpp dcplusplus/trunk/win32/MainWindow.cpp dcplusplus/trunk/win32/MainWindow.h dcplusplus/trunk/win32/PrivateFrame.cpp dcplusplus/trunk/win32/PropPage.cpp dcplusplus/trunk/win32/PropPage.h dcplusplus/trunk/win32/PublicHubsFrame.cpp dcplusplus/trunk/win32/SearchFrame.cpp dcplusplus/trunk/win32/SettingsDialog.cpp dcplusplus/trunk/win32/SettingsDialog.h dcplusplus/trunk/win32/StatsFrame.cpp dcplusplus/trunk/win32/WidgetPaned.h Added Paths: ----------- dcplusplus/trunk/smartwin/include/smartwin/Rectangle.h dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectHelp.h dcplusplus/trunk/smartwin/source/Rectangle.cpp Modified: dcplusplus/trunk/changelog.txt =================================================================== --- dcplusplus/trunk/changelog.txt 2008-03-18 19:30:28 UTC (rev 1044) +++ dcplusplus/trunk/changelog.txt 2008-03-18 20:03:39 UTC (rev 1045) @@ -1,4 +1,9 @@ --- 0.705 2008-03-14 -- +-- 0.706 -- +* [L#202563] Fixed some missing translations +* Fixed help links (thanks poy) +* Use setenv on unix (thanks yakov suraev) + +-- 0.705 2008-03-14 -- * Several patches for better *nix compatibility of the core (thanks steven sheehy et al) * Improve segmented download implementation * Fix search request ip when using multiple ip's (thanks stanislav maslovski) Modified: dcplusplus/trunk/dcpp/DCPlusPlus.cpp =================================================================== --- dcplusplus/trunk/dcpp/DCPlusPlus.cpp 2008-03-18 19:30:28 UTC (rev 1044) +++ dcplusplus/trunk/dcpp/DCPlusPlus.cpp 2008-03-18 20:03:39 UTC (rev 1045) @@ -84,8 +84,12 @@ SettingsManager::getInstance()->load(); if(!SETTING(LANGUAGE).empty()) { +#ifdef _WIN32 string language = "LANGUAGE=" + SETTING(LANGUAGE); putenv(language.c_str()); +#else + setenv("LANGUAGE", SETTING(LANGUAGE).c_str(), true); +#endif // Apparently this is supposted to make gettext reload the message catalog... _nl_msg_cat_cntr++; } Modified: dcplusplus/trunk/smartwin/include/smartwin/BasicTypes.h =================================================================== --- dcplusplus/trunk/smartwin/include/smartwin/BasicTypes.h 2008-03-18 19:30:28 UTC (rev 1044) +++ dcplusplus/trunk/smartwin/include/smartwin/BasicTypes.h 2008-03-18 20:03:39 UTC (rev 1045) @@ -29,7 +29,6 @@ #define BasicTypes_h #include "WindowsHeaders.h" -#include "../../SmartUtil/tstring.h" namespace SmartWin { @@ -38,7 +37,7 @@ /// POD structure for defining a point /** Used in e.g. functions that take a mouse position etc... */ -struct Point : POINT +struct Point : ::POINT { /// Constructor initializing the point with the given arguments. /** Constructor initializing the structure with the given arguments. Takes x and @@ -147,296 +146,6 @@ */ bool operator != ( const Point & lhs, const Point & rhs ); -/// Data structure for defining a rectangle -/** \ingroup WidgetLayout - * The two Point data members, pos and size, define a rectangle. <br> - * pos has the x,y position of the upper-left rectangle coordinate. <br> - * size defines the x and y distance between the upper left and the lower right - * coordinate. <br> - * (pos + size) defines the lower right coordinate. <br> - * Many window functions takes or returns a Rectangle. <br> - * See the Layout module documentation for the use of Rectangle in positioning - * widgets. <br> - * The member functions are helpful in dividing large rectangles into smaller ones, - * which is exactly what is needed to layout widgets in windows. - */ -struct Rectangle -{ - /// Position of the upper left corner of the Rectangle - Point pos; - - /// Size of the Rectangle - Point size; - - /// Constructor initializing the rectangle to (0, 0, 0, 0). - /** Default constructor initializing everything to zero (0) - */ - Rectangle(); - - Rectangle(const RECT& rc); - - /// Constructor initializing the rectangle with a position and size. - /** Note that the pSize is actually a size and NOT the lower right Point. - */ - Rectangle( const Point & pPos, const Point & pSize ); - - /// Constructor initializing the rectangle with a size. - /** Note that the pSize is actually a size and NOT the lower right Point, - * position is defaulted to 0,0. - */ - explicit Rectangle( const Point & pSize ); - - /// Constructor initializing the rectangle with longs instead of Points. - /** ( x,y ) defines the upper right corner, ( x+width, y+height ) defines the - * lower left corner. - */ - Rectangle( long x, long y, long width, long height ); - - /// Constructor creates a new rectangle with a fractional position and size of - /// the old rect. - /** It computes the new rectangle by using subrect(): <br> - * (xFraction * size.x) is the amount to add to pos.x <br> - * size.x *= widthFraction <br> - * <br> - * <pre> - * Examples : - * upper half is r2( r1, 0, 0, 1, 0.5 ) (Same position, same width, 0.5 height ) - * lower half is r2( r1, 0, 0.5, 1, 0.5 ) (y half down, same width, 0.5 height ) - * left half is r2( r1, 0, 0, 0.5, 1 ) (Same position, 0.5 width, same height ) - * right half is r2( r1, 0.5, 0, 0.5, 1 ) - * Lower right quarter is r2( r1, .5, .5, .5, .5) - * center r2 inside r1 is r2( r1, .334, .334, .334, .334) - * </pre> - */ - Rectangle( const Rectangle & rect, - double xFraction, double yFraction, - double widthFraction, double heightFraction ); - - operator RECT() const; - - /// Return the lower right point of the rectangle. - /** Note that the rectangle is defined with pos, and a size, so we need this - * function. <br> - * Example: <br> - * Rectangle r1( 10, 10, 100, 200 ); <br> - * Point lr = r1.LowRight() <br> - * gives lr.x = 110, lr.y = 210 - */ - Point lowRight() const; - - /// Creates a sub rectangle from an old rectangle. - /** The pos is adjusted by the xFraction and yFraction of the - * width and height of r. The size is also shrunk. - * r1.SubRect( 0, 0, 1, 0.5 ) gives the upper half of r1 <br> - * r1.SubRect( 0.5, 0, 0.5, 1 ) gives the right half of r1 <br> - * r1.SubRect( .334, .334, .334, .334 ) centers r2 inside r1 <br> - * r1.SubRect( .2, .2, .6, .6 ) also centers r2 inside r1 <br> - * <pre> - * OOOOOOOOOO is given by subRect( 0.3, 0.5, 0.4, 0.5 ); - * OOOOOOOOOO (x moved 30%, y moved 50% ) - * OOO++++OOO (x resized to 40%, y resized to 50% ) - * OOO++++OOO - * </pre> - */ - Rectangle subRect( double xFraction, double yFraction, - double widthFraction, double heightFraction ) const; - - /// Size of the rectangle will be * factor, Position adjusted for the same center. - /** Creates a smaller rectangle from the old rectangle. <br> - * size.x *= factor, and pos.x is adjusted inwards to compensate. <br> - * <pre> - * #### - * #### -> ## - * #### ## - * #### - * </pre> - * shows the effect of shrink( 0.5 ) <br> - * shrink( long border ) is similar, but removes a constant border amount of - * pixels on all sides. - */ - Rectangle shrink( double factor ) const; - - /// Move inwards by xBorder and shrink the size by 2*xBorder - /** A rectangle of #### changes to ##.<br> - * The rectangle becomes smaller at the left and right, but has the same center. - */ - Rectangle shrinkWidth( long xBorder ) const; - - /// Move inwards by yBorder and shrink the size by 2*yBorder - /** <pre> - * #### - * #### -> #### - * #### #### - * #### - * - * </pre> - * The rectangle becomes smaller at the top and bottom, but has the same center. - */ - Rectangle shrinkHeight( long yBorder ) const; - - /// Move inwards by both xBorder and yBorder and shrink the size by 2*yBorder - /// and 2*xBorder - /** <pre> - * #### - * #### -> ## - * #### ## - * #### - * </pre> - * The rectangle shrinks, but has the same center. - */ - Rectangle shrink( long xBorder, long yBorder ) const; - - /// For both dimensions, move inwards by Border and shrink the size by 2*Border - /** We add border to the position, and subtract it twice from the size. Same as - * shrink( long xBorder, long yBorder ); except the x and y border are the same. - * shrink( double factor ) is similar, but expresses the new rectangle as a - * fraction of the old. - */ - Rectangle shrink( long border ) const; - - /// Return the upper rectangle of height y - /** We return the upper rectangle of height y.<br> - * Example: <br> - * Rectangle rect( 0,0, 100, 100 );<br> - * Rectangle t = rect.getTop( 10 ); - * Now: t.pos = 0,0 t.size = 100,10<br> - */ - Rectangle getTop( long y ) const; - - /// Return the lower rectangle starting from y - /** We return the lower rectangle of height y<br> - * Example: <br> - * Rectangle rect( 0,0, 100, 100 );<br> - * Rectangle t = rect.getBottom( 10 ); - * Now: t.pos = 0,90 t.size = 100,10<br> - */ - Rectangle getBottom( long y ) const; - - /// Return the left rectangle of widght x. - /** We return the left rectangle of width x<br> - * Example: <br> - * Rectangle rect( 0, 0, 100, 100 );<br> - * Rectangle t = rect.getLeft( 10 ); - * Now: t.pos= 0,0 t.size= 10,100<br> - */ - Rectangle getLeft( long x ) const; - - /// Return the right rectangle of widght x. - /** We return the right rectangle of width x<br> - * Example: <br> - * Rectangle rect( 0, 0, 100, 100 );<br> - * Rectangle t = rect.getRight( 10 ); - * Now: t.pos= 90,0 t.size= 10,100<br> - */ - Rectangle getRight( long x ) const; - - /// Move the Upper Left position by adjust, and keep the same Lower Right corner. - /** <pre> - * OOOOOO - * OOOO++ - * OOOO++ - * </pre> - * upperLeftAdjust( Point( 4, 1 ) ); will give the + rectangle afterwards. - */ - Rectangle upperLeftAdjust( const Point & adjust ) const; - - /// Move the Lower Right position by adjust, and keep the same Upper Left corner. - /** <pre> - * ++++O - * ++++O - * OOOOO - * </pre> - * lowerRightAdjust( Point( -1, -1 ) ); will give the + rectangle afterwards. - */ - Rectangle lowerRightAdjust( const Point & adjust ) const; - - /// Produce the Left portion of a Rectangle with portion width, same height, - /// same position. - /** If the original rectangle is as below: <br> - * <pre> - * XXXOOOOOOO - * XXXOOOOOOO - * XXXOOOOOOO - * XXXOOOOOOO - * </pre> - * left( 0.3 )returns the X rectangle. <br> - */ - Rectangle left( double portion = 0.5 ) const; - - /// Produce a Rectangle with the portion % width, same height, position moved to right. - /** Produce a Rectangle with the portion % width, same height, position moved to right. <br> - * <pre> - * OOOOOOO### - * OOOOOOO### - * OOOOOOO### - * OOOOOOO### - * </pre> - * right( 0.3 )returns the # rectangle. <br> - */ - Rectangle right( double portion = 0.5 ) const; - - /// Produce a Rectangle with the portion % height, same width, same position. - /** Produce a Rectangle with the portion % height, same width, same position. <br> - * <pre> - * ########## - * ########## - * OOOOOOOOOO - * OOOOOOOOOO - * </pre> - * top( 0.5 ) or Top() returns the # rectangle. <br> - */ - Rectangle top( double portion = 0.5 ) const; - - /// Produce a Rectangle with the portion % height, same width, position moved downwards. - /** Produce a Rectangle with the portion % height, same width, position moved downwards. <br> - * <pre> - * OOOOOOOOOO - * ########## - * ########## - * ########## - * </pre> - * Bottom( 0.75 ) returns the # rectangle. <br> - */ - Rectangle bottom( double portion = 0.5 ) const; - - /// Produce a Rectangle with the 1/rows % height, same width, rowth position. - /** Produce a Rectangle with the 1/rows % height, same width, rowth position. <br> - * row0 <br> - * row1 <-- Row( 1, 3 ) will return the "row1" rectangle.<br> - * row2 <br> - */ - Rectangle row( int row, int rows ) const; - - /// Produce a Rectangle with the 1/cols % width, same height, colth position. - /** Produce a Rectangle with the 1/cols % width, same height, colth position. <br> - *<br> - * col0 col1 col2 col3 <br> - *<br> - *Col( 2, 4 ) will return the "col2" rectangle.<br> - */ - Rectangle col( int column, int columns ) const; - - /// Produce a Rectangle with the top portion removed - Rectangle cropTop( const int a_ToRemove ) const; - - /// Produce a Rectangle with the bottom portion removed - Rectangle cropBottom( const int a_ToRemove ) const; - - /// Produce a Rectangle with the left portion removed - Rectangle cropLeft( const int a_ToRemove ) const; - - /// Produce a Rectangle with the right portion removed - Rectangle cropRight( const int a_ToRemove ) const; -}; - -bool operator==(const Rectangle& lhs, const Rectangle& rhs); - -/// \ingroup GlobalStuff -/// "Default" Rectangle for window creation -/** The system selects the default position/size for the window. - */ -extern const Rectangle letTheSystemDecide; - // end namespace SmartWin } Modified: dcplusplus/trunk/smartwin/include/smartwin/CanvasClasses.h =================================================================== --- dcplusplus/trunk/smartwin/include/smartwin/CanvasClasses.h 2008-03-18 19:30:28 UTC (rev 1044) +++ dcplusplus/trunk/smartwin/include/smartwin/CanvasClasses.h 2008-03-18 20:03:39 UTC (rev 1045) @@ -160,7 +160,7 @@ /// BitBlasts buffer into specified rectangle of source void blast( const Rectangle & rectangle ) { - if ( ::BitBlt( itsSource, rectangle.pos.x, rectangle.pos.y, rectangle.size.x, rectangle.size.y, this->CanvasType::itsHdc, rectangle.pos.x, rectangle.pos.y, SRCCOPY ) == FALSE ) + if ( ::BitBlt( itsSource, rectangle.x(), rectangle.y(), rectangle.width(), rectangle.height(), this->CanvasType::itsHdc, rectangle.x(), rectangle.y(), SRCCOPY ) == FALSE ) throw xCeption( _T( "Couldn't bit blast in blast()" ) ); } @@ -171,8 +171,8 @@ void drawBitmap( HBITMAP bitmap, const Rectangle & imageRectangle, COLORREF bitmapBackgroundColor, bool drawDisabled ) { // bitmap size - int width = imageRectangle.size.x; - int height = imageRectangle.size.y; + int width = imageRectangle.width(); + int height = imageRectangle.height(); // memory buffer for bitmap HDC memoryDC = ::CreateCompatibleDC( this->CanvasType::itsHdc ); @@ -196,12 +196,12 @@ // bits in the destination DC. The magic ROP comes from the Charles // Petzold's book HGDIOBJ oldBrush = ::SelectObject( this->CanvasType::itsHdc, ::CreateSolidBrush( ::GetSysColor( COLOR_3DHILIGHT ) ) ); - ::BitBlt( this->CanvasType::itsHdc, imageRectangle.pos.x, imageRectangle.pos.y, width, height, maskDC, 0, 0, 0xB8074A ); + ::BitBlt( this->CanvasType::itsHdc, imageRectangle.left(), imageRectangle.top(), width, height, maskDC, 0, 0, 0xB8074A ); // BitBlt the black bits in the monochrome bitmap into COLOR_3DSHADOW // bits in the destination DC ::DeleteObject( ::SelectObject( this->CanvasType::itsHdc, ::CreateSolidBrush( ::GetSysColor( COLOR_3DSHADOW ) ) ) ); - ::BitBlt( this->CanvasType::itsHdc, imageRectangle.pos.x, imageRectangle.pos.y, width, height, maskDC, 0, 0, 0xB8074A ); + ::BitBlt( this->CanvasType::itsHdc, imageRectangle.left(), imageRectangle.top(), width, height, maskDC, 0, 0, 0xB8074A ); ::DeleteObject( ::SelectObject( this->CanvasType::itsHdc, oldBrush ) ); } else // draw bitmap with transparency @@ -217,8 +217,8 @@ // set bitmap background to black ::BitBlt( memoryDC, 0, 0, width, height, backMaskDC, 0, 0, SRCAND ); - ::BitBlt( this->CanvasType::itsHdc, imageRectangle.pos.x, imageRectangle.pos.y, width, height, maskDC, 0, 0, SRCAND ); - ::BitBlt( this->CanvasType::itsHdc, imageRectangle.pos.x, imageRectangle.pos.y, width, height, memoryDC, 0, 0, SRCPAINT ); + ::BitBlt( this->CanvasType::itsHdc, imageRectangle.left(), imageRectangle.top(), width, height, maskDC, 0, 0, SRCAND ); + ::BitBlt( this->CanvasType::itsHdc, imageRectangle.left(), imageRectangle.top(), width, height, memoryDC, 0, 0, SRCPAINT ); // clear ::DeleteObject( ::SelectObject( backMaskDC, oldBackMaskBitmap ) ); Modified: dcplusplus/trunk/smartwin/include/smartwin/Place.h =================================================================== --- dcplusplus/trunk/smartwin/include/smartwin/Place.h 2008-03-18 19:30:28 UTC (rev 1044) +++ dcplusplus/trunk/smartwin/include/smartwin/Place.h 2008-03-18 20:03:39 UTC (rev 1045) @@ -26,9 +26,11 @@ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -#ifndef Place_h -#define Place_h +#ifndef SMARTWIN_Place_h +#define SMARTWIN_Place_h +#include "Rectangle.h" + namespace SmartWin { // begin namespace SmartWin @@ -77,10 +79,10 @@ /** This is suitable for cases in which you want place objects inside a rect * that does NOT have to start at 0,0. */ - void setBoundsBorders( const SmartWin::Rectangle & rect, const int borderX = 0, + void setBoundsBorders( const Rectangle & rect, const int borderX = 0, const int borderY = 0 ) { - setBoundsBorders( rect.pos, rect.lowRight(), borderX, borderY ); + setBoundsBorders( rect.upperLeft(), rect.lowRight(), borderX, borderY ); } /// Set the bounds and borders from a size. (implied 0,0 position) @@ -134,10 +136,10 @@ obj.pos = itsPos; // Return current position - itsPos.x += obj.size.x + itsBorder.x; // Update next position. - if ( itsMaxYInLine < obj.size.y ) + itsPos.x += obj.width() + itsBorder.x; // Update next position. + if ( itsMaxYInLine < obj.height() ) { - itsMaxYInLine = obj.size.y; // Update max y + itsMaxYInLine = obj.height(); // Update max y } } @@ -173,17 +175,17 @@ */ void positionBelow( struct Rectangle & obj ) { - if ( obj.size.y <= itsLowRight.y ) + if ( obj.height() <= itsLowRight.y ) { newColIfNeeded( obj ); } obj.pos = itsPos; // Return current position - itsPos.y += obj.size.y + itsBorder.y; // Update next position. - if ( itsMaxXInCol < obj.size.x ) + itsPos.y += obj.height() + itsBorder.y; // Update next position. + if ( itsMaxXInCol < obj.width() ) { - itsMaxXInCol = obj.size.x; // Update max x + itsMaxXInCol = obj.width(); // Update max x } } @@ -236,10 +238,10 @@ void newRowIfNeeded( struct Rectangle & obj ) { // If the obj's size is larger than the area's size, then skip the new row. - if ( obj.size.x > ( itsLowRight.x - itsUpLeft.x ) ) return; + if ( obj.width() > ( itsLowRight.x - itsUpLeft.x ) ) return; // If the object would extend past the area, then do a new row. - if ( ( itsPos.x + obj.size.x + itsBorder.x ) > itsLowRight.x ) + if ( ( itsPos.x + obj.width() + itsBorder.x ) > itsLowRight.x ) { newRow(); } @@ -247,7 +249,7 @@ void newColIfNeeded( struct Rectangle & obj ) { - if ( ( itsPos.y + obj.size.y + itsBorder.y ) > itsLowRight.y ) + if ( ( itsPos.y + obj.height() + itsBorder.y ) > itsLowRight.y ) { newCol(); } Added: dcplusplus/trunk/smartwin/include/smartwin/Rectangle.h =================================================================== --- dcplusplus/trunk/smartwin/include/smartwin/Rectangle.h (rev 0) +++ dcplusplus/trunk/smartwin/include/smartwin/Rectangle.h 2008-03-18 20:03:39 UTC (rev 1045) @@ -0,0 +1,282 @@ +#ifndef SMARTWIN_RECTANGLE_H_ +#define SMARTWIN_RECTANGLE_H_ + +#include "BasicTypes.h" + +namespace SmartWin { +/// Data structure for defining a rectangle +/** \ingroup WidgetLayout + * The member functions are helpful in dividing large rectangles into smaller ones, + * which is exactly what is needed to layout widgets in windows. + */ +struct Rectangle { + Point pos; + + Point size; + + /// Constructor initializing the rectangle to (0, 0, 0, 0). + /** Default constructor initializing everything to zero (0) + */ + Rectangle() { }; + + Rectangle(const ::RECT& rc) : pos(rc.left, rc.top), size(rc.right - rc.left, rc.bottom - rc.top) { } + + /// Constructor initializing the rectangle with a position and size. + /** Note that the pSize is actually a size and NOT the lower right Point. + */ + Rectangle( const Point & pPos, const Point & pSize ) : pos(pPos), size(pSize) { } + + /// Constructor initializing the rectangle with a size. + /** Top-left becomes (0, 0), while bottom-right is set to pSize. + */ + explicit Rectangle( const Point & pSize ) : pos(0, 0), size(pSize) { } + + operator ::RECT() const; + + /// Constructor initializing the rectangle with longs instead of Points. + /** ( x,y ) defines the upper right corner, ( x+width, y+height ) defines the + * lower left corner. + */ + Rectangle( long x, long y, long width, long height ); + + long left() const { return pos.x; } + long x() const { return left(); } + + long top() const { return pos.y; } + long y() const {return top(); } + + long right() const { return left() + width(); } + + long bottom() const { return top() + height(); } + + long width() const { return size.x; } + + long height() const { return size.y; } + + const Point& upperLeft() const { return pos; } + + /// Return the lower right point of the rectangle. + /** + * Example: <br> + * Rectangle r1( 10, 10, 100, 200 ); <br> + * Point lr = r1.LowRight() <br> + * gives lr.x = 110, lr.y = 210 + */ + Point lowRight() const { return Point(x() + width(), y() + height()); } + + /// Creates a sub rectangle from an old rectangle. + /** The pos is adjusted by the xFraction and yFraction of the + * width and height of r. The size is also shrunk. + * r1.SubRect( 0, 0, 1, 0.5 ) gives the upper half of r1 <br> + * r1.SubRect( 0.5, 0, 0.5, 1 ) gives the right half of r1 <br> + * r1.SubRect( .334, .334, .334, .334 ) centers r2 inside r1 <br> + * r1.SubRect( .2, .2, .6, .6 ) also centers r2 inside r1 <br> + * <pre> + * OOOOOOOOOO is given by subRect( 0.3, 0.5, 0.4, 0.5 ); + * OOOOOOOOOO (x moved 30%, y moved 50% ) + * OOO++++OOO (x resized to 40%, y resized to 50% ) + * OOO++++OOO + * </pre> + */ + Rectangle subRect( double xFraction, double yFraction, + double widthFraction, double heightFraction ) const; + + /// Size of the rectangle will be * factor, Position adjusted for the same center. + /** Creates a smaller rectangle from the old rectangle. <br> + * size.x *= factor, and pos.x is adjusted inwards to compensate. <br> + * <pre> + * #### + * #### -> ## + * #### ## + * #### + * </pre> + * shows the effect of shrink( 0.5 ) <br> + * shrink( long border ) is similar, but removes a constant border amount of + * pixels on all sides. + */ + Rectangle shrink( double factor ) const; + + /// Move inwards by xBorder and shrink the size by 2*xBorder + /** A rectangle of #### changes to ##.<br> + * The rectangle becomes smaller at the left and right, but has the same center. + */ + Rectangle shrinkWidth( long xBorder ) const; + + /// Move inwards by yBorder and shrink the size by 2*yBorder + /** <pre> + * #### + * #### -> #### + * #### #### + * #### + * + * </pre> + * The rectangle becomes smaller at the top and bottom, but has the same center. + */ + Rectangle shrinkHeight( long yBorder ) const; + + /// Move inwards by both xBorder and yBorder and shrink the size by 2*yBorder + /// and 2*xBorder + /** <pre> + * #### + * #### -> ## + * #### ## + * #### + * </pre> + * The rectangle shrinks, but has the same center. + */ + Rectangle shrink( long xBorder, long yBorder ) const; + + /// For both dimensions, move inwards by Border and shrink the size by 2*Border + /** We add border to the position, and subtract it twice from the size. Same as + * shrink( long xBorder, long yBorder ); except the x and y border are the same. + * shrink( double factor ) is similar, but expresses the new rectangle as a + * fraction of the old. + */ + Rectangle shrink( long border ) const; + + /// Return the upper rectangle of height y + /** We return the upper rectangle of height y.<br> + * Example: <br> + * Rectangle rect( 0,0, 100, 100 );<br> + * Rectangle t = rect.getTop( 10 ); + * Now: t.pos = 0,0 t.size = 100,10<br> + */ + Rectangle getTop( long y ) const; + + /// Return the lower rectangle starting from y + /** We return the lower rectangle of height y<br> + * Example: <br> + * Rectangle rect( 0,0, 100, 100 );<br> + * Rectangle t = rect.getBottom( 10 ); + * Now: t.pos = 0,90 t.size = 100,10<br> + */ + Rectangle getBottom( long y ) const; + + /// Return the left rectangle of widght x. + /** We return the left rectangle of width x<br> + * Example: <br> + * Rectangle rect( 0, 0, 100, 100 );<br> + * Rectangle t = rect.getLeft( 10 ); + * Now: t.pos= 0,0 t.size= 10,100<br> + */ + Rectangle getLeft( long x ) const; + + /// Return the right rectangle of widght x. + /** We return the right rectangle of width x<br> + * Example: <br> + * Rectangle rect( 0, 0, 100, 100 );<br> + * Rectangle t = rect.getRight( 10 ); + * Now: t.pos= 90,0 t.size= 10,100<br> + */ + Rectangle getRight( long x ) const; + + /// Move the Upper Left position by adjust, and keep the same Lower Right corner. + /** <pre> + * OOOOOO + * OOOO++ + * OOOO++ + * </pre> + * upperLeftAdjust( Point( 4, 1 ) ); will give the + rectangle afterwards. + */ + Rectangle upperLeftAdjust( const Point & adjust ) const; + + /// Move the Lower Right position by adjust, and keep the same Upper Left corner. + /** <pre> + * ++++O + * ++++O + * OOOOO + * </pre> + * lowerRightAdjust( Point( -1, -1 ) ); will give the + rectangle afterwards. + */ + Rectangle lowerRightAdjust( const Point & adjust ) const; + + /// Produce the Left portion of a Rectangle with portion width, same height, + /// same position. + /** If the original rectangle is as below: <br> + * <pre> + * XXXOOOOOOO + * XXXOOOOOOO + * XXXOOOOOOO + * XXXOOOOOOO + * </pre> + * left( 0.3 )returns the X rectangle. <br> + */ + Rectangle toleft( double portion = 0.5 ) const; + + /// Produce a Rectangle with the portion % width, same height, position moved to right. + /** Produce a Rectangle with the portion % width, same height, position moved to right. <br> + * <pre> + * OOOOOOO### + * OOOOOOO### + * OOOOOOO### + * OOOOOOO### + * </pre> + * right( 0.3 )returns the # rectangle. <br> + */ + Rectangle toright( double portion = 0.5 ) const; + + /// Produce a Rectangle with the portion % height, same width, same position. + /** Produce a Rectangle with the portion % height, same width, same position. <br> + * <pre> + * ########## + * ########## + * OOOOOOOOOO + * OOOOOOOOOO + * </pre> + * top( 0.5 ) or Top() returns the # rectangle. <br> + */ + Rectangle upper( double portion = 0.5 ) const; + + /// Produce a Rectangle with the portion % height, same width, position moved downwards. + /** Produce a Rectangle with the portion % height, same width, position moved downwards. <br> + * <pre> + * OOOOOOOOOO + * ########## + * ########## + * ########## + * </pre> + * Bottom( 0.75 ) returns the # rectangle. <br> + */ + Rectangle lower( double portion = 0.5 ) const; + + /// Produce a Rectangle with the 1/rows % height, same width, rowth position. + /** Produce a Rectangle with the 1/rows % height, same width, rowth position. <br> + * row0 <br> + * row1 <-- Row( 1, 3 ) will return the "row1" rectangle.<br> + * row2 <br> + */ + Rectangle row( int row, int rows ) const; + + /// Produce a Rectangle with the 1/cols % width, same height, colth position. + /** Produce a Rectangle with the 1/cols % width, same height, colth position. <br> + *<br> + * col0 col1 col2 col3 <br> + *<br> + *Col( 2, 4 ) will return the "col2" rectangle.<br> + */ + Rectangle col( int column, int columns ) const; + + /// Produce a Rectangle with the top portion removed + Rectangle cropTop( const int a_ToRemove ) const; + + /// Produce a Rectangle with the bottom portion removed + Rectangle cropBottom( const int a_ToRemove ) const; + + /// Produce a Rectangle with the left portion removed + Rectangle cropLeft( const int a_ToRemove ) const; + + /// Produce a Rectangle with the right portion removed + Rectangle cropRight( const int a_ToRemove ) const; +}; + +bool operator==(const Rectangle& lhs, const Rectangle& rhs); + +/// \ingroup GlobalStuff +/// "Default" Rectangle for window creation +/** The system selects the default position/size for the window. + */ +extern const Rectangle letTheSystemDecide; + +} + +#endif /*RECTANGLE_H_*/ Modified: dcplusplus/trunk/smartwin/include/smartwin/Widget.h =================================================================== --- dcplusplus/trunk/smartwin/include/smartwin/Widget.h 2008-03-18 19:30:28 UTC (rev 1044) +++ dcplusplus/trunk/smartwin/include/smartwin/Widget.h 2008-03-18 20:03:39 UTC (rev 1045) @@ -29,8 +29,9 @@ #define Widget_h #include "Atom.h" -#include "BasicTypes.h" +#include "Rectangle.h" #include "Message.h" +#include "../../SmartUtil/tstring.h" #include <boost/noncopyable.hpp> #include <memory> Added: dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectHelp.h =================================================================== --- dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectHelp.h (rev 0) +++ dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectHelp.h 2008-03-18 20:03:39 UTC (rev 1045) @@ -0,0 +1,20 @@ +#ifndef ASPECTHELP_H_ +#define ASPECTHELP_H_ + +namespace SmartWin { + +template<typename WidgetType> +class AspectHelp { + typedef Dispatchers::VoidVoid<TRUE> Dispatcher; + +public: + void onHelp(const typename Dispatcher::F& f) { + static_cast<WidgetType*>(this)->setCallback( + Message( WM_HELP ), Dispatcher(f) + ); + } +}; + +} + +#endif /*ASPECTHELP_H_*/ Modified: dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectSizable.h =================================================================== --- dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectSizable.h 2008-03-18 19:30:28 UTC (rev 1044) +++ dcplusplus/trunk/smartwin/include/smartwin/aspects/AspectSizable.h 2008-03-18 20:03:39 UTC (rev 1045) @@ -323,7 +323,7 @@ void AspectSizable< WidgetType >::setBounds( const Rectangle & rect, bool updateWindow ) { if ( ::MoveWindow( static_cast< WidgetType * >( this )->handle(), - rect.pos.x, rect.pos.y, rect.size.x, rect.size.y, updateWindow ? TRUE : FALSE ) == 0 ) + rect.x(), rect.y(), rect.width(), rect.height(), updateWindow ? TRUE : FALSE ) == 0 ) { xCeption err( _T( "Couldn't reposition windows" ) ); throw err; @@ -371,8 +371,8 @@ int yPos = rect.pos.y + border; // Start with current y and first border. yPos += rownum * ( border + ySize ); // Accumulate other rows and borders - ::MoveWindow( static_cast< WidgetType * >( this )->handle(), rect.pos.x, yPos, - rect.size.x, ySize, updateWindow ? TRUE : FALSE ); + ::MoveWindow( static_cast< WidgetType * >( this )->handle(), rect.x(), yPos, + rect.width(), ySize, updateWindow ? TRUE : FALSE ); } template< class WidgetType > @@ -380,11 +380,11 @@ int border, bool updateWindow ) { int totBorder = border * ( cols + 1 ); - int xSize = ( rect.size.x - totBorder ) / cols; - int xPos = rect.pos.x + border; // Start with current X and first border + int xSize = ( rect.width() - totBorder ) / cols; + int xPos = rect.x() + border; // Start with current X and first border xPos += colnum * ( border + xSize ); // Accumulate other columns and borders - ::MoveWindow( static_cast< WidgetType * >( this )->handle(), xPos, rect.pos.y, xSize, rect.size.y, updateWindow ? TRUE : FALSE ); + ::MoveWindow( static_cast< WidgetType * >( this )->handle(), xPos, rect.y(), xSize, rect.height(), updateWindow ? TRUE : FALSE ); } template< class WidgetType > Modified: dcplusplus/trunk/smartwin/include/smartwin/widgets/WidgetCoolbar.h =================================================================== --- dcplusplus/trunk/smartwin/include/smartwin/widgets/WidgetCoolbar.h 2008-03-18 19:30:28 UTC (rev 1044) +++ dcplusplus/trunk/smartwin/include/smartwin/widgets/WidgetCoolbar.h 2008-03-18 20:03:39 UTC (rev 1045) @@ -155,7 +155,7 @@ { #ifdef PORT_ME WidgetRadioButtonPtr retVal ( WidgetCreator< WidgetRadioButton >::create( parent, internal_::getTypedParentOrThrow < EventHandlerClass * >( this ), cs ) ); - retVal->setBounds( 0, 0, cs.location.size.x, cs.location.size.y ); + retVal->setBounds( 0, 0, cs.location.width(), cs.location.size.y ); parent->addChild( retVal ); return retVal; #endif @@ -168,8 +168,8 @@ typename A_Seed::WidgetType::ObjectType sow( const /*typename*/ A_Seed & cs, const SmartUtil::tstring & label = _T("") ) { typename A_Seed::WidgetType::ObjectType retVal ( WidgetCreator< typename A_Seed::WidgetType >::create( this, cs ) ); - retVal->setBounds( 0, 0, cs.location.size.x, cs.location.size.y ); - this->addChild( retVal, cs.location.size.x, cs.location.size.y, label ); + retVal->setBounds( 0, 0, cs.location.width(), cs.location.size.y ); + this->addChild( retVal, cs.location.width(), cs.location.size.y, label ); return retVal; } @@ -191,9 +191,9 @@ // ( const typename WidgetCoolbar< EventHandlerClass >::Seed & cs, const SmartUtil::tstring & label = _T("") ) //{ // typename WidgetCoolbar< EventHandlerClass >::ObjectType retVal (WidgetCreator< typename WidgetCoolbar< EventHandlerClass > >::create( this, cs )); - // retVal->setBounds( 0, 0, cs.rect.size.x, cs.rect.size.y ); + // retVal->setBounds( 0, 0, cs.rect.width(), cs.rect.size.y ); // //TODO: use something like cs.itsOpenedHeight - // this->addChild( retVal, cs.rect.size.x, cs.rect.size.y, label ); + // this->addChild( retVal, cs.rect.width(), cs.rect.size.y, label ); // return retVal; //} @@ -241,7 +241,7 @@ // They mess up with my macros to check delimiters ... SmartWin::Rectangle rect; if ( ::MoveWindow( this->handle(), - rect.pos.x, rect.pos.y, rect.size.x, rect.size.y, TRUE ) == 0 ) + rect.x(), rect.y(), rect.width(), rect.height(), TRUE ) == 0 ) { xCeption err( _T( "Couldn't reposition windows" ) ); throw err; Modified: dcplusplus/trunk/smartwin/include/smartwin/widgets/WidgetListViewEditBox.h =================================================================== --- dcplusplus/trunk/smartwin/include/smartwin/widgets/WidgetListViewEditBox.h 2008-03-18 19:30:28 UTC (rev 1044) +++ dcplusplus/trunk/smartwin/include/smartwin/widgets/WidgetListViewEditBox.h 2008-03-18 20:03:39 UTC (rev 1045) @@ -95,7 +95,7 @@ WINDOWPOS * pos = ( WINDOWPOS * ) lPar; pos->x = itsRect.pos.x; pos->y = itsRect.pos.y; - pos->cx = itsRect.size.x - itsRect.pos.x; + pos->cx = itsRect.width() - itsRect.pos.x; pos->cy = itsRect.size.y - itsRect.pos.y; } break; #endif Modified: dcplusplus/trunk/smartwin/include/smartwin/widgets/WidgetStatusBar.h =================================================================== --- dcplusplus/trunk/smartwin/include/smartwin/widgets/WidgetStatusBar.h 2008-03-18 19:30:28 UTC (rev 1044) +++ dcplusplus/trunk/smartwin/include/smartwin/widgets/WidgetStatusBar.h 2008-03-18 20:03:39 UTC (rev 1045) @@ -208,7 +208,7 @@ // size after the main window is being resized. SmartWin::Rectangle rect; if ( ::MoveWindow( this->handle(), - rect.pos.x, rect.pos.y, rect.size.x, rect.size.y, TRUE ) == 0 ) + rect.x(), rect.y(), rect.width(), rect.height(), TRUE ) == 0 ) { xCeption err( _T( "Couldn't reposition windows" ) ); throw err; Modified: dcplusplus/trunk/smartwin/include/smartwin/widgets/WidgetWindowBase.h =================================================================== --- dcplusplus/trunk/smartwin/include/smartwin/widgets/WidgetWindowBase.h 2008-03-18 19:30:28 UTC (rev 1044) +++ dcplusplus/trunk/smartwin/include/smartwin/widgets/WidgetWindowBase.h 2008-03-18 20:03:39 UTC (rev 1045) @@ -40,6 +40,7 @@ #include "../aspects/AspectEraseBackground.h" #include "../aspects/AspectFocus.h" #include "../aspects/AspectFont.h" +#include "../aspects/AspectHelp.h" #include "../aspects/AspectKeyboard.h" #include "../aspects/AspectMouse.h" #include "../aspects/AspectPainting.h" @@ -93,6 +94,7 @@ public AspectEraseBackground< WidgetWindowBase< Policy > >, public AspectFocus< WidgetWindowBase< Policy > >, public AspectFont< WidgetWindowBase< Policy > >, + public AspectHelp< WidgetWindowBase< Policy > >, public AspectKeyboard< WidgetWindowBase< Policy > >, public AspectMouse< WidgetWindowBase< Policy > >, public AspectPainting< WidgetWindowBase< Policy > >, Modified: dcplusplus/trunk/smartwin/source/BasicTypes.cpp =================================================================== --- dcplusplus/trunk/smartwin/source/BasicTypes.cpp 2008-03-18 19:30:28 UTC (rev 1044) +++ dcplusplus/trunk/smartwin/source/BasicTypes.cpp 2008-03-18 20:03:39 UTC (rev 1045) @@ -115,213 +115,5 @@ return pt; } -Rectangle::Rectangle() - : pos( Point() ), size( Point() ) -{} - -Rectangle::Rectangle( const RECT & rc ) : - pos(rc.left, rc.top), size(rc.right - rc.left, rc.bottom - rc.top) -{ -} - -Rectangle::Rectangle( const Point & pPos, const Point & pSize ) - : pos( pPos ), size( pSize ) -{} - -Rectangle::Rectangle( const Point & pSize ) - : size( pSize ) -{} - -Rectangle::Rectangle( long x, long y, long width, long height ) - : pos( x, y ), size( width, height ) -{} - -Rectangle::Rectangle( const Rectangle & rect, - double xFraction, double yFraction, - double widthFraction, double heightFraction ) - : pos( rect.pos ), size( rect.size ) -{ - * this = subRect( xFraction, yFraction, widthFraction, heightFraction ); -} - -Rectangle::operator RECT() const -{ - RECT retVal; - retVal.left = pos.x; - retVal.top = pos.y; - retVal.right = pos.x + size.x; - retVal.bottom = pos.y + size.y; - return retVal; -} - -Point Rectangle::lowRight() const -{ - return Point( pos.x + size.x, pos.y + size.y ); -} - -Rectangle Rectangle::subRect( double xFraction, double yFraction, - double widthFraction, double heightFraction ) const -{ - Rectangle retVal; - retVal.pos.x = pos.x + ( long )( xFraction * size.x ); - retVal.pos.y = pos.y + ( long )( yFraction * size.y ); - - retVal.size.x = ( long )( size.x * widthFraction ); - retVal.size.y = ( long )( size.y * heightFraction ); - return retVal; -} - -// Size of the rectangle will be * factor. -// Position adjusted for the same center. -Rectangle Rectangle::shrink( double factor ) const -{ - double posFactor = ( 1.0 - factor ) * 0.5; - return subRect( posFactor, posFactor, factor, factor ); -} - -Rectangle Rectangle::shrinkWidth( long xBorder ) const -{ - Rectangle retVal = * this; - retVal.pos.x = pos.x + xBorder; - retVal.size.x = size.x - ( xBorder + xBorder ); - return retVal; -} - -Rectangle Rectangle::shrinkHeight( long yBorder ) const -{ - Rectangle retVal = * this; - retVal.pos.y += yBorder; - retVal.size.y -= ( yBorder + yBorder ); - return retVal; -} - -Rectangle Rectangle::shrink( long border ) const -{ - Rectangle retVal = shrinkWidth( border ); - retVal = retVal.shrinkHeight( border ); - return retVal; -} - -Rectangle Rectangle::shrink( long xBorder, long yBorder ) const -{ - Rectangle retVal = shrinkWidth( xBorder ); - retVal = retVal.shrinkHeight( yBorder ); - return retVal; -} - -Rectangle Rectangle::getTop( long y ) const -{ - Rectangle top = Rectangle( pos, Point( size.x, y ) ); - return top; -} - -Rectangle Rectangle::getBottom( long y ) const -{ - Rectangle bottom = Rectangle( - Point( pos.x, pos.y + size.y - y ), - Point( size.x, y ) ); - return bottom; -} - -Rectangle Rectangle::getLeft( long x ) const -{ - Rectangle left = Rectangle( pos, Point( x, size.y ) ); - return left; -} - -Rectangle Rectangle::getRight( long x ) const -{ - Rectangle bottom = Rectangle( - Point( pos.x + size.x - x, pos.y ), - Point( x, size.y ) ); - return bottom; -} - -Rectangle Rectangle::upperLeftAdjust( const Point & adjust ) const -{ - Rectangle retVal = * this; - retVal.pos.x += adjust.x; - retVal.pos.y += adjust.y; - retVal.size.x -= adjust.x; - retVal.size.y -= adjust.y; - return retVal; -} - -Rectangle Rectangle::lowerRightAdjust( const Point & adjust ) const -{ - Rectangle retVal = * this; - retVal.size.x += adjust.x; - retVal.size.y += adjust.y; - return retVal; -} - -Rectangle Rectangle::left( double portion ) const -{ - return Rectangle( pos.x, pos.y, ( long ) ( size.x * portion ), size.y ); -} - -Rectangle Rectangle::right( double portion ) const -{ - return Rectangle( pos.x + ( long ) ( ( 1.0 - portion ) * size.x ), pos.y, - ( long ) ( size.x * portion ), size.y ); -} - -Rectangle Rectangle::top( double portion ) const -{ - return Rectangle( pos.x, pos.y, size.x, ( long ) ( size.y * portion ) ); -} - -Rectangle Rectangle::bottom( double portion ) const -{ - return Rectangle( pos.x, pos.y + ( long ) ( ( 1.0 - portion ) * size.y ), - size.x, ( long ) ( size.y * portion ) ); -} - -Rectangle Rectangle::row( int row, int rows ) const -{ - int rowheight = size.y / rows; - return Rectangle( pos.x, pos.y + ( row * rowheight ), size.x, rowheight ); -} - -Rectangle Rectangle::col( int column, int columns ) const -{ - int colwidth = size.x / columns; - return( Rectangle( pos.x + ( colwidth * column ), pos.y, colwidth, size.y ) ); -} - -Rectangle Rectangle::cropTop( const int a_ToRemove ) const -{ - register int d_NewSize = size.y - a_ToRemove; - - return Rectangle( pos.x, pos.y + a_ToRemove, size.x, d_NewSize > 0 ? d_NewSize : 0 ); -} - -Rectangle Rectangle::cropBottom( const int a_ToRemove ) const -{ - register int d_NewSize = size.y - a_ToRemove; - - return Rectangle( pos.x, pos.y, size.x, d_NewSize > 0 ? d_NewSize : 0 ); -} - -Rectangle Rectangle::cropLeft( const int a_ToRemove ) const -{ - register int d_NewSize = size.x - a_ToRemove; - - return Rectangle( pos.x + a_ToRemove, pos.y, d_NewSize > 0 ? d_NewSize : 0, size.y ); -} - -Rectangle Rectangle::cropRight( const int a_ToRemove ) const -{ - register int d_NewSize = size.x - a_ToRemove; - - return Rectangle( pos.x, pos.y, d_NewSize > 0 ? d_NewSize : 0, size.y ); -} - -bool operator==(const Rectangle& lhs, const Rectangle& rhs) { - return lhs.pos == rhs.pos && lhs.size == rhs.size; -} - -const SmartWin::Rectangle letTheSystemDecide( CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT ); - // end namespace SmartWin } Modified: dcplusplus/trunk/smartwin/source/CanvasClasses.cpp =================================================================== --- dcplusplus/trunk/smartwin/source/CanvasClasses.cpp 2008-03-18 19:30:28 UTC (rev 1044) +++ dcplusplus/trunk/smartwin/source/CanvasClasses.cpp 2008-03-18 20:03:39 UTC (rev 1045) @@ -91,7 +91,7 @@ SmartWin::Point lr( rect.lowRight() ); lineTo( lr.x, rect.pos.y ); lineTo( lr.x, lr.y ); - lineTo( rect.pos.x, lr.y ); + lineTo( rect.x(), lr.y ); lineTo( rect.pos ); } @@ -133,16 +133,15 @@ void Canvas::rectangle( const SmartWin::Rectangle & rect ) { - rectangle( rect.pos.x, - rect.pos.y, - rect.pos.x + rect.size.x, - rect.pos.y + rect.size.y ); + rectangle( rect.left(), + rect.top(), + rect.right(), + rect.bottom() ); } void Canvas::ellipse( const SmartWin::Rectangle & rect ) { - if ( ! ::Ellipse( itsHdc, rect.pos.x, rect.pos.y, - rect.pos.x + rect.size.x, rect.pos.y + rect.size.y ) ) + if ( ! ::Ellipse( itsHdc, rect.left(), rect.top(), rect.right(), rect.bottom() ) ) { xCeption x( _T( "Error in CanvasClasses ellipse" ) ); throw x; @@ -162,10 +161,7 @@ void Canvas::fillRectangle( const SmartWin::Rectangle & rect, Brush & brush ) { - // FIXED: RECT takes right/bottom for 3rd and 4th args - RECT rc = - { rect.pos.x, rect.pos.y, rect.pos.x + rect.size.x, rect.pos.y + rect.size.y - }; + RECT rc = rect; ::FillRect( itsHdc, & rc, brush.handle() ); } @@ -194,9 +190,7 @@ int Canvas::drawText( const SmartUtil::tstring & text, const SmartWin::Rectangle & rect, unsigned format ) { - RECT rc = - { rect.pos.x, rect.pos.y, rect.pos.x + rect.size.x, rect.pos.y + rect.size.y - }; + RECT rc = rect; int retVal = ::DrawText( itsHdc, text.c_str(), ( int ) text.length(), & rc, format ); if ( 0 == retVal ) { Added: dcplusplus/trunk/smartwin/source/Rectangle.cpp =================================================================== --- dcplusplus/trunk/smartwin/source/Rectangle.cpp (rev 0) +++ dcplusplus/trunk/smartwin/source/Rectangle.cpp 2008-03-18 20:03:39 UTC (rev 1045) @@ -0,0 +1,156 @@ +#include "../include/smartwin/Rectangle.h" + +namespace SmartWin { + +Rectangle::Rectangle( long x, long y, long width, long height ) + : pos( x, y ), size( width, height ) +{} + +Rectangle::operator RECT() const +{ + RECT retVal = { left(), top(), right(), bottom() }; + return retVal; +} + +Rectangle Rectangle::subRect( double xFraction, double yFraction, + double widthFraction, double heightFraction ) const +{ + Rectangle retVal; + retVal.pos.x = pos.x + ( long )( xFraction * size.x ); + retVal.pos.y = pos.y + ( long )( yFraction * size.y ); + + retVal.size.x = ( long )( size.x * widthFraction ); + retVal.size.y = ( long )( size.y * heightFraction ); + return retVal; +} + +// Size of the rectangle will be * factor. +// Position adjusted for the same center. +Rectangle Rectangle::shrink( double factor ) const +{ + double posFactor = ( 1.0 - factor ) * 0.5; + return subRect( posFactor, posFactor, factor, factor ); +} + +Rectangle Rectangle::shrinkWidth( long xBorder ) const +{ + Rectangle retVal = * this; + retVal.pos.x = pos.x + xBorder; + retVal.size.x = size.x - ( xBorder + xBorder ); + return retVal; +} + +Rectangle Rectangle::shrinkHeight( long yBorder ) const +{ + Rectangle retVal = * this; + retVal.pos.y += yBorder; + retVal.size.y -= ( yBorder + yBorder ); + return retVal; +} + +Rectangle Rectangle::shrink( long border ) const +{ + Rectangle retVal = shrinkWidth( border ); + retVal = retVal.shrinkHeight( border ); + return retVal; +} + +Rectangle Rectangle::shrink( long xBorder, long yBorder ) const +{ + Rectangle retVal = shrinkWidth( xBorder ); + retVal = retVal.shrinkHeight( yBorder ); + return retVal; +} + +Rectangle Rectangle::getTop( long y ) const +{ + Rectangle top = Rectangle( pos, Point( size.x, y ) ); + return top; +} + +Rectangle Rectangle::getBottom( long y ) const +{ + Rectangle bottom = Rectangle( + Point( pos.x, pos.y + size.y - y ), + Point( size.x, y ) ); + return bottom; +} + +Rectangle Rectangle::getLeft( long x ) const +{ + Rectangle left = Rectangle( pos, Point( x, size.y ) ); + return left; +} + +Rectangle Rectangle::getRight( long x ) const +{ + Rectangle bottom = Rectangle( + Point( pos.x + size.x - x, pos.y ), + Point( x, size.y ) ); + return bottom; +} + +Rectangle Rectangle::upperLeftAdjust( const Point & adjust ) const +{ + Rectangle retVal = * this; + retVal.pos.x += adjust.x; + retVal.pos.y += adjust.y; + retVal.size.x -= adjust.x; + retVal.size.y -= adjust.y; + return retVal; +} + +Rectangle Rectangle::lowerRightAdjust( const Point & adjust ) const +{ + Rectangle retVal = * this; + retVal.size.x += adjust.x; + retVal.size.y += adjust.y; + return retVal; +} + +Rectangle Rectangle::row( int row, int rows ) const +{ + int rowheight = size.y / rows; + return Rectangle( pos.x, pos.y + ( row * rowheight ), size.x, rowheight ); +} + +Rectangle Rectangle::col( int column, int columns ) const +{ + int colwidth = size.x / columns; + return( Rectangle( pos.x + ( colwidth * column ), pos.y, colwidth, size.y ) ); +} + +Rectangle Rectangle::cropTop( const int a_ToRemove ) const +{ + register int d_NewSize = size.y - a_ToRemove; + + return Rectangle( pos.x, pos.y + a_ToRemove, size.x, d_NewSize > 0 ? d_NewSize : 0 ); +} + +Rectangle Rectangle::cropBottom( const int a_ToRemove ) const +{ + register int d_NewSize = size.y - a_ToRemove; + + return Rectangle( pos.x, pos.y, size.x, d_NewSize > 0 ? d_NewSize : 0 ); +} + +Rectangle Rectangle::cropLeft( const int a_ToRemove ) const +{ + register int d_NewSize = size.x - a_ToRemove; + + return Rectangle( pos.x + a_ToRemove, pos.y, d_NewSize > 0 ? d_NewSize : 0, size.y ); +} + +Rectangle Rectangle::cropRight( const int a_ToRemove ) const +{ + register int d_NewSize = size.x - a_ToRemove; + + return Rectangle( pos.x, pos.y, d_NewSize > 0 ? d_NewSize : 0, size.y ); +} + +bool operator==(const Rectangle& lhs, const Rectangle& rhs) { + return lhs.pos == rhs.pos && lhs.size == rhs.size; +} + +const SmartWin::Rectangle letTheSystemDecide( CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT ); +} Modified: dcplusplus/trunk/smartwin/source/Widget.cpp =================================================================== --- dcplusplus/trunk/smartwin/source/Widget.cpp 2008-03-18 19:30:28 UTC (rev 1044) +++ dcplusplus/trunk/smartwin/source/Widget.cpp 2008-03-18 20:03:39 UTC (rev 1045) @@ -92,7 +92,7 @@ cs.className, cs.caption.c_str(), cs.style, - cs.location.pos.x, cs.location.pos.y, cs.location.size.x, cs.location.size.y, + cs.location.x(), cs.location.y(), cs.location.width(), cs.location.height(), itsParent ? itsParent->handle() : 0, cs.menuHandle, Application::instance().getAppHandle(), Modified: dcplusplus/trunk/smartwin/source/widgets/WidgetMDIChild.cpp =================================================================== --- dcplusplus/trunk/smartwin/source/widgets/WidgetMDIChild.cpp 2008-03-18 19:30:28 UTC (rev 1044) +++ dcplusplus/trunk/smartwin/source/widgets/WidgetMDIChild.cpp 2008-03-18 20:03:39 UTC (rev 1045) @@ -18,7 +18,7 @@ HWND wnd = ::CreateMDIWindow( windowClass->getClassName(), cs.caption.c_str(), cs.style, - cs.location.pos.x, cs.location.pos.y, cs.location.size.x, cs.location.size.y, + cs.location.x(), cs.location.y(), cs.location.width(), cs.location.height(), getParent()->handle(), Application::instance().getAppHandle(), reinterpret_cast< LPARAM >( static_cast< Widget * >( this ) ) ); Modified: dcplusplus/trunk/smartwin/source/widgets/WidgetMDIParent.cpp =================================================================== --- dcplusplus/trunk/smartwin/source/widgets/WidgetMDIParent.cpp 2008-03-18 19:30:28 UTC (rev 1044) +++ dcplusplus/trunk/smartwin/source/widgets/WidgetMDIParent.cpp 2008-03-18 20:03:39 UTC (rev 1045) @@ -20,7 +20,7 @@ cs.className, cs.caption.c_str(), cs.style, - cs.location.pos.x, cs.location.pos.y, cs.location.size.x, cs.location.size.y, + cs.location.x(), cs.location.y(), cs.location.width(), cs.location.height(), this->getParent() ? this->getParent()->handle() : 0, NULL, Application::instance().getAppHandle(), Modified: dcplusplus/trunk/smartwin/source/widgets/WidgetMenu.cpp =================================================================== --- dcplusplus/trunk/smartwin/source/widgets/WidgetMenu.cpp 2008-03-18 19:30:28 UTC (rev 1044) +++ dcplusplus/trunk/smartwin/source/widgets/WidgetMenu.cpp 2008-03-18 20:03:39 UTC (rev 1045) @@ -585,14 +585,14 @@ // center in the item rectangle rectangle.pos.x += stripWidth + textIconGap; - rectangle.pos.y += rectangle.size.y / 2 - 1; + rectangle.pos.y += rectangle.width() / 2 - 1; // select color Canvas::Selector select(canvas, *PenPtr(new Pen(::GetSysColor( COLOR_GRAYTEXT )))); // draw separator - canvas.moveTo( rectangle.pos.x, rectangle.pos.y ); - canvas.lineTo( rectangle.size.x, rectangle.pos.y ); + canvas.moveTo( rectangle.left(), rectangle.top() ); + canvas.lineTo( rectangle.right(), rectangle.bottom() ); } // end if else // not a seperator, then draw item text and icon { @@ -665,7 +665,7 @@ // adjust icon rectangle imageRectangle.pos.x += ( stripWidth - imageSize.x ) / 2; - imageRectangle.pos.y += ( itemRectangle.size.y - imageSize.y ) / 2; + imageRectangle.pos.y += ( itemRectangle.width() - imageSize.y ) / 2; if ( image == NULL ) // drawing item without icon { @@ -687,7 +687,7 @@ const int adjustment = 2; // adjustment for mark to be in the center // bit - blast into out canvas - ::BitBlt( canvas.handle(), imageRectangle.pos.x + adjustment, imageRectangle.pos.y, imageSize.x, imageSize.y, memoryDC, 0, 0, SRCAND ); + ::BitBlt( canvas.handle(), imageRectangle.x() + adjustment, imageRectangle.y(), imageSize.x, imageSize.y, memoryDC, 0, 0, SRCAND ); // delete memory dc ::DeleteObject( ::SelectObject( memoryDC, old ) ); Modified: dcplusplus/trunk/smartwin/source/widgets/WidgetTabSheet.cpp =================================================================== --- dcplusplus/trunk/smartwin/source/widgets/WidgetTabSheet.cpp 2008-03-18 19:30:28 UTC (rev 1044) +++ dcplusplus/trunk/smartwin/source/widgets/WidgetTabSheet.cpp 2008-03-18 20:03:39 UTC (rev 1045) @@ -45,9 +45,9 @@ if(cutBorders) { Rectangle rctabs(getClientAreaSize()); // Get rid of ugly border...assume y border is the same as x border - long border = (rctabs.size.x - rect.size.x) / 2; - rect.pos.x = rctabs.pos.x; - rect.size.x = rctabs.size.x; + long border = (rctabs.width() - rect.width()) / 2; + rect.pos.x = rctabs.x(); + rect.size.x = rctabs.width(); rect.size.y += border; } return rect; Modified: dcplusplus/trunk/smartwin/source/widgets/WidgetTabView.cpp =================================================================== --- dcplusplus/trunk/smartwin/source/widgets/WidgetTabView.cpp 2008-03-18 19:30:28 UTC (rev 1044) +++ dcplusplus/trunk/smartwin/source/widgets/WidgetTabView.cpp 2008-03-18 20:03:39 UTC (rev 1045) @@ -126,8 +126,9 @@ oldW->sendMessage(WM_ACTIVATE, WA_INACTIVE, reinterpret_cast<LPARAM>(newW->handle())); ::ShowWindow(oldW->handle(), SW_HIDE); } + ::ShowWindow(newW->handle(), SW_SHOW); - ::MoveWindow(newW->handle(), clientSize.pos.x, clientSize.pos.y, clientSize.size.x, clientSize.size.y, FALSE); + ::MoveWindow(newW->handle(), clientSize.x(), clientSize.y(), clientSize.width(), clientSize.height(), FALSE); newW->sendMessage(WM_ACTIVATE, WA_ACTIVE, oldW ? reinterpret_cast<LPARAM>(oldW->handle()) : 0); sendMessage(WM_SETREDRAW, TRUE); @@ -212,7 +213,7 @@ if(!(tmp == clientSize)) { int i = tab->getSelectedIndex(); if(i != -1) { - ::MoveWindow(getTabInfo(i)->w->handle(), tmp.pos.x, tmp.pos.y, tmp.size.x, tmp.size.y, TRUE); + ::MoveWindow(getTabInfo(i)->w->handle(), tmp.x(), tmp.y(), tmp.width(), tmp.height(), TRUE); } clientSize = tmp; } Modified: dcplusplus/trunk/win32/CommandDlg.cpp =================================================================== --- dcplusplus/trunk/win32/CommandDlg.cpp 2008-03-18 19:30:28 UTC (rev 1044) +++ dcplusplus/trunk/win32/CommandDlg.cpp 2008-03-18 20:03:39 UTC (rev 1045) @@ -52,7 +52,7 @@ { onInitDialog(std::tr1::bind(&CommandDlg::handleInitDialog, this)); onFocus(std::tr1::bind(&CommandDlg::handleFocus, this)); - onRaw(std::tr1::bind(&CommandDlg::handleHelp, this), SmartWin::Message(WM_HELP)); + onHelp(std::tr1::bind(&CommandDlg::handleHelp, this)); } CommandDlg::~CommandDlg() { @@ -118,15 +118,23 @@ bool bOpenHelp = BOOLSETTING(OPEN_USER_CMD_HELP); openHelp->setChecked(bOpenHelp); - attachButton(IDOK)->onClicked(std::tr1::bind(&CommandDlg::handleOKClicked, this)); + { + WidgetButtonPtr button = attachButton(IDOK); + button->setText(T_("OK")); + button->onClicked(std::tr1::bind(&CommandDlg::handleOKClicked, this)); - attachButton(IDCANCEL)->onClicked(std::tr1::bind(&CommandDlg::endDialog, this, IDCANCEL)); + button = attachButton(IDCANCEL); + button->setText(T_("Cancel")); + button->onClicked(std::tr1::bind(&CommandDlg::endDialog, this, IDCANCEL)); - attachButton(IDHELP)->onClicked(std::tr1::bind(&CommandDlg::handleHelpClicked, this)); + button = attachButton(IDHELP); + button->setText(T_("Help")); + button->onClicked(std::tr1::bind(&CommandDlg::handleHelp, this)); + } if(bOpenHelp) { // launch the help file, instead of having the help in the dialog - HtmlHelp(handle(), WinUtil::getHelpFile().c_str(), HH_HELP_CONTEXT, IDD_UCPAGE); + handleHelp(); } if(type == UserCommand::TYPE_SEPARATOR) { @@ -191,6 +199,10 @@ nameBox->setFocus(); } +void CommandDlg::handleHelp() { + ::HtmlHelp(handle(), WinUtil::getHelpFile().c_str(), HH_HELP_CONTEXT, IDD_UCPAGE); +} + void CommandDlg::handleTypeChanged() { updateType(); updateCommand(); @@ -224,10 +236,6 @@ endDialog(IDOK); } -void CommandDlg::handleHelpClicked() { - HtmlHelp(handle(), WinUtil::getHelpFile().c_str(), HH_HELP_CONTEXT, IDD_UCPAGE); -} - void CommandDlg::updateType() { if(separator->getChecked()) { type = 0; @@ -273,8 +281,3 @@ break; } } - -LRESULT CommandDlg::handleHelp() { - HtmlHelp(handle(), WinUtil::getHelpFile().c_str(), HH_HELP_CONTEXT, IDD_UCPAGE); - return 0; -} Modified: dcplusplus/trunk/win32/CommandDlg.h =================================================================== --- dcplusplus/trunk/win32/CommandDlg.h 2008-03-18 19:30:28 UTC (rev 1044) +++ dcplusplus/trunk/win32/CommandDlg.h 2008-03-18 20:03:39 UTC (rev 1045) @@ -61,10 +61,9 @@ bool handleInitDialog(); void handleFocus(); - LRESULT handleHelp(); + void handleHelp(); void handleTypeChanged(); void handleOKClicked(); - void handleHelpClicked(); void updateType(); void updateCommand(); Modified: dcplusplus/trunk/win32/DCPlusPlus.rc =================================================================== --- dcplusplus/trunk/win32/DCPlusPlus.rc 2008-03-18 19:30:28 UTC (rev 1044) +++ dcplusplus/trunk/win32/DCPlusPlus.rc 2008-03-18 20:03:39 UTC (rev 1045) @@ -583,8 +583,9 @@ FONT 8, "MS Shell Dlg", 0, 0, 0x0 BEGIN CONTROL "",IDC_SETTINGS_PAGES,"SysTreeView32",TVS_HASBUTTONS | TVS_HASLINES | TVS_SHOWSELALWAYS | TVS_FULLROWSELECT | TVS_LINESATROOT | WS_BORDER | WS_TABSTOP,3,3,90,225 - DEFPUSHBUTTON "OK",IDOK,265,255,50,14 - PUSHBUTTON "Cancel",IDCANCEL,318,255,50,14 + DEFPUSHBUTTON "OK",IDOK,212,255,50,14 + PUSHBUTTON "Cancel",IDCANCEL,265,255,50,14 + PUSHBUTTON "Help",IDHELP,318,255,50,14 END ///////////////////////////////////////////////////////////////////////////// Modified: dcplusplus/trunk/win32/HubFrame.cpp =================================================================== --- dcplusplus/trunk/win32/HubFrame.cpp 2008-03-18 19:30:28 UTC (rev 1044) +++ dcplusplus/trunk/win32/HubFrame.cpp 2008-03-18 20:03:39 UTC (rev 1045) @@ -214,17 +214,17 @@ mapWidget(STATUS_SHOW_USERS, showUsers); int ymessage = message->getTextSize(_T("A")).y + 10; - int xfilter = showUsers->getChecked() ? std::min(r.size.x / 4, 200l) : 0; - SmartWin::Rectangle rm(0, r.size.y - ymessage, r.size.x - xfilter, ymessage); + int xfilter = showUsers->getChecked() ? std::min(r.width() / 4, 200l) : 0; + SmartWin::Rectangle rm(0, r.size.y - ymessage, r.width() - xfilter, ymessage); message->setBounds(rm); r.size.y -= rm.size.y + border; - rm.pos.x += rm.size.x + border; + rm.pos.x += rm.width() + border; rm.size.x = showUsers->getChecked() ? xfilter * 2 / 3 - border : 0; filter->setBounds(rm); - rm.pos.x += rm.size.x + border; + rm.pos.x += rm.width() + border; rm.size.x = showUsers->getChecked() ? xfilter / 3 - borde... [truncated message content] |
From: <zou...@us...> - 2008-03-18 19:30:37
|
Revision: 1044 http://dcplusplus.svn.sourceforge.net/dcplusplus/?rev=1044&view=rev Author: zouzou123gen Date: 2008-03-18 12:30:28 -0700 (Tue, 18 Mar 2008) Log Message: ----------- attachTextBox calls in AboutDlg (needed for fancy menus...) Modified Paths: -------------- dcplusplus/trunk/win32/AboutDlg.cpp Modified: dcplusplus/trunk/win32/AboutDlg.cpp =================================================================== --- dcplusplus/trunk/win32/AboutDlg.cpp 2008-03-18 19:06:54 UTC (rev 1043) +++ dcplusplus/trunk/win32/AboutDlg.cpp 2008-03-18 19:30:28 UTC (rev 1044) @@ -56,8 +56,8 @@ setText(T_("About DC++")); setItemText(IDC_VERSION, Text::toT(APPNAME " " VERSIONSTRING) + T_("\n(c) Copyright 2001-2008 Jacek Sieka\nEx-codeveloper: Per Lind\303\251n\nGraphics: Martin Skogevall et al.\nDC++ is licenced under GPL\nhttp://dcplusplus.sourceforge.net/")); - setItemText(IDC_TTH, WinUtil::tth); - setItemText(IDC_THANKS, Text::toT(thanks)); + attachTextBox(IDC_TTH)->setText(WinUtil::tth); + attachTextBox(IDC_THANKS)->setText(Text::toT(thanks)); setItemText(IDC_TOTALS, str(TF_("Upload: %1%, Download: %2%") % Text::toT(Util::formatBytes(SETTING(TOTAL_UPLOAD))) % Text::toT(Util::formatBytes(SETTING(TOTAL_DOWNLOAD))))); setItemText(IDC_GREETZ, T_("Greetz and Contributors")); setItemText(IDC_TOTALS, T_("Totals")); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <zou...@us...> - 2008-03-18 19:09:43
|
Revision: 1043 http://dcplusplus.svn.sourceforge.net/dcplusplus/?rev=1043&view=rev Author: zouzou123gen Date: 2008-03-18 12:06:54 -0700 (Tue, 18 Mar 2008) Log Message: ----------- fixes in "Experts only" settings page Modified Paths: -------------- dcplusplus/trunk/win32/Advanced3Page.cpp dcplusplus/trunk/win32/DCPlusPlus.rc dcplusplus/trunk/win32/resource.h Modified: dcplusplus/trunk/win32/Advanced3Page.cpp =================================================================== --- dcplusplus/trunk/win32/Advanced3Page.cpp 2008-03-16 16:28:29 UTC (rev 1042) +++ dcplusplus/trunk/win32/Advanced3Page.cpp 2008-03-18 19:06:54 UTC (rev 1043) @@ -25,23 +25,28 @@ #include <dcpp/SettingsManager.h> PropPage::TextItem Advanced3Page::texts[] = { + { IDC_SETTINGS_ROLLBACK, N_("Rollback") }, { IDC_SETTINGS_B, N_("B") }, - { IDC_SETTINGS_WRITE_BUFFER, N_("Write buffer size") }, - { IDC_SETTINGS_KB, N_("KiB") }, { IDC_SETTINGS_MAX_HASH_SPEED, N_("Max hash speed") }, { IDC_SETTINGS_MBS, N_("MiB/s") }, { IDC_SETTINGS_PM_HISTORY, N_("PM history") }, - { IDC_SETTINGS_SEARCH_HISTORY, N_("Search history") }, { IDC_SETTINGS_TEXT_MINISLOT, N_("Mini slot size") }, { IDC_SETTINGS_KB2, N_("KiB") }, - { IDC_SETTINGS_BIND_ADDRESS, N_("Bind address") }, { IDC_SETTINGS_MAX_FILELIST_SIZE, N_("Max filelist size") }, { IDC_SETTINGS_MB, N_("MiB") }, + { IDC_SETTINGS_PID, N_("PID") }, { IDC_SETTINGS_AUTO_REFRESH_TIME, N_("Auto refresh time") }, + { IDC_SETTINGS_WRITE_BUFFER, N_("Write buffer size") }, + { IDC_SETTINGS_KB, N_("KiB") }, { IDC_SETTINGS_AUTO_SEARCH_LIMIT, N_("Auto-search limit") }, - { IDC_SETTINGS_MIN_SEGMENT_SIZE, N_("Min segment size") }, + { IDC_SETTINGS_SEARCH_HISTORY, N_("Search history") }, + { IDC_SETTINGS_BIND_ADDRESS, N_("Bind address") }, { IDC_SETTINGS_SOCKET_IN_BUFFER, N_("Socket read buffer") }, + { IDC_SETTINGS_B2, N_("B") }, { IDC_SETTINGS_SOCKET_OUT_BUFFER, N_("Socket write buffer") }, + { IDC_SETTINGS_B3, N_("B") }, + { IDC_SETTINGS_MIN_SEGMENT_SIZE, N_("Min segment size") }, + { IDC_SETTINGS_KB3, N_("KiB") }, { 0, 0 } }; Modified: dcplusplus/trunk/win32/DCPlusPlus.rc =================================================================== --- dcplusplus/trunk/win32/DCPlusPlus.rc 2008-03-16 16:28:29 UTC (rev 1042) +++ dcplusplus/trunk/win32/DCPlusPlus.rc 2008-03-18 19:06:54 UTC (rev 1043) @@ -428,11 +428,11 @@ RTEXT "Max filelist size",IDC_SETTINGS_MAX_FILELIST_SIZE,7,78,57,8 EDITTEXT IDC_MAX_FILELIST_SIZE,69,75,45,14,ES_AUTOHSCROLL LTEXT "MiB",IDC_SETTINGS_MB,117,78,16,8 - RTEXT "PID",IDC_STATIC,7,95,57,8 + RTEXT "PID",IDC_SETTINGS_PID,7,95,57,8 EDITTEXT IDC_PRIVATE_ID,69,92,45,14,ES_AUTOHSCROLL - LTEXT "Auto refresh time",IDC_SETTINGS_AUTO_REFRESH_TIME,7,112,57,8 + RTEXT "Auto refresh time",IDC_SETTINGS_AUTO_REFRESH_TIME,7,112,57,8 EDITTEXT IDC_AUTO_REFRESH_TIME,69,110,45,14,ES_AUTOHSCROLL - RTEXT "File write buffer",IDC_SETTINGS_WRITE_BUFFER,134,10,70,8 + RTEXT "Write buffer size",IDC_SETTINGS_WRITE_BUFFER,134,10,70,8 EDITTEXT IDC_BUFFERSIZE,208,7,41,14,ES_AUTOHSCROLL LTEXT "KiB",IDC_SETTINGS_KB,252,10,16,8 RTEXT "Auto-search limit",IDC_SETTINGS_AUTO_SEARCH_LIMIT,134,27,70,8 @@ -444,13 +444,13 @@ EDITTEXT IDC_BIND_ADDRESS,208,58,41,14,ES_AUTOHSCROLL RTEXT "Socket read buffer",IDC_SETTINGS_SOCKET_IN_BUFFER,134,78,70,8 EDITTEXT IDC_SOCKET_IN_BUFFER,208,75,41,14,ES_AUTOHSCROLL - LTEXT "B",IDC_STATIC,252,78,16,8 + LTEXT "B",IDC_SETTINGS_B2,252,78,16,8 RTEXT "Socket write buffer",IDC_SETTINGS_SOCKET_OUT_BUFFER,134,95,70,8 EDITTEXT IDC_SOCKET_OUT_BUFFER,208,93,41,14,ES_AUTOHSCROLL - LTEXT "B",IDC_STATIC,252,95,16,8 + LTEXT "B",IDC_SETTINGS_B3,252,95,16,8 RTEXT "Min segment size",IDC_SETTINGS_MIN_SEGMENT_SIZE,134,112,70,8 EDITTEXT IDC_MIN_SEGMENT_SIZE,208,110,41,14,ES_AUTOHSCROLL - LTEXT "KiB",IDC_STATIC,252,112,16,8 + LTEXT "KiB",IDC_SETTINGS_KB3,252,112,16,8 END IDD_NETWORKPAGE DIALOGEX 100, 0, 275, 225 Modified: dcplusplus/trunk/win32/resource.h =================================================================== --- dcplusplus/trunk/win32/resource.h 2008-03-16 16:28:29 UTC (rev 1042) +++ dcplusplus/trunk/win32/resource.h 2008-03-18 19:06:54 UTC (rev 1043) @@ -451,5 +451,8 @@ #define IDC_MIN_SEGMENT_SIZE 2293 #define IDC_GREETZ 2294 #define IDC_LATEST_VERSION 2295 +#define IDC_SETTINGS_PID 2296 +#define IDC_SETTINGS_B2 2297 +#define IDC_SETTINGS_B3 2298 #endif This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <arn...@us...> - 2008-03-16 16:28:34
|
Revision: 1042 http://dcplusplus.svn.sourceforge.net/dcplusplus/?rev=1042&view=rev Author: arnetheduck Date: 2008-03-16 09:28:29 -0700 (Sun, 16 Mar 2008) Log Message: ----------- i18n fixes Modified Paths: -------------- dcplusplus/trunk/SConstruct dcplusplus/trunk/dcpp/SConscript dcplusplus/trunk/win32/AboutDlg.cpp dcplusplus/trunk/win32/Advanced3Page.cpp dcplusplus/trunk/win32/DCPlusPlus.rc dcplusplus/trunk/win32/SConscript dcplusplus/trunk/win32/resource.h Modified: dcplusplus/trunk/SConstruct =================================================================== --- dcplusplus/trunk/SConstruct 2008-03-14 22:26:18 UTC (rev 1041) +++ dcplusplus/trunk/SConstruct 2008-03-16 16:28:29 UTC (rev 1042) @@ -160,7 +160,7 @@ pot_args = ['xgettext', '--from-code=UTF-8', '--foreign-user', '--package-name=$PACKAGE', '--copyright-holder=Jacek Sieka', '--msgid-bugs-address=dcp...@li...', '--no-wrap', '--keyword=_', '--keyword=T_', '--keyword=TF_', '--keyword=TFN_:1,2', - '--keyword=F_', '--keyword=gettext_noop', '--keyword=N_', '--boost', '-s', + '--keyword=F_', '--keyword=gettext_noop', '--keyword=N_', '--keyword=CT_', '--boost', '-s', '--output=$TARGET', '$SOURCES'] pot_bld = Builder (action = Action([pot_args], 'Extracting messages to $TARGET from $SOURCES')) Modified: dcplusplus/trunk/dcpp/SConscript =================================================================== --- dcplusplus/trunk/dcpp/SConscript 2008-03-14 22:26:18 UTC (rev 1041) +++ dcplusplus/trunk/dcpp/SConscript 2008-03-16 16:28:29 UTC (rev 1042) @@ -39,8 +39,10 @@ env.Append(CPPDEFINES=["BUILDING_DCPP=1"]) -dev.i18n(source_path, env, sources, 'libdcpp') +headers=dev.get_sources(source_path, "*.h") +dev.i18n(source_path, env, [sources, headers], 'libdcpp') + ret = env.StaticLibrary(target, sources) Return('ret') Modified: dcplusplus/trunk/win32/AboutDlg.cpp =================================================================== --- dcplusplus/trunk/win32/AboutDlg.cpp 2008-03-14 22:26:18 UTC (rev 1041) +++ dcplusplus/trunk/win32/AboutDlg.cpp 2008-03-16 16:28:29 UTC (rev 1042) @@ -53,12 +53,20 @@ } bool AboutDlg::handleInitDialog() { - setItemText(IDC_VERSION, Text::toT("DC++ " VERSIONSTRING "\n(c) Copyright 2001-2008 Jacek Sieka\nEx-codeveloper: Per Lind\303\251n\nGraphics: Martin Skogevall et al.\nDC++ is licenced under GPL\nhttp://dcplusplus.sourceforge.net/")); - attachTextBox(IDC_TTH)->setText(WinUtil::tth); - attachTextBox(IDC_THANKS)->setText(Text::toT(thanks)); + setText(T_("About DC++")); + + setItemText(IDC_VERSION, Text::toT(APPNAME " " VERSIONSTRING) + T_("\n(c) Copyright 2001-2008 Jacek Sieka\nEx-codeveloper: Per Lind\303\251n\nGraphics: Martin Skogevall et al.\nDC++ is licenced under GPL\nhttp://dcplusplus.sourceforge.net/")); + setItemText(IDC_TTH, WinUtil::tth); + setItemText(IDC_THANKS, Text::toT(thanks)); setItemText(IDC_TOTALS, str(TF_("Upload: %1%, Download: %2%") % Text::toT(Util::formatBytes(SETTING(TOTAL_UPLOAD))) % Text::toT(Util::formatBytes(SETTING(TOTAL_DOWNLOAD))))); + setItemText(IDC_GREETZ, T_("Greetz and Contributors")); + setItemText(IDC_TOTALS, T_("Totals")); + setItemText(IDC_LATEST_VERSION, T_("Latest stable version")); + if(SETTING(TOTAL_DOWNLOAD) > 0) { setItemText(IDC_RATIO, str(TF_("Ratio (up/down): %1$0.2f") % (((double)SETTING(TOTAL_UPLOAD)) / ((double)SETTING(TOTAL_DOWNLOAD))))); + } else { + setItemText(IDC_RATIO, str(TF_("No transfers yet") % (((double)SETTING(TOTAL_UPLOAD)) / ((double)SETTING(TOTAL_DOWNLOAD))))); } setItemText(IDC_LATEST, T_("Downloading...")); Modified: dcplusplus/trunk/win32/Advanced3Page.cpp =================================================================== --- dcplusplus/trunk/win32/Advanced3Page.cpp 2008-03-14 22:26:18 UTC (rev 1041) +++ dcplusplus/trunk/win32/Advanced3Page.cpp 2008-03-16 16:28:29 UTC (rev 1042) @@ -40,6 +40,8 @@ { IDC_SETTINGS_AUTO_REFRESH_TIME, N_("Auto refresh time") }, { IDC_SETTINGS_AUTO_SEARCH_LIMIT, N_("Auto-search limit") }, { IDC_SETTINGS_MIN_SEGMENT_SIZE, N_("Min segment size") }, + { IDC_SETTINGS_SOCKET_IN_BUFFER, N_("Socket read buffer") }, + { IDC_SETTINGS_SOCKET_OUT_BUFFER, N_("Socket write buffer") }, { 0, 0 } }; Modified: dcplusplus/trunk/win32/DCPlusPlus.rc =================================================================== --- dcplusplus/trunk/win32/DCPlusPlus.rc 2008-03-14 22:26:18 UTC (rev 1041) +++ dcplusplus/trunk/win32/DCPlusPlus.rc 2008-03-16 16:28:29 UTC (rev 1042) @@ -94,10 +94,10 @@ GROUPBOX "",IDC_STATIC,7,7,229,102 EDITTEXT IDC_TTH,35,93,196,12,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER LTEXT "TTH:",IDC_STATIC,13,93,18,12 - GROUPBOX "Greetz && Contributors",IDC_STATIC,7,112,229,82,BS_CENTER - GROUPBOX "Latest version",IDC_STATIC,7,239,229,24,BS_CENTER + GROUPBOX "Greetz and Contributors",IDC_GREETZ,7,112,229,82,BS_CENTER + GROUPBOX "Latest stable version",IDC_LATEST_VERSION,7,239,229,24,BS_CENTER CTEXT "0.xxx",IDC_LATEST,13,250,218,8 - GROUPBOX "Totals",IDC_STATIC,7,197,229,39,BS_CENTER + GROUPBOX "Totals",IDC_TOTALS,7,197,229,39,BS_CENTER CTEXT "Upload: xx.xx MiB, Download: xx.xx MiB",IDC_TOTALS,13,208,218,8 CTEXT "Ratio (Up/Down): x.xx",IDC_RATIO,13,221,218,8 EDITTEXT IDC_THANKS,13,122,218,66,ES_MULTILINE | ES_READONLY | WS_VSCROLL Modified: dcplusplus/trunk/win32/SConscript =================================================================== --- dcplusplus/trunk/win32/SConscript 2008-03-14 22:26:18 UTC (rev 1041) +++ dcplusplus/trunk/win32/SConscript 2008-03-16 16:28:29 UTC (rev 1042) @@ -14,7 +14,8 @@ env.Append(CPPPATH=['#/openssl/include', "#/smartwin/include", "#/"]) env.Append(LIBPATH=["#/openssl/lib"]) -dev.i18n(source_path, env, sources, 'dcpp-win32') +headers=dev.get_sources(source_path, "*.h") +dev.i18n(source_path, env, [sources,headers], 'dcpp-win32') ret = env.Program(target, [sources, res, dev.client, dev.zlib, dev.bzip2, dev.smartwin, dev.boost, dev.intl]) Return('ret') Modified: dcplusplus/trunk/win32/resource.h =================================================================== --- dcplusplus/trunk/win32/resource.h 2008-03-14 22:26:18 UTC (rev 1041) +++ dcplusplus/trunk/win32/resource.h 2008-03-16 16:28:29 UTC (rev 1042) @@ -449,5 +449,7 @@ #define IDC_SETTINGS_PAGES 2291 #define IDC_SETTINGS_MIN_SEGMENT_SIZE 2292 #define IDC_MIN_SEGMENT_SIZE 2293 +#define IDC_GREETZ 2294 +#define IDC_LATEST_VERSION 2295 #endif This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <pie...@us...> - 2008-03-14 22:26:28
|
Revision: 1041 http://dcplusplus.svn.sourceforge.net/dcplusplus/?rev=1041&view=rev Author: pietricica Date: 2008-03-14 15:26:18 -0700 (Fri, 14 Mar 2008) Log Message: ----------- 0.705 Added Paths: ----------- dcplusplus/tags/dcplusplus-0.705/ Copied: dcplusplus/tags/dcplusplus-0.705 (from rev 1040, dcplusplus/trunk) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |