From: <zou...@us...> - 2008-03-02 20:33:22
|
Revision: 1023 http://dcplusplus.svn.sourceforge.net/dcplusplus/?rev=1023&view=rev Author: zouzou123gen Date: 2008-03-02 12:31:51 -0800 (Sun, 02 Mar 2008) Log Message: ----------- fancy menus for every text box Modified Paths: -------------- dcplusplus/trunk/smartwin/include/smartwin/GCCHeaders.h dcplusplus/trunk/smartwin/include/smartwin/WidgetCreator.h dcplusplus/trunk/smartwin/include/smartwin/WidgetFactoryPlatformSmartWinDesktop.h dcplusplus/trunk/smartwin/include/smartwin/widgets/WidgetComboBox.h dcplusplus/trunk/smartwin/include/smartwin/widgets/WidgetMenu.h dcplusplus/trunk/smartwin/source/widgets/WidgetComboBox.cpp dcplusplus/trunk/smartwin/source/widgets/WidgetMenu.cpp dcplusplus/trunk/win32/AboutDlg.cpp dcplusplus/trunk/win32/AboutDlg.h dcplusplus/trunk/win32/Advanced3Page.cpp dcplusplus/trunk/win32/Appearance2Page.cpp dcplusplus/trunk/win32/AppearancePage.cpp 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/DownloadPage.cpp dcplusplus/trunk/win32/FavHubProperties.cpp dcplusplus/trunk/win32/FavHubProperties.h dcplusplus/trunk/win32/GeneralPage.cpp dcplusplus/trunk/win32/LineDlg.cpp dcplusplus/trunk/win32/LineDlg.h dcplusplus/trunk/win32/LogPage.cpp dcplusplus/trunk/win32/LogPage.h dcplusplus/trunk/win32/MDIChildFrame.h dcplusplus/trunk/win32/MagnetDlg.cpp dcplusplus/trunk/win32/MagnetDlg.h dcplusplus/trunk/win32/MainWindow.cpp dcplusplus/trunk/win32/NetworkPage.cpp dcplusplus/trunk/win32/PropPage.cpp dcplusplus/trunk/win32/PropPage.h dcplusplus/trunk/win32/QueuePage.cpp dcplusplus/trunk/win32/TransferView.h dcplusplus/trunk/win32/UploadPage.cpp dcplusplus/trunk/win32/WidgetFactory.h dcplusplus/trunk/win32/WidgetTextBox.h Added Paths: ----------- dcplusplus/trunk/win32/WidgetComboBox.cpp dcplusplus/trunk/win32/WidgetComboBox.h dcplusplus/trunk/win32/WidgetTextBox.cpp Modified: dcplusplus/trunk/smartwin/include/smartwin/GCCHeaders.h =================================================================== --- dcplusplus/trunk/smartwin/include/smartwin/GCCHeaders.h 2008-03-01 23:16:58 UTC (rev 1022) +++ dcplusplus/trunk/smartwin/include/smartwin/GCCHeaders.h 2008-03-02 20:31:51 UTC (rev 1023) @@ -81,6 +81,9 @@ #define COLOR_MENUBAR 30 #define ODS_HOTLIGHT 0x0040 #define ODS_INACTIVE 0x0080 + #ifndef MN_GETHMENU + #define MN_GETHMENU 0x01E1 + #endif #if(_WIN32_WINNT >= 0x0500) #ifndef ODS_NOACCEL #define ODS_NOACCEL 0x0100 Modified: dcplusplus/trunk/smartwin/include/smartwin/WidgetCreator.h =================================================================== --- dcplusplus/trunk/smartwin/include/smartwin/WidgetCreator.h 2008-03-01 23:16:58 UTC (rev 1022) +++ dcplusplus/trunk/smartwin/include/smartwin/WidgetCreator.h 2008-03-02 20:31:51 UTC (rev 1023) @@ -94,6 +94,12 @@ return retVal; } + static typename WidgetType::ObjectType attach( Widget * parent, HMENU hMenu, const typename WidgetType::Seed & cs ) + { + typename WidgetType::ObjectType retVal(new WidgetType( parent )); + retVal->attach( hMenu, cs ); + return retVal; + } }; // end namespace SmartWin Modified: dcplusplus/trunk/smartwin/include/smartwin/WidgetFactoryPlatformSmartWinDesktop.h =================================================================== --- dcplusplus/trunk/smartwin/include/smartwin/WidgetFactoryPlatformSmartWinDesktop.h 2008-03-01 23:16:58 UTC (rev 1022) +++ dcplusplus/trunk/smartwin/include/smartwin/WidgetFactoryPlatformSmartWinDesktop.h 2008-03-02 20:31:51 UTC (rev 1023) @@ -123,6 +123,11 @@ return WidgetCreator< WidgetMenu >::create( this, cs ); } + WidgetMenuPtr attachMenu(HMENU hMenu, const typename WidgetMenu::Seed& cs = WidgetMenu::Seed()) + { + return WidgetCreator< WidgetMenu >::attach( this, cs, hMenu ); + } + /// Creates a Tool Bar and returns a pointer to it. /** DON'T delete the returned pointer!!! */ Modified: dcplusplus/trunk/smartwin/include/smartwin/widgets/WidgetComboBox.h =================================================================== --- dcplusplus/trunk/smartwin/include/smartwin/widgets/WidgetComboBox.h 2008-03-01 23:16:58 UTC (rev 1022) +++ dcplusplus/trunk/smartwin/include/smartwin/widgets/WidgetComboBox.h 2008-03-02 20:31:51 UTC (rev 1023) @@ -39,7 +39,6 @@ #include "../aspects/AspectPainting.h" #include "../aspects/AspectSelection.h" #include "../aspects/AspectText.h" -#include "WidgetTextBox.h" namespace SmartWin { @@ -154,9 +153,6 @@ static bool isValidSelectionChanged( LPARAM lPar ) { return true; } - - typedef WidgetTextBox::ObjectType WidgetTextBoxPtr; - WidgetTextBoxPtr getTextBox(); protected: /// Constructor Taking pointer to parent @@ -166,9 +162,6 @@ // WidgetFactory class which is friend virtual ~WidgetComboBox() {} - -private: - WidgetTextBoxPtr textBox; }; /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// @@ -266,7 +259,7 @@ } inline WidgetComboBox::WidgetComboBox( Widget * parent ) - : ControlType( parent ), textBox(0) + : ControlType( parent ) { } Modified: dcplusplus/trunk/smartwin/include/smartwin/widgets/WidgetMenu.h =================================================================== --- dcplusplus/trunk/smartwin/include/smartwin/widgets/WidgetMenu.h 2008-03-01 23:16:58 UTC (rev 1022) +++ dcplusplus/trunk/smartwin/include/smartwin/widgets/WidgetMenu.h 2008-03-02 20:31:51 UTC (rev 1023) @@ -206,9 +206,10 @@ */ void create(const Seed& cs); - /// Attaches the menu to the parent window - void attach(); + void attach(HMENU hMenu, const Seed& cs); + void setMenu(); + /// Appends a popup to the menu /** Everything you "append" to a menu is added sequentially to the menu <br> * This specific "append" function appends a "popup" menu which is a menu @@ -321,7 +322,7 @@ void removeAllItems(); /// Return the number of items in the menu - int getCount(); + int getCount() const; /// Displays and handles a menu which can appear anywhere in the window. /** Typically called by a Right Mouse click. If both the x and the y coordinate @@ -502,6 +503,8 @@ typedef std::map<unsigned, Widget::CallbackType> CallbackMap; CallbackMap callbacks; + void createHelper(const Seed& cs); + void addCommands(); // Returns item index in the menu item list Modified: dcplusplus/trunk/smartwin/source/widgets/WidgetComboBox.cpp =================================================================== --- dcplusplus/trunk/smartwin/source/widgets/WidgetComboBox.cpp 2008-03-01 23:16:58 UTC (rev 1022) +++ dcplusplus/trunk/smartwin/source/widgets/WidgetComboBox.cpp 2008-03-02 20:31:51 UTC (rev 1023) @@ -1,5 +1,4 @@ #include "../../include/smartwin/widgets/WidgetComboBox.h" -#include "../../include/smartwin/WidgetCreator.h" namespace SmartWin { @@ -19,16 +18,4 @@ sendMessage(CB_SETEXTENDEDUI, TRUE); } -WidgetComboBox::WidgetTextBoxPtr WidgetComboBox::getTextBox() { - if(!textBox) { - LONG_PTR style = ::GetWindowLongPtr(handle(), GWL_STYLE); - if((style & CBS_SIMPLE) == CBS_SIMPLE || (style & CBS_DROPDOWN) == CBS_DROPDOWN) { - HWND wnd = ::FindWindowEx(handle(), NULL, _T("EDIT"), NULL); - if(wnd && wnd != handle()) - textBox = WidgetCreator< WidgetTextBox >::attach(this, wnd); - } - } - return textBox; } - -} Modified: dcplusplus/trunk/smartwin/source/widgets/WidgetMenu.cpp =================================================================== --- dcplusplus/trunk/smartwin/source/widgets/WidgetMenu.cpp 2008-03-01 23:16:58 UTC (rev 1022) +++ dcplusplus/trunk/smartwin/source/widgets/WidgetMenu.cpp 2008-03-02 20:31:51 UTC (rev 1023) @@ -52,8 +52,7 @@ xAssert(itsParent != NULL, _T("A WidgetMenu must have a parent")); } -void WidgetMenu::create(const Seed& cs) -{ +void WidgetMenu::createHelper(const Seed& cs) { // save settings provided through the Seed ownerDrawn = cs.ownerDrawn; itsColorInfo = cs.colorInfo; @@ -70,8 +69,11 @@ 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))); } +} - // Create menu +void WidgetMenu::create(const Seed& cs) { + createHelper(cs); + if(cs.popup) itsHandle = ::CreatePopupMenu(); else @@ -83,11 +85,46 @@ } } -void WidgetMenu::attach() -{ +void WidgetMenu::attach(HMENU hMenu, const Seed& cs) { + createHelper(cs); + + itsHandle = hMenu; + + if(ownerDrawn) { + // update all current items to be owner-drawn + // @todo update sub-menus too... + const int count = getCount(); + for(int i = 0; i < count; ++i) { + // init structure for items + MENUITEMINFO info; + memset( & info, 0, sizeof( info ) ); + info.cbSize = sizeof( MENUITEMINFO ); + + // set flags + info.fMask = MIIM_FTYPE | MIIM_DATA; + + if(::GetMenuItemInfo(itsHandle, i, TRUE, &info)) { + info.fMask |= MIIM_DATA; + info.fType |= MFT_OWNERDRAW; + + // create item data wrapper + ItemDataWrapper * wrapper = new ItemDataWrapper( this, i, MenuItemDataPtr( new MenuItemData() ) ); + info.dwItemData = reinterpret_cast< ULONG_PTR >( wrapper ); + + if(::SetMenuItemInfo(itsHandle, i, TRUE, &info)) + itsItemDataRef.push_back( wrapper ); + else + throw xCeption( _T( "SetMenuItemInfo in WidgetMenu::attach fizzled..." ) ); + } else + throw xCeption( _T( "GetMenuItemInfo in WidgetMenu::attach fizzled..." ) ); + } + } +} + +void WidgetMenu::setMenu() { addCommands(); if ( ::SetMenu( itsParent->handle(), itsHandle ) == FALSE ) - throw xCeption( _T( "Couldn't attach menu to the parent window" ) ); + throw xCeption( _T( "SetMenu in WidgetMenu::setMenu fizzled..." ) ); } WidgetMenu::ObjectType WidgetMenu::appendPopup( const SmartUtil::tstring & text, MenuItemDataPtr itemData ) @@ -111,7 +148,7 @@ info.hSubMenu = retVal->handle(); // get position to insert - int position = ::GetMenuItemCount( itsHandle ); + int position = getCount(); ItemDataWrapper * wrapper = NULL; if(ownerDrawn) { @@ -167,7 +204,7 @@ int WidgetMenu::getItemIndex( unsigned int id ) { int index = 0; - const int itemCount = ::GetMenuItemCount( itsHandle ); + const int itemCount = getCount(); for ( index = 0; index < itemCount; ++index ) if ( ::GetMenuItemID( itsHandle, index ) == id ) // exit the loop if found @@ -190,7 +227,7 @@ WidgetMenu::~WidgetMenu() { // Destroy this menu - ::DestroyMenu( this->handle() ); + ::DestroyMenu( handle() ); std::for_each( itsItemDataRef.begin(), itsItemDataRef.end(), destroyItemDataWrapper ); } @@ -205,7 +242,7 @@ void WidgetMenu::setTitleFont( FontPtr font ) { itsTitleFont = font; - setTitle( itsTitle, this->drawSidebar ); // Easy for now, should be refactored... + setTitle( itsTitle, drawSidebar ); // Easy for now, should be refactored... } void WidgetMenu::clearTitle( bool clearSidebar /* = false */) @@ -222,12 +259,12 @@ void WidgetMenu::checkItem( unsigned id, bool value ) { - ::CheckMenuItem( this->handle(), id, value ? MF_CHECKED : MF_UNCHECKED ); + ::CheckMenuItem( handle(), id, value ? MF_CHECKED : MF_UNCHECKED ); } void WidgetMenu::setItemEnabled( unsigned id, bool byPosition, bool value ) { - if ( ::EnableMenuItem( this->handle(), id, (byPosition ? MF_BYPOSITION : MF_BYCOMMAND) | (value ? MF_ENABLED : MF_GRAYED) ) == - 1 ) + if ( ::EnableMenuItem( handle(), id, (byPosition ? MF_BYPOSITION : MF_BYCOMMAND) | (value ? MF_ENABLED : MF_GRAYED) ) == - 1 ) { xCeption x( _T( "Couldn't enable/disable the menu item, item doesn't exist" ) ); throw x; @@ -236,7 +273,7 @@ UINT WidgetMenu::getMenuState( UINT id, bool byPosition ) { - return ::GetMenuState(this->handle(), id, byPosition ? MF_BYPOSITION : MF_BYCOMMAND); + return ::GetMenuState(handle(), id, byPosition ? MF_BYPOSITION : MF_BYCOMMAND); } bool WidgetMenu::isSeparator( UINT id, bool byPosition ) @@ -261,7 +298,7 @@ void WidgetMenu::setDefaultItem( UINT id, bool byPosition ) { - ::SetMenuDefaultItem(this->handle(), id, byPosition); + ::SetMenuDefaultItem(handle(), id, byPosition); } SmartUtil::tstring WidgetMenu::getText( unsigned id, bool byPosition ) @@ -841,7 +878,7 @@ itemInfo.fType = MFT_SEPARATOR; // get position to insert - int position = ::GetMenuItemCount( itsHandle ); + int position = getCount(); ItemDataWrapper * wrapper = NULL; if(ownerDrawn) { @@ -863,7 +900,7 @@ HMENU popup = ::GetSubMenu( itsHandle, itemIndex ); // try to remove item - if ( ::RemoveMenu( itsHandle, itemIndex, MF_BYPOSITION ) == TRUE ) + if ( ::RemoveMenu( itsHandle, itemIndex, MF_BYPOSITION ) ) { size_t i = 0; @@ -906,13 +943,13 @@ void WidgetMenu::removeAllItems() { //must be backwards, since bigger indexes change on remove - for( int i = this->getCount() - 1; i >= 0; i-- ) + for( int i = getCount() - 1; i >= 0; i-- ) { - this->removeItem( i ); + removeItem( i ); } } -int WidgetMenu::getCount() +int WidgetMenu::getCount() const { int count = ::GetMenuItemCount( itsHandle ); if( count == -1 ) @@ -942,7 +979,7 @@ // set position to insert bool itemExists = index != - 1; - index = itemExists ? index : ::GetMenuItemCount( itsHandle ); + index = itemExists ? index : getCount(); ItemDataWrapper * wrapper = NULL; if(ownerDrawn) { @@ -954,8 +991,8 @@ info.dwItemData = reinterpret_cast< ULONG_PTR >( wrapper ); } - if ( ( !itemExists && ::InsertMenuItem( itsHandle, id, FALSE, & info ) == TRUE ) || - ( itemExists && ::SetMenuItemInfo( itsHandle, id, FALSE, & info ) == TRUE ) ) + if ( ( !itemExists && ::InsertMenuItem( itsHandle, id, FALSE, & info ) ) || + ( itemExists && ::SetMenuItemInfo( itsHandle, id, FALSE, & info ) ) ) { if(ownerDrawn) itsItemDataRef.push_back( wrapper ); @@ -991,8 +1028,8 @@ WidgetMenu::ObjectType WidgetMenu::getChild( unsigned position ) { HMENU h = ::GetSubMenu(handle(), position); - for(size_t i = 0; i < this->itsChildren.size(); ++i) { - ObjectType& menu = this->itsChildren[i]; + for(size_t i = 0; i < itsChildren.size(); ++i) { + ObjectType& menu = itsChildren[i]; if(menu->handle() == h) { return menu; } Modified: dcplusplus/trunk/win32/AboutDlg.cpp =================================================================== --- dcplusplus/trunk/win32/AboutDlg.cpp 2008-03-01 23:16:58 UTC (rev 1022) +++ dcplusplus/trunk/win32/AboutDlg.cpp 2008-03-02 20:31:51 UTC (rev 1023) @@ -44,7 +44,7 @@ "stanislav maslovski, david grundberg. " "Keep it coming!"; -AboutDlg::AboutDlg(SmartWin::Widget* parent) : SmartWin::WidgetFactory<SmartWin::WidgetModalDialog>(parent) { +AboutDlg::AboutDlg(SmartWin::Widget* parent) : WidgetFactory<SmartWin::WidgetModalDialog>(parent) { onInitDialog(std::tr1::bind(&AboutDlg::handleInitDialog, this)); onSpeaker(std::tr1::bind(&AboutDlg::handleSpeaker, this, _1, _2)); } @@ -54,8 +54,8 @@ 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/")); - 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))))); if(SETTING(TOTAL_DOWNLOAD) > 0) { setItemText(IDC_RATIO, str(TF_("Ratio (up/down): %1$0.2f") % (((double)SETTING(TOTAL_UPLOAD)) / ((double)SETTING(TOTAL_DOWNLOAD))))); Modified: dcplusplus/trunk/win32/AboutDlg.h =================================================================== --- dcplusplus/trunk/win32/AboutDlg.h 2008-03-01 23:16:58 UTC (rev 1022) +++ dcplusplus/trunk/win32/AboutDlg.h 2008-03-02 20:31:51 UTC (rev 1023) @@ -21,10 +21,11 @@ #include <dcpp/HttpConnection.h> #include "resource.h" +#include "WidgetFactory.h" #include "AspectSpeaker.h" class AboutDlg : - public SmartWin::WidgetFactory<SmartWin::WidgetModalDialog>, + public WidgetFactory<SmartWin::WidgetModalDialog>, public AspectSpeaker<AboutDlg>, private HttpConnectionListener { Modified: dcplusplus/trunk/win32/Advanced3Page.cpp =================================================================== --- dcplusplus/trunk/win32/Advanced3Page.cpp 2008-03-01 23:16:58 UTC (rev 1022) +++ dcplusplus/trunk/win32/Advanced3Page.cpp 2008-03-02 20:31:51 UTC (rev 1023) @@ -68,6 +68,21 @@ WidgetSpinnerPtr spinner = attachSpinner(IDC_SEARCH_HISTORY_SPIN); spinner->setRange(0, 100); + + attachTextBox(IDC_ROLLBACK); + attachTextBox(IDC_MAX_HASH_SPEED); + attachTextBox(IDC_SHOW_LAST_LINES_LOG); + attachTextBox(IDC_SET_MINISLOT_SIZE); + attachTextBox(IDC_MAX_FILELIST_SIZE); + attachTextBox(IDC_PRIVATE_ID); + attachTextBox(IDC_AUTO_REFRESH_TIME); + attachTextBox(IDC_BUFFERSIZE); + attachTextBox(IDC_AUTO_SEARCH_LIMIT); + attachTextBox(IDC_SEARCH_HISTORY); + attachTextBox(IDC_BIND_ADDRESS); + attachTextBox(IDC_SOCKET_IN_BUFFER); + attachTextBox(IDC_SOCKET_OUT_BUFFER); + attachTextBox(IDC_MIN_SEGMENT_SIZE); } Advanced3Page::~Advanced3Page() { Modified: dcplusplus/trunk/win32/Appearance2Page.cpp =================================================================== --- dcplusplus/trunk/win32/Appearance2Page.cpp 2008-03-01 23:16:58 UTC (rev 1022) +++ dcplusplus/trunk/win32/Appearance2Page.cpp 2008-03-02 20:31:51 UTC (rev 1023) @@ -81,6 +81,8 @@ button = attachButton(IDC_BROWSE); button->onClicked(std::tr1::bind(&Appearance2Page::handleBrowseClicked, this)); + + attachTextBox(IDC_BEEPFILE); } Appearance2Page::~Appearance2Page() { Modified: dcplusplus/trunk/win32/AppearancePage.cpp =================================================================== --- dcplusplus/trunk/win32/AppearancePage.cpp 2008-03-01 23:16:58 UTC (rev 1022) +++ dcplusplus/trunk/win32/AppearancePage.cpp 2008-03-02 20:31:51 UTC (rev 1023) @@ -96,6 +96,9 @@ } languages->setSelectedIndex(selected); + + attachTextBox(IDC_DEFAULT_AWAY_MESSAGE); + attachTextBox(IDC_TIME_STAMPS_FORMAT); } AppearancePage::~AppearancePage() { Modified: dcplusplus/trunk/win32/CertificatesPage.cpp =================================================================== --- dcplusplus/trunk/win32/CertificatesPage.cpp 2008-03-01 23:16:58 UTC (rev 1022) +++ dcplusplus/trunk/win32/CertificatesPage.cpp 2008-03-02 20:31:51 UTC (rev 1023) @@ -50,10 +50,13 @@ PropPage::translate(handle(), texts); PropPage::read(handle(), items, listItems, ::GetDlgItem(handle(), IDC_TLS_OPTIONS)); + privateKeyFile = attachTextBox(IDC_TLS_PRIVATE_KEY_FILE); attachButton(IDC_BROWSE_PRIVATE_KEY)->onClicked(std::tr1::bind(&CertificatesPage::handleBrowsePrivateKeyClicked, this)); + certificateFile = attachTextBox(IDC_TLS_CERTIFICATE_FILE); attachButton(IDC_BROWSE_CERTIFICATE)->onClicked(std::tr1::bind(&CertificatesPage::handleBrowseCertificateClicked, this)); + trustedCertificatesPath = attachTextBox(IDC_TLS_TRUSTED_CERTIFICATES_PATH); attachButton(IDC_BROWSE_TRUSTED_PATH)->onClicked(std::tr1::bind(&CertificatesPage::handleBrowseTrustedPathClicked, this)); attachButton(IDC_GENERATE_CERTS)->onClicked(std::tr1::bind(&CertificatesPage::handleGenerateCertsClicked, this)); @@ -67,21 +70,21 @@ } void CertificatesPage::handleBrowsePrivateKeyClicked() { - tstring target = Text::toT(SETTING(TLS_PRIVATE_KEY_FILE)); + tstring target = privateKeyFile->getText(); if(WinUtil::browseFile(target, handle(), false, target)) - ::SetDlgItemText(handle(), IDC_TLS_PRIVATE_KEY_FILE, &target[0]); + privateKeyFile->setText(target); } void CertificatesPage::handleBrowseCertificateClicked() { - tstring target = Text::toT(SETTING(TLS_CERTIFICATE_FILE)); + tstring target = certificateFile->getText(); if(WinUtil::browseFile(target, handle(), false, target)) - ::SetDlgItemText(handle(), IDC_TLS_CERTIFICATE_FILE, &target[0]); + certificateFile->setText(target); } void CertificatesPage::handleBrowseTrustedPathClicked() { - tstring target = Text::toT(SETTING(TLS_TRUSTED_CERTIFICATES_PATH)); + tstring target = trustedCertificatesPath->getText(); if(WinUtil::browseDirectory(target, handle())) - ::SetDlgItemText(handle(), IDC_TLS_TRUSTED_CERTIFICATES_PATH, &target[0]); + trustedCertificatesPath->setText(target); } void CertificatesPage::handleGenerateCertsClicked() { Modified: dcplusplus/trunk/win32/CertificatesPage.h =================================================================== --- dcplusplus/trunk/win32/CertificatesPage.h 2008-03-01 23:16:58 UTC (rev 1022) +++ dcplusplus/trunk/win32/CertificatesPage.h 2008-03-02 20:31:51 UTC (rev 1023) @@ -35,6 +35,10 @@ static TextItem texts[]; static ListItem listItems[]; + WidgetTextBoxPtr privateKeyFile; + WidgetTextBoxPtr certificateFile; + WidgetTextBoxPtr trustedCertificatesPath; + void handleBrowsePrivateKeyClicked(); void handleBrowseCertificateClicked(); void handleBrowseTrustedPathClicked(); Modified: dcplusplus/trunk/win32/CommandDlg.cpp =================================================================== --- dcplusplus/trunk/win32/CommandDlg.cpp 2008-03-01 23:16:58 UTC (rev 1022) +++ dcplusplus/trunk/win32/CommandDlg.cpp 2008-03-02 20:31:51 UTC (rev 1023) @@ -28,7 +28,7 @@ #include "WinUtil.h" CommandDlg::CommandDlg(SmartWin::Widget* parent, int type_, int ctx_, const tstring& name_, const tstring& command_, const tstring& hub_) : - SmartWin::WidgetFactory<SmartWin::WidgetModalDialog>(parent), + WidgetFactory<SmartWin::WidgetModalDialog>(parent), separator(0), raw(0), chat(0), Modified: dcplusplus/trunk/win32/CommandDlg.h =================================================================== --- dcplusplus/trunk/win32/CommandDlg.h 2008-03-01 23:16:58 UTC (rev 1022) +++ dcplusplus/trunk/win32/CommandDlg.h 2008-03-02 20:31:51 UTC (rev 1023) @@ -20,8 +20,9 @@ #define DCPLUSPLUS_WIN32_COMMAND_DLG_H #include <dcpp/Util.h> +#include "WidgetFactory.h" -class CommandDlg : public SmartWin::WidgetFactory<SmartWin::WidgetModalDialog> +class CommandDlg : public WidgetFactory<SmartWin::WidgetModalDialog> { public: CommandDlg(SmartWin::Widget* parent, int type_ = 0, int ctx_ = 0, const tstring& name_ = Util::emptyStringT, const tstring& command_ = Util::emptyStringT, const tstring& hub_ = Util::emptyStringT); Modified: dcplusplus/trunk/win32/DCPlusPlus.rc =================================================================== --- dcplusplus/trunk/win32/DCPlusPlus.rc 2008-03-01 23:16:58 UTC (rev 1022) +++ dcplusplus/trunk/win32/DCPlusPlus.rc 2008-03-02 20:31:51 UTC (rev 1023) @@ -471,6 +471,8 @@ EDITTEXT IDC_PORT_TCP,230,28,29,14,ES_AUTOHSCROLL | ES_NUMBER LTEXT "UDP",IDC_SETTINGS_PORT_UDP,209,48,16,8 EDITTEXT IDC_PORT_UDP,230,45,30,14,ES_AUTOHSCROLL | ES_NUMBER + LTEXT "TLS",IDC_SETTINGS_PORT_TLS,209,64,21,8 + EDITTEXT IDC_PORT_TLS,230,61,30,14,ES_AUTOHSCROLL | ES_NUMBER LTEXT "External / WAN IP",IDC_SETTINGS_IP,59,59,68,8,NOT WS_GROUP EDITTEXT IDC_EXTERNAL_IP,59,69,99,14,ES_AUTOHSCROLL CONTROL "Don't allow hub/UPnP to override",IDC_OVERRIDE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,59,86,150,10 @@ -487,8 +489,6 @@ EDITTEXT IDC_SOCKS_PASSWORD,153,190,71,14,ES_AUTOHSCROLL CONTROL "Use SOCKS5 server to resolve hostnames",IDC_SOCKS_RESOLVE, "Button",BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP,59,207,165,10 - LTEXT "TLS",IDC_SETTINGS_PORT_TLS,209,64,21,8 - EDITTEXT IDC_PORT_TLS,230,61,30,14,ES_AUTOHSCROLL | ES_NUMBER END IDD_WINDOWSPAGE DIALOGEX 100, 0, 275, 225 Modified: dcplusplus/trunk/win32/DownloadPage.cpp =================================================================== --- dcplusplus/trunk/win32/DownloadPage.cpp 2008-03-01 23:16:58 UTC (rev 1022) +++ dcplusplus/trunk/win32/DownloadPage.cpp 2008-03-02 20:31:51 UTC (rev 1023) @@ -69,6 +69,12 @@ spinner = attachSpinner(IDC_SPEEDSPIN); spinner->setRange(0, 10000); + + attachTextBox(IDC_DOWNLOADDIR); + attachTextBox(IDC_TEMP_DOWNLOAD_DIRECTORY); + attachTextBox(IDC_DOWNLOADS); + attachTextBox(IDC_MAXSPEED); + attachTextBox(IDC_PROXY); } DownloadPage::~DownloadPage() { Modified: dcplusplus/trunk/win32/FavHubProperties.cpp =================================================================== --- dcplusplus/trunk/win32/FavHubProperties.cpp 2008-03-01 23:16:58 UTC (rev 1022) +++ dcplusplus/trunk/win32/FavHubProperties.cpp 2008-03-02 20:31:51 UTC (rev 1023) @@ -26,7 +26,7 @@ #include <dcpp/version.h> FavHubProperties::FavHubProperties(SmartWin::Widget* parent, FavoriteHubEntry *_entry) : - SmartWin::WidgetFactory<SmartWin::WidgetModalDialog>(parent), + WidgetFactory<SmartWin::WidgetModalDialog>(parent), name(0), address(0), description(0), Modified: dcplusplus/trunk/win32/FavHubProperties.h =================================================================== --- dcplusplus/trunk/win32/FavHubProperties.h 2008-03-01 23:16:58 UTC (rev 1022) +++ dcplusplus/trunk/win32/FavHubProperties.h 2008-03-02 20:31:51 UTC (rev 1023) @@ -22,7 +22,7 @@ #include <dcpp/forward.h> #include "WidgetFactory.h" -class FavHubProperties : public SmartWin::WidgetFactory<SmartWin::WidgetModalDialog> +class FavHubProperties : public WidgetFactory<SmartWin::WidgetModalDialog> { public: FavHubProperties(SmartWin::Widget* parent, FavoriteHubEntry *_entry); Modified: dcplusplus/trunk/win32/GeneralPage.cpp =================================================================== --- dcplusplus/trunk/win32/GeneralPage.cpp 2008-03-01 23:16:58 UTC (rev 1022) +++ dcplusplus/trunk/win32/GeneralPage.cpp 2008-03-02 20:31:51 UTC (rev 1023) @@ -64,6 +64,8 @@ nick->setTextLimit(35); nick->onTextChanged(std::tr1::bind(&GeneralPage::handleNickTextChanged, this)); + attachTextBox(IDC_EMAIL); + attachTextBox(IDC_DESCRIPTION)->setTextLimit(35); } Modified: dcplusplus/trunk/win32/LineDlg.cpp =================================================================== --- dcplusplus/trunk/win32/LineDlg.cpp 2008-03-01 23:16:58 UTC (rev 1022) +++ dcplusplus/trunk/win32/LineDlg.cpp 2008-03-02 20:31:51 UTC (rev 1023) @@ -21,7 +21,7 @@ #include "LineDlg.h" LineDlg::LineDlg(SmartWin::Widget* parent, const tstring& title_, const tstring& desc_, const tstring& initial_, bool password_) : - SmartWin::WidgetFactory<SmartWin::WidgetModalDialog>(parent), + WidgetFactory<SmartWin::WidgetModalDialog>(parent), title(title_), desc(desc_), initial(initial_), Modified: dcplusplus/trunk/win32/LineDlg.h =================================================================== --- dcplusplus/trunk/win32/LineDlg.h 2008-03-01 23:16:58 UTC (rev 1022) +++ dcplusplus/trunk/win32/LineDlg.h 2008-03-02 20:31:51 UTC (rev 1023) @@ -22,8 +22,9 @@ #include "resource.h" #include <dcpp/Util.h> +#include "WidgetFactory.h" -class LineDlg : public SmartWin::WidgetFactory<SmartWin::WidgetModalDialog> +class LineDlg : public WidgetFactory<SmartWin::WidgetModalDialog> { public: LineDlg(SmartWin::Widget* parent, const tstring& title_, const tstring& desc_, const tstring& initial_ = Util::emptyStringT, bool password_ = false); Modified: dcplusplus/trunk/win32/LogPage.cpp =================================================================== --- dcplusplus/trunk/win32/LogPage.cpp 2008-03-01 23:16:58 UTC (rev 1022) +++ dcplusplus/trunk/win32/LogPage.cpp 2008-03-02 20:31:51 UTC (rev 1023) @@ -65,22 +65,26 @@ options.push_back(pair); } - ::EnableWindow(::GetDlgItem(handle(), IDC_LOG_FORMAT), false); - ::EnableWindow(::GetDlgItem(handle(), IDC_LOG_FILE), false); + attachTextBox(IDC_LOG_DIRECTORY); - oldSelection = -1; - attachButton(IDC_BROWSE_LOG)->onClicked(std::tr1::bind(&LogPage::handleBrowseClicked, this)); - WidgetListViewPtr dataGrid = attachList(IDC_LOG_OPTIONS); - dataGrid->onRaw(std::tr1::bind(&LogPage::handleItemChanged, this, dataGrid, _1, _2), SmartWin::Message(WM_NOTIFY, LVN_ITEMCHANGED)); + dataGrid = attachList(IDC_LOG_OPTIONS); + dataGrid->onRaw(std::tr1::bind(&LogPage::handleItemChanged, this), SmartWin::Message(WM_NOTIFY, LVN_ITEMCHANGED)); + + logFormat = attachTextBox(IDC_LOG_FORMAT); + logFormat->setEnabled(false); + + logFile = attachTextBox(IDC_LOG_FILE); + logFile->setEnabled(false); + + oldSelection = -1; } LogPage::~LogPage() { } -void LogPage::write() -{ +void LogPage::write() { PropPage::write(handle(), items, listItems, ::GetDlgItem(handle(), IDC_LOG_OPTIONS)); const string& s = SETTING(LOG_DIRECTORY); @@ -115,27 +119,27 @@ } } -HRESULT LogPage::handleItemChanged(WidgetListViewPtr dataGrid, WPARAM wParam, LPARAM lParam) { +LRESULT LogPage::handleItemChanged() { getValues(); int sel = dataGrid->getSelectedIndex(); if(sel >= 0 && sel < LogManager::LAST) { - BOOL checkState = dataGrid->isChecked(sel) ? TRUE : FALSE; - ::EnableWindow(::GetDlgItem(handle(), IDC_LOG_FORMAT), checkState); - ::EnableWindow(::GetDlgItem(handle(), IDC_LOG_FILE), checkState); + bool checkState = dataGrid->isChecked(sel); + logFormat->setEnabled(checkState); + logFile->setEnabled(checkState); - ::SetDlgItemText(handle(), IDC_LOG_FILE, options[sel].first.c_str()); - ::SetDlgItemText(handle(), IDC_LOG_FORMAT, options[sel].second.c_str()); + logFile->setText(options[sel].first); + logFormat->setText(options[sel].second); //save the old selection so we know where to save the values oldSelection = sel; } else { - ::EnableWindow(::GetDlgItem(handle(), IDC_LOG_FORMAT), FALSE); - ::EnableWindow(::GetDlgItem(handle(), IDC_LOG_FILE), FALSE); + logFormat->setEnabled(false); + logFile->setEnabled(false); - ::SetDlgItemText(handle(), IDC_LOG_FILE, _T("")); - ::SetDlgItemText(handle(), IDC_LOG_FORMAT, _T("")); + logFile->setText(Util::emptyStringT); + logFormat->setText(Util::emptyStringT); } return 0; @@ -143,11 +147,7 @@ void LogPage::getValues() { if(oldSelection >= 0) { - TCHAR buf[512]; - - if(::GetDlgItemText(handle(), IDC_LOG_FILE, buf, 512) > 0) - options[oldSelection].first = buf; - if(::GetDlgItemText(handle(), IDC_LOG_FORMAT, buf, 512) > 0) - options[oldSelection].second = buf; + options[oldSelection].first = logFile->getText(); + options[oldSelection].second = logFormat->getText(); } } Modified: dcplusplus/trunk/win32/LogPage.h =================================================================== --- dcplusplus/trunk/win32/LogPage.h 2008-03-01 23:16:58 UTC (rev 1022) +++ dcplusplus/trunk/win32/LogPage.h 2008-03-02 20:31:51 UTC (rev 1023) @@ -36,6 +36,10 @@ static TextItem texts[]; static ListItem listItems[]; + WidgetListViewPtr dataGrid; + WidgetTextBoxPtr logFormat; + WidgetTextBoxPtr logFile; + int oldSelection; //store all log options here so we can discard them @@ -44,9 +48,8 @@ TStringPairList options; void handleBrowseClicked(); + LRESULT handleItemChanged(); - HRESULT handleItemChanged(WidgetListViewPtr dataGrid, WPARAM wParam, LPARAM lParam); - void getValues(); }; Modified: dcplusplus/trunk/win32/MDIChildFrame.h =================================================================== --- dcplusplus/trunk/win32/MDIChildFrame.h 2008-03-01 23:16:58 UTC (rev 1022) +++ dcplusplus/trunk/win32/MDIChildFrame.h 2008-03-02 20:31:51 UTC (rev 1023) @@ -127,9 +127,9 @@ bool reallyClose; - void addDlgCodeMessage(SmartWin::WidgetComboBox* widget) { + void addDlgCodeMessage(WidgetComboBox* widget) { widget->onRaw(std::tr1::bind(&ThisType::handleGetDlgCode, this, _1), SmartWin::Message(WM_GETDLGCODE)); - SmartWin::WidgetTextBox* text = widget->getTextBox(); + WidgetTextBox* text = widget->getTextBox(); if(text) text->onRaw(std::tr1::bind(&ThisType::handleGetDlgCode, this, _1), SmartWin::Message(WM_GETDLGCODE)); } @@ -139,9 +139,9 @@ widget->onRaw(std::tr1::bind(&ThisType::handleGetDlgCode, this, _1), SmartWin::Message(WM_GETDLGCODE)); } - void addColor(SmartWin::WidgetComboBox* widget) { + void addColor(WidgetComboBox* widget) { widget->onBackgroundColor(std::tr1::bind(&ThisType::handleBackgroundColor, this, _1)); - SmartWin::WidgetTextBox* text = widget->getTextBox(); + WidgetTextBox* text = widget->getTextBox(); if(text) text->onBackgroundColor(std::tr1::bind(&ThisType::handleBackgroundColor, this, _1)); } Modified: dcplusplus/trunk/win32/MagnetDlg.cpp =================================================================== --- dcplusplus/trunk/win32/MagnetDlg.cpp 2008-03-01 23:16:58 UTC (rev 1022) +++ dcplusplus/trunk/win32/MagnetDlg.cpp 2008-03-02 20:31:51 UTC (rev 1023) @@ -25,7 +25,7 @@ #include "WinUtil.h" MagnetDlg::MagnetDlg(SmartWin::Widget* parent, const tstring& aHash, const tstring& aFileName) : - SmartWin::WidgetFactory<SmartWin::WidgetModalDialog>(parent), + WidgetFactory<SmartWin::WidgetModalDialog>(parent), //queue(0), search(0), doNothing(0), @@ -44,8 +44,8 @@ setText(T_("MAGNET Link detected")); ::SetDlgItemText(handle(), IDC_MAGNET_TEXT, CT_("DC++ has detected a MAGNET link with a file hash that can be searched for on the Direct Connect network. What would you like to do?")); ::SetDlgItemText(handle(), IDC_MAGNET_HASH, CT_("File Hash:")); - ::SetDlgItemText(handle(), IDC_MAGNET_DISP_HASH, mHash.c_str()); - ::SetDlgItemText(handle(), IDC_MAGNET_NAME, CT_("Filename:")); + attachTextBox(IDC_MAGNET_DISP_HASH)->setText(mHash.c_str()); + attachTextBox(IDC_MAGNET_NAME)->setText(T_("Filename:")); ::SetDlgItemText(handle(), IDC_MAGNET_DISP_NAME, mFileName.c_str()); //queue = attachRadioButton(IDC_MAGNET_1_QUEUE); Modified: dcplusplus/trunk/win32/MagnetDlg.h =================================================================== --- dcplusplus/trunk/win32/MagnetDlg.h 2008-03-01 23:16:58 UTC (rev 1022) +++ dcplusplus/trunk/win32/MagnetDlg.h 2008-03-02 20:31:51 UTC (rev 1023) @@ -25,7 +25,9 @@ // and can take filename, size, etc. values from there. // - GargoyleMT -class MagnetDlg : public SmartWin::WidgetFactory<SmartWin::WidgetModalDialog> +#include "WidgetFactory.h" + +class MagnetDlg : public WidgetFactory<SmartWin::WidgetModalDialog> { public: MagnetDlg(SmartWin::Widget* parent, const tstring& aHash, const tstring& aFileName); Modified: dcplusplus/trunk/win32/MainWindow.cpp =================================================================== --- dcplusplus/trunk/win32/MainWindow.cpp 2008-03-01 23:16:58 UTC (rev 1022) +++ dcplusplus/trunk/win32/MainWindow.cpp 2008-03-02 20:31:51 UTC (rev 1023) @@ -254,7 +254,7 @@ help->appendItem(IDC_HELP_DONATE, T_("Donate (paypal)"), std::tr1::bind(&MainWindow::handleLink, this, _1)); } - mainMenu->attach(); + mainMenu->setMenu(); } void MainWindow::initToolbar() { Modified: dcplusplus/trunk/win32/NetworkPage.cpp =================================================================== --- dcplusplus/trunk/win32/NetworkPage.cpp 2008-03-01 23:16:58 UTC (rev 1022) +++ dcplusplus/trunk/win32/NetworkPage.cpp 2008-03-02 20:31:51 UTC (rev 1023) @@ -100,12 +100,17 @@ RADIO_ATTACH(IDC_SOCKS5); #undef RADIO_ATTACH -#define TEXTBOX_ATTACH(id) attachTextBox(id)->setTextLimit(250) - TEXTBOX_ATTACH(IDC_SOCKS_SERVER); - TEXTBOX_ATTACH(IDC_SOCKS_PORT); - TEXTBOX_ATTACH(IDC_SOCKS_USER); - TEXTBOX_ATTACH(IDC_SOCKS_PASSWORD); -#undef TEXTBOX_ATTACH +#define TEXTBOX_LIMIT(id) attachTextBox(id)->setTextLimit(250) + TEXTBOX_LIMIT(IDC_SOCKS_SERVER); + TEXTBOX_LIMIT(IDC_SOCKS_PORT); + TEXTBOX_LIMIT(IDC_SOCKS_USER); + TEXTBOX_LIMIT(IDC_SOCKS_PASSWORD); +#undef TEXTBOX_LIMIT + + attachTextBox(IDC_PORT_TCP); + attachTextBox(IDC_PORT_UDP); + attachTextBox(IDC_PORT_TLS); + attachTextBox(IDC_EXTERNAL_IP); } NetworkPage::~NetworkPage() { Modified: dcplusplus/trunk/win32/PropPage.cpp =================================================================== --- dcplusplus/trunk/win32/PropPage.cpp 2008-03-01 23:16:58 UTC (rev 1022) +++ dcplusplus/trunk/win32/PropPage.cpp 2008-03-02 20:31:51 UTC (rev 1023) @@ -23,8 +23,8 @@ #include "PropPage.h" #include <dcpp/SettingsManager.h> +#include "WinUtil.h" - PropPage::PropPage(SmartWin::Widget* parent) : WidgetFactory<SmartWin::WidgetDialog>(parent) { onRaw(std::tr1::bind(&PropPage::handleHelp, this, _1, _2), SmartWin::Message(WM_HELP)); } Modified: dcplusplus/trunk/win32/PropPage.h =================================================================== --- dcplusplus/trunk/win32/PropPage.h 2008-03-01 23:16:58 UTC (rev 1022) +++ dcplusplus/trunk/win32/PropPage.h 2008-03-02 20:31:51 UTC (rev 1023) @@ -22,7 +22,6 @@ #define SETTINGS_BUF_LEN 1024 #include "WidgetFactory.h" -#include "resource.h" class PropPage : public WidgetFactory<SmartWin::WidgetDialog> { Modified: dcplusplus/trunk/win32/QueuePage.cpp =================================================================== --- dcplusplus/trunk/win32/QueuePage.cpp 2008-03-01 23:16:58 UTC (rev 1022) +++ dcplusplus/trunk/win32/QueuePage.cpp 2008-03-02 20:31:51 UTC (rev 1023) @@ -84,6 +84,17 @@ PropPage::translate(handle(), texts); PropPage::read(handle(), items, 0, 0); PropPage::read(handle(), items, optionItems, ::GetDlgItem(handle(), IDC_OTHER_QUEUE_OPTIONS)); + + attachTextBox(IDC_PRIO_HIGHEST_SIZE); + attachTextBox(IDC_PRIO_NORMAL_SIZE); + attachTextBox(IDC_PRIO_HIGH_SIZE); + attachTextBox(IDC_PRIO_LOW_SIZE); + attachTextBox(IDC_AUTODROP_SPEED); + attachTextBox(IDC_AUTODROP_ELAPSED); + attachTextBox(IDC_AUTODROP_MINSOURCES); + attachTextBox(IDC_AUTODROP_INTERVAL); + attachTextBox(IDC_AUTODROP_INACTIVITY); + attachTextBox(IDC_AUTODROP_FILESIZE); } QueuePage::~QueuePage() { Modified: dcplusplus/trunk/win32/TransferView.h =================================================================== --- dcplusplus/trunk/win32/TransferView.h 2008-03-01 23:16:58 UTC (rev 1022) +++ dcplusplus/trunk/win32/TransferView.h 2008-03-02 20:31:51 UTC (rev 1023) @@ -25,6 +25,7 @@ #include <dcpp/QueueManagerListener.h> #include <dcpp/TaskQueue.h> #include <dcpp/forward.h> +#include <dcpp/MerkleTree.h> #include <dcpp/Util.h> #include "AspectSpeaker.h" Modified: dcplusplus/trunk/win32/UploadPage.cpp =================================================================== --- dcplusplus/trunk/win32/UploadPage.cpp 2008-03-01 23:16:58 UTC (rev 1022) +++ dcplusplus/trunk/win32/UploadPage.cpp 2008-03-02 20:31:51 UTC (rev 1023) @@ -103,6 +103,9 @@ spinner = attachSpinner(IDC_MIN_UPLOAD_SPIN); spinner->setRange(0, UD_MAXVAL); + + attachTextBox(IDC_MIN_UPLOAD_SPEED); + attachTextBox(IDC_SLOTS); } UploadPage::~UploadPage() { Added: dcplusplus/trunk/win32/WidgetComboBox.cpp =================================================================== --- dcplusplus/trunk/win32/WidgetComboBox.cpp (rev 0) +++ dcplusplus/trunk/win32/WidgetComboBox.cpp 2008-03-02 20:31:51 UTC (rev 1023) @@ -0,0 +1,36 @@ +/* + * Copyright (C) 2001-2008 Jacek Sieka, arnetheduck on gmail point com + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + */ + +#include "stdafx.h" + +#include "WidgetComboBox.h" + +WidgetComboBox::WidgetComboBox( SmartWin::Widget * parent ) : BaseType(parent), textBox(0) { +} + +WidgetComboBox::WidgetTextBoxPtr WidgetComboBox::getTextBox() { + if(!textBox) { + LONG_PTR style = ::GetWindowLongPtr(handle(), GWL_STYLE); + if((style & CBS_SIMPLE) == CBS_SIMPLE || (style & CBS_DROPDOWN) == CBS_DROPDOWN) { + HWND wnd = ::FindWindowEx(handle(), NULL, _T("EDIT"), NULL); + if(wnd && wnd != handle()) + textBox = SmartWin::WidgetCreator< WidgetTextBox >::attach(this, wnd); + } + } + return textBox; +} Added: dcplusplus/trunk/win32/WidgetComboBox.h =================================================================== --- dcplusplus/trunk/win32/WidgetComboBox.h (rev 0) +++ dcplusplus/trunk/win32/WidgetComboBox.h 2008-03-02 20:31:51 UTC (rev 1023) @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2001-2008 Jacek Sieka, arnetheduck on gmail point com + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + */ + +#ifndef DCPLUSPLUS_WIN32_WIDGETCOMBOBOX_H_ +#define DCPLUSPLUS_WIN32_WIDGETCOMBOBOX_H_ + +#include "WidgetTextBox.h" + +class WidgetComboBox : public SmartWin::WidgetComboBox { +private: + typedef SmartWin::WidgetComboBox BaseType; +public: + typedef WidgetComboBox ThisType; + + typedef ThisType* ObjectType; + + explicit WidgetComboBox( SmartWin::Widget * parent ); + + typedef WidgetTextBox::ObjectType WidgetTextBoxPtr; + WidgetTextBoxPtr getTextBox(); + +private: + WidgetTextBoxPtr textBox; +}; + +#endif /*WIDGETCOMBOBOX_H_*/ Modified: dcplusplus/trunk/win32/WidgetFactory.h =================================================================== --- dcplusplus/trunk/win32/WidgetFactory.h 2008-03-01 23:16:58 UTC (rev 1022) +++ dcplusplus/trunk/win32/WidgetFactory.h 2008-03-02 20:31:51 UTC (rev 1023) @@ -20,6 +20,7 @@ #define DCPLUSPLUS_WIN32_WIDGETFACTORY2_H_ #include "WidgetTextBox.h" +#include "WidgetComboBox.h" #include "WidgetPaned.h" /** @@ -44,6 +45,20 @@ return SmartWin::WidgetCreator< WidgetTextBox >::attach( this, id ); } + /// ComboBox class type. + typedef ::WidgetComboBox WidgetComboBox; + + /// ComboBox object type. + typedef typename WidgetComboBox::ObjectType WidgetComboBoxPtr; + + WidgetComboBoxPtr createComboBox( const WidgetComboBox::Seed & cs = WidgetComboBox::Seed() ) { + return SmartWin::WidgetCreator< WidgetComboBox >::create( this, cs ); + } + + WidgetComboBoxPtr attachComboBox( unsigned id ) { + return SmartWin::WidgetCreator< WidgetComboBox >::attach( this, id ); + } + /// VPaned class type. typedef WidgetPaned< false > WidgetVPaned; Added: dcplusplus/trunk/win32/WidgetTextBox.cpp =================================================================== --- dcplusplus/trunk/win32/WidgetTextBox.cpp (rev 0) +++ dcplusplus/trunk/win32/WidgetTextBox.cpp 2008-03-02 20:31:51 UTC (rev 1023) @@ -0,0 +1,48 @@ +/* + * Copyright (C) 2001-2008 Jacek Sieka, arnetheduck on gmail point com + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + */ + +#include "stdafx.h" + +#include "WidgetTextBox.h" + +#include "WinUtil.h" + +WidgetTextBox::WidgetTextBox( SmartWin::Widget * parent ) : BaseType(parent), menuOpened(false) { + this->onLeftMouseDblClick(std::tr1::bind(&WidgetTextBox::handleLeftDblClick, this, _1)); + + this->onRaw(std::tr1::bind(&WidgetTextBox::handleEnterIdle, this, _1, _2), SmartWin::Message(WM_ENTERIDLE)); + this->onRaw(std::tr1::bind(&WidgetTextBox::handleMenuSelect, this, _1, _2), SmartWin::Message(WM_MENUSELECT)); +} + +void WidgetTextBox::handleLeftDblClick(const SmartWin::MouseEventResult& ev) { + WinUtil::parseDBLClick(textUnderCursor(ev.pos)); +} + +LRESULT WidgetTextBox::handleEnterIdle(WPARAM wParam, LPARAM lParam) { + if(wParam == MSGF_MENU && !menuOpened) { + menu = SmartWin::WidgetCreator<SmartWin::WidgetMenu>::attach(this, reinterpret_cast<HMENU>(::SendMessage(reinterpret_cast<HWND>(lParam), MN_GETHMENU, 0, 0)), WinUtil::Seeds::menu); + menuOpened = true; + } + return 0; +} + +LRESULT WidgetTextBox::handleMenuSelect(WPARAM wParam, LPARAM lParam) { + if((HIWORD(wParam) == 0xFFFF) && (lParam == 0)) + menuOpened = false; + return 0; +} Modified: dcplusplus/trunk/win32/WidgetTextBox.h =================================================================== --- dcplusplus/trunk/win32/WidgetTextBox.h 2008-03-01 23:16:58 UTC (rev 1022) +++ dcplusplus/trunk/win32/WidgetTextBox.h 2008-03-02 20:31:51 UTC (rev 1023) @@ -19,9 +19,7 @@ #ifndef DCPLUSPLUS_WIN32_WIDGETTEXTBOX_H_ #define DCPLUSPLUS_WIN32_WIDGETTEXTBOX_H_ -#include "WinUtil.h" - -/** Our own flavour of text boxes that handle double clicks */ +/** Our own flavour of text boxes that handle double clicks and have fancy menus */ class WidgetTextBox : public SmartWin::WidgetTextBox { private: typedef SmartWin::WidgetTextBox BaseType; @@ -30,14 +28,16 @@ typedef ThisType* ObjectType; - explicit WidgetTextBox( SmartWin::Widget * parent ) : BaseType(parent) { - this->onLeftMouseDblClick(std::tr1::bind(&WidgetTextBox::handleLeftDblClick, this, _1)); - } + explicit WidgetTextBox( SmartWin::Widget * parent ); private: - void handleLeftDblClick(const SmartWin::MouseEventResult& ev) { - WinUtil::parseDBLClick(textUnderCursor(ev.pos)); - } + void handleLeftDblClick(const SmartWin::MouseEventResult& ev); + + LRESULT handleEnterIdle(WPARAM wParam, LPARAM lParam); + LRESULT handleMenuSelect(WPARAM wParam, LPARAM lParam); + + SmartWin::WidgetMenu::ObjectType menu; + bool menuOpened; }; #endif /*WIDGETTEXTBOX_H_*/ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <arn...@us...> - 2008-03-04 23:19:36
|
Revision: 1024 http://dcplusplus.svn.sourceforge.net/dcplusplus/?rev=1024&view=rev Author: arnetheduck Date: 2008-03-04 15:19:17 -0800 (Tue, 04 Mar 2008) Log Message: ----------- language updates, memory fixes Modified Paths: -------------- dcplusplus/trunk/SConstruct dcplusplus/trunk/dcpp/BufferedSocket.cpp dcplusplus/trunk/dcpp/CryptoManager.cpp dcplusplus/trunk/dcpp/Pointer.h dcplusplus/trunk/dcpp/po/de.po dcplusplus/trunk/dcpp/po/fr.po dcplusplus/trunk/dcpp/po/hu.po dcplusplus/trunk/dcpp/po/id.po dcplusplus/trunk/dcpp/po/it.po dcplusplus/trunk/dcpp/po/km.po dcplusplus/trunk/dcpp/po/ko.po dcplusplus/trunk/dcpp/po/pl.po dcplusplus/trunk/dcpp/po/pt.po dcplusplus/trunk/dcpp/po/ro.po dcplusplus/trunk/dcpp/po/sl.po dcplusplus/trunk/dcpp/po/sq.po dcplusplus/trunk/dcpp/po/sv.po dcplusplus/trunk/win32/MainWindow.cpp dcplusplus/trunk/win32/po/fr.po dcplusplus/trunk/win32/po/id.po dcplusplus/trunk/win32/po/it.po dcplusplus/trunk/win32/po/km.po dcplusplus/trunk/win32/po/ko.po dcplusplus/trunk/win32/po/pl.po dcplusplus/trunk/win32/po/pt.po dcplusplus/trunk/win32/po/ro.po dcplusplus/trunk/win32/po/sl.po dcplusplus/trunk/win32/po/sq.po Added 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/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/gl.po dcplusplus/trunk/dcpp/po/he.po dcplusplus/trunk/dcpp/po/hr.po dcplusplus/trunk/dcpp/po/is.po dcplusplus/trunk/dcpp/po/ja.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/pt_BR.po dcplusplus/trunk/dcpp/po/ru.po dcplusplus/trunk/dcpp/po/tr.po dcplusplus/trunk/dcpp/po/uk.po dcplusplus/trunk/dcpp/po/zh.po dcplusplus/trunk/dcpp/po/zh_TW.po 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/gl.po dcplusplus/trunk/win32/po/he.po dcplusplus/trunk/win32/po/hr.po dcplusplus/trunk/win32/po/hu.po dcplusplus/trunk/win32/po/is.po dcplusplus/trunk/win32/po/ja.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/pt_BR.po dcplusplus/trunk/win32/po/ru.po dcplusplus/trunk/win32/po/sv.po dcplusplus/trunk/win32/po/tr.po dcplusplus/trunk/win32/po/uk.po dcplusplus/trunk/win32/po/zh.po dcplusplus/trunk/win32/po/zh_TW.po Modified: dcplusplus/trunk/SConstruct =================================================================== --- dcplusplus/trunk/SConstruct 2008-03-02 20:31:51 UTC (rev 1023) +++ dcplusplus/trunk/SConstruct 2008-03-04 23:19:17 UTC (rev 1024) @@ -17,7 +17,7 @@ ) gcc_flags = { - 'common': ['-ggdb', '-Wall', '-Wextra', '-pipe', '-Wno-unused-parameter', '-Wno-missing-field-initializers', '-fexceptions', '-mthreads'], + 'common': ['-g', '-Wall', '-Wextra', '-pipe', '-Wno-unused-parameter', '-Wno-missing-field-initializers', '-fexceptions', '-mthreads'], 'debug': [], 'release' : ['-O2', '-mwindows'] } Modified: dcplusplus/trunk/dcpp/BufferedSocket.cpp =================================================================== --- dcplusplus/trunk/dcpp/BufferedSocket.cpp 2008-03-02 20:31:51 UTC (rev 1023) +++ dcplusplus/trunk/dcpp/BufferedSocket.cpp 2008-03-04 23:19:17 UTC (rev 1024) @@ -170,7 +170,6 @@ // This socket has been closed... throw SocketException(("Connection closed")); } - size_t used; string::size_type pos = 0; // always uncompressed data string l; @@ -179,20 +178,19 @@ while (left > 0) { switch (mode) { case MODE_ZPIPE: - if (filterIn != NULL){ - const int BufSize = 1024; + if(filterIn) { + const int BUF_SIZE = 1024; // Special to autodetect nmdc connections... string::size_type pos = 0; - boost::scoped_array<uint8_t> buffer (new uint8_t[BufSize]); - size_t in; + boost::scoped_array<char> buffer(new char[BUF_SIZE]); l = line; // decompress all input data and store in l. while (left) { - in = BufSize; - used = left; - bool ret = (*filterIn) ((void *)(&inbuf[0] + total - left), used, &buffer[0], in); + size_t in = BUF_SIZE; + size_t used = left; + bool ret = (*filterIn) (&inbuf[0] + total - left, used, &buffer[0], in); left -= used; - l.append ((const char *)&buffer[0], in); + l.append (&buffer[0], in); // if the stream ends before the data runs out, keep remainder of data in inbuf if (!ret) { bufpos = total-left; @@ -203,7 +201,7 @@ // process all lines while ((pos = l.find(separator)) != string::npos) { fire(BufferedSocketListener::Line(), l.substr(0, pos)); - l.erase (0, pos + 1 /* seperator char */); + l.erase (0, pos + 1 /* separator char */); } // store remainder line = l; Modified: dcplusplus/trunk/dcpp/CryptoManager.cpp =================================================================== --- dcplusplus/trunk/dcpp/CryptoManager.cpp 2008-03-02 20:31:51 UTC (rev 1023) +++ dcplusplus/trunk/dcpp/CryptoManager.cpp 2008-03-04 23:19:17 UTC (rev 1024) @@ -155,8 +155,6 @@ int days = 10; int keylength = 2048; - const char* err = NULL; - #define CHECK(n) if(!(n)) { throw CryptoException(#n); } // Generate key pair @@ -350,7 +348,7 @@ bs.avail_in = sz; bs.avail_out = bufsize; - bs.next_in = (char*)(const_cast<uint8_t*>(is)); + bs.next_in = reinterpret_cast<char*>(const_cast<uint8_t*>(is)); bs.next_out = &buf[0]; int err; Modified: dcplusplus/trunk/dcpp/Pointer.h =================================================================== --- dcplusplus/trunk/dcpp/Pointer.h 2008-03-02 20:31:51 UTC (rev 1023) +++ dcplusplus/trunk/dcpp/Pointer.h 2008-03-04 23:19:17 UTC (rev 1024) @@ -35,8 +35,7 @@ void dec() throw() { dcassert(ref>0); - if ( (Thread::safeDec(ref)) == 0 ) { - //dcdebug("Smart Object at 0x%08x deleted\n", this); + if ( Thread::safeDec(ref) == 0 ) { delete this; } } Added: dcplusplus/trunk/dcpp/po/ar.po =================================================================== --- dcplusplus/trunk/dcpp/po/ar.po (rev 0) +++ dcplusplus/trunk/dcpp/po/ar.po 2008-03-04 23:19:17 UTC (rev 1024) @@ -0,0 +1,419 @@ +# Arabic translations for the DC++ package. +# Copyright (C) 2008 The translators +# This file is distributed under the same license as the DC++ package. +# <jma...@us...>, 2008. +# +msgid "" +msgstr "" +"Project-Id-Version: dcpp\n" +"Report-Msgid-Bugs-To: dcp...@li...\n" +"POT-Creation-Date: 2008-03-04 23:00+0100\n" +"Last-Translator: <jma...@us...>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: plurals=2; plural=(n != 1);\n" + +#: dcpp/Util.cpp:381 +#, c-format, boost-format +msgid "%'lld B" +msgstr "" + +#: dcpp/Util.cpp:343 +#, c-format, boost-format +msgid "%.02f GiB" +msgstr "" + +#: dcpp/Util.cpp:339 +#, c-format, boost-format +msgid "%.02f KiB" +msgstr "" + +#: dcpp/Util.cpp:341 +#, c-format, boost-format +msgid "%.02f MiB" +msgstr "" + +#: dcpp/Util.cpp:347 +#, c-format, boost-format +msgid "%.02f PiB" +msgstr "" + +#: dcpp/Util.cpp:345 +#, c-format, boost-format +msgid "%.02f TiB" +msgstr "" + +#: dcpp/AdcHub.cpp:139 +#, boost-format +msgid "%1% (%2%) has same CID {%3%} as %4% (%5%), ignoring" +msgstr "" + +#: dcpp/NmdcHub.cpp:281 +#, boost-format +msgid "%1% (Nick unknown)" +msgstr "" + +#: dcpp/HashManager.cpp:767 +#, boost-format +msgid "" +"%1% not shared; calculated CRC32 does not match the one found in SFV file." +msgstr "" + +#: dcpp/QueueManager.cpp:325 +#, boost-format +msgid "%1% renamed to %2%" +msgstr "" + +#: dcpp/AdcHub.cpp:281 +#, boost-format +msgid "%1% was kicked by %2%: %3%" +msgstr "" + +#: dcpp/AdcHub.cpp:284 +#, boost-format +msgid "%1% was kicked: %2%" +msgstr "" + +#: dcpp/DownloadManager.cpp:530 +#, fuzzy, boost-format +msgid "%1%: File not available" +msgstr "الملف غير موجود" + +#: dcpp/Util.cpp:337 +#, c-format, boost-format +msgid "%d B" +msgstr "" + +#: dcpp/Util.cpp:377 +#, c-format, boost-format +msgid "%s B" +msgstr "" + +#: dcpp/QueueManager.cpp:532 +msgid "A file of equal or larger size already exists at the target location" +msgstr "الملف بنفس الحجم أو أكبر موجود حاليا في المكان المقصود" + +#: dcpp/QueueManager.cpp:475 +msgid "A file with a different size already exists in the queue" +msgstr "الملف ذو الحجم المختلف موجود حاليا في الطابور" + +#: dcpp/QueueManager.cpp:478 +msgid "A file with different tth root already exists in the queue" +msgstr "الملف ذو \"تي تي إتش\" مختلف موجود حاليا في الطابور" + +#: dcpp/QueueManager.cpp:442 +msgid "A file with the same hash already exists in your share" +msgstr "ملف بنفس الهاتش موجود حاليا" + +#: dcpp/ConnectionManager.cpp:176 +msgid "All download slots taken" +msgstr "كل وصلات التحميل مأخوذة" + +#: dcpp/DownloadManager.cpp:376 +msgid "CRC32 inconsistency (SFV-Check)" +msgstr "CRC32 تضارب (SFV-فحص)" + +#: dcpp/DownloadManager.cpp:374 +#, fuzzy, boost-format +msgid "CRC32 inconsistency (SFV-Check) (File: %1%)" +msgstr "CRC32 تضارب (SFV-فحص)" + +#: dcpp/ConnectionManager.cpp:376 +msgid "Certificate not trusted, unable to connect" +msgstr "" + +#: dcpp/Socket.cpp:154 dcpp/ConnectionManager.cpp:182 +#: dcpp/BufferedSocket.cpp:154 +msgid "Connection timeout" +msgstr "لا يمكن التوصيل" + +#: dcpp/DownloadManager.cpp:232 +#, boost-format +msgid "Could not open target file: %1%" +msgstr "" + +#: dcpp/ShareManager.cpp:418 +msgid "Directory already shared" +msgstr "المجلد مستخدم حاليا " + +#: dcpp/BufferedSocket.cpp:407 dcpp/BufferedSocket.cpp:426 +msgid "Disconnected" +msgstr "انفصل" + +#: dcpp/UploadManager.cpp:450 +#, boost-format +msgid "Disconnected user leaving the hub: %1%" +msgstr "" + +#: dcpp/DCPlusPlus.cpp:103 +msgid "Download Queue" +msgstr "طابور التحميل" + +#: dcpp/ShareManager.cpp:741 +#, boost-format +msgid "" +"Duplicate file will not be shared: %1%%2% (Size: %3% B) Dupe matched " +"against: %4%%5%" +msgstr "" + +#: dcpp/QueueManager.cpp:545 dcpp/QueueManager.cpp:549 +#, boost-format +msgid "Duplicate source: %1%" +msgstr "" + +#: dcpp/HashManager.cpp:456 +#, boost-format +msgid "Error creating hash data file: %1%" +msgstr "" + +#: dcpp/ZUtils.cpp:33 dcpp/ZUtils.cpp:54 dcpp/ZUtils.cpp:76 dcpp/ZUtils.cpp:86 +#: dcpp/BZUtils.cpp:31 dcpp/BZUtils.cpp:52 dcpp/BZUtils.cpp:60 +msgid "Error during compression" +msgstr "خطا خلال عملية الفك" + +#: dcpp/ZUtils.cpp:100 dcpp/ZUtils.cpp:123 dcpp/BZUtils.cpp:72 +#: dcpp/BZUtils.cpp:94 dcpp/BZUtils.cpp:97 dcpp/CryptoManager.cpp:342 +#: dcpp/CryptoManager.cpp:361 dcpp/CryptoManager.cpp:375 +msgid "Error during decompression" +msgstr "خطأ خلال عملية الفك" + +#: dcpp/HashManager.cpp:772 +#, boost-format +msgid "Error hashing %1%: %2%" +msgstr "" + +#: dcpp/HashManager.cpp:118 dcpp/HashManager.cpp:333 +#, boost-format +msgid "Error saving hash data: %1%" +msgstr "" + +#: dcpp/CryptoManager.cpp:226 dcpp/CryptoManager.cpp:230 +#: dcpp/CryptoManager.cpp:235 dcpp/CryptoManager.cpp:239 +msgid "Failed to load certificate file" +msgstr "" + +#: dcpp/CryptoManager.cpp:244 dcpp/CryptoManager.cpp:248 +#: dcpp/CryptoManager.cpp:253 dcpp/CryptoManager.cpp:257 +msgid "Failed to load private key" +msgstr "" + +#: dcpp/AdcHub.cpp:206 +msgid "Failed to negotiate base protocol" +msgstr "" + +#: dcpp/Socket.cpp:408 +msgid "" +"Failed to set up the socks server for UDP relay (check socks address and " +"port)" +msgstr "(افحص عنوان السوكس و البورت) UDP فشل في عمل سوكس سيرفر لحدوث تبادل في " + +#: dcpp/ShareManager.cpp:776 +#, fuzzy, boost-format +msgid "File list refresh failed: %1%" +msgstr "تجديد قائمة الملفات انتهت" + +#: dcpp/ShareManager.cpp:820 +msgid "File list refresh finished" +msgstr "تجديد قائمة الملفات انتهت" + +#: dcpp/ShareManager.cpp:756 +msgid "" +"File list refresh in progress, please wait for it to finish before trying to " +"refresh again" +msgstr "" + +#: dcpp/ShareManager.cpp:798 +msgid "File list refresh initiated" +msgstr "تجديد قائمة الملفات بدأت" + +#: dcpp/DirectoryListing.cpp:102 +msgid "File not available" +msgstr "الملف غير موجود" + +#: dcpp/HashManager.cpp:89 +#, boost-format +msgid "Finished hashing: %1%" +msgstr "" + +#: dcpp/HashManager.cpp:87 +#, boost-format +msgid "Finished hashing: %1% (%2%/s)" +msgstr "" + +#: dcpp/DownloadManager.cpp:308 +msgid "Full tree does not match TTH root" +msgstr "السلسلة المحملة لا تتوافق مع \"تي تي إتش\" الرئيسي" + +#: dcpp/CryptoManager.cpp:219 +msgid "Generated new TLS certificate" +msgstr "" + +#: dcpp/DCPlusPlus.cpp:97 +msgid "Hash database" +msgstr "تحديث قاعدة البيانات" + +#: dcpp/HashManager.cpp:677 +msgid "Hash database rebuilt" +msgstr "تحديث قائمة البيانات انتهت" + +#: dcpp/HashManager.cpp:73 dcpp/HashManager.cpp:277 +#, boost-format +msgid "Hashing failed: %1%" +msgstr "" + +#: dcpp/AdcHub.cpp:212 +msgid "" +"Hub probably uses an old version of ADC, please encourage the owner to " +"upgrade" +msgstr "" + +#: dcpp/DownloadManager.cpp:220 +msgid "Invalid size" +msgstr "" + +#: dcpp/QueueManager.cpp:515 dcpp/QueueManager.cpp:523 +msgid "" +"Invalid target file (missing directory, check default download directory " +"setting)" +msgstr "الملف المراد خاطيء - مجلد مفقود ، تفقد خواص المجلد للتحميل" + +#: dcpp/FavoriteManager.cpp:438 +msgid "Kick user(s)" +msgstr "فصل المستخدم " + +#: dcpp/ConnectionManager.cpp:230 +#, boost-format +msgid "Listening socket failed (you need to restart %1%): %2%" +msgstr "" + +#: dcpp/BufferedSocket.cpp:261 +msgid "Maximum command length exceeded" +msgstr "" + +#: dcpp/DownloadManager.cpp:280 +msgid "More data was sent than was expected" +msgstr "معلومات أكثر قد أرسلت ، على غير المتوقع" + +#: dcpp/ShareManager.cpp:403 +msgid "No directory specified" +msgstr "لم يتم تحديد مجلد معين" + +#: dcpp/DownloadManager.cpp:419 +msgid "No slots available" +msgstr "لا توجد وصلة خالية" + +#: dcpp/AdcHub.cpp:576 +#, boost-format +msgid "Not listening for connections - please restart %1%" +msgstr "" + +#: dcpp/Transfer.cpp:63 dcpp/Transfer.cpp:67 dcpp/ClientManager.cpp:115 +#: dcpp/SearchManager.cpp:267 dcpp/SearchManager.cpp:329 +#: dcpp/SearchManager.cpp:331 +msgid "Offline" +msgstr "غير متصل" + +#: dcpp/FavoriteManager.cpp:442 +msgid "Redirect user(s)" +msgstr "تحويل المستخدمين" + +#: dcpp/ShareManager.cpp:421 +msgid "Remove all subdirectories before adding this one" +msgstr "حذف كل المجلدات الثانوية قبل إضافة هذا" + +#: dcpp/DownloadManager.cpp:225 +#, fuzzy +msgid "Response does not match request" +msgstr "السلسلة المحملة لا تتوافق مع \"تي تي إتش\" الرئيسي" + +#: dcpp/DCPlusPlus.cpp:100 +msgid "Shared Files" +msgstr "الملفات المساهم فيها" + +#: dcpp/Socket.cpp:269 dcpp/Socket.cpp:273 +msgid "Socks server authentication failed (bad login / password?)" +msgstr "(نظام التعريف بالهوية للسوكس فشلت (أسم غير صحيح / كلمة السر" + +#: dcpp/CryptoManager.cpp:221 +#, boost-format +msgid "TLS disabled, failed to generate certificate: %1%" +msgstr "" + +#: dcpp/CryptoManager.cpp:211 +msgid "TLS disabled, no certificate file set" +msgstr "" + +#: dcpp/QueueManager.cpp:510 dcpp/QueueManager.cpp:519 +msgid "Target filename too long" +msgstr "الملف المقصود كبير جدا" + +#: dcpp/QueueManager.cpp:798 +msgid "Target removed" +msgstr "" + +#: dcpp/Socket.cpp:255 +msgid "The socks server doesn't support login / password authentication" +msgstr "هذا السوكس لا يدعم التعريف بالهوية لأسم / و كلمة السر" + +#: dcpp/Socket.cpp:162 dcpp/Socket.cpp:173 dcpp/Socket.cpp:206 +#: dcpp/Socket.cpp:210 dcpp/Socket.cpp:237 dcpp/Socket.cpp:252 +msgid "The socks server failed establish a connection" +msgstr "لقد فشل السوكس في عمل الإتصال" + +#: dcpp/Socket.cpp:241 +msgid "The socks server requires authentication" +msgstr "هذا السوكس يحتاج إلى العريف بالهوية" + +#: dcpp/ShareManager.cpp:407 +msgid "The temporary download directory cannot be shared" +msgstr "المجلد الموقت للتحميل لا يمكن استخدامه" + +#: dcpp/QueueManager.cpp:465 +msgid "This file is already queued" +msgstr "" + +#: dcpp/Thread.cpp:34 dcpp/Thread.cpp:42 +msgid "Unable to create thread" +msgstr "عدم القدرة على خلق الوصلة" + +#: dcpp/QueueManager.cpp:995 +#, boost-format +msgid "Unable to open filelist: %1%" +msgstr "" + +#: dcpp/HashManager.cpp:131 +#, fuzzy +msgid "Unable to read hash data file" +msgstr "عدم القدرة على خلق الوصلة" + +#: dcpp/QueueManager.cpp:327 +#, fuzzy, boost-format +msgid "Unable to rename %1%: %2%" +msgstr "عدم القدرة على خلق الوصلة" + +#: dcpp/UploadManager.cpp:149 +#, boost-format +msgid "Unable to send file %1%: %2%" +msgstr "" + +#: dcpp/Socket.cpp:54 +#, c-format, boost-format +msgid "Unknown error: 0x%1$x" +msgstr "" + +#: dcpp/ShareManager.cpp:426 dcpp/ShareManager.cpp:468 +msgid "Virtual directory name already exists" +msgstr "اسم مجلد وهمي موجود حاليا" + +#: dcpp/QueueManager.cpp:412 dcpp/QueueManager.cpp:436 +msgid "You're trying to download from yourself!" +msgstr "!أنت تحاول التحميل من عند نفسك" + +#: dcpp/SettingsManager.cpp:156 +msgid "downloaded from" +msgstr "" + +#: dcpp/SettingsManager.cpp:157 +msgid "uploaded to" +msgstr "" Added: dcplusplus/trunk/dcpp/po/bg.po =================================================================== --- dcplusplus/trunk/dcpp/po/bg.po (rev 0) +++ dcplusplus/trunk/dcpp/po/bg.po 2008-03-04 23:19:17 UTC (rev 1024) @@ -0,0 +1,425 @@ +# Bulgarian translations for the DC++ package. +# Copyright (C) 2008 The translators +# This file is distributed under the same license as the DC++ package. +# <gre...@us...>, 2008. +# +msgid "" +msgstr "" +"Project-Id-Version: dcpp\n" +"Report-Msgid-Bugs-To: dcp...@li...\n" +"POT-Creation-Date: 2008-03-04 23:00+0100\n" +"Last-Translator: <gre...@us...>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: plurals=2; plural=(n != 1);\n" + +#: dcpp/Util.cpp:381 +#, c-format, boost-format +msgid "%'lld B" +msgstr "" + +#: dcpp/Util.cpp:343 +#, c-format, boost-format +msgid "%.02f GiB" +msgstr "" + +#: dcpp/Util.cpp:339 +#, c-format, boost-format +msgid "%.02f KiB" +msgstr "" + +#: dcpp/Util.cpp:341 +#, c-format, boost-format +msgid "%.02f MiB" +msgstr "" + +#: dcpp/Util.cpp:347 +#, c-format, boost-format +msgid "%.02f PiB" +msgstr "" + +#: dcpp/Util.cpp:345 +#, c-format, boost-format +msgid "%.02f TiB" +msgstr "" + +#: dcpp/AdcHub.cpp:139 +#, boost-format +msgid "%1% (%2%) has same CID {%3%} as %4% (%5%), ignoring" +msgstr "" + +#: dcpp/NmdcHub.cpp:281 +#, boost-format +msgid "%1% (Nick unknown)" +msgstr "" + +#: dcpp/HashManager.cpp:767 +#, boost-format +msgid "" +"%1% not shared; calculated CRC32 does not match the one found in SFV file." +msgstr "" + +#: dcpp/QueueManager.cpp:325 +#, boost-format +msgid "%1% renamed to %2%" +msgstr "" + +#: dcpp/AdcHub.cpp:281 +#, boost-format +msgid "%1% was kicked by %2%: %3%" +msgstr "" + +#: dcpp/AdcHub.cpp:284 +#, boost-format +msgid "%1% was kicked: %2%" +msgstr "" + +#: dcpp/DownloadManager.cpp:530 +#, fuzzy, boost-format +msgid "%1%: File not available" +msgstr "Файлът не е достъпен." + +#: dcpp/Util.cpp:337 +#, c-format, boost-format +msgid "%d B" +msgstr "" + +#: dcpp/Util.cpp:377 +#, c-format, boost-format +msgid "%s B" +msgstr "" + +#: dcpp/QueueManager.cpp:532 +msgid "A file of equal or larger size already exists at the target location" +msgstr "" +"Файл със същата или по-голяма големина вече съществува в мястото - цел!" + +#: dcpp/QueueManager.cpp:475 +msgid "A file with a different size already exists in the queue" +msgstr "Файл с различна големина вече съществува в опашката." + +#: dcpp/QueueManager.cpp:478 +msgid "A file with different tth root already exists in the queue" +msgstr "Файл с различен TTH root вече съществува в опашката." + +#: dcpp/QueueManager.cpp:442 +msgid "A file with the same hash already exists in your share" +msgstr "Файл със същия хеш вече съществува в споделеното от вас." + +#: dcpp/ConnectionManager.cpp:176 +msgid "All download slots taken" +msgstr "Всички даунлоад-места са заети!" + +#: dcpp/DownloadManager.cpp:376 +msgid "CRC32 inconsistency (SFV-Check)" +msgstr "CRC32 грешка (SFV-Проверка)" + +#: dcpp/DownloadManager.cpp:374 +#, fuzzy, boost-format +msgid "CRC32 inconsistency (SFV-Check) (File: %1%)" +msgstr "CRC32 грешка (SFV-Проверка)" + +#: dcpp/ConnectionManager.cpp:376 +msgid "Certificate not trusted, unable to connect" +msgstr "" + +#: dcpp/Socket.cpp:154 dcpp/ConnectionManager.cpp:182 +#: dcpp/BufferedSocket.cpp:154 +msgid "Connection timeout" +msgstr "Времето за свързване изтече!" + +#: dcpp/DownloadManager.cpp:232 +#, boost-format +msgid "Could not open target file: %1%" +msgstr "" + +#: dcpp/ShareManager.cpp:418 +msgid "Directory already shared" +msgstr "Папката вече е споделена!" + +#: dcpp/BufferedSocket.cpp:407 dcpp/BufferedSocket.cpp:426 +msgid "Disconnected" +msgstr "Изключен/Прекъснат" + +#: dcpp/UploadManager.cpp:450 +#, boost-format +msgid "Disconnected user leaving the hub: %1%" +msgstr "" + +#: dcpp/DCPlusPlus.cpp:103 +msgid "Download Queue" +msgstr "Опашка за сваляните файлове" + +#: dcpp/ShareManager.cpp:741 +#, boost-format +msgid "" +"Duplicate file will not be shared: %1%%2% (Size: %3% B) Dupe matched " +"against: %4%%5%" +msgstr "" + +#: dcpp/QueueManager.cpp:545 dcpp/QueueManager.cpp:549 +#, boost-format +msgid "Duplicate source: %1%" +msgstr "" + +#: dcpp/HashManager.cpp:456 +#, fuzzy, boost-format +msgid "Error creating hash data file: %1%" +msgstr "Грешка при разчитането на файла с хешовете!" + +#: dcpp/ZUtils.cpp:33 dcpp/ZUtils.cpp:54 dcpp/ZUtils.cpp:76 dcpp/ZUtils.cpp:86 +#: dcpp/BZUtils.cpp:31 dcpp/BZUtils.cpp:52 dcpp/BZUtils.cpp:60 +msgid "Error during compression" +msgstr "Грешка при компресирането." + +#: dcpp/ZUtils.cpp:100 dcpp/ZUtils.cpp:123 dcpp/BZUtils.cpp:72 +#: dcpp/BZUtils.cpp:94 dcpp/BZUtils.cpp:97 dcpp/CryptoManager.cpp:342 +#: dcpp/CryptoManager.cpp:361 dcpp/CryptoManager.cpp:375 +msgid "Error during decompression" +msgstr "Грешка при декомпресия" + +#: dcpp/HashManager.cpp:772 +#, boost-format +msgid "Error hashing %1%: %2%" +msgstr "" + +#: dcpp/HashManager.cpp:118 dcpp/HashManager.cpp:333 +#, boost-format +msgid "Error saving hash data: %1%" +msgstr "" + +#: dcpp/CryptoManager.cpp:226 dcpp/CryptoManager.cpp:230 +#: dcpp/CryptoManager.cpp:235 dcpp/CryptoManager.cpp:239 +msgid "Failed to load certificate file" +msgstr "" + +#: dcpp/CryptoManager.cpp:244 dcpp/CryptoManager.cpp:248 +#: dcpp/CryptoManager.cpp:253 dcpp/CryptoManager.cpp:257 +msgid "Failed to load private key" +msgstr "" + +#: dcpp/AdcHub.cpp:206 +msgid "Failed to negotiate base protocol" +msgstr "" + +#: dcpp/Socket.cpp:408 +msgid "" +"Failed to set up the socks server for UDP relay (check socks address and " +"port)" +msgstr "" +"Грешка при настройването на Socks сървъра за UDP relay (Провери адреса и " +"порта на сървъра!)" + +#: dcpp/ShareManager.cpp:776 +#, fuzzy, boost-format +msgid "File list refresh failed: %1%" +msgstr "Опресняването на листата с файлове завърши." + +#: dcpp/ShareManager.cpp:820 +msgid "File list refresh finished" +msgstr "Опресняването на листата с файлове завърши." + +#: dcpp/ShareManager.cpp:756 +msgid "" +"File list refresh in progress, please wait for it to finish before trying to " +"refresh again" +msgstr "" +"В момента тече опресняване на листата с файловете, моля изчакайте преди да " +"изискате ново опресняване." + +#: dcpp/ShareManager.cpp:798 +msgid "File list refresh initiated" +msgstr "Започва опресняване на листата с файлове." + +#: dcpp/DirectoryListing.cpp:102 +msgid "File not available" +msgstr "Файлът не е достъпен." + +#: dcpp/HashManager.cpp:89 +#, boost-format +msgid "Finished hashing: %1%" +msgstr "" + +#: dcpp/HashManager.cpp:87 +#, boost-format +msgid "Finished hashing: %1% (%2%/s)" +msgstr "" + +#: dcpp/DownloadManager.cpp:308 +msgid "Full tree does not match TTH root" +msgstr "Файловото дърво не съвпада с този TTH псевдоним" + +#: dcpp/CryptoManager.cpp:219 +msgid "Generated new TLS certificate" +msgstr "" + +#: dcpp/DCPlusPlus.cpp:97 +msgid "Hash database" +msgstr "База-Данни от хешове" + +#: dcpp/HashManager.cpp:677 +msgid "Hash database rebuilt" +msgstr "Базата-Данни с хешовете построена наново." + +#: dcpp/HashManager.cpp:73 dcpp/HashManager.cpp:277 +#, boost-format +msgid "Hashing failed: %1%" +msgstr "" + +#: dcpp/AdcHub.cpp:212 +msgid "" +"Hub probably uses an old version of ADC, please encourage the owner to " +"upgrade" +msgstr "" + +#: dcpp/DownloadManager.cpp:220 +msgid "Invalid size" +msgstr "" + +#: dcpp/QueueManager.cpp:515 dcpp/QueueManager.cpp:523 +msgid "" +"Invalid target file (missing directory, check default download directory " +"setting)" +msgstr "" +"Невалиден файл-цел (липсваща папка, провери папката за сваляния по " +"подразбиране)" + +#: dcpp/FavoriteManager.cpp:438 +msgid "Kick user(s)" +msgstr "Изхвърли потребител(и)" + +#: dcpp/ConnectionManager.cpp:230 +#, boost-format +msgid "Listening socket failed (you need to restart %1%): %2%" +msgstr "" + +#: dcpp/BufferedSocket.cpp:261 +msgid "Maximum command length exceeded" +msgstr "" + +#: dcpp/DownloadManager.cpp:280 +msgid "More data was sent than was expected" +msgstr "Повечето данни бяха изпратени, отколкото се очакваше" + +#: dcpp/ShareManager.cpp:403 +msgid "No directory specified" +msgstr "Не е определена папка" + +#: dcpp/DownloadManager.cpp:419 +msgid "No slots available" +msgstr "Няма слотове на разположение" + +#: dcpp/AdcHub.cpp:576 +#, boost-format +msgid "Not listening for connections - please restart %1%" +msgstr "" + +#: dcpp/Transfer.cpp:63 dcpp/Transfer.cpp:67 dcpp/ClientManager.cpp:115 +#: dcpp/SearchManager.cpp:267 dcpp/SearchManager.cpp:329 +#: dcpp/SearchManager.cpp:331 +msgid "Offline" +msgstr "Офлайн" + +#: dcpp/FavoriteManager.cpp:442 +msgid "Redirect user(s)" +msgstr "Пренасочи потребител(и)" + +#: dcpp/ShareManager.cpp:421 +msgid "Remove all subdirectories before adding this one" +msgstr "Премахни всички подпапки преди да добавиш тази" + +#: dcpp/DownloadManager.cpp:225 +#, fuzzy +msgid "Response does not match request" +msgstr "Файловото дърво не съвпада с този TTH псевдоним" + +#: dcpp/DCPlusPlus.cpp:100 +msgid "Shared Files" +msgstr "Споделени файлове" + +#: dcpp/Socket.cpp:269 dcpp/Socket.cpp:273 +msgid "Socks server authentication failed (bad login / password?)" +msgstr "Грешка при свързването със Socks сървъра. (грешни име/парола?)" + +#: dcpp/CryptoManager.cpp:221 +#, boost-format +msgid "TLS disabled, failed to generate certificate: %1%" +msgstr "" + +#: dcpp/CryptoManager.cpp:211 +msgid "TLS disabled, no certificate file set" +msgstr "" + +#: dcpp/QueueManager.cpp:510 dcpp/QueueManager.cpp:519 +msgid "Target filename too long" +msgstr "Прекалено дълго име на файла-цел" + +#: dcpp/QueueManager.cpp:798 +msgid "Target removed" +msgstr "" + +#: dcpp/Socket.cpp:255 +msgid "The socks server doesn't support login / password authentication" +msgstr "Socks сървъра не поддържа автентикация с име и парола." + +#: dcpp/Socket.cpp:162 dcpp/Socket.cpp:173 dcpp/Socket.cpp:206 +#: dcpp/Socket.cpp:210 dcpp/Socket.cpp:237 dcpp/Socket.cpp:252 +msgid "The socks server failed establish a connection" +msgstr "Socks сървъра не можа да установи връзка." + +#: dcpp/Socket.cpp:241 +msgid "The socks server requires authentication" +msgstr "Socks сървъра изисква автентикация (име и парола)." + +#: dcpp/ShareManager.cpp:407 +msgid "The temporary download directory cannot be shared" +msgstr "Временната директория не може да бъде споделяна!" + +#: dcpp/QueueManager.cpp:465 +msgid "This file is already queued" +msgstr "" + +#: dcpp/Thread.cpp:34 dcpp/Thread.cpp:42 +msgid "Unable to create thread" +msgstr "Грешка при thread-създаването" + +#: dcpp/QueueManager.cpp:995 +#, boost-format +msgid "Unable to open filelist: %1%" +msgstr "" + +#: dcpp/HashManager.cpp:131 +msgid "Unable to read hash data file" +msgstr "Грешка при разчитането на файла с хешовете!" + +#: dcpp/QueueManager.cpp:327 +#, fuzzy, boost-format +msgid "Unable to rename %1%: %2%" +msgstr "Грешка при thread-създаването" + +#: dcpp/UploadManager.cpp:149 +#, boost-format +msgid "Unable to send file %1%: %2%" +msgstr "" + +#: dcpp/Socket.cpp:54 +#, c-format, boost-format +msgid "Unknown error: 0x%1$x" +msgstr "" + +#: dcpp/ShareManager.cpp:426 dcpp/ShareManager.cpp:468 +msgid "Virtual directory name already exists" +msgstr "Съществува такова име на вирт. папка" + +#: dcpp/QueueManager.cpp:412 dcpp/QueueManager.cpp:436 +msgid "You're trying to download from yourself!" +msgstr "Пробваш се да сваляш от самия себе си файлове!" + +#: dcpp/SettingsManager.cpp:156 +msgid "downloaded from" +msgstr "" + +#: dcpp/SettingsManager.cpp:157 +msgid "uploaded to" +msgstr "" Added: dcplusplus/trunk/dcpp/po/bs.po =================================================================== --- dcplusplus/trunk/dcpp/po/bs.po (rev 0) +++ dcplusplus/trunk/dcpp/po/bs.po 2008-03-04 23:19:17 UTC (rev 1024) @@ -0,0 +1,423 @@ +# Bosnian translations for the DC++ package. +# Copyright (C) 2008 The translators +# This file is distributed under the same license as the DC++ package. +# <mi...@us...>, 2008. +# +msgid "" +msgstr "" +"Project-Id-Version: dcpp\n" +"Report-Msgid-Bugs-To: dcp...@li...\n" +"POT-Creation-Date: 2008-03-04 23:00+0100\n" +"Last-Translator: <mi...@us...>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: plurals=2; plural=(n != 1);\n" + +#: dcpp/Util.cpp:381 +#, c-format, boost-format +msgid "%'lld B" +msgstr "" + +#: dcpp/Util.cpp:343 +#, c-format, boost-format +msgid "%.02f GiB" +msgstr "" + +#: dcpp/Util.cpp:339 +#, c-format, boost-format +msgid "%.02f KiB" +msgstr "" + +#: dcpp/Util.cpp:341 +#, c-format, boost-format +msgid "%.02f MiB" +msgstr "" + +#: dcpp/Util.cpp:347 +#, c-format, boost-format +msgid "%.02f PiB" +msgstr "" + +#: dcpp/Util.cpp:345 +#, c-format, boost-format +msgid "%.02f TiB" +msgstr "" + +#: dcpp/AdcHub.cpp:139 +#, boost-format +msgid "%1% (%2%) has same CID {%3%} as %4% (%5%), ignoring" +msgstr "" + +#: dcpp/NmdcHub.cpp:281 +#, boost-format +msgid "%1% (Nick unknown)" +msgstr "" + +#: dcpp/HashManager.cpp:767 +#, boost-format +msgid "" +"%1% not shared; calculated CRC32 does not match the one found in SFV file." +msgstr "" + +#: dcpp/QueueManager.cpp:325 +#, boost-format +msgid "%1% renamed to %2%" +msgstr "" + +#: dcpp/AdcHub.cpp:281 +#, boost-format +msgid "%1% was kicked by %2%: %3%" +msgstr "" + +#: dcpp/AdcHub.cpp:284 +#, boost-format +msgid "%1% was kicked: %2%" +msgstr "" + +#: dcpp/DownloadManager.cpp:530 +#, fuzzy, boost-format +msgid "%1%: File not available" +msgstr "Fajl nije dostupan" + +#: dcpp/Util.cpp:337 +#, c-format, boost-format +msgid "%d B" +msgstr "" + +#: dcpp/Util.cpp:377 +#, c-format, boost-format +msgid "%s B" +msgstr "" + +#: dcpp/QueueManager.cpp:532 +msgid "A file of equal or larger size already exists at the target location" +msgstr "Isti ili veci fajl vec postoji na ciljanoj lokaciji" + +#: dcpp/QueueManager.cpp:475 +msgid "A file with a different size already exists in the queue" +msgstr "Fajl sa drugacijom velicinom vec postoji u listi cekanja" + +#: dcpp/QueueManager.cpp:478 +msgid "A file with different tth root already exists in the queue" +msgstr "Fajl sa drugacijom TTH kodom vec postoji u listi cekanja" + +#: dcpp/QueueManager.cpp:442 +msgid "A file with the same hash already exists in your share" +msgstr "Vec postoji fajl kod tebe sa istim TTH kljucem" + +#: dcpp/ConnectionManager.cpp:176 +msgid "All download slots taken" +msgstr "Svi Slotovi za Download su zauzeti" + +#: dcpp/DownloadManager.cpp:376 +msgid "CRC32 inconsistency (SFV-Check)" +msgstr "CRC32 Neskladnost (SFV-Provjera)" + +#: dcpp/DownloadManager.cpp:374 +#, fuzzy, boost-format +msgid "CRC32 inconsistency (SFV-Check) (File: %1%)" +msgstr "CRC32 Neskladnost (SFV-Provjera)" + +#: dcpp/ConnectionManager.cpp:376 +msgid "Certificate not trusted, unable to connect" +msgstr "" + +#: dcpp/Socket.cpp:154 dcpp/ConnectionManager.cpp:182 +#: dcpp/BufferedSocket.cpp:154 +msgid "Connection timeout" +msgstr "Vrijeme za vezu isteklo" + +#: dcpp/DownloadManager.cpp:232 +#, boost-format +msgid "Could not open target file: %1%" +msgstr "" + +#: dcpp/ShareManager.cpp:418 +msgid "Directory already shared" +msgstr "Sadrzaj se vec dijeli" + +#: dcpp/BufferedSocket.cpp:407 dcpp/BufferedSocket.cpp:426 +msgid "Disconnected" +msgstr "Iskljucen" + +#: dcpp/UploadManager.cpp:450 +#, boost-format +msgid "Disconnected user leaving the hub: %1%" +msgstr "" + +#: dcpp/DCPlusPlus.cpp:103 +msgid "Download Queue" +msgstr "Lista za Download" + +#: dcpp/ShareManager.cpp:741 +#, boost-format +msgid "" +"Duplicate file will not be shared: %1%%2% (Size: %3% B) Dupe matched " +"against: %4%%5%" +msgstr "" + +#: dcpp/QueueManager.cpp:545 dcpp/QueueManager.cpp:549 +#, boost-format +msgid "Duplicate source: %1%" +msgstr "" + +#: dcpp/HashManager.cpp:456 +#, boost-format +msgid "Error creating hash data file: %1%" +msgstr "" + +#: dcpp/ZUtils.cpp:33 dcpp/ZUtils.cpp:54 dcpp/ZUtils.cpp:76 dcpp/ZUtils.cpp:86 +#: dcpp/BZUtils.cpp:31 dcpp/BZUtils.cpp:52 dcpp/BZUtils.cpp:60 +msgid "Error during compression" +msgstr "Greska pri kompresiji" + +#: dcpp/ZUtils.cpp:100 dcpp/ZUtils.cpp:123 dcpp/BZUtils.cpp:72 +#: dcpp/BZUtils.cpp:94 dcpp/BZUtils.cpp:97 dcpp/CryptoManager.cpp:342 +#: dcpp/CryptoManager.cpp:361 dcpp/CryptoManager.cpp:375 +msgid "Error during decompression" +msgstr "Greska pri Dekompresiji" + +#: dcpp/HashManager.cpp:772 +#, boost-format +msgid "Error hashing %1%: %2%" +msgstr "" + +#: dcpp/HashManager.cpp:118 dcpp/HashManager.cpp:333 +#, boost-format +msgid "Error saving hash data: %1%" +msgstr "" + +#: dcpp/CryptoManager.cpp:226 dcpp/CryptoManager.cpp:230 +#: dcpp/CryptoManager.cpp:235 dcpp/CryptoManager.cpp:239 +msgid "Failed to load certificate file" +msgstr "" + +#: dcpp/CryptoManager.cpp:244 dcpp/CryptoManager.cpp:248 +#: dcpp/CryptoManager.cpp:253 dcpp/CryptoManager.cpp:257 +msgid "Failed to load private key" +msgstr "" + +#: dcpp/AdcHub.cpp:206 +msgid "Failed to negotiate base protocol" +msgstr "" + +#: dcpp/Socket.cpp:408 +msgid "" +"Failed to set up the socks server for UDP relay (check socks address and " +"port)" +msgstr "" +"Socks Server nemoze UDP Relay namjestiti (provjerite Adresu i Port Servera)" + +#: dcpp/ShareManager.cpp:776 +#, fuzzy, boost-format +msgid "File list refresh failed: %1%" +msgstr "Zavrseno obnavljanje fajlliste" + +#: dcpp/ShareManager.cpp:820 +msgid "File list refresh finished" +msgstr "Zavrseno obnavljanje fajlliste" + +#: dcpp/ShareManager.cpp:756 +msgid "" +"File list refresh in progress, please wait for it to finish before trying to " +"refresh again" +msgstr "" + +#: dcpp/ShareManager.cpp:798 +msgid "File list refresh initiated" +msgstr "Poceto obnavljanje fajlliste" + +#: dcpp/DirectoryListing.cpp:102 +msgid "File not available" +msgstr "Fajl nije dostupan" + +#: dcpp/HashManager.cpp:89 +#, boost-format +msgid "Finished hashing: %1%" +msgstr "" + +#: dcpp/HashManager.cpp:87 +#, boost-format +msgid "Finished hashing: %1% (%2%/s)" +msgstr "" + +#: dcpp/DownloadManager.cpp:308 +msgid "Full tree does not match TTH root" +msgstr "Ucitano se ne slaze s TTH kodom" + +#: dcpp/CryptoManager.cpp:219 +msgid "Generated new TLS certificate" +msgstr "" + +#: dcpp/DCPlusPlus.cpp:97 +msgid "Hash database" +msgstr "Indeks fajova" + +#: dcpp/HashManager.cpp:677 +msgid "Hash database rebuilt" +msgstr "Obnovi indeks fajlova" + +#: dcpp/HashManager.cpp:73 dcpp/HashManager.cpp:277 +#, boost-format +msgid "Hashing failed: %1%" +msgstr "" + +#: dcpp/AdcHub.cpp:212 +msgid "" +"Hub probably uses an old version of ADC, please encourage the owner to " +"upgrade" +msgstr "" + +#: dcpp/DownloadManager.cpp:220 +msgid "Invalid size" +msgstr "" + +#: dcpp/QueueManager.cpp:515 dcpp/QueueManager.cpp:523 +msgid "" +"Invalid target file (missing directory, check default download directory " +"setting)" +msgstr "" +"Nevazeci trazeni fajl (Datoteka Nedostaje, provjerite u podesavanju " +"Standardnu Download datoteku)" + +#: dcpp/FavoriteManager.cpp:438 +msgid "Kick user(s)" +msgstr "Izbaciti korisnika" + +#: dcpp/ConnectionManager.cpp:230 +#, boost-format +msgid "Listening socket failed (you need to restart %1%): %2%" +msgstr "" + +#: dcpp/BufferedSocket.cpp:261 +msgid "Maximum command length exceeded" +msgstr "" + +#: dcpp/DownloadManager.cpp:280 +msgid "More data was sent than was expected" +msgstr "Vise podataka je poslato nego sto se zahtijevalo" + +#: dcpp/ShareManager.cpp:403 +msgid "No directory specified" +msgstr "Nije naveden direktorijum" + +#: dcpp/DownloadManager.cpp:419 +msgid "No slots available" +msgstr "Nema slobodnih slotova" + +#: dcpp/AdcHub.cpp:576 +#, boost-format +msgid "Not listening for connections - please restart %1%" +msgstr "" + +#: dcpp/Transfer.cpp:63 dcpp/Transfer.cpp:67 dcpp/ClientManager.cpp:115 +#: dcpp/SearchManager.cpp:267 dcpp/SearchManager.cpp:329 +#: dcpp/SearchManager.cpp:331 +msgid "Offline" +msgstr "Iskljucen" + +#: dcpp/FavoriteManager.cpp:442 +msgid "Redirect user(s)" +msgstr "Preusmeravanje korisnika" + +#: dcpp/ShareManager.cpp:421 +msgid "Remove all subdirectories before adding this one" +msgstr "Skloniti sve poddirektorijume prije dodavanja ovog" + +#: dcpp/DownloadManager.cpp:225 +#, fuzzy +msgid "Response does not match request" +msgstr "Ucitano se ne slaze s TTH kodom" + +#: dcpp/DCPlusPlus.cpp:100 +msgid "Shared Files" +msgstr "Dijeljeni fajlovi" + +#: dcpp/Socket.cpp:269 dcpp/Socket.cpp:273 +msgid "Socks server authentication failed (bad login / password?)" +msgstr "" +"Socks Server Autorizacija nije uspjela (lose korisnicko ime / lozinka?)" + +#: dcpp/CryptoManager.cpp:221 +#, boost-format +msgid "TLS disabled, failed to generate certificate: %1%" +msgstr "" + +#: dcpp/CryptoManager.cpp:211 +msgid "TLS disabled, no certificate file set" +msgstr "" + +#: dcpp/QueueManager.cpp:510 dcpp/QueueManager.cpp:519 +msgid "Target filename too long" +msgstr "Trazeno ime je predugo" + +#: dcpp/QueueManager.cpp:798 +msgid "Target removed" +msgstr "" + +#: dcpp/Socket.cpp:255 +msgid "The socks server doesn't support login / password authentication" +msgstr "Socks Server Autorizacija nije podrzana / lozinka autenticna" + +#: dcpp/Socket.cpp:162 dcpp/Socket.cpp:173 dcpp/Socket.cpp:206 +#: dcpp/Socket.cpp:210 dcpp/Socket.cpp:237 dcpp/Socket.cpp:252 +msgid "The socks server failed establish a connection" +msgstr "Socks Server nemoze uspostaviti vezu" + +#: dcpp/Socket.cpp:241 +msgid "The socks server requires authentication" +msgstr "Socks Server potrazuje Autorizaciju" + +#: dcpp/ShareManager.cpp:407 +msgid "The temporary download directory cannot be shared" +msgstr "Temporary Download Direktorij se nemoze otvoriti" + +#: dcpp/QueueManager.cpp:465 +msgid "This file is already queued" +msgstr "" + +#: dcpp/Thread.cpp:34 dcpp/Thread.cpp:42 +msgid "Unable to create thread" +msgstr "Nemoguce napraviti thread" + +#: dcpp/QueueManager.cpp:995 +#, boost-format +msgid "Unable to open filelist: %1%" +msgstr "" + +#: dcpp/HashManager.cpp:131 +#, fuzzy +msgid "Unable to read hash data file" +msgstr "Nemoguce napraviti thread" + +#: dcpp/QueueManager.cpp:327 +#, fuzzy, boost-format +msgid "Unable to rename %1%: %2%" +msgstr "Nemoguce napraviti thread" + +#: dcpp/UploadManager.cpp:149 +#, boost-format +msgid "Unable to send file %1%: %2%" +msgstr "" + +#: dcpp/Socket.cpp:54 +#, c-format, boost-format +msgid "Unknown error: 0x%1$x" +msgstr "" + +#: dcpp/ShareManager.cpp:426 dcpp/ShareManager.cpp:468 +msgid "Virtual directory name already exists" +msgstr "Virtualna mapa s tim imenom vec postoji" + +#: dcpp/QueueManager.cpp:412 dcpp/QueueManager.cpp:436 +msgid "You're trying to download from yourself!" +msgstr "Pokusavas da skines od sebe!" + +#: dcpp/SettingsManager.cpp:156 +msgid "downloaded from" +msgstr "" + +#: dcpp/SettingsManager.cpp:157 +msgid "uploaded to" +msgstr "" Added: dcplusplus/trunk/dcpp/po/ca.po =================================================================== --- dcplusplus/trunk/dcpp/po/ca.po (rev 0) +++ dcplusplus/trunk/dcpp/po/ca.po 2008-03-04 23:19:17 UTC (rev 1024) @@ -0,0 +1,425 @@ +# Catalan translations for the DC++ package. +# Copyright (C) 2008 The translators +# This file is distributed under the same license as the DC++ package. +# <su...@us...>, 2008. +# +msgid "" +msgstr "" +"Project-Id-Version: dcpp\n" +"Report-Msgid-Bugs-To: dcp...@li...\n" +"POT-Creation-Date: 2008-03-04 23:00+0100\n" +"Last-Translator: <su...@us...>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: plurals=2; plural=(n != 1);\n" + +#: dcpp/Util.cpp:381 +#, c-format, boost-format +msgid "%'lld B" +msgstr "" + +#: dcpp/Util.cpp:343 +#, c-format, boost-format +msgid "%.02f GiB" +msgstr "" + +#: dcpp/Util.cpp:339 +#, c-format, boost-format +msgid "%.02f KiB" +msgstr "" + +#: dcpp/Util.cpp:341 +#, c-format, boost-format +msgid "%.02f MiB" +msgstr "" + +#: dcpp/Util.cpp:347 +#, c-format, boost-format +msgid "%.02f PiB" +msgstr "" + +#: dcpp/Util.cpp:345 +#, c-format, boost-format +msgid "%.02f TiB" +msgstr "" + +#: dcpp/AdcHub.cpp:139 +#, boost-format +msgid "%1% (%2%) has same CID {%3%} as %4% (%5%), ignoring" +msgstr "" + +#: dcpp/NmdcHub.cpp:281 +#, boost-format +msgid "%1% (Nick unknown)" +msgstr "" + +#: dcpp/HashManager.cpp:767 +#, boost-format +msgid "" +"%1% not shared; calculated CRC32 does not match the one found in SFV file." +msgstr "" + +#: dcpp/QueueManager.cpp:325 +#, boost-format +msgid "%1% renamed to %2%" +msgstr "" + +#: dcpp/AdcHub.cpp:281 +#, boost-format +msgid "%1% was kicked by %2%: %3%" +msgstr "" + +#: dcpp/AdcHub.cpp:284 +#, boost-format +msgid "%1% was kicked: %2%" +msgstr "" + +#: dcpp/DownloadManager.cpp:530 +#, fuzzy, boost-format +msgid "%1%: File not available" +msgstr "Fitxer no disponible" + +#: dcpp/Util.cpp:337 +#, c-format, boost-format +msgid "%d B" +msgstr "" + +#: dcpp/Util.cpp:377 +#, c-format, boost-format +msgid "%s B" +msgstr "" + +#: dcpp/QueueManager.cpp:532 +msgid "A file of equal or larger size already exists at the target location" +msgstr "Un fitxer igual o més gran ja existeix al destí" + +#: dcpp/QueueManager.cpp:475 +msgid "A file with a different size already exists in the queue" +msgstr "Un fitxer amb una mida diferent, ja existeix en la llista de tasques" + +#: dcpp/QueueManager.cpp:478 +msgid "A file with different tth root already exists in the queue" +msgstr "Un fitxer amb un tth diferente ja existeix a la cua" + +#: dcpp/QueueManager.cpp:442 +msgid "A file with the same hash already exists in your share" +msgstr "" +"Un fitxer amb el mateix hash ja existeix entre els teus fitxers compartits" + +#: dcpp/ConnectionManager.cpp:176 +msgid "All download slots taken" +msgstr "No hi han slots de descàrrega lliures" + +#: dcpp/DownloadManager.cpp:376 +msgid "CRC32 inconsistency (SFV-Check)" +msgstr "Inconsistencia CRC32 (Comprov-SFV)" + +#: dcpp/DownloadManager.cpp:374 +#, fuzzy, boost-format +msgid "CRC32 inconsistency (SFV-Check) (File: %1%)" +msgstr "Inconsistencia CRC32 (Comprov-SFV)" + +#: dcpp/ConnectionManager.cpp:376 +msgid "Certificate not trusted, unable to connect" +msgstr "" + +#: dcpp/Socket.cpp:154 dcpp/ConnectionManager.cpp:182 +#: dcpp/BufferedSocket.cpp:154 +msgid "Connection timeout" +msgstr "S'ha esgotat el temps per la conexió" + +#: dcpp/DownloadManager.cpp:232 +#, boost-format +msgid "Could not open target file: %1%" +msgstr "" + +#: dcpp/ShareManager.cpp:418 +msgid "Directory already shared" +msgstr "Aquest directori ja està compartit" + +#: dcpp/BufferedSocket.cpp:407 dcpp/BufferedSocket.cpp:426 +msgid "Disconnected" +msgstr "Desconectat" + +#: dcpp/UploadManager.cpp:450 +#, boost-format +msgid "Disconnected user leaving the hub: %1%" +msgstr "" + +#: dcpp/DCPlusPlus.cpp:103 +msgid "Download Queue" +msgstr "Cua de descàrrega" + +#: dcpp/ShareManager.cpp:741 +#, boost-format +msgid "" +"Duplicate file will not be shared: %1%%2% (Size: %3% B) Dupe matched " +"against: %4%%5%" +msgstr "" + +#: dcpp/QueueManager.cpp:545 dcpp/QueueManager.cpp:549 +#, boost-format +msgid "Duplicate source: %1%" +msgstr "" + +#: dcpp/HashManager.cpp:456 +#, boost-format +msgid "Error creating hash data file: %1%" +msgstr "" + +#: dcpp/ZUtils.cpp:33 dcpp/ZUtils.cpp:54 dcpp/ZUtils.cpp:76 dcpp/ZUtils.cpp:86 +#: dcpp/BZUtils.cpp:31 dcpp/BZUtils.cpp:52 dcpp/BZUtils.cpp:60 +msgid "Error during compression" +msgstr "Error durant la compressió" + +#: dcpp/ZUtils.cpp:100 dcpp/ZUtils.cpp:123 dcpp/BZUtils.cpp:72 +#: dcpp/BZUtils.cpp:94 dcpp/BZUtils.cpp:97 dcpp/CryptoManager.cpp:342 +#: dcpp/CryptoManager.cpp:361 dcpp/CryptoManager.cpp:375 +msgid "Error during decompression" +msgstr "Error durant la descompressió" + +#: dcpp/HashManager.cpp:772 +#, boost-format +msgid "Error hashing %1%: %2%" +msgstr "" + +#: dcpp/HashManager.cpp:118 dcpp/HashManager.cpp:333 +#, boost-format +msgid "Error saving hash data: %1%" +msgstr "" + +#: dcpp/CryptoManager.cpp:226 dcpp/CryptoManager.cpp:230 +#: dcpp/CryptoManager.cpp:235 dcpp/CryptoManager.cpp:239 +msgid "Failed to load certificate file" +msgstr "" + +#: dcpp/CryptoManager.cpp:244 dcpp/CryptoManager.cpp:248 +#: dcpp/CryptoManager.cpp:253 dcpp/CryptoManager.cpp:257 +msgid "Failed to load private key" +msgstr "" + +#: dcpp/AdcHub.cpp:206 +msgid "Failed to negotiate base protocol" +msgstr "" + +#: dcpp/Socket.cpp:408 +msgid "" +"Failed to set up the socks server for UDP relay (check socks address and " +"port)" +msgstr "" +"Error al configurar el servidor socks per relay UDP (verifica adreça socks i " +"port)" + +#: dcpp/ShareManager.cpp:776 +#, fuzzy, boost-format +msgid "File list refresh failed: %1%" +msgstr "S'ha acabt la actualització de la llista de fitxers" + +#: dcpp/ShareManager.cpp:820 +msgid "File list refresh finished" +msgstr "S'ha acabt la actualització de la llista de fitxers" + +#: dcpp/ShareManager.cpp:756 +msgid "" +"File list refresh in progress, please wait for it to finish before trying to " +"refresh again" +msgstr "" + +#: dcpp/ShareManager.cpp:798 +msgid "File list refresh initiated" +msgstr "S'ha iniciat la actualizació de la llista de fitxers" + +#: dcpp/DirectoryListing.cpp:102 +msgid "File not available" +msgstr "Fitxer no disponible" + +#: dcpp/HashManager.cpp:89 +#, boost-format +msgid "Finished hashing: %1%" +msgstr "" + +#: dcpp/HashManager.cpp:87 +#, boost-format +msgid "Finished hashing: %1% (%2%/s)" +msgstr "" + +#: dcpp/DownloadManager.cpp:308 +msgid "Full tree does not match TTH root" +msgstr "L'arbre descarregat no coincideix amb l'arrel TTH" + +#: dcpp/CryptoManager.cpp:219 +msgid "Generated new TLS certificate" +msgstr "" + +#: dcpp/DCPlusPlus.cpp:97 +msgid "Hash database" +msgstr "Hashejar bas de dades" + +#: dcpp/HashManager.cpp:677 +msgid "Hash database rebuilt" +msgstr "Reconstruir el Hash de la base de dades" + +#: dcpp/HashManager.cpp:73 dcpp/HashManager.cpp:277 +#, boost-format +msgid "Hashing failed: %1%" +msgstr "" + +#: dcpp/AdcHub.cpp:212 +msgid "" +"Hub probably uses an old version of ADC, please encourage the owner to " +"upgrade" +msgstr "" + +#: dcpp/DownloadManager.cpp:220 +msgid "Invalid size" +msgstr "" + +#: dcpp/QueueManager.cpp:515 dcpp/QueueManager.cpp:523 +msgid "" +"Invalid target file (missing directory, check default download directory " +"setting)" +msgstr "" +"Archiu de destí invàlid (directori ausent, comprova el directori de " +"descarregues per defecte)" + +#: dcpp/FavoriteManager.cpp:438 +msgid "Kick user(s)" +msgstr "Fer fora usuari(s)" + +#: dcpp/ConnectionManager.cpp:230 +#, boost-format +msgid "Listening socket failed (you need to restart %1%): %2%" +msgstr "" + +#: dcpp/BufferedSocket.cpp:261 +msgid "Maximum command length exceeded" +msgstr "" + +#: dcpp/DownloadManager.cpp:280 +msgid "More data was sent than was expected" +msgstr "S'ha enviado més dades que les esperades" + +#: dcpp/ShareManager.cpp:403 +msgid "No directory specified" +msgstr "Directori no especificat" + +#: dcpp/DownloadManager.cpp:419 +msgid "No slots available" +msgstr "No queden slots disponibles" + +#: dcpp/AdcHub.cpp:576 +#, boost-format +msgid "Not listening for connections - please restart %1%" +msgstr "" + +#: dcpp/Transfer.cpp:63 dcpp/Transfer.cpp:67 dcpp/ClientManager.cpp:115 +#: dcpp/SearchManager.cpp:267 dcpp/SearchManager.cpp:329 +#: dcpp/SearchManager.cpp:331 +msgid "Offline" +msgstr "Desconectat" + +#: dcpp/FavoriteManager.cpp:442 +msgid "Redirect user(s)" +msgstr "Redireccionar usuari(s)" + +#: dcpp/ShareManager.cpp:421 +msgid "Remove all subdirectories before adding this one" +msgstr "Eliminar tots els subdirectoris avans d'agregar aquest" + +#: 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 +msgid "Shared Files" +msgstr "fitxers compartits" + +#: dcpp/Socket.cpp:269 dcpp/Socket.cpp:273 +msgid "Socks server authentication failed (bad login / password?)" +msgstr "" +"El servidor socks d'autentificació ha fallat (usuari / contrasenya erronis?)" + +#: dcpp/CryptoManager.cpp:221 +#, boost-format +msgid "TLS disabled, failed to generate certificate: %1%" +msgstr "" + +#: dcpp/CryptoManager.cpp:211 +msgid "TLS disabled, no certificate file set" +msgstr "" + +#: dcpp/QueueManager.cpp:510 dcpp/QueueManager.cpp:519 +msgid "Target filename too long" +msgstr "El nom del fitxer de destí es massa llarg" + +#: dcpp/QueueManager.cpp:798 +msgid "Target removed" +msgstr "" + +#: dcpp/Socket.cpp:255 +msgid "The socks server doesn't support login / password authentication" +msgstr "El servidor socks no suporta autentificació d'usuari / contrasenya" + +#: dcpp/Socket.cpp:162 dcpp/Socket.cpp:173 dcpp/Socket.cpp:206 +#: dcpp/Socket.cpp:210 dcpp/Socket.cpp:237 dcpp/Socket.cpp:252 +msgid "The socks server failed establish a connection" +msgstr "El servidor socks ha fallat a l'establir la conenxió" + +#: dcpp/Socket.cpp:241 +msgid "The socks server requires authentication" +msgstr "el servidor socks nescessita autentificació" + +#: dcpp/ShareManager.cpp:407 +msgid "The temporary download directory cannot be shared" +msgstr "El directorio de descàrregues temporals no es pot compartir" + +#: dcpp/QueueManager.cpp:465 +msgid "This file is already queued" +msgstr "" + +#: dcpp/Thread.cpp:34 dcpp/Thread.cpp:42 +msgid "Unable to create thread" +msgstr "No es pot crear la tasca" + +#: dcpp/QueueManager.cpp:995 +#, boost-format +msgid "Unable to open filelist: %1%" +msgstr "" + +#: dcpp/HashManager.cpp:131 +#, fuzzy +msgid "Unable to read hash data file" +msgstr "No es pot crear la tasca" + +#: dcpp/QueueManager.cpp:327 +#, fuzzy, boost-format +msgid "Unable to rename %1%: %2%" +msgstr "No es pot crear la tasca" + +#: dcpp/UploadManager.cpp:149 +#, boost-format +msgid "Unable to send file %1%: %2%" +msgstr "" + +#: dcpp/Socket.cpp:54 +#, c-format, boost-format +msgid "Unknown error: 0x%1$x" +msgstr "" + +#: dcpp/ShareManager.cpp:426 dcpp/ShareManager.cpp:468 +msgid "Virtual directory name already exists" +msgstr "El nom de la carpeta virtual ja existeix" + +#: dcpp/QueueManager.cpp:412 dcpp/QueueManager.cpp:436 +msgid "You're trying to download from yourself!" +msgstr "Estás intentant descarregar de tu mateix!" + +#: dcpp/SettingsManager.cpp:156 +msgid "downloaded from" +msgstr "" + +#: dcpp/SettingsManager.cpp:157 +msgid "uploaded to" +msgstr "" Added: dcplusplus/trunk/dcpp/po/cs.po =================================================================== --- dcplusplus/trunk/dcpp/po/cs.po (rev 0) +++ dcplusplus/trunk/dcpp/po/cs.po 2008-03-04 23:19:17 UTC (rev 1024) @@ -0,0 +1,427 @@ +# Czech translation for dcplusplus +# Copyright (c) 2008 Rosetta Contributors and Canonical Ltd 2008 +# This file is distributed under the same license as the dcplusplus package. +# FIRST AUTHOR <EMAIL@ADDRESS>, 2008. +# +msgid "" +msgstr "" +"Project-Id-Version: dcplusplus\n" +"Report-Msgid-Bugs-To: dcp...@li...\n" +"POT-Creation-Date: 2008-03-04 23:00+0100\n" +"PO-Revision-Date: 2008-02-08 19:17+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-04 21:52+0000\n" +"X-Generator: Launchpad (build Unknown)\n" + +#: dcpp/Util.cpp:381 +#, c-format, boost-format +msgid "%'lld B" +msgstr "" + +#: dcpp/Util.cpp:343 +#, c-format, boost-format +msgid "%.02f GiB" +msgstr "" + +#: dcpp/Util.cpp:339 +#, c-format, boost-format +msgid "%.02f KiB" +msgstr "" + +#: dcpp/Util.cpp:341 +#, c-format, boost-format +msgid "%.02f MiB" +msgstr "" + +#: dcpp/Util.cpp:347 +#, c-format, boost-format +msgid "%.02f PiB" +msgstr "" + +#: dcpp/Util.cpp:345 +#, c-format, boost-format +msgid "%.02f TiB" +msgstr "" + +#: dcpp/AdcHub.cpp:139 +#, boost-format +msgid "%1% (%2%) has same CID {%3%} as %4% (%5%), ignoring" +msgstr "" + +#: dcpp/NmdcHub.cpp:281 +#, boost-format +msgid "%1% (Nick unknown)" +msgstr "%1% (Nick neznámý)" + +#: dcpp/HashManager.cpp:767 +#, boost-format +msgid "" +"%1% not shared; calculated CRC32 does not match the one found in SFV file." +msgstr "" + +#: dcpp/QueueManager.cpp:325 +#, boost-format +msgid "%1% renamed to %2%" +msgstr "%1% přejmenovat na %2%" + +#: dcpp/AdcHub.cpp:281 +#, boost-format +msgid "%1% was kicked by %2%: %3%" +msgstr "" + +#: dcpp/AdcHub.cpp:284 +#, boost-format +msgid "%1% was kicked: %2%" +msgstr "" + +#: dcpp/DownloadManager.cpp:530 +#, boost-format +msgid "%1%: File not available" +msgstr "%1%: Soubor není dostupný" + +#: dcpp/Util.cpp:337 +#, c-format, boost-format +msgid "%d B" +msgstr "" +"Copy text \t\r\n" +"%d B" + +#: dcpp/Util.cpp:377 +#, c-format, boost-format +msgid "%s B" +msgstr "%s B" + +#: dcpp/QueueManager.cpp:532 +msgid "A file of equal or larger size already exists at the target location" +msgstr "" +"Soubor se stejnou nebo vetsi velikosti je uz na miste kam chcete stahovat" + +#: dcpp/QueueManager.cpp:475 +msgid "A file with a different size already exists in the queue" +msgstr "Stejny soubor z jinou velkosti je uz ve fronte" + +#: dcpp/QueueManager.cpp:478 +msgid "A file with different tth root already exists in the queue" +msgstr "Stejny soubor s jinym tth indexom (tth root) je uz ve fronte" + +#: dcpp/QueueManager.cpp:442 +msgid "A file with the same hash already exists in your share" +msgstr "Soubor se stejnym hashem uz sdilite" + +#: dcpp/ConnectionManager.cpp:176 +msgid "All download slots taken" +msgstr "Vsechny upload sloty obsazene" + +#: dcpp/DownloadManager.cpp:376 +msgid "CRC32 inconsistency (SFV-Check)" +msgstr "CRC32 nesuhlasi (SFV kontrola)" + +#: dcpp/DownloadManager.cpp:374 +#, boost-format +msgid "CRC32 inconsistency (SFV-Check) (File: %1%)" +msgstr "" + +#: dcpp/ConnectionManager.cpp:376 +msgid "Certificate not trusted, unable to connect" +msgstr "" + +#: dcpp/Socket.cpp:154 dcpp/ConnectionManager.cpp:182 +#: dcpp/BufferedSocket.cpp:154 +msgid "Connection timeout" +msgstr "Cas pro pripojeni vyprsel" + +#: dcpp/DownloadManager.cpp:232 +#, boost-format +msgid "Could not open target file: %1%" +msgstr "" + +#: dcpp/ShareManager.cpp:418 +msgid "Directory already shared" +msgstr "Slozka je uz sdilena" + +#: dcpp/BufferedSocket.cpp:407 dcpp/BufferedSocket.cpp:426 +msgid "Disconnected" +msgstr "Odpojeny" + +#: dcpp/UploadManager.cpp:450 +#, boost-format +msgid "Disconnected user leaving the hub: %1%" +msgstr "" + +#: dcpp/DCPlusPlus.cpp:103 +msgid "Download Queue" +msgstr "Fronta souboru k stahnuti" + +#: dcpp/ShareManager.cpp:741 +#, boost-format +msgid "" +"Duplicate file will not be shared: %1%%2% (Size: %3% B) Dupe matched " +"against: %4%%5%" +msgstr "" + +#: dcpp/QueueManager.cpp:545 dcpp/QueueManager.cpp:549 +#, boost-format +msgid "Duplicate source: %1%" +msgstr "" + +#: dcpp/HashManager.cpp:456 +#, boost-format +msgid "Error creating hash data file: %1%" +msgstr "" + +#: dcpp/ZUtils.cpp:33 dcpp/ZUtils.cpp:54 dcpp/ZUtils.cpp:76 dcpp/ZUtils.cpp:86 +#: dcpp/BZUtils.cpp:31 dcpp/BZUtils.cpp:52 dcpp/BZUtils.cpp:60 +msgid "Error during compression" +msgstr "Chyba pocesu komprese" + +#: dcpp/ZUtils.cpp:100 dcpp/ZUtils.cpp:123 dcpp/BZUtils.cpp:72 +#: dcpp/BZUtils.cpp:94 dcpp/BZUtils.cpp:97 dcpp/CryptoManager.cpp:342 +#: dcpp/CryptoManager.cpp:361 dcpp/CryptoManager.cpp:375 +msgid "Error during decompression" +msgstr "Chyba v prubehu dekomprese" + +#: dcpp/HashManager.cpp:772 +#, boost-format +msgid "Error hashing %1%: %2%" +msgstr "" + +#: dcpp/HashManager.cpp:118 dcpp/HashManager.cpp:333 +#, boost-format +msgid "Error saving hash data: %1%" +msgstr "" + +#: dcpp/CryptoManager.cpp:226 dcpp/CryptoManager.cpp:230 +#: dcpp/CryptoManager.cpp:235 dcpp/CryptoManager.cpp:239 +msgid "Failed to load certificate file" +msgstr "" + +#: dcpp/CryptoManager.cpp:244 dcpp/CryptoManager.cpp:248 +#: dcpp/CryptoManager.cpp:253 dcpp/CryptoManager.cpp:257 +msgid "Failed to load private key" +msgstr "" + +#: dcpp/AdcHub.cpp:206 +msgid "Failed to negotiate base protocol" +msgstr "" + +#: dcpp/Socket.cpp:408 +msgid "" +"Failed to set up the socks server for UDP relay (check socks address and " +"port)" +msgstr "" +"Nespravne nastaveni Socket Serveru pro zaisteni UDP (otevrte adresu Socket " +"Serveru a port)" + +#: dcpp/ShareManager.cpp:776 +#, boost-format +msgid "File list refresh failed: %1%" +msgstr "" + +#: dcpp/ShareManager.cpp:820 +msgid "File list refresh finished" +msgstr "Dokonceni obnoveni seznamu souboru" + +#: dcpp/ShareManager.cpp:756 +msgid "" +"File list refresh in progress, please wait for it to finish before trying to " +"refresh again" +msgstr "Cekejte prosim, az sa dokonci obnova seznamu souboru " + +#: dcpp/ShareManager.cpp:798 +msgid "File list refresh initiated" +msgstr "Zahajeni obnoveni seznamu souboru" + +#: dcpp/DirectoryListing.cpp:102 +msgid "File not available" +msgstr "Soubor je nedostupny" + +#: dcpp/HashManager.cpp:89 +#, boost-format +msgid "Finished hashing: %1%" +msgstr "" + +#: dcpp/HashManager.cpp:87 +#, boost-format +msgid "Finished hashing: %1% (%2%/s)" +msgstr "" + +#: dcpp/DownloadManager.cpp:308 +msgid "Full tree does not match TTH root" +msgstr "Stahnuty strom neodpoveda porovnavanemu TTH zakladu (TTH root)" + +#: dcpp/CryptoManager.cpp:219 +msgid "Generated new TLS certificate" +msgstr "" + +#: dcpp/DCPlusPlus.cpp:97 +msgid "Hash database" +msgstr "Hash databaze" + +#: dcpp/HashManager.cpp:677 +msgid "Hash database rebuilt" +msgstr "Hash databaze obnoveny" + +#: dcpp/HashManager.cpp:73 dcpp/HashManager.cpp:277 +#, boost-format +msgid "Hashing failed: %1%" +msgstr "" + +#: dcpp/AdcHub.cpp:212 +msgid "" +"Hub probably uses an old version of ADC, please encourage the owner to " +"upgrade" +msgstr "" + +#: dcpp/DownloadManager.cpp:220 +msgid "Invalid size" +msgstr "" + +#: dcpp/QueueManager.cpp:515 dcpp/QueueManager.cpp:523 +msgid "" +"Invalid target file (missing directory, check default download directory " +"setting)" +msgstr "" +"Chybny cilovy soubor (chyba adresar, skontrolujte nastaveni adresare pro " +"stahnute soubory)" + +#: dcpp/FavoriteManager.cpp:438 +msgid "Kick user(s)" +msgstr "Vyhodit uzivatele" + +#: dcpp/ConnectionManager.cpp:230 +#, boost-format +msgid "Listening socket failed (you need to restart %1%): %2%" +msgstr "" + +#: dcpp/BufferedSocket.cpp:261 +msgid "Maximum command length exceeded" +msgstr "" + +#: dcpp/DownloadManager.cpp:280 +msgid "More data was sent than was expected" +msgstr "Bylo odoslane vic dat nez bylo ocekavane" + +#: dcpp/ShareManager.cpp:403 +msgid "No directory specified" +msgstr "Nebyla zvolena slozka" + ... [truncated message content] |
From: <arn...@us...> - 2008-03-05 21:23:09
|
Revision: 1026 http://dcplusplus.svn.sourceforge.net/dcplusplus/?rev=1026&view=rev Author: arnetheduck Date: 2008-03-05 13:23:05 -0800 (Wed, 05 Mar 2008) Log Message: ----------- Patches Modified Paths: -------------- dcplusplus/trunk/changelog.txt dcplusplus/trunk/dcpp/File.cpp dcplusplus/trunk/dcpp/Util.cpp dcplusplus/trunk/win32/AboutDlg.cpp Modified: dcplusplus/trunk/changelog.txt =================================================================== --- dcplusplus/trunk/changelog.txt 2008-03-04 23:26:14 UTC (rev 1025) +++ dcplusplus/trunk/changelog.txt 2008-03-05 21:23:05 UTC (rev 1026) @@ -40,8 +40,8 @@ * [L#195209] Fixed tabbing in hub windows (poy) * [L#195209] Fixed Ctrl+F that opens favorite hubs (poy) * [L#194696] Fixed small memory leak +* Some unix compile fixes (thanks pavel andreev and yakov suraev) - -- 0.704 2007-12-14 -- * Hub lists added to utilize Coral's distributed network (ullner) * Use system header arrows on common controls 6+ (thanks poy) Modified: dcplusplus/trunk/dcpp/File.cpp =================================================================== --- dcplusplus/trunk/dcpp/File.cpp 2008-03-04 23:26:14 UTC (rev 1025) +++ dcplusplus/trunk/dcpp/File.cpp 2008-03-05 21:23:05 UTC (rev 1026) @@ -225,7 +225,7 @@ throw FileException("Invalid file type"); } - h = open(fileName.c_str(), m, S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH); + h = open(filename.c_str(), m, S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH); if(h == -1) throw FileException("Could not open file"); } @@ -350,7 +350,7 @@ // This doesn't assume all bytes are written in one write call, it is a bit safer void File::copyFile(const string& source, const string& target) throw(FileException) { const size_t BUF_SIZE = 64 * 1024; - boost::scoped_array<char> buffer(BUF_SIZE); + boost::scoped_array<char> buffer(new char[BUF_SIZE]); size_t count = BUF_SIZE; File src(source, File::READ, 0); File dst(target, File::WRITE, File::CREATE | File::TRUNCATE); Modified: dcplusplus/trunk/dcpp/Util.cpp =================================================================== --- dcplusplus/trunk/dcpp/Util.cpp 2008-03-04 23:26:14 UTC (rev 1025) +++ dcplusplus/trunk/dcpp/Util.cpp 2008-03-05 21:23:05 UTC (rev 1026) @@ -379,7 +379,7 @@ #else char buf[128]; snprintf(buf, sizeof(buf), _("%'lld B"), (long long int)aBytes); - return string(buf) + return string(buf); #endif } @@ -714,14 +714,17 @@ #else // will this give wide representations for %a and %A? // surely win32 can't have a leg up on linux/unixen in this area. - Todd - AutoArray<char> buf(bufsize); + string buf(bufsize, 0); - while(!strftime(buf, bufsize-1, msg.c_str(), loc)) { + buf.resize(strftime(&buf[0], bufsize-1, msg.c_str(), loc)); + + while(buf.empty()) { bufsize+=64; - buf = new char[bufsize]; + buf.resize(bufsize); + buf.resize(strftime(&buf[0], bufsize-1, msg.c_str(), loc)); } - return Text::toUtf8(string(buf)); + return Text::toUtf8(buf); #endif } return Util::emptyString; Modified: dcplusplus/trunk/win32/AboutDlg.cpp =================================================================== --- dcplusplus/trunk/win32/AboutDlg.cpp 2008-03-04 23:26:14 UTC (rev 1025) +++ dcplusplus/trunk/win32/AboutDlg.cpp 2008-03-05 21:23:05 UTC (rev 1026) @@ -41,7 +41,7 @@ "bsod, sulan, jonathan stone, tim burton, izzzo, guitarm, paka, nils maier, jens oknelid, yoji, " "krzysztof tyszecki, poison, mikejj, pur, bigmuscle, martin, jove, bart vullings, " "steven sheehy, tobias nygren, poy, dorian, stephan hohe, mafa_45, mikael eman, james ross," -"stanislav maslovski, david grundberg. " +"stanislav maslovski, david grundberg, pavel andreev, yakov suraev. " "Keep it coming!"; AboutDlg::AboutDlg(SmartWin::Widget* parent) : WidgetFactory<SmartWin::WidgetModalDialog>(parent) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <arn...@us...> - 2008-03-06 18:14:10
|
Revision: 1027 http://dcplusplus.svn.sourceforge.net/dcplusplus/?rev=1027&view=rev Author: arnetheduck Date: 2008-03-06 10:13:47 -0800 (Thu, 06 Mar 2008) Log Message: ----------- Fix empty pm crash Modified Paths: -------------- dcplusplus/trunk/changelog.txt dcplusplus/trunk/dcpp/NmdcHub.cpp Modified: dcplusplus/trunk/changelog.txt =================================================================== --- dcplusplus/trunk/changelog.txt 2008-03-05 21:23:05 UTC (rev 1026) +++ dcplusplus/trunk/changelog.txt 2008-03-06 18:13:47 UTC (rev 1027) @@ -41,6 +41,7 @@ * [L#195209] Fixed Ctrl+F that opens favorite hubs (poy) * [L#194696] Fixed small memory leak * Some unix compile fixes (thanks pavel andreev and yakov suraev) +* [L#199192] [NMDC] Fixed crash on empty private message -- 0.704 2007-12-14 -- * Hub lists added to utilize Coral's distributed network (ullner) Modified: dcplusplus/trunk/dcpp/NmdcHub.cpp =================================================================== --- dcplusplus/trunk/dcpp/NmdcHub.cpp 2008-03-05 21:23:05 UTC (rev 1026) +++ dcplusplus/trunk/dcpp/NmdcHub.cpp 2008-03-06 18:13:47 UTC (rev 1027) @@ -690,10 +690,14 @@ if(fromNick.empty()) return; + if(param.size() < j + 2) { + return; + } + string msg = param.substr(j + 2); + OnlineUser* replyTo = findUser(rtNick); OnlineUser* from = findUser(fromNick); - string msg = param.substr(j + 2); if(replyTo == NULL || from == NULL) { if(replyTo == 0) { // Assume it's from the hub This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <zou...@us...> - 2008-03-07 00:20:21
|
Revision: 1029 http://dcplusplus.svn.sourceforge.net/dcplusplus/?rev=1029&view=rev Author: zouzou123gen Date: 2008-03-06 16:20:14 -0800 (Thu, 06 Mar 2008) Log Message: ----------- fix DL queue crash, don't sub-class scrollbar menus Modified Paths: -------------- dcplusplus/trunk/changelog.txt dcplusplus/trunk/win32/QueueFrame.cpp dcplusplus/trunk/win32/QueueFrame.h dcplusplus/trunk/win32/WidgetTextBox.cpp Modified: dcplusplus/trunk/changelog.txt =================================================================== --- dcplusplus/trunk/changelog.txt 2008-03-06 19:43:56 UTC (rev 1028) +++ dcplusplus/trunk/changelog.txt 2008-03-07 00:20:14 UTC (rev 1029) @@ -42,6 +42,7 @@ * [L#194696] Fixed small memory leak * Some unix compile fixes (thanks pavel andreev and yakov suraev) * [L#199192] [NMDC] Fixed crash on empty private message +* [L#198416] Fixed crash when closing the download queue (poy) -- 0.704 2007-12-14 -- * Hub lists added to utilize Coral's distributed network (ullner) Modified: dcplusplus/trunk/win32/QueueFrame.cpp =================================================================== --- dcplusplus/trunk/win32/QueueFrame.cpp 2008-03-06 19:43:56 UTC (rev 1028) +++ dcplusplus/trunk/win32/QueueFrame.cpp 2008-03-07 00:20:14 UTC (rev 1029) @@ -70,17 +70,20 @@ { dirs = SmartWin::WidgetCreator<WidgetDirs>::create(this, WinUtil::Seeds::treeView); addWidget(dirs); + paned->setFirst(dirs); + dirs->setColor(WinUtil::textColor, WinUtil::bgColor); dirs->setNormalImageList(WinUtil::fileImages); + dirs->onSelectionChanged(std::tr1::bind(&QueueFrame::updateFiles, this)); dirs->onKeyDown(std::tr1::bind(&QueueFrame::handleKeyDownDirs, this, _1)); dirs->onContextMenu(std::tr1::bind(&QueueFrame::handleDirsContextMenu, this, _1)); - paned->setFirst(dirs); } { files = SmartWin::WidgetCreator<WidgetFiles>::create(this, WinUtil::Seeds::listView); - addWidget(files); + addWidget(files, true); + paned->setSecond(files); files->setSmallImageList(WinUtil::fileImages); files->createColumns(WinUtil::getStrings(columnNames)); @@ -92,8 +95,6 @@ files->onKeyDown(std::tr1::bind(&QueueFrame::handleKeyDownFiles, this, _1)); files->onSelectionChanged(std::tr1::bind(&QueueFrame::updateStatus, this)); files->onContextMenu(std::tr1::bind(&QueueFrame::handleFilesContextMenu, this, _1)); - - paned->setSecond(files); } { @@ -111,7 +112,7 @@ QueueManager::getInstance()->unlockQueue(); QueueManager::getInstance()->addListener(this); - onSpeaker(std::tr1::bind(&QueueFrame::handleSpeaker, this, _1, _2)); + onSpeaker(std::tr1::bind(&QueueFrame::handleSpeaker, this)); updateStatus(); layout(); @@ -121,7 +122,7 @@ } -HRESULT QueueFrame::handleSpeaker(WPARAM, LPARAM) { +LRESULT QueueFrame::handleSpeaker() { TaskQueue::List t; tasks.get(t); Modified: dcplusplus/trunk/win32/QueueFrame.h =================================================================== --- dcplusplus/trunk/win32/QueueFrame.h 2008-03-06 19:43:56 UTC (rev 1028) +++ dcplusplus/trunk/win32/QueueFrame.h 2008-03-07 00:20:14 UTC (rev 1029) @@ -27,12 +27,10 @@ #include <dcpp/FastAlloc.h> #include <dcpp/QueueManagerListener.h> #include <dcpp/QueueItem.h> -#include <dcpp/ClientListener.h> #include "resource.h" -class QueueFrame : - public StaticFrame<QueueFrame>, - private ClientListener, +class QueueFrame : + public StaticFrame<QueueFrame>, private QueueManagerListener { public: @@ -277,12 +275,12 @@ bool addUsers(const WidgetMenuPtr& menu, unsigned int startId, void (QueueFrame::*handler)(const UserPtr&), const QueueItem::SourceList& sources, bool offline); void layout(); - HRESULT handleSpeaker(WPARAM wParam, LPARAM lParam); + bool preClosing(); void postClosing(); void handleShowTreeClicked(); - + LRESULT handleSpeaker(); void handleMove(); void handleRemove(); void handlePriority(unsigned id); Modified: dcplusplus/trunk/win32/WidgetTextBox.cpp =================================================================== --- dcplusplus/trunk/win32/WidgetTextBox.cpp 2008-03-06 19:43:56 UTC (rev 1028) +++ dcplusplus/trunk/win32/WidgetTextBox.cpp 2008-03-07 00:20:14 UTC (rev 1029) @@ -25,6 +25,12 @@ WidgetTextBox::WidgetTextBox( SmartWin::Widget * parent ) : BaseType(parent), menuOpened(false) { this->onLeftMouseDblClick(std::tr1::bind(&WidgetTextBox::handleLeftDblClick, this, _1)); + /* + * unlike usual controls, the edit control doesn't send WM_INITMENUPOPUP when its standard + * menu is being opened. however, we can catch WM_ENTERIDLE and sub-class the menu then. + * + * method described by Jeff Partch in http://groups.google.com/group/microsoft.public.vc.mfc/msg/5e07dc60be3d3baa + */ this->onRaw(std::tr1::bind(&WidgetTextBox::handleEnterIdle, this, _1, _2), SmartWin::Message(WM_ENTERIDLE)); this->onRaw(std::tr1::bind(&WidgetTextBox::handleMenuSelect, this, _1, _2), SmartWin::Message(WM_MENUSELECT)); } @@ -35,8 +41,27 @@ LRESULT WidgetTextBox::handleEnterIdle(WPARAM wParam, LPARAM lParam) { if(wParam == MSGF_MENU && !menuOpened) { - menu = SmartWin::WidgetCreator<SmartWin::WidgetMenu>::attach(this, reinterpret_cast<HMENU>(::SendMessage(reinterpret_cast<HWND>(lParam), MN_GETHMENU, 0, 0)), WinUtil::Seeds::menu); - menuOpened = true; + GUITHREADINFO gti = { sizeof(gti) }; + if(::GetGUIThreadInfo(NULL, >i) && (gti.flags & GUI_POPUPMENUMODE) && (gti.hwndMenuOwner == handle())) { + HMENU hMenu = reinterpret_cast<HMENU>(::SendMessage(reinterpret_cast<HWND>(lParam), MN_GETHMENU, 0, 0)); + if(!hMenu) + return 0; + + menuOpened = true; + + { + // make sure we're not sub-classing the scrollbar context menu... + DWORD messagePos = ::GetMessagePos(); + POINT pt = { GET_X_LPARAM(messagePos), GET_Y_LPARAM(messagePos) }; + SCROLLBARINFO sbi = { sizeof(sbi) }; + if(::GetScrollBarInfo(handle(), OBJID_HSCROLL, &sbi) && ::PtInRect(&sbi.rcScrollBar, pt)) + return 0; + if(::GetScrollBarInfo(handle(), OBJID_VSCROLL, &sbi) && ::PtInRect(&sbi.rcScrollBar, pt)) + return 0; + } + + menu = SmartWin::WidgetCreator<SmartWin::WidgetMenu>::attach(this, hMenu, WinUtil::Seeds::menu); + } } return 0; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <arn...@us...> - 2008-03-07 23:02:07
|
Revision: 1030 http://dcplusplus.svn.sourceforge.net/dcplusplus/?rev=1030&view=rev Author: arnetheduck Date: 2008-03-07 15:01:59 -0800 (Fri, 07 Mar 2008) Log Message: ----------- Clean up socket thread handling, hopefully fixing network crash Modified Paths: -------------- dcplusplus/trunk/dcpp/AdcHub.cpp dcplusplus/trunk/dcpp/AdcHub.h dcplusplus/trunk/dcpp/BufferedSocket.cpp dcplusplus/trunk/dcpp/BufferedSocket.h dcplusplus/trunk/dcpp/Client.cpp dcplusplus/trunk/dcpp/Client.h dcplusplus/trunk/dcpp/ClientManager.cpp dcplusplus/trunk/dcpp/ClientManager.h dcplusplus/trunk/dcpp/NmdcHub.cpp dcplusplus/trunk/dcpp/NmdcHub.h dcplusplus/trunk/dcpp/Speaker.h dcplusplus/trunk/dcpp/Thread.h dcplusplus/trunk/dcpp/stdinc.h dcplusplus/trunk/win32/AspectStatus.h dcplusplus/trunk/win32/DirectoryListingFrame.cpp dcplusplus/trunk/win32/TypedTreeView.h dcplusplus/trunk/win32/UsersFrame.cpp dcplusplus/trunk/win32/WinUtil.cpp Modified: dcplusplus/trunk/dcpp/AdcHub.cpp =================================================================== --- dcplusplus/trunk/dcpp/AdcHub.cpp 2008-03-07 00:20:14 UTC (rev 1029) +++ dcplusplus/trunk/dcpp/AdcHub.cpp 2008-03-07 23:01:59 UTC (rev 1030) @@ -204,7 +204,7 @@ if(!baseOk) { fire(ClientListener::StatusMessage(), this, _("Failed to negotiate base protocol")); - socket->disconnect(false); + disconnect(false); return; } else if(!tigrOk) { oldPassword = true; @@ -441,6 +441,7 @@ udp.writeTo(ip, port, command); } catch(const SocketException& e) { dcdebug("AdcHub::sendUDP: write failed: %s\n", e.getError().c_str()); + udp.close(); } } Modified: dcplusplus/trunk/dcpp/AdcHub.h =================================================================== --- dcplusplus/trunk/dcpp/AdcHub.h 2008-03-07 00:20:14 UTC (rev 1029) +++ dcplusplus/trunk/dcpp/AdcHub.h 2008-03-07 23:01:59 UTC (rev 1030) @@ -21,8 +21,7 @@ #include "Client.h" #include "AdcCommand.h" -#include "TimerManager.h" -#include "User.h" +#include "Socket.h" namespace dcpp { Modified: dcplusplus/trunk/dcpp/BufferedSocket.cpp =================================================================== --- dcplusplus/trunk/dcpp/BufferedSocket.cpp 2008-03-07 00:20:14 UTC (rev 1029) +++ dcplusplus/trunk/dcpp/BufferedSocket.cpp 2008-03-07 23:01:59 UTC (rev 1030) @@ -34,18 +34,18 @@ // Polling is used for tasks...should be fixed... #define POLL_TIMEOUT 250 -BufferedSocket::BufferedSocket(char aSeparator) throw() : -separator(aSeparator), mode(MODE_LINE), filterIn(NULL), -dataBytes(0), rollback(0), failed(false), sock(0), disconnecting(false) +BufferedSocket::BufferedSocket(char aSeparator) throw(ThreadException) : +separator(aSeparator), mode(MODE_LINE), dataBytes(0), rollback(0), disconnecting(false), +state(STARTING) { + start(); + Thread::safeInc(sockets); } volatile long BufferedSocket::sockets = 0; BufferedSocket::~BufferedSocket() throw() { - delete sock; - delete filterIn; Thread::safeDec(sockets); } @@ -55,89 +55,66 @@ return; } - if (mode == MODE_ZPIPE) { - // should not happen! - if (filterIn) { - delete filterIn; - filterIn = NULL; - } - } - - mode = aMode; switch (aMode) { case MODE_LINE: rollback = aRollback; break; case MODE_ZPIPE: - filterIn = new UnZFilter; + filterIn = std::auto_ptr<UnZFilter>(new UnZFilter); break; case MODE_DATA: break; } + mode = aMode; } -void BufferedSocket::accept(const Socket& srv, bool secure, bool allowUntrusted) throw(SocketException, ThreadException) { - dcassert(!sock); - try { - dcdebug("BufferedSocket::accept() %p\n", (void*)this); - sock = secure ? CryptoManager::getInstance()->getServerSocket(allowUntrusted) : new Socket; +void BufferedSocket::setSocket(std::auto_ptr<Socket> s) { + dcassert(!sock.get()); + if(SETTING(SOCKET_IN_BUFFER) > 0) + s->setSocketOpt(SO_RCVBUF, SETTING(SOCKET_IN_BUFFER)); + if(SETTING(SOCKET_OUT_BUFFER) > 0) + s->setSocketOpt(SO_SNDBUF, SETTING(SOCKET_OUT_BUFFER)); + s->setBlocking(false); - sock->accept(srv); - if(SETTING(SOCKET_IN_BUFFER) > 0) - sock->setSocketOpt(SO_RCVBUF, SETTING(SOCKET_IN_BUFFER)); - if(SETTING(SOCKET_OUT_BUFFER) > 0) - sock->setSocketOpt(SO_SNDBUF, SETTING(SOCKET_OUT_BUFFER)); - sock->setBlocking(false); + inbuf.resize(s->getSocketOptInt(SO_RCVBUF)); + + sock = s; +} - inbuf.resize(sock->getSocketOptInt(SO_RCVBUF)); +void BufferedSocket::accept(const Socket& srv, bool secure, bool allowUntrusted) throw(SocketException) { + dcdebug("BufferedSocket::accept() %p\n", (void*)this); + + std::auto_ptr<Socket> s(secure ? CryptoManager::getInstance()->getServerSocket(allowUntrusted) : new Socket); - // This lock prevents the shutdown task from being added and executed before we're done initializing the socket - Lock l(cs); - start(); - addTask(ACCEPTED, 0); - } catch(...) { - delete sock; - sock = 0; - throw; - } - + s->accept(srv); + + setSocket(s); + + Lock l(cs); + addTask(ACCEPTED, 0); } -void BufferedSocket::connect(const string& aAddress, uint16_t aPort, bool secure, bool allowUntrusted, bool proxy) throw(SocketException, ThreadException) { - dcassert(!sock); +void BufferedSocket::connect(const string& aAddress, uint16_t aPort, bool secure, bool allowUntrusted, bool proxy) throw(SocketException) { + dcdebug("BufferedSocket::connect() %p\n", (void*)this); + std::auto_ptr<Socket> s(secure ? CryptoManager::getInstance()->getClientSocket(allowUntrusted) : new Socket); - try { - dcdebug("BufferedSocket::connect() %p\n", (void*)this); - sock = secure ? CryptoManager::getInstance()->getClientSocket(allowUntrusted) : new Socket; - - sock->create(); - sock->bind(0, SETTING(BIND_ADDRESS)); - if(SETTING(SOCKET_IN_BUFFER) >= 1024) - sock->setSocketOpt(SO_RCVBUF, SETTING(SOCKET_IN_BUFFER)); - if(SETTING(SOCKET_OUT_BUFFER) >= 1024) - sock->setSocketOpt(SO_SNDBUF, SETTING(SOCKET_OUT_BUFFER)); - sock->setBlocking(false); - - inbuf.resize(sock->getSocketOptInt(SO_RCVBUF)); - - Lock l(cs); - start(); - addTask(CONNECT, new ConnectInfo(aAddress, aPort, proxy && (SETTING(OUTGOING_CONNECTIONS) == SettingsManager::OUTGOING_SOCKS5))); - } catch(...) { - delete sock; - sock = 0; - throw; - } - + s->create(); + s->bind(0, SETTING(BIND_ADDRESS)); + + setSocket(s); + + Lock l(cs); + addTask(CONNECT, new ConnectInfo(aAddress, aPort, proxy && (SETTING(OUTGOING_CONNECTIONS) == SettingsManager::OUTGOING_SOCKS5))); } #define CONNECT_TIMEOUT 30000 void BufferedSocket::threadConnect(const string& aAddr, uint16_t aPort, bool proxy) throw(SocketException) { + dcassert(state == STARTING); + dcdebug("threadConnect %s:%d\n", aAddr.c_str(), (int)aPort); - dcassert(sock); - if(!sock) - return; fire(BufferedSocketListener::Connecting()); + + state = RUNNING; uint64_t startTime = GET_TICK(); if(proxy) { @@ -159,9 +136,9 @@ } void BufferedSocket::threadRead() throw(SocketException) { - dcassert(sock); - if(!sock) + if(state != RUNNING) return; + int left = sock->read(&inbuf[0], (int)inbuf.size()); if(left == -1) { // EWOULDBLOCK, no data received... @@ -177,8 +154,7 @@ while (left > 0) { switch (mode) { - case MODE_ZPIPE: - if(filterIn) { + case MODE_ZPIPE: { const int BUF_SIZE = 1024; // Special to autodetect nmdc connections... string::size_type pos = 0; @@ -263,9 +239,11 @@ } void BufferedSocket::threadSendFile(InputStream* file) throw(Exception) { - dcassert(sock); - if(!sock || disconnecting) + if(state != RUNNING) return; + + if(disconnecting) + return; dcassert(file != NULL); size_t sockSize = (size_t)sock->getSocketOptInt(SO_SNDBUF); size_t bufSize = max(sockSize, (size_t)64*1024); @@ -347,8 +325,7 @@ } void BufferedSocket::write(const char* aBuf, size_t aLen) throw() { - dcassert(sock); - if(!sock) + if(!sock.get()) return; Lock l(cs); if(writeBuf.empty()) @@ -358,9 +335,9 @@ } void BufferedSocket::threadSendData() { - dcassert(sock); - if(!sock) + if(state != RUNNING) return; + { Lock l(cs); if(writeBuf.empty()) @@ -394,59 +371,46 @@ } bool BufferedSocket::checkEvents() { - while(isConnected() ? taskSem.wait(0) : taskSem.wait()) { - pair<Tasks, TaskData*> p; + while(state == RUNNING ? taskSem.wait(0) : taskSem.wait()) { + pair<Tasks, std::tr1::shared_ptr<TaskData> > p; { Lock l(cs); dcassert(tasks.size() > 0); p = tasks.front(); tasks.erase(tasks.begin()); } - if(failed && p.first != SHUTDOWN) { - dcdebug("BufferedSocket: New command when already failed: %d\n", p.first); - fail(_("Disconnected")); - delete p.second; - continue; + + if(p.first == SHUTDOWN) { + return false; + } else if(p.first == UPDATED) { + fire(BufferedSocketListener::Updated()); } - - try { - switch(p.first) { - case SEND_DATA: - threadSendData(); break; - case SEND_FILE: - threadSendFile(((SendFileInfo*)p.second)->stream); break; - case CONNECT: - { - ConnectInfo* ci = (ConnectInfo*)p.second; - threadConnect(ci->addr, ci->port, ci->proxy); - break; - } - case DISCONNECT: - if(isConnected()) - fail(_("Disconnected")); - break; - case SHUTDOWN: - return false; - case ACCEPTED: - break; - case UPDATED: - fire(BufferedSocketListener::Updated()); - break; + + if(state == STARTING) { + if(p.first == CONNECT) { + ConnectInfo* ci = static_cast<ConnectInfo*>(p.second.get()); + threadConnect(ci->addr, ci->port, ci->proxy); + } else if(p.first == ACCEPTED) { + state = RUNNING; + } else { + dcdebug("%d unexpected in STARTING state", p.first); } - } catch(...) { - delete p.second; - throw; + } else if(state == RUNNING) { + if(p.first == SEND_DATA) { + threadSendData(); + } else if(p.first == SEND_FILE) { + threadSendFile(static_cast<SendFileInfo*>(p.second.get())->stream); break; + } else if(p.first == DISCONNECT) { + fail(_("Disconnected")); + } else { + dcdebug("%d unexpected in RUNNING state", p.first); + } } - delete p.second; } return true; } void BufferedSocket::checkSocket() { - dcassert(sock); - if(!sock) - return; - int waitFor = sock->wait(POLL_TIMEOUT, Socket::WAIT_READ); if(waitFor & Socket::WAIT_READ) { @@ -462,9 +426,12 @@ dcdebug("BufferedSocket::run() start %p\n", (void*)this); while(true) { try { - if(!checkEvents()) + if(!checkEvents()) { break; - checkSocket(); + } + if(state == RUNNING) { + checkSocket(); + } } catch(const Exception& e) { fail(e.getError()); } @@ -475,24 +442,23 @@ } void BufferedSocket::fail(const string& aError) { - if(sock) { - sock->disconnect(); - } - if(!failed) { - failed = true; + sock->disconnect(); + + if(state == RUNNING) { + state = FAILED; fire(BufferedSocketListener::Failed(), aError); } } void BufferedSocket::shutdown() { - if(sock) { - Lock l(cs); - disconnecting = true; - addTask(SHUTDOWN, 0); - } else { - // Socket thread not running yet, disconnect... - delete this; - } + Lock l(cs); + disconnecting = true; + addTask(SHUTDOWN, 0); } +void BufferedSocket::addTask(Tasks task, TaskData* data) { + dcassert(task == SHUTDOWN || sock.get()); + tasks.push_back(make_pair(task, data)); taskSem.signal(); +} + } // namespace dcpp Modified: dcplusplus/trunk/dcpp/BufferedSocket.h =================================================================== --- dcplusplus/trunk/dcpp/BufferedSocket.h 2008-03-07 00:20:14 UTC (rev 1029) +++ dcplusplus/trunk/dcpp/BufferedSocket.h 2008-03-07 23:01:59 UTC (rev 1030) @@ -29,8 +29,7 @@ namespace dcpp { -class BufferedSocket : public Speaker<BufferedSocketListener>, public Thread -{ +class BufferedSocket : public Speaker<BufferedSocketListener>, private Thread { public: enum Modes { MODE_LINE, @@ -43,7 +42,7 @@ * @param sep Line separator * @return An unconnected socket */ - static BufferedSocket* getSocket(char sep) throw() { + static BufferedSocket* getSocket(char sep) throw(ThreadException) { return new BufferedSocket(sep); } @@ -57,8 +56,8 @@ Thread::sleep(100); } - void accept(const Socket& srv, bool secure, bool allowUntrusted) throw(SocketException, ThreadException); - void connect(const string& aAddress, uint16_t aPort, bool secure, bool allowUntrusted, bool proxy) throw(SocketException, ThreadException); + void accept(const Socket& srv, bool secure, bool allowUntrusted) throw(SocketException); + void connect(const string& aAddress, uint16_t aPort, bool secure, bool allowUntrusted, bool proxy) throw(SocketException); /** Sets data mode for aBytes bytes. Must be called within onLine. */ void setDataMode(int64_t aBytes = -1) { mode = MODE_DATA; dataBytes = aBytes; } @@ -70,12 +69,12 @@ void setLineMode(size_t aRollback) { setMode (MODE_LINE, aRollback);} void setMode(Modes mode, size_t aRollback = 0); Modes getMode() const { return mode; } - const string& getIp() const { return sock ? sock->getIp() : Util::emptyString; } - bool isConnected() const { return sock && sock->isConnected(); } + const string& getIp() const { return sock->getIp(); } + bool isConnected() const { return sock->isConnected(); } - bool isSecure() const { return sock && sock->isSecure(); } - bool isTrusted() const { return sock && sock->isTrusted(); } - std::string getCipherName() const { return sock ? sock->getCipherName() : Util::emptyString; } + bool isSecure() const { return sock->isSecure(); } + bool isTrusted() const { return sock->isTrusted(); } + std::string getCipherName() const { return sock->getCipherName(); } void write(const string& aData) { write(aData.data(), aData.length()); } void write(const char* aBuf, size_t aLen) throw(); @@ -87,7 +86,7 @@ void disconnect(bool graceless = false) throw() { Lock l(cs); if(graceless) disconnecting = true; addTask(DISCONNECT, 0); } - string getLocalIp() const { return sock ? sock->getLocalIp() : Util::getLocalIp(); } + string getLocalIp() const { return sock->getLocalIp(); } GETSET(char, separator, Separator) private: @@ -100,6 +99,12 @@ ACCEPTED, UPDATED }; + + enum State { + STARTING, // Waiting for CONNECT/ACCEPTED/SHUTDOWN + RUNNING, + FAILED + }; struct TaskData { virtual ~TaskData() { } @@ -115,30 +120,26 @@ InputStream* stream; }; - BufferedSocket(char aSeparator) throw(); + BufferedSocket(char aSeparator) throw(ThreadException); - // Dummy... - BufferedSocket(const BufferedSocket&); - BufferedSocket& operator=(const BufferedSocket&); - virtual ~BufferedSocket() throw(); CriticalSection cs; Semaphore taskSem; - vector<pair<Tasks, TaskData*> > tasks; + deque<pair<Tasks, std::tr1::shared_ptr<TaskData> > > tasks; Modes mode; - UnZFilter *filterIn; + std::auto_ptr<UnZFilter> filterIn; int64_t dataBytes; size_t rollback; - bool failed; string line; ByteVector inbuf; ByteVector writeBuf; ByteVector sendBuf; - Socket* sock; + std::auto_ptr<Socket> sock; + State state; bool disconnecting; virtual int run(); @@ -155,8 +156,9 @@ bool checkEvents(); void checkSocket(); + void setSocket(std::auto_ptr<Socket> s); void shutdown(); - void addTask(Tasks task, TaskData* data) { tasks.push_back(make_pair(task, data)); taskSem.signal(); } + void addTask(Tasks task, TaskData* data); }; } // namespace dcpp Modified: dcplusplus/trunk/dcpp/Client.cpp =================================================================== --- dcplusplus/trunk/dcpp/Client.cpp 2008-03-07 00:20:14 UTC (rev 1029) +++ dcplusplus/trunk/dcpp/Client.cpp 2008-03-07 23:01:59 UTC (rev 1030) @@ -34,7 +34,7 @@ Client::Client(const string& hubURL, char separator_, bool secure_) : myIdentity(ClientManager::getInstance()->getMe(), 0), reconnDelay(120), lastActivity(GET_TICK()), registered(false), autoReconnect(false), - encoding(Text::systemCharset), state(STATE_DISCONNECTED), socket(0), + encoding(Text::systemCharset), state(STATE_DISCONNECTED), sock(0), hubUrl(hubURL), port(0), separator(separator_), secure(secure_), countType(COUNT_UNCOUNTED) { @@ -45,7 +45,7 @@ } Client::~Client() throw() { - dcassert(!socket); + dcassert(!sock); // In case we were deleted before we Failed FavoriteManager::getInstance()->removeUserCommand(getHubUrl()); @@ -60,10 +60,9 @@ } void Client::shutdown() { - - if(socket) { - BufferedSocket::putSocket(socket); - socket = 0; + if(sock) { + BufferedSocket::putSocket(sock); + sock = 0; } } @@ -90,8 +89,8 @@ } void Client::connect() { - if(socket) - BufferedSocket::putSocket(socket); + if(sock) + BufferedSocket::putSocket(sock); setAutoReconnect(true); setReconnDelay(120 + Util::rand(0, 60)); @@ -101,13 +100,13 @@ setHubIdentity(Identity()); try { - socket = BufferedSocket::getSocket(separator); - socket->addListener(this); - socket->connect(address, port, secure, BOOLSETTING(ALLOW_UNTRUSTED_HUBS), true); + sock = BufferedSocket::getSocket(separator); + sock->addListener(this); + sock->connect(address, port, secure, BOOLSETTING(ALLOW_UNTRUSTED_HUBS), true); } catch(const Exception& e) { - if(socket) { - BufferedSocket::putSocket(socket); - socket = 0; + if(sock) { + BufferedSocket::putSocket(sock); + sock = 0; } fire(ClientListener::Failed(), this, e.getError()); } @@ -115,9 +114,18 @@ state = STATE_CONNECTING; } +void Client::send(const char* aMessage, size_t aLen) { + dcassert(sock); + if(!sock) + return; + updateActivity(); + sock->write(aMessage, aLen); +} + void Client::on(Connected) throw() { updateActivity(); - ip = socket->getIp(); + ip = sock->getIp(); + localIp = sock->getLocalIp(); fire(ClientListener::Connected(), this); state = STATE_PROTOCOL; } @@ -125,13 +133,13 @@ void Client::on(Failed, const string& aLine) throw() { state = STATE_DISCONNECTED; FavoriteManager::getInstance()->removeUserCommand(getHubUrl()); - socket->removeListener(this); + sock->removeListener(this); fire(ClientListener::Failed(), this, aLine); } void Client::disconnect(bool graceLess) { - if(socket) - socket->disconnect(graceLess); + if(sock) + sock->disconnect(graceLess); } void Client::updateCounts(bool aRemove) { @@ -169,14 +177,12 @@ if(!SETTING(EXTERNAL_IP).empty()) { return Socket::resolve(SETTING(EXTERNAL_IP)); } + + if(localIp.empty()) { + return Util::getLocalIp(); + } - string lip; - if(socket) - lip = socket->getLocalIp(); - - if(lip.empty()) - return Util::getLocalIp(); - return lip; + return localIp; } void Client::on(Line, const string& /*aLine*/) throw() { Modified: dcplusplus/trunk/dcpp/Client.h =================================================================== --- dcplusplus/trunk/dcpp/Client.h 2008-03-07 00:20:14 UTC (rev 1029) +++ dcplusplus/trunk/dcpp/Client.h 2008-03-07 23:01:59 UTC (rev 1030) @@ -16,12 +16,14 @@ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -#if !defined(CLIENT_H) -#define CLIENT_H +#ifndef DCPLUSPLUS_DCPP_CLIENT_H +#define DCPLUSPLUS_DCPP_CLIENT_H +#include "forward.h" + #include "User.h" -#include "BufferedSocket.h" -#include "SettingsManager.h" +#include "Speaker.h" +#include "BufferedSocketListener.h" #include "TimerManager.h" #include "ClientListener.h" @@ -52,7 +54,7 @@ virtual string escape(string const& str) const { return str; } - bool isConnected() const { return socket && socket->isConnected(); } + bool isConnected() const { return state != STATE_DISCONNECTED; } bool isOp() const { return getMyIdentity().isOp(); } uint16_t getPort() const { return port; } @@ -80,13 +82,7 @@ void shutdown(); void send(const string& aMessage) { send(aMessage.c_str(), aMessage.length()); } - void send(const char* aMessage, size_t aLen) { - dcassert(socket); - if(!socket) - return; - updateActivity(); - socket->write(aMessage, aLen); - } + void send(const char* aMessage, size_t aLen); string getMyNick() const { return getMyIdentity().getNick(); } string getHubName() const { return getHubIdentity().getNick().empty() ? getHubUrl() : getHubIdentity().getNick(); } @@ -129,7 +125,7 @@ STATE_DISCONNECTED, ///< Nothing in particular } state; - BufferedSocket* socket; + BufferedSocket* sock; static Counts counts; Counts lastCounts; @@ -165,6 +161,7 @@ string hubUrl; string address; string ip; + string localIp; uint16_t port; char separator; bool secure; Modified: dcplusplus/trunk/dcpp/ClientManager.cpp =================================================================== --- dcplusplus/trunk/dcpp/ClientManager.cpp 2008-03-07 00:20:14 UTC (rev 1029) +++ dcplusplus/trunk/dcpp/ClientManager.cpp 2008-03-07 23:01:59 UTC (rev 1030) @@ -55,8 +55,6 @@ } void ClientManager::putClient(Client* aClient) { - aClient->shutdown(); - fire(ClientManagerListener::ClientDisconnected(), aClient); aClient->removeListeners(); @@ -64,6 +62,7 @@ Lock l(cs); clients.remove(aClient); } + aClient->shutdown(); delete aClient; } Modified: dcplusplus/trunk/dcpp/ClientManager.h =================================================================== --- dcplusplus/trunk/dcpp/ClientManager.h 2008-03-07 00:20:14 UTC (rev 1029) +++ dcplusplus/trunk/dcpp/ClientManager.h 2008-03-07 23:01:59 UTC (rev 1030) @@ -25,6 +25,7 @@ #include "Singleton.h" #include "SettingsManager.h" #include "User.h" +#include "Socket.h" #include "ClientManagerListener.h" Modified: dcplusplus/trunk/dcpp/NmdcHub.cpp =================================================================== --- dcplusplus/trunk/dcpp/NmdcHub.cpp 2008-03-07 00:20:14 UTC (rev 1029) +++ dcplusplus/trunk/dcpp/NmdcHub.cpp 2008-03-07 23:01:59 UTC (rev 1030) @@ -578,12 +578,12 @@ fire(ClientListener::UserUpdated(), this, u); } } else if(cmd == "$ForceMove") { - socket->disconnect(false); + disconnect(false); fire(ClientListener::Redirect(), this, param); } else if(cmd == "$HubIsFull") { fire(ClientListener::HubFull(), this); } else if(cmd == "$ValidateDenide") { // Mind the spelling... - socket->disconnect(false); + disconnect(false); fire(ClientListener::NickTaken(), this); } else if(cmd == "$UserIP") { if(!param.empty()) { @@ -729,7 +729,7 @@ } else if(cmd == "$BadPass") { setPassword(Util::emptyString); } else if(cmd == "$ZOn") { - socket->setMode(BufferedSocket::MODE_ZPIPE); + sock->setMode(BufferedSocket::MODE_ZPIPE); } else { dcassert(cmd[0] == '$'); dcdebug("NmdcHub::onLine Unknown command %s\n", aLine.c_str()); Modified: dcplusplus/trunk/dcpp/NmdcHub.h =================================================================== --- dcplusplus/trunk/dcpp/NmdcHub.h 2008-03-07 00:20:14 UTC (rev 1029) +++ dcplusplus/trunk/dcpp/NmdcHub.h 2008-03-07 23:01:59 UTC (rev 1030) @@ -16,13 +16,13 @@ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -#if !defined(NMDC_HUB_H) -#define NMDC_HUB_H +#ifndef DCPLUSPLUS_DCPP_NMDC_HUB_H +#define DCPLUSPLUS_DCPP_NMDC_HUB_H #include "TimerManager.h" #include "SettingsManager.h" -#include "User.h" +#include "forward.h" #include "CriticalSection.h" #include "Text.h" #include "Client.h" Modified: dcplusplus/trunk/dcpp/Speaker.h =================================================================== --- dcplusplus/trunk/dcpp/Speaker.h 2008-03-07 00:20:14 UTC (rev 1029) +++ dcplusplus/trunk/dcpp/Speaker.h 2008-03-07 23:01:59 UTC (rev 1030) @@ -16,8 +16,8 @@ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -#if !defined(SPEAKER_H) -#define SPEAKER_H +#ifndef DCPLUSPLUS_DCPP_SPEAKER_H +#define DCPLUSPLUS_DCPP_SPEAKER_H #include "CriticalSection.h" Modified: dcplusplus/trunk/dcpp/Thread.h =================================================================== --- dcplusplus/trunk/dcpp/Thread.h 2008-03-07 00:20:14 UTC (rev 1029) +++ dcplusplus/trunk/dcpp/Thread.h 2008-03-07 23:01:59 UTC (rev 1030) @@ -16,8 +16,8 @@ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -#if !defined(THREAD_H) -#define THREAD_H +#ifndef DCPLUSPLUS_DCPP_THREAD_H +#define DCPLUSPLUS_DCPP_THREAD_H #ifndef _WIN32 #include <pthread.h> @@ -31,7 +31,7 @@ STANDARD_EXCEPTION(ThreadException); -class Thread +class Thread : private boost::noncopyable { public: #ifdef _WIN32 @@ -124,10 +124,6 @@ protected: virtual int run() = 0; -private: - Thread(const Thread&); - Thread& operator=(const Thread&); - #ifdef _WIN32 HANDLE threadHandle; DWORD threadId; Modified: dcplusplus/trunk/dcpp/stdinc.h =================================================================== --- dcplusplus/trunk/dcpp/stdinc.h 2008-03-07 00:20:14 UTC (rev 1029) +++ dcplusplus/trunk/dcpp/stdinc.h 2008-03-07 23:01:59 UTC (rev 1030) @@ -121,6 +121,7 @@ #include <boost/format.hpp> #include <boost/scoped_array.hpp> +#include <boost/noncopyable.hpp> #ifdef _STLPORT_VERSION Modified: dcplusplus/trunk/win32/AspectStatus.h =================================================================== --- dcplusplus/trunk/win32/AspectStatus.h 2008-03-07 00:20:14 UTC (rev 1029) +++ dcplusplus/trunk/win32/AspectStatus.h 2008-03-07 23:01:59 UTC (rev 1030) @@ -81,10 +81,10 @@ } void mapWidget(int s, SmartWin::Widget* widget) { - RECT sr; - ::SendMessage(status->handle(), SB_GETRECT, s, reinterpret_cast<LPARAM>(&sr)); - ::MapWindowPoints(status->handle(), static_cast<WidgetType*>(this)->handle(), (POINT*)&sr, 2); - ::MoveWindow(widget->handle(), sr.left, sr.top, sr.right - sr.left, sr.bottom - sr.top, TRUE); + POINT p[2]; + ::SendMessage(status->handle(), SB_GETRECT, s, reinterpret_cast<LPARAM>(p)); + ::MapWindowPoints(status->handle(), static_cast<WidgetType*>(this)->handle(), (POINT*)p, 2); + ::MoveWindow(widget->handle(), p[0].x, p[0].y, p[1].x - p[0].x, p[1].y - p[0].y, TRUE); } WidgetStatusBarSectionsPtr status; Modified: dcplusplus/trunk/win32/DirectoryListingFrame.cpp =================================================================== --- dcplusplus/trunk/win32/DirectoryListingFrame.cpp 2008-03-07 00:20:14 UTC (rev 1029) +++ dcplusplus/trunk/win32/DirectoryListingFrame.cpp 2008-03-07 23:01:59 UTC (rev 1030) @@ -762,7 +762,7 @@ changeDir(dir); // Check file names in list pane - for(int i=0; i<files->size(); i++) { + for(size_t i = 0; i < files->size(); i++) { ItemInfo* ii = files->getData(i); if(ii->type == ItemInfo::FILE) { if(str.match(ii->file->getName())) { Modified: dcplusplus/trunk/win32/TypedTreeView.h =================================================================== --- dcplusplus/trunk/win32/TypedTreeView.h 2008-03-07 00:20:14 UTC (rev 1029) +++ dcplusplus/trunk/win32/TypedTreeView.h 2008-03-07 23:01:59 UTC (rev 1030) @@ -76,7 +76,7 @@ ContentType* content = reinterpret_cast<ContentType*>(nm->item.lParam); const tstring& text = content->getText(); _tcsncpy(nm->item.pszText, text.data(), std::min(text.size(), (size_t)nm->item.cchTextMax)); - if(text.size() < nm->item.cchTextMax) { + if(text.size() < static_cast<size_t>(nm->item.cchTextMax)) { nm->item.pszText[text.size()] = 0; } } Modified: dcplusplus/trunk/win32/UsersFrame.cpp =================================================================== --- dcplusplus/trunk/win32/UsersFrame.cpp 2008-03-07 00:20:14 UTC (rev 1029) +++ dcplusplus/trunk/win32/UsersFrame.cpp 2008-03-07 23:01:59 UTC (rev 1030) @@ -117,7 +117,7 @@ } void UsersFrame::updateUser(const UserPtr& aUser) { - for(int i = 0; i < users->size(); ++i) { + for(size_t i = 0; i < users->size(); ++i) { UserInfo *ui = users->getData(i); if(ui->user == aUser) { ui->columns[COLUMN_SEEN] = aUser->isOnline() ? T_("Online") : Text::toT(Util::formatTime("%Y-%m-%d %H:%M", FavoriteManager::getInstance()->getLastSeen(aUser))); @@ -127,7 +127,7 @@ } void UsersFrame::removeUser(const FavoriteUser& aUser) { - for(int i = 0; i < users->size(); ++i) { + for(size_t i = 0; i < users->size(); ++i) { UserInfo *ui = users->getData(i); if(ui->user == aUser.getUser()) { users->erase(i); Modified: dcplusplus/trunk/win32/WinUtil.cpp =================================================================== --- dcplusplus/trunk/win32/WinUtil.cpp 2008-03-07 00:20:14 UTC (rev 1029) +++ dcplusplus/trunk/win32/WinUtil.cpp 2008-03-07 23:01:59 UTC (rev 1030) @@ -120,7 +120,7 @@ } // Const so that noone else will change them after they've been initialized - SmartWin::WidgetButton::Seed& xbutton = const_cast<SmartWin::WidgetButton::Seed&>(Seeds::button); + //SmartWin::WidgetButton::Seed& xbutton = const_cast<SmartWin::WidgetButton::Seed&>(Seeds::button); SmartWin::WidgetComboBox::Seed& xcomboBoxEdit = const_cast<SmartWin::WidgetComboBox::Seed&>(Seeds::comboBoxEdit); SmartWin::WidgetComboBox::Seed& xcomboBoxStatic = const_cast<SmartWin::WidgetComboBox::Seed&>(Seeds::comboBoxStatic); SmartWin::WidgetListView::Seed& xlistView = const_cast<SmartWin::WidgetListView::Seed&>(Seeds::listView); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <zou...@us...> - 2008-03-10 05:59:19
|
Revision: 1033 http://dcplusplus.svn.sourceforge.net/dcplusplus/?rev=1033&view=rev Author: zouzou123gen Date: 2008-03-09 06:59:38 -0700 (Sun, 09 Mar 2008) Log Message: ----------- 2 more translatable strings Modified Paths: -------------- dcplusplus/trunk/dcpp/BufferedSocket.cpp dcplusplus/trunk/win32/CommandDlg.cpp dcplusplus/trunk/win32/CommandDlg.h Modified: dcplusplus/trunk/dcpp/BufferedSocket.cpp =================================================================== --- dcplusplus/trunk/dcpp/BufferedSocket.cpp 2008-03-08 09:44:38 UTC (rev 1032) +++ dcplusplus/trunk/dcpp/BufferedSocket.cpp 2008-03-09 13:59:38 UTC (rev 1033) @@ -145,7 +145,7 @@ return; } else if(left == 0) { // This socket has been closed... - throw SocketException(("Connection closed")); + throw SocketException(_("Connection closed")); } string::size_type pos = 0; // always uncompressed data Modified: dcplusplus/trunk/win32/CommandDlg.cpp =================================================================== --- dcplusplus/trunk/win32/CommandDlg.cpp 2008-03-08 09:44:38 UTC (rev 1032) +++ dcplusplus/trunk/win32/CommandDlg.cpp 2008-03-09 13:59:38 UTC (rev 1033) @@ -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, _1, _2), SmartWin::Message(WM_HELP)); + onRaw(std::tr1::bind(&CommandDlg::handleHelp, this), SmartWin::Message(WM_HELP)); } CommandDlg::~CommandDlg() { @@ -200,7 +200,7 @@ void CommandDlg::handleOKClicked() { name = nameBox->getText(); if((type != 0) && (name.empty() || commandBox->getText().empty())) { - createMessageBox().show(_T("Name and command must not be empty"), _T(APPNAME) _T(" ") _T(VERSIONSTRING), WidgetMessageBox::BOX_OK, WidgetMessageBox::BOX_ICONEXCLAMATION); + createMessageBox().show(T_("Name and command must not be empty"), _T(APPNAME) _T(" ") _T(VERSIONSTRING), WidgetMessageBox::BOX_OK, WidgetMessageBox::BOX_ICONEXCLAMATION); return; } @@ -274,7 +274,7 @@ } } -LRESULT CommandDlg::handleHelp(WPARAM wParam, LPARAM lParam) { +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-08 09:44:38 UTC (rev 1032) +++ dcplusplus/trunk/win32/CommandDlg.h 2008-03-09 13:59:38 UTC (rev 1033) @@ -36,8 +36,6 @@ tstring getCommand() { return command; } tstring getHub() { return hub; } - LRESULT handleHelp(WPARAM wParam, LPARAM lParam); - private: WidgetRadioButtonPtr separator; WidgetRadioButtonPtr raw; @@ -63,8 +61,8 @@ bool handleInitDialog(); void handleFocus(); + LRESULT handleHelp(); void handleTypeChanged(); - void handleOKClicked(); void handleHelpClicked(); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <arn...@us...> - 2008-03-12 21:41:14
|
Revision: 1036 http://dcplusplus.svn.sourceforge.net/dcplusplus/?rev=1036&view=rev Author: arnetheduck Date: 2008-03-12 14:40:53 -0700 (Wed, 12 Mar 2008) Log Message: ----------- Rename to simplified chinese locale Modified Paths: -------------- dcplusplus/trunk/DCPlusPlus.nsi dcplusplus/trunk/release.sh Added Paths: ----------- dcplusplus/trunk/dcpp/po/zh_CN.po dcplusplus/trunk/mingwm10.dll dcplusplus/trunk/win32/po/zh_CN.po Removed Paths: ------------- dcplusplus/trunk/dcpp/po/zh.po dcplusplus/trunk/win32/po/zh.po Modified: dcplusplus/trunk/DCPlusPlus.nsi =================================================================== --- dcplusplus/trunk/DCPlusPlus.nsi 2008-03-12 20:53:16 UTC (rev 1035) +++ dcplusplus/trunk/DCPlusPlus.nsi 2008-03-12 21:40:53 UTC (rev 1036) @@ -62,6 +62,7 @@ File "License.txt" File "LICENSE-GeoIP.txt" File "LICENSE-OpenSSL.txt" + File "mingwm10.dll" File "magnet.exe" ; Remove opencow just in case we're upgrading Delete "$INSTDIR\opencow.dll" Deleted: dcplusplus/trunk/dcpp/po/zh.po =================================================================== --- dcplusplus/trunk/dcpp/po/zh.po 2008-03-12 20:53:16 UTC (rev 1035) +++ dcplusplus/trunk/dcpp/po/zh.po 2008-03-12 21:40:53 UTC (rev 1036) @@ -1,419 +0,0 @@ -# Chinese translations for the DC++ package. -# Copyright (C) 2008 The translators -# This file is distributed under the same license as the DC++ package. -# <fen...@us...>, 2008. -# -msgid "" -msgstr "" -"Project-Id-Version: dcpp\n" -"Report-Msgid-Bugs-To: dcp...@li...\n" -"POT-Creation-Date: 2008-03-04 23:00+0100\n" -"Last-Translator: <fen...@us...>\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: plurals=2; plural=(n != 1);\n" - -#: dcpp/Util.cpp:381 -#, c-format, boost-format -msgid "%'lld B" -msgstr "" - -#: dcpp/Util.cpp:343 -#, c-format, boost-format -msgid "%.02f GiB" -msgstr "" - -#: dcpp/Util.cpp:339 -#, c-format, boost-format -msgid "%.02f KiB" -msgstr "" - -#: dcpp/Util.cpp:341 -#, c-format, boost-format -msgid "%.02f MiB" -msgstr "" - -#: dcpp/Util.cpp:347 -#, c-format, boost-format -msgid "%.02f PiB" -msgstr "" - -#: dcpp/Util.cpp:345 -#, c-format, boost-format -msgid "%.02f TiB" -msgstr "" - -#: dcpp/AdcHub.cpp:139 -#, boost-format -msgid "%1% (%2%) has same CID {%3%} as %4% (%5%), ignoring" -msgstr "" - -#: dcpp/NmdcHub.cpp:281 -#, boost-format -msgid "%1% (Nick unknown)" -msgstr "" - -#: dcpp/HashManager.cpp:767 -#, boost-format -msgid "" -"%1% not shared; calculated CRC32 does not match the one found in SFV file." -msgstr "" - -#: dcpp/QueueManager.cpp:325 -#, boost-format -msgid "%1% renamed to %2%" -msgstr "" - -#: dcpp/AdcHub.cpp:281 -#, boost-format -msgid "%1% was kicked by %2%: %3%" -msgstr "" - -#: dcpp/AdcHub.cpp:284 -#, boost-format -msgid "%1% was kicked: %2%" -msgstr "" - -#: dcpp/DownloadManager.cpp:530 -#, fuzzy, boost-format -msgid "%1%: File not available" -msgstr "文件不存在" - -#: dcpp/Util.cpp:337 -#, c-format, boost-format -msgid "%d B" -msgstr "" - -#: dcpp/Util.cpp:377 -#, c-format, boost-format -msgid "%s B" -msgstr "" - -#: dcpp/QueueManager.cpp:532 -msgid "A file of equal or larger size already exists at the target location" -msgstr "一个相等或更大的文件已经存在于下载目录中" - -#: dcpp/QueueManager.cpp:475 -msgid "A file with a different size already exists in the queue" -msgstr "存在大小不同的同名文件" - -#: dcpp/QueueManager.cpp:478 -msgid "A file with different tth root already exists in the queue" -msgstr "队列中已经有一个不同 tth root 的文件" - -#: dcpp/QueueManager.cpp:442 -msgid "A file with the same hash already exists in your share" -msgstr "在你的共享中已经有一个相同hash值的文件了" - -#: dcpp/ConnectionManager.cpp:176 -msgid "All download slots taken" -msgstr "对方所有上传通道都已被占用" - -#: dcpp/DownloadManager.cpp:376 -msgid "CRC32 inconsistency (SFV-Check)" -msgstr "CRC32 出错(SFV-Check)" - -#: dcpp/DownloadManager.cpp:374 -#, fuzzy, boost-format -msgid "CRC32 inconsistency (SFV-Check) (File: %1%)" -msgstr "CRC32 出错(SFV-Check)" - -#: dcpp/ConnectionManager.cpp:376 -msgid "Certificate not trusted, unable to connect" -msgstr "" - -#: dcpp/Socket.cpp:154 dcpp/ConnectionManager.cpp:182 -#: dcpp/BufferedSocket.cpp:154 -msgid "Connection timeout" -msgstr "连接超时" - -#: dcpp/DownloadManager.cpp:232 -#, boost-format -msgid "Could not open target file: %1%" -msgstr "" - -#: dcpp/ShareManager.cpp:418 -msgid "Directory already shared" -msgstr "目录已经共享" - -#: dcpp/BufferedSocket.cpp:407 dcpp/BufferedSocket.cpp:426 -msgid "Disconnected" -msgstr "连接中断" - -#: dcpp/UploadManager.cpp:450 -#, boost-format -msgid "Disconnected user leaving the hub: %1%" -msgstr "" - -#: dcpp/DCPlusPlus.cpp:103 -msgid "Download Queue" -msgstr "下载队列" - -#: dcpp/ShareManager.cpp:741 -#, boost-format -msgid "" -"Duplicate file will not be shared: %1%%2% (Size: %3% B) Dupe matched " -"against: %4%%5%" -msgstr "" - -#: dcpp/QueueManager.cpp:545 dcpp/QueueManager.cpp:549 -#, boost-format -msgid "Duplicate source: %1%" -msgstr "" - -#: dcpp/HashManager.cpp:456 -#, boost-format -msgid "Error creating hash data file: %1%" -msgstr "" - -#: dcpp/ZUtils.cpp:33 dcpp/ZUtils.cpp:54 dcpp/ZUtils.cpp:76 dcpp/ZUtils.cpp:86 -#: dcpp/BZUtils.cpp:31 dcpp/BZUtils.cpp:52 dcpp/BZUtils.cpp:60 -msgid "Error during compression" -msgstr "压缩过程发生错误" - -#: dcpp/ZUtils.cpp:100 dcpp/ZUtils.cpp:123 dcpp/BZUtils.cpp:72 -#: dcpp/BZUtils.cpp:94 dcpp/BZUtils.cpp:97 dcpp/CryptoManager.cpp:342 -#: dcpp/CryptoManager.cpp:361 dcpp/CryptoManager.cpp:375 -msgid "Error during decompression" -msgstr "解压缩出错" - -#: dcpp/HashManager.cpp:772 -#, boost-format -msgid "Error hashing %1%: %2%" -msgstr "" - -#: dcpp/HashManager.cpp:118 dcpp/HashManager.cpp:333 -#, boost-format -msgid "Error saving hash data: %1%" -msgstr "" - -#: dcpp/CryptoManager.cpp:226 dcpp/CryptoManager.cpp:230 -#: dcpp/CryptoManager.cpp:235 dcpp/CryptoManager.cpp:239 -msgid "Failed to load certificate file" -msgstr "" - -#: dcpp/CryptoManager.cpp:244 dcpp/CryptoManager.cpp:248 -#: dcpp/CryptoManager.cpp:253 dcpp/CryptoManager.cpp:257 -msgid "Failed to load private key" -msgstr "" - -#: dcpp/AdcHub.cpp:206 -msgid "Failed to negotiate base protocol" -msgstr "" - -#: dcpp/Socket.cpp:408 -msgid "" -"Failed to set up the socks server for UDP relay (check socks address and " -"port)" -msgstr "socks服务器UDP回应失败(检查socks服务器的地址和端口)" - -#: dcpp/ShareManager.cpp:776 -#, fuzzy, boost-format -msgid "File list refresh failed: %1%" -msgstr "文件列表已更新" - -#: dcpp/ShareManager.cpp:820 -msgid "File list refresh finished" -msgstr "文件列表已更新" - -#: dcpp/ShareManager.cpp:756 -msgid "" -"File list refresh in progress, please wait for it to finish before trying to " -"refresh again" -msgstr "" - -#: dcpp/ShareManager.cpp:798 -msgid "File list refresh initiated" -msgstr "文件列表刷新已开始" - -#: dcpp/DirectoryListing.cpp:102 -msgid "File not available" -msgstr "文件不存在" - -#: dcpp/HashManager.cpp:89 -#, boost-format -msgid "Finished hashing: %1%" -msgstr "" - -#: dcpp/HashManager.cpp:87 -#, boost-format -msgid "Finished hashing: %1% (%2%/s)" -msgstr "" - -#: dcpp/DownloadManager.cpp:308 -msgid "Full tree does not match TTH root" -msgstr "已下载的“树”不匹配于 TTH root" - -#: dcpp/CryptoManager.cpp:219 -msgid "Generated new TLS certificate" -msgstr "" - -#: dcpp/DCPlusPlus.cpp:97 -msgid "Hash database" -msgstr "Hash 数据库" - -#: dcpp/HashManager.cpp:677 -msgid "Hash database rebuilt" -msgstr "Hash 数据库已重建" - -#: dcpp/HashManager.cpp:73 dcpp/HashManager.cpp:277 -#, boost-format -msgid "Hashing failed: %1%" -msgstr "" - -#: dcpp/AdcHub.cpp:212 -msgid "" -"Hub probably uses an old version of ADC, please encourage the owner to " -"upgrade" -msgstr "" - -#: dcpp/DownloadManager.cpp:220 -msgid "Invalid size" -msgstr "" - -#: dcpp/QueueManager.cpp:515 dcpp/QueueManager.cpp:523 -msgid "" -"Invalid target file (missing directory, check default download directory " -"setting)" -msgstr "目标文件无法访问(目录已被删除, 请检查缺省的下载地址设置)" - -#: dcpp/FavoriteManager.cpp:438 -msgid "Kick user(s)" -msgstr "踢出该用户" - -#: dcpp/ConnectionManager.cpp:230 -#, boost-format -msgid "Listening socket failed (you need to restart %1%): %2%" -msgstr "" - -#: dcpp/BufferedSocket.cpp:261 -msgid "Maximum command length exceeded" -msgstr "" - -#: dcpp/DownloadManager.cpp:280 -msgid "More data was sent than was expected" -msgstr "发送了比预期更多的数据量" - -#: dcpp/ShareManager.cpp:403 -msgid "No directory specified" -msgstr "没有指定目录" - -#: dcpp/DownloadManager.cpp:419 -msgid "No slots available" -msgstr "对方上传通道都已经满了" - -#: dcpp/AdcHub.cpp:576 -#, boost-format -msgid "Not listening for connections - please restart %1%" -msgstr "" - -#: dcpp/Transfer.cpp:63 dcpp/Transfer.cpp:67 dcpp/ClientManager.cpp:115 -#: dcpp/SearchManager.cpp:267 dcpp/SearchManager.cpp:329 -#: dcpp/SearchManager.cpp:331 -msgid "Offline" -msgstr "离线" - -#: dcpp/FavoriteManager.cpp:442 -msgid "Redirect user(s)" -msgstr "重定向用户" - -#: dcpp/ShareManager.cpp:421 -msgid "Remove all subdirectories before adding this one" -msgstr "增加前先删除所有子文件夹" - -#: dcpp/DownloadManager.cpp:225 -#, fuzzy -msgid "Response does not match request" -msgstr "已下载的“树”不匹配于 TTH root" - -#: dcpp/DCPlusPlus.cpp:100 -msgid "Shared Files" -msgstr "共享文件" - -#: dcpp/Socket.cpp:269 dcpp/Socket.cpp:273 -msgid "Socks server authentication failed (bad login / password?)" -msgstr "Socks代理鉴权失败 (用户名/密码错误?)" - -#: dcpp/CryptoManager.cpp:221 -#, boost-format -msgid "TLS disabled, failed to generate certificate: %1%" -msgstr "" - -#: dcpp/CryptoManager.cpp:211 -msgid "TLS disabled, no certificate file set" -msgstr "" - -#: dcpp/QueueManager.cpp:510 dcpp/QueueManager.cpp:519 -msgid "Target filename too long" -msgstr "目标文件名太长" - -#: dcpp/QueueManager.cpp:798 -msgid "Target removed" -msgstr "" - -#: dcpp/Socket.cpp:255 -msgid "The socks server doesn't support login / password authentication" -msgstr "Socks代理不支持「用户/密码」验证" - -#: dcpp/Socket.cpp:162 dcpp/Socket.cpp:173 dcpp/Socket.cpp:206 -#: dcpp/Socket.cpp:210 dcpp/Socket.cpp:237 dcpp/Socket.cpp:252 -msgid "The socks server failed establish a connection" -msgstr "Socks代理连接失败" - -#: dcpp/Socket.cpp:241 -msgid "The socks server requires authentication" -msgstr "Socks代理需要「用户/密码」验证" - -#: dcpp/ShareManager.cpp:407 -msgid "The temporary download directory cannot be shared" -msgstr "不能共享下载的临时文件目录" - -#: dcpp/QueueManager.cpp:465 -msgid "This file is already queued" -msgstr "" - -#: dcpp/Thread.cpp:34 dcpp/Thread.cpp:42 -msgid "Unable to create thread" -msgstr "不能建立线程" - -#: dcpp/QueueManager.cpp:995 -#, boost-format -msgid "Unable to open filelist: %1%" -msgstr "" - -#: dcpp/HashManager.cpp:131 -#, fuzzy -msgid "Unable to read hash data file" -msgstr "不能建立线程" - -#: dcpp/QueueManager.cpp:327 -#, fuzzy, boost-format -msgid "Unable to rename %1%: %2%" -msgstr "不能建立线程" - -#: dcpp/UploadManager.cpp:149 -#, boost-format -msgid "Unable to send file %1%: %2%" -msgstr "" - -#: dcpp/Socket.cpp:54 -#, c-format, boost-format -msgid "Unknown error: 0x%1$x" -msgstr "" - -#: dcpp/ShareManager.cpp:426 dcpp/ShareManager.cpp:468 -msgid "Virtual directory name already exists" -msgstr "要虚拟的名字已经存在了(不允许重复)" - -#: dcpp/QueueManager.cpp:412 dcpp/QueueManager.cpp:436 -msgid "You're trying to download from yourself!" -msgstr "不能下载自己!" - -#: dcpp/SettingsManager.cpp:156 -msgid "downloaded from" -msgstr "" - -#: dcpp/SettingsManager.cpp:157 -msgid "uploaded to" -msgstr "" Copied: dcplusplus/trunk/dcpp/po/zh_CN.po (from rev 1033, dcplusplus/trunk/dcpp/po/zh.po) =================================================================== --- dcplusplus/trunk/dcpp/po/zh_CN.po (rev 0) +++ dcplusplus/trunk/dcpp/po/zh_CN.po 2008-03-12 21:40:53 UTC (rev 1036) @@ -0,0 +1,419 @@ +# Chinese translations for the DC++ package. +# Copyright (C) 2008 The translators +# This file is distributed under the same license as the DC++ package. +# <fen...@us...>, 2008. +# +msgid "" +msgstr "" +"Project-Id-Version: dcpp\n" +"Report-Msgid-Bugs-To: dcp...@li...\n" +"POT-Creation-Date: 2008-03-04 23:00+0100\n" +"Last-Translator: <fen...@us...>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: plurals=2; plural=(n != 1);\n" + +#: dcpp/Util.cpp:381 +#, c-format, boost-format +msgid "%'lld B" +msgstr "" + +#: dcpp/Util.cpp:343 +#, c-format, boost-format +msgid "%.02f GiB" +msgstr "" + +#: dcpp/Util.cpp:339 +#, c-format, boost-format +msgid "%.02f KiB" +msgstr "" + +#: dcpp/Util.cpp:341 +#, c-format, boost-format +msgid "%.02f MiB" +msgstr "" + +#: dcpp/Util.cpp:347 +#, c-format, boost-format +msgid "%.02f PiB" +msgstr "" + +#: dcpp/Util.cpp:345 +#, c-format, boost-format +msgid "%.02f TiB" +msgstr "" + +#: dcpp/AdcHub.cpp:139 +#, boost-format +msgid "%1% (%2%) has same CID {%3%} as %4% (%5%), ignoring" +msgstr "" + +#: dcpp/NmdcHub.cpp:281 +#, boost-format +msgid "%1% (Nick unknown)" +msgstr "" + +#: dcpp/HashManager.cpp:767 +#, boost-format +msgid "" +"%1% not shared; calculated CRC32 does not match the one found in SFV file." +msgstr "" + +#: dcpp/QueueManager.cpp:325 +#, boost-format +msgid "%1% renamed to %2%" +msgstr "" + +#: dcpp/AdcHub.cpp:281 +#, boost-format +msgid "%1% was kicked by %2%: %3%" +msgstr "" + +#: dcpp/AdcHub.cpp:284 +#, boost-format +msgid "%1% was kicked: %2%" +msgstr "" + +#: dcpp/DownloadManager.cpp:530 +#, fuzzy, boost-format +msgid "%1%: File not available" +msgstr "文件不存在" + +#: dcpp/Util.cpp:337 +#, c-format, boost-format +msgid "%d B" +msgstr "" + +#: dcpp/Util.cpp:377 +#, c-format, boost-format +msgid "%s B" +msgstr "" + +#: dcpp/QueueManager.cpp:532 +msgid "A file of equal or larger size already exists at the target location" +msgstr "一个相等或更大的文件已经存在于下载目录中" + +#: dcpp/QueueManager.cpp:475 +msgid "A file with a different size already exists in the queue" +msgstr "存在大小不同的同名文件" + +#: dcpp/QueueManager.cpp:478 +msgid "A file with different tth root already exists in the queue" +msgstr "队列中已经有一个不同 tth root 的文件" + +#: dcpp/QueueManager.cpp:442 +msgid "A file with the same hash already exists in your share" +msgstr "在你的共享中已经有一个相同hash值的文件了" + +#: dcpp/ConnectionManager.cpp:176 +msgid "All download slots taken" +msgstr "对方所有上传通道都已被占用" + +#: dcpp/DownloadManager.cpp:376 +msgid "CRC32 inconsistency (SFV-Check)" +msgstr "CRC32 出错(SFV-Check)" + +#: dcpp/DownloadManager.cpp:374 +#, fuzzy, boost-format +msgid "CRC32 inconsistency (SFV-Check) (File: %1%)" +msgstr "CRC32 出错(SFV-Check)" + +#: dcpp/ConnectionManager.cpp:376 +msgid "Certificate not trusted, unable to connect" +msgstr "" + +#: dcpp/Socket.cpp:154 dcpp/ConnectionManager.cpp:182 +#: dcpp/BufferedSocket.cpp:154 +msgid "Connection timeout" +msgstr "连接超时" + +#: dcpp/DownloadManager.cpp:232 +#, boost-format +msgid "Could not open target file: %1%" +msgstr "" + +#: dcpp/ShareManager.cpp:418 +msgid "Directory already shared" +msgstr "目录已经共享" + +#: dcpp/BufferedSocket.cpp:407 dcpp/BufferedSocket.cpp:426 +msgid "Disconnected" +msgstr "连接中断" + +#: dcpp/UploadManager.cpp:450 +#, boost-format +msgid "Disconnected user leaving the hub: %1%" +msgstr "" + +#: dcpp/DCPlusPlus.cpp:103 +msgid "Download Queue" +msgstr "下载队列" + +#: dcpp/ShareManager.cpp:741 +#, boost-format +msgid "" +"Duplicate file will not be shared: %1%%2% (Size: %3% B) Dupe matched " +"against: %4%%5%" +msgstr "" + +#: dcpp/QueueManager.cpp:545 dcpp/QueueManager.cpp:549 +#, boost-format +msgid "Duplicate source: %1%" +msgstr "" + +#: dcpp/HashManager.cpp:456 +#, boost-format +msgid "Error creating hash data file: %1%" +msgstr "" + +#: dcpp/ZUtils.cpp:33 dcpp/ZUtils.cpp:54 dcpp/ZUtils.cpp:76 dcpp/ZUtils.cpp:86 +#: dcpp/BZUtils.cpp:31 dcpp/BZUtils.cpp:52 dcpp/BZUtils.cpp:60 +msgid "Error during compression" +msgstr "压缩过程发生错误" + +#: dcpp/ZUtils.cpp:100 dcpp/ZUtils.cpp:123 dcpp/BZUtils.cpp:72 +#: dcpp/BZUtils.cpp:94 dcpp/BZUtils.cpp:97 dcpp/CryptoManager.cpp:342 +#: dcpp/CryptoManager.cpp:361 dcpp/CryptoManager.cpp:375 +msgid "Error during decompression" +msgstr "解压缩出错" + +#: dcpp/HashManager.cpp:772 +#, boost-format +msgid "Error hashing %1%: %2%" +msgstr "" + +#: dcpp/HashManager.cpp:118 dcpp/HashManager.cpp:333 +#, boost-format +msgid "Error saving hash data: %1%" +msgstr "" + +#: dcpp/CryptoManager.cpp:226 dcpp/CryptoManager.cpp:230 +#: dcpp/CryptoManager.cpp:235 dcpp/CryptoManager.cpp:239 +msgid "Failed to load certificate file" +msgstr "" + +#: dcpp/CryptoManager.cpp:244 dcpp/CryptoManager.cpp:248 +#: dcpp/CryptoManager.cpp:253 dcpp/CryptoManager.cpp:257 +msgid "Failed to load private key" +msgstr "" + +#: dcpp/AdcHub.cpp:206 +msgid "Failed to negotiate base protocol" +msgstr "" + +#: dcpp/Socket.cpp:408 +msgid "" +"Failed to set up the socks server for UDP relay (check socks address and " +"port)" +msgstr "socks服务器UDP回应失败(检查socks服务器的地址和端口)" + +#: dcpp/ShareManager.cpp:776 +#, fuzzy, boost-format +msgid "File list refresh failed: %1%" +msgstr "文件列表已更新" + +#: dcpp/ShareManager.cpp:820 +msgid "File list refresh finished" +msgstr "文件列表已更新" + +#: dcpp/ShareManager.cpp:756 +msgid "" +"File list refresh in progress, please wait for it to finish before trying to " +"refresh again" +msgstr "" + +#: dcpp/ShareManager.cpp:798 +msgid "File list refresh initiated" +msgstr "文件列表刷新已开始" + +#: dcpp/DirectoryListing.cpp:102 +msgid "File not available" +msgstr "文件不存在" + +#: dcpp/HashManager.cpp:89 +#, boost-format +msgid "Finished hashing: %1%" +msgstr "" + +#: dcpp/HashManager.cpp:87 +#, boost-format +msgid "Finished hashing: %1% (%2%/s)" +msgstr "" + +#: dcpp/DownloadManager.cpp:308 +msgid "Full tree does not match TTH root" +msgstr "已下载的“树”不匹配于 TTH root" + +#: dcpp/CryptoManager.cpp:219 +msgid "Generated new TLS certificate" +msgstr "" + +#: dcpp/DCPlusPlus.cpp:97 +msgid "Hash database" +msgstr "Hash 数据库" + +#: dcpp/HashManager.cpp:677 +msgid "Hash database rebuilt" +msgstr "Hash 数据库已重建" + +#: dcpp/HashManager.cpp:73 dcpp/HashManager.cpp:277 +#, boost-format +msgid "Hashing failed: %1%" +msgstr "" + +#: dcpp/AdcHub.cpp:212 +msgid "" +"Hub probably uses an old version of ADC, please encourage the owner to " +"upgrade" +msgstr "" + +#: dcpp/DownloadManager.cpp:220 +msgid "Invalid size" +msgstr "" + +#: dcpp/QueueManager.cpp:515 dcpp/QueueManager.cpp:523 +msgid "" +"Invalid target file (missing directory, check default download directory " +"setting)" +msgstr "目标文件无法访问(目录已被删除, 请检查缺省的下载地址设置)" + +#: dcpp/FavoriteManager.cpp:438 +msgid "Kick user(s)" +msgstr "踢出该用户" + +#: dcpp/ConnectionManager.cpp:230 +#, boost-format +msgid "Listening socket failed (you need to restart %1%): %2%" +msgstr "" + +#: dcpp/BufferedSocket.cpp:261 +msgid "Maximum command length exceeded" +msgstr "" + +#: dcpp/DownloadManager.cpp:280 +msgid "More data was sent than was expected" +msgstr "发送了比预期更多的数据量" + +#: dcpp/ShareManager.cpp:403 +msgid "No directory specified" +msgstr "没有指定目录" + +#: dcpp/DownloadManager.cpp:419 +msgid "No slots available" +msgstr "对方上传通道都已经满了" + +#: dcpp/AdcHub.cpp:576 +#, boost-format +msgid "Not listening for connections - please restart %1%" +msgstr "" + +#: dcpp/Transfer.cpp:63 dcpp/Transfer.cpp:67 dcpp/ClientManager.cpp:115 +#: dcpp/SearchManager.cpp:267 dcpp/SearchManager.cpp:329 +#: dcpp/SearchManager.cpp:331 +msgid "Offline" +msgstr "离线" + +#: dcpp/FavoriteManager.cpp:442 +msgid "Redirect user(s)" +msgstr "重定向用户" + +#: dcpp/ShareManager.cpp:421 +msgid "Remove all subdirectories before adding this one" +msgstr "增加前先删除所有子文件夹" + +#: dcpp/DownloadManager.cpp:225 +#, fuzzy +msgid "Response does not match request" +msgstr "已下载的“树”不匹配于 TTH root" + +#: dcpp/DCPlusPlus.cpp:100 +msgid "Shared Files" +msgstr "共享文件" + +#: dcpp/Socket.cpp:269 dcpp/Socket.cpp:273 +msgid "Socks server authentication failed (bad login / password?)" +msgstr "Socks代理鉴权失败 (用户名/密码错误?)" + +#: dcpp/CryptoManager.cpp:221 +#, boost-format +msgid "TLS disabled, failed to generate certificate: %1%" +msgstr "" + +#: dcpp/CryptoManager.cpp:211 +msgid "TLS disabled, no certificate file set" +msgstr "" + +#: dcpp/QueueManager.cpp:510 dcpp/QueueManager.cpp:519 +msgid "Target filename too long" +msgstr "目标文件名太长" + +#: dcpp/QueueManager.cpp:798 +msgid "Target removed" +msgstr "" + +#: dcpp/Socket.cpp:255 +msgid "The socks server doesn't support login / password authentication" +msgstr "Socks代理不支持「用户/密码」验证" + +#: dcpp/Socket.cpp:162 dcpp/Socket.cpp:173 dcpp/Socket.cpp:206 +#: dcpp/Socket.cpp:210 dcpp/Socket.cpp:237 dcpp/Socket.cpp:252 +msgid "The socks server failed establish a connection" +msgstr "Socks代理连接失败" + +#: dcpp/Socket.cpp:241 +msgid "The socks server requires authentication" +msgstr "Socks代理需要「用户/密码」验证" + +#: dcpp/ShareManager.cpp:407 +msgid "The temporary download directory cannot be shared" +msgstr "不能共享下载的临时文件目录" + +#: dcpp/QueueManager.cpp:465 +msgid "This file is already queued" +msgstr "" + +#: dcpp/Thread.cpp:34 dcpp/Thread.cpp:42 +msgid "Unable to create thread" +msgstr "不能建立线程" + +#: dcpp/QueueManager.cpp:995 +#, boost-format +msgid "Unable to open filelist: %1%" +msgstr "" + +#: dcpp/HashManager.cpp:131 +#, fuzzy +msgid "Unable to read hash data file" +msgstr "不能建立线程" + +#: dcpp/QueueManager.cpp:327 +#, fuzzy, boost-format +msgid "Unable to rename %1%: %2%" +msgstr "不能建立线程" + +#: dcpp/UploadManager.cpp:149 +#, boost-format +msgid "Unable to send file %1%: %2%" +msgstr "" + +#: dcpp/Socket.cpp:54 +#, c-format, boost-format +msgid "Unknown error: 0x%1$x" +msgstr "" + +#: dcpp/ShareManager.cpp:426 dcpp/ShareManager.cpp:468 +msgid "Virtual directory name already exists" +msgstr "要虚拟的名字已经存在了(不允许重复)" + +#: dcpp/QueueManager.cpp:412 dcpp/QueueManager.cpp:436 +msgid "You're trying to download from yourself!" +msgstr "不能下载自己!" + +#: dcpp/SettingsManager.cpp:156 +msgid "downloaded from" +msgstr "" + +#: dcpp/SettingsManager.cpp:157 +msgid "uploaded to" +msgstr "" Added: dcplusplus/trunk/mingwm10.dll =================================================================== (Binary files differ) Property changes on: dcplusplus/trunk/mingwm10.dll ___________________________________________________________________ Name: svn:executable + * Name: svn:mime-type + application/octet-stream Modified: dcplusplus/trunk/release.sh =================================================================== --- dcplusplus/trunk/release.sh 2008-03-12 20:53:16 UTC (rev 1035) +++ dcplusplus/trunk/release.sh 2008-03-12 21:40:53 UTC (rev 1036) @@ -5,7 +5,7 @@ i686-mingw32-strip DCPlusPlus.exe #copy /b app\dcplusplus.chm . -zip -9 DCPlusPlus-$1.zip changelog.txt dcppboot.xml DCPlusPlus.chm DCPlusPlus.exe Example.xml License.txt LICENSE-GeoIP.txt LICENSE-OpenSSL.txt magnet.exe GeoIPCountryWhois.csv +zip -9 DCPlusPlus-$1.zip changelog.txt dcppboot.xml DCPlusPlus.chm DCPlusPlus.exe Example.xml License.txt LICENSE-GeoIP.txt LICENSE-OpenSSL.txt magnet.exe GeoIPCountryWhois.csv mingwm10.dll find *.txt *.TXT *.nsi *.xml *.py *.csv *.sh magnet.exe Doxyfile SConstruct boost bzip2 dcpp help htmlhelp res smartwin win32 openssl zlib \ -wholename "*/.svn" -prune -o -print | grep -v gch$ | zip -9 DCPlusPlus-$1-src.zip -9 -@ Deleted: dcplusplus/trunk/win32/po/zh.po =================================================================== --- dcplusplus/trunk/win32/po/zh.po 2008-03-12 20:53:16 UTC (rev 1035) +++ dcplusplus/trunk/win32/po/zh.po 2008-03-12 21:40:53 UTC (rev 1036) @@ -1,2290 +0,0 @@ -# Chinese translations for the DC++ package. -# Copyright (C) 2008 The translators -# This file is distributed under the same license as the DC++ package. -# <fen...@us...>, 2008. -# -msgid "" -msgstr "" -"Project-Id-Version: win32\n" -"Report-Msgid-Bugs-To: dcp...@li...\n" -"POT-Creation-Date: 2008-03-04 23:00+0100\n" -"Last-Translator: <fen...@us...>\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: plurals=2; plural=(n != 1);\n" - -#: win32/MainWindow.cpp:862 -#, fuzzy, boost-format -msgid "" -"%1%\n" -"Open download page?" -msgstr "打开下载目录" - -#: win32/TransferView.cpp:571 -#, boost-format -msgid "%1% (%2$0.2f)" -msgstr "" - -#: win32/HashProgressDlg.cpp:91 -#, boost-format -msgid "%1% files/h, %2% files left" -msgstr "" - -#: win32/SearchFrame.cpp:576 -#, boost-format -msgid "%1% filtered" -msgstr "" - -#: win32/SearchFrame.cpp:571 -#, boost-format -msgid "%1% item" -msgid_plural "%1% items" -msgstr[0] "" -msgstr[1] "" - -#: win32/HashProgressDlg.cpp:100 -#, boost-format -msgid "%1% left" -msgstr "" - -#: win32/HubFrame.cpp:927 -#, fuzzy, boost-format -msgid "%1% user" -msgid_plural "%1% users" -msgstr[0] "没有用户" -msgstr[1] "没有用户" - -#: win32/TransferView.cpp:586 win32/TransferView.cpp:633 -#, boost-format -msgid "%1%/s" -msgstr "" - -#: win32/HashProgressDlg.cpp:92 -#, boost-format -msgid "%1%/s, %2% left" -msgstr "" - -#: win32/HubListsDlg.cpp:63 win32/UCPage.cpp:33 -#, fuzzy -msgid "&Add" -msgstr "已添加" - -#: win32/UploadPage.cpp:37 win32/FavoriteDirsPage.cpp:34 -msgid "&Add folder" -msgstr "" - -#: win32/DirectoryListingFrame.cpp:369 win32/SearchFrame.cpp:774 -#: win32/SearchFrame.cpp:804 win32/DownloadPage.cpp:32 win32/LogPage.cpp:33 -#: win32/Appearance2Page.cpp:30 -#, fuzzy -msgid "&Browse..." -msgstr "浏览到" - -#: win32/UCPage.cpp:34 -#, fuzzy -msgid "&Change" -msgstr "更新记录" - -#: win32/PrivateFrame.cpp:388 win32/HubFrame.cpp:1178 -#, fuzzy -msgid "&Close" -msgstr "颜色" - -#: win32/PublicHubsFrame.cpp:150 -msgid "&Configure" -msgstr "" - -#: win32/FavHubsFrame.cpp:72 win32/FavHubsFrame.cpp:278 -#: win32/PublicHubsFrame.cpp:448 -#, fuzzy -msgid "&Connect" -msgstr "已连接" - -#: win32/TransferView.cpp:199 -#, fuzzy -msgid "&Disconnect" -msgstr "快速连接" - -#: win32/DirectoryListingFrame.cpp:311 win32/DirectoryListingFrame.cpp:336 -#: win32/DirectoryListingFrame.cpp:348 win32/SearchFrame.cpp:742 -#, fuzzy -msgid "&Download" -msgstr "下载" - -#: win32/MainWindow.cpp:214 -#, fuzzy -msgid "&Download Queue\tCtrl+D" -msgstr "下载队列" - -#: win32/HubListsDlg.cpp:75 -msgid "&Edit" -msgstr "" - -#: win32/MainWindow.cpp:211 -#, fuzzy -msgid "&Favorite Hubs\tCtrl+F" -msgstr "站点收藏夹" - -#: win32/MainWindow.cpp:188 -#, fuzzy -msgid "&File" -msgstr "文件" - -#: win32/TransferView.cpp:196 -msgid "&Force attempt" -msgstr "" - -#: win32/QueueFrame.cpp:1006 win32/WaitingUsersFrame.cpp:80 -#: win32/PrivateFrame.cpp:380 -msgid "&Get file list" -msgstr "" - -#: win32/DirectoryListingFrame.cpp:325 -#, fuzzy -msgid "&Go to directory" -msgstr "下载整个目录" - -#: win32/MainWindow.cpp:240 win32/ADLSearchFrame.cpp:93 -msgid "&Help" -msgstr "" - -#: win32/PrivateFrame.cpp:381 -#, fuzzy -msgid "&Match queue" -msgstr "队列匹配" - -#: win32/QueueFrame.cpp:960 win32/QueueFrame.cpp:978 win32/QueueFrame.cpp:988 -#, fuzzy -msgid "&Move/Rename" -msgstr "重命名" - -#: win32/FavHubsFrame.cpp:77 win32/FavHubsFrame.cpp:280 -#: win32/ADLSearchFrame.cpp:68 win32/ADLSearchFrame.cpp:291 -msgid "&New..." -msgstr "" - -#: win32/MainWindow.cpp:223 -#, fuzzy -msgid "&Notepad\tCtrl+N" -msgstr "记事本" - -#: win32/FavHubsFrame.cpp:82 win32/FavHubsFrame.cpp:281 -#: win32/ADLSearchFrame.cpp:73 win32/ADLSearchFrame.cpp:292 -#: win32/UsersFrame.cpp:186 -#, fuzzy -msgid "&Properties" -msgstr "ADL搜索选项 (ADLSearch Properties)" - -#: win32/MainWindow.cpp:210 -#, fuzzy -msgid "&Public Hubs\tCtrl+P" -msgstr "服务器列表" - -#: win32/MainWindow.cpp:190 -#, fuzzy -msgid "&Quick Connect ...\tCtrl+Q" -msgstr "快速连接" - -#: win32/MainWindow.cpp:192 win32/HubFrame.cpp:1173 -msgid "&Reconnect\tCtrl+R" -msgstr "" - -#: win32/PublicHubsFrame.cpp:156 -msgid "&Refresh" -msgstr "" - -#: win32/UploadPage.cpp:36 win32/QueueFrame.cpp:968 win32/QueueFrame.cpp:980 -#: win32/QueueFrame.cpp:990 win32/HubListsDlg.cpp:79 -#: win32/WaitingUsersFrame.cpp:82 win32/FavoriteDirsPage.cpp:33 -#: win32/SearchFrame.cpp:755 win32/FavHubsFrame.cpp:97 -#: win32/FavHubsFrame.cpp:285 win32/ADLSearchFrame.cpp:88 -#: win32/ADLSearchFrame.cpp:293 win32/UCPage.cpp:35 win32/UsersFrame.cpp:187 -#, fuzzy -msgid "&Remove" -msgstr "重命名" - -#: win32/SpyFrame.cpp:189 -#, fuzzy -msgid "&Search" -msgstr "搜索" - -#: win32/MainWindow.cpp:219 -#, fuzzy -msgid "&Search\tCtrl+S" -msgstr "搜索" - -#: win32/QueueFrame.cpp:1013 win32/WaitingUsersFrame.cpp:85 -msgid "&Send private message" -msgstr "" - -#: win32/MainWindow.cpp:208 -#, fuzzy -msgid "&View" -msgstr "视频" - -#: win32/DirectoryListingFrame.cpp:315 win32/SearchFrame.cpp:746 -msgid "&View as text" -msgstr "" - -#: win32/MainWindow.cpp:230 -msgid "&Window" -msgstr "" - -#: win32/HubFrame.cpp:487 -#, boost-format -msgid "*** Joins: %1%" -msgstr "" - -#: win32/HubFrame.cpp:494 -#, boost-format -msgid "*** Parts: %1%" -msgstr "" - -#: win32/HashProgressDlg.cpp:84 -#, boost-format -msgid "-.-- B/s, %1% left" -msgstr "" - -#: win32/HashProgressDlg.cpp:83 -#, boost-format -msgid "-.-- files/h, %1% files left" -msgstr "" - -#: win32/WinUtil.cpp:1036 -msgid "" -"A MAGNET link was given to DC++, but it didn't contain a valid file hash for " -"use on the Direct Connect network. No action will be taken." -msgstr "" -"一个MAGNET链接已经加给DC++, 但是它不包含一个在DC网络上可用的hash值. 没有动作" -"执行." - -#: win32/MainWindow.cpp:220 win32/MainWindow.cpp:294 -msgid "ADL Search" -msgstr "ADL 搜索" - -#: win32/ADLSProperties.cpp:49 -msgid "ADLSearch Properties" -msgstr "ADL搜索选项 (ADLSearch Properties)" - -#: win32/MainWindow.cpp:305 win32/MainWindow.cpp:564 -msgid "AWAY" -msgstr "离开" - -#: win32/MainWindow.cpp:245 -msgid "About DC++..." -msgstr "关于 DC++...(fenxiang汉化)" - -#: win32/AdvancedPage.cpp:43 -msgid "Accept custom user commands from hub" -msgstr "接受站点的自定义用户命令" - -#: win32/WaitingUsersFrame.cpp:84 win32/PrivateFrame.cpp:384 -#: win32/HubFrame.cpp:1170 win32/PublicHubsFrame.cpp:449 -#, fuzzy -msgid "Add To &Favorites" -msgstr "站点收藏夹" - -#: win32/AdvancedPage.cpp:45 -msgid "Add finished files to share instantly (if shared)" -msgstr "立刻把完成的文件加到共享(如果已加为共享)" - -#: win32/QueueFrame.cpp:45 -msgid "Added" -msgstr "已添加" - -#: win32/MainWindow.cpp:358 win32/PublicHubsFrame.cpp:52 -msgid "Address" -msgstr "服务器地址" - -#: win32/SettingsDialog.cpp:67 -msgid "Advanced" -msgstr "高级" - -#: win32/SettingsDialog.cpp:69 -msgid "Advanced\\Experts only" -msgstr "" - -#: win32/SettingsDialog.cpp:68 -#, fuzzy -msgid "Advanced\\Logs" -msgstr "高级" - -#: win32/SettingsDialog.cpp:71 -msgid "Advanced\\Security Certificates" -msgstr "" - -#: win32/SettingsDialog.cpp:70 -msgid "Advanced\\User Commands" -msgstr "" - -#: win32/QueueFrame.cpp:1022 win32/QueueFrame.cpp:1031 -msgid "All" -msgstr "全部" - -#: win32/QueueFrame.cpp:431 -#, fuzzy, boost-format -msgid "All %1% users offline" -msgstr "用户离线中" - -#: win32/CertificatesPage.cpp:43 -msgid "Allow TLS connections to clients without trusted certificate" -msgstr "" - -#: win32/CertificatesPage.cpp:42 -msgid "Allow TLS connections to hubs without trusted certificate" -msgstr "" - -#: win32/CommandDlg.cpp:117 -msgid "Always open help file with this dialog" -msgstr "总是在出现此对话框时打开帮助文件" - -#: win32/SearchFrame.cpp:182 win32/HubFrame.cpp:119 -#: win32/PublicHubsFrame.cpp:138 -msgid "Any" -msgstr "任意" - -#: win32/SettingsDialog.cpp:63 -msgid "Appearance" -msgstr "外观" - -#: win32/SettingsDialog.cpp:64 -msgid "Appearance\\Colors and sounds" -msgstr "" - -#: win32/SettingsDialog.cpp:65 -#, fuzzy -msgid "Appearance\\Tabs" -msgstr "外观" - -#: win32/SettingsDialog.cpp:66 -#, fuzzy -msgid "Appearance\\Windows" -msgstr "外观" - -#: win32/SearchFrame.cpp:156 -msgid "At least" -msgstr "最少" - -#: win32/SearchFrame.cpp:157 -msgid "At most" -msgstr "最多" - -#: win32/SearchFrame.cpp:183 -msgid "Audio" -msgstr "声音" - -#: win32/FavHubsFrame.cpp:32 -msgid "Auto connect / Name" -msgstr "是否自动连接 / 服务器(HUB)名称" - -#: win32/UsersFrame.cpp:30 -msgid "Auto grant slot / Nick" -msgstr "自动打开额外通道/用户昵称" - -#: win32/QueuePage.cpp:28 -msgid "Auto priority settings" -msgstr "" - -#: win32/Advanced3Page.cpp:40 -msgid "Auto refresh time" -msgstr "" - -#: win32/AdvancedPage.cpp:30 -msgid "Auto-away on minimize (and back on restore)" -msgstr "最小化时离开(复原时回来)" - -#: win32/WindowsPage.cpp:30 -msgid "Auto-open at startup" -msgstr "启动时自动打开" - -#: win32/Advanced3Page.cpp:41 -msgid "Auto-search limit" -msgstr "" - -#: win32/QueuePage.cpp:37 -#, fuzzy -msgid "Autodrop settings" -msgstr "连接设置" - -#: win32/QueuePage.cpp:69 -msgid "Autodrop slow sources for all queue items (except filelists)" -msgstr "" - -#: win32/ADLSearchFrame.cpp:40 -msgid "Automatic Directory Listing Search" -msgstr "ADL搜索" - -#: win32/AdvancedPage.cpp:37 -msgid "Automatically disconnect users who leave the hub" -msgstr "自动断开离线用户(当站点关闭/你离开的时候不断开)" - -#: win32/AdvancedPage.cpp:31 -msgid "Automatically follow redirects" -msgstr "自动跟随重定向" - -#: win32/QueuePage.cpp:73 -msgid "Automatically match queue for auto search hits" -msgstr "将自动搜索到的结果自动进行队列匹配" - -#: win32/UploadPage.cpp:39 -msgid "Automatically open an extra slot if speed is below (0 = disable)" -msgstr "当速度低于此值时自动打开额外通道 (0 = 禁用)" - -#: win32/QueuePage.cpp:72 -msgid "Automatically search for alternative download locations" -msgstr "自动搜索其他下载位置" - -#: win32/SpyFrame.cpp:115 -#, boost-format -msgid "Average/s: %1%" -msgstr "" - -#: win32/WinUtil.cpp:274 win32/WinUtil.cpp:284 -msgid "Away mode off" -msgstr "关闭离开状态" - -#: win32/WinUtil.cpp:279 -#, fuzzy, boost-format -msgid "Away mode on: %1%" -msgstr "关闭离开状态" - -#: win32/Advanced3Page.cpp:28 win32/SearchFrame.cpp:171 -#: win32/ADLSProperties.cpp:74 -msgid "B" -msgstr "B" - -#: win32/QueuePage.cpp:39 -#, fuzzy -msgid "B/s" -msgstr "KiB/s" - -#: win32/Advanced3Page.cpp:37 -msgid "Bind address" -msgstr "Bind地址" - -#: win32/AdvancedPage.cpp:41 -msgid "Break on first ADLSearch match" -msgstr "ADL搜索中得到第一个匹配文件后停止" - -#: win32/DownloadPage.cpp:34 -msgid "Browse..." -msgstr "浏览到" - -#: win32/SearchFrame.cpp:43 win32/HubFrame.cpp:44 win32/UsersFrame.cpp:34 -msgid "CID" -msgstr "" - -#: win32/QueueFrame.cpp:477 -msgid "CRC32 inconsistency (SFV-Check)" -msgstr "CRC32 出错(SFV-Check)" - -#: win32/MainWindow.cpp:244 -msgid "Change Log" -msgstr "更新记录" - -#: win32/CommandDlg.cpp:82 -msgid "Chat" -msgstr "聊天(Chat)" - -#: win32/QueuePage.cpp:40 -msgid "Check every" -msgstr "" - -#: win32/WinUtil.cpp:423 -msgid "Choose folder" -msgstr "选择文件夹" - -#: win32/TransferView.cpp:45 -#, fuzzy -msgid "Chunk" -msgstr "统计" - -#: win32/TransferView.cpp:48 -msgid "Cipher" -msgstr "" - -#: win32/AdvancedPage.cpp:32 -msgid "Clear search box after each search" -msgstr "每次搜索后清除搜索框" - -#: win32/MainWindow.cpp:233 -msgid "Close all PM windows" -msgstr "" - -#: win32/MainWindow.cpp:235 -msgid "Close all file list windows" -msgstr "" - -#: win32/MainWindow.cpp:234 -msgid "Close all offline PM windows" -msgstr "" - -#: win32/MainWindow.cpp:236 -msgid "Close all search windows" -msgstr "" - -#: win32/MainWindow.cpp:232 -msgid "Close disconnected" -msgstr "关闭已断开的站点" - -#: win32/Appearance2Page.cpp:31 -msgid "Colors" -msgstr "颜色" - -#: win32/UCPage.cpp:54 -msgid "Command" -msgstr "命令" - -#: win32/SearchFrame.cpp:184 -msgid "Compressed" -msgstr "压缩" - -#: win32/DownloadPage.cpp:41 -msgid "Configure Public Hub Lists" -msgstr "设定公众服务器列表" - -#: win32/HubListsDlg.cpp:43 win32/PublicHubsFrame.cpp:164 -msgid "Configured Public Hub Lists" -msgstr "设定的公众服务器列表" - -#: win32/WindowsPage.cpp:66 -msgid "Confirm application exit" -msgstr "确认关闭程序" - -#: win32/WindowsPage.cpp:32 -#, fuzzy -msgid "Confirm dialog options" -msgstr "窗口选项" - -#: win32/WindowsPage.cpp:67 -msgid "Confirm favorite hub removal" -msgstr "移除收藏的站点时需要确认" - -#: win32/WindowsPage.cpp:68 -msgid "Confirm item removal in download queue" -msgstr "在下载队列中移动项目时需要确认" - -#: win32/HubFrame.cpp:497 -msgid "Connected" -msgstr "已连接" - -#: win32/TransferView.cpp:642 win32/TransferView.cpp:649 -#, fuzzy -msgid "Connecting" -msgstr "连接方式" - -#: win32/TransferView.cpp:283 -#, fuzzy -msgid "Connecting (forced)" -msgstr "已连接" - -#: win32/HubFrame.cpp:823 -#, fuzzy, boost-format -msgid "Connecting to %1%..." -msgstr "连接方式" - -#: win32/SearchFrame.cpp:38 win32/HubFrame.cpp:41 -msgid "Connection" -msgstr "连接方式" - -#: win32/SettingsDialog.cpp:58 -msgid "Connection settings" -msgstr "连接设置" - -#: win32/TransferView.cpp:83 win32/TransferView.cpp:89 -#, fuzzy -msgid "Connections" -msgstr "连接方式" - -#: win32/HubFrame.cpp:1174 win32/PublicHubsFrame.cpp:450 -#, fuzzy -msgid "Copy &address to clipboard" -msgstr "复制magnet链接" - -#: win32/TransferView.cpp:197 win32/HubFrame.cpp:1152 -#, fuzzy -msgid "Copy &nick to clipboard" -msgstr "复制magnet链接" - -#: win32/WaitingUsersFrame.cpp:81 -#, fuzzy -msgid "Copy Filename" -msgstr "文件名" - -#: win32/WinUtil.cpp:373 -msgid "Copy magnet link to clipboard" -msgstr "复制magnet链接" - -#: win32/SpyFrame.cpp:35 -msgid "Count" -msgstr "统计" - -#: win32/PublicHubsFrame.cpp:53 -msgid "Country" -msgstr "国家" - -#: win32/CommandDlg.cpp:63 -msgid "Create / Modify Command" -msgstr "创建和修改用户命令 (Create / Modify User Command)" - -#: win32/HashProgressDlg.cpp:40 -msgid "Creating file index..." -msgstr "正在建立文件索引..." - -#: win32/MainWindow.cpp:567 -#, boost-format -msgid "D: %1%" -msgstr "" - -#: win32/MainWindow.cpp:569 -#, boost-format -msgid "D: %1%/s (%2%)" -msgstr "" - -#: win32/WinUtil.cpp:830 -msgid "DC++" -msgstr "DC++" - -#: win32/MainWindow.cpp:247 -msgid "DC++ Homepage" -msgstr "DC++ 主页" - -#: win32/MainWindow.cpp:252 -msgid "DC++ discussion forum" -msgstr "DC++ 论坛" - -#: win32/AppearancePage.cpp:86 win32/AppearancePage.cpp:113 -msgid "Default" -msgstr "" - -#: win32/AppearancePage.cpp:32 -msgid "Default away message" -msgstr "默认的离开信息 (Default away message)" - -#: win32/DownloadPage.cpp:31 -msgid "Default download directory" -msgstr "默认下载位置 (Default download directory)" - -#: win32/GeneralPage.cpp:31 win32/FavHubsFrame.cpp:33 win32/HubFrame.cpp:39 -#: win32/PublicHubsFrame.cpp:50 win32/UsersFrame.cpp:33 -#: win32/UsersFrame.cpp:143 -msgid "Description" -msgstr "描述" - -#: win32/ADLSearchFrame.cpp:34 -msgid "Destination Directory" -msgstr "归类目录名" - -#: win32/NetworkPage.cpp:30 win32/NetworkPage.cpp:31 -#, fuzzy -msgid "Direct connection" -msgstr "连接方式" - -#: win32/DownloadPage.cpp:30 -msgid "Directories" -msgstr "目录 (Directories)" - -#: win32/UploadPage.cpp:64 win32/FavoriteDirsPage.cpp:49 -#: win32/SearchFrame.cpp:189 win32/SearchFrame.cpp:530 win32/LogPage.cpp:32 -#: win32/ADLSProperties.cpp:63 -msgid "Directory" -msgstr "目录" - -#: win32/FavoriteDirsPage.cpp:126 win32/FavoriteDirsPage.cpp:159 -msgid "Directory or directory name already exists" -msgstr "已经有这个目录或者目录名了" - -#: win32/MagnetDlg.cpp:62 -msgid "Do nothing" -msgstr "什么也不做" - -#: win32/SearchFrame.cpp:185 -msgid "Document" -msgstr "文件" - -#: win32/NetworkPage.cpp:35 -msgid "Don't allow hub/UPnP to override" -msgstr "" - -#: win32/AdvancedPage.cpp:47 -#, fuzzy -msgid "Don't automatically disconnect favorite users who leave the hub" -msgstr "自动断开离线用户(当站点关闭/你离开的时候不断开)" - -#: win32/AdvancedPage.cpp:36 -msgid "Don't delete file lists when exiting" -msgstr "关闭时不删除文件列表" - -#: win32/QueuePage.cpp:75 -msgid "Don't download files already in share" -msgstr "不下载共享目录里已经有的文件" - -#: win32/QueuePage.cpp:76 -#, fuzzy -msgid "Don't download files already in the queue" -msgstr "不下载共享目录里已经有的文件" - -#: win32/HubFrame.cpp:392 -msgid "Don't remove /password before your password" -msgstr "勿删除你的密码前的“/passwaord ”" - -#: win32/QueuePage.cpp:71 -msgid "Don't remove the source when autodropping, only disconnect" -msgstr "" - -#: win32/AdvancedPage.cpp:40 -msgid "Don't send the away message to bots" -msgstr "不对站点机器人发送离线消息" - -#: win32/MainWindow.cpp:255 -msgid "Donate (paypal)" -msgstr "捐赠 €€€/$$$ (paypal)" - -#: win32/Appearance2Page.cpp:34 -msgid "Donate €€€:s! (ok, dirty dollars are fine as well =) (see help menu)" -msgstr "" - -#: win32/TransferView.cpp:58 -msgid "Done" -msgstr "完成" - -#: win32/DirectoryListingFrame.cpp:358 -#, fuzzy -msgid "Download &to..." -msgstr "下载到..." - -#: win32/ADLSProperties.cpp:88 -msgid "Download Matches" -msgstr "下载匹配的" - -#: win32/QueueFrame.cpp:57 win32/TabsPage.cpp:41 win32/WindowsPage.cpp:39 -#: win32/MainWindow.cpp:288 -msgid "Download Queue" -msgstr "下载队列" - -#: win32/PublicHubsFrame.cpp:322 -#, fuzzy, boost-format -msgid "Download failed: %1%" -msgstr "已下载" - -#: win32/WinUtil.cpp:831 -msgid "Download files from the Direct Connect network" -msgstr "从DC网络上下载文件" - -#: win32/SearchFrame.cpp:764 -msgid "Download to..." -msgstr "下载到..." - -#: win32/SearchFrame.cpp:744 -msgid "Download whole directory" -msgstr "下载整个目录" - -#: win32/SearchFrame.cpp:794 -msgid "Download whole directory to..." -msgstr "下载整个目录到..." - -#: win32/QueueFrame.cpp:39 -msgid "Downloaded" -msgstr "已下载" - -#: win32/TransferView.cpp:731 -#, fuzzy, boost-format -msgid "Downloading %1%" -msgstr "下载中..." - -#: win32/TransferView.cpp:631 -#, boost-format -msgid "Downloading from %1% user" -msgid_plural "Downloading from %1% users" -msgstr[0] "" -msgstr[1] "" - -#: win32/DirectoryListingFrame.cpp:695 -#, fuzzy -msgid "Downloading list..." -msgstr "下载中..." - -#: win32/PublicHubsFrame.cpp:188 win32/PublicHubsFrame.cpp:459 -msgid "Downloading public hub list..." -msgstr "下载服务器列表中..." - -#: win32/PublicHubsFrame.cpp:319 -#, fuzzy, boost-format -msgid "Downloading public hub list... (%1%)" -msgstr "下载服务器列表中..." - -#: win32/AboutDlg.cpp:63 -msgid "Downloading..." -msgstr "下载中..." - -#: win32/SettingsDialog.cpp:59 win32/MainWindow.cpp:248 -#: win32/TransferView.cpp:92 win32/TransferView.cpp:94 -#: win32/Appearance2Page.cpp:40 -msgid "Downloads" -msgstr "下载" - -#: win32/SettingsDialog.cpp:60 -#, fuzzy -msgid "Downloads\\Favorites" -msgstr "下载匹配的" - -#: win32/SettingsDialog.cpp:61 -#, fuzzy -msgid "Downloads\\Queue" -msgstr "下载队列" - -#: win32/QueuePage.cpp:38 -msgid "Drop sources below" -msgstr "" - -#: win32/MainWindow.cpp:204 -msgid "E&xit" -msgstr "" - -#: win32/GeneralPage.cpp:30 win32/HubFrame.cpp:43 -msgid "E-Mail" -msgstr "电子邮件" - -#: win32/HubListsDlg.cpp:149 -msgid "Edit the hublist" -msgstr "" - -#: win32/AdvancedPage.cpp:39 -msgid "Enable automatic SFV checking" -msgstr "自动做 SFV 检测" - -#: win32/AdvancedPage.cpp:42 -msgid "Enable safe and compressed transfers" -msgstr "使用安全、压缩传输" - -#: win32/ADLSProperties.cpp:84 -msgid "Enabled" -msgstr "启用" - -#: win32/ADLSearchFrame.cpp:32 -msgid "Enabled / Search String" -msgstr "是否生效/关键字" - -#: win32/DirectoryListingFrame.cpp:797 -msgid "Enter search string" -msgstr "输入搜索关键字" - -#: win32/WinUtil.cpp:738 -msgid "Error creating adc registry key" -msgstr "" - -#: win32/WinUtil.cpp:699 -msgid "Error creating dchub registry key" -msgstr "" - -#: win32/WinUtil.cpp:798 win32/WinUtil.cpp:811 -msgid "Error creating magnet registry key" -msgstr "" - -#: win32/QueueFrame.cpp:44 -msgid "Errors" -msgstr "错误" - -#: win32/QueueFrame.cpp:43 win32/DirectoryListingFrame.cpp:42 -#: win32/SearchFrame.cpp:40 -msgid "Exact size" -msgstr "准确大小" - -#: win32/SearchFrame.cpp:186 -msgid "Executable" -msgstr "可执行文件" - -#: win32/MainWindow.cpp:1003 -msgid "Exit" -msgstr "" - -#: win32/NetworkPage.cpp:38 -msgid "External / WAN IP" -msgstr "" - -#: win32/PublicHubsFrame.cpp:168 -#, fuzzy -msgid "F&ilter" -msgstr "文件" - -#: win32/MainWindow.cpp:646 win32/MainWindow.cpp:647 -msgid "Failed to create port mappings. Please set up your NAT yourself." -msgstr "端口映射失败,请手动设置" - -#: win32/MainWindow.cpp:665 win32/MainWindow.cpp:666 -msgid "Failed to get external IP via UPnP. Please set it yourself." -msgstr "无法取得外部IP,UPnP失败,请手动设置." - -#: win32/MainWindow.cpp:679 win32/MainWindow.cpp:687 -msgid "Failed to remove port mappings" -msgstr "无法移除端口映射" - -#: win32/MainWindow.cpp:212 -#, fuzzy -msgid "Favorite &Users\tCtrl+U" -msgstr "我的好友" - -#: win32/FavHubProperties.cpp:47 -msgid "Favorite Hub Properties" -msgstr "收藏的站点的选项 Favorite Hub Properties" - -#: win32/WindowsPage.cpp:47 win32/MainWindow.cpp:285 win32/FavHubsFrame.cpp:41 -msgid "Favorite Hubs" -msgstr "站点收藏夹" - -#: win32/WindowsPage.cpp:38 win32/MainWindow.cpp:286 win32/UsersFrame.cpp:38 -msgid "Favorite Users" -msgstr "我的好友" - -#: win32/FavoriteDirsPage.cpp:32 -msgid "Favorite download directories" -msgstr "收藏的 \"下载目录\"" - -#: win32/HubFrame.cpp:955 -msgid "Favorite hub added" -msgstr "已加入站点收藏夹" - -#: win32/HubFrame.cpp:965 -#, fuzzy -msgid "Favorite hub removed" -msgstr "已加入站点收藏夹" - -#: win32/FavoriteDirsPage.cpp:48 win32/FavoriteDirsPage.cpp:120 -#: win32/FavoriteDirsPage.cpp:150 -msgid "Favorite name" -msgstr "收藏的目录名" - -#: win32/PrivateFrame.cpp:303 -msgid "Favorite user added" -msgstr "已加入好友列表" - -#: win32/DirectoryListingFrame.cpp:40 win32/SearchFrame.cpp:32 -msgid "File" -msgstr "文件" - -#: win32/QueueFrame.cpp:473 -msgid "File not available" -msgstr "文件不存在" - -#: win32/SearchFrame.cpp:122 -msgid "File type" -msgstr "文件类型" - -#: win32/CommandDlg.cpp:99 -msgid "Filelist Menu" -msgstr "文件列表菜单" - -#: win32/QueueFrame.cpp:36 win32/TransferView.cpp:53 win32/LogPage.cpp:35 -#: win32/ADLSProperties.cpp:62 -msgid "Filename" -msgstr "文件名" - -#: win32/MagnetDlg.cpp:48 -msgid "Filename:" -msgstr "文件名:" - -#: win32/QueueFrame.cpp:287 win32/DirectoryListingFrame.cpp:636 -#: win32/DirectoryListingFrame.cpp:652 -#, boost-format -msgid "Files: %1%" -msgstr "" - -#: win32/AppearancePage.cpp:47 -msgid "Filter kick messages" -msgstr "" - -#: win32/DirectoryListingFrame.cpp:160 win32/DirectoryListingFrame.cpp:182 -msgid "Find" -msgstr "寻找" - -#: win32/TabsPage.cpp:42 win32/WindowsPage.cpp:40 win32/MainWindow.cpp:215 -#: win32/MainWindow.cpp:289 win32/FinishedDLFrame.cpp:25 -msgid "Finished Downloads" -msgstr "已下载文件" - -#: win32/TabsPage.cpp:44 win32/WindowsPage.cpp:42 win32/MainWindow.cpp:217 -#: win32/MainWindow.cpp:291 win32/FinishedULFrame.cpp:25 -msgid "Finished Uploads" -msgstr "已完成的上传文件" - -#: win32/NetworkPage.cpp:34 -msgid "Firewall (passive, last resort)" -msgstr "" - -#: win32/NetworkPage.cpp:32 -msgid "Firewall with UPnP" -msgstr "" - -#: win32/NetworkPage.cpp:33 -msgid "Firewall with manual port forwarding" -msgstr "" - -#: win32/MainWindow.cpp:191 -msgid "Follow last redirec&t\tCtrl+T" -msgstr "" - -#: win32/MainWindow.cpp:283 -msgid "Follow last redirect" -msgstr "" - -#: win32/LogPage.cpp:34 -msgid "Format" -msgstr "格式(Format)" - -#: win32/MainWindow.cpp:250 -msgid "Frequently asked questions" -msgstr "常见问题" - -#: win32/ADLSProperties.cpp:64 -msgid "Full Path" -msgstr "完整路径" - -#: win32/QueueFrame.cpp:479 -msgid "Full tree does not match TTH root" -msgstr "已下载的“树”不匹配于 TTH root" - -#: win32/MainWindow.cpp:249 -msgid "GeoIP database update" -msgstr "" - -#: win32/SearchFrame.cpp:174 win32/ADLSProperties.cpp:77 -msgid "GiB" -msgstr "GiB" - -#: win32/WaitingUsersFrame.cpp:83 win32/PrivateFrame.cpp:382 -msgid "Grant &extra slot" -msgstr "" - -#: win32/AppearancePage.cpp:56 -msgid "Guess user country from IP" -msgstr "取得用户国家名" - -#: win32/DownloadPage.cpp:42 -msgid "HTTP Proxy (for hublist only)" -msgstr "HTTP 代理 (仅用于服务器列表)" - -#: win32/MainWindow.cpp:242 -msgid "Help &Contents\tF1" -msgstr "" - -#: win32/MainWindow.cpp:251 -msgid "Help forum" -msgstr "论坛求助" - -#: win32/QueueFrame.cpp:454 win32/QueueFrame.cpp:1000 -msgid "High" -msgstr "高" - -#: win32/QueuePage.cpp:31 -msgid "High prio max size" -msgstr "高优先级的大小" - -#: win32/QueueFrame.cpp:455 win32/QueueFrame.cpp:1001 -msgid "Highest" -msgstr "最高" - -#: win32/QueuePage.cpp:29 -msgid "Highest prio max size" -msgstr "最高优先级文件大小" - -#: win32/SpyFrame.cpp:162 -#, boost-format -msgid "Hit Ratio: %1%" -msgstr "" - -#: win32/SpyFrame.cpp:160 -#, boost-format -msgid "Hits: %1%" -msgstr "" - -#: win32/TabsPage.cpp:37 win32/SearchFrame.cpp:39 win32/UCPage.cpp:55 -msgid "Hub" -msgstr "服务器" - -#: win32/UsersFrame.cpp:31 -msgid "Hub (last seen in, if offline)" -msgstr "" - -#: win32/CommandDlg.cpp:90 -msgid "Hub Menu" -msgstr "站点菜单" - -#: win32/FavHubProperties.cpp:119 -msgid "Hub address cannot be empty" -msgstr "" - -#: win32/FavHubsFrame.cpp:168 win32/HubFrame.cpp:957 -msgid "Hub already exists as a favorite" -msgstr "" - -#: win32/PublicHubsFrame.cpp:316 -#, boost-format -msgid "Hub list downloaded... (%1%)" -msgstr "" - -#: win32/PublicHubsFrame.cpp:316 -msgid "Hub list loaded from cache..." -msgstr "" - -#: win32/HubListsDlg.cpp:149 -#, fuzzy -msgid "Hublist" -msgstr "站点数" - -#: win32/SearchFrame.cpp:128 -msgid "Hubs" -msgstr "站点数" - -#: win32/PublicHubsFrame.cpp:271 -#, fuzzy, boost-format -msgid "Hubs: %1%" -msgstr "站点数" - -#: win32/SearchFrame.cpp:41 win32/TransferView.cpp:49 win32/HubFrame.cpp:42 -msgid "IP" -msgstr "IP" - -#: win32/HubFrame.cpp:337 -#, boost-format -msgid "IP: %1%, Port: %2%/%3%/%4%" -msgstr "" - -#: win32/TransferView.cpp:537 win32/TransferView.cpp:838 -msgid "Idle" -msgstr "" - -#: win32/SpyFrame.cpp:66 -msgid "Ignore TTH searches" -msgstr "忽略TTH的搜索" - -#: win32/WindowsPage.cpp:59 -#, fuzzy -msgid "Ignore private messages from bots" -msgstr "弹出私聊窗口交谈" - -#: win32/WindowsPage.cpp:58 -#, fuzzy -msgid "Ignore private messages from the hub" -msgstr "弹出私聊窗口交谈" - -#: win32/HubFrame.cpp:539 win32/HubFrame.cpp:547 -#, boost-format -msgid "Ignored message: %1%" -msgstr "" - -#: win32/NetworkPage.cpp:47 -msgid "Incoming connection settings (see Help/FAQ if unsure)" -msgstr "" - -#: win32/MainWindow.cpp:226 -msgid "Indexing progress" -msgstr "Hash进度指示" - -#: win32/MainWindow.cpp:705 -msgid "Invalid file list name" -msgstr "" - -#: win32/WinUtil.cpp:260 -msgid "Invalid number of slots" -msgstr "通道数目无效" - -#: win32/QueueFrame.cpp:283 -#, boost-format -msgid "Items: %1%" -msgstr "" - -#: win32/HubFrame.cpp:330 -msgid "Join/part of favorite users showing off" -msgstr "关闭好友 进/出 消息" - -#: win32/HubFrame.cpp:328 -msgid "Join/part of favorite users showing on" -msgstr "显示好友 进/出 消息" - -#: win32/HubFrame.cpp:323 -msgid "Join/part showing off" -msgstr "不显示 进入/退出 信息" - -#: win32/HubFrame.cpp:321 -msgid "Join/part showing on" -msgstr "显示 进入/退出 信息" - -#: win32/AdvancedPage.cpp:33 -msgid "Keep duplicate files in your file list" -msgstr "在你的文件列表中包含重复文件(重复部分不计入你的共享大小)" - -#: win32/QueuePage.cpp:30 win32/QueuePage.cpp:32 win32/QueuePage.cpp:34 -#: win32/QueuePage.cpp:36 win32/QueuePage.cpp:48 win32/Advanced3Page.cpp:30 -#: win32/Advanced3Page.cpp:36 win32/SearchFrame.cpp:172 -#: win32/ADLSProperties.cpp:75 -msgid "KiB" -msgstr "KiB" - -#: win32/UploadPage.cpp:40 -msgid "KiB/s" -msgstr "KiB/s" - -#: win32/AppearancePage.cpp:34 -msgid "Language file" -msgstr "语言文件 (Language file)" - -#: win32/DownloadPage.cpp:35 -msgid "Limits" -msgstr "限制" - -#: win32/GeneralPage.cpp:32 -#, fuzzy -msgid "Line speed (upload)" -msgstr "已完成的上传文件" - -#: win32/SplashWindow.cpp:77 -#, boost-format -msgid "Loading DC++, please wait... (%1%)" -msgstr "" - -#: win32/LogPage.cpp:47 -msgid "Log downloads" -msgstr "记录下载情况 (Log downloads)" - -#: win32/LogPage.cpp:51 -msgid "Log filelist transfers" -msgstr "记录文件列表传输情况" - -#: win32/LogPage.cpp:45 -msgid "Log main chat" -msgstr "记录公屏内容 (Log main chat)" - -#: win32/LogPage.cpp:46 -msgid "Log private chat" -msgstr "记录私聊内容 (Log private chat)" - -#: win32/LogPage.cpp:50 -msgid "Log status messages" -msgstr "记录状态消息日志" - -#: win32/LogPage.cpp:49 -msgid "Log system messages" -msgstr "记录系统消息日志" - -#: win32/LogPage.cpp:48 -msgid "Log uploads" -msgstr "记录上传情况 (Log uploads)" - -#: win32/LogPage.cpp:31 -msgid "Logging" -msgstr "日志记录 (Logging)" - -#: win32/NetworkPage.cpp:44 -msgid "Login" -msgstr "用户名" - -#: win32/WinUtil.cpp:372 -msgid "Lookup TTH at Bitzi.com" -msgstr "到Bitzi.com查找TTH" - -#: win32/QueueFrame.cpp:452 win32/QueueFrame.cpp:998 -msgid "Low" -msgstr "低" - -#: win32/QueuePage.cpp:35 -msgid "Low prio max size" -msgstr "低优先级的大小" - -#: win32/QueueFrame.cpp:451 win32/QueueFrame.cpp:997 -msgid "Lowest" -msgstr "最低" - -#: win32/MagnetDlg.cpp:44 win32/WinUtil.cpp:1036 -msgid "MAGNET Link detected" -msgstr "检测到MAGNET链接" - -#: win32/WinUtil.cpp:983 -#, fuzzy, boost-format -msgid "MAGNET Link detected: %1%" -msgstr "检测到MAGNET链接" - -#: win32/Appearance2Page.cpp:38 -msgid "Make an annoying sound every time a private message is received" -msgstr "私人信息到达时发出提示声音" - -#: win32/Appearance2Page.cpp:39 -msgid "Make an annoying sound when a private message window is opened" -msgstr "当私聊窗口打开的时候发出提示声音" - -#: win32/MainWindow.cpp:197 -msgid "Match downloaded lists" -msgstr "" - -#: win32/DirectoryListingFrame.cpp:168 win32/DirectoryListingFrame.cpp:181 -msgid "Match queue" -msgstr "队列匹配" - -#: win32/DirectoryListingFrame.cpp:260 -#, boost-format -msgid "Matched %1% file" -msgid_plural "Matched %1% files" -msgstr[0] "" -msgstr[1] "" - -#: win32/PublicHubsFrame.cpp:57 -msgid "Max Hubs" -msgstr "最大站点数" - -#: win32/ADLSearchFrame.cpp:36 -#, fuzzy -msgid "Max Size" -msgstr "文件大小" - -#: win32/PublicHubsFrame.cpp:58 -msgid "Max Users" -msgstr "最大用户数" - -#: win32/Advanced3Page.cpp:38 -#, fuzzy -msgid "Max filelist size" -msgstr "小文件大小" - -#: win32/Advanced3Page.cpp:31 -msgid "Max hash speed" -msgstr "hash的最大速度" - -#: win32/QueuePage.cpp:44 -msgid "Max inactivity" -msgstr "" - -#: win32/DownloadPage.cpp:36 -msgid "Maximum simultaneous downloads (0 = infinite)" -msgstr "同一文件最大同时下载数 (0 = 无限)" - -#: win32/Advanced3Page.cpp:39 win32/SearchFrame.cpp:173 -#: win32/ADLSProperties.cpp:76 -#, fuzzy -msgid "MiB" -msgstr "GiB" - -#: win32/Advanced3Page.cpp:32 -#, fuzzy -msgid "MiB/s" -msgstr "KiB/s" - -#: win32/GeneralPage.cpp:33 -#, fuzzy -msgid "MiBits/s" -msgstr "KiB/s" - -#: win32/PublicHubsFrame.cpp:55 -msgid "Min Share" -msgstr "最少共享量" - -#: win32/ADLSearchFrame.cpp:35 -#, fuzzy -msgid "Min Size" -msgstr "最少共享量" - -#: win32/PublicHubsFrame.cpp:56 -msgid "Min Slots" -msgstr "最少通道数" - -#: win32/QueuePage.cpp:42 -#, fuzzy -msgid "Min elapsed" -msgstr "最少通道数" - -#: win32/QueuePage.cpp:47 -#, fuzzy -msgid "Min filesize" -msgstr "小文件大小" - -#: win32/Advanced3Page.cpp:42 -#, fuzzy -msgid "Min segment size" -msgstr "小文件大小" - -#: win32/QueuePage.cpp:46 -#, fuzzy -msgid "Min sources online" -msgstr "等待中 (目标用户在线)" - -#: win32/Advanced3Page.cpp:35 -msgid "Mini slot size" -msgstr "小文件大小" - -#: win32/AppearancePage.cpp:48 -msgid "Minimize to tray" -msgstr "最小化到系统托盘" - -#: win32/HubListsDlg.cpp:71 win32/FavHubsFrame.cpp:92 -#: win32/FavHubsFrame.cpp:283 win32/ADLSearchFrame.cpp:83 win32/UCPage.cpp:32 -msgid "Move &Down" -msgstr "" - -#: win32/HubListsDlg.cpp:67 win32/FavHubsFrame.cpp:87 -#: win32/FavHubsFrame.cpp:282 win32/ADLSearchFrame.cpp:78 win32/UCPage.cpp:31 -msgid "Move &Up" -msgstr "" - -#: win32/UCPage.cpp:53 win32/PublicHubsFrame.cpp:49 -msgid "Name" -msgstr "名称" - -#: win32/UploadPage.cpp:191 win32/UploadPage.cpp:235 -msgid "Name under which the others see the directory" -msgstr "目录别名(可以给你的共享目录取个其它名字)" - -#: win32/WindowsPage.cpp:44 win32/MainWindow.cpp:225 win32/StatsFrame.cpp:27 -msgid "Network Statistics" -msgstr "网络数据统计" - -#: win32/UploadPage.cpp:200 -msgid "New virtual name matches old name, skipping..." -msgstr "新的虚拟目录名匹配了旧名,跳过。。。" - -#: win32/DirectoryListingFrame.cpp:164 win32/DirectoryListingFrame.cpp:183 -msgid "Next" -msgstr "下一个" - -#: win32/GeneralPage.cpp:29 win32/FavHubsFrame.cpp:34 win32/HubFrame.cpp:37 -msgid "Nick" -msgstr "昵称" - -#: win32/QueueFrame.cpp:488 -msgid "No errors" -msgstr "无错误" - -#: win32/DirectoryListingFrame.cpp:860 -msgid "No matches" -msgstr "找不到匹配的文件" - -#: win32/DownloadPage.cpp:37 -msgid "No new downloads if speed exceeds (KiB/s, 0 = disable)" -msgstr "速度超过此值时不开始新的下载任务 (kB/s, 0 =禁用)" - -#: win32/QueueFrame.cpp:415 -msgid "No users" -msgstr "没有用户" - -#: win32/QueueFrame.cpp:427 -msgid "No users to download from" -msgstr "无法下载,找不到用户共享该文件" - -#: win32/QueueFrame.cpp:453 win32/QueueFrame.cpp:999 win32/SearchFrame.cpp:155 -msgid "Normal" -msgstr "普通" - -#: win32/QueuePage.cpp:33 -msgid "Normal prio max size" -msgstr "标准优先级文件大小" - -#: win32/UploadPage.cpp:42 -msgid "Note; Files appear in the share only after they've been hashed!" -msgstr "注意; 新文件仅在被hash结束后才会出现在共享列表里!" - -#: win32/DownloadPage.cpp:38 -#, fuzzy, c-format -msgid "Note; because of changing download speeds, this is not 100% accurate..." -msgstr "注意; 由于下载速度不断变化, 因此这不是 100% 准确..." - -#: win32/Appearance2Page.cpp:35 win32/AppearancePage.cpp:35 -msgid "Note; most of these options require that you restart DC++" -msgstr "注意: 大部分选项要求重启DC++" - -#: win32/WindowsPage.cpp:45 win32/NotepadFrame.cpp:27 win32/MainWindow.cpp:299 -msgid "Notepad" -msgstr "记事本" - -#: win32/Appearance2Page.cpp:29 -msgid "Notification sound" -msgstr "" - -#: win32/WinUtil.cpp:333 -msgid "Offline" -msgstr "离线" - -#: win32/UsersFrame.cpp:108 win32/UsersFrame.cpp:123 -msgid "Online" -msgstr "在线" - -#: win32/AppearancePage.cpp:52 -msgid "Only show joins / parts for favorite users" -msgstr "只显示好友的 进/出 消息" - -#: win32/SearchFrame.cpp:194 -msgid "Only users with free slots" -msgstr "只显示有空闲通道的用户" - -#: win32/SearchFrame.cpp:216 -msgid "Only where I'm op" -msgstr "仅在我是管理员的地方" - -#: win32/MainWindow.cpp:199 win32/MainWindow.cpp:1004 -msgid "Open downloads directory" -msgstr "打开下载目录" - -#: win32/MainWindow.cpp:297 -#, fuzzy -msgid "Open file list..." -msgstr "打开自己的文件列表" - -#: win32/MainWindow.cpp:195 -msgid "Open file list...\tCtrl+L" -msgstr "" - -#: win32/WindowsPage.cpp:55 -msgid "Open new file list windows in the background" -msgstr "在后台打开新的文件列表窗口(下载文件列表时)" - -#: win32/WindowsPage.cpp:56 -msgid "Open new private message windows in the background" -msgstr "在后台打开新的私聊窗口" - -#: win32/WindowsPage.cpp:57 -msgid "Open new window when using /join" -msgstr "使用/join命令的时候打开新窗口进行连接" - -#: win32/MainWindow.cpp:196 -msgid "Open own list" -msgstr "打开自己的文件列表" - -#: win32/WindowsPage.cpp:53 -#, fuzzy -msgid "Open private messages from bots in their own window" -msgstr "弹出私聊窗口交谈" - -#: win32/WindowsPage.cpp:54 -#, fuzzy -msgid "Open private messages from the hub in their own window" -msgstr "弹出私聊窗口交谈" - -#: win32/WindowsPage.cpp:52 -msgid "Open private messages in their own window" -msgstr "弹出私聊窗口交谈" - -#: win32/AppearancePage.cpp:31 -msgid "Options" -msgstr "选项" - -#: win32/QueuePage.cpp:49 -#, fuzzy -msgid "Other queue options" -msgstr "搜索选项" - -#: win32/NetworkPage.cpp:48 -#, fuzzy -msgid "Outgoing connection settings" -msgstr "连接设置" - -#: win32/CommandDlg.cpp:86 -msgid "PM" -msgstr "私聊信息(PM)" - -#: win32/Advanced3Page.cpp:33 -msgid "PM history" -msgstr "私聊历史" - -#: win32/QueueFrame.cpp:475 -msgid "Passive user" -msgstr "被动模式用户" - -#: win32/NetworkPage.cpp:45 win32/FavHubsFrame.cpp:35 -msgid "Password" -msgstr "密码" - -#: win32/QueueFrame.cpp:42 win32/SearchFrame.cpp:36 win32/TransferView.cpp:54 -msgid "Path" -msgstr "路径" - -#: win32/QueueFrame.cpp:450 win32/QueueFrame.cpp:996 -msgid "Paused" -msgstr "暂停" - -#: win32/GeneralPage.cpp:28 -msgid "Personal Information" -msgstr "个人信息" - -#: win32/SettingsDialog.cpp:57 -msgid "Personal information" -msgstr "个人信息" - -#: win32/SearchFrame.cpp:187 -msgid "Picture" -msgstr "图片" - -#: win32/FavHubsFrame.cpp:320 win32/PublicHubsFrame.cpp:497 -msgid "Please enter a nickname in the settings dialog!" -msgstr "请在设置里输入昵称!" - -#: win32/HubFrame.cpp:525 -msgid "Please enter a password" -msgstr "请输入一个密码" - -#: win32/WindowsPage.cpp:61 -msgid "Popup box to input password for hubs" -msgstr "" - -#: win32/NetworkPage.cpp:43 -msgid "Port" -msgstr "端口" - -#: win32/NetworkPage.cpp:37 -#, fuzzy -msgid "Ports" -msgstr "端口" - -#: win32/HubFrame.cpp:852 -#, boost-format -msgid "Press the follow redirect button to connect to %1%" -msgstr "" - -#: win32/QueueFrame.cpp:40 -msgid "Priority" -msgstr "优先级" - -#: win32/TabsPage.cpp:38 -msgid "Private message" -msgstr "" - -#: win32/HubFrame.cpp:543 win32/HubFrame.cpp:551 win32/HubFrame.cpp:557 -#, boost-format -msgid "Private message from %1%: %2%" -msgstr "" - -#: win32/WindowsPage.cpp:46 win32/MainWindow.cpp:281 -#: win32/PublicHubsFrame.cpp:93 -msgid "Public Hubs" -msgstr "服务器列表" - -#: win32/DownloadPage.cpp:39 -msgid "Public Hubs list" -msgstr "公众服务器列表 (Public Hubs list)" - -#: win32/DownloadPage.cpp:40 -msgid "Public Hubs list URL" -msgstr "公众服务器列表地址 (Public Hubs list URL)" - -#: win32/SearchFrame.cpp:240 -msgid "Purge" -msgstr "清除" - -#: win32/TransferView.cpp:47 -msgid "Queued" -msgstr "" - -#: win32/MainWindow.cpp:358 -msgid "Quick Connect" -msgstr "快速连接" - -#: win32/PublicHubsFrame.cpp:60 -msgid "Rating" -msgstr "Rating" - -#: win32/AboutDlg.cpp:61 -#, c-format, boost-format -msgid "Ratio (up/down): %1$0.2f" -msgstr "" - -#: win32/CommandDlg.cpp:78 -msgid "Raw" -msgstr "Raw命令" - -#: win32/QueueFrame.cpp:1020 -msgid "Re-add source" -msgstr "重新载入资源" - -#: win32/SearchFrame.cpp:1024 -msgid "Ready to search..." -msgstr "准备搜索..." - -#: win32/MainWindow.cpp:473 -msgid "Really exit?" -msgstr "确定要退出?" - -#: win32/QueueFrame.cpp:692 win32/QueueFrame.cpp:697 -#: win32/FavHubsFrame.cpp:232 -msgid "Really remove?" -msgstr "确定要删除吗?" - -#: win32/MainWindow.cpp:282 -#, fuzzy -msgid "Reconnect" -msgstr "已连接" - -#: win32/HubFrame.cpp:845 win32/HubFrame.cpp:1366 -msgid "Redirect request received to a hub that's already connected" -msgstr "被重定向到一个已经连接的站点" - -#: win32/MainWindow.cpp:198 -msgid "Refresh file list\tCtrl+E" -msgstr "" - -#: win32/AdvancedPage.cpp:34 -msgid "Register with Windows to handle dchub:// and adc:// URL links" -msgstr "启动时注册 dchub:// 和 adc:// 链接" - -#: win32... [truncated message content] |
From: <arn...@us...> - 2008-03-13 22:02:54
|
Revision: 1039 http://dcplusplus.svn.sourceforge.net/dcplusplus/?rev=1039&view=rev Author: arnetheduck Date: 2008-03-13 15:02:50 -0700 (Thu, 13 Mar 2008) Log Message: ----------- 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/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 Modified: dcplusplus/trunk/dcpp/po/ar.po =================================================================== --- dcplusplus/trunk/dcpp/po/ar.po 2008-03-12 21:46:22 UTC (rev 1038) +++ dcplusplus/trunk/dcpp/po/ar.po 2008-03-13 22:02:50 UTC (rev 1039) @@ -7,12 +7,15 @@ msgstr "" "Project-Id-Version: dcpp\n" "Report-Msgid-Bugs-To: dcp...@li...\n" -"POT-Creation-Date: 2008-03-04 23:00+0100\n" -"Last-Translator: <jma...@us...>\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" +"Language-Team: LANGUAGE <LL...@li...>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: plurals=2; plural=(n != 1);\n" +"X-Launchpad-Export-Date: 2008-03-13 15:20+0000\n" +"X-Generator: Launchpad (build Unknown)\n" #: dcpp/Util.cpp:381 #, c-format, boost-format @@ -123,8 +126,13 @@ msgid "Certificate not trusted, unable to connect" msgstr "" +#: dcpp/BufferedSocket.cpp:148 +#, fuzzy +msgid "Connection closed" +msgstr "لا يمكن التوصيل" + #: dcpp/Socket.cpp:154 dcpp/ConnectionManager.cpp:182 -#: dcpp/BufferedSocket.cpp:154 +#: dcpp/BufferedSocket.cpp:131 msgid "Connection timeout" msgstr "لا يمكن التوصيل" @@ -135,9 +143,9 @@ #: dcpp/ShareManager.cpp:418 msgid "Directory already shared" -msgstr "المجلد مستخدم حاليا " +msgstr "المجلد مستخدم حاليا" -#: dcpp/BufferedSocket.cpp:407 dcpp/BufferedSocket.cpp:426 +#: dcpp/BufferedSocket.cpp:404 msgid "Disconnected" msgstr "انفصل" @@ -206,7 +214,7 @@ msgid "" "Failed to set up the socks server for UDP relay (check socks address and " "port)" -msgstr "(افحص عنوان السوكس و البورت) UDP فشل في عمل سوكس سيرفر لحدوث تبادل في " +msgstr "(افحص عنوان السوكس و البورت) UDP فشل في عمل سوكس سيرفر لحدوث تبادل في" #: dcpp/ShareManager.cpp:776 #, fuzzy, boost-format @@ -280,14 +288,14 @@ #: dcpp/FavoriteManager.cpp:438 msgid "Kick user(s)" -msgstr "فصل المستخدم " +msgstr "فصل المستخدم" #: dcpp/ConnectionManager.cpp:230 #, boost-format msgid "Listening socket failed (you need to restart %1%): %2%" msgstr "" -#: dcpp/BufferedSocket.cpp:261 +#: dcpp/BufferedSocket.cpp:237 msgid "Maximum command length exceeded" msgstr "" @@ -303,12 +311,12 @@ msgid "No slots available" msgstr "لا توجد وصلة خالية" -#: dcpp/AdcHub.cpp:576 +#: dcpp/AdcHub.cpp:577 #, boost-format msgid "Not listening for connections - please restart %1%" msgstr "" -#: dcpp/Transfer.cpp:63 dcpp/Transfer.cpp:67 dcpp/ClientManager.cpp:115 +#: dcpp/Transfer.cpp:63 dcpp/Transfer.cpp:67 dcpp/ClientManager.cpp:114 #: dcpp/SearchManager.cpp:267 dcpp/SearchManager.cpp:329 #: dcpp/SearchManager.cpp:331 msgid "Offline" Modified: dcplusplus/trunk/dcpp/po/bg.po =================================================================== --- dcplusplus/trunk/dcpp/po/bg.po 2008-03-12 21:46:22 UTC (rev 1038) +++ dcplusplus/trunk/dcpp/po/bg.po 2008-03-13 22:02:50 UTC (rev 1039) @@ -7,12 +7,15 @@ msgstr "" "Project-Id-Version: dcpp\n" "Report-Msgid-Bugs-To: dcp...@li...\n" -"POT-Creation-Date: 2008-03-04 23:00+0100\n" -"Last-Translator: <gre...@us...>\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" +"Language-Team: LANGUAGE <LL...@li...>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: plurals=2; plural=(n != 1);\n" +"X-Launchpad-Export-Date: 2008-03-13 15:20+0000\n" +"X-Generator: Launchpad (build Unknown)\n" #: dcpp/Util.cpp:381 #, c-format, boost-format @@ -124,8 +127,13 @@ msgid "Certificate not trusted, unable to connect" msgstr "" +#: dcpp/BufferedSocket.cpp:148 +#, fuzzy +msgid "Connection closed" +msgstr "Времето за свързване изтече!" + #: dcpp/Socket.cpp:154 dcpp/ConnectionManager.cpp:182 -#: dcpp/BufferedSocket.cpp:154 +#: dcpp/BufferedSocket.cpp:131 msgid "Connection timeout" msgstr "Времето за свързване изтече!" @@ -138,7 +146,7 @@ msgid "Directory already shared" msgstr "Папката вече е споделена!" -#: dcpp/BufferedSocket.cpp:407 dcpp/BufferedSocket.cpp:426 +#: dcpp/BufferedSocket.cpp:404 msgid "Disconnected" msgstr "Изключен/Прекъснат" @@ -294,7 +302,7 @@ msgid "Listening socket failed (you need to restart %1%): %2%" msgstr "" -#: dcpp/BufferedSocket.cpp:261 +#: dcpp/BufferedSocket.cpp:237 msgid "Maximum command length exceeded" msgstr "" @@ -310,12 +318,12 @@ msgid "No slots available" msgstr "Няма слотове на разположение" -#: dcpp/AdcHub.cpp:576 +#: dcpp/AdcHub.cpp:577 #, boost-format msgid "Not listening for connections - please restart %1%" msgstr "" -#: dcpp/Transfer.cpp:63 dcpp/Transfer.cpp:67 dcpp/ClientManager.cpp:115 +#: dcpp/Transfer.cpp:63 dcpp/Transfer.cpp:67 dcpp/ClientManager.cpp:114 #: dcpp/SearchManager.cpp:267 dcpp/SearchManager.cpp:329 #: dcpp/SearchManager.cpp:331 msgid "Offline" Modified: dcplusplus/trunk/dcpp/po/bs.po =================================================================== --- dcplusplus/trunk/dcpp/po/bs.po 2008-03-12 21:46:22 UTC (rev 1038) +++ dcplusplus/trunk/dcpp/po/bs.po 2008-03-13 22:02:50 UTC (rev 1039) @@ -7,12 +7,15 @@ msgstr "" "Project-Id-Version: dcpp\n" "Report-Msgid-Bugs-To: dcp...@li...\n" -"POT-Creation-Date: 2008-03-04 23:00+0100\n" -"Last-Translator: <mi...@us...>\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" +"Language-Team: LANGUAGE <LL...@li...>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: plurals=2; plural=(n != 1);\n" +"X-Launchpad-Export-Date: 2008-03-13 15:20+0000\n" +"X-Generator: Launchpad (build Unknown)\n" #: dcpp/Util.cpp:381 #, c-format, boost-format @@ -123,8 +126,13 @@ msgid "Certificate not trusted, unable to connect" msgstr "" +#: dcpp/BufferedSocket.cpp:148 +#, fuzzy +msgid "Connection closed" +msgstr "Vrijeme za vezu isteklo" + #: dcpp/Socket.cpp:154 dcpp/ConnectionManager.cpp:182 -#: dcpp/BufferedSocket.cpp:154 +#: dcpp/BufferedSocket.cpp:131 msgid "Connection timeout" msgstr "Vrijeme za vezu isteklo" @@ -137,7 +145,7 @@ msgid "Directory already shared" msgstr "Sadrzaj se vec dijeli" -#: dcpp/BufferedSocket.cpp:407 dcpp/BufferedSocket.cpp:426 +#: dcpp/BufferedSocket.cpp:404 msgid "Disconnected" msgstr "Iskljucen" @@ -290,7 +298,7 @@ msgid "Listening socket failed (you need to restart %1%): %2%" msgstr "" -#: dcpp/BufferedSocket.cpp:261 +#: dcpp/BufferedSocket.cpp:237 msgid "Maximum command length exceeded" msgstr "" @@ -306,12 +314,12 @@ msgid "No slots available" msgstr "Nema slobodnih slotova" -#: dcpp/AdcHub.cpp:576 +#: dcpp/AdcHub.cpp:577 #, boost-format msgid "Not listening for connections - please restart %1%" msgstr "" -#: dcpp/Transfer.cpp:63 dcpp/Transfer.cpp:67 dcpp/ClientManager.cpp:115 +#: dcpp/Transfer.cpp:63 dcpp/Transfer.cpp:67 dcpp/ClientManager.cpp:114 #: dcpp/SearchManager.cpp:267 dcpp/SearchManager.cpp:329 #: dcpp/SearchManager.cpp:331 msgid "Offline" Modified: dcplusplus/trunk/dcpp/po/ca.po =================================================================== --- dcplusplus/trunk/dcpp/po/ca.po 2008-03-12 21:46:22 UTC (rev 1038) +++ dcplusplus/trunk/dcpp/po/ca.po 2008-03-13 22:02:50 UTC (rev 1039) @@ -7,12 +7,15 @@ msgstr "" "Project-Id-Version: dcpp\n" "Report-Msgid-Bugs-To: dcp...@li...\n" -"POT-Creation-Date: 2008-03-04 23:00+0100\n" -"Last-Translator: <su...@us...>\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" +"Language-Team: LANGUAGE <LL...@li...>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: plurals=2; plural=(n != 1);\n" +"X-Launchpad-Export-Date: 2008-03-13 15:20+0000\n" +"X-Generator: Launchpad (build Unknown)\n" #: dcpp/Util.cpp:381 #, c-format, boost-format @@ -124,8 +127,13 @@ msgid "Certificate not trusted, unable to connect" msgstr "" +#: dcpp/BufferedSocket.cpp:148 +#, fuzzy +msgid "Connection closed" +msgstr "S'ha esgotat el temps per la conexió" + #: dcpp/Socket.cpp:154 dcpp/ConnectionManager.cpp:182 -#: dcpp/BufferedSocket.cpp:154 +#: dcpp/BufferedSocket.cpp:131 msgid "Connection timeout" msgstr "S'ha esgotat el temps per la conexió" @@ -138,7 +146,7 @@ msgid "Directory already shared" msgstr "Aquest directori ja està compartit" -#: dcpp/BufferedSocket.cpp:407 dcpp/BufferedSocket.cpp:426 +#: dcpp/BufferedSocket.cpp:404 msgid "Disconnected" msgstr "Desconectat" @@ -292,7 +300,7 @@ msgid "Listening socket failed (you need to restart %1%): %2%" msgstr "" -#: dcpp/BufferedSocket.cpp:261 +#: dcpp/BufferedSocket.cpp:237 msgid "Maximum command length exceeded" msgstr "" @@ -308,12 +316,12 @@ msgid "No slots available" msgstr "No queden slots disponibles" -#: dcpp/AdcHub.cpp:576 +#: dcpp/AdcHub.cpp:577 #, boost-format msgid "Not listening for connections - please restart %1%" msgstr "" -#: dcpp/Transfer.cpp:63 dcpp/Transfer.cpp:67 dcpp/ClientManager.cpp:115 +#: dcpp/Transfer.cpp:63 dcpp/Transfer.cpp:67 dcpp/ClientManager.cpp:114 #: dcpp/SearchManager.cpp:267 dcpp/SearchManager.cpp:329 #: dcpp/SearchManager.cpp:331 msgid "Offline" Modified: dcplusplus/trunk/dcpp/po/cs.po =================================================================== --- dcplusplus/trunk/dcpp/po/cs.po 2008-03-12 21:46:22 UTC (rev 1038) +++ dcplusplus/trunk/dcpp/po/cs.po 2008-03-13 22:02:50 UTC (rev 1039) @@ -7,14 +7,14 @@ msgstr "" "Project-Id-Version: dcplusplus\n" "Report-Msgid-Bugs-To: dcp...@li...\n" -"POT-Creation-Date: 2008-03-04 23:00+0100\n" -"PO-Revision-Date: 2008-02-08 19:17+0000\n" +"POT-Creation-Date: 2008-03-12 21:38+0100\n" +"PO-Revision-Date: 2008-03-05 00:25+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-04 21:52+0000\n" +"X-Launchpad-Export-Date: 2008-03-13 15:20+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: dcpp/Util.cpp:381 @@ -129,8 +129,13 @@ msgid "Certificate not trusted, unable to connect" msgstr "" +#: dcpp/BufferedSocket.cpp:148 +#, fuzzy +msgid "Connection closed" +msgstr "Cas pro pripojeni vyprsel" + #: dcpp/Socket.cpp:154 dcpp/ConnectionManager.cpp:182 -#: dcpp/BufferedSocket.cpp:154 +#: dcpp/BufferedSocket.cpp:131 msgid "Connection timeout" msgstr "Cas pro pripojeni vyprsel" @@ -143,7 +148,7 @@ msgid "Directory already shared" msgstr "Slozka je uz sdilena" -#: dcpp/BufferedSocket.cpp:407 dcpp/BufferedSocket.cpp:426 +#: dcpp/BufferedSocket.cpp:404 msgid "Disconnected" msgstr "Odpojeny" @@ -229,7 +234,7 @@ msgid "" "File list refresh in progress, please wait for it to finish before trying to " "refresh again" -msgstr "Cekejte prosim, az sa dokonci obnova seznamu souboru " +msgstr "Cekejte prosim, az sa dokonci obnova seznamu souboru" #: dcpp/ShareManager.cpp:798 msgid "File list refresh initiated" @@ -297,7 +302,7 @@ msgid "Listening socket failed (you need to restart %1%): %2%" msgstr "" -#: dcpp/BufferedSocket.cpp:261 +#: dcpp/BufferedSocket.cpp:237 msgid "Maximum command length exceeded" msgstr "" @@ -313,12 +318,12 @@ msgid "No slots available" msgstr "Nejsou volne zadne sloty" -#: dcpp/AdcHub.cpp:576 +#: dcpp/AdcHub.cpp:577 #, boost-format msgid "Not listening for connections - please restart %1%" msgstr "" -#: dcpp/Transfer.cpp:63 dcpp/Transfer.cpp:67 dcpp/ClientManager.cpp:115 +#: dcpp/Transfer.cpp:63 dcpp/Transfer.cpp:67 dcpp/ClientManager.cpp:114 #: dcpp/SearchManager.cpp:267 dcpp/SearchManager.cpp:329 #: dcpp/SearchManager.cpp:331 msgid "Offline" Modified: dcplusplus/trunk/dcpp/po/da.po =================================================================== --- dcplusplus/trunk/dcpp/po/da.po 2008-03-12 21:46:22 UTC (rev 1038) +++ dcplusplus/trunk/dcpp/po/da.po 2008-03-13 22:02:50 UTC (rev 1039) @@ -7,14 +7,14 @@ msgstr "" "Project-Id-Version: dcplusplus\n" "Report-Msgid-Bugs-To: dcp...@li...\n" -"POT-Creation-Date: 2008-03-04 23:00+0100\n" -"PO-Revision-Date: 2008-02-23 10:32+0000\n" -"Last-Translator: carson <Unknown>\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" "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-04 21:52+0000\n" +"X-Launchpad-Export-Date: 2008-03-13 15:20+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: dcpp/Util.cpp:381 @@ -61,7 +61,7 @@ #, boost-format msgid "" "%1% not shared; calculated CRC32 does not match the one found in SFV file." -msgstr "" +msgstr "%1% Ikke delt; Udregnet CRC32 matcher ikke den som fantes i SFV filen." #: dcpp/QueueManager.cpp:325 #, boost-format @@ -128,21 +128,26 @@ msgid "Certificate not trusted, unable to connect" msgstr "Certifikan ikke pålideligt, kan ikke tilslutte" +#: dcpp/BufferedSocket.cpp:148 +#, fuzzy +msgid "Connection closed" +msgstr "Tiden er udløbet for forbindelsen" + #: dcpp/Socket.cpp:154 dcpp/ConnectionManager.cpp:182 -#: dcpp/BufferedSocket.cpp:154 +#: dcpp/BufferedSocket.cpp:131 msgid "Connection timeout" msgstr "Tiden er udløbet for forbindelsen" #: dcpp/DownloadManager.cpp:232 #, boost-format msgid "Could not open target file: %1%" -msgstr "" +msgstr "Kunne ikke åbne den valgte fil:: %1%" #: dcpp/ShareManager.cpp:418 msgid "Directory already shared" msgstr "Katalog deles allerede" -#: dcpp/BufferedSocket.cpp:407 dcpp/BufferedSocket.cpp:426 +#: dcpp/BufferedSocket.cpp:404 msgid "Disconnected" msgstr "Afbrudt" @@ -165,7 +170,7 @@ #: dcpp/QueueManager.cpp:545 dcpp/QueueManager.cpp:549 #, boost-format msgid "Duplicate source: %1%" -msgstr "" +msgstr "Kilden findes allerede: %1%" #: dcpp/HashManager.cpp:456 #, boost-format @@ -189,9 +194,9 @@ msgstr "" #: dcpp/HashManager.cpp:118 dcpp/HashManager.cpp:333 -#, boost-format +#, fuzzy, boost-format msgid "Error saving hash data: %1%" -msgstr "" +msgstr "Fejl ved lagering af TTH-data: %1%" #: dcpp/CryptoManager.cpp:226 dcpp/CryptoManager.cpp:230 #: dcpp/CryptoManager.cpp:235 dcpp/CryptoManager.cpp:239 @@ -218,7 +223,7 @@ #: dcpp/ShareManager.cpp:776 #, boost-format msgid "File list refresh failed: %1%" -msgstr "" +msgstr "Opdatering af fillisten mislykkes: %1%" #: dcpp/ShareManager.cpp:820 msgid "File list refresh finished" @@ -240,14 +245,14 @@ msgstr "Filen er ikke tilgængelig" #: dcpp/HashManager.cpp:89 -#, boost-format +#, fuzzy, boost-format msgid "Finished hashing: %1%" -msgstr "" +msgstr "Færdig med at hashe: %1%" #: dcpp/HashManager.cpp:87 -#, boost-format +#, fuzzy, boost-format msgid "Finished hashing: %1% (%2%/s)" -msgstr "" +msgstr "Færdig med at hashe: %1% (%2%/s)" #: dcpp/DownloadManager.cpp:308 msgid "Full tree does not match TTH root" @@ -266,9 +271,9 @@ msgstr "Hash databasen er genopbygget" #: dcpp/HashManager.cpp:73 dcpp/HashManager.cpp:277 -#, boost-format +#, fuzzy, boost-format msgid "Hashing failed: %1%" -msgstr "" +msgstr "Indeksering misslyktes: %1%" #: dcpp/AdcHub.cpp:212 msgid "" @@ -297,7 +302,7 @@ msgid "Listening socket failed (you need to restart %1%): %2%" msgstr "" -#: dcpp/BufferedSocket.cpp:261 +#: dcpp/BufferedSocket.cpp:237 msgid "Maximum command length exceeded" msgstr "Maxsimal længde for kommando overskredet" @@ -313,12 +318,12 @@ msgid "No slots available" msgstr "Ingen ledige slots" -#: dcpp/AdcHub.cpp:576 +#: dcpp/AdcHub.cpp:577 #, boost-format msgid "Not listening for connections - please restart %1%" msgstr "" -#: dcpp/Transfer.cpp:63 dcpp/Transfer.cpp:67 dcpp/ClientManager.cpp:115 +#: dcpp/Transfer.cpp:63 dcpp/Transfer.cpp:67 dcpp/ClientManager.cpp:114 #: dcpp/SearchManager.cpp:267 dcpp/SearchManager.cpp:329 #: dcpp/SearchManager.cpp:331 msgid "Offline" @@ -348,7 +353,7 @@ #: dcpp/CryptoManager.cpp:221 #, boost-format msgid "TLS disabled, failed to generate certificate: %1%" -msgstr "" +msgstr "TLS deaktiveret, det misslykkedes at skabe certifikat: %1%" #: dcpp/CryptoManager.cpp:211 msgid "TLS disabled, no certificate file set" Modified: dcplusplus/trunk/dcpp/po/de.po =================================================================== --- dcplusplus/trunk/dcpp/po/de.po 2008-03-12 21:46:22 UTC (rev 1038) +++ dcplusplus/trunk/dcpp/po/de.po 2008-03-13 22:02:50 UTC (rev 1039) @@ -7,14 +7,14 @@ msgstr "" "Project-Id-Version: dcplusplus\n" "Report-Msgid-Bugs-To: dcp...@li...\n" -"POT-Creation-Date: 2008-03-04 23:00+0100\n" -"PO-Revision-Date: 2008-02-07 14:02+0000\n" +"POT-Creation-Date: 2008-03-12 21:38+0100\n" +"PO-Revision-Date: 2008-03-06 16:59+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-04 21:52+0000\n" +"X-Launchpad-Export-Date: 2008-03-13 15:20+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: dcpp/Util.cpp:381 @@ -50,7 +50,7 @@ #: dcpp/AdcHub.cpp:139 #, boost-format msgid "%1% (%2%) has same CID {%3%} as %4% (%5%), ignoring" -msgstr "" +msgstr "%1% (%2%) hat die gleiche CID {%3%} wie %4% (%5%), wird ignoriert" #: dcpp/NmdcHub.cpp:281 #, boost-format @@ -73,12 +73,12 @@ #: dcpp/AdcHub.cpp:281 #, boost-format msgid "%1% was kicked by %2%: %3%" -msgstr "" +msgstr "%1% wurde von %2% gekickt: %3%" #: dcpp/AdcHub.cpp:284 #, boost-format msgid "%1% was kicked: %2%" -msgstr "" +msgstr "%1% wurde gekickt: %2%" #: dcpp/DownloadManager.cpp:530 #, boost-format @@ -130,8 +130,13 @@ msgid "Certificate not trusted, unable to connect" msgstr "Zertifikat nicht vertrauenswürdig, Verbindung nicht möglich" +#: dcpp/BufferedSocket.cpp:148 +#, fuzzy +msgid "Connection closed" +msgstr "Zeitüberschreitung der Verbindung" + #: dcpp/Socket.cpp:154 dcpp/ConnectionManager.cpp:182 -#: dcpp/BufferedSocket.cpp:154 +#: dcpp/BufferedSocket.cpp:131 msgid "Connection timeout" msgstr "Zeitüberschreitung der Verbindung" @@ -144,7 +149,7 @@ msgid "Directory already shared" msgstr "Verzeichnis ist bereits freigegeben" -#: dcpp/BufferedSocket.cpp:407 dcpp/BufferedSocket.cpp:426 +#: dcpp/BufferedSocket.cpp:404 msgid "Disconnected" msgstr "Getrennt" @@ -209,7 +214,7 @@ #: dcpp/AdcHub.cpp:206 msgid "Failed to negotiate base protocol" -msgstr "" +msgstr "Basisprotokoll konnte nicht bestimmt werden" #: dcpp/Socket.cpp:408 msgid "" @@ -280,6 +285,8 @@ "Hub probably uses an old version of ADC, please encourage the owner to " "upgrade" msgstr "" +"Hub benutzt möglicherweise eine alte Version von ADC. Bitte empfehlen Sie " +"dem Besitzer zu aktualisieren." #: dcpp/DownloadManager.cpp:220 msgid "Invalid size" @@ -298,11 +305,11 @@ msgstr "Kicke User" #: dcpp/ConnectionManager.cpp:230 -#, fuzzy, boost-format +#, boost-format msgid "Listening socket failed (you need to restart %1%): %2%" -msgstr "Lesen vom Socket fehlgeschlagen (DC++ muss neugestartet werden): %1%" +msgstr "Lesen vom Socket fehlgeschlagen (%1% muss neugestartet werden): %2%" -#: dcpp/BufferedSocket.cpp:261 +#: dcpp/BufferedSocket.cpp:237 msgid "Maximum command length exceeded" msgstr "Maximale Befehlslänge überschritten" @@ -318,12 +325,12 @@ msgid "No slots available" msgstr "Keine Slots verfügbar" -#: dcpp/AdcHub.cpp:576 -#, fuzzy, boost-format +#: dcpp/AdcHub.cpp:577 +#, boost-format msgid "Not listening for connections - please restart %1%" -msgstr "Es wird nicht auf Verbindungen gewartet - bitte DC++ neustarten" +msgstr "Es wird nicht auf Verbindungen gewartet - bitte %1% neustarten" -#: dcpp/Transfer.cpp:63 dcpp/Transfer.cpp:67 dcpp/ClientManager.cpp:115 +#: dcpp/Transfer.cpp:63 dcpp/Transfer.cpp:67 dcpp/ClientManager.cpp:114 #: dcpp/SearchManager.cpp:267 dcpp/SearchManager.cpp:329 #: dcpp/SearchManager.cpp:331 msgid "Offline" @@ -338,9 +345,8 @@ msgstr "Alle Unterverzeichnisse entfernen bevor dieses hinzugefügt wird" #: dcpp/DownloadManager.cpp:225 -#, fuzzy msgid "Response does not match request" -msgstr "Kompletter Baum stimmt nicht mit TTH Root überein" +msgstr "Antwort stimmt nicht mit Anfrage überein" #: dcpp/DCPlusPlus.cpp:100 msgid "Shared Files" Modified: dcplusplus/trunk/dcpp/po/el.po =================================================================== --- dcplusplus/trunk/dcpp/po/el.po 2008-03-12 21:46:22 UTC (rev 1038) +++ dcplusplus/trunk/dcpp/po/el.po 2008-03-13 22:02:50 UTC (rev 1039) @@ -7,12 +7,15 @@ msgstr "" "Project-Id-Version: dcpp\n" "Report-Msgid-Bugs-To: dcp...@li...\n" -"POT-Creation-Date: 2008-03-04 23:00+0100\n" -"Last-Translator: <jo...@us...>\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" +"Language-Team: LANGUAGE <LL...@li...>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Launchpad-Export-Date: 2008-03-13 15:20+0000\n" +"X-Generator: Launchpad (build Unknown)\n" #: dcpp/Util.cpp:381 #, c-format, boost-format @@ -124,8 +127,13 @@ msgid "Certificate not trusted, unable to connect" msgstr "Μη ασφαλές πιστοποιητικό, αδύνατη η σύνδεση" +#: dcpp/BufferedSocket.cpp:148 +#, fuzzy +msgid "Connection closed" +msgstr "Σύνδεση εκτός χρόνου" + #: dcpp/Socket.cpp:154 dcpp/ConnectionManager.cpp:182 -#: dcpp/BufferedSocket.cpp:154 +#: dcpp/BufferedSocket.cpp:131 msgid "Connection timeout" msgstr "Σύνδεση εκτός χρόνου" @@ -138,7 +146,7 @@ msgid "Directory already shared" msgstr "Ο φάκελος είναι ήδη κοινόχρηστος" -#: dcpp/BufferedSocket.cpp:407 dcpp/BufferedSocket.cpp:426 +#: dcpp/BufferedSocket.cpp:404 msgid "Disconnected" msgstr "Αποσυνδέθηκε" @@ -294,7 +302,7 @@ msgid "Listening socket failed (you need to restart %1%): %2%" msgstr "" -#: dcpp/BufferedSocket.cpp:261 +#: dcpp/BufferedSocket.cpp:237 msgid "Maximum command length exceeded" msgstr "Υπέρβαση του μέγιστου μήκους εντολής" @@ -310,12 +318,12 @@ msgid "No slots available" msgstr "Δεν υπάρχουν ελεύθερες θέσεις" -#: dcpp/AdcHub.cpp:576 +#: dcpp/AdcHub.cpp:577 #, boost-format msgid "Not listening for connections - please restart %1%" msgstr "" -#: dcpp/Transfer.cpp:63 dcpp/Transfer.cpp:67 dcpp/ClientManager.cpp:115 +#: dcpp/Transfer.cpp:63 dcpp/Transfer.cpp:67 dcpp/ClientManager.cpp:114 #: dcpp/SearchManager.cpp:267 dcpp/SearchManager.cpp:329 #: dcpp/SearchManager.cpp:331 msgid "Offline" Modified: dcplusplus/trunk/dcpp/po/en_GB.po =================================================================== --- dcplusplus/trunk/dcpp/po/en_GB.po 2008-03-12 21:46:22 UTC (rev 1038) +++ dcplusplus/trunk/dcpp/po/en_GB.po 2008-03-13 22:02:50 UTC (rev 1039) @@ -7,14 +7,14 @@ msgstr "" "Project-Id-Version: dcplusplus\n" "Report-Msgid-Bugs-To: dcp...@li...\n" -"POT-Creation-Date: 2008-03-04 23:00+0100\n" -"PO-Revision-Date: 2008-02-28 12:52+0000\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" "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-04 21:52+0000\n" +"X-Launchpad-Export-Date: 2008-03-13 15:20+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: dcpp/Util.cpp:381 @@ -50,7 +50,7 @@ #: dcpp/AdcHub.cpp:139 #, boost-format msgid "%1% (%2%) has same CID {%3%} as %4% (%5%), ignoring" -msgstr "" +msgstr "%1% (%2%) has same CID {%3%} as %4% (%5%), ignoring" #: dcpp/NmdcHub.cpp:281 #, boost-format @@ -72,12 +72,12 @@ #: dcpp/AdcHub.cpp:281 #, boost-format msgid "%1% was kicked by %2%: %3%" -msgstr "" +msgstr "%1% was kicked by %2%: %3%" #: dcpp/AdcHub.cpp:284 #, boost-format msgid "%1% was kicked: %2%" -msgstr "" +msgstr "%1% was kicked: %2%" #: dcpp/DownloadManager.cpp:530 #, boost-format @@ -127,8 +127,13 @@ msgid "Certificate not trusted, unable to connect" msgstr "Certificate not trusted, unable to connect" +#: dcpp/BufferedSocket.cpp:148 +#, fuzzy +msgid "Connection closed" +msgstr "Connection timeout" + #: dcpp/Socket.cpp:154 dcpp/ConnectionManager.cpp:182 -#: dcpp/BufferedSocket.cpp:154 +#: dcpp/BufferedSocket.cpp:131 msgid "Connection timeout" msgstr "Connection timeout" @@ -141,7 +146,7 @@ msgid "Directory already shared" msgstr "Directory already shared" -#: dcpp/BufferedSocket.cpp:407 dcpp/BufferedSocket.cpp:426 +#: dcpp/BufferedSocket.cpp:404 msgid "Disconnected" msgstr "Disconnected" @@ -206,7 +211,7 @@ #: dcpp/AdcHub.cpp:206 msgid "Failed to negotiate base protocol" -msgstr "" +msgstr "Failed to negotiate base protocol" #: dcpp/Socket.cpp:408 msgid "" @@ -277,6 +282,8 @@ "Hub probably uses an old version of ADC, please encourage the owner to " "upgrade" msgstr "" +"Hub probably uses an old version of ADC, please encourage the owner to " +"upgrade" #: dcpp/DownloadManager.cpp:220 msgid "Invalid size" @@ -295,11 +302,11 @@ msgstr "Kick user(s)" #: dcpp/ConnectionManager.cpp:230 -#, fuzzy, boost-format +#, boost-format msgid "Listening socket failed (you need to restart %1%): %2%" -msgstr "Listening socket failed (you need to restart DC++): %1%" +msgstr "Listening socket failed (you need to restart %1%): %2%" -#: dcpp/BufferedSocket.cpp:261 +#: dcpp/BufferedSocket.cpp:237 msgid "Maximum command length exceeded" msgstr "Maximum command length exceeded" @@ -315,12 +322,12 @@ msgid "No slots available" msgstr "No slots available" -#: dcpp/AdcHub.cpp:576 -#, fuzzy, boost-format +#: dcpp/AdcHub.cpp:577 +#, boost-format msgid "Not listening for connections - please restart %1%" -msgstr "Not listening for connections - please restart DC++" +msgstr "Not listening for connections - please restart %1%" -#: dcpp/Transfer.cpp:63 dcpp/Transfer.cpp:67 dcpp/ClientManager.cpp:115 +#: dcpp/Transfer.cpp:63 dcpp/Transfer.cpp:67 dcpp/ClientManager.cpp:114 #: dcpp/SearchManager.cpp:267 dcpp/SearchManager.cpp:329 #: dcpp/SearchManager.cpp:331 msgid "Offline" @@ -335,9 +342,8 @@ msgstr "Remove all subdirectories before adding this one" #: dcpp/DownloadManager.cpp:225 -#, fuzzy msgid "Response does not match request" -msgstr "Full tree does not match TTH root" +msgstr "Response does not match request" #: dcpp/DCPlusPlus.cpp:100 msgid "Shared Files" Modified: dcplusplus/trunk/dcpp/po/es.po =================================================================== --- dcplusplus/trunk/dcpp/po/es.po 2008-03-12 21:46:22 UTC (rev 1038) +++ dcplusplus/trunk/dcpp/po/es.po 2008-03-13 22:02:50 UTC (rev 1039) @@ -7,88 +7,93 @@ msgstr "" "Project-Id-Version: dcpp\n" "Report-Msgid-Bugs-To: dcp...@li...\n" -"POT-Creation-Date: 2008-03-04 23:00+0100\n" -"Last-Translator: <re...@us...>\n" +"POT-Creation-Date: 2008-03-12 21:38+0100\n" +"PO-Revision-Date: 2008-03-07 12:20+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" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Launchpad-Export-Date: 2008-03-13 15:20+0000\n" +"X-Generator: Launchpad (build Unknown)\n" #: dcpp/Util.cpp:381 #, c-format, boost-format msgid "%'lld B" -msgstr "" +msgstr "%'lld B" #: dcpp/Util.cpp:343 #, c-format, boost-format msgid "%.02f GiB" -msgstr "" +msgstr "%.02f GiB" #: dcpp/Util.cpp:339 #, c-format, boost-format msgid "%.02f KiB" -msgstr "" +msgstr "%.02f KiB" #: dcpp/Util.cpp:341 #, c-format, boost-format msgid "%.02f MiB" -msgstr "" +msgstr "%.02f MiB" #: dcpp/Util.cpp:347 #, c-format, boost-format msgid "%.02f PiB" -msgstr "" +msgstr "%.02f PiB" #: dcpp/Util.cpp:345 #, c-format, boost-format msgid "%.02f TiB" -msgstr "" +msgstr "%.02f TiB" #: dcpp/AdcHub.cpp:139 #, boost-format msgid "%1% (%2%) has same CID {%3%} as %4% (%5%), ignoring" -msgstr "" +msgstr "%1% (%2%) tiene el mismo CID {%3%} como %4% (%5%), ignorando" #: dcpp/NmdcHub.cpp:281 #, boost-format msgid "%1% (Nick unknown)" -msgstr "" +msgstr "%1% (Nick desconocido)" #: dcpp/HashManager.cpp:767 #, boost-format msgid "" "%1% not shared; calculated CRC32 does not match the one found in SFV file." msgstr "" +"%1% No compartido; el CRC32 calculado no concuerda con el encontrado en el " +"archivo SFV." #: dcpp/QueueManager.cpp:325 #, boost-format msgid "%1% renamed to %2%" -msgstr "" +msgstr "%1% renombrado a %2%" #: dcpp/AdcHub.cpp:281 #, boost-format msgid "%1% was kicked by %2%: %3%" -msgstr "" +msgstr "% 1% ha sido expulsado de% 2%:% 3%" #: dcpp/AdcHub.cpp:284 #, boost-format msgid "%1% was kicked: %2%" -msgstr "" +msgstr "%1% ha sido expulsado: %2%" #: dcpp/DownloadManager.cpp:530 -#, fuzzy, boost-format +#, boost-format msgid "%1%: File not available" -msgstr "Archivo no disponible" +msgstr "%1%: Archivo no disponible" #: dcpp/Util.cpp:337 #, c-format, boost-format msgid "%d B" -msgstr "" +msgstr "%d B" #: dcpp/Util.cpp:377 #, c-format, boost-format msgid "%s B" -msgstr "" +msgstr "%s B" #: dcpp/QueueManager.cpp:532 msgid "A file of equal or larger size already exists at the target location" @@ -113,39 +118,44 @@ #: dcpp/DownloadManager.cpp:376 msgid "CRC32 inconsistency (SFV-Check)" -msgstr "ERROR de CRC32 (¿fichero corrupto?) (SFV-Check)" +msgstr "Error de CRC32 (SFV-Check)" #: dcpp/DownloadManager.cpp:374 -#, fuzzy, boost-format +#, boost-format msgid "CRC32 inconsistency (SFV-Check) (File: %1%)" -msgstr "ERROR de CRC32 (¿fichero corrupto?) (SFV-Check)" +msgstr "Error de CRC32 (SFV-Check) (Archivo: %1%)" #: dcpp/ConnectionManager.cpp:376 msgid "Certificate not trusted, unable to connect" msgstr "Certificado no confiable, imposible conectar" +#: dcpp/BufferedSocket.cpp:148 +#, fuzzy +msgid "Connection closed" +msgstr "Conexión fuera de tiempo" + #: dcpp/Socket.cpp:154 dcpp/ConnectionManager.cpp:182 -#: dcpp/BufferedSocket.cpp:154 +#: dcpp/BufferedSocket.cpp:131 msgid "Connection timeout" msgstr "Conexión fuera de tiempo" #: dcpp/DownloadManager.cpp:232 #, boost-format msgid "Could not open target file: %1%" -msgstr "" +msgstr "No se puede abrir el archivo de destino: %1%" #: dcpp/ShareManager.cpp:418 msgid "Directory already shared" msgstr "Carpeta ya Compartida" -#: dcpp/BufferedSocket.cpp:407 dcpp/BufferedSocket.cpp:426 +#: dcpp/BufferedSocket.cpp:404 msgid "Disconnected" msgstr "Desconectado" #: dcpp/UploadManager.cpp:450 #, boost-format msgid "Disconnected user leaving the hub: %1%" -msgstr "" +msgstr "Usuario desconectado porque se desconectó del hub:%1%" #: dcpp/DCPlusPlus.cpp:103 msgid "Download Queue" @@ -157,16 +167,18 @@ "Duplicate file will not be shared: %1%%2% (Size: %3% B) Dupe matched " "against: %4%%5%" msgstr "" +"El archivo repetido no será compartido: %1%%2% (Tamaño: %3%) Non " +"Encontrados :%4%%5%" #: dcpp/QueueManager.cpp:545 dcpp/QueueManager.cpp:549 #, boost-format msgid "Duplicate source: %1%" -msgstr "" +msgstr "Fuente Duplicada: %1%" #: dcpp/HashManager.cpp:456 -#, fuzzy, boost-format +#, boost-format msgid "Error creating hash data file: %1%" -msgstr "No se pudo leer el índice de la base de datos" +msgstr "No se pudo leer el índice de la base de datos: %1%" #: dcpp/ZUtils.cpp:33 dcpp/ZUtils.cpp:54 dcpp/ZUtils.cpp:76 dcpp/ZUtils.cpp:86 #: dcpp/BZUtils.cpp:31 dcpp/BZUtils.cpp:52 dcpp/BZUtils.cpp:60 @@ -177,17 +189,17 @@ #: dcpp/BZUtils.cpp:94 dcpp/BZUtils.cpp:97 dcpp/CryptoManager.cpp:342 #: dcpp/CryptoManager.cpp:361 dcpp/CryptoManager.cpp:375 msgid "Error during decompression" -msgstr "Error el la descompresión" +msgstr "Error en la descompresión" #: dcpp/HashManager.cpp:772 #, boost-format msgid "Error hashing %1%: %2%" -msgstr "" +msgstr "Error Indexado %1%: %2%" #: dcpp/HashManager.cpp:118 dcpp/HashManager.cpp:333 #, boost-format msgid "Error saving hash data: %1%" -msgstr "" +msgstr "Error al guardaro información de indexación:%1%" #: dcpp/CryptoManager.cpp:226 dcpp/CryptoManager.cpp:230 #: dcpp/CryptoManager.cpp:235 dcpp/CryptoManager.cpp:239 @@ -201,7 +213,7 @@ #: dcpp/AdcHub.cpp:206 msgid "Failed to negotiate base protocol" -msgstr "" +msgstr "No se ha podido negociar el protocolo base" #: dcpp/Socket.cpp:408 msgid "" @@ -212,9 +224,9 @@ "dirección socks y puerto)" #: dcpp/ShareManager.cpp:776 -#, fuzzy, boost-format +#, boost-format msgid "File list refresh failed: %1%" -msgstr "Refresco de la lista Terminada" +msgstr "Refresco de la lista Fallado:%1%" #: dcpp/ShareManager.cpp:820 msgid "File list refresh finished" @@ -225,6 +237,8 @@ "File list refresh in progress, please wait for it to finish before trying to " "refresh again" msgstr "" +"Refresco de la lista en progreso, por favor espere a que termine este " +"proceso antes que comenzar de nuevo" #: dcpp/ShareManager.cpp:798 msgid "File list refresh initiated" @@ -237,12 +251,12 @@ #: dcpp/HashManager.cpp:89 #, boost-format msgid "Finished hashing: %1%" -msgstr "" +msgstr "Indexado Finalizado:%1%" #: dcpp/HashManager.cpp:87 #, boost-format msgid "Finished hashing: %1% (%2%/s)" -msgstr "" +msgstr "Indexado Finalizado:%1%(%2%/s)" #: dcpp/DownloadManager.cpp:308 msgid "Full tree does not match TTH root" @@ -250,7 +264,7 @@ #: dcpp/CryptoManager.cpp:219 msgid "Generated new TLS certificate" -msgstr "" +msgstr "Generado nuevos certificado TLS" #: dcpp/DCPlusPlus.cpp:97 msgid "Hash database" @@ -263,17 +277,19 @@ #: dcpp/HashManager.cpp:73 dcpp/HashManager.cpp:277 #, boost-format msgid "Hashing failed: %1%" -msgstr "" +msgstr "Indexado Fallado:%1%" #: dcpp/AdcHub.cpp:212 msgid "" "Hub probably uses an old version of ADC, please encourage the owner to " "upgrade" msgstr "" +"Hub probablemente utiliza una versión antigua de ADC, por favor, a fomentar " +"el propietario de actualización" #: dcpp/DownloadManager.cpp:220 msgid "Invalid size" -msgstr "" +msgstr "Tamaño no válido" #: dcpp/QueueManager.cpp:515 dcpp/QueueManager.cpp:523 msgid "" @@ -290,9 +306,9 @@ #: dcpp/ConnectionManager.cpp:230 #, boost-format msgid "Listening socket failed (you need to restart %1%): %2%" -msgstr "" +msgstr "Falló Socket de Escucha (Es necesario reiniciar %1%): %2%" -#: dcpp/BufferedSocket.cpp:261 +#: dcpp/BufferedSocket.cpp:237 msgid "Maximum command length exceeded" msgstr "Tamaño máximo del comando excedido" @@ -308,12 +324,12 @@ msgid "No slots available" msgstr "Sin Slots Disponibles" -#: dcpp/AdcHub.cpp:576 +#: dcpp/AdcHub.cpp:577 #, boost-format msgid "Not listening for connections - please restart %1%" -msgstr "" +msgstr "No escuchando conexiones - por favor reinicie %1%" -#: dcpp/Transfer.cpp:63 dcpp/Transfer.cpp:67 dcpp/ClientManager.cpp:115 +#: dcpp/Transfer.cpp:63 dcpp/Transfer.cpp:67 dcpp/ClientManager.cpp:114 #: dcpp/SearchManager.cpp:267 dcpp/SearchManager.cpp:329 #: dcpp/SearchManager.cpp:331 msgid "Offline" @@ -328,7 +344,6 @@ msgstr "Eliminar todas los subcarpetas antes de agregar este" #: dcpp/DownloadManager.cpp:225 -#, fuzzy msgid "Response does not match request" msgstr "La estructura del árbol TTH no es correcta" @@ -343,9 +358,9 @@ "erronea?)" #: dcpp/CryptoManager.cpp:221 -#, fuzzy, boost-format +#, boost-format msgid "TLS disabled, failed to generate certificate: %1%" -msgstr "TLS desactivado, no hay definido un certificado" +msgstr "TLS desactivado, no hay definido un certificado: %1%" #: dcpp/CryptoManager.cpp:211 msgid "TLS disabled, no certificate file set" @@ -357,7 +372,7 @@ #: dcpp/QueueManager.cpp:798 msgid "Target removed" -msgstr "" +msgstr "Archivo destino eliminado" #: dcpp/Socket.cpp:255 msgid "The socks server doesn't support login / password authentication" @@ -387,26 +402,26 @@ #: dcpp/QueueManager.cpp:995 #, boost-format msgid "Unable to open filelist: %1%" -msgstr "" +msgstr "Imposible abrir Lista de Archivos:%1%" #: dcpp/HashManager.cpp:131 msgid "Unable to read hash data file" msgstr "No se pudo leer el índice de la base de datos" #: dcpp/QueueManager.cpp:327 -#, fuzzy, boost-format +#, boost-format msgid "Unable to rename %1%: %2%" -msgstr "No se puede iniciar tarea (crear nuevo thread)" +msgstr "No se puede renombrar %1%: %2%" #: dcpp/UploadManager.cpp:149 #, boost-format msgid "Unable to send file %1%: %2%" -msgstr "" +msgstr "Imposible enviar archivo %1%: %2%" #: dcpp/Socket.cpp:54 #, c-format, boost-format msgid "Unknown error: 0x%1$x" -msgstr "" +msgstr "Error Desconocido: 0x%1$x" #: dcpp/ShareManager.cpp:426 dcpp/ShareManager.cpp:468 msgid "Virtual directory name already exists" @@ -418,8 +433,8 @@ #: dcpp/SettingsManager.cpp:156 msgid "downloaded from" -msgstr "" +msgstr "descargado desde" #: dcpp/SettingsManager.cpp:157 msgid "uploaded to" -msgstr "" +msgstr "enviado a" Modified: dcplusplus/trunk/dcpp/po/fi.po =================================================================== --- dcplusplus/trunk/dcpp/po/fi.po 2008-03-12 21:46:22 UTC (rev 1038) +++ dcplusplus/trunk/dcpp/po/fi.po 2008-03-13 22:02:50 UTC (rev 1039) @@ -1,154 +1,166 @@ # Finnish translations for the DC++ package. # Copyright (C) 2008 The translators # This file is distributed under the same license as the DC++ package. -# <maa...@us...>, 2008. +# <ma...@ad...>, 2008. # msgid "" msgstr "" "Project-Id-Version: dcpp\n" "Report-Msgid-Bugs-To: dcp...@li...\n" -"POT-Creation-Date: 2008-03-04 23:00+0100\n" -"Last-Translator: <maa...@us...>\n" +"POT-Creation-Date: 2008-03-12 21:38+0100\n" +"PO-Revision-Date: 2008-03-09 09:09+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" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Launchpad-Export-Date: 2008-03-13 15:20+0000\n" +"X-Generator: Launchpad (build Unknown)\n" #: dcpp/Util.cpp:381 #, c-format, boost-format msgid "%'lld B" -msgstr "" +msgstr "%'lld t" #: dcpp/Util.cpp:343 #, c-format, boost-format msgid "%.02f GiB" -msgstr "" +msgstr "%.02f Gt" #: dcpp/Util.cpp:339 #, c-format, boost-format msgid "%.02f KiB" -msgstr "" +msgstr "%.02f Kt" #: dcpp/Util.cpp:341 #, c-format, boost-format msgid "%.02f MiB" -msgstr "" +msgstr "%.02f Mt" #: dcpp/Util.cpp:347 #, c-format, boost-format msgid "%.02f PiB" -msgstr "" +msgstr "%.02f Pt" #: dcpp/Util.cpp:345 #, c-format, boost-format msgid "%.02f TiB" -msgstr "" +msgstr "%.02f Tt" #: dcpp/AdcHub.cpp:139 #, boost-format msgid "%1% (%2%) has same CID {%3%} as %4% (%5%), ignoring" -msgstr "" +msgstr "%1% (%2%) on sama CID {%3%} kuin käyttäjällä %4% (%5%), hylätään" #: dcpp/NmdcHub.cpp:281 #, boost-format msgid "%1% (Nick unknown)" -msgstr "" +msgstr "%1% (nimimerkki tuntematon)" #: dcpp/HashManager.cpp:767 #, boost-format msgid "" "%1% not shared; calculated CRC32 does not match the one found in SFV file." msgstr "" +"Tiedostoa %1% ei jaeta; laskettu CRC32 ei vastaa SFV-tiedostossa olevaa " +"arvoa." #: dcpp/QueueManager.cpp:325 #, boost-format msgid "%1% renamed to %2%" -msgstr "" +msgstr "%1% nimettiin tiedostoksi %2%" #: dcpp/AdcHub.cpp:281 #, boost-format msgid "%1% was kicked by %2%: %3%" -msgstr "" +msgstr "%2% potkaisi käyttäjän %1%: %3%" #: dcpp/AdcHub.cpp:284 #, boost-format msgid "%1% was kicked: %2%" -msgstr "" +msgstr "%1% potkaistiin: %2%" #: dcpp/DownloadManager.cpp:530 -#, fuzzy, boost-format +#, boost-format msgid "%1%: File not available" -msgstr "Häh, tätä fisua ei näy enä ton ämpärissä!" +msgstr "%1%: Tiedosto ei saatavilla" #: dcpp/Util.cpp:337 #, c-format, boost-format msgid "%d B" -msgstr "" +msgstr "%d t" #: dcpp/Util.cpp:377 #, c-format, boost-format msgid "%s B" -msgstr "" +msgstr "%s t" #: dcpp/QueueManager.cpp:532 msgid "A file of equal or larger size already exists at the target location" -msgstr "Samanpainoinen / suurempi fisu on jo ämpärissä!" +msgstr "Kohdehakemistossa on jo samanniminen tai -kokoinen tiedosto" #: dcpp/QueueManager.cpp:475 msgid "A file with a different size already exists in the queue" -msgstr "Muuten sama mutta eripainoinen fisu on jo menossa ämpäriin" +msgstr "Samanniminen, mutta eri kokoinen tiedosto on jo latausjonossa" #: dcpp/QueueManager.cpp:478 msgid "A file with different tth root already exists in the queue" -msgstr "Muuten sama fisu mutta eri kaulapannalla (TTH) on jo menossa ämpäriin" +msgstr "" +"Samanniminen, mutta eri TTH-tarkistussummalla oleva tiedosto on jo " +"latausjonossa" #: dcpp/QueueManager.cpp:442 msgid "A file with the same hash already exists in your share" -msgstr "Samalla pannalla (tth) oleva fisu löytyy jo jakoämpäristäsi" +msgstr "Samalla TTH-tarkistussummalla oleva tiedosto jo jaossa" #: dcpp/ConnectionManager.cpp:176 msgid "All download slots taken" -msgstr "Kaikissa koukuissa nykii jo, hanki lisä siimoja..." +msgstr "Kaikki latauspaikat käytössä" #: dcpp/DownloadManager.cpp:376 msgid "CRC32 inconsistency (SFV-Check)" msgstr "CRC32-ristiriita (SFV-tarkastus)" #: dcpp/DownloadManager.cpp:374 -#, fuzzy, boost-format +#, boost-format msgid "CRC32 inconsistency (SFV-Check) (File: %1%)" -msgstr "CRC32-ristiriita (SFV-tarkastus)" +msgstr "CRC32-ristiriita (SFV-tarkastus) (tiedosto: %1%)" #: dcpp/ConnectionManager.cpp:376 msgid "Certificate not trusted, unable to connect" -msgstr "Tohon kalastuslupaan ei luoteta" +msgstr "Ei luotettu sertifikaatti, ei voi yhdistää" +#: dcpp/BufferedSocket.cpp:148 +#, fuzzy +msgid "Connection closed" +msgstr "Yhteyden aikakatkaisu" + #: dcpp/Socket.cpp:154 dcpp/ConnectionManager.cpp:182 -#: dcpp/BufferedSocket.cpp:154 +#: dcpp/BufferedSocket.cpp:131 msgid "Connection timeout" -msgstr "Tä viehe ei vaan tunnu nykivän..." +msgstr "Yhteyden aikakatkaisu" #: dcpp/DownloadManager.cpp:232 #, boost-format msgid "Could not open target file: %1%" -msgstr "" +msgstr "Kohdetiedostoa ei voitu avata: %1%" #: dcpp/ShareManager.cpp:418 msgid "Directory already shared" -msgstr "Tämä ämpäri on jo jaossa!" +msgstr "Kansio on jo jaettu" -#: dcpp/BufferedSocket.cpp:407 dcpp/BufferedSocket.cpp:426 +#: dcpp/BufferedSocket.cpp:404 msgid "Disconnected" -msgstr "Voi per... siima katkes !" +msgstr "Yhteys katkaistu" #: dcpp/UploadManager.cpp:450 #, boost-format msgid "Disconnected user leaving the hub: %1%" -msgstr "" +msgstr "Katkaistiin yhteys hubista lähtevään käyttäjään: %1%" #: dcpp/DCPlusPlus.cpp:103 msgid "Download Queue" -msgstr "Saalisämpärit" +msgstr "Latausjono" #: dcpp/ShareManager.cpp:741 #, boost-format @@ -156,266 +168,272 @@ "Duplicate file will not be shared: %1%%2% (Size: %3% B) Dupe matched " "against: %4%%5%" msgstr "" +"Tuplatiedostoja ei jaeta: %1%%2% (koko: %3% t) täsmäsi tiedostoon: %4%%5%" #: dcpp/QueueManager.cpp:545 dcpp/QueueManager.cpp:549 #, boost-format msgid "Duplicate source: %1%" -msgstr "" +msgstr "Sama lähde: %1%" #: dcpp/HashManager.cpp:456 -#, fuzzy, boost-format +#, boost-format msgid "Error creating hash data file: %1%" -msgstr "Karille meni järjestelyt..." +msgstr "Virhe tarkistussummatietokantatiedoston luonnissa: %1%" #: dcpp/ZUtils.cpp:33 dcpp/ZUtils.cpp:54 dcpp/ZUtils.cpp:76 dcpp/ZUtils.cpp:86 #: dcpp/BZUtils.cpp:31 dcpp/BZUtils.cpp:52 dcpp/BZUtils.cpp:60 msgid "Error during compression" -msgstr "Survottu surkeasti, sori..." +msgstr "Virhe pakkaamisessa" #: dcpp/ZUtils.cpp:100 dcpp/ZUtils.cpp:123 dcpp/BZUtils.cpp:72 #: dcpp/BZUtils.cpp:94 dcpp/BZUtils.cpp:97 dcpp/CryptoManager.cpp:342 #: dcpp/CryptoManager.cpp:361 dcpp/CryptoManager.cpp:375 msgid "Error during decompression" -msgstr "Virhe survoksen käsittelyssä, ei siitä enä fisua saa!" +msgstr "Virhe purkamisessa" #: dcpp/HashManager.cpp:772 #, boost-format msgid "Error hashing %1%: %2%" -msgstr "" +msgstr "Virhe tarkistussumman luonnissa tiedostolle %1%: %2%" #: dcpp/HashManager.cpp:118 dcpp/HashManager.cpp:333 #, boost-format msgid "Error saving hash data: %1%" -msgstr "" +msgstr "Virhe tallennettaessa tarkistussummaa: %1%" #: dcpp/CryptoManager.cpp:226 dcpp/CryptoManager.cpp:230 #: dcpp/CryptoManager.cpp:235 dcpp/CryptoManager.cpp:239 msgid "Failed to load certificate file" -msgstr "Epäonnea pyydettäessä kalastuslupaa" +msgstr "Sertifikaattitiedoston lataaminen epäonnistui" #: dcpp/CryptoManager.cpp:244 dcpp/CryptoManager.cpp:248 #: dcpp/CryptoManager.cpp:253 dcpp/CryptoManager.cpp:257 msgid "Failed to load private key" -msgstr "Epäonnea pyydettäessä yksityisavainta" +msgstr "Yksityisavaimen lataaminen epäonnistui" #: dcpp/AdcHub.cpp:206 msgid "Failed to negotiate base protocol" -msgstr "" +msgstr "Perusprotokollan neuvottelu epäonnistui" #: dcpp/Socket.cpp:408 msgid "" "Failed to set up the socks server for UDP relay (check socks address and " "port)" msgstr "" -"Vaimon sukat eivät mahdu jalkaan UDP-ohjauksella (tarkista koordinaatti ja " +"Socks-palvelimelle ei voitu määrittää UDP-ohjausta (tarkista osoite ja " "portti)" #: dcpp/ShareManager.cpp:776 -#, fuzzy, boost-format +#, boost-format msgid "File list refresh failed: %1%" -msgstr "Jakoämpärit järjestetty" +msgstr "Tiedostolistan päivitys epäonnistui: %1%" #: dcpp/ShareManager.cpp:820 msgid "File list refresh finished" -msgstr "Jakoämpärit järjestetty" +msgstr "Tiedostolistan päivitys valmis" #: dcpp/ShareManager.cpp:756 msgid "" "File list refresh in progress, please wait for it to finish before trying to " "refresh again" -msgstr "Jakoämpäriä putsataan... haisee edelleen... " +msgstr "" +"Tiedostolistan päivitys kesken, odota että se päättyy ennen kuin päivität " +"uudelleen" #: dcpp/ShareManager.cpp:798 msgid "File list refresh initiated" -msgstr "Jakoämpäriä siivotaan, kalanhaju on kuvottava..." +msgstr "Tiedostolistaa päivitetään..." #: dcpp/DirectoryListing.cpp:102 msgid "File not available" -msgstr "Häh, tätä fisua ei näy enä ton ämpärissä!" +msgstr "Tiedosto ei saatavilla" #: dcpp/HashManager.cpp:89 #, boost-format msgid "Finished hashing: %1%" -msgstr "" +msgstr "Tarkistussumman luonti valmis: %1%" #: dcpp/HashManager.cpp:87 #, boost-format msgid "Finished hashing: %1% (%2%/s)" -msgstr "" +msgstr "Tarkistussumman luonti valmis: %1% (%2%/s)" #: dcpp/DownloadManager.cpp:308 msgid "Full tree does not match TTH root" -msgstr "Värä vana - vaihda reittiä!" +msgstr "Hakemistopolku ei vastaa TTH-tarkistussummaa" #: dcpp/CryptoManager.cpp:219 msgid "Generated new TLS certificate" -msgstr "Kalastuslupa myönnetty" +msgstr "Uusi TLS-serfifikaatti luotu" #: dcpp/DCPlusPlus.cpp:97 msgid "Hash database" -msgstr "jakoämpärin tietokanta" +msgstr "Tarkistussummatietokanta" #: dcpp/HashManager.cpp:677 msgid "Hash database rebuilt" -msgstr "Siivoa jakoämpärisi uudelleen" +msgstr "Tarkistussummatietokanta koottu uudelleen" #: dcpp/HashManager.cpp:73 dcpp/HashManager.cpp:277 #, boost-format msgid "Hashing failed: %1%" -msgstr "" +msgstr "Tarkistussumman luonti epäonnistui: %1%" #: dcpp/AdcHub.cpp:212 msgid "" "Hub probably uses an old version of ADC, please encourage the owner to " "upgrade" msgstr "" +"Hubi todennäköisesti käyttää vanhaa ADC-versiota, kehota omistajaa " +"päivittämään" #: dcpp/DownloadManager.cpp:220 msgid "Invalid size" -msgstr "Liian pieni fisu" +msgstr "Virheellinen koko" #: dcpp/QueueManager.cpp:515 dcpp/QueueManager.cpp:523 msgid "" "Invalid target file (missing directory, check default download directory " "setting)" -msgstr "Tallennat fisua, mutta ämpärikö puuttuu? - vaihdettava!" +msgstr "" +"Kohdetiedosto ei kelpaa (puuttuva kansio, tarkista latauskansio asetuksista)" #: dcpp/FavoriteManager.cpp:438 msgid "Kick user(s)" -msgstr "Vedä kölin ali kalamies/miehet" +msgstr "Potkaise käyttäjä(t)" #: dcpp/ConnectionManager.cpp:230 #, boost-format msgid "Listening socket failed (you need to restart %1%): %2%" -msgstr "" +msgstr "Kuuntelukahvavirhe (käynnistä %1% uudestaan): %2%" -#: dcpp/BufferedSocket.cpp:261 +#: dcpp/BufferedSocket.cpp:237 msgid "Maximum command length exceeded" -msgstr "Ei saa puhua veneessä - ainakaan noin helvetin pitkän!" +msgstr "Suurin komennon pituus ylitettiin" #: dcpp/DownloadManager.cpp:280 msgid "More data was sent than was expected" -msgstr "Fisu painoi enemmän kuin miltä näytti" +msgstr "Enemmän dataa lähetettiin kuin odotettiin" #: dcpp/ShareManager.cpp:403 msgid "No directory specified" -msgstr "Ämpäriä ei ole märitetty!" +msgstr "Kansioita ei määritetty" #: dcpp/DownloadManager.cpp:419 msgid "No slots available" -msgstr "Ei voi heittä, liikaa ruuhkaa..." +msgstr "Ei vapaita latauspaikkoja" -#: dcpp/AdcHub.cpp:576 +#: dcpp/AdcHub.cpp:577 #, boost-format msgid "Not listening for connections - please restart %1%" -msgstr "" +msgstr "Ei kuunnella yhteyksiä - käynnistä %1% uudestaan" -#: dcpp/Transfer.cpp:63 dcpp/Transfer.cpp:67 dcpp/ClientManager.cpp:115 +#: dcpp/Transfer.cpp:63 dcpp/Transfer.cpp:67 dcpp/ClientManager.cpp:114 #: dcpp/SearchManager.cpp:267 dcpp/SearchManager.cpp:329 #: dcpp/SearchManager.cpp:331 msgid "Offline" -msgstr "Rannalla" +msgstr "Offline-tilassa" #: dcpp/FavoriteManager.cpp:442 msgid "Redirect user(s)" -msgstr "Opasta käyttäjä muualle" +msgstr "Uudelleenohjaa käyttäjä(t)" #: dcpp/ShareManager.cpp:421 msgid "Remove all subdirectories before adding this one" -msgstr "Poista kaikki ala-ämpärit ennen tämän lisämistä" +msgstr "Poista kaikki alihakemistot ennen tämän lisäämistä" #: dcpp/DownloadManager.cpp:225 -#, fuzzy msgid "Response does not match request" -msgstr "Värä vana - vaihda reittiä!" +msgstr "Vastaus ei täsmää pyyntöön" #: dcpp/DCPlusPlus.cpp:100 msgid "Shared Files" -msgstr "Luovutettavat fisut lastataan ruumaan" +msgstr "Jaetut tiedostot" #: dcpp/Socket.cpp:269 dcpp/Socket.cpp:273 msgid "Socks server authentication failed (bad login / password?)" -msgstr "Vaimon sukkien pukeminen epäonnistui (värä käyttäjätunnus / salasana?)" +msgstr "" +"Socks-palvelimelle kirjautuminen epäonnistui (väärä käyttäjätunnus / " +"salasana?)" #: dcpp/CryptoManager.cpp:221 -#, fuzzy, boost-format +#, boost-format msgid "TLS disabled, failed to generate certificate: %1%" -msgstr "TLS poissa pältä, ei kalastuslupaa" +msgstr "TLS ei käytössä, sertifikaatin luonti epäonnistui: %1%" #: dcpp/CryptoManager.cpp:211 msgid "TLS disabled, no certificate file set" -msgstr "TLS poissa pältä, ei kalastuslupaa" +msgstr "TLS ei käytössä, sertifikaattitiedostoja ei ole asetettu" #: dcpp/QueueManager.cpp:510 dcpp/QueueManager.cpp:519 msgid "Target filename too long" -msgstr "Fisun nimi on liian pitkä" +msgstr "Kohdetiedoston nimi on liian pitkä" #: dcpp/QueueManager.cpp:798 msgid "Target removed" -msgstr "Fisu poistettu" +msgstr "Kohde poistettu" #: dcpp/Socket.cpp:255 msgid "The socks server doesn't support login / password authentication" -msgstr "Vaimon sukkapalvelin ei tue käyttäjä/salasana tunnistusta" +msgstr "Socks-palvelin ei tue käyttäjä-/salasana-tunnistusta" #: dcpp/Socket.cpp:162 dcpp/Socket.cpp:173 dcpp/Socket.cpp:206 #: dcpp/Socket.cpp:210 dcpp/Socket.cpp:237 dcpp/Socket.cpp:252 msgid "The socks server failed establish a connection" -msgstr "Vaimon sukat jalassa ei voitu heittä viehettä" +msgstr "Socks-palvelin ei voinut avata yhteyttä" #: dcpp/Socket.cpp:241 msgid "The socks server requires authentication" -msgstr "Vaimon sukat pitä laittaa jalkaan (kirjaudu)" +msgstr "Socks-palvelin vaatii kirjautumisen" #: dcpp/ShareManager.cpp:407 msgid "The temporary download directory cannot be shared" -msgstr "" -"Vasta siimassa nykiviä fisuja ei voi luovuttaa...huijarit vedetän kölin ali" +msgstr "Keskeneräisten tiedostojen kansiota ei voi jakaa" #: dcpp/QueueManager.cpp:465 msgid "This file is already queued" -msgstr "Tä fisu on jo menossa ämpäriin!" +msgstr "Tämä tiedosto on jo latausjonossa" #: dcpp/Thread.cpp:34 dcpp/Thread.cpp:42 msgid "Unable to create thread" -msgstr "Siimaa ei saatu suoraksi" +msgstr "Säiettä ei voitu luoda" #: dcpp/QueueManager.cpp:995 #, boost-format msgid "Unable to open filelist: %1%" -msgstr "" +msgstr "Ei pysty avaamaan tiedostolistaa: %1%" #: dcpp/HashManager.cpp:131 msgid "Unable to read hash data file" -msgstr "Karille meni järjestelyt..." +msgstr "Ei pysty lukemaan TTH-tietokantatiedostoa" #: dcpp/QueueManager.cpp:327 -#, fuzzy, boost-format +#, boost-format msgid "Unable to rename %1%: %2%" -msgstr "Siimaa ei saatu suoraksi" +msgstr "Ei pysty uudelleennimeämään tiedostoa %1%: %2%" #: dcpp/UploadManager.cpp:149 #, boost-format msgid "Unable to send file %1%: %2%" -msgstr "" +msgstr "Ei pysty lähettämään tiedostoa %1%: %2%" #: dcpp/Socket.cpp:54 #, c-format, boost-format msgid "Unknown error: 0x%1$x" -msgstr "" +msgstr "Tuntematon virhe: 0x%1$x" #: dcpp/ShareManager.cpp:426 dcpp/ShareManager.cpp:468 msgid "Virtual directory name already exists" -msgstr "Tämä virtuaalisen ämpärin nimi on jo olemassa" +msgstr "Virtuaalinen kansionimi on jo olemassa" #: dcpp/QueueManager.cpp:412 dcpp/QueueManager.cpp:436 msgid "You're trying to download from yourself!" -msgstr "Jaa... Heitit sitte omaan ämpäriin!?!" +msgstr "Yrität ladata itseltäsi!" #: dcpp/SettingsManager.cpp:156 msgid "downloaded from" -msgstr "" +msgstr "ladattu käyttäjältä" #: dcpp/SettingsManager.cpp:157 msgid "uploaded to" -msgstr "" +msgstr "lähetetty käyttäjälle" Modified: dcplusplus/trunk/dcpp/po/fr.po =================================================================== --- dcplusplus/trunk/dcpp/po/fr.po 2008-03-12 21:46:22 UTC (rev 1038) +++ dcplusplus/trunk/dcpp/po/fr.po 2008-03-13 22:02:50 UTC (rev 1039) @@ -7,14 +7,14 @@ msgstr "" "Project-Id-Version: dcpp\n" "Report-Msgid-Bugs-To: dcp...@li...\n" -"POT-Creation-Date: 2008-03-04 23:00+0100\n" -"PO-Revision-Date: 2008-02-07 11:12+0000\n" +"POT-Creation-Date: 2008-03-12 21:38+0100\n" +"PO-Revision-Date: 2008-03-05 09:45+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-04 21:52+0000\n" +"X-Launchpad-Export-Date: 2008-03-13 15:20+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: dcpp/Util.cpp:381 @@ -50,7 +50,7 @@ #: dcpp/AdcHub.cpp:139 #, boost-format msgid "%1% (%2%) has same CID {%3%} as %4% (%5%), ignoring" -msgstr "" +msgstr "%1% (%2%) a le mème CID {%3%} que %4% (%5%), ignore" #: dcpp/NmdcHub.cpp:281 #, boost-format @@ -73,12 +73,12 @@ #: dcpp/AdcHub.cpp:281 #, boost-format msgid "%1% was kicked by %2%: %3%" -msgstr "" +msgstr "%1% a été expulsé par %2%: %3%" #: dcpp/AdcHub.cpp:284 #, boost-format msgid "%1% was kicked: %2%" -msgstr "" +msgstr "%1% a été expulsé: %2%" #: dcpp/DownloadManager.cpp:530 #, boost-format @@ -131,8 +131,13 @@ msgid "Certificate not trusted, unable to connect" 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é" + #: dcpp/Socket.cpp:154 dcpp/ConnectionManager.cpp:182 -#: dcpp/BufferedSocket.cpp:154 +#: dcpp/BufferedSocket.cpp:131 msgid "Connection timeout" msgstr "Temps d'attente dépassé" @@ -145,7 +150,7 @@ msgid "Directory already shared" msgstr "Répertoire déjà partagé" -#: dcpp/BufferedSocket.cpp:407 dcpp/BufferedSocket.cpp:426 +#: dcpp/BufferedSocket.cpp:404 msgid "Disconnected" msgstr "Déconnecté" @@ -210,7 +215,7 @@ #: dcpp/AdcHub.cpp:206 msgid "Failed to negotiate base protocol" -msgstr "" +msgstr "Impossible de négocier le protocole de base" #: dcpp/Socket.cpp:408 msgid "" @@ -281,6 +286,8 @@ "Hub probably uses an old version of ADC, please encourage the owner to " "upgrade" msgstr "" +"L' Hub utilise probablement une ancienne version de ADC, s’il vous plaît " +"encourager le propriétaire à améliorer" #: dcpp/DownloadManager.cpp:220 msgid "Invalid size" @@ -299,11 +306,11 @@ msgstr "Kicker utilisateur(s)" #: dcpp/ConnectionManager.cpp:230 -#, fuzzy, boost-format +#, boost-format msgid "Listening socket failed (you need to restart %1%): %2%" -msgstr "Echec du socket d'écoute (vous devez redémarrer DC++): %1%" +msgstr "Echec du socket d'écoute (vous devez redémarrer %1%): %2%" -#: dcpp/BufferedSocket.cpp:261 +#: dcpp/BufferedSocket.cpp:237 msgid "Maximum command length exceeded" msgstr "Dépassement de la longueur maximale de la commande" @@ -319,12 +326,12 @@ msgid "No slots available" msgstr "Pas de slot disponible" -#: dcpp/AdcHub.cpp:576 -#, fuzzy, boost-format +#: dcpp/AdcHub.cpp:577 +#, boost-format msgid "Not listening for connections... [truncated message content] |
From: <pie...@us...> - 2008-03-14 22:13:59
|
Revision: 1040 http://dcplusplus.svn.sourceforge.net/dcplusplus/?rev=1040&view=rev Author: pietricica Date: 2008-03-14 15:13:55 -0700 (Fri, 14 Mar 2008) Log Message: ----------- edited changelog, nsi , version and some small errors in some po files. Modified Paths: -------------- dcplusplus/trunk/DCPlusPlus.nsi dcplusplus/trunk/changelog.txt dcplusplus/trunk/dcpp/po/es.po dcplusplus/trunk/dcpp/version.h dcplusplus/trunk/win32/DCPlusPlus.rc dcplusplus/trunk/win32/po/es.po dcplusplus/trunk/win32/po/ro.po Modified: dcplusplus/trunk/DCPlusPlus.nsi =================================================================== --- dcplusplus/trunk/DCPlusPlus.nsi 2008-03-13 22:02:50 UTC (rev 1039) +++ dcplusplus/trunk/DCPlusPlus.nsi 2008-03-14 22:13:55 UTC (rev 1040) @@ -64,6 +64,127 @@ File "LICENSE-OpenSSL.txt" File "mingwm10.dll" File "magnet.exe" + SetOutPath "$INSTDIR\locale\ar\LC_MESSAGES\" +File "locale\ar\LC_MESSAGES\dcpp-win32.mo" +File "locale\ar\LC_MESSAGES\libdcpp.mo" +SetOutPath "$INSTDIR\locale\bg\LC_MESSAGES\" +File "locale\bg\LC_MESSAGES\dcpp-win32.mo" +File "locale\bg\LC_MESSAGES\libdcpp.mo" +SetOutPath "$INSTDIR\locale\bs\LC_MESSAGES\" +File "locale\bs\LC_MESSAGES\dcpp-win32.mo" +File "locale\bs\LC_MESSAGES\libdcpp.mo" +SetOutPath "$INSTDIR\locale\ca\LC_MESSAGES\" +File "locale\ca\LC_MESSAGES\dcpp-win32.mo" +File "locale\ca\LC_MESSAGES\libdcpp.mo" +SetOutPath "$INSTDIR\locale\cs\LC_MESSAGES\" +File "locale\cs\LC_MESSAGES\dcpp-win32.mo" +File "locale\cs\LC_MESSAGES\libdcpp.mo" +SetOutPath "$INSTDIR\locale\da\LC_MESSAGES\" +File "locale\da\LC_MESSAGES\dcpp-win32.mo" +File "locale\da\LC_MESSAGES\libdcpp.mo" +SetOutPath "$INSTDIR\locale\de\LC_MESSAGES\" +File "locale\de\LC_MESSAGES\dcpp-win32.mo" +File "locale\de\LC_MESSAGES\libdcpp.mo" +SetOutPath "$INSTDIR\locale\el\LC_MESSAGES\" +File "locale\el\LC_MESSAGES\dcpp-win32.mo" +File "locale\el\LC_MESSAGES\libdcpp.mo" +SetOutPath "$INSTDIR\locale\en_GB\LC_MESSAGES\" +File "locale\en_GB\LC_MESSAGES\dcpp-win32.mo" +File "locale\en_GB\LC_MESSAGES\libdcpp.mo" +SetOutPath "$INSTDIR\locale\es\LC_MESSAGES\" +File "locale\es\LC_MESSAGES\dcpp-win32.mo" +File "locale\es\LC_MESSAGES\libdcpp.mo" +SetOutPath "$INSTDIR\locale\fi\LC_MESSAGES\" +File "locale\fi\LC_MESSAGES\dcpp-win32.mo" +File "locale\fi\LC_MESSAGES\libdcpp.mo" +SetOutPath "$INSTDIR\locale\fr\LC_MESSAGES\" +File "locale\fr\LC_MESSAGES\dcpp-win32.mo" +File "locale\fr\LC_MESSAGES\libdcpp.mo" +SetOutPath "$INSTDIR\locale\gl\LC_MESSAGES\" +File "locale\gl\LC_MESSAGES\dcpp-win32.mo" +File "locale\gl\LC_MESSAGES\libdcpp.mo" +SetOutPath "$INSTDIR\locale\he\LC_MESSAGES\" +File "locale\he\LC_MESSAGES\dcpp-win32.mo" +File "locale\he\LC_MESSAGES\libdcpp.mo" +SetOutPath "$INSTDIR\locale\hr\LC_MESSAGES\" +File "locale\hr\LC_MESSAGES\dcpp-win32.mo" +File "locale\hr\LC_MESSAGES\libdcpp.mo" +SetOutPath "$INSTDIR\locale\hu\LC_MESSAGES\" +File "locale\hu\LC_MESSAGES\dcpp-win32.mo" +File "locale\hu\LC_MESSAGES\libdcpp.mo" +SetOutPath "$INSTDIR\locale\id\LC_MESSAGES\" +File "locale\id\LC_MESSAGES\dcpp-win32.mo" +File "locale\id\LC_MESSAGES\libdcpp.mo" +SetOutPath "$INSTDIR\locale\is\LC_MESSAGES\" +File "locale\is\LC_MESSAGES\dcpp-win32.mo" +File "locale\is\LC_MESSAGES\libdcpp.mo" +SetOutPath "$INSTDIR\locale\it\LC_MESSAGES\" +File "locale\it\LC_MESSAGES\dcpp-win32.mo" +File "locale\it\LC_MESSAGES\libdcpp.mo" +SetOutPath "$INSTDIR\locale\ja\LC_MESSAGES\" +File "locale\ja\LC_MESSAGES\dcpp-win32.mo" +File "locale\ja\LC_MESSAGES\libdcpp.mo" +SetOutPath "$INSTDIR\locale\km\LC_MESSAGES\" +File "locale\km\LC_MESSAGES\dcpp-win32.mo" +File "locale\km\LC_MESSAGES\libdcpp.mo" +SetOutPath "$INSTDIR\locale\ko\LC_MESSAGES\" +File "locale\ko\LC_MESSAGES\dcpp-win32.mo" +File "locale\ko\LC_MESSAGES\libdcpp.mo" +SetOutPath "$INSTDIR\locale\lt\LC_MESSAGES\" +File "locale\lt\LC_MESSAGES\dcpp-win32.mo" +File "locale\lt\LC_MESSAGES\libdcpp.mo" +SetOutPath "$INSTDIR\locale\lv\LC_MESSAGES\" +File "locale\lv\LC_MESSAGES\dcpp-win32.mo" +File "locale\lv\LC_MESSAGES\libdcpp.mo" +SetOutPath "$INSTDIR\locale\mk\LC_MESSAGES\" +File "locale\mk\LC_MESSAGES\dcpp-win32.mo" +File "locale\mk\LC_MESSAGES\libdcpp.mo" +SetOutPath "$INSTDIR\locale\ms\LC_MESSAGES\" + +File "locale\ms\LC_MESSAGES\libdcpp.mo" +SetOutPath "$INSTDIR\locale\nb\LC_MESSAGES\" +File "locale\nb\LC_MESSAGES\dcpp-win32.mo" +File "locale\nb\LC_MESSAGES\libdcpp.mo" +SetOutPath "$INSTDIR\locale\nl\LC_MESSAGES\" +File "locale\nl\LC_MESSAGES\dcpp-win32.mo" +File "locale\nl\LC_MESSAGES\libdcpp.mo" +SetOutPath "$INSTDIR\locale\pl\LC_MESSAGES\" +File "locale\pl\LC_MESSAGES\dcpp-win32.mo" +File "locale\pl\LC_MESSAGES\libdcpp.mo" +SetOutPath "$INSTDIR\locale\pt\LC_MESSAGES\" +File "locale\pt\LC_MESSAGES\dcpp-win32.mo" +File "locale\pt\LC_MESSAGES\libdcpp.mo" +SetOutPath "$INSTDIR\locale\pt_BR\LC_MESSAGES\" +File "locale\pt_BR\LC_MESSAGES\dcpp-win32.mo" +File "locale\pt_BR\LC_MESSAGES\libdcpp.mo" +SetOutPath "$INSTDIR\locale\ro\LC_MESSAGES\" +File "locale\ro\LC_MESSAGES\dcpp-win32.mo" +File "locale\ro\LC_MESSAGES\libdcpp.mo" +SetOutPath "$INSTDIR\locale\ru\LC_MESSAGES\" +File "locale\ru\LC_MESSAGES\dcpp-win32.mo" +File "locale\ru\LC_MESSAGES\libdcpp.mo" +SetOutPath "$INSTDIR\locale\sl\LC_MESSAGES\" +File "locale\sl\LC_MESSAGES\dcpp-win32.mo" +File "locale\sl\LC_MESSAGES\libdcpp.mo" +SetOutPath "$INSTDIR\locale\sq\LC_MESSAGES\" +File "locale\sq\LC_MESSAGES\dcpp-win32.mo" +File "locale\sq\LC_MESSAGES\libdcpp.mo" +SetOutPath "$INSTDIR\locale\sv\LC_MESSAGES\" +File "locale\sv\LC_MESSAGES\dcpp-win32.mo" +File "locale\sv\LC_MESSAGES\libdcpp.mo" +SetOutPath "$INSTDIR\locale\tr\LC_MESSAGES\" +File "locale\tr\LC_MESSAGES\dcpp-win32.mo" +File "locale\tr\LC_MESSAGES\libdcpp.mo" +SetOutPath "$INSTDIR\locale\uk\LC_MESSAGES\" +File "locale\uk\LC_MESSAGES\dcpp-win32.mo" +File "locale\uk\LC_MESSAGES\libdcpp.mo" +SetOutPath "$INSTDIR\locale\zh_CN\LC_MESSAGES\" +File "locale\zh_CN\LC_MESSAGES\dcpp-win32.mo" +File "locale\zh_CN\LC_MESSAGES\libdcpp.mo" +SetOutPath "$INSTDIR\locale\zh_TW\LC_MESSAGES\" +File "locale\zh_TW\LC_MESSAGES\dcpp-win32.mo" +File "locale\zh_TW\LC_MESSAGES\libdcpp.mo" + ; Remove opencow just in case we're upgrading Delete "$INSTDIR\opencow.dll" @@ -125,7 +246,89 @@ Delete "$INSTDIR\Example.xml" Delete "$INSTDIR\Magnet.exe" Delete "$INSTDIR\GeoIPCountryWhois.csv" + Delete "$INSTDIR\mingwm10.dll" + Delete "$INSTDIR\locale\ar\LC_MESSAGES\dcpp-win32.mo" +Delete "$INSTDIR\locale\ar\LC_MESSAGES\libdcpp.mo" +Delete "$INSTDIR\locale\bg\LC_MESSAGES\dcpp-win32.mo" +Delete "$INSTDIR\locale\bg\LC_MESSAGES\libdcpp.mo" +Delete "$INSTDIR\locale\bs\LC_MESSAGES\dcpp-win32.mo" +Delete "$INSTDIR\locale\bs\LC_MESSAGES\libdcpp.mo" +Delete "$INSTDIR\locale\ca\LC_MESSAGES\dcpp-win32.mo" +Delete "$INSTDIR\locale\ca\LC_MESSAGES\libdcpp.mo" +Delete "$INSTDIR\locale\cs\LC_MESSAGES\dcpp-win32.mo" +Delete "$INSTDIR\locale\cs\LC_MESSAGES\libdcpp.mo" +Delete "$INSTDIR\locale\da\LC_MESSAGES\dcpp-win32.mo" +Delete "$INSTDIR\locale\da\LC_MESSAGES\libdcpp.mo" +Delete "$INSTDIR\locale\de\LC_MESSAGES\dcpp-win32.mo" +Delete "$INSTDIR\locale\de\LC_MESSAGES\libdcpp.mo" +Delete "$INSTDIR\locale\el\LC_MESSAGES\dcpp-win32.mo" +Delete "$INSTDIR\locale\el\LC_MESSAGES\libdcpp.mo" +Delete "$INSTDIR\locale\en_GB\LC_MESSAGES\dcpp-win32.mo" +Delete "$INSTDIR\locale\en_GB\LC_MESSAGES\libdcpp.mo" +Delete "$INSTDIR\locale\es\LC_MESSAGES\dcpp-win32.mo" +Delete "$INSTDIR\locale\es\LC_MESSAGES\libdcpp.mo" +Delete "$INSTDIR\locale\fi\LC_MESSAGES\dcpp-win32.mo" +Delete "$INSTDIR\locale\fi\LC_MESSAGES\libdcpp.mo" +Delete "$INSTDIR\locale\fr\LC_MESSAGES\dcpp-win32.mo" +Delete "$INSTDIR\locale\fr\LC_MESSAGES\libdcpp.mo" +Delete "$INSTDIR\locale\gl\LC_MESSAGES\dcpp-win32.mo" +Delete "$INSTDIR\locale\gl\LC_MESSAGES\libdcpp.mo" +Delete "$INSTDIR\locale\he\LC_MESSAGES\dcpp-win32.mo" +Delete "$INSTDIR\locale\he\LC_MESSAGES\libdcpp.mo" +Delete "$INSTDIR\locale\hr\LC_MESSAGES\dcpp-win32.mo" +Delete "$INSTDIR\locale\hr\LC_MESSAGES\libdcpp.mo" +Delete "$INSTDIR\locale\hu\LC_MESSAGES\dcpp-win32.mo" +Delete "$INSTDIR\locale\hu\LC_MESSAGES\libdcpp.mo" +Delete "$INSTDIR\locale\id\LC_MESSAGES\dcpp-win32.mo" +Delete "$INSTDIR\locale\id\LC_MESSAGES\libdcpp.mo" +Delete "$INSTDIR\locale\is\LC_MESSAGES\dcpp-win32.mo" +Delete "$INSTDIR\locale\is\LC_MESSAGES\libdcpp.mo" +Delete "$INSTDIR\locale\it\LC_MESSAGES\dcpp-win32.mo" +Delete "$INSTDIR\locale\it\LC_MESSAGES\libdcpp.mo" +Delete "$INSTDIR\locale\ja\LC_MESSAGES\dcpp-win32.mo" +Delete "$INSTDIR\locale\ja\LC_MESSAGES\libdcpp.mo" +Delete "$INSTDIR\locale\km\LC_MESSAGES\dcpp-win32.mo" +Delete "$INSTDIR\locale\km\LC_MESSAGES\libdcpp.mo" +Delete "$INSTDIR\locale\ko\LC_MESSAGES\dcpp-win32.mo" +Delete "$INSTDIR\locale\ko\LC_MESSAGES\libdcpp.mo" +Delete "$INSTDIR\locale\lt\LC_MESSAGES\dcpp-win32.mo" +Delete "$INSTDIR\locale\lt\LC_MESSAGES\libdcpp.mo" +Delete "$INSTDIR\locale\lv\LC_MESSAGES\dcpp-win32.mo" +Delete "$INSTDIR\locale\lv\LC_MESSAGES\libdcpp.mo" +Delete "$INSTDIR\locale\mk\LC_MESSAGES\dcpp-win32.mo" +Delete "$INSTDIR\locale\mk\LC_MESSAGES\libdcpp.mo" +Delete "$INSTDIR\locale\ms\LC_MESSAGES\dcpp-win32.mo" +Delete "$INSTDIR\locale\ms\LC_MESSAGES\libdcpp.mo" +Delete "$INSTDIR\locale\nb\LC_MESSAGES\dcpp-win32.mo" +Delete "$INSTDIR\locale\nb\LC_MESSAGES\libdcpp.mo" +Delete "$INSTDIR\locale\nl\LC_MESSAGES\dcpp-win32.mo" +Delete "$INSTDIR\locale\nl\LC_MESSAGES\libdcpp.mo" +Delete "$INSTDIR\locale\pl\LC_MESSAGES\dcpp-win32.mo" +Delete "$INSTDIR\locale\pl\LC_MESSAGES\libdcpp.mo" +Delete "$INSTDIR\locale\pt\LC_MESSAGES\dcpp-win32.mo" +Delete "$INSTDIR\locale\pt\LC_MESSAGES\libdcpp.mo" +Delete "$INSTDIR\locale\pt_BR\LC_MESSAGES\dcpp-win32.mo" +Delete "$INSTDIR\locale\pt_BR\LC_MESSAGES\libdcpp.mo" +Delete "$INSTDIR\locale\ro\LC_MESSAGES\dcpp-win32.mo" +Delete "$INSTDIR\locale\ro\LC_MESSAGES\libdcpp.mo" +Delete "$INSTDIR\locale\ru\LC_MESSAGES\dcpp-win32.mo" +Delete "$INSTDIR\locale\ru\LC_MESSAGES\libdcpp.mo" +Delete "$INSTDIR\locale\sl\LC_MESSAGES\dcpp-win32.mo" +Delete "$INSTDIR\locale\sl\LC_MESSAGES\libdcpp.mo" +Delete "$INSTDIR\locale\sq\LC_MESSAGES\dcpp-win32.mo" +Delete "$INSTDIR\locale\sq\LC_MESSAGES\libdcpp.mo" +Delete "$INSTDIR\locale\sv\LC_MESSAGES\dcpp-win32.mo" +Delete "$INSTDIR\locale\sv\LC_MESSAGES\libdcpp.mo" +Delete "$INSTDIR\locale\tr\LC_MESSAGES\dcpp-win32.mo" +Delete "$INSTDIR\locale\tr\LC_MESSAGES\libdcpp.mo" +Delete "$INSTDIR\locale\uk\LC_MESSAGES\dcpp-win32.mo" +Delete "$INSTDIR\locale\uk\LC_MESSAGES\libdcpp.mo" +Delete "$INSTDIR\locale\zh_CN\LC_MESSAGES\dcpp-win32.mo" +Delete "$INSTDIR\locale\zh_CN\LC_MESSAGES\libdcpp.mo" +Delete "$INSTDIR\locale\zh_TW\LC_MESSAGES\dcpp-win32.mo" +Delete "$INSTDIR\locale\zh_TW\LC_MESSAGES\libdcpp.mo" + ; Remove registry entries ; dchub is likely only to be registered to us ; magnet is likely to be registere to other p2p apps Modified: dcplusplus/trunk/changelog.txt =================================================================== --- dcplusplus/trunk/changelog.txt 2008-03-13 22:02:50 UTC (rev 1039) +++ dcplusplus/trunk/changelog.txt 2008-03-14 22:13:55 UTC (rev 1040) @@ -1,4 +1,4 @@ --- 0.705 -- +-- 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/po/es.po =================================================================== --- dcplusplus/trunk/dcpp/po/es.po 2008-03-13 22:02:50 UTC (rev 1039) +++ dcplusplus/trunk/dcpp/po/es.po 2008-03-14 22:13:55 UTC (rev 1040) @@ -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 Modified: dcplusplus/trunk/dcpp/version.h =================================================================== --- dcplusplus/trunk/dcpp/version.h 2008-03-13 22:02:50 UTC (rev 1039) +++ dcplusplus/trunk/dcpp/version.h 2008-03-14 22:13:55 UTC (rev 1040) @@ -17,7 +17,7 @@ */ #define APPNAME "DC++" -#define VERSIONSTRING "0.704" -#define VERSIONFLOAT 0.704 +#define VERSIONSTRING "0.705" +#define VERSIONFLOAT 0.705 /* Update the .rc file as well... */ Modified: dcplusplus/trunk/win32/DCPlusPlus.rc =================================================================== --- dcplusplus/trunk/win32/DCPlusPlus.rc 2008-03-13 22:02:50 UTC (rev 1039) +++ dcplusplus/trunk/win32/DCPlusPlus.rc 2008-03-14 22:13:55 UTC (rev 1040) @@ -835,8 +835,8 @@ // VS_VERSION_INFO VERSIONINFO - FILEVERSION 0,7,0,4 - PRODUCTVERSION 0,7,0,4 + FILEVERSION 0,7,0,5 + PRODUCTVERSION 0,7,0,5 FILEFLAGSMASK 0x3fL #ifdef _DEBUG FILEFLAGS 0x1L @@ -853,12 +853,12 @@ BEGIN VALUE "Comments", "http://dcplusplus.sourceforge.net" VALUE "FileDescription", "DC++" - VALUE "FileVersion", "0, 7, 0, 4" + VALUE "FileVersion", "0, 7, 0, 5" VALUE "InternalName", "DC++" - VALUE "LegalCopyright", "Copyright 2001-2006 Jacek Sieka" + VALUE "LegalCopyright", "Copyright 2001-2008 Jacek Sieka" VALUE "OriginalFilename", "DCPlusPlus.exe" VALUE "ProductName", "DC++" - VALUE "ProductVersion", "0, 7, 0, 4" + VALUE "ProductVersion", "0, 7, 0, 5" END END BLOCK "VarFileInfo" Modified: dcplusplus/trunk/win32/po/es.po =================================================================== --- dcplusplus/trunk/win32/po/es.po 2008-03-13 22:02:50 UTC (rev 1039) +++ dcplusplus/trunk/win32/po/es.po 2008-03-14 22:13:55 UTC (rev 1040) @@ -1212,7 +1212,7 @@ #: win32/SplashWindow.cpp:77 #, boost-format msgid "Loading DC++, please wait... (%1%)" -msgstr "Cargando DC++, por favor espere ... (% 1%)" +msgstr "Cargando DC++, por favor espere ... (%1%)" #: win32/LogPage.cpp:47 msgid "Log downloads" @@ -1726,7 +1726,7 @@ #: win32/TransferView.cpp:703 #, boost-format msgid "Requesting %1%" -msgstr "Solicitando % 1%" +msgstr "Solicitando %1%" #: win32/HashProgressDlg.cpp:48 msgid "Run in background" @@ -2116,7 +2116,7 @@ #: win32/HubFrame.cpp:387 #, boost-format msgid "Unknown command: %1%" -msgstr "Comando desconocido:% 1%" +msgstr "Comando desconocido: %1%" #: win32/UploadPage.cpp:41 msgid "Upload slots" Modified: dcplusplus/trunk/win32/po/ro.po =================================================================== --- dcplusplus/trunk/win32/po/ro.po 2008-03-13 22:02:50 UTC (rev 1039) +++ dcplusplus/trunk/win32/po/ro.po 2008-03-14 22:13:55 UTC (rev 1040) @@ -24,7 +24,7 @@ msgid "" "%1%\n" "Open download page?" -msgstr "Deschide pagina de descărcare?" +msgstr "%1%\nDeschide pagina de descărcare?" #: win32/TransferView.cpp:571 #, boost-format 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: <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 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 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-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-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: <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: <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-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: <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: <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: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: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: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: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] |