Commit Graph

5468 Commits

Author SHA1 Message Date
Axel Dörfler
a690e25952 * BNetworkInterface must adopt the family from the address, if possible. This
should fix "ifconfig" for IPv6.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38177 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-17 09:15:33 +00:00
Clemens Zeidler
5836cd75c2 Add a BWindowStack interface class. Please review if adding a BWindowStack as a friend of BWindow in Window.h is ok.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38171 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-17 06:47:26 +00:00
Clemens Zeidler
38d80987f3 Add PortLinkRef class which use a existing sender and receiver for communication. Suggestion for a better name?
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38167 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-17 06:12:30 +00:00
Oliver Tappe
803a1f70aa * Refresh() should make sure to try and load both "locale" and "timezone"
settings, not give up when one is missing (like on a fresh image)
* try harder to fallback to proper default values when loading the locale
  settings file fails

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38165 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-16 22:48:00 +00:00
Oliver Tappe
80d59712ae * we need to initialize ICU's default timezone, as the date formatting
implementation in BLocale assumes this matches the system's timezone
This little bugger should fix #6277, #6370 and #6396.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38158 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-16 20:24:51 +00:00
Oliver Tappe
ee33862568 * dropped one more instance of debug output
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38157 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-16 20:20:45 +00:00
Adrien Destugues
eb7595ebbd CID 1457 : dead code (we know pressed is true at this point).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38148 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-16 15:17:00 +00:00
Adrien Destugues
6e24fc677f CID 1498 (and others) : when deleting a NULL pointer, operator delete is actually called. So, it must not dereference the
given pointer without checking first.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38147 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-16 15:07:29 +00:00
Oliver Tappe
f23b9d8a72 * added possibility to pass in the timezone when formatting the time
* added TODOs about the need to get rid of some of the date/time-formatting
  shortcut methods

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38146 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-16 15:03:54 +00:00
Oliver Tappe
559cf371bc * fix oversight that gmtime() and localtime() may return NULL, which would lead
to a crash


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38143 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-16 14:52:37 +00:00
Adrien Destugues
a20769b39c CID 1500 : Potential NULL poiner dereference.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38140 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-16 13:37:10 +00:00
Rene Gollent
606e627e76 Remove unnecessary NULL check (the view in question is created in all cases in InitCommon(), and is already dereferenced several times prior to the check in the function anyways).
Fixes CID 1078.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38129 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-16 02:45:08 +00:00
Stefano Ceccherini
372b00b0f7 Style (pointer & spaces/tabs)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38115 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-15 12:18:26 +00:00
Stefano Ceccherini
f97e560e1c Fixed incorrect check. CID 1339
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38112 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-15 11:05:28 +00:00
François Revol
a4c54e94e8 Delete types when that's what you mean, not strings from the wrong list. Fixes a double free() that made ThemeManager crash.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38105 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-15 03:52:35 +00:00
Stefano Ceccherini
1345706a9f Fix typo (CID 392)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38104 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-14 21:25:16 +00:00
Alex Wilson
e70fa080b2 Should have been part of my previous commit.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38065 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-12 16:56:46 +00:00
Alex Wilson
aa818be69a Update BView to call debugger when passed a NULL archive for its archive constructor. This means there is no need to check for a NULL archive in BSeparatorView. Also update BUnarchiver and friends to be NULL safe. Pointed out by Adrien, fixes CID 1754.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38063 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-12 14:50:57 +00:00
Axel Dörfler
97ef73e074 * Added convenience methods FindAddress(), and FindFirstAddress().
* Added BNetworkInterfaceAddress::Destination() as synonym for Broadcast()
  (depending on the configuration, it could be either one).
* Media() will now return -1 in case of an error.
* Added "const" where it makes sense.
* Added convenience functions for AddAddress(), and RemoveAddress() that only
  take the actual address.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38060 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-12 13:50:32 +00:00
Axel Dörfler
530f548320 * Implemented AddInterface(), and RemoveInterface().
* Added comment explaining why using AF_INET is not really a good idea.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38057 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-12 13:30:39 +00:00
Axel Dörfler
b85c513ee7 * B_NO_ADDRESS_RESOLUTION now implies not setting AI_ADDRCONFIG, as that flag
doesn't really make sense in this case.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38056 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-12 13:29:44 +00:00
Axel Dörfler
31a49a69c7 * Added support for printing AF_LINK addresses.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38055 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-12 13:28:55 +00:00
Adrien Destugues
db8d0b8781 CID 898 : Memory leak.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38049 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-12 12:42:58 +00:00
Axel Dörfler
cd8ca1e595 * Improved error reporting.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38040 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-12 11:43:20 +00:00
Axel Dörfler
836c43f2b8 * Factored out a BNetworkAddressResolver from BNetworkAddress, that also allows
to iterate over all possible addresses, as suggested privately by Rene.
* Added flags to the resolving methods that allow more control over the
  addresses returned.
* Added setters to BNetworkAddress that accept a service name instead of port
  number, renamed PortName() to ServiceName().
* Made the sockaddr* cast operators return a const sockaddr as it was supposed
  to be, although I should probably add non-const ones as well.
* This also simplified the code somewhat.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38039 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-12 11:27:14 +00:00
Oliver Tappe
0bae871739 Closing #2334:
* fix incorrect implicit type extension in WidthBuffer::CharToCode() that led 
  to some values not being represented correctly (depending on input chars)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38034 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-11 18:08:45 +00:00
Oliver Tappe
2feea51f57 * cleanup and style fixes in WidthBuffer
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38033 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-11 18:03:37 +00:00
Jérôme Duval
5091a866ec To be validated as part of bug #6386. Update glibc regex to 2.11, headers/posix/regex.h included. This imposes some changes in some of our sources using the regex.h,
mostly bin tools and mail kit. The use of __USE_GNU macro is needed for instance when the expected regex implementation is the GNU one.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38031 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-11 16:49:58 +00:00
Axel Dörfler
23f2073215 * Implemented SetToMask(), and added PrefixLength() method, mostly reusing
code from ifconfig.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38026 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-11 13:53:31 +00:00
Axel Dörfler
9de96be375 * Added methods to get/set the media/metric.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38024 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-11 13:18:36 +00:00
Axel Dörfler
54b6869f51 * Forgot to implement the sockaddr* cast operator.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38023 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-11 13:18:03 +00:00
Adrien Destugues
0417c0fd7e * Remove everything related to direct access to unicode.properties file. All of it should be done through ICU.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38017 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-11 12:00:59 +00:00
Axel Dörfler
b232302077 * The leading spaces and zeros are now actually skipped, instead of copied first
and then replaced.
* Now considers a space to end a number chunk. In the future, we might want to
  think about sorting fractional amounts correctly as well, but I guess that's
  not that important for Tracker.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38013 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-11 10:29:00 +00:00
Axel Dörfler
6a960972b5 * We cannot use a natural sorting algorithm that only supports int32 - that
cannot be stable for entries with up to B_FILE_NAME_LENGTH (256) bytes.
* Rewrote the natural sorting code to be simpler where possible, but also
  supports sorting numbers of arbitrary length.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38012 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-11 10:14:20 +00:00
Adrien Destugues
15575718e8 * Don't build stubbed and useless files in liblocale.so
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38011 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-11 10:05:06 +00:00
Adrien Destugues
5509491f57 * Style fix. Sorry, looks like I spent too much time on other projects today.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38009 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-10 21:09:56 +00:00
Adrien Destugues
aed7e5e9ae * Make BCountry::Measurement() actually do something useful.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38007 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-10 16:22:30 +00:00
Oliver Tappe
e70da3e14c Closing #5959:
* _DoInsertText() must not assume that the text is actually being inserted
  by InsertText(), since that's a virtual method meant to be overridden by
  subclasses. So the updating of caret-position and selection start/end has
  to happen in InsertText().


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38006 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-10 14:02:22 +00:00
Oliver Tappe
cb06c64a5d * style fixes to textview_support class LineBuffer
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38005 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-10 13:58:19 +00:00
Axel Dörfler
cb7ce9a32f * Renamed DescriptorCloser to FileDescriptorCloser as suggested by Ingo.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37995 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-09 21:23:05 +00:00
Axel Dörfler
f65256c2e7 * Fixed a bug in BNetworkRoster::GetNextInterface() that caused an endless loop
and always returned the first interface.
* Fixed bug #6436 by using the new BNetworkRoster functionality.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37994 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-09 19:12:51 +00:00
Fredrik Holmqvist
719c470746 Header defines the default value for Archive's second param. Fixes build bustage.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37992 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-09 18:40:26 +00:00
Oliver Tappe
a4bcdeaaf1 Fix another glitch reported in #6435
* when shrinking the gap, avoid that deleting the next character will shrink
  the gap again


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37989 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-09 16:39:43 +00:00
Axel Dörfler
c2808ea7b2 * Adapted API as needed, and implemented most of the C++ API - it's completely
untested at this point, though.
* Will port ifconfig, NetworkStatus, and the Network preferences application
  later in order to test the API.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37988 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-09 16:31:40 +00:00
Oliver Tappe
7e31a05ca5 Close #6435:
* fix problem in TextGapBuffer which could lead to data loss at end of buffer
  when deleting large chunks of text
 

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37987 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-09 16:30:28 +00:00
Axel Dörfler
969d58acec * Minor cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37985 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-09 16:30:04 +00:00
Oliver Tappe
c34238562b * style cleanup - no functional change
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37984 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-09 15:12:43 +00:00
Alexandre Deckner
894cf4f363 * Apply patch from Takashi Murai: use layouting for Tracker settings window/views.
Slight modifications to the patch:
    Put back passing the view names (eventhough it seem useless atm).
    One or two small indenting issues.
    Implemented your todo (listview width adapts to the longest item).
  
  Thanks a lot.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37978 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-08 23:46:59 +00:00
Alexandre Deckner
43f24e051b * Apply patch by Takashi Murai, find menu items by message code instead of item name (correcting previous patch)
I've found more occurences but i will solve it differently since they are about finding messageless submenus.
  Thanks!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37974 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-08 14:37:06 +00:00
Stefano Ceccherini
e749444dfb Style
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37973 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-08 12:48:19 +00:00
Stefano Ceccherini
6fa16ae6e5 Add parenthesis, otherwise the code is broken
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37972 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-08 12:43:01 +00:00
Stefano Ceccherini
e571dc2536 free buffer in case of error.
CID 1695


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37971 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-08 12:35:15 +00:00
Alex Wilson
afe949d2f1 Fix incorrect initialization of boolean in BGridLayout::ItemRemoved() that lead to unreachable code, fixes CID 58.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37966 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-08 02:54:01 +00:00
Jérôme Duval
446287462b CID 1463: Delete an array with delete[]
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37960 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-07 23:17:26 +00:00
Adrien Destugues
c9b2be8bea CID 1643 : Off-byÃ-one rray access.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37956 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-07 17:31:36 +00:00
Adrien Destugues
4a7b2e0484 * Add FormatDateTime function to BLocale
* Use the function to localize the date/time in tracker.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37949 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-07 11:22:16 +00:00
Axel Dörfler
bf58f252de * Adapted headers after Stippi's suggestions - I won't add the const until I
know how I implement that function :-)
* Cleaned up libbnetapi.so Jamfile, removed non-Haiku target code.
* Added empty files to the build to see that the headers are compiling.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37942 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-06 13:22:25 +00:00
Oliver Tappe
e4da3d6691 * added support for all the different names (std/dst, long/short) and daylight
support to BTimeZone

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37933 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-05 21:44:38 +00:00
Adrien Destugues
0f2ec5c270 * Remove "date & time" view from tracker settings, since it will soon use the locale kit settings.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37929 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-05 13:39:44 +00:00
Adrien Destugues
4ebeabb639 * Remove GetLocaleName from BCountry
* Add GetName to BLocale instead


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37919 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-05 10:19:22 +00:00
Adrien Destugues
58fa4d5717 * The locale roster keeps its own Language instead of using the locale one, so that changing the locale doesn't reset the
language.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37918 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-05 09:27:13 +00:00
Oliver Tappe
34a79bff8a * renamed BPrivate::mutable_locale_roster to BPrivate::gMutableLocaleRoster,
to follow coding guidelines

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37908 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-04 21:34:12 +00:00
Adrien Destugues
5c3a303486 * Move the locale-related stuff away from BCountry to BLocale.
* Remove the be_locale global object and go through the be_locale_roster instead
 * Rework the storage of data for the be_locale_roster, since BLocale already holds a BCountry and a BLanguage.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37907 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-04 18:45:06 +00:00
Philippe Houdoin
39f372d1d7 Add support for non-native ABI on hybrid build,
by following the steps taken by TranslatorRoster and LocaleRoster.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37900 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-04 14:05:59 +00:00
Oliver Tappe
5517ab9918 * store numeric timezone offset along with ID of timezone in 'Time settings',
as this can then be used in clockconfig

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37879 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-03 17:35:49 +00:00
Oliver Tappe
3bf890b9ec * do not leak ICU timezone
* minor cleanup

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37876 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-03 17:29:36 +00:00
Adrien Destugues
a09c2bb328 * ReadOnlyBootPrompt finally saves the locale settings again, so at first bot the system will be in the right language.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37863 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-03 09:08:52 +00:00
Adrien Destugues
5dbb457c09 * Allow ReadOnlyBootPrompt to change languages at runtime again.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37862 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-03 08:48:34 +00:00
François Revol
3c38ebff78 Use IntegerWidth() & friend to avoid the cast, doesn't hurt.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37841 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-02 12:48:30 +00:00
François Revol
a67b5b9911 Fix the width and height fields of the B_VIEW_RESIZED message to be of type int32 and not float, as stated in the BeBook. They are rarely used since BView::FrameResize() passes the floats directly from the updated bounds, but at least it should fix the XEmacs port.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37839 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-02 11:47:12 +00:00
Oliver Tappe
38ac8def5a Largish cleanup sweep concerning the Locale Kit (sorry it got so big):
* refactored private/mutable stuff out of LocaleRoster into MutableLocaleRoster
* moved management of Locale/Time settings file and broadcasting of any changes 
  out of preflets and into MutableLocaleRoster
* added proper sorting to the listviews of the Locale preflet
* the Time preflet no longer overlaps long timezone names into the actual time
* several fixes with respect to leaking ICU objects, esp. in BCountry
* the locale roster no longer passes out references to its own BCountry object,
  but uses copies, instead - this makes locking superfluous, as the clients'
  BCountry objects can no longer be changed by the setting a new default 
  country in the locale roster
* removed pretty useless POSIX-style symbol fetching from BCountry - if we
  need that at all, it should live in the dedicated formatter classes
* adjusted readonlybootprompt, dstcheck and Deskbar to the changed Locale API
* refactored existing Time-formatter into TimeUnitFormat and DurationFormat
  (the latter of which is now used by AboutSystem)
* added stubs for Date, DateTime and Time formatters
* lots of coding style fixes throughout the Locale Kit and the Locale and Time 
  preflets
This will probably break most external apps making use of the Locale Kit - it
does break WebPositive.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37831 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-01 20:28:19 +00:00
Rene Gollent
8d50f4a598 NewModelItem can potentially return NULL in a number of cases, which wasn't checked for. Don't try to add them or otherwise manipulate them in such a case. Fixes CID 641.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37828 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-31 18:39:34 +00:00
Alex Wilson
6829d4174b Update BLayout::ItemAdded() and BLayout::ItemRemoved() to take an int32 index parameter, and ItemAdded() to return a bool indicating success or failure. Update BLayout::AddItem() to take the result of ItemAdded() into account. Also update BLayout::AllUnarchived() to take this into account. In either situation, if ItemAdded() returns false, the item does not get added to the layout. Removed various TODOs about code that could be removed once this change was made. In BSplitLayout, an item's LayoutData was lazy-initialized, but would always be created during ItemAdded(). Now we create the LayoutData explicitly, so that we can catch failed memory allocations. Closes #5524.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37817 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-30 02:28:17 +00:00
Oliver Tappe
99d2aa985b Improved the Time preflet (still not working properly, though)
* basically rewrote TimeZone to sport a nicer to use interface
* adjusted all users of TimeZone accordingly
* changed TZDisplay to show the Date next to the label, in
  order to avoid that long timezone names draw all over it
* the timezone listview is now properly sorted according
  to the current language (using BCollator)
* fixed a couple of bugs (overflows, etc.) that caused
  incorrect GMT offsets to be used during computations


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37813 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-29 20:10:26 +00:00
Axel Dörfler
f7e1c6f154 * Fixed a memory leak in if_nameindex() - it never freed the buffer that
stored the interfaces from SIOCGIFCONF.
* Fixed iteration over the ifreq structures; the returned structure per
  interface may not be equal to the size of ifreq.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37802 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-29 07:54:02 +00:00
Alex Wilson
e867b26f14 Update BTabView to initialize fContainerView to NULL before calling _InitContainerView() from _InitData(). This fixes a regression DeadYak pointed out to me on IRC. (thanks DeadYak, sorry everyone!) Also a bit of cleanup, improved _InitContainerView() to not AddChild(fContainerView) if it was not created. Also archive BTabView::fBorderStyle.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37799 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-29 00:25:12 +00:00
Alex Wilson
5f844af738 Update BTabView for layout-friendly archiving. Added _InitContainerView() method that is called from _InitObject() but also called on its own during unarchival. Implemented BTabView::AllUnarchived() and implemented a case for this in BTabView::Perform().
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37796 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-28 20:03:41 +00:00
Adrien Destugues
8b39afead5 * Fix wrong function call in TimeZone.Code() leading to a localized string being returned instead of the expected code.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37790 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-28 14:57:46 +00:00
Adrien Destugues
1c99030935 * Style fixes pointed out by Axel.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37789 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-28 14:45:54 +00:00
Adrien Destugues
e88fbde60b * Fix some issues in collators archiving and key computation
* The test now pass. But unarchiving still isn't working and restores the default collator instead of the archved one.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37787 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-28 14:23:08 +00:00
Adrien Destugues
2c6ebfaaea * Fix collator text
* Fix archiving/unarchiving to provide at least a valid object. However, ICU archiving system doesn't look like it's working well.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37784 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-28 13:16:11 +00:00
Adrien Destugues
110649a1a4 * Collator API now actually uses ICU.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37783 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-28 11:29:14 +00:00
Rene Gollent
2ad2951ed5 Fix yet another cause of the boot volume icon being mapped incorrectly (as pointed out by a gcc warning): the value chosen for B_BOOT_DISK was well outside of the range of the directory_which enum. Consequently it wound up getting truncated and never correctly being matched in the switch that grabs the icon from resources. Curiously, this bug/warning only showed up with a cross-compiled executable, but not with one compiled with the development toolchain compiler packages. Should hopefully nail this bug once and for all.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37781 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-28 01:06:58 +00:00
Alex Wilson
5c47e35e2a Updated BTextControl and its custom BLayoutItems. Also a bit of style cleanup. Broke up BTextControl::_InitData() method into _InitData() and _InitText() and moved initialization of the BTextView there.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37780 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-27 22:16:46 +00:00
Alex Wilson
7a37b89be9 Updated BMenuField and its custom BLayoutItems for layout-safe archiving. Added an _InitMenu(const BMessage*) method that inits the menu during unarchival.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37778 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-27 20:59:47 +00:00
Alex Wilson
4a254e4ddb Generally, clean up new archiving constant names & strings to be consistent in all classes. Modify archiving constants to be const char* const (thanks Ingo). Also modify archiving in many classes to use less fields by storing more data in arrays and structs. The common min, max, and preferred sizes, for example are always stored in an array now. In BTwoDimensionalLayout and BSplitLayout, the insets are archived in a BRect. Also fixed a typo in BGridLayout which caused column info to be incorrect during archival.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37777 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-27 20:17:13 +00:00
Adrien Destugues
1855b44cdf * Set the ICU default time zone from the locale preflet. Unfortunately it looks like this doesn't solve all the problems
yet.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37768 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-27 09:45:52 +00:00
Philippe Houdoin
b599c219a3 Fixed Volume sizes unit in info window, using string_for_size().
This fix #6395.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37764 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-27 08:40:13 +00:00
Oliver Tappe
c090a0fd84 * updated ICU build packages with newer builds that try a bit harder to avoid
warnings and incorporate some of the ICU-patches we had in our repo before
  we upgraded to 4.4.1
* fixed remaining warnings when building locale kit
* activated EnableWerror for locale kit
* added 'Unicode' license, which is the second license in use by ICU


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37763 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-26 22:05:39 +00:00
Adrien Destugues
4ae5a45220 * Rewrote the timezone selection part of the time preflet to make use of ICU instead of our custom TZData.
* Not completely working yet, hte POSIX API isn't very happy about ICU timezone names.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37758 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-26 13:56:50 +00:00
Adrien Destugues
f700bfd569 * FixStringForSize : without context, the locale kit was in trouble finding the right string.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37753 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-26 09:22:02 +00:00
Alex Wilson
45a167a94d In BUnarchiver::IsInstantiated(), catch a possible NULL dereference, make archive parameter to BUnarchiver::IsArchiveManaged() const.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37751 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-26 08:02:33 +00:00
Alex Wilson
c216fe9d13 Update (de)mangle_class_name() functions to be compiler version aware.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37750 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-26 05:10:17 +00:00
Oliver Tappe
8eff03f570 * fixed all build warnings by collectcatkeys that I found
* automatic whitespace cleanup

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37747 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-25 22:58:29 +00:00
Oliver Tappe
68018dbe1a * fix lost translation strings of StringForSize
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37745 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-25 22:35:58 +00:00
Oliver Tappe
b891b0acae * broke out locale-related jam rules into their own file, LocaleRules
* made locale build tools shut up about anything except warnings or errors


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37723 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-23 19:56:24 +00:00
Adrien Destugues
282582c005 * Bcountry : private methods start with underscore. The timezone list isnow actually a list of BTimeZone objects, that holdsall the needed info, not only the code. Also tweak the listing code to
remove duplicatesfromthe list generated by ICU.
 * BTimeZone : remove Code, rename Name to GetName. The class is likely to change again for further optimization.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37719 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-23 16:25:43 +00:00
Adrien Destugues
2774e142e1 * Add a BTimeZone class for handling time zones.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37718 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-23 13:19:33 +00:00
Adrien Destugues
6c178e1e73 * Add locking system to BCountry to avoid problems with the formatters being deleted while you use them, or created multiple times.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37716 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-23 11:38:37 +00:00
Adrien Destugues
eaf7045526 * Ensure if ICU formatters allocation fails, we return an empty string
* Use a CheckedArrayByteSink for formatting to a char*, instead of allocating a BString then copying it back to the buffer using strncpy


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37708 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-23 09:37:49 +00:00